@charset "UTF-8";
@font-face {
  font-family: "Local Zen Maru Gothic";
  src: local("Zen Maru Gothic");
}
@font-face {
  font-family: "Local Zen Kaku Gothic New";
  src: local("Zen Kaku Gothic New");
}
:root {
  /* inner */
  --inner: min(1400px, 100%);
  --inner-sp: min(350px, 100%);
  --padding-inner: calc(40 / 16 * 1rem);
  --padding-inner-sp: calc(20 / 16 * 1rem);
  --inner-narrow: min(1100px, 100%);
  /* z-index */
  --z-index-header: 900;
  --z-index-drawer: 800;
  /* color - brand */
  --color-primary: #1e3163;
  --color-accent-yellow: #efa631;
  --color-accent-red: #ff5f54;
  --color-line: #06c755;
  /* color - base */
  --color-white: #fff;
  --color-black: #000;
  --color-text: #4d4e50;
  --color-text-heading: #1e3163;
  --color-text-on-primary: #fff;
  --color-text-muted: #555;
  /* color - background */
  --color-bg-cream: #fff6e8;
  --color-bg-blue: #f2f4f9;
  --color-bg-pink: #f6e4e3;
  /* color - border / divider */
  --color-border: #1e3163;
  --color-border-gray: #aaa;
  --color-divider: #ddd;
  --color-table-border: #999;
  --color-placeholder: #d9d9d9;
  /* shadow */
  --shadow-card: 0 0 40px 0 rgb(30 49 99 / 10%);
  /* font-weight */
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semi-bold: 600;
  --fw-bold: 700;
  /* font-family */
  --base-font-family: "Local Zen Maru Gothic", "Zen Maru Gothic", sans-serif;
  --paragraph-font-family: "Local Zen Kaku Gothic New", "Zen Kaku Gothic New", sans-serif;
  --en-font-family: "Quicksand", sans-serif;
  --bg-cover: center center / cover no-repeat;
  --bg-cover-top: top center / cover no-repeat;
  --bg-contain: center center / contain no-repeat;
  /* transition duration */
  --duration: 0.3s;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  /* header height（rm(98) と同等） */
  --header-height: calc(98 / 16 * 1rem);
}
@media screen and (width <= 768px) {
  :root {
    --header-height: calc(60 / 16 * 1rem);
  }
}

html {
  scroll-padding-top: var(--header-height);
}
@media screen and (width <= 1400px) {
  html {
    font-size: 1.1428571429vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 4.1025641026vw;
  }
}

a[href^=tel] {
  text-decoration: none;
  cursor: default;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  a[href^=tel] {
    cursor: pointer;
    pointer-events: auto;
  }
}

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

a:hover {
  text-decoration: none;
}

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 {
  background: var(--color-white);
  color: var(--color-text);
  font-family: var(--base-font-family);
  font-size: 1rem;
  font-weight: var(--fw-medium);
}

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

*,
::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 {
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
  text-decoration: inherit;
}

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

/* # =================================================================
     # General elements
     # ================================================================= */
hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
  height: 0;
  /* 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] {
  border-bottom: none;
  /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
  /* 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;
  /* 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 {
  border-color: inherit;
  /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0;
  /* 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] {
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
  appearance: textfield;
  appearance: none;
  /* 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 {
  border-style: none;
  background-color: transparent;
  appearance: 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%;
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  color: inherit;
  font: 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: "";
}

.l-header {
  position: fixed;
  top: var(--header-top, 2.6041666667vw);
  left: 0;
  z-index: var(--z-index-header);
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-header {
    top: 0;
  }
}

.l-inner {
  max-width: calc(80rem + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (max-width: 767px) {
  .l-inner {
    padding-inline: var(--padding-inner-sp);
  }
}

.c-accordion {
  --_text-color: var(--color-text);
  --_background-default: var(--color-white);
  --_background-interactive: var(--color-gray);
  --_background-opened: var(--color-accent);
  --_text-color-opened: var(--color-white);
  --_duration: 0.2s;
}
.c-accordion::details-content {
  content-visibility: unset;
  display: block grid;
}
@media (prefers-reduced-motion: no-preference) {
  .c-accordion::details-content {
    transition-duration: 300ms;
    transition-property: grid-template-rows;
  }
}
.c-accordion:not([open])::details-content {
  grid-template-rows: 0fr;
}
.c-accordion[open]::details-content {
  grid-template-rows: 1fr;
}

.c-accordion__summary {
  display: block grid;
  grid-template: ". icon"/1fr max-content;
  gap: 1rem;
  align-items: center;
  padding-block: 1rem;
  padding-inline: 1.5rem;
  background-color: var(--_background-default);
  color: var(--_text-color);
  transition: background-color var(--_duration) ease, color var(--_duration) ease;
}
.c-accordion__summary::before {
  content: "";
  display: inline-block;
  grid-area: icon;
  width: 1.125rem;
  height: 0.125rem;
  background-color: currentcolor;
}
.c-accordion__summary::after {
  content: "";
  display: inline-block;
  grid-area: icon;
  width: 1.125rem;
  height: 0.125rem;
  background-color: currentcolor;
  rotate: 90deg;
  transition: rotate var(--_duration) ease;
}
.c-accordion__summary:focus-visible {
  background-color: var(--_background-interactive);
  outline: 2px solid currentcolor;
  outline-offset: -2px;
}
@media (any-hover: hover) {
  .c-accordion__summary:hover {
    background-color: var(--_background-interactive);
  }
}

.c-accordion[open] .c-accordion__summary {
  background-color: var(--_background-opened);
  color: var(--_text-color-opened);
}
.c-accordion[open] .c-accordion__summary::after {
  rotate: 0deg;
}

.c-accordion__contents {
  padding-block: 1rem;
  padding-inline: 1.5rem;
}

.c-breadcrumb {
  --breadcrumb-item-height: 1.375rem;
  overflow-x: auto;
  scrollbar-width: none;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    --breadcrumb-item-height: 1rem;
  }
}
.c-breadcrumb::-webkit-scrollbar {
  display: none;
}

.c-breadcrumb__list {
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.c-breadcrumb__list li {
  display: inline-flex;
  align-items: center;
}

.c-breadcrumb__list > li > span {
  display: inline-flex;
  align-items: center;
  min-height: var(--breadcrumb-item-height);
}

.c-breadcrumb__list meta {
  display: none;
}

.c-breadcrumb__list > li + li::before {
  content: "";
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  width: 0.375rem;
  height: 0.5rem;
  margin-block-start: 0.125rem;
  margin-inline: 0.5rem;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='6'%20height='8'%20viewBox='0%200%206%208'%20fill='none'%3e%3cpath%20d='M0.320312%207.07471L4.32031%203.72901L0.320312%200.383305'%20stroke='%234D4E50'%20/%3e%3c/svg%3e") center/contain no-repeat;
}

.c-breadcrumb__list .bcn-sep {
  display: none;
}

.c-breadcrumb__list a {
  display: inline-flex;
  align-items: center;
  min-height: var(--breadcrumb-item-height);
  color: var(--color-text);
  font-family: var(--base-font-family);
  font-size: 0.875rem;
  font-weight: var(--fw-medium);
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  transition: opacity var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .c-breadcrumb__list a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__list a {
    font-size: 0.75rem;
  }
}

.c-breadcrumb__list > li:first-child a {
  gap: 0.25rem;
}
.c-breadcrumb__list > li:first-child a::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 1.375rem;
  height: 1.375rem;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%3e%3cpath%20d='M9.16639%2017.4168V12.8335H12.8331V17.4168C12.8331%2017.921%2013.2456%2018.3335%2013.7497%2018.3335H16.4997C17.0039%2018.3335%2017.4164%2017.921%2017.4164%2017.4168V11.0002H18.9747C19.3964%2011.0002%2019.5981%2010.4777%2019.2772%2010.2027L11.6139%203.30016C11.2656%202.98849%2010.7339%202.98849%2010.3856%203.30016L2.72222%2010.2027C2.41056%2010.4777%202.60306%2011.0002%203.02472%2011.0002H4.58306V17.4168C4.58306%2017.921%204.99556%2018.3335%205.49972%2018.3335H8.24972C8.75389%2018.3335%209.16639%2017.921%209.16639%2017.4168Z'%20fill='%23EFA631'%20/%3e%3c/svg%3e") center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__list > li:first-child a::before {
    width: 1rem;
    height: 1rem;
  }
}

.c-breadcrumb__list > li:last-child span[property=name],
.c-breadcrumb__list > li:last-child > span:not(.bcn-sep) {
  display: inline-flex;
  align-items: center;
  min-height: var(--breadcrumb-item-height);
  color: var(--color-text);
  font-family: var(--base-font-family);
  font-size: 0.875rem;
  font-weight: var(--fw-medium);
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__list > li:last-child span[property=name],
  .c-breadcrumb__list > li:last-child > span:not(.bcn-sep) {
    font-size: 0.75rem;
  }
}

.c-btnCta {
  --_icon-color: var(--color-white);
  --_text-color: var(--color-white);
  display: inline-flex;
  column-gap: 0.375rem;
  justify-content: center;
  align-items: center;
  min-width: 14.375rem;
  min-height: 3.5rem;
  padding-inline: 2.25rem;
  border: 1px solid var(--color-primary);
  border-radius: 12.5rem;
  background-color: var(--color-primary);
  transition: background-color var(--duration) var(--ease), border-color var(--duration) var(--ease);
}
.c-btnCta.c-btnCta--recruit {
  min-height: 3.8125rem;
}
.c-btnCta.c-btnCta--white {
  --_icon-color: var(--color-primary);
  --_text-color: var(--color-primary);
  background-color: var(--color-white);
}
@media (any-hover: hover) {
  .c-btnCta.c-btnCta--white:hover .c-btnCta__text {
    color: var(--color-white);
  }
  .c-btnCta.c-btnCta--white:hover .c-btnCta__icon {
    background-color: var(--color-white);
  }
}
@media screen and (max-width: 767px) {
  .c-btnCta {
    min-width: 18.125rem;
    min-height: 3rem;
  }
  .c-btnCta.c-btnCta--recruit {
    min-height: 3.625rem;
  }
}
@media (any-hover: hover) {
  .c-btnCta:hover {
    border-color: var(--color-accent-yellow);
    background: var(--color-accent-yellow);
  }
}

.c-btnCta__icon {
  display: block;
  flex-shrink: 0;
  mask: url("data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.462%2014.25C3.1165%2014.25%202.82825%2014.1345%202.59725%2013.9035C2.36625%2013.6725%202.2505%2013.384%202.25%2013.038V4.962C2.25%204.6165%202.36575%204.32825%202.59725%204.09725C2.82875%203.86625%203.11675%203.7505%203.46125%203.75H14.5387C14.8837%203.75%2015.1718%203.86575%2015.4028%204.09725C15.6338%204.32875%2015.7495%204.617%2015.75%204.962V13.0388C15.75%2013.3838%2015.6343%2013.672%2015.4028%2013.9035C15.1713%2014.135%2014.8833%2014.2505%2014.5387%2014.25H3.462ZM9.1755%208.9415C9.2295%208.9225%209.283%208.89925%209.336%208.87175L14.7577%205.322C14.8287%205.279%2014.875%205.22025%2014.8965%205.14575C14.918%205.07125%2014.914%204.997%2014.8845%204.923C14.8655%204.8265%2014.8025%204.7565%2014.6955%204.713C14.589%204.67%2014.4858%204.67875%2014.3857%204.73925L9%208.25L3.615%204.74C3.515%204.679%203.414%204.666%203.312%204.701C3.21%204.736%203.1445%204.805%203.1155%204.908C3.0865%204.985%203.08275%205.06325%203.10425%205.14275C3.12575%205.22225%203.17175%205.28225%203.24225%205.32275L8.664%208.87175C8.717%208.89925%208.7705%208.9225%208.8245%208.9415C8.879%208.96%208.9375%208.96925%209%208.96925C9.0625%208.96925%209.121%208.96%209.1755%208.9415Z'%20fill='white'/%3e%3c/svg%3e") center/contain no-repeat;
  width: 1.125rem;
  height: 1.125rem;
  background-color: var(--_icon-color);
  transition: background-color var(--duration) var(--ease);
}
.c-btnCta--cherry .c-btnCta__icon {
  mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%3e%3cpath%20d='M12.441%203.89385L12.4845%203.9276L12.543%203.9831L12.597%204.0461L12.6068%204.0596C12.7212%204.21679%2012.7701%204.41228%2012.7432%204.60485L12.7267%204.6881L12.7042%204.7571C11.9617%206.80085%2012.2048%208.6256%2013.2135%2010.5366C13.7739%2010.6242%2014.2979%2010.8689%2014.7248%2011.2423C15.1518%2011.6156%2015.4641%2012.1023%2015.6257%2012.646C15.7873%2013.1897%2015.7914%2013.768%2015.6376%2014.3139C15.4839%2014.8598%2015.1785%2015.351%2014.757%2015.7304C14.3354%2016.1098%2013.8149%2016.362%2013.2559%2016.4576C12.6969%2016.5533%2012.1222%2016.4885%2011.5985%2016.2708C11.0747%2016.0531%2010.6235%2015.6914%2010.297%2015.2276C9.97047%2014.7639%209.78211%2014.2171%209.75375%2013.6506L9.75%2013.5006L9.75375%2013.3506C9.78226%2012.7785%209.97398%2012.2265%2010.3062%2011.7598C10.6385%2011.2932%2011.0974%2010.9315%2011.6287%2010.7174C10.9185%209.19485%2010.6222%207.6686%2010.8398%206.0621C10.7153%206.1201%2010.5905%206.1746%2010.4655%206.2256L10.536%206.1776C8.85375%207.2801%207.872%208.4306%207.551%209.6051C8.02203%209.93262%208.4018%2010.3748%208.65444%2010.8899C8.90707%2011.405%209.02423%2011.976%208.99485%2012.5489C8.96546%2013.1219%208.79051%2013.6779%208.48651%2014.1645C8.18251%2014.651%207.75949%2015.052%207.25742%2015.3296C6.75536%2015.6073%206.19081%2015.7523%205.6171%2015.7511C5.04339%2015.7499%204.47946%2015.6024%203.97858%2015.3227C3.47769%2015.0429%203.05639%2014.6401%202.75446%2014.1523C2.45253%2013.6644%202.27995%2013.1077%202.253%2012.5346L2.25%2012.3756L2.25375%2012.2166C2.27605%2011.7426%202.39806%2011.2786%202.61183%2010.8549C2.8256%2010.4312%203.12631%2010.0574%203.49435%209.75777C3.86238%209.45817%204.28946%209.23956%204.7477%209.1162C5.20594%208.99284%205.68505%208.96751%206.15375%209.04185C6.40275%208.2371%206.8625%207.46985%207.52625%206.7401C6.18075%206.6681%204.83675%206.17085%203.51%205.2506L3.309%205.1081L3.27075%205.0781L3.23625%205.0481L3.20325%205.0151L3.17325%204.9806L3.14325%204.9431L3.11925%204.90785L3.093%204.86285L3.05325%204.78035L3.02475%204.69335L3.0075%204.6056L3.00375%204.5741L3%204.4856L3.0075%204.3971L3.02475%204.30935L3.05325%204.2231L3.07575%204.1736L3.093%204.13985L3.11925%204.09485L3.14325%204.06035L3.17325%204.0221L3.20325%203.9876L3.23625%203.9546L3.27075%203.9246L3.30825%203.8946C6.32175%201.7031%209.42825%201.70235%2012.441%203.89385Z'%20fill='%231E3163'%20/%3e%3c/svg%3e") center/contain no-repeat;
}
.c-btnCta--document .c-btnCta__icon {
  mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.6875%201.875C10.6875%201.82527%2010.6677%201.77758%2010.6326%201.74242C10.5974%201.70725%2010.5497%201.6875%2010.5%201.6875H5.25C4.70299%201.6875%204.17839%201.9048%203.79159%202.29159C3.4048%202.67839%203.1875%203.20299%203.1875%203.75V14.25C3.1875%2014.797%203.4048%2015.3216%203.79159%2015.7084C4.17839%2016.0952%204.70299%2016.3125%205.25%2016.3125H12.75C13.297%2016.3125%2013.8216%2016.0952%2014.2084%2015.7084C14.5952%2015.3216%2014.8125%2014.797%2014.8125%2014.25V6.86025C14.8125%206.81052%2014.7927%206.76283%2014.7576%206.72767C14.7224%206.6925%2014.6747%206.67275%2014.625%206.67275H11.25C11.1008%206.67275%2010.9577%206.61349%2010.8523%206.508C10.7468%206.40251%2010.6875%206.25943%2010.6875%206.11025V1.875ZM11.25%209.1875C11.3992%209.1875%2011.5423%209.24676%2011.6477%209.35225C11.7532%209.45774%2011.8125%209.60082%2011.8125%209.75C11.8125%209.89918%2011.7532%2010.0423%2011.6477%2010.1477C11.5423%2010.2532%2011.3992%2010.3125%2011.25%2010.3125H6.75C6.60082%2010.3125%206.45774%2010.2532%206.35225%2010.1477C6.24676%2010.0423%206.1875%209.89918%206.1875%209.75C6.1875%209.60082%206.24676%209.45774%206.35225%209.35225C6.45774%209.24676%206.60082%209.1875%206.75%209.1875H11.25ZM11.25%2012.1875C11.3992%2012.1875%2011.5423%2012.2468%2011.6477%2012.3523C11.7532%2012.4577%2011.8125%2012.6008%2011.8125%2012.75C11.8125%2012.8992%2011.7532%2013.0423%2011.6477%2013.1477C11.5423%2013.2532%2011.3992%2013.3125%2011.25%2013.3125H6.75C6.60082%2013.3125%206.45774%2013.2532%206.35225%2013.1477C6.24676%2013.0423%206.1875%2012.8992%206.1875%2012.75C6.1875%2012.6008%206.24676%2012.4577%206.35225%2012.3523C6.45774%2012.2468%206.60082%2012.1875%206.75%2012.1875H11.25Z'%20fill='%231E3163'%20/%3e%3cpath%20d='M11.8125%202.11809C11.8125%201.98009%2011.9573%201.89234%2012.0645%201.97859C12.1555%202.05209%2012.2363%202.13759%2012.3068%202.23509L14.5665%205.38284C14.6175%205.45484%2014.562%205.54784%2014.4735%205.54784H12C11.9503%205.54784%2011.9026%205.52809%2011.8674%205.49292C11.8323%205.45776%2011.8125%205.41007%2011.8125%205.36034V2.11809Z'%20fill='white'%20/%3e%3c/svg%3e") center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .c-btnCta__icon {
    width: 1rem;
    height: 1rem;
  }
}

.c-btnCta__text {
  color: var(--_text-color);
  font-family: var(--base-font-family);
  font-size: 1rem;
  font-weight: var(--fw-bold);
  line-height: 1.3;
  letter-spacing: 0.07em;
  transition: color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .c-btnCta__text {
    font-size: 0.875rem;
  }
}

.c-btnCta2 {
  display: inline-flex;
  column-gap: 0.5rem;
  justify-content: center;
  align-items: center;
  width: 25rem;
  height: 5.3125rem;
  padding-inline: 2.25rem;
  border: 1px solid var(--color-primary);
  border-radius: 12.5rem;
  background-color: var(--color-primary);
  transition: background-color var(--duration) var(--ease), border-color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .c-btnCta2 {
    width: 18.125rem;
    height: 3.5rem;
  }
}
@media (any-hover: hover) {
  .c-btnCta2:hover {
    border-color: var(--color-accent-yellow);
    background-color: var(--color-accent-yellow);
  }
}

.c-btnCta2__icon {
  display: block;
  flex-shrink: 0;
  mask: url("data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.462%2014.25C3.1165%2014.25%202.82825%2014.1345%202.59725%2013.9035C2.36625%2013.6725%202.2505%2013.384%202.25%2013.038V4.962C2.25%204.6165%202.36575%204.32825%202.59725%204.09725C2.82875%203.86625%203.11675%203.7505%203.46125%203.75H14.5387C14.8837%203.75%2015.1718%203.86575%2015.4028%204.09725C15.6338%204.32875%2015.7495%204.617%2015.75%204.962V13.0388C15.75%2013.3838%2015.6343%2013.672%2015.4028%2013.9035C15.1713%2014.135%2014.8833%2014.2505%2014.5387%2014.25H3.462ZM9.1755%208.9415C9.2295%208.9225%209.283%208.89925%209.336%208.87175L14.7577%205.322C14.8287%205.279%2014.875%205.22025%2014.8965%205.14575C14.918%205.07125%2014.914%204.997%2014.8845%204.923C14.8655%204.8265%2014.8025%204.7565%2014.6955%204.713C14.589%204.67%2014.4858%204.67875%2014.3857%204.73925L9%208.25L3.615%204.74C3.515%204.679%203.414%204.666%203.312%204.701C3.21%204.736%203.1445%204.805%203.1155%204.908C3.0865%204.985%203.08275%205.06325%203.10425%205.14275C3.12575%205.22225%203.17175%205.28225%203.24225%205.32275L8.664%208.87175C8.717%208.89925%208.7705%208.9225%208.8245%208.9415C8.879%208.96%208.9375%208.96925%209%208.96925C9.0625%208.96925%209.121%208.96%209.1755%208.9415Z'%20fill='white'/%3e%3c/svg%3e") center/contain no-repeat;
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .c-btnCta2__icon {
    width: 1.125rem;
    height: 1.125rem;
  }
}

.c-btnCta2__text {
  color: var(--color-white);
  font-family: var(--base-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-bold);
  line-height: 1.3;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 767px) {
  .c-btnCta2__text {
    font-size: 1rem;
  }
}

.c-btnCta2--large {
  width: 36.25rem;
}
@media screen and (max-width: 767px) {
  .c-btnCta2--large {
    width: 18.125rem;
  }
}

.c-btnLine {
  display: inline-flex;
  column-gap: 0.5rem;
  justify-content: center;
  align-items: center;
  width: 25rem;
  height: 5.3125rem;
  padding-inline: 2.25rem;
  border: 1px solid var(--color-line);
  border-radius: 12.5rem;
  background-color: var(--color-line);
  transition: background-color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .c-btnLine {
    width: 18.125rem;
    height: 3.5rem;
  }
}
@media (any-hover: hover) {
  .c-btnLine:hover {
    background-color: var(--color-white);
  }
  .c-btnLine:hover .c-btnLine__icon {
    background-color: var(--color-line);
  }
  .c-btnLine:hover .c-btnLine__text {
    color: var(--color-line);
  }
}

.c-btnLine__icon {
  display: block;
  flex-shrink: 0;
  mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%3e%3cg%20clip-path='url(%23clip0_4084_661)'%3e%3cpath%20d='M12%200.5C18.6129%200.5%2023.9999%204.90023%2024%2010.2959C24%2012.4564%2023.1567%2014.4022%2021.4248%2016.3252C18.9056%2019.2436%2013.2821%2022.7842%2012%2023.3271C10.7182%2023.87%2010.9091%2022.9882%2010.9541%2022.6826C10.9766%2022.562%2011.0331%2022.2188%2011.123%2021.6533C11.168%2021.3366%2011.2126%2020.8611%2011.0889%2020.5557C10.9538%2020.2165%2010.4258%2020.0466%2010.0322%2019.9561C4.26278%2019.1982%200%2015.1373%200%2010.2959C6.51814e-05%204.90023%205.37586%200.500002%2012%200.5ZM3.97363%207.50195C3.84996%207.502%203.74902%207.60411%203.74902%207.72852V12.999C3.74902%2013.1234%203.84996%2013.2255%203.97363%2013.2256H7.34766C7.47137%2013.2256%207.57227%2013.1235%207.57227%2012.999V12.1396C7.57219%2012.0153%207.47132%2011.9131%207.34766%2011.9131H5.05371V7.72852C5.05371%207.60409%204.95184%207.50195%204.82812%207.50195H3.97363ZM8.51758%207.50195C8.39338%207.50195%208.29199%207.60357%208.29199%207.72852V12.999C8.29199%2013.124%208.39338%2013.2256%208.51758%2013.2256H9.37207C9.49614%2013.2254%209.59668%2013.1239%209.59668%2012.999V7.72852C9.59668%207.60366%209.49614%207.5021%209.37207%207.50195H8.51758ZM10.6543%207.50195C10.5306%207.50195%2010.418%207.60409%2010.418%207.72852V12.999C10.418%2013.1235%2010.5306%2013.2256%2010.6543%2013.2256H11.498C11.6328%2013.2254%2011.7334%2013.1233%2011.7334%2012.999V9.86621L14.1289%2013.124C14.1439%2013.1466%2014.1631%2013.1656%2014.1855%2013.1807H14.1973C14.1973%2013.1881%2014.2006%2013.1914%2014.208%2013.1914C14.208%2013.1914%2014.2122%2013.1956%2014.2197%2013.2031H14.2422V13.2148H14.2646C14.2795%2013.2222%2014.2981%2013.2256%2014.3203%2013.2256H15.1641C15.299%2013.2255%2015.4004%2013.1234%2015.4004%2012.999V7.72852C15.4004%207.60411%2015.299%207.50199%2015.1641%207.50195H14.3203C14.1967%207.50206%2014.084%207.60415%2014.084%207.72852V10.8506L11.6885%207.60352C11.6884%207.59607%2011.6851%207.5885%2011.6777%207.58105L11.6436%207.54688H11.6328C11.6327%207.53955%2011.6285%207.53613%2011.6211%207.53613C11.6211%207.53613%2011.6211%207.53196%2011.6211%207.52441H11.5986C11.5926%207.51831%2011.589%207.51475%2011.5879%207.51367H11.5762C11.5688%207.51361%2011.5654%207.50943%2011.5654%207.50195H10.6543ZM16.4463%207.50195C16.3226%207.50195%2016.2217%207.60409%2016.2217%207.72852V12.999C16.2217%2013.1235%2016.3226%2013.2256%2016.4463%2013.2256H19.8203C19.9439%2013.2254%2020.0449%2013.1234%2020.0449%2012.999V12.1396C20.0449%2012.0154%2019.9439%2011.9132%2019.8203%2011.9131H17.5254V11.0195H19.8203C19.9438%2011.0194%2020.0448%2010.9182%2020.0449%2010.7939V9.93359C20.0447%209.80943%2019.9438%209.70815%2019.8203%209.70801H17.5254V8.81445H19.8203C19.9439%208.81431%2020.0449%208.71223%2020.0449%208.58789V7.72852C20.0449%207.60417%2019.9439%207.50209%2019.8203%207.50195H16.4463Z'%20fill='white'%20/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_4084_661'%3e%3crect%20width='24'%20height='24'%20fill='white'%20/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e") center/contain no-repeat;
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--color-white);
  transition: background-color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .c-btnLine__icon {
    width: 1.125rem;
    height: 1.125rem;
  }
}

.c-btnLine__text {
  color: var(--color-white);
  font-family: var(--base-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-bold);
  line-height: 1.3;
  letter-spacing: 0.07em;
  transition: color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .c-btnLine__text {
    font-size: 1rem;
  }
}

.c-btnMore {
  display: inline-flex;
  column-gap: 0.375rem;
  align-items: center;
  min-width: 14.375rem;
  min-height: 3.5rem;
  padding-inline: 1.375rem 0.875rem;
  border: 1px solid var(--color-primary);
  border-radius: 12.5rem;
  background-color: var(--color-white);
  transition: background-color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .c-btnMore {
    min-width: 18.125rem;
    min-height: 3rem;
  }
}
@media (any-hover: hover) {
  .c-btnMore:hover {
    background-color: var(--color-primary);
  }
  .c-btnMore:hover .c-btnMore__text {
    color: var(--color-white);
  }
  .c-btnMore:hover .c-btnMore__icon {
    background-color: var(--color-white);
  }
}

.c-btnMore__text {
  flex: 1;
  color: var(--color-primary);
  font-family: var(--base-font-family);
  font-size: 1rem;
  font-weight: var(--fw-bold);
  line-height: 1.3;
  letter-spacing: 0.07em;
  text-align: center;
  transition: color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .c-btnMore__text {
    font-size: 0.875rem;
  }
}

.c-btnMore__icon {
  display: block;
  flex-shrink: 0;
  mask: url("data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6%2012.8816V5.11914C6%204.90664%206.075%204.72839%206.225%204.58439C6.375%204.44039%206.55%204.36864%206.75%204.36914C6.8125%204.36914%206.87825%204.37839%206.94725%204.39689C7.01625%204.41539%207.08175%204.44364%207.14375%204.48164L13.2562%208.36289C13.3687%208.43789%2013.4533%208.53164%2013.5098%208.64414C13.5663%208.75664%2013.5943%208.87539%2013.5938%209.00039C13.5932%209.12539%2013.5653%209.24414%2013.5098%209.35664C13.4543%209.46914%2013.3697%209.56289%2013.2562%209.63789L7.14375%2013.5191C7.08125%2013.5566%207.01575%2013.5849%206.94725%2013.6039C6.87875%2013.6229%206.813%2013.6321%206.75%2013.6316C6.55%2013.6316%206.375%2013.5596%206.225%2013.4156C6.075%2013.2716%206%2013.0936%206%2012.8816Z'%20fill='%231E3163'/%3e%3c/svg%3e") center/contain no-repeat;
  width: 1.125rem;
  height: 1.125rem;
  background-color: var(--color-primary);
  transition: background-color var(--duration) var(--ease);
}

.c-btnSubmit {
  display: block;
  width: 25rem;
  height: 5.3125rem;
  padding-block: 1.25rem;
  padding-inline: 2.25rem 4.25rem;
  border: 1px solid var(--color-primary);
  border-radius: 12.5rem;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%3e%3cpath%20d='M20.0401%202.32344C21.0561%201.96844%2022.0321%202.94444%2021.6771%203.96044L15.7521%2020.8904C15.3671%2021.9884%2013.8371%2022.0504%2013.3651%2020.9874L10.5061%2014.5554L14.5301%2010.5304C14.6626%2010.3883%2014.7347%2010.2002%2014.7313%2010.0059C14.7278%209.81162%2014.6491%209.62623%2014.5117%209.48882C14.3743%209.35141%2014.1889%209.27269%2013.9946%209.26927C13.8003%209.26584%2013.6123%209.33796%2013.4701%209.47044L9.4451%2013.4944L3.0131%2010.6354C1.9501%2010.1624%202.0131%208.63344%203.1101%208.24844L20.0401%202.32344Z'%20fill='white'%20/%3e%3c/svg%3e");
  background-position: right 9rem center;
  background-size: 1.5rem 1.5rem;
  background-repeat: no-repeat;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-family: var(--base-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-bold);
  line-height: 1.3;
  letter-spacing: 0.07em;
  cursor: pointer;
  appearance: none;
  transition: background-color var(--duration) var(--ease), color var(--duration) var(--ease), background-image var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .c-btnSubmit:not(:disabled):hover {
    background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%3e%3cpath%20d='M17.7896%200.0744176C18.8056%20-0.280582%2019.7816%200.695418%2019.4266%201.71142L13.5016%2018.6414C13.1166%2019.7394%2011.5866%2019.8014%2011.1146%2018.7384L8.25561%2012.3064L12.2796%208.28142C12.4121%208.13924%2012.4842%207.9512%2012.4808%207.7569C12.4774%207.56259%2012.3986%207.37721%2012.2612%207.2398C12.1238%207.10238%2011.9384%207.02367%2011.7441%207.02024C11.5498%207.01681%2011.3618%207.08894%2011.2196%207.22142L7.19461%2011.2454L0.762611%208.38642C-0.300389%207.91342%20-0.23739%206.38442%200.85961%205.99942L17.7896%200.0744176Z'%20fill='%231E3163'%20/%3e%3c/svg%3e");
    background-color: var(--color-white);
    color: var(--color-primary);
  }
}
@media screen and (max-width: 767px) {
  .c-btnSubmit {
    width: 18.125rem;
    height: 3.5rem;
    padding-block: 1rem;
    padding-inline: 1.5rem 3.125rem;
    background-position: right 6.0625rem center;
    background-size: 1.125rem 1.125rem;
    font-size: 1rem;
  }
}

.c-categoryLabel {
  width: fit-content;
  padding-block: 0.125rem 0.1875rem;
  padding-inline: 0.625rem;
  border-radius: 100vmax;
  background-color: var(--color-accent-yellow);
  color: var(--color-white);
  font-size: 1rem;
  font-weight: var(--fw-bold);
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .c-categoryLabel {
    font-size: 0.875rem;
  }
}

.c-formField {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  align-self: stretch;
}
@media screen and (max-width: 767px) {
  .c-formField {
    row-gap: 0.5rem;
  }
}

.c-formField__label {
  display: flex;
  column-gap: 0.5rem;
  align-items: center;
}

.c-formField__label-text {
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-bold);
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-formField__label-text {
    font-size: 1rem;
  }
}

.c-formField__badge {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.125rem 0.625rem 0.1875rem;
  border-radius: 624.9375rem;
  background-color: var(--color-accent-red);
  color: var(--color-white);
  font-family: var(--base-font-family);
  font-size: 1rem;
  font-weight: var(--fw-bold);
  line-height: 1.2;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-formField__badge {
    font-size: 0.75rem;
  }
}

.c-formField .wpcf7-text,
.c-formField .wpcf7-email,
.c-formField .wpcf7-tel {
  display: block;
  width: 100%;
  padding: 1rem 1.5rem;
  border: 1px solid var(--color-border-gray);
  border-radius: 0.5rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  line-height: 2;
  outline: none;
  transition: border-color var(--duration) var(--ease);
}
.c-formField .wpcf7-text::placeholder,
.c-formField .wpcf7-email::placeholder,
.c-formField .wpcf7-tel::placeholder {
  color: var(--color-border-gray);
}
.c-formField .wpcf7-text:focus, .c-formField .wpcf7-text:not(:placeholder-shown),
.c-formField .wpcf7-email:focus,
.c-formField .wpcf7-email:not(:placeholder-shown),
.c-formField .wpcf7-tel:focus,
.c-formField .wpcf7-tel:not(:placeholder-shown) {
  border-color: var(--color-primary);
}
.c-formField .wpcf7-text.wpcf7-not-valid,
.c-formField .wpcf7-email.wpcf7-not-valid,
.c-formField .wpcf7-tel.wpcf7-not-valid {
  border-color: var(--color-accent-red);
}
@media screen and (max-width: 767px) {
  .c-formField .wpcf7-text,
  .c-formField .wpcf7-email,
  .c-formField .wpcf7-tel {
    padding: 0.75rem 1rem;
    border-radius: 0.375rem;
    font-size: 1rem;
  }
}

.c-formField .wpcf7-textarea {
  display: block;
  width: 100%;
  height: 13.125rem;
  padding: 1rem 1.5rem;
  border: 1px solid var(--color-border-gray);
  border-radius: 0.5rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  line-height: 2;
  outline: none;
  resize: vertical;
  transition: border-color var(--duration) var(--ease);
}
.c-formField .wpcf7-textarea::placeholder {
  color: var(--color-border-gray);
}
.c-formField .wpcf7-textarea:focus, .c-formField .wpcf7-textarea:not(:placeholder-shown) {
  border-color: var(--color-primary);
}
.c-formField .wpcf7-textarea.wpcf7-not-valid {
  border-color: var(--color-accent-red);
}
@media screen and (max-width: 767px) {
  .c-formField .wpcf7-textarea {
    padding: 1rem;
    border-radius: 0.375rem;
    font-size: 1rem;
  }
}

.c-formField .wpcf7-radio {
  display: flex;
  column-gap: 2.625rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-formField .wpcf7-radio {
    column-gap: 0;
    justify-content: space-between;
    width: 100%;
  }
}

.c-formField .wpcf7-list-item {
  display: flex;
  column-gap: 0.875rem;
  align-items: center;
  margin: 0;
  cursor: pointer;
}

.c-formField .wpcf7-list-item label {
  display: flex;
  column-gap: 0.75rem;
  align-items: center;
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  line-height: 2;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-formField .wpcf7-list-item label {
    font-size: 1rem;
  }
}

.c-formField input[type=radio] {
  flex-shrink: 0;
  width: 1.4375rem;
  height: 1.4375rem;
  border: 1px solid var(--color-border-gray);
  border-radius: 50%;
  cursor: pointer;
  appearance: none;
  transition: border-color var(--duration) var(--ease), background-color var(--duration) var(--ease);
}
.c-formField input[type=radio]:checked {
  background-image: radial-gradient(circle, #999 35%, var(--color-white) 35%);
}

.c-formField .wpcf7-radio.wpcf7-not-valid input[type=radio] {
  border-color: var(--color-accent-red);
}

.c-formField .wpcf7-form-control-wrap:has(.wpcf7-file) {
  position: relative;
  display: flex;
  flex-direction: row;
  column-gap: 1rem;
  justify-content: center;
  align-items: center;
  width: 34.25rem;
  padding: 2.5rem 1rem;
  border: 1px solid var(--color-border-gray);
  border-radius: 0.5rem;
  background-color: var(--color-white);
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-formField .wpcf7-form-control-wrap:has(.wpcf7-file) {
    width: 100%;
  }
}
.c-formField .wpcf7-form-control-wrap:has(.wpcf7-file)::before {
  content: "";
  display: block;
  flex-shrink: 0;
  mask: url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M4%2017V19C4%2019.5304%204.21071%2020.0391%204.58579%2020.4142C4.96086%2020.7893%205.46957%2021%206%2021H18C18.5304%2021%2019.0391%2020.7893%2019.4142%2020.4142C19.7893%2020.0391%2020%2019.5304%2020%2019V17M17%209L12%204L7%209M12%204V16'%20stroke='%23999999'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e") center/contain no-repeat;
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--color-border-gray);
}
.c-formField .wpcf7-form-control-wrap:has(.wpcf7-file)::after {
  content: "アップロードしてください";
  color: var(--color-border-gray);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .c-formField .wpcf7-form-control-wrap:has(.wpcf7-file) {
    column-gap: 0.5rem;
    padding: 1.5rem 1rem;
  }
  .c-formField .wpcf7-form-control-wrap:has(.wpcf7-file)::after {
    font-size: 1rem;
  }
}

.c-formField input[type=file].wpcf7-file {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.c-formField .wpcf7-form-control-wrap:has(.wpcf7-file).has-file::after {
  content: "";
}

.js-upload-filename {
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .js-upload-filename {
    font-size: 1rem;
  }
}

.c-formField .wpcf7-acceptance {
  display: flex;
  column-gap: 0.5rem;
  align-items: center;
}

.c-formField .wpcf7-acceptance .wpcf7-list-item {
  display: flex;
  column-gap: 0.5rem;
  align-items: center;
}

.c-formField input[type=checkbox] {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid var(--color-border-gray);
  border-radius: 0.25rem;
  cursor: pointer;
  appearance: none;
  transition: border-color var(--duration) var(--ease), background-color var(--duration) var(--ease);
}
.c-formField input[type=checkbox]:checked {
  border-color: var(--color-primary);
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='14'%20height='9'%20viewBox='0%200%2014%209'%20fill='none'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M0.160109%203.64751C0.373122%203.4345%200.718485%203.4345%200.931498%203.64751L4.77195%207.48796L12.1001%200.159764C12.3132%20-0.0532487%2012.6585%20-0.0532484%2012.8715%200.159765C13.0846%200.372778%2013.0846%200.718141%2012.8715%200.931153L5.15765%208.64505C4.94463%208.85806%204.59927%208.85806%204.38626%208.64505L0.160109%204.4189C-0.0529046%204.20588%20-0.0529046%203.86052%200.160109%203.64751Z'%20fill='%231E3163'%20/%3e%3c/svg%3e");
  background-position: center;
  background-size: 0.875rem 0.625rem;
  background-repeat: no-repeat;
}

.c-formField .wpcf7-list-item-label {
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  line-height: 2;
  cursor: pointer;
}
.c-formField .wpcf7-list-item-label a {
  text-decoration: underline;
  transition: color var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .c-formField .wpcf7-list-item-label a:hover {
    color: #3d69dd;
  }
}
@media screen and (max-width: 767px) {
  .c-formField .wpcf7-list-item-label {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .wpcf7-form-control.wpcf7-acceptance label {
    column-gap: 0.5rem;
  }
  .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label {
    display: flex;
    align-items: center;
    font-size: 0.875rem;
  }
  .wpcf7-form-control.wpcf7-acceptance .c-formField__badge {
    margin-inline-start: 0.4375rem;
  }
}

.c-formField .wpcf7-not-valid-tip {
  display: block;
  margin-block-start: 0.25rem;
  color: var(--color-accent-red);
  font-family: var(--paragraph-font-family);
  font-size: 0.875rem;
  font-weight: var(--fw-medium);
}
@media screen and (max-width: 767px) {
  .c-formField .wpcf7-not-valid-tip {
    font-size: 0.75rem;
  }
}

.p-contact-form__submit {
  position: relative;
}

.wpcf7-spinner {
  position: absolute;
  bottom: -2.5rem;
}

.c-leadText {
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  line-height: 2;
}
.c-leadText p + p {
  margin-block-start: 1rem;
}
@media screen and (max-width: 767px) {
  .c-leadText {
    font-size: 0.9375rem;
    line-height: 1.8;
  }
  .c-leadText p + p {
    margin-block-start: 0.5rem;
  }
}

.c-leadTitle {
  color: var(--color-primary);
  font-size: 1.625rem;
  font-weight: var(--fw-medium);
  line-height: 1.8;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .c-leadTitle {
    font-size: 1.125rem;
    line-height: 1.6;
    letter-spacing: 0.04em;
  }
}

.c-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0.5rem;
  justify-content: center;
  align-items: center;
}

.c-pagination__num {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 0.09375rem solid var(--color-primary);
  border-radius: 50%;
  background-color: var(--color-white);
  color: var(--color-primary);
  font-family: var(--paragraph-font-family);
  font-size: 1rem;
  font-weight: var(--fw-bold);
  line-height: 1;
  text-decoration: none;
  transition: background-color var(--duration) var(--ease), color var(--duration) var(--ease);
}
.c-pagination__num.c-pagination__num--current {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: var(--color-white);
  pointer-events: none;
}
@media (any-hover: hover) {
  .c-pagination__num:hover {
    background-color: var(--color-bg-blue);
  }
}

.c-pagination__ellipsis {
  color: var(--color-primary);
  font-size: 0.75rem;
  line-height: 1;
}

.c-pagination__arrow {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1.5px solid var(--color-primary);
  border-radius: 50%;
  background-color: var(--color-white);
  text-decoration: none;
  transition: background-color var(--duration) var(--ease);
}
.c-pagination__arrow::after {
  content: "";
  display: block;
  mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='7'%20height='12'%20viewBox='0%200%207%2012'%20fill='none'%3e%3cpath%20d='M6.0625%2010.5088L1.0625%205.92546L6.0625%200.508789'%20stroke='%231E3163'%20stroke-width='1.5'%20/%3e%3c/svg%3e") center/contain no-repeat;
  width: 0.5rem;
  height: 0.625rem;
  background-color: var(--color-primary);
}
.c-pagination__arrow.c-pagination__arrow--prev {
  margin-inline-end: 1.5rem;
}
.c-pagination__arrow.c-pagination__arrow--next {
  margin-inline-start: 1.5rem;
}
@media (any-hover: hover) {
  .c-pagination__arrow:hover {
    background-color: var(--color-bg-blue);
  }
}

.c-pagination__arrow--next::after {
  rotate: 180deg;
}

.c-postDate {
  font-family: var(--en-font-family);
  font-size: 0.875rem;
  line-height: 1.4;
  letter-spacing: 0.15em;
}

.c-sectionTitle {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  width: fit-content;
}
.c-sectionTitle.c-sectionTitle--white .c-sectionTitle__en,
.c-sectionTitle.c-sectionTitle--white .c-sectionTitle__ja {
  color: var(--color-white);
}
.c-sectionTitle[data-position=center] {
  margin-inline: auto;
}
.c-sectionTitle[data-position=right] {
  margin-inline-start: auto;
}
.c-sectionTitle[data-align=center] {
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-sectionTitle[data-position=sp-center] {
    margin-inline: auto;
  }
  .c-sectionTitle[data-position=sp-right] {
    margin-inline-start: auto;
  }
  .c-sectionTitle[data-align=sp-center] {
    align-items: center;
  }
}

.c-sectionTitle__en {
  color: var(--color-primary);
  font-family: var(--en-font-family);
  font-size: 1.3125rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.15em;
  text-transform: capitalize;
}
@media screen and (max-width: 767px) {
  .c-sectionTitle__en {
    font-size: 0.875rem;
  }
}

.c-sectionTitle__ja {
  color: var(--color-text);
  font-family: var(--base-font-family);
  font-size: 2.5rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .c-sectionTitle__ja {
    font-size: 1.5rem;
    line-height: 1.2;
  }
}

.c-sectionTitleVertical {
  display: flex;
  column-gap: 0.5rem;
  align-items: flex-start;
  width: fit-content;
}
.c-sectionTitleVertical[data-position=center] {
  margin-inline: auto;
}
.c-sectionTitleVertical[data-position=right] {
  margin-inline-start: auto;
}
.c-sectionTitleVertical.c-sectionTitleVertical--wide {
  column-gap: 1rem;
}
@media screen and (max-width: 767px) {
  .c-sectionTitleVertical {
    column-gap: 0.375rem;
  }
  .c-sectionTitleVertical.c-sectionTitleVertical--wide {
    column-gap: 0.5rem;
  }
}

.c-sectionTitleVertical__ja {
  display: flex;
  column-gap: 0.625rem;
  margin-block-start: 0.625rem;
}
@media screen and (max-width: 767px) {
  .c-sectionTitleVertical__ja {
    column-gap: 0.0625rem;
    margin-block-start: 0.25rem;
  }
}

.c-sectionTitleVertical__ja-col {
  color: var(--color-text);
  writing-mode: vertical-rl;
  font-family: var(--base-font-family);
  font-size: 2.5rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.4em;
}
@media screen and (max-width: 767px) {
  .c-sectionTitleVertical__ja-col {
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 0.2em;
  }
}

.c-sectionTitleVertical__en {
  color: var(--color-primary);
  writing-mode: vertical-rl;
  font-family: var(--en-font-family);
  font-size: 1.3125rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.15em;
  text-transform: capitalize;
}
@media screen and (max-width: 767px) {
  .c-sectionTitleVertical__en {
    font-size: 0.875rem;
  }
}

.p-aboutCompany {
  position: relative;
  padding-block: 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-aboutCompany {
    padding-block: 2rem 6.875rem;
  }
}

.p-aboutCompany__inner {
  max-width: calc(67.5rem + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (max-width: 767px) {
  .p-aboutCompany__inner {
    padding-inline: 1.875rem;
  }
}

.p-aboutCompany__table {
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-aboutCompany__table {
    margin-block-start: 2.125rem;
  }
}

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

.p-aboutCompany__row {
  display: grid;
  grid-template-columns: 11.25rem minmax(0, 1fr);
  column-gap: 1rem;
  align-items: center;
  padding-block-start: 1.4375rem;
}
.p-aboutCompany__row::after {
  content: "";
  grid-column: 1/-1;
  height: 2px;
  margin-block-start: 1.4375rem;
  background: linear-gradient(to right, var(--color-primary) 12.25rem, var(--color-divider) 12.25rem);
}
@media screen and (max-width: 767px) {
  .p-aboutCompany__row {
    grid-template-columns: 1fr;
    row-gap: 0.5rem;
    padding-block-start: 0.875rem;
  }
  .p-aboutCompany__row::after {
    margin-block-start: 0.5rem;
  }
}

.p-aboutCompany__dt {
  color: var(--color-primary);
  font-size: 1.125rem;
  font-weight: var(--fw-bold);
  line-height: 1.8;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 767px) {
  .p-aboutCompany__dt {
    font-size: 1rem;
  }
}

.p-aboutCompany__dd {
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-aboutCompany__dd {
    font-size: 0.9375rem;
  }
}

.p-aboutCompany__map-area {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  align-items: center;
  width: 100%;
  margin-block-start: 4.875rem;
}
@media screen and (max-width: 767px) {
  .p-aboutCompany__map-area {
    row-gap: 1rem;
    margin-block-start: 1.375rem;
    padding-inline: 1.875rem;
  }
}

.p-aboutCompany__map-embed {
  overflow: hidden;
  width: 100%;
}
.p-aboutCompany__map-embed iframe {
  display: block;
  width: 100%;
  height: 37.5rem;
  border: none;
}
@media screen and (max-width: 767px) {
  .p-aboutCompany__map-embed {
    border-radius: 20px;
  }
  .p-aboutCompany__map-embed iframe {
    height: 17.5rem;
  }
}

.p-aboutCompany__map-link {
  display: flex;
  column-gap: 0.25rem;
  align-items: center;
  color: var(--color-primary);
  font-size: 0.9375rem;
  transition: color var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .p-aboutCompany__map-link:hover {
    color: var(--color-accent-yellow);
  }
  .p-aboutCompany__map-link:hover .p-aboutCompany__map-pin {
    background-color: var(--color-accent-yellow);
  }
}
@media screen and (max-width: 767px) {
  .p-aboutCompany__map-link {
    font-size: 0.875rem;
  }
}

.p-aboutCompany__map-pin {
  display: block;
  flex-shrink: 0;
  mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%3e%3cg%20clip-path='url(%23clip0_4120_2737)'%3e%3cpath%20d='M6.40002%206.9291C6.40002%206.50476%206.5686%206.09779%206.86865%205.79773C7.16871%205.49767%207.57568%205.3291%208.00002%205.3291C8.42437%205.3291%208.83134%205.49767%209.1314%205.79773C9.43145%206.09779%209.60002%206.50476%209.60002%206.9291C9.60002%207.35345%209.43145%207.76041%209.1314%208.06047C8.83134%208.36053%208.42437%208.5291%208.00002%208.5291C7.57568%208.5291%207.16871%208.36053%206.86865%208.06047C6.5686%207.76041%206.40002%207.35345%206.40002%206.9291Z'%20fill='white'%20/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.06665%206.92907C1.06778%205.09097%201.79875%203.32855%203.09888%202.02922C4.39901%200.729888%206.16189%20-3.48042e-07%207.99998%200C11.8283%200%2014.9333%203.10293%2014.9333%206.92907C14.9333%209.78133%2013.5061%2012.0416%2011.9765%2013.5691C11.2994%2014.2471%2010.5417%2014.8396%209.72052%2015.3333C9.37705%2015.536%209.05598%2015.696%208.77652%2015.8048C8.51305%2015.9093%208.23678%2015.9904%207.99998%2015.9904C7.76318%2015.9904%207.48692%2015.9093%207.22345%2015.8048C6.89726%2015.6719%206.58168%2015.5142%206.27945%2015.3333C5.45823%2014.8396%204.70059%2014.2471%204.02345%2013.5691C2.49385%2012.0416%201.06665%209.78133%201.06665%206.92907ZM7.99998%204.26347C7.29274%204.26347%206.61446%204.54442%206.11437%205.04452C5.61427%205.54461%205.33332%206.22289%205.33332%206.93013C5.33332%207.63738%205.61427%208.31565%206.11437%208.81575C6.61446%209.31585%207.29274%209.5968%207.99998%209.5968C8.70723%209.5968%209.38551%209.31585%209.8856%208.81575C10.3857%208.31565%2010.6667%207.63738%2010.6667%206.93013C10.6667%206.22289%2010.3857%205.54461%209.8856%205.04452C9.38551%204.54442%208.70723%204.26347%207.99998%204.26347Z'%20fill='white'%20/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_4120_2737'%3e%3crect%20width='16'%20height='16'%20fill='white'%20/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e") center/contain no-repeat;
  width: 1.125rem;
  height: 1.125rem;
  background-color: var(--color-primary);
  transition: background-color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .p-aboutCompany__map-pin {
    width: 1rem;
    height: 1rem;
  }
}

.p-aboutCompany__wave {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: none;
  width: 100%;
  line-height: 0;
}
.p-aboutCompany__wave img {
  display: block;
  width: 100%;
  height: auto;
  rotate: 180deg;
}
@media screen and (max-width: 767px) {
  .p-aboutCompany__wave {
    display: block;
  }
}

.p-aboutMessage {
  padding-block: 7.5rem 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-aboutMessage {
    padding-block: 3.125rem 2rem;
  }
}

@media screen and (max-width: 767px) {
  .p-aboutMessage__inner {
    padding-inline: 0.625rem;
  }
}

.p-aboutMessage__box {
  display: grid;
  row-gap: 3.75rem;
  margin-block-start: 2.5rem;
  padding-block: 4rem;
  padding-inline: 4rem;
  border-radius: 30px;
  background: var(--color-bg-blue);
}
@media screen and (max-width: 767px) {
  .p-aboutMessage__box {
    margin-block-start: 2rem;
    padding-block: 2rem;
    padding-inline: 1.25rem;
    row-gap: 2rem;
  }
}

.p-aboutMessage__photo {
  position: relative;
  overflow: hidden;
  width: 60rem;
  margin-inline: auto;
  border-radius: 30px;
}
.p-aboutMessage__photo img {
  height: auto;
  aspect-ratio: 960/540;
}
@media screen and (max-width: 767px) {
  .p-aboutMessage__photo {
    width: 100%;
    border-radius: 10px;
  }
  .p-aboutMessage__photo img {
    aspect-ratio: 330/185.625;
  }
}

.p-aboutMessage__photo-info {
  position: absolute;
  right: 4.1875rem;
  bottom: 2rem;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-aboutMessage__photo-info {
    right: auto;
    left: 0.625rem;
    bottom: 0.5rem;
  }
}

.p-aboutMessage__photo-role {
  position: relative;
  z-index: 3;
  display: grid;
  place-items: center;
  width: fit-content;
  padding-block: 0.375rem;
  padding-inline: 1rem;
  border-radius: 10px;
  background: var(--color-white);
  font-size: 0.875rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-aboutMessage__photo-role {
    font-size: 0.75rem;
    line-height: normal;
    padding-block: 0.25rem;
    padding-inline: 0.375rem;
    border-radius: 3.438px;
  }
}

.p-aboutMessage__photo-name {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: fit-content;
  padding-block: 0.5rem;
  padding-inline: 1rem;
  border-radius: 10px;
  background: var(--color-primary);
  color: var(--color-white);
  font-family: var(--ja-font-family);
  font-size: 1.625rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  translate: 1.875rem -0.3125rem;
}
@media screen and (max-width: 767px) {
  .p-aboutMessage__photo-name {
    font-size: 1.25rem;
    line-height: normal;
    padding-block: 0.25rem;
    letter-spacing: 0;
    padding-inline: 0.375rem;
    border-radius: 3.438px;
    translate: 1rem -0.3125rem;
  }
}

.p-aboutMessage__lead {
  display: grid;
  row-gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-aboutMessage__lead {
    row-gap: 1rem;
  }
}

.p-aboutMissionVision {
  overflow-x: clip;
  padding-block: 8.125rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-aboutMissionVision {
    padding-block: 1.75rem 2rem;
  }
}

.p-aboutMissionVision__inner {
  position: relative;
  max-width: calc(95rem + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (max-width: 767px) {
  .p-aboutMissionVision__inner {
    padding-inline: var(--padding-inner-sp);
  }
}

.p-aboutMissionVision__deco {
  position: absolute;
  right: -9.375rem;
  bottom: -17.8125rem;
  width: 23.7540625rem;
  height: 27.2789375rem;
  background: url("../images/deco1.webp") var(--bg-contain);
}
@media screen and (max-width: 767px) {
  .p-aboutMissionVision__deco {
    width: 8.108625rem;
    height: 9.3120625rem;
    right: 1rem;
    bottom: -6.1875rem;
  }
}

.p-aboutMissionVision__contents {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 5.375rem;
  padding-block: 7.5rem 6.125rem;
  padding-inline-start: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-aboutMissionVision__contents {
    row-gap: 2.625rem;
    padding-block: 3.75rem;
    padding-inline-start: 1.25rem;
  }
}

.p-aboutMissionVision__bg {
  position: absolute;
  top: 0;
  left: 16.25rem;
  z-index: -1;
  clip-path: inset(0 0 0 100%);
  width: 95rem;
  height: 100%;
  border-radius: 50px;
  background: var(--color-bg-cream);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-aboutMissionVision__bg {
    left: 0;
    border-radius: 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-aboutMissionVision__bg {
    clip-path: none;
  }
}

.p-aboutMissionVision__content {
  position: relative;
}
.p-aboutMissionVision__content:nth-child(odd) .p-aboutMissionVision__title {
  margin-inline-start: 1.625rem;
  text-align: left;
}
.p-aboutMissionVision__content:nth-child(odd) .p-aboutMissionVision__box {
  z-index: 1;
  margin-inline: 0 auto;
  padding-inline-end: 6.25rem;
}
.p-aboutMissionVision__content:nth-child(odd) .p-aboutMissionVision__content-img {
  top: 4.375rem;
  left: 57.5rem;
  z-index: 2;
}
.p-aboutMissionVision__content:nth-child(odd) .p-aboutMissionVision__content-img img {
  width: 28.875rem;
  height: 26.0625rem;
}
@media screen and (max-width: 767px) {
  .p-aboutMissionVision__content:nth-child(odd) .p-aboutMissionVision__title {
    margin-inline-start: 0;
    text-align: center;
  }
  .p-aboutMissionVision__content:nth-child(odd) .p-aboutMissionVision__content-img img {
    width: 20.625rem;
    height: 13.375rem;
  }
  .p-aboutMissionVision__content:nth-child(odd) .p-aboutMissionVision__box {
    z-index: 1;
    margin-inline: 0 auto;
    padding: 1.5rem;
  }
}

.p-aboutMissionVision__content-img {
  position: absolute;
  top: -1rem;
  left: calc(50% - 53.75rem);
  display: block;
  overflow: hidden;
  border-radius: 30px;
}
.p-aboutMissionVision__content-img img {
  width: 40.25rem;
  height: 26.0625rem;
}
@media screen and (max-width: 767px) {
  .p-aboutMissionVision__content-img {
    position: static;
  }
  .p-aboutMissionVision__content-img img {
    width: 20.625rem;
    height: 13.375rem;
  }
}

.p-aboutMissionVision__title {
  margin-inline-end: 0.625rem;
  color: var(--color-primary);
  font-family: var(--en-font-family);
  font-size: 10rem;
  font-weight: var(--fw-regular);
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-aboutMissionVision__title {
    margin-block-start: 1.375rem;
    margin-inline-end: 0;
    font-size: 3.4375rem;
    line-height: 0.88;
    letter-spacing: 0.05em;
    text-align: center;
  }
}

.p-aboutMissionVision__box {
  position: relative;
  z-index: 2;
  width: 61.375rem;
  margin-block-start: -2.125rem;
  margin-inline: auto 0;
  padding-block: 2.625rem;
  padding-inline: 4rem;
  border-radius: 30px;
  box-shadow: 0 0 40px 0 rgba(26, 61, 91, 0.1);
  background: var(--color-white);
  display: grid;
  row-gap: 2rem;
}
@media screen and (max-width: 767px) {
  .p-aboutMissionVision__box {
    width: 100%;
    margin-block-start: 1.5rem;
    padding: 1.5rem;
    row-gap: 1rem;
  }
}

.p-aboutMissionVision__box-title {
  color: var(--color-primary);
  font-family: var(--ja-font-family);
  font-size: 2rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-aboutMissionVision__box-title {
    font-size: 1.25rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
}

.p-aboutPhilosophy {
  padding-block-end: 3.875rem;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy {
    padding-block-end: 0;
  }
}

.p-aboutPhilosophy__mask-top,
.p-aboutPhilosophy__mask-bottom {
  position: relative;
  z-index: 1;
  line-height: 0;
}
.p-aboutPhilosophy__mask-top img,
.p-aboutPhilosophy__mask-bottom img {
  display: block;
  width: 100%;
  height: auto;
}

.p-aboutPhilosophy__mask-top img {
  rotate: 180deg;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__mask-top {
    display: none;
  }
}

.p-aboutPhilosophy__mask-bottom {
  margin-block-start: 1.75rem;
}
.p-aboutPhilosophy__mask-bottom img {
  height: auto;
  aspect-ratio: 1920/173;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__mask-bottom {
    margin-block-start: 1.25rem;
  }
  .p-aboutPhilosophy__mask-bottom img {
    aspect-ratio: 390/52;
  }
}

.p-aboutPhilosophy__body {
  position: relative;
  margin-block: -2rem;
  padding-block-start: 1.25rem;
  background-color: var(--color-bg-blue);
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__body {
    margin-block-start: -1.875rem;
    padding-block: 5.625rem 2.0625rem;
  }
}

.p-aboutPhilosophy__inner {
  position: relative;
}

.p-aboutPhilosophy__title {
  position: absolute;
  top: -11.8125rem;
  right: 1.75rem;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__title {
    top: -7.6875rem;
    right: auto;
    left: 2.375rem;
  }
}

.p-aboutPhilosophy__services {
  display: flex;
  flex-direction: column;
  row-gap: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__services {
    row-gap: 3.75rem;
  }
}

.p-aboutPhilosophy__service {
  display: grid;
  row-gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__service {
    row-gap: 1.5rem;
  }
}

.p-aboutPhilosophy__service-head {
  display: flex;
  column-gap: 3rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__service-head {
    flex-direction: column;
    gap: 0;
    align-items: center;
  }
}

.p-aboutPhilosophy__num {
  flex-shrink: 0;
  color: var(--color-primary);
  font-family: var(--en-font-family);
  font-size: 10rem;
  font-weight: var(--fw-regular);
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__num {
    font-size: 4.625rem;
  }
}

.p-aboutPhilosophy__service-name {
  color: var(--color-primary);
  font-size: 2rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__service-name {
    font-size: 1.25rem;
    line-height: 1.5;
    text-align: center;
  }
}

.p-aboutPhilosophy__service-desc {
  margin-block-start: 1rem;
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__service-desc {
    margin-block-start: 0.625rem;
    font-size: 0.9375rem;
    line-height: 1.8;
    letter-spacing: 0;
  }
}

.p-aboutPhilosophy__imgs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__imgs {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.5rem;
    padding-inline: 1.875rem;
  }
}

.p-aboutPhilosophy__img {
  overflow: hidden;
  border-radius: 30px;
}
.p-aboutPhilosophy__img img {
  height: auto;
  aspect-ratio: 410/273;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__img {
    border-radius: 10px;
  }
  .p-aboutPhilosophy__img img {
    aspect-ratio: 290/162;
  }
}

.p-aboutPhilosophy__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__cards {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 1.375rem;
  }
}

.p-aboutPhilosophy__card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 1.5rem;
  overflow: hidden;
  padding-block-end: 1.5rem;
  border-radius: 30px;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__card {
    row-gap: 1.5rem;
    padding-block-end: 1.625rem;
    border-radius: 20px;
  }
}

.p-aboutPhilosophy__card-header {
  padding-block: 1rem;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1.625rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__card-header {
    font-size: 1.125rem;
  }
}

.p-aboutPhilosophy__card-body {
  padding-inline: 2rem;
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__card-body {
    font-size: 0.9375rem;
    line-height: 1.8;
  }
}

.p-aboutPhilosophy__logos {
  display: flex;
  flex-shrink: 0;
  flex-direction: row;
  column-gap: 2.0625rem;
  justify-content: center;
  align-items: center;
  margin-block-start: -0.5rem;
  transition: opacity var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__logos {
    flex-direction: column;
    gap: 0.5rem 0;
    margin-block-start: 0;
  }
}
@media (any-hover: hover) {
  .p-aboutPhilosophy__logos:hover {
    opacity: 0.8;
  }
}

.p-aboutPhilosophy__logos img {
  display: block;
  width: auto;
  height: 3.75rem;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__logos img {
    width: 9.75rem;
    height: auto;
  }
}

.p-aboutPhilosophy__service-body {
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-aboutPhilosophy__service-body {
    font-size: 0.9375rem;
    line-height: 1.8;
  }
}

.p-archive {
  padding-block: 7.5rem 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-archive {
    padding-block: 3rem 0.1875rem;
  }
}

.p-archive__inner {
  max-width: calc(67.5rem + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (max-width: 767px) {
  .p-archive__inner {
    padding-inline: var(--padding-inner-sp);
  }
}

.p-archive__list {
  display: grid;
  row-gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-archive__list {
    row-gap: 1rem;
    padding-inline: 1.875rem;
  }
}

.p-archive__card {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 2rem;
  align-items: flex-start;
  padding: 2rem;
  border: 0.0625rem solid var(--color-primary);
  border-radius: 30px;
  background-color: var(--color-white);
  text-decoration: none;
  transition: background-color var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .p-archive__card:hover {
    background-color: var(--color-bg-blue);
  }
  .p-archive__card:hover .p-archive__img img {
    scale: 1.05;
  }
  .p-archive__card:hover .p-archive__title {
    color: var(--color-primary);
  }
}
@media screen and (max-width: 767px) {
  .p-archive__card {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 1rem;
    padding: 1.4375rem;
    border-radius: 20px;
  }
}

.p-archive__img {
  flex-shrink: 0;
  overflow: hidden;
  width: 21.6875rem;
  height: 13.125rem;
  border-radius: 10px;
}
.p-archive__img img {
  transition: scale var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .p-archive__img {
    width: 100%;
    height: 9.125rem;
  }
}

.p-archive__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.75rem;
  align-items: center;
}

.p-archive__title {
  display: -webkit-box;
  overflow: hidden;
  margin-block-start: 1rem;
  font-size: 1.375rem;
  font-weight: var(--fw-medium);
  line-height: 1.6;
  letter-spacing: 0.04em;
  transition: color var(--duration) var(--ease);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .p-archive__title {
    margin-block-start: 0.5rem;
    font-size: 0.9375rem;
    line-height: 1.4;
    letter-spacing: 0;
  }
}

.p-archive__pagination {
  display: flex;
  justify-content: center;
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-archive__pagination {
    margin-block-start: 1.9375rem;
  }
}

.p-confirm {
  padding-block: 7.5rem 11.4375rem;
}
@media screen and (max-width: 767px) {
  .p-confirm {
    padding-block: 2.5rem 5rem;
  }
}

.p-confirm__inner {
  max-width: calc(67.5rem + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (max-width: 767px) {
  .p-confirm__inner {
    padding-inline: var(--padding-inner-sp);
  }
}

.p-confirm__content {
  padding-block: 3rem;
  padding-inline: 2.5rem;
  border-radius: 30px;
  background: var(--color-bg-blue);
}
@media screen and (max-width: 767px) {
  .p-confirm__content {
    padding-block: 2rem;
    padding-inline: 1.5rem;
    border-radius: 20px;
  }
}

.p-confirm__title {
  color: var(--color-primary);
  font-size: 2rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-confirm__title {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.p-confirm__lead {
  margin-block-start: 1.5rem;
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 0.9375rem;
  font-weight: var(--fw-medium);
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-confirm__lead {
    margin-block-start: 1rem;
  }
}

.p-contact {
  padding-block: 7.5rem 11.875rem;
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding-block: 2.5rem 5rem;
  }
}

.p-contact__inner {
  max-width: calc(67.5rem + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (max-width: 767px) {
  .p-contact__inner {
    padding-inline: var(--padding-inner-sp);
  }
}

.p-contact__info {
  margin-block-start: 3.75rem;
}

.p-contact__title {
  color: var(--color-primary);
  font-size: 2rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contact__title {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.p-contact__lead {
  margin-block-start: 1.5rem;
  font-family: var(--paragraph-font-family);
  font-size: 0.9375rem;
  font-weight: var(--fw-medium);
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contact__lead {
    margin-block-start: 1rem;
  }
}

.p-contact__formWrap {
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-contact__formWrap {
    margin-block-start: 1.5rem;
  }
}

.p-contact-form {
  display: flex;
  flex-direction: column;
  row-gap: 3.75rem;
  align-items: center;
  padding: 3rem 2.5rem;
  border-radius: 1.875rem;
  background-color: var(--color-bg-blue);
}
@media screen and (max-width: 767px) {
  .p-contact-form {
    row-gap: 3rem;
    padding: 2rem 1.25rem;
    border-radius: 1.25rem;
  }
}

.p-contact-form__fields {
  display: flex;
  flex-direction: column;
  row-gap: 1.875rem;
  align-self: stretch;
}
@media screen and (max-width: 767px) {
  .p-contact-form__fields {
    row-gap: 1.5rem;
  }
}

.p-contact-form__dob {
  display: flex;
  column-gap: 1.625rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-contact-form__dob {
    column-gap: 0.5rem;
  }
}

.p-contact-form__dob-col {
  position: relative;
  display: flex;
  column-gap: 0.375rem;
  align-items: center;
}
.p-contact-form__dob-col .wpcf7-not-valid-tip {
  position: absolute;
  bottom: -1.25rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-contact-form__dob-col {
    column-gap: 0.125rem;
  }
  .p-contact-form__dob-col .wpcf7-not-valid-tip {
    bottom: -2.5rem;
  }
}

.p-contact-form__dob-unit {
  flex-shrink: 0;
  color: #999;
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
}
@media screen and (max-width: 767px) {
  .p-contact-form__dob-unit {
    font-size: 1rem;
  }
}

.p-contact-form__dob-col .wpcf7-form-control-wrap {
  position: relative;
  display: block;
}
.p-contact-form__dob-col .wpcf7-form-control-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 4.25rem;
  height: 100%;
  border-radius: 0 0.5rem 0.5rem 0;
  background: var(--color-border-gray) url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='10'%20viewBox='0%200%2016%2010'%20fill='none'%3e%3cpath%20d='M1%201L8%208L15%201'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e") center/1rem auto no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-contact-form__dob-col .wpcf7-form-control-wrap::after {
    width: 1.5rem;
    border-radius: 0 0.375rem 0.375rem 0;
  }
}

.p-contact-form .wpcf7-select {
  width: 16.25rem;
  padding: 1rem;
  padding-inline-end: 3.5rem;
  border: 1px solid var(--color-border-gray);
  border-radius: 0.5rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  line-height: 2;
  outline: none;
  cursor: pointer;
  appearance: none;
  transition: border-color var(--duration) var(--ease);
}
.p-contact-form .wpcf7-select:focus {
  border-color: var(--color-primary);
}
.p-contact-form .wpcf7-select.wpcf7-not-valid {
  border-color: var(--color-accent-red);
}
@media screen and (max-width: 767px) {
  .p-contact-form .wpcf7-select {
    width: 5rem;
    padding: 0.75rem 1rem;
    padding-inline-end: 2rem;
    border-radius: 0.375rem;
    font-size: 1rem;
  }
}

.p-contact-form__dob-col .wpcf7-form-control-wrap:has(.wpcf7-not-valid)::after {
  background-color: var(--color-accent-red);
}

.p-contact-form__dob-col:has(.wpcf7-not-valid) .p-contact-form__dob-unit {
  color: var(--color-accent-red);
}

.p-contact-form .wpcf7-validation-errors,
.p-contact-form .wpcf7-acceptance-missing {
  border: none;
  color: var(--color-accent-red);
  font-family: var(--paragraph-font-family);
  font-size: 0.875rem;
  font-weight: var(--fw-medium);
}

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

.p-contact__btns {
  margin-block-end: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-contact__btns {
    max-width: 18.125rem;
    margin-block-end: 1.5rem;
    margin-inline: auto;
  }
}

.p-contact__tablist {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 2rem;
}
@media screen and (max-width: 767px) {
  .p-contact__tablist {
    grid-template-columns: 1fr;
    row-gap: 0.5rem;
  }
}

.p-contact__btn {
  display: flex;
  column-gap: 1.25rem;
  justify-content: center;
  align-items: center;
  min-height: 4.8125rem;
  padding-inline: 1rem;
  border: 1.5px solid var(--color-primary);
  border-radius: 10px;
  background-color: var(--color-bg-blue);
  color: var(--color-primary);
  font-family: var(--base-font-family);
  font-size: 1rem;
  font-weight: var(--fw-bold);
  line-height: 1.3;
  letter-spacing: 0.07em;
  cursor: pointer;
  transition: background-color var(--duration) var(--ease), color var(--duration) var(--ease);
}
.p-contact__btn.is-active {
  background-color: var(--color-primary);
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-contact__btn {
    min-height: 3rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .p-contact__btn:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  .p-contact__btn:hover .p-contact__btn-icon {
    background-color: var(--color-white);
  }
}

.p-contact__btn-icon {
  display: block;
  flex-shrink: 0;
  mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='13'%20height='11'%20viewBox='0%200%2013%2011'%20fill='none'%3e%3cpath%20d='M0.999606%20-4.96124e-07L11.3496%20-4.37115e-08C11.6329%20-3.13266e-08%2011.8706%200.1%2012.0626%200.3C12.2546%200.5%2012.3503%200.733333%2012.3496%201C12.3496%201.08333%2012.3373%201.171%2012.3126%201.263C12.2879%201.355%2012.2503%201.44233%2012.1996%201.525L7.02461%209.675C6.92461%209.825%206.79961%209.93767%206.64961%2010.013C6.49961%2010.0883%206.34127%2010.1257%206.17461%2010.125C6.00794%2010.1243%205.84961%2010.087%205.69961%2010.013C5.5496%209.939%205.4246%209.82633%205.32461%209.675L0.149606%201.525C0.0996055%201.44167%200.0619382%201.35433%200.0366048%201.263C0.0112714%201.17167%20-0.00106053%201.084%20-0.000393911%200.999999C-0.0003939%200.733333%200.0956058%200.5%200.287606%200.3C0.479607%200.0999997%200.71694%20-5.0848e-07%200.999606%20-4.96124e-07Z'%20fill='white'%20/%3e%3c/svg%3e") center/contain no-repeat;
  width: 0.75rem;
  height: 0.875rem;
  background-color: var(--color-primary);
  translate: -0.25rem 0rem;
  transition: background-color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .p-contact__btn-icon {
    width: 0.474625rem;
    height: 0.5789375rem;
  }
}

.p-contact__btn.is-active .p-contact__btn-icon {
  background-color: var(--color-white);
}

.p-contact__form {
  display: none;
}
.p-contact__form.is-active {
  display: block;
  animation: contact-form-fade-in-from-bottom 0.4s var(--ease) both;
}

@keyframes contact-form-fade-in-from-bottom {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.wpcf7-not-valid-tip {
  color: var(--color-accent-red);
}

/* stylelint-disable-next-line selector-class-pattern */
.wpcf7-form:not(.hide-error-message) .p-contact-form__dob:has(.wpcf7-not-valid-tip) {
  margin-block-end: 1.25rem;
}
@media screen and (max-width: 767px) {
  .wpcf7-form:not(.hide-error-message) .p-contact-form__dob:has(.wpcf7-not-valid-tip) {
    margin-block-end: 2rem;
  }
}

/* stylelint-disable selector-class-pattern */
.wpcf7-form.hide-error-message .p-contact-form .wpcf7-not-valid {
  border-color: var(--color-border-gray);
}

.wpcf7-form.hide-error-message .p-contact-form .wpcf7-radio.wpcf7-not-valid input[type=radio] {
  border-color: var(--color-border-gray);
}

.wpcf7-form.hide-error-message .p-contact-form__dob-col:has(.wpcf7-not-valid) .p-contact-form__dob-unit {
  color: var(--color-text);
}

.wpcf7-form.hide-error-message .p-contact-form__dob-col .wpcf7-form-control-wrap:has(.wpcf7-not-valid)::after {
  background-color: var(--color-border-gray);
}

.wpcf7-form.hide-error-message .wpcf7-not-valid-tip {
  display: none;
}

/* stylelint-enable selector-class-pattern */
.p-drawer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index-drawer);
  display: none;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  height: 100dvh;
  background: var(--color-white);
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.p-drawer::-webkit-scrollbar {
  display: none;
}

.p-drawer__inner {
  margin-block-start: var(--header-height);
  padding-block: 5.375rem 9.4375rem;
  padding-inline: 1.25rem;
}

.p-drawer__list {
  display: flex;
  flex-direction: column;
  row-gap: 1.875rem;
  align-items: center;
}

.p-drawer__item a {
  padding-block: 0.5rem;
  padding-inline: 1rem;
  color: var(--color-text-heading);
  font-size: 1rem;
  font-weight: var(--fw-semi-bold);
  line-height: 1.3rem;
  letter-spacing: 0.07rem;
}

.p-drawer__info {
  margin-block-start: 6.5rem;
}

.p-drawer__tel {
  display: flex;
  column-gap: 0.75rem;
  justify-content: center;
  align-items: center;
}

.p-drawer__tel-label {
  color: var(--color-text-heading);
  font-family: var(--en-font-family);
  font-size: 1.25rem;
  font-weight: var(--fw-regular);
  line-height: 1;
  letter-spacing: 0.02em;
}

.p-drawer__tel-link {
  color: var(--color-text-heading);
  font-family: var(--en-font-family);
  font-size: 2rem;
  font-weight: var(--fw-regular);
  line-height: 1.4;
  letter-spacing: 0.0125em;
}

.p-drawer__info-note {
  color: var(--color-text);
  font-size: 0.875rem;
  text-align: center;
}

.p-drawer__btns {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  align-items: center;
  margin-block-start: 1.5rem;
  text-align: center;
}

.p-footer__body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
}

.p-footer__mask {
  line-height: 0;
}
.p-footer__mask picture {
  display: block;
}
.p-footer__mask img {
  display: block;
  width: 100%;
  height: auto;
}

.p-footer__main {
  margin-block-start: -0.0625rem;
  padding-block: 5rem;
  background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-footer__main {
    padding-block: 2.5rem;
  }
}

.p-footer__inner {
  position: relative;
  max-width: 111.25rem;
  margin-inline: auto;
  padding-inline: 9.375rem;
}
@media screen and (width <= 1600px) {
  .p-footer__inner {
    padding-inline: 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-footer__inner {
    padding-inline: 1.875rem;
  }
}

.p-footer__contents {
  display: flex;
  flex-direction: column;
  row-gap: 4.75rem;
  padding-block-end: 3.75rem;
  border-block-end: 1px solid var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-footer__contents {
    row-gap: 1.75rem;
    align-items: center;
    width: calc(100% - 2.5rem);
    margin-inline: auto;
    padding-block-end: 2.875rem;
  }
}

.p-footer__contents-top {
  display: flex;
  column-gap: 1.875rem;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-footer__contents-top {
    flex-direction: column;
    row-gap: 2rem;
    align-items: center;
  }
}

.p-footer__logo-group {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-footer__logo-group {
    align-items: center;
  }
}

.p-footer__logo-link {
  display: block;
  transition: opacity var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .p-footer__logo-link:hover {
    opacity: 0.8;
  }
}

.p-footer__logo-img {
  display: block;
}
.p-footer__logo-img img {
  width: 15.25rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-footer__logo-img img {
    width: 12.5rem;
    height: auto;
  }
}

.p-footer__info {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
  font-style: normal;
}
@media screen and (max-width: 767px) {
  .p-footer__info {
    row-gap: 1rem;
    align-items: center;
  }
}

.p-footer__company {
  color: var(--color-white);
  font-family: var(--paragraph-font-family);
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: 0.08em;
}

.p-footer__address-text {
  color: var(--color-white);
  font-family: var(--paragraph-font-family);
  font-size: 0.9375rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-footer__address-text {
    font-family: var(--base-font-family);
    font-size: 0.875rem;
    text-align: center;
  }
}

.p-footer__right {
  display: flex;
  column-gap: 3.625rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-footer__right {
    flex-direction: column;
    row-gap: 2rem;
    align-items: center;
  }
}

.p-footer__nav-list {
  display: flex;
  flex-direction: row;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-list {
    flex-wrap: wrap;
    gap: 1rem 1.25rem;
    justify-content: center;
    width: 18.125rem;
  }
}

.p-footer__nav-item a {
  position: relative;
  display: block;
  padding-block-end: 0.5rem;
  padding-inline: 1rem;
  color: var(--color-white);
  font-family: var(--base-font-family);
  font-size: 1rem;
  font-weight: var(--fw-bold);
  line-height: 1.3;
  letter-spacing: 0.07em;
  transition: color var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .p-footer__nav-item a:hover {
    color: var(--color-accent-yellow);
  }
}
@media screen and (max-width: 767px) {
  .p-footer__nav-item a {
    padding-block-end: 0;
    padding-inline: 0;
  }
}

.p-footer__privacy-link {
  color: var(--color-white);
  font-family: var(--base-font-family);
  font-size: 0.75rem;
  transition: color var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .p-footer__privacy-link:hover {
    color: var(--color-accent-yellow);
  }
}

.p-footer__bottom {
  margin-block-start: 2.75rem;
}

@media screen and (max-width: 767px) {
  .p-footer__copyright-wrap {
    text-align: center;
  }
}

.p-footer__copyright {
  color: var(--color-white);
  font-family: var(--en-font-family);
  font-size: 0.75rem;
  font-weight: var(--fw-regular);
  line-height: 1;
  letter-spacing: 0.08em;
}

.p-footer__page-top {
  position: absolute;
  top: 0;
  right: 0.625rem;
  display: grid;
  place-items: center;
  width: 4.0625rem;
  height: 4.0625rem;
  border-radius: 100vmax;
  background-color: var(--color-white);
  transition: background-color var(--duration) var(--ease);
}
.p-footer__page-top::before {
  content: "";
  display: block;
  mask-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='15'%20height='22'%20viewBox='0%200%2015%2022'%20fill='none'%3e%3cpath%20d='M6.36401%2021C6.36401%2021.5523%206.81173%2022%207.36401%2022C7.9163%2022%208.36401%2021.5523%208.36401%2021L7.36401%2021L6.36401%2021ZM8.07112%200.292892C7.6806%20-0.0976315%207.04743%20-0.0976314%206.65691%200.292892L0.292945%206.65685C-0.0975791%207.04738%20-0.0975791%207.68054%200.292945%208.07107C0.68347%208.46159%201.31663%208.46159%201.70716%208.07107L7.36401%202.41421L13.0209%208.07107C13.4114%208.46159%2014.0446%208.46159%2014.4351%208.07107C14.8256%207.68054%2014.8256%207.04738%2014.4351%206.65685L8.07112%200.292892ZM7.36401%2021L8.36401%2021L8.36401%201L7.36401%201L6.36401%201L6.36401%2021L7.36401%2021Z'%20fill='%231E3163'%20/%3e%3c/svg%3e");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  width: 0.9375rem;
  height: 1.375rem;
  background-color: var(--color-primary);
  transition: background-color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .p-footer__page-top {
    top: -4.25rem;
    right: 1.25rem;
    width: 2.5rem;
    height: 2.5rem;
  }
  .p-footer__page-top::before {
    width: 0.75rem;
    height: 0.875rem;
  }
}
@media (any-hover: hover) {
  .p-footer__page-top:hover {
    background: var(--color-accent-yellow);
  }
  .p-footer__page-top:hover::before {
    background-color: var(--color-white);
  }
}

.p-footerCta {
  padding-block: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-footerCta {
    padding-block: 8.125rem 7.5rem;
  }
}

.p-footerCta__inner {
  position: relative;
}

.p-footerCta__deco {
  position: absolute;
  bottom: -10.5rem;
  left: -6.25rem;
  z-index: 2;
  width: 23.125rem;
  height: auto;
  aspect-ratio: 310.146/366.462;
  background: url("../images/footerCta_deco.webp") var(--bg-contain);
}
@media screen and (max-width: 767px) {
  .p-footerCta__deco {
    bottom: -7.3125rem;
    left: 0.125rem;
    width: 11.1875rem;
  }
}

.p-footerCta__content {
  display: flex;
  column-gap: 2.3125rem;
  padding-inline-end: 3.4375rem;
  border-radius: 1.875rem;
  background-color: var(--color-bg-blue);
}
@media screen and (max-width: 767px) {
  .p-footerCta__content {
    flex-direction: column;
    row-gap: 1.5rem;
    align-items: center;
    padding-block-end: 4.625rem;
    padding-inline-end: 0;
    border-radius: 1.25rem;
  }
}

.p-footerCta__head {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: fit-content;
  height: fit-content;
  padding-block: 1.5rem;
  padding-inline: 3.9375rem;
  border-end-end-radius: 30px;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-footerCta__head {
    width: auto;
    margin-block-start: -3rem;
    padding-block: 1.375rem;
    padding-inline: 4rem 5.5rem;
    border-end-end-radius: 20px;
    border-end-start-radius: 20px;
  }
}

.p-footerCta__body {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
  justify-content: center;
  align-items: center;
  padding-block: 4rem;
}
@media screen and (max-width: 767px) {
  .p-footerCta__body {
    row-gap: 1.5rem;
    padding-block: 0;
  }
}

.p-footerCta__lead {
  color: var(--color-primary);
  font-family: var(--base-font-family);
  font-size: 2rem;
  font-weight: var(--fw-medium);
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-footerCta__lead {
    font-size: 1.125rem;
    line-height: 1.4;
  }
}

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

.p-footerCta__contact {
  display: flex;
  flex-direction: row;
  column-gap: 5rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-footerCta__contact {
    flex-direction: column;
    row-gap: 1.5rem;
  }
}

.p-footerCta__tel-block {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-footerCta__tel-block {
    width: 18.125rem;
  }
}

.p-footerCta__tel {
  display: flex;
  column-gap: 0.75rem;
  align-items: center;
}

.p-footerCta__tel-label {
  color: var(--color-primary);
  font-family: var(--en-font-family);
  font-size: 1.25rem;
  font-weight: var(--fw-regular);
  line-height: 1;
  letter-spacing: 0.02em;
}

.p-footerCta__tel-number {
  color: var(--color-primary);
  font-family: var(--en-font-family);
  font-size: 2.5rem;
  font-weight: var(--fw-regular);
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-footerCta__tel-number {
    font-size: 2rem;
  }
}

.p-footerCta__tel-hours {
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 0.9375rem;
  font-weight: var(--fw-medium);
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-footerCta__tel-hours {
    font-family: var(--base-font-family);
    font-size: 0.875rem;
    line-height: normal;
  }
}

.p-footerCta__buttons {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-footerCta__buttons {
    row-gap: 0.5rem;
  }
}

.p-formOther {
  display: flex;
  flex-direction: column;
  row-gap: 3.75rem;
  align-items: center;
  padding: 3rem 2.5rem;
  border-radius: 1.875rem;
  background-color: var(--color-bg-blue);
}
@media screen and (max-width: 767px) {
  .p-formOther {
    row-gap: 3rem;
    padding: 2rem 1.25rem;
    border-radius: 1.25rem;
  }
}

.p-formOther__fields {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
  align-self: stretch;
}
@media screen and (max-width: 767px) {
  .p-formOther__fields {
    row-gap: 1.5rem;
  }
}

.p-formOther .wpcf7-validation-errors,
.p-formOther .wpcf7-acceptance-missing {
  border: none;
  color: var(--color-accent-red);
  font-family: var(--paragraph-font-family);
  font-size: 0.875rem;
  font-weight: var(--fw-medium);
}

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

.p-header {
  background: transparent;
  transition: background-color var(--duration) var(--ease);
}
@media screen and (width >= 768px) {
  .p-header.is-scroll {
    background: var(--color-white);
  }
  .p-header.is-scroll .p-header__inner {
    height: 6.75rem;
  }
  .p-header.is-scroll .p-header__logo {
    margin-block: 0.5rem 0;
  }
  .p-header.is-scroll .p-header__nav {
    margin-block: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-header {
    background: var(--color-white);
  }
}

.p-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: var(--header-height);
  max-width: calc(105rem + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (max-width: 767px) {
  .p-header__inner {
    padding-inline: 1.25rem 0;
  }
}

.p-header__logo {
  margin-block: 0 auto;
}
.p-header__logo a {
  display: inline-block;
  width: clamp(20.625rem, 18.75vw, 22.5rem);
  height: clamp(4.6875rem, 4.1666666667vw, 5rem);
  transition: opacity var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .p-header__logo a:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .p-header__logo {
    margin-block: 0;
  }
  .p-header__logo a {
    width: 13.5rem;
    height: 3rem;
  }
}

.p-header__nav {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-block: auto 0;
  margin-inline-end: 1.25rem;
  padding: clamp(0.75rem, 0.8333333333vw, 1rem) 1.5rem;
  border-radius: 100vmax;
  background-color: var(--color-white);
}
@media screen and (width <= 1820px) {
  .p-header__nav {
    margin-inline-end: 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header__nav {
    display: none;
  }
}

.p-header__nav-list {
  display: flex;
  align-items: center;
}

.p-header__nav-item {
  padding-inline: 1rem;
}
.p-header__nav-item a {
  color: var(--Navy, #1e3163);
  font-size: 1rem;
  font-weight: var(--fw-semi-bold);
  line-height: 1.3rem;
  letter-spacing: 0.07rem;
  transition: color var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .p-header__nav-item a:hover {
    color: var(--color-accent-yellow);
  }
}

.p-header__hamburger {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-header__hamburger {
    position: relative;
    display: block;
    width: 3.75rem;
    height: auto;
    aspect-ratio: 1;
    border-radius: 0 0 0 10px;
    background: var(--color-primary);
  }
}
.p-header__hamburger.is-open .p-header__hamburger-line:nth-child(1) {
  top: 1.75rem;
  width: 1.8125rem;
  rotate: 35deg;
}
.p-header__hamburger.is-open .p-header__hamburger-line:nth-child(2) {
  opacity: 0;
}
.p-header__hamburger.is-open .p-header__hamburger-line:nth-child(3) {
  top: 1.75rem;
  width: 1.8125rem;
  rotate: -35deg;
}

.p-header__hamburger-line {
  position: absolute;
  left: 50%;
  width: 2rem;
  height: 0.125rem;
  border-radius: 6px;
  background: var(--color-white);
  translate: -50% 0;
  transition: top var(--duration) var(--ease), rotate var(--duration) var(--ease), opacity var(--duration) var(--ease);
}
.p-header__hamburger-line:nth-child(1) {
  top: 1.0625rem;
}
.p-header__hamburger-line:nth-child(2) {
  top: 1.6875rem;
}
.p-header__hamburger-line:nth-child(3) {
  top: 2.375rem;
}

.p-lowerFv {
  margin-block-start: 2.5rem;
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .p-lowerFv {
    margin-block-start: calc(var(--header-height) + 0.625rem);
  }
}

.p-lowerFv__inner {
  max-width: 120rem;
  margin-inline: auto;
  padding-inline: 5rem;
}
@media screen and (max-width: 767px) {
  .p-lowerFv__inner {
    padding-inline: 1.25rem;
  }
}

.p-lowerFv__content {
  position: relative;
}

.p-lowerFv-img {
  display: block;
}
.p-lowerFv-img img {
  height: auto;
  aspect-ratio: 1760/380;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-lowerFv-img img {
    aspect-ratio: 350/159;
  }
}

.p-lowerFv__title {
  position: absolute;
  top: 55%;
  left: 50%;
  color: var(--color-white);
  font-size: 2.625rem;
  font-weight: var(--fw-medium);
  line-height: 1.3;
  letter-spacing: 0.08em;
  translate: -50% 0;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-lowerFv__title {
    top: 50%;
    font-size: 1.625rem;
    line-height: 1.2;
    letter-spacing: 0.04em;
    translate: -50% -50%;
  }
}

.p-lowerFv__breadcrumb {
  margin-block-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-lowerFv__breadcrumb {
    margin-block-start: 0.5rem;
  }
}

.p-privacyPolicy {
  padding-block: 7.5rem 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy {
    padding-block: 3rem 5rem;
  }
}

.p-privacyPolicy__inner {
  max-width: calc(67.5rem + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy__inner {
    padding-inline: var(--padding-inner-sp);
  }
}

.p-privacyPolicy__list {
  display: flex;
  flex-direction: column;
  row-gap: 2.375rem;
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy__list {
    row-gap: 1.875rem;
    margin-block-start: 2rem;
  }
}

.p-privacyPolicy__item {
  display: flex;
  flex-direction: column;
  row-gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy__item {
    row-gap: 1rem;
  }
}

.p-privacyPolicy__heading {
  padding-block: 0.625rem;
  padding-inline: 1rem;
  border-bottom: 4px solid var(--color-accent-yellow);
  background-color: var(--color-bg-cream);
  color: var(--color-text);
  font-family: var(--base-font-family);
  font-size: 2rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy__heading {
    padding-block: 0.8125rem;
    padding-inline: 0.625rem;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.p-privacyPolicy__link {
  color: #3d69dd;
  text-decoration: underline;
  transition: opacity var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .p-privacyPolicy__link:hover {
    opacity: 0.7;
    text-decoration: underline;
  }
}

.p-privacyPolicy__bullets,
.p-privacyPolicy__numbers {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  margin-block-start: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy__bullets,
  .p-privacyPolicy__numbers {
    margin-block-start: 0rem;
  }
}

.p-privacyPolicy__bullets li,
.p-privacyPolicy__numbers li {
  display: flex;
  column-gap: 0.5rem;
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy__bullets li,
  .p-privacyPolicy__numbers li {
    column-gap: 0.125rem;
    font-size: 0.9375rem;
    line-height: 1.4;
  }
}

.p-privacyPolicy__bullets li::before {
  content: "・";
}

.p-privacyPolicy__numbers {
  counter-reset: privacy-number;
}

.p-privacyPolicy__numbers li {
  column-gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy__numbers li {
    column-gap: 0.75rem;
  }
}

.p-privacyPolicy__numbers li::before {
  content: counter(privacy-number);
  flex-shrink: 0;
  counter-increment: privacy-number;
}

.p-privacyPolicy__box {
  margin-block-start: 0.375rem;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  padding: 1.5rem;
  background-color: #f7f7f7;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy__box {
    margin-block-start: 0;
    padding: 1rem;
  }
}

.p-privacyPolicy__box-name {
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 1.25rem;
  font-weight: var(--fw-medium);
  line-height: 1;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy__box-name {
    font-size: 1.125rem;
  }
}

.p-privacyPolicy__box-text {
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy__box-text {
    font-size: 0.9375rem;
    line-height: 1.8;
  }
}

.p-recruit {
  padding-block: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit {
    position: relative;
    z-index: 3;
    padding-block: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit__body {
    padding-block: 2.5rem 3.75rem;
  }
}

.p-recruit__wave {
  display: none;
  line-height: 0;
}
.p-recruit__wave img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-recruit__wave {
    display: block;
  }
}

.p-recruit__inner {
  max-width: calc(67.5rem + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (max-width: 767px) {
  .p-recruit__inner {
    padding-inline: var(--padding-inner-sp);
  }
}

.p-recruit__table {
  margin-block-start: 2.5rem;
  overflow: hidden;
  width: 100%;
  border: 1px solid var(--color-divider);
}
@media screen and (max-width: 767px) {
  .p-recruit__table {
    margin-block-start: 2rem;
  }
}

.p-recruit__row {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid var(--color-divider);
}
.p-recruit__row:last-child {
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .p-recruit__row {
    flex-direction: column;
  }
}

.p-recruit__dt {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  width: 13rem;
  padding-block: 1rem;
  padding-inline: 1.5rem;
  border-right: 1px solid var(--color-divider);
  background-color: #f7f7f7;
  color: var(--color-primary);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-bold);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-recruit__dt {
    width: 100%;
    padding-inline: 1rem;
    border-right: none;
    font-size: 1rem;
    line-height: 1.4;
  }
}

.p-recruit__dd {
  flex: 1;
  padding-block: 1rem;
  padding-inline: 1.5rem;
  background-color: var(--color-white);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  line-height: 2;
}
.p-recruit__dd p + p {
  margin-block-start: 1rem;
}
.p-recruit__dd .p-recruit__list-title {
  margin-block-start: 4.25rem;
}
.p-recruit__dd .p-recruit__dd-access {
  margin-block-start: 4.375rem;
}
@media screen and (max-width: 767px) {
  .p-recruit__dd {
    padding-block: 1.0625rem;
    padding-inline: 1rem;
    font-size: 1rem;
    line-height: 1.6125;
  }
  .p-recruit__dd p + p {
    margin-block-start: 0;
  }
  .p-recruit__dd .p-recruit__list-title {
    margin-block-start: 1.75rem;
  }
  .p-recruit__dd .p-recruit__dd-access {
    margin-block-start: 1.625rem;
  }
}

.p-recruit__list {
  display: flex;
  flex-direction: column;
  padding-inline-start: 0.25rem;
  list-style: none;
}
p + .p-recruit__list {
  margin-block-start: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-recruit__list {
    padding-inline-start: 0.1875rem;
  }
  p + .p-recruit__list {
    margin-block-start: 0;
  }
}

.p-recruit__item {
  display: flex;
  column-gap: 0.375rem;
  align-items: baseline;
}
.p-recruit__item::before {
  content: "・";
  flex-shrink: 0;
  color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-recruit__item {
    column-gap: 0.1875rem;
  }
}

.p-recruit__cta {
  display: inline-flex;
  column-gap: 0.375rem;
  justify-content: center;
  align-items: center;
  width: 36.25rem;
  padding: 2rem 2.25rem;
  border-radius: 12.5rem;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-family: var(--base-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-bold);
  line-height: 1.3;
  letter-spacing: 0.07em;
  text-decoration: none;
  transition: opacity var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .p-recruit__cta:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit__cta {
    width: 18.125rem;
    height: 3.5rem;
    padding-block: 0;
    padding-inline: 2.25rem;
    font-size: 1rem;
  }
}

.p-recruit__cta-icon {
  display: block;
  flex-shrink: 0;
  mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%3e%3cpath%20d='M3.462%2014.25C3.1165%2014.25%202.82825%2014.1345%202.59725%2013.9035C2.36625%2013.6725%202.2505%2013.384%202.25%2013.038V4.962C2.25%204.6165%202.36575%204.32825%202.59725%204.09725C2.82875%203.86625%203.11675%203.7505%203.46125%203.75H14.5387C14.8837%203.75%2015.1718%203.86575%2015.4028%204.09725C15.6338%204.32875%2015.7495%204.617%2015.75%204.962V13.0388C15.75%2013.3838%2015.6343%2013.672%2015.4028%2013.9035C15.1713%2014.135%2014.8833%2014.2505%2014.5387%2014.25H3.462ZM9.1755%208.9415C9.2295%208.9225%209.283%208.89925%209.336%208.87175L14.7577%205.322C14.8287%205.279%2014.875%205.22025%2014.8965%205.14575C14.918%205.07125%2014.914%204.997%2014.8845%204.923C14.8655%204.8265%2014.8025%204.7565%2014.6955%204.713C14.589%204.67%2014.4858%204.67875%2014.3857%204.73925L9%208.25L3.615%204.74C3.515%204.679%203.414%204.666%203.312%204.701C3.21%204.736%203.1445%204.805%203.1155%204.908C3.0865%204.985%203.08275%205.06325%203.10425%205.14275C3.12575%205.22225%203.17175%205.28225%203.24225%205.32275L8.664%208.87175C8.717%208.89925%208.7705%208.9225%208.8245%208.9415C8.879%208.96%208.9375%208.96925%209%208.96925C9.0625%208.96925%209.121%208.96%209.1755%208.9415Z'%20fill='white'%20/%3e%3c/svg%3e") center/contain no-repeat;
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-recruit__cta-icon {
    width: 1.125rem;
    height: 1.125rem;
  }
}

.p-recruit__btnWrap {
  margin-block-start: 3.75rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-recruit__btnWrap {
    margin-block-start: 2.875rem;
  }
}

.p-recruitInterview {
  padding-block: 5rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruitInterview {
    padding-block: 2.5rem 3rem;
  }
}

.p-recruitInterview__inner {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__inner {
    row-gap: 2rem;
  }
}

.p-recruitInterview__box {
  display: grid;
  row-gap: 3.75rem;
  padding-block: 4rem;
  padding-inline: 4rem;
  border-radius: 30px;
  background-color: var(--color-bg-blue);
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__box {
    row-gap: 1.5rem;
    padding: 3rem 1.25rem;
  }
}

.p-recruitInterview__header {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
  align-items: center;
  align-self: stretch;
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__header {
    row-gap: 1.5rem;
  }
}

.p-recruitInterview__profile {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  align-items: center;
  align-self: stretch;
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__profile {
    row-gap: 0.625rem;
  }
}

.p-recruitInterview__img {
  overflow: hidden;
  width: 42.375rem;
  border-radius: 2.3125rem;
}
.p-recruitInterview__img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 678/460;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__img {
    width: 100%;
    border-radius: 1.0625rem;
  }
  .p-recruitInterview__img img {
    aspect-ratio: 310/210;
  }
}

.p-recruitInterview__name {
  display: flex;
  column-gap: 0.25rem;
  align-items: baseline;
}

.p-recruitInterview__name-text {
  color: var(--color-text);
  font-family: var(--base-font-family);
  font-size: 1.625rem;
  font-weight: var(--fw-medium);
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__name-text {
    font-size: 1.5rem;
  }
}

.p-recruitInterview__name-suffix {
  color: var(--color-text);
  font-family: var(--base-font-family);
  font-size: 0.875rem;
  font-weight: var(--fw-medium);
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__name-suffix {
    font-size: 0.75rem;
  }
}

.p-recruitInterview__quote {
  text-align: center;
  color: var(--color-primary);
  font-size: 1.625rem;
  font-weight: var(--fw-medium);
  line-height: 1.8;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__quote {
    text-align: left;
    font-size: 1.125rem;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }
}

.p-recruitInterview__faq {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
  align-self: stretch;
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__faq {
    row-gap: 1.5rem;
  }
}

.p-recruitInterview__faqItem {
  display: grid;
  row-gap: 1rem;
  padding-block-end: 2rem;
  border-block-end: 1px solid #999;
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__faqItem {
    row-gap: 0.75rem;
    padding-block-end: 1.5rem;
  }
}

.p-recruitInterview__q {
  display: flex;
  column-gap: 0.5rem;
  align-items: center;
}

.p-recruitInterview__q-icon {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 100vmax;
  background-color: var(--color-primary);
}

.p-recruitInterview__q-icon-text {
  color: var(--color-white);
  font-family: var(--en-font-family);
  font-size: 1.3125rem;
  font-weight: var(--fw-medium);
  line-height: 1;
  letter-spacing: 0.15em;
  translate: 0.0625rem -0.0625rem;
}

.p-recruitInterview__q-text {
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 1.375rem;
  font-weight: var(--fw-medium);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__q-text {
    font-size: 1.125rem;
    line-height: 1.6;
  }
}

.p-recruitIntro {
  padding-block: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruitIntro {
    padding-block: 3rem 3.75rem;
  }
}

.p-recruitIntro__inner {
  max-width: calc(900px + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
  display: grid;
  row-gap: 2rem;
}
@media screen and (max-width: 767px) {
  .p-recruitIntro__inner {
    padding-inline: var(--padding-inner-sp);
    row-gap: 1rem;
  }
}

.p-recruitIntro__title {
  color: var(--color-primary);
  text-align: center;
  font-family: var(--ja-font-family);
  font-size: 2rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-recruitIntro__title {
    font-size: 1.25rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
}

.p-single {
  padding-block: 7.5rem 3.875rem;
}
@media screen and (max-width: 767px) {
  .p-single {
    padding-block: 3.125rem 0.1875rem;
  }
}

.p-single__inner {
  max-width: calc(67.5rem + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (max-width: 767px) {
  .p-single__inner {
    padding-inline: var(--padding-inner-sp);
  }
}

.p-single__meta {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.75rem;
  align-items: center;
}

.p-single__title {
  margin-block-start: 1rem;
  color: var(--color-text);
  font-family: var(--base-font-family);
  font-size: 2rem;
  font-weight: var(--fw-medium);
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-single__title {
    margin-block-start: 0.875rem;
    font-size: 1.5rem;
    line-height: 1.4;
  }
}

.p-single__thumbnail {
  overflow: hidden;
  margin-block-start: 2rem;
  border-radius: 1rem;
}
.p-single__thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1080/653;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-single__thumbnail {
    border-radius: 0.625rem;
  }
}

.p-single__content {
  margin-block-start: 1.5rem;
}

.p-single__content > :first-child {
  margin-block-start: 0;
}

.p-single__content p + p {
  margin-block-start: 1rem;
}

.p-single__content figure.wp-block-flexible-table-block-table + figure.wp-block-flexible-table-block-table,
.p-single__content .wp-block-table + .wp-block-table {
  margin-block-start: 2rem;
}

.p-single__content h2 {
  margin-block-start: 3.3125rem;
  padding-block: 0.75rem;
  padding-inline: 1rem;
  border-bottom: 4px solid var(--color-accent-yellow);
  background-color: var(--color-bg-cream);
  color: var(--color-text);
  font-family: var(--base-font-family);
  font-size: 2rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-single__content h2 {
    margin-block-start: 3.5rem;
    padding-inline: 0.625rem;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.p-single__content h3 {
  margin-block-start: 2.5rem;
  padding-block-end: 0.75rem;
  padding-inline: 1rem;
  border-bottom: 4px solid var(--color-accent-yellow);
  color: var(--color-text);
  font-family: var(--base-font-family);
  font-size: 1.625rem;
  font-weight: var(--fw-medium);
  line-height: 1.3;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-single__content h3 {
    padding-block-end: 0.375rem;
    padding-inline: 0.625rem;
    font-size: 1.125rem;
    line-height: 1.4;
  }
}

.p-single__content h4 {
  margin-block-start: 2rem;
  padding: 0.625rem 1rem;
  background-color: var(--color-bg-cream);
  color: var(--color-text);
  font-family: var(--base-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-single__content h4 {
    padding: 0.625rem;
  }
}

.p-single__content p {
  margin-block-start: 0.75rem;
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-single__content p {
    margin-block-start: 1rem;
    font-size: 0.9375rem;
    line-height: 1.8;
  }
}

.p-single__content strong {
  font-weight: var(--fw-bold);
}

.p-single__content a {
  color: #3d69dd;
  text-decoration: underline;
}

.p-single__content blockquote {
  position: relative;
  max-width: 47.375rem;
  margin-block-start: 2rem;
  padding-block: 1.5625rem 0.125rem;
  padding-inline: 3rem 3.875rem;
}
.p-single__content blockquote p {
  margin-block-start: 0;
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  line-height: 2;
}
.p-single__content blockquote::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2.5rem;
  height: 3.75rem;
  background: url("data:image/webp;base64,UklGRhABAABXRUJQVlA4WAoAAAAQAAAAPwAAdwAAQUxQSJ4AAAABcFBte5UsAhEWYRH+CGsgDaCBNNAG2IAIi0CERSDC6+2fxx/v14iYAG5AN/NvaaEpk2iugUVBtWIKxnpg8ko1AtmbWnLYKyOHraUIkMUdrwGSd5YSkCunZmBwpQY8gHeqANnbikByegf0zlYHrAsGoDW2AdqCBMgM6oJxBsMJGfDGEtDJoRZFRIKto1k7ml4ngqjhQPRg5+zPn/9/AVZQOCBMAAAA8AUAnQEqQAB4AD5tMJRGpCMiISwIAIANiWkAAEVzKV/Js8okUe10qJO0SX5ar+THmDomIrh2osAA/oqf/+EUBc/swgAZ3ulYAAAAAA==") left top/contain no-repeat;
}
.p-single__content blockquote::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1.25rem;
  width: 2.125rem;
  height: 3.625rem;
  background: url("data:image/webp;base64,UklGRi4BAABXRUJQVlA4WAoAAAAQAAAARQAAXwAAQUxQSKEAAAABcBDbdpx8CZEQCZVQCUiIhO+gcQAOigNwUAmR8CVUwu1CwkzY14mICZB38BCzutKYDbUNZG1lZIebAi+4kz53cnMlwsW0QDqjv5ihQIHdRShwLOgBvYgDoAUGtJfgAZpcAHAX4A0wyTYG9FKd60aAcMp1I4CvT1lHOb1lrVKf7IEoWZdgVLkEl6yVQm+pkYsQ76TYS81ll/wfHBd/Xb7lAgBWUDggZgAAALAGAJ0BKkYAYAA+YSSORaQiIRu0AEAGBLSBcAH0AfwAAOkT5yP3sZT4m5gGd/9OlRafisTgwoqpsHD0alIAAP7xDSeS2l+ZQd9N1+uAR/9B0RrjUzT/8BAJS4D/Xwzt6k1/3G4AAA==") left top/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-single__content blockquote {
    padding-block: 1.4375rem 1.125rem;
    padding-inline: 1.4375rem 1.25rem;
  }
  .p-single__content blockquote p {
    font-size: 0.9375rem;
    line-height: 1.4;
  }
  .p-single__content blockquote::before {
    top: 0;
    left: 0;
    width: 1.0625rem;
    height: 3.5rem;
    background: url("data:image/webp;base64,UklGRgYBAABXRUJQVlA4WAoAAAAQAAAAIAAAdwAAQUxQSJQAAAABcFXbdtQ8CZUQCZHwJFRCHBAHxAE4oA6oAyQgIRKQcD4ydZ67VkRMAGcWkYuQc3/Xma5OXVu34WsG0JYeQEsTsJm6nnQuDKShygBElbwDWFWqJiAaKUZg3UkdwF6KFsBInQJRyh5YpMEBx4oRCC0BCBUz4FrGhgXQlgPgzxc0LXlNG/KlbHxBWC0nVou24vRP0/9mVlA4IEwAAABQBQCdASohAHgAPm0ukkYkIqGhLqgAgA2JaQAAVI+XZyZXOl6k6LZUYZYyEOxTxbFarcAA/oqf/+EWp+KIo9NABq/5eE9/dqAAAAAA") left top/contain no-repeat;
  }
  .p-single__content blockquote::after {
    right: 0;
    bottom: -0.75rem;
    width: 1.125rem;
    height: 3.25rem;
    background: url("data:image/webp;base64,UklGRhYBAABXRUJQVlA4WAoAAAAQAAAAIwAAXwAAQUxQSJMAAAABcFXbVuNcCUhAAhKQEAk4iISMg8TBxMFIQAoSkHBSaOn1IyImQG/zqb6SZKa6a6M+S7LUw5XBi1cMlfJ+0HQ1U8MyaNcRAT8gAquGDLgBGXA1C6C+NZBUn4HY5wHm2gYg9JgtQLIlGwGSehbOvYomASTbZRNkr6rLkKy65HK0agwsRgPk1O7UW7r0/z3PZa/pKxgAVlA4IFwAAADwBACdASokAGAAPlkgjEWjoiEdVAA4BYS0gABhkzo8iI7r5E7dx1RajXqPayQ5DuAA/vFZn//36unv8bd///fsufIef8fz//rdn/62A//60MLAHD+LBK/ykAAAAA==") left top/contain no-repeat;
  }
}

.p-single__content ul,
.p-single__content ol {
  display: grid;
  row-gap: 0.5rem;
  margin-block-start: 2rem;
}
.p-single__content ul.has-background,
.p-single__content ol.has-background {
  padding-block: 1.375rem !important;
  padding-inline: 1.5rem !important;
}
@media screen and (max-width: 767px) {
  .p-single__content ul.has-background,
  .p-single__content ol.has-background {
    padding-block: 1rem !important;
    padding-inline: 1rem !important;
  }
}

.p-single__content li {
  display: flex;
  column-gap: 0.5rem;
  color: var(--color-text);
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  font-weight: var(--fw-medium);
  line-height: 2;
}
.p-single__content li::before {
  content: "・";
  display: block;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: var(--fw-regular);
  line-height: 1.5;
  translate: 0 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-single__content li {
    column-gap: 0.125rem;
    font-size: 0.9375rem;
    line-height: 1.4;
  }
  .p-single__content li::before {
    font-size: 0.9375rem;
    line-height: 1.4;
    translate: 0 0;
  }
}

.p-single__content ol li {
  column-gap: 1rem;
}
.p-single__content ol li:nth-child(1)::before {
  content: "1";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(2)::before {
  content: "2";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(3)::before {
  content: "3";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(4)::before {
  content: "4";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(5)::before {
  content: "5";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(6)::before {
  content: "6";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(7)::before {
  content: "7";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(8)::before {
  content: "8";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(9)::before {
  content: "9";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(10)::before {
  content: "10";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(11)::before {
  content: "11";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(12)::before {
  content: "12";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(13)::before {
  content: "13";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(14)::before {
  content: "14";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(15)::before {
  content: "15";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(16)::before {
  content: "16";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(17)::before {
  content: "17";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(18)::before {
  content: "18";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(19)::before {
  content: "19";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
.p-single__content ol li:nth-child(20)::before {
  content: "20";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  translate: 0 0;
}
@media screen and (max-width: 767px) {
  .p-single__content ol li {
    column-gap: 0.625rem;
  }
}

.p-single__content figure.wp-block-flexible-table-block-table,
.p-single__content .wp-block-table {
  overflow-x: auto;
  margin-block-start: 5rem;
}

.p-single__content table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-single__content table {
    min-width: 30rem;
  }
}

.p-single__content th,
.p-single__content td {
  padding-block: 1rem !important;
  padding-inline: 1.5rem !important;
  border: 1px solid var(--color-table-border) !important;
  color: var(--color-text) !important;
  font-family: var(--paragraph-font-family) !important;
  font-size: 1.125rem !important;
  font-weight: var(--fw-medium) !important;
  line-height: 2 !important;
  vertical-align: top;
  text-align: left;
  white-space: normal;
}
@media screen and (max-width: 767px) {
  .p-single__content th,
  .p-single__content td {
    padding-block: 0.6875rem !important;
    padding-inline: 1rem !important;
    font-size: 0.9375rem !important;
    line-height: 2 !important;
  }
}

.p-single__content td strong {
  font-weight: var(--fw-medium) !important;
}
@media screen and (max-width: 767px) {
  .p-single__content td {
    padding: 1rem !important;
    line-height: 1.4 !important;
  }
}

.p-single__content th {
  background-color: #f7f7f7 !important;
  font-weight: var(--fw-bold) !important;
  white-space: nowrap;
}

.p-single__links {
  display: flex;
  align-items: center;
  margin-block-start: 4.25rem;
}
@media screen and (max-width: 767px) {
  .p-single__links {
    margin-block-start: 4.25rem;
  }
}

.p-single__link {
  display: flex;
  align-items: center;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-single__link {
    column-gap: 0.5rem;
  }
  .p-single__link .c-pagination__arrow--prev {
    margin-inline-end: 0;
  }
  .p-single__link .c-pagination__arrow--next {
    margin-inline-start: 0;
  }
}
@media (any-hover: hover) {
  .p-single__link:hover .p-single__link-text {
    color: var(--color-accent-yellow);
  }
  .p-single__link:hover .c-pagination__arrow {
    background-color: var(--color-bg-blue);
  }
}

.p-single__link--next {
  margin-inline-start: auto;
}

.p-single__link-text {
  color: var(--color-primary);
  font-size: 1rem;
  font-weight: var(--fw-bold);
  line-height: 1.3rem;
  letter-spacing: 0.07rem;
  transition: color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .p-single__link-text {
    font-size: 0.875rem;
  }
}

.p-topAbout {
  position: relative;
  overflow-x: clip;
}

.p-topAbout__mask-top,
.p-topAbout__mask-bottom {
  line-height: 0;
}
.p-topAbout__mask-top picture,
.p-topAbout__mask-bottom picture {
  display: block;
}
.p-topAbout__mask-top img,
.p-topAbout__mask-bottom img {
  display: block;
  width: 100%;
  height: auto;
}

.p-topAbout__mask-bottom {
  margin-block-start: -2.5rem;
}
.p-topAbout__mask-bottom img {
  rotate: 180deg;
}
@media screen and (max-width: 767px) {
  .p-topAbout__mask-bottom {
    margin-block-start: -0.0625rem;
  }
}

.p-topAbout__body {
  position: relative;
  z-index: 2;
  margin-block: -4.0625rem -0.0625rem;
  background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-topAbout__body {
    margin-block-start: -0.0625rem;
    padding-block: 1.875rem;
    padding-inline: 0.625rem;
  }
}

.p-topAbout__inner {
  position: relative;
}

.p-topAbout__content {
  display: grid;
  grid-template-columns: 40.5625rem minmax(0, 1fr);
  column-gap: 3.75rem;
  align-items: center;
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-topAbout__content {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 1.5rem;
    margin-block-start: 2.125rem;
  }
}

.p-topAbout__table {
  padding-block: 1rem 2rem;
  padding-inline: 3rem;
  border-radius: 1rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-topAbout__table {
    padding-block: 1.5rem 1.25rem;
    padding-inline: 1.875rem;
    border-radius: 1.25rem;
  }
}

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

.p-topAbout__row {
  display: grid;
  grid-template-columns: 11.25rem minmax(0, 1fr);
  column-gap: 1rem;
  align-items: center;
  padding-block-start: 1.5rem;
}
.p-topAbout__row::after {
  content: "";
  grid-column: 1/-1;
  height: 2px;
  margin-block-start: 1.375rem;
  background: linear-gradient(to right, var(--color-primary) 12.25rem, var(--color-divider) 12.25rem);
}
@media screen and (max-width: 767px) {
  .p-topAbout__row {
    grid-template-columns: 1fr;
    row-gap: 0.5625rem;
    padding-block-start: 0.8125rem;
  }
  .p-topAbout__row::after {
    margin-block-start: 0.5rem;
  }
}

.p-topAbout__dt {
  color: var(--color-primary);
  font-size: 1.125rem;
  font-weight: var(--fw-bold);
  line-height: 1.8;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 767px) {
  .p-topAbout__dt {
    font-size: 1rem;
  }
}

.p-topAbout__dd {
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-topAbout__dd {
    font-size: 0.9375rem;
  }
}

.p-topAbout__map {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  align-items: center;
  margin-block-start: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-topAbout__map {
    margin-block-start: 0;
  }
}

.p-topAbout__map-embed {
  overflow: hidden;
  width: 100%;
  border-radius: 1.875rem;
}
.p-topAbout__map-embed iframe {
  display: block;
  width: 100%;
  height: 25rem;
  border: none;
}
@media screen and (max-width: 767px) {
  .p-topAbout__map-embed {
    border-radius: 1.25rem;
  }
  .p-topAbout__map-embed iframe {
    height: 17.5rem;
  }
}

.p-topAbout__map-link {
  display: flex;
  column-gap: 0.25rem;
  align-items: center;
  color: var(--color-white);
  font-size: 0.875rem;
  text-decoration: none;
  transition: color var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .p-topAbout__map-link:hover {
    color: var(--color-accent-yellow);
  }
  .p-topAbout__map-link:hover .p-topAbout__map-pin {
    background-color: var(--color-accent-yellow);
  }
}

.p-topAbout__map-pin {
  display: block;
  flex-shrink: 0;
  mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%3e%3cg%20clip-path='url(%23clip0_4120_2737)'%3e%3cpath%20d='M6.40002%206.9291C6.40002%206.50476%206.5686%206.09779%206.86865%205.79773C7.16871%205.49767%207.57568%205.3291%208.00002%205.3291C8.42437%205.3291%208.83134%205.49767%209.1314%205.79773C9.43145%206.09779%209.60002%206.50476%209.60002%206.9291C9.60002%207.35345%209.43145%207.76041%209.1314%208.06047C8.83134%208.36053%208.42437%208.5291%208.00002%208.5291C7.57568%208.5291%207.16871%208.36053%206.86865%208.06047C6.5686%207.76041%206.40002%207.35345%206.40002%206.9291Z'%20fill='white'%20/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.06665%206.92907C1.06778%205.09097%201.79875%203.32855%203.09888%202.02922C4.39901%200.729888%206.16189%20-3.48042e-07%207.99998%200C11.8283%200%2014.9333%203.10293%2014.9333%206.92907C14.9333%209.78133%2013.5061%2012.0416%2011.9765%2013.5691C11.2994%2014.2471%2010.5417%2014.8396%209.72052%2015.3333C9.37705%2015.536%209.05598%2015.696%208.77652%2015.8048C8.51305%2015.9093%208.23678%2015.9904%207.99998%2015.9904C7.76318%2015.9904%207.48692%2015.9093%207.22345%2015.8048C6.89726%2015.6719%206.58168%2015.5142%206.27945%2015.3333C5.45823%2014.8396%204.70059%2014.2471%204.02345%2013.5691C2.49385%2012.0416%201.06665%209.78133%201.06665%206.92907ZM7.99998%204.26347C7.29274%204.26347%206.61446%204.54442%206.11437%205.04452C5.61427%205.54461%205.33332%206.22289%205.33332%206.93013C5.33332%207.63738%205.61427%208.31565%206.11437%208.81575C6.61446%209.31585%207.29274%209.5968%207.99998%209.5968C8.70723%209.5968%209.38551%209.31585%209.8856%208.81575C10.3857%208.31565%2010.6667%207.63738%2010.6667%206.93013C10.6667%206.22289%2010.3857%205.54461%209.8856%205.04452C9.38551%204.54442%208.70723%204.26347%207.99998%204.26347Z'%20fill='white'%20/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_4120_2737'%3e%3crect%20width='16'%20height='16'%20fill='white'%20/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e") center/contain no-repeat;
  width: 1rem;
  height: 1rem;
  object-fit: contain;
  background-color: var(--color-white);
  transition: background-color var(--duration) var(--ease);
}

.p-topAbout__btn {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-topAbout__btn {
    margin-block-start: 2rem;
  }
}

.p-topAbout__deco {
  position: absolute;
  z-index: 3;
  background: var(--bg-contain);
}

.p-topAbout__deco--yellow {
  top: -12.5rem;
  right: -5.8125rem;
  width: 12.1693125rem;
  height: 13.1305rem;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='195'%20height='211'%20viewBox='0%200%20195%20211'%20fill='none'%3e%3cpath%20d='M121.674%206.09886C103.953%20-5.36376%2068.6536%20-1.64088%2039.6231%2025.6104C-0.834339%2063.5575%20-10.8694%20109.208%2012.1007%20150.444C35.4385%20192.335%20160.296%20249.126%20189.959%20171.678C212.973%20111.555%20145.329%20122.633%20136.949%2082.6741C128.569%2042.7156%20146.845%2022.3535%20121.692%206.0751L121.674%206.09886Z'%20fill='%23EFA631'%20/%3e%3c/svg%3e");
}
@media screen and (max-width: 767px) {
  .p-topAbout__deco--yellow {
    top: -7.125rem;
    right: -0.625rem;
    width: 6.0625rem;
    height: 6.54125rem;
  }
}

.p-topAbout__deco--red {
  bottom: -13.625rem;
  left: -14.625rem;
  width: 17.0849375rem;
  height: 17.46525rem;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='274'%20height='280'%20viewBox='0%200%20274%20280'%20fill='none'%3e%3cpath%20d='M127.885%20275.101C154.082%20287.017%20200.952%20274.932%20234.658%20232.365C281.638%20173.083%20286.039%20109.499%20246.804%2058.4721C206.943%206.63597%2027.1612%20-44.9854%202.64588%2065.4186C-16.3666%20151.122%2072.6601%20122.644%2091.959%20174.867C111.258%20227.089%2090.6801%20258.212%20127.866%20275.137L127.885%20275.101Z'%20fill='%23FF5F54'%20/%3e%3c/svg%3e");
}
@media screen and (max-width: 767px) {
  .p-topAbout__deco--red {
    bottom: -7.625rem;
    left: 0.875rem;
    width: 6.1875rem;
    height: 6.32375rem;
  }
}

.p-topBlog {
  position: relative;
  overflow-x: clip;
}

.p-topBlog__mask {
  margin-block-start: -4.375rem;
  line-height: 0;
}
.p-topBlog__mask picture {
  display: block;
}
.p-topBlog__mask img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1920/196;
}
@media screen and (max-width: 767px) {
  .p-topBlog__mask {
    margin-block-start: -2.375rem;
  }
  .p-topBlog__mask img {
    aspect-ratio: 390/50;
  }
}

.p-topBlog-body {
  position: relative;
  z-index: 3;
  margin-block: -0.0625rem;
}

.p-topBlog__inner {
  position: relative;
}

.p-topBlog__deco {
  position: absolute;
  z-index: 2;
}

.p-topBlog__deco--yellow {
  top: -21rem;
  left: -24rem;
  width: 35.698rem;
  height: 37.3455625rem;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='572'%20height='598'%20viewBox='0%200%20572%20598'%20fill='none'%3e%3cpath%20d='M325.444%2012.0863C271.734%20-16.2661%20171.338%203.59203%2094.7769%2089.4559C-11.9278%20209.029%20-29.3998%20342.853%2046.7665%20455.428C124.151%20569.789%20496.623%20700.647%20562.541%20470.327C613.672%20291.534%20422.266%20340.925%20388.295%20228.239C354.323%20115.552%20401.726%2052.2807%20325.49%2012.0132L325.444%2012.0863Z'%20fill='%23FFF6E8'%20/%3e%3c/svg%3e") var(--bg-contain);
}
@media screen and (max-width: 767px) {
  .p-topBlog__deco--yellow {
    top: 1.25rem;
    right: -6.125rem;
    left: auto;
    width: 15.011rem;
    height: 15.70375rem;
    rotate: 180deg;
  }
}

.p-topBlog__deco--red {
  right: -32.4375rem;
  bottom: -22.5625rem;
  width: 48.0326875rem;
  height: 31.040625rem;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='769'%20height='497'%20viewBox='0%200%20769%20497'%20fill='none'%3e%3cpath%20d='M565.179%20496.315C641.18%20492.699%20735.044%20428.973%20759.837%20325.077C794.455%20180.352%20724.541%2067.3218%20568.885%2015.861C410.75%20-36.4115%20-72.8057%2040.0839%209.31518%20251.825C73.1056%20416.177%20244.431%20285.666%20355.189%20357.471C465.947%20429.276%20457.285%20501.507%20565.178%20496.394L565.179%20496.315Z'%20fill='%23F6E4E3'%20/%3e%3c/svg%3e") var(--bg-contain);
}
@media screen and (max-width: 767px) {
  .p-topBlog__deco--red {
    right: auto;
    bottom: -2rem;
    left: -4.0625rem;
    width: 17.25rem;
    height: 11.147625rem;
    rotate: 180deg;
  }
}

.p-topBlog__list {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem 1.5rem;
  margin-block-start: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-topBlog__list {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.875rem;
    margin-block-start: 2rem;
    padding-inline: 1.875rem;
  }
}

.p-topBlog__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
@media screen and (max-width: 767px) {
  .p-topBlog__item {
    display: flex;
    grid-row: auto;
    flex-direction: column;
  }
}

.p-topBlog__card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: inherit;
  row-gap: 0;
  padding: 2rem;
  border: 1px solid var(--color-primary);
  border-radius: 1.875rem;
  background-color: var(--color-white);
  transition: background-color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .p-topBlog__card {
    grid-template-rows: initial;
    grid-row: auto;
    padding: 1.5rem;
    border-radius: 1.25rem;
  }
}
@media (any-hover: hover) {
  .p-topBlog__card:hover {
    background-color: var(--color-bg-blue);
  }
  .p-topBlog__card:hover .p-topBlog__img img {
    scale: 1.05;
  }
  .p-topBlog__card:hover .p-topBlog__title {
    color: var(--color-primary);
  }
}

.p-topBlog__img {
  overflow: hidden;
  border-radius: 10px;
}
.p-topBlog__img img {
  height: auto;
  aspect-ratio: 347/210;
  transition: scale var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .p-topBlog__img {
    aspect-ratio: 242/146;
  }
}

.p-topBlog__meta {
  display: flex;
  flex-flow: row wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-topBlog__meta {
    margin-block-start: 1rem;
  }
}

.p-topBlog__title {
  display: -webkit-box;
  overflow: hidden;
  margin-block-start: 1rem;
  font-family: var(--paragraph-font-family);
  font-size: 1.375rem;
  font-weight: var(--fw-medium);
  line-height: 1.6;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  transition: color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .p-topBlog__title {
    margin-block-start: 0.5625rem;
    font-size: 0.9375rem;
    line-height: 1.4;
  }
}

.p-topBlog__btn {
  position: relative;
  z-index: 3;
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-topBlog__btn {
    margin-block-start: 2rem;
  }
}

.p-topFv {
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-topFv {
    margin-block-start: calc(var(--header-height) + 0.625rem);
  }
}

.p-topFv__inner {
  max-width: 120rem;
  margin-inline: auto;
  padding-inline: 5rem;
}
@media screen and (max-width: 767px) {
  .p-topFv__inner {
    padding-inline: 1.25rem;
  }
}

.p-topFv__content {
  position: relative;
}

.p-topFv__swiper {
  width: 100%;
}

.p-topFv__swiper-slide {
  pointer-events: none;
}
.p-topFv__swiper-slide.swiper-slide-active {
  pointer-events: auto;
}

.p-topFv__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 1760/1000;
}
@media screen and (max-width: 767px) {
  .p-topFv__img {
    overflow: hidden;
    border-radius: 20px;
  }
  .p-topFv__img img {
    aspect-ratio: 350/600;
  }
}

.p-topFv__title {
  position: absolute;
  bottom: 10.5rem;
  left: 8rem;
  z-index: 2;
}
@media screen and (width <= 1700px) {
  .p-topFv__title {
    bottom: 7.375rem;
  }
}
@media screen and (width <= 1500px) {
  .p-topFv__title {
    bottom: 7.375rem;
    left: 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-topFv__title {
    bottom: 2.1875rem;
    left: 0.625rem;
    display: flex;
    flex-direction: column;
    row-gap: 0.3125rem;
  }
}

.p-topFv__title-line {
  display: block;
  width: fit-content;
  padding-block: 0.625rem 1rem;
  padding-inline: 0.875rem;
  border-radius: 20px;
  background: var(--color-white);
  color: var(--color-primary);
  font-size: 2.625rem;
  font-weight: var(--fw-medium);
  line-height: 1.3;
  letter-spacing: 0.02em;
}
.p-topFv__title-line:nth-child(2) {
  margin-block-start: -0.875rem;
  margin-inline-start: 3rem;
  padding-block: 1rem 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-topFv__title-line {
    padding-block: 0.5rem 0.375rem;
    padding-inline: 0.5625rem;
    border-radius: 11.186px;
    font-size: 1.375rem;
    letter-spacing: 0.02em;
  }
  .p-topFv__title-line:nth-child(2) {
    margin-block-start: 0;
    margin-inline-start: 0;
    padding-block: 0.5rem 0.375rem;
  }
}

.p-topMessage {
  padding-block: 8.125rem 10rem;
}
@media screen and (max-width: 767px) {
  .p-topMessage {
    padding-block: 8.125rem 4.8125rem;
  }
}

.p-topMessage__inner {
  position: relative;
}

.p-topMessage__illust {
  position: absolute;
  bottom: -1.75rem;
  left: calc(var(--padding-inner) - 4.75rem);
  z-index: 2;
  width: 8.875rem;
  aspect-ratio: 141.64/148.18;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='142'%20height='149'%20viewBox='0%200%20142%20149'%20fill='none'%3e%3cpath%20d='M80.7066%202.99727C67.3872%20-4.03383%2042.4901%200.890781%2023.5037%2022.1841C-2.95796%2051.8371%20-7.29084%2085.0239%2011.5976%20112.941C30.788%20141.302%20123.157%20173.753%20139.504%20116.636C152.184%2072.2975%20104.718%2084.5459%2096.293%2056.6008C87.8685%2028.6557%2099.6239%2012.9651%2080.718%202.97916L80.7066%202.99727Z'%20fill='%231E3163'%20/%3e%3c/svg%3e") var(--bg-contain);
}
@media screen and (max-width: 767px) {
  .p-topMessage__illust {
    bottom: -3.4375rem;
    left: 0.375rem;
    width: 6.5625rem;
    aspect-ratio: 99.976/113.432;
    rotate: -24deg;
  }
}

.p-topMessage__box {
  position: relative;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 3rem;
  padding-block: 4rem;
  padding-inline: 4rem;
  border-radius: 1.875rem;
  background-color: var(--color-bg-blue);
}
@media screen and (max-width: 767px) {
  .p-topMessage__box {
    grid-template-columns: minmax(0, 1fr);
    padding-block: 0 2.625rem;
    padding-inline: 1.875rem;
    border-radius: 1.25rem;
  }
}

.p-topMessage__head {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  padding-block: 1.5rem;
  padding-inline: 3.9375rem;
  border-end-end-radius: 1.875rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-topMessage__head {
    position: relative;
    width: fit-content;
    margin-block-start: -2.875rem;
    margin-inline: auto;
    padding-block: 1.375rem;
    padding-inline: 4rem;
    border-radius: 1.25rem;
  }
}

.p-topMessage__left {
  width: 15.625rem;
  margin-block-start: 6.875rem;
}
@media screen and (max-width: 767px) {
  .p-topMessage__left {
    width: 100%;
    margin-block-start: 1.625rem;
  }
}

.p-topMessage__photo {
  overflow: hidden;
  width: 15.625rem;
  border-radius: 20px;
}
.p-topMessage__photo img {
  height: auto;
  aspect-ratio: 250/248;
}
@media screen and (max-width: 767px) {
  .p-topMessage__photo {
    margin-inline: auto;
    border-radius: 0.625rem;
  }
}

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

.p-topMessage__photo-info {
  display: flex;
  flex-direction: column;
  row-gap: 0.125rem;
  align-items: center;
  margin-block-start: 1rem;
}
@media screen and (max-width: 767px) {
  .p-topMessage__photo-info {
    row-gap: 0;
  }
}

.p-topMessage__photo-role {
  font-size: 0.875rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-topMessage__photo-role {
    font-size: 0.75rem;
  }
}

.p-topMessage__photo-name {
  font-size: 1.625rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-topMessage__photo-name {
    font-size: 1.5rem;
  }
}

.p-topMessage__right {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .p-topMessage__right {
    align-items: center;
    margin-block-start: 1.5rem;
  }
}

.p-topMessage__box-title {
  align-self: start;
}

.p-topMessage__btn {
  margin-block-start: 0.875rem;
}

.p-topPhilosophy {
  overflow-x: clip;
  padding-block-start: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-topPhilosophy {
    padding-block-start: 3rem;
  }
}

.p-topPhilosophy__inner {
  position: relative;
}

.p-topPhilosophy__deco {
  position: absolute;
  top: -4.1875rem;
  right: -20.25rem;
  width: 19.9375rem;
  height: 22.875rem;
  background: url("../images/deco1.webp") var(--bg-contain);
}
@media screen and (width <= 1600px) {
  .p-topPhilosophy__deco {
    right: -14rem;
  }
}
@media screen and (max-width: 767px) {
  .p-topPhilosophy__deco {
    top: 10.25rem;
    left: -1.4375rem;
    z-index: 2;
    width: 6.5rem;
    height: 7.4645625rem;
  }
}

.p-topPhilosophy__titleEn {
  position: absolute;
  top: 3.625rem;
  left: -18.3125rem;
  color: var(--color-primary);
  font-family: var(--en-font-family);
  font-size: 10rem;
  font-weight: var(--fw-regular);
  line-height: 1.2;
  letter-spacing: 0.048125em;
}
@media screen and (width <= 1900px) {
  .p-topPhilosophy__titleEn {
    left: -14.375rem;
  }
}
@media screen and (width <= 1800px) {
  .p-topPhilosophy__titleEn {
    left: -9.375rem;
  }
}
@media screen and (width <= 1700px) {
  .p-topPhilosophy__titleEn {
    left: -8.125rem;
  }
}
@media screen and (width <= 1600px) {
  .p-topPhilosophy__titleEn {
    left: -4.375rem;
    font-size: 8.75rem;
  }
}
@media screen and (width <= 1500px) {
  .p-topPhilosophy__titleEn {
    left: 0rem;
  }
}
@media screen and (max-width: 767px) {
  .p-topPhilosophy__titleEn {
    top: 3.625rem;
    left: 0.625rem;
    font-size: 3.4375rem;
    font-weight: var(--fw-regular);
    line-height: 0.88;
    letter-spacing: 0.05em;
  }
}

.p-topPhilosophy__img {
  position: absolute;
  top: 12.25rem;
  left: -7.5rem;
  overflow: hidden;
  width: 58.6875rem;
  border-radius: 30px;
}
.p-topPhilosophy__img img {
  height: auto;
  aspect-ratio: 939/608;
}
@media screen and (width <= 1800px) {
  .p-topPhilosophy__img {
    left: -6.25rem;
  }
}
@media screen and (width <= 1700px) {
  .p-topPhilosophy__img {
    left: -1.25rem;
  }
}
@media screen and (width <= 1600px) {
  .p-topPhilosophy__img {
    top: 11.375rem;
    left: -1.25rem;
  }
}
@media screen and (width <= 1500px) {
  .p-topPhilosophy__img {
    left: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-topPhilosophy__img {
    width: 20.625rem;
  }
  .p-topPhilosophy__img img {
    aspect-ratio: 330/214;
  }
}

.p-topPhilosophy__content {
  position: relative;
  padding-block-start: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-topPhilosophy__content {
    padding-block-start: 0;
  }
}

.p-topPhilosophy__bg {
  position: absolute;
  top: 0;
  left: 8.75rem;
  z-index: -1;
  clip-path: inset(0 0 0 100%);
  width: 95rem;
  height: 46.875rem;
  border-radius: 50px;
  background: var(--color-bg-cream);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-topPhilosophy__bg {
    top: 6rem;
    left: 0;
    width: 25rem;
    height: 42.125rem;
    border-radius: 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-topPhilosophy__bg {
    clip-path: none;
  }
}

.p-topPhilosophy__title {
  margin-inline-end: 5rem;
}
@media screen and (max-width: 767px) {
  .p-topPhilosophy__title {
    margin-inline-end: 0.625rem;
  }
}

.p-topPhilosophy__lead {
  width: 49.375rem;
  margin-block-start: 3.125rem;
  margin-inline: auto 0;
  padding-block: 2.625rem;
  padding-inline: 4rem;
  border-radius: 30px;
  box-shadow: 0 0 2.5rem 0 rgba(26, 61, 91, 0.1);
  background: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-topPhilosophy__lead {
    width: 20.625rem;
    margin-block-start: 15.3125rem;
    padding: 1.5rem;
    border-radius: 20px;
  }
}

.p-topRecruit {
  overflow-x: clip;
  padding-block: 5.1875rem 4.125rem;
}
@media screen and (max-width: 767px) {
  .p-topRecruit {
    padding-block-end: 0;
  }
}

.p-topRecruit__title {
  margin-inline-start: -3.5625rem;
  color: var(--color-primary);
  font-family: var(--en-font-family);
  font-size: 10.028125rem;
  font-weight: var(--fw-regular);
  line-height: 1.2;
  letter-spacing: 0.0500031162em;
}
@media screen and (width <= 1460px) {
  .p-topRecruit__title {
    margin-inline-start: -1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-topRecruit__title {
    margin-inline-start: 0.625rem;
    font-size: 3.4375rem;
  }
}

.p-topRecruit__content {
  position: relative;
  z-index: 0;
  margin-block-start: -2.25rem;
  padding-block: 5rem 6.25rem;
  isolation: isolate;
}
@media screen and (max-width: 767px) {
  .p-topRecruit__content {
    margin-block-start: -0.8125rem;
    padding-block: 3rem;
    padding-inline: 1.25rem;
  }
}

.p-topRecruit__bg {
  position: absolute;
  top: 0;
  right: -6.875rem;
  z-index: -1;
  clip-path: inset(0 100% 0 0);
  width: 110.625rem;
  height: 100%;
  border-radius: 50px;
  background: var(--color-primary);
  pointer-events: none;
}
@media screen and (width <= 1530px) {
  .p-topRecruit__bg {
    right: -2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-topRecruit__bg {
    inset: 0;
    width: 100%;
    border-radius: 30px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-topRecruit__bg {
    clip-path: none;
  }
}

.p-topRecruit__content-body,
.p-topRecruit__content > .c-sectionTitle {
  position: relative;
  z-index: 1;
}

.p-topRecruit__content-body {
  display: grid;
  grid-template-columns: 56.75rem minmax(0, 1fr);
  gap: 1.5rem 4rem;
  align-items: center;
  margin-block-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-topRecruit__content-body {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-topRecruit-imgs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-topRecruit-imgs {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.375rem;
  }
}

.p-topRecruit-img {
  display: block;
  overflow: hidden;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .p-topRecruit-img {
    border-radius: 10px;
  }
  .p-topRecruit-img img {
    height: auto;
    aspect-ratio: 310/100;
  }
}

.p-topRecruit__content-right {
  margin-block-start: -0.5rem;
}
@media screen and (max-width: 767px) {
  .p-topRecruit__content-right {
    margin-block-start: 0;
  }
}

.p-topRecruit__content-text {
  color: var(--color-white);
  font-size: 2rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-topRecruit__content-text {
    font-size: 1.5rem;
    text-align: center;
  }
}

.p-topRecruit__content-btns {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-topRecruit__content-btns {
    row-gap: 0.5rem;
    margin-block-start: 2rem;
  }
}

.p-topService {
  overflow-x: clip;
  margin-block-start: -3.125rem;
  padding-block: 13.125rem 11.25rem;
  background: var(--color-bg-blue);
}
@media screen and (max-width: 767px) {
  .p-topService {
    margin-block-start: -1.25rem;
    padding-block: 9.375rem 4.6875rem;
  }
}

.p-topService__inner {
  max-width: calc(95rem + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (max-width: 767px) {
  .p-topService__inner {
    padding-inline: var(--padding-inner-sp);
  }
}

.p-topService__content {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 3.75rem;
  align-items: center;
  padding-block: 6.25rem 5rem;
  padding-inline: 1.25rem;
  border-radius: 3.125rem;
  box-shadow: 0 0 2.5rem 0 rgba(26, 61, 91, 0.1);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-topService__content {
    row-gap: 1.375rem;
    padding-block: 2rem;
    padding-inline: 1.875rem;
    border-radius: 1.25rem;
  }
}

.p-topService__title {
  position: absolute;
  top: -5rem;
  left: 6.875rem;
}
@media screen and (max-width: 767px) {
  .p-topService__title {
    top: -3.125rem;
    left: 2.3125rem;
  }
}

.p-topService__logos {
  display: grid;
  grid-template-columns: repeat(3, auto);
  column-gap: 2.0625rem;
  align-items: center;
  transition: opacity var(--duration) var(--ease);
}
@media (any-hover: hover) {
  .p-topService__logos:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .p-topService__logos {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.5625rem;
    align-self: end;
    margin-inline-end: 1.25rem;
  }
}

.p-topService__logo img {
  display: block;
  width: auto;
  height: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-topService__logo img {
    width: 9.75rem;
    height: auto;
  }
}

.p-topService__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 3.75rem;
  width: 80rem;
}
@media screen and (max-width: 767px) {
  .p-topService__list {
    grid-template-columns: 1fr;
    gap: 2rem 0;
    width: 100%;
  }
}

.p-topService__link {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-topService__link {
    row-gap: 0.5rem;
  }
}
@media (any-hover: hover) {
  .p-topService__link:hover .p-topService__img img {
    scale: 1.05;
  }
  .p-topService__link:hover .p-topService__name {
    color: var(--color-primary);
  }
}

.p-topService__img {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 610/343;
  border-radius: 30px;
}
.p-topService__img img {
  transition: scale var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .p-topService__img {
    aspect-ratio: 290/162;
    border-radius: 10px;
  }
}

.p-topService__name {
  font-size: 1.625rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
  transition: color var(--duration) var(--ease);
}
@media screen and (max-width: 767px) {
  .p-topService__name {
    font-size: 1.125rem;
  }
}

.p-topService__infinityScroll {
  overflow: hidden;
  width: 100%;
  padding-block: 6.875rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-topService__infinityScroll {
    padding-block: 3rem;
  }
}

.p-topService__infinityScroll-items {
  display: flex;
  width: max-content;
  white-space: nowrap;
  animation: infinity-scroll 55s linear infinite;
}
@media screen and (max-width: 599px) {
  .p-topService__infinityScroll-items {
    animation: infinity-scroll 35s linear infinite;
  }
}

.p-topService__infinityScroll-item {
  overflow: hidden;
  margin-inline-end: 6.25rem;
}
.p-topService__infinityScroll-item img {
  display: block;
  border-radius: 30px;
}
.p-topService__infinityScroll-item:nth-child(odd) img {
  width: 20.375rem;
  height: 15rem;
}
.p-topService__infinityScroll-item:nth-child(even) {
  margin-block-start: 3.125rem;
}
.p-topService__infinityScroll-item:nth-child(even) img {
  width: 14.5rem;
  height: 14.5rem;
}
@media screen and (max-width: 767px) {
  .p-topService__infinityScroll-item {
    margin-inline-end: 1rem;
  }
  .p-topService__infinityScroll-item img {
    border-radius: 10px;
  }
  .p-topService__infinityScroll-item:nth-child(odd) img {
    width: 11.25rem;
    height: 8.25rem;
  }
  .p-topService__infinityScroll-item:nth-child(even) {
    margin-block-start: 1.5rem;
  }
  .p-topService__infinityScroll-item:nth-child(even) img {
    width: 8.75rem;
    height: 8.75rem;
  }
}

@keyframes infinity-scroll {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}
.p-workplace {
  padding-block-end: 3.625rem;
}
@media screen and (max-width: 767px) {
  .p-workplace {
    padding-block-end: 0.25rem;
  }
}

.p-workplace__mask-top,
.p-workplace__mask-bottom {
  position: relative;
  z-index: 1;
  line-height: 0;
}
.p-workplace__mask-top img,
.p-workplace__mask-bottom img {
  display: block;
  width: 100%;
  height: auto;
}

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

.p-workplace__mask-bottom {
  margin-block-start: -3.125rem;
}
.p-workplace__mask-bottom img {
  rotate: 180deg;
}
@media screen and (max-width: 767px) {
  .p-workplace__mask-bottom {
    margin-block-start: -0.0625rem;
  }
  .p-workplace__mask-bottom img {
    rotate: 0deg;
  }
}

.p-workplace__body {
  position: relative;
  z-index: 2;
  margin-block: -2rem -0.0625rem;
  padding-block-end: 1.75rem;
  background-color: var(--color-bg-blue);
}
@media screen and (max-width: 767px) {
  .p-workplace__body {
    margin-block-start: -2.5rem;
    padding-block-start: 5.75rem;
    padding-block-end: 1.25rem;
  }
}

.p-workplace__head {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-workplace__head {
    row-gap: 2rem;
  }
}

.p-workplace__subtitle {
  color: var(--color-primary);
  font-family: var(--base-font-family);
  font-size: 2rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-workplace__subtitle {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.p-workplace__cards {
  display: grid;
  row-gap: 2rem;
  margin-block-start: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-workplace__cards {
    row-gap: 1.4375rem;
    margin-block-start: 2rem;
  }
}

.p-workplace__card {
  display: grid;
  grid-template-columns: 1fr max-content;
  column-gap: 3rem;
  align-items: center;
  padding-block: 2rem;
  padding-inline: 3rem 2rem;
  border-radius: 30px;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-workplace__card {
    display: flex;
    flex-direction: column;
    row-gap: 1.5rem;
    padding: 1.5rem;
    border-radius: 20px;
  }
}

.p-workplace__card:nth-child(even) {
  grid-template-columns: max-content 1fr;
  padding-inline: 2rem 3rem;
}
@media screen and (max-width: 767px) {
  .p-workplace__card:nth-child(even) {
    padding: 1.5rem;
  }
}

.p-workplace__card:nth-child(even) .p-workplace__card-img {
  order: -1;
}

.p-workplace__card-body {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}
@media screen and (max-width: 767px) {
  .p-workplace__card-body {
    row-gap: 1rem;
  }
}

.p-workplace__card-numWrap {
  display: flex;
  column-gap: 1rem;
  align-items: center;
}

.p-workplace__card-dot {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: var(--color-accent-yellow);
}
@media screen and (max-width: 767px) {
  .p-workplace__card-dot {
    width: 1rem;
    height: 1rem;
  }
}

.p-workplace__card-dot--red {
  background-color: var(--color-accent-red);
}

.p-workplace__card-num {
  color: var(--color-primary);
  font-family: var(--en-font-family);
  font-size: 6.25rem;
  font-weight: var(--fw-regular);
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-workplace__card-num {
    font-size: 4.625rem;
    letter-spacing: 0.05em;
  }
}

.p-workplace__card-text {
  display: flex;
  flex-direction: column;
  row-gap: 0.5625rem;
}
@media screen and (max-width: 767px) {
  .p-workplace__card-text {
    row-gap: 0.625rem;
  }
}

.p-workplace__card-title {
  color: var(--color-primary);
  font-size: 2rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-workplace__card-title {
    font-size: 1.25rem;
    line-height: 1.5;
    text-align: center;
  }
}

.p-workplace__card-divider {
  height: 1px;
  background-color: var(--color-primary);
}

.p-workplace__card-desc {
  font-family: var(--paragraph-font-family);
  font-size: 1.125rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-workplace__card-desc {
    font-size: 0.9375rem;
    line-height: 1.8;
  }
  .p-workplace__card-desc p + p {
    margin-block-start: 0.5rem;
  }
}

.p-workplace__card-img {
  overflow: hidden;
  border-radius: 30px;
}
.p-workplace__card-img img {
  display: block;
  width: 30rem;
  height: auto;
  aspect-ratio: 480/273;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-workplace__card-img {
    order: -1;
    border-radius: 10px;
  }
  .p-workplace__card-img img {
    width: 100%;
    aspect-ratio: 302/168;
  }
}

.p-workplace__btnWrap {
  margin-block-start: 4rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-workplace__btnWrap {
    margin-block-start: 3rem;
  }
}

: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;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  white-space: nowrap;
}