/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 17 2026 | 05:24:18 */
@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import 'https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap';
@import 'https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap';
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Mohave:ital,wght@0,300..700;1,300..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;700&display=swap");
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
:root {
  --base-font-size: 62.5%;
}

html {
  font-size: var(--base-font-size);
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%; /* 2 */
  -Webkit-tap-highlight-color: transparent; /* 3 */
}
html * {
  line-height: 1.5; /* 1 */
  font-feature-settings: "palt" 1;
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

.entry-content > *,
.body .article {
  margin-bottom: 0 !important;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  padding: 0;
  margin: 0;
  list-style: none;
}

:is(.article ul, .article ol) {
  padding-left: 24px;
  margin-bottom: 0;
}
:is(.article ul, .article ol) li {
  margin: 0;
  list-style: initial !important;
  font-size: 14px;
  line-height: 2 !important;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  margin: 0;
  overflow: visible; /* 2 */
  clear: both;
  color: inherit;
  border-top-width: 1px;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  text-transform: inherit; /* 2 */
  vertical-align: middle; /* 1 */
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border-radius: 0;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-Webkit-inner-spin-button,
[type=number]::-Webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-Webkit-search-decoration {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-Webkit-file-upload-button {
  font: inherit; /* 2 */
  -webkit-appearance: button;
     -moz-appearance: button;
          appearance: button; /* 1 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-collapse: collapse;
  border-color: inherit; /* 1 */
}

caption {
  text-align: left;
}

td,
th {
  padding: 0;
  vertical-align: top;
}

th {
  font-weight: bold;
  text-align: left;
}

a[href^=tel] {
  pointer-events: none;
}
@media (width <= 600px) {
  a[href^=tel] {
    pointer-events: auto;
  }
}

.acc-img {
  position: absolute;
  z-index: -1;
}

button:focus-visible, button:focus {
  outline: none;
}

.has-fixed-layout td {
  vertical-align: middle;
}

.has-fixed-layout th,
.has-fixed-layout td {
  padding: 16px 32px !important;
}

:root {
  --color-key: #0090d2;
  --color-key-d: #005b94;
  --color-accent: #8bcdeb;
  --color-accent2: #2b99cb;
  --color-border: #c0c0c0;
  --color-border2: #e7e7e7;
  --color-text: #333;
  --color-text-gray: #c0c0c0;
  --ff-base: "Noto Sans JP", sans-serif;
  --ff-zen-maru: "Zen Maru Gothic", sans-serif;
  --ff-zen-old-min: "Zen Old Mincho", serif;
  --ff-roboto: "Roboto", sans-serif;
  --contents-space: 160px;
}
@media (max-width: 820px) {
  :root {
    --contents-space: 80px;
  }
}
:root {
  --contents-space-lower: 112px;
}
@media (max-width: 820px) {
  :root {
    --contents-space-lower: 80px;
  }
}
:root {
  --contents-space-lower2: 56px;
}
@media (max-width: 820px) {
  :root {
    --contents-space-lower2: 40px;
  }
}

.l-aside {
  display: none;
  padding-left: 24px;
}

.l-contents {
  width: 100%;
  max-width: 1130px !important;
  margin-inline: auto !important;
}
.l-contents--wrapper {
  gap: 90px;
  width: 100%;
  padding-inline: 20px;
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)).l-contents {
  max-width: 1130px !important;
}

.l-main {
  width: calc(100% - 250px);
}
.l-main > div {
  max-width: 1200px !important;
  margin-inline: auto;
}
@media screen and (max-width: 820px) {
  .l-main > div {
    padding-inline: 40px !important;
  }
}
@media screen and (max-width: 600px) {
  .l-main > div {
    padding-inline: 16px !important;
  }
}
@media screen and (max-width: 1024px) {
  .l-main {
    width: 100%;
    margin-left: 0;
  }
}

.c-accordion {
  max-height: 450px;
  overflow-y: auto;
}
.c-accordion__details svg {
  transition: all 300ms ease-in;
}
.c-accordion__details[open] svg {
  transform: scale(-1);
}
.c-accordion__summary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-block: 16px;
  font-family: var(--ff-zen-maru);
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--color-key);
  line-height: 1.6;
}
.c-accordion__content {
  padding-left: 16px;
  margin-bottom: 24px;
}
.c-accordion__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
.c-accordion__link {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.2;
}
.c-accordion__link::before {
  display: block;
  width: 4px;
  height: 8px;
  content: "";
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjgiIGZpbGw9Im5vbmUiPgogIDxwYXRoIHN0cm9rZT0iIzhiY2RlYiIgZD0iTTAtLjVoNS4yNjgiIHRyYW5zZm9ybT0ibWF0cml4KC43NTkyNiAuNjUwOCAtLjc1OTI2IC42NTA4IDAgLjY1KSIvPgogIDxwYXRoIHN0cm9rZT0iIzhiY2RlYiIgZD0iTTAtLjVoNS4yNjgiIHRyYW5zZm9ybT0ibWF0cml4KC43NTkyNiAtLjY1MDggLS43NTkyNiAtLjY1MDggMCA2LjY1KSIvPgo8L3N2Zz4=") no-repeat center center/contain;
}

.c-breadcrumbs__wrapper {
  width: 100%;
  padding: 16px 32px;
  background-color: #fff;
}
.c-breadcrumbs__wrapper .c-breadcrumbs__item {
  color: var(--color-key);
  opacity: 0.5;
}
.c-breadcrumbs__wrapper .c-breadcrumbs__item:nth-last-of-type(1) {
  pointer-events: none;
  opacity: 1;
}
.c-breadcrumbs__list {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 8px;
}
.c-breadcrumbs__item {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
}
@media screen and (max-width: 600px) {
  .c-breadcrumbs__item {
    width: 100%;
  }
}
.c-breadcrumbs__item::after {
  content: ">";
}
.c-breadcrumbs__item:last-child::after {
  display: none;
}
.c-breadcrumbs__item svg path {
  fill: #fff;
}
.c-breadcrumbs__wrapper .c-breadcrumbs__item svg path {
  fill: var(--color-key-thin3);
  opacity: 0.5;
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: initial !important;
}

.c-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  padding: 8px 40px;
  font-family: var(--ff-zen-maru);
  font-size: 2.4rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  background-color: var(--color-accent);
  border-radius: 8px;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 600px) {
  .c-btn {
    height: 48px;
    font-size: 2rem;
  }
}
@media (hover: hover) {
  .c-btn:hover {
    color: #fff;
    opacity: 0.8;
  }
}
.c-btn.is-view-list {
  display: inline-flex;
  width: auto;
  height: initial;
  margin: 0 auto 48px auto;
  padding: 16px 40px;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--color-key);
  background-color: #fff;
  border: 1px solid var(--color-key);
  border-radius: 10px;
  box-shadow: none;
}
@media screen and (max-width: 600px) {
  .c-btn.is-view-list {
    padding: 12px 30px;
  }
}
.c-btn--lower {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 840px !important;
  min-height: 112px;
  padding: 24px;
  margin-inline: auto !important;
  font-size: 1.9rem;
  font-weight: 400;
  color: var(--color-key);
  border: 1px solid var(--color-key);
  border-radius: 16px;
}
.c-btn--lower + .c-btn--lower {
  margin-top: 32px;
}
.c-btn--lower img {
  width: 55px;
  height: 55px;
}

.c-company-info__box {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 96px;
}
.c-company-info-top {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--color-border);
}
.c-company-info-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.c-company-info-bottom > div {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.c-company-name {
  font-size: clamp(18px, 3vw, 22px);
  font-weight: 700;
  line-height: 1.5;
}
.c-company__logo {
  flex-shrink: 0;
  width: 220px;
  height: 220px;
  border-radius: 200px;
}
.c-company__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-contact {
  padding: 80px 136px;
  background-color: var(--color-key-thin2);
}
.c-contact-tel__box {
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin-bottom: 16px;
  font-family: Inter;
  font-size: clamp(32px, 5.333vw, 50px);
  font-weight: 700;
  color: var(--color-key);
}
.c-contact-tel__box span {
  font-size: clamp(20px, 3.333vw, 25px);
}

.c-copyright {
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
  background-color: #fff;
}
.c-copyright small {
  font-size: 12px;
  color: #fff;
}

.c-detail-contents {
  padding-block: 120px;
  background-color: #fff;
  border-radius: 20px;
}
.c-detail-contents__wrapper {
  margin-top: -136px;
}
.c-detail__image {
  width: 100%;
  aspect-ratio: 11/4;
  margin-bottom: 96px;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-detail__ttl {
  font-weight: 500;
  line-height: 1.5;
  color: #000;
}
.c-detail__ttl.is-fs--32 {
  font-size: clamp(26px, 4.333vw, 32px);
}
.c-detail__ttl.is-fs--40 {
  font-size: clamp(32px, 5.333vw, 40px);
  font-weight: 700;
}
.c-detail__read {
  font-weight: 400;
  line-height: 1.66;
}
.c-detail__read.is-fs--18 {
  font-size: clamp(16px, 2.667vw, 18px);
}
.c-detail__read.is-fs--22 {
  font-size: clamp(18px, 3vw, 22px);
}
.c-detail__heading {
  font-size: clamp(18px, 3vw, 24px);
  font-weight: 700;
  line-height: 1.3;
}
.c-detail__heading--sub {
  font-size: clamp(14px, 2.333vw, 16px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-key);
}
.c-detail__heading-box {
  position: relative;
  display: flex;
  align-items: center;
  gap: 32px;
  width: 100%;
  padding-bottom: 24px;
  margin-bottom: 72px;
  border-bottom: 1px solid var(--color-border);
}
.c-detail__heading-box::before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 75px;
  height: 3px;
  content: "";
  background-color: var(--color-key);
}
.c-detail__heading.is-type2 {
  font-size: clamp(20px, 3.333vw, 24px);
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
}
.c-detail__heading.is-type2::after {
  display: block;
  width: 96px;
  height: 4px;
  margin: 21px auto 56px auto;
  content: "";
  background-color: var(--color-key);
}

main:has(.c-detail-contents__wrapper) {
  padding-bottom: 112px;
  overflow: hidden;
  background-color: var(--color-gray-thin);
}

.c-digest__list {
  display: flex;
  flex-wrap: wrap;
  gap: 80px 24px;
}
.c-digest__item {
  display: block;
  padding: 40px;
  border-radius: 10px;
  background-color: #fff;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.15));
}
@media screen and (max-width: 600px) {
  .c-digest__item {
    padding: 24px;
  }
}
.c-digest__item + .c-digest__item {
  margin-top: 48px;
}
.c-digest__item:nth-last-of-type(1) {
  margin-bottom: 196px;
}
.c-digest__item-top {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
@media screen and (max-width: 600px) {
  .c-digest__item-top {
    flex-direction: column;
    gap: 24px;
  }
}
.c-digest__item-top + .c-digest__item-bottom {
  padding-top: 24px;
  margin-top: 24px;
  border-top: 1px solid var(--color-border);
}
.c-digest__item-top img {
  width: 100%;
  max-width: 300px;
  aspect-ratio: 3/2.2;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 600px) {
  .c-digest__item-top img {
    max-width: 100%;
  }
}
.is-vertical .c-digest__item-top {
  flex-direction: column;
  padding-bottom: 0;
  border-bottom: none;
}
.c-digest__item-ttl {
  margin-bottom: 10px;
  font-size: clamp(18px, 3vw, 22px);
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
}
.is-vertical .c-digest__item-ttl {
  margin-bottom: 24px;
}
.c-digest__item-read {
  margin-bottom: 24px;
  font-size: clamp(16px, 2.667vw, 20px);
  line-height: 1.5;
}
.c-digest__item-read + .c-digest__item-ttl {
  margin-bottom: 32px;
}
.c-digest__item-bottom {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
}
@media screen and (max-width: 600px) {
  .c-digest__item-bottom {
    flex-direction: column;
  }
}
.c-digest__item.is-vertical {
  display: flex;
  flex-direction: column;
  width: calc((100% - 48px) / 3);
  padding: 20px;
}
.c-digest__item.is-vertical + .c-digest__item.is-vertical {
  margin-top: 0;
}
.c-digest__item.is-vertical:nth-last-of-type(1) {
  margin-bottom: 0;
}
.c-digest-recruiting {
  margin-top: 24px;
  font-size: clamp(14px, 2.333vw, 16px);
  text-align: right;
}

.is-application .c-digest__item:nth-last-of-type(1) {
  margin-bottom: 0;
}

.c-figure.is-type2 {
  display: flex;
  gap: 24px;
  width: 100%;
  max-width: 840px;
  margin-inline: auto !important;
}
@media screen and (max-width: 600px) {
  .c-figure.is-type2 {
    flex-direction: column;
  }
}
.c-figure.is-type3 {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media screen and (max-width: 600px) {
  .c-figure.is-type3 {
    flex-direction: column;
    gap: 16px;
  }
}
.c-figure.is-type4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 32px;
}
@media screen and (max-width: 600px) {
  .c-figure.is-type4 {
    flex-direction: column;
    gap: 16px;
  }
}
.c-figure.is-movie {
  display: flex;
  gap: 24px;
  width: 100%;
  max-width: 1230px;
  margin-inline: auto !important;
}
@media screen and (max-width: 600px) {
  .c-figure.is-movie {
    flex-direction: column;
  }
}
.is-type1 .c-figure__box {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}
@media screen and (max-width: 600px) {
  .is-type1 .c-figure__box {
    flex-direction: column;
    gap: 16px;
  }
}
.is-type2 .c-figure__box, .is-movie .c-figure__box {
  width: calc((100% - 24px) / 2);
}
@media screen and (max-width: 600px) {
  .is-type2 .c-figure__box, .is-movie .c-figure__box {
    width: 100%;
  }
}
.is-type3 .c-figure__box {
  width: calc((100% - 48px) / 3);
}
@media screen and (max-width: 1024px) {
  .is-type3 .c-figure__box {
    width: calc((100% - 24px) / 2);
  }
}
@media screen and (max-width: 600px) {
  .is-type3 .c-figure__box {
    width: 100%;
  }
}
.is-type4 .c-figure__box {
  width: calc((100% - 64px) / 3);
  border-radius: 10px;
  box-shadow: 5px 5px 8px 0 rgba(51, 51, 51, 0.1);
}
@media screen and (max-width: 1024px) {
  .is-type4 .c-figure__box {
    width: calc((100% - 32px) / 2);
  }
}
@media screen and (max-width: 600px) {
  .is-type4 .c-figure__box {
    width: 100%;
  }
}
.is-type1 .c-figure__image {
  flex-shrink: 0;
  width: 100%;
  max-width: 470px;
  aspect-ratio: 4/3;
}
@media screen and (max-width: 1024px) {
  .is-type1 .c-figure__image {
    max-width: 320px;
  }
}
@media screen and (max-width: 600px) {
  .is-type1 .c-figure__image {
    max-width: initial;
  }
}
.is-type2 .c-figure__image {
  aspect-ratio: 2/1.2;
}
.is-type3 .c-figure__image {
  aspect-ratio: 4/2.2;
}
.is-type4 .c-figure__image {
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}
.is-movie .c-figure__image {
  aspect-ratio: 16/9;
}
.is-movie .c-figure__image iframe {
  width: 100%;
  height: 100%;
}
.c-figure__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-figure__caption:has(.c-figure__heading:empty) {
  display: none;
}
.is-type1 .c-figure__caption .c-section__read > *:not(p) {
  margin-bottom: 24px;
  font-family: var(--ff-zen-maru);
  font-size: 2rem;
  font-weight: 700;
}
.is-type2 .c-figure__caption {
  width: 100%;
  padding: 16px;
  background-color: #fff;
}
.is-type4 .c-figure__caption {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  background-color: #fff;
  border-radius: 0 0 10px 10px;
}
.is-movie .c-figure__caption {
  margin-bottom: 8px;
  font-family: var(--ff-zen-old-min);
  font-size: 1.9rem;
  font-weight: 400;
  line-height: 1.8;
}
.is-type2 .c-figure__heading {
  margin-bottom: 12px;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: left;
  color: #999;
}
.is-type4 .c-figure__heading {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-key);
}
.is-type2 .c-figure__read {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.87;
}
.is-type4 .c-figure__read {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.87;
}
.c-figure-image--4 {
  width: calc((100% - 7.2rem) / 4);
}

.c-form-item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  width: 100%;
  margin-bottom: 32px;
  font-size: clamp(14px, 2.333vw, 16px);
  font-weight: 500;
}
.c-form-item > span {
  font-size: 12px;
}
.c-form-item textarea {
  height: 240px;
}
.c-form__heading {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  background-color: var(--color-gray2);
}
.c-form__body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: 0;
}
.c-form__body > div {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.c-form__body > div span {
  color: var(--color-gray2);
}
.c-form__body > div h4 {
  margin-left: 16px;
}
.c-form__body > div:has(select) {
  position: relative;
}
.c-form__body > div:has(select)::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 42px;
  aspect-ratio: 4/5;
  content: "";
  background-color: #949494;
  background-image: url("../img/icon-triangle.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 16px 16px;
  border-radius: 0 4px 4px 0;
  pointer-events: none;
}
.c-form__input {
  padding: 16px;
  color: var(--color-text);
  background-color: #fff;
  border: 1px solid var(--color-border2);
  border-radius: 4px;
  transition: all 500ms ease-in;
}
.c-form__input:focus-visible {
  color: rgba(0, 0, 0, 0.68);
  outline: 1px solid #000;
}
.c-form__input:focus-visible::-moz-placeholder {
  color: var(--color-gray2);
}
.c-form__input:focus-visible::placeholder {
  color: var(--color-gray2);
}
.c-form__input[type=text], .c-form__input[type=tel], .c-form__input[type=email] {
  width: 100%;
}
.c-form__input[type=text].is-small, .c-form__input[type=tel].is-small, .c-form__input[type=email].is-small {
  width: 15%;
}
@media screen and (max-width: 600px) {
  .c-form__input[type=text].is-small, .c-form__input[type=tel].is-small, .c-form__input[type=email].is-small {
    width: 22%;
  }
}
.c-form__input[type=text].is-middle, .c-form__input[type=tel].is-middle, .c-form__input[type=email].is-middle {
  width: 40%;
}
.c-form-ttl {
  display: flex;
  align-items: center;
  gap: 16px;
}
.c-form-ttl > p {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 0 !important;
}
.c-form--required {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  font-size: 12px;
  color: #fff;
  background-color: #eb8b8b;
  border-radius: 100px;
}
.c-form-btn__box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100%;
  padding-bottom: 32px;
  margin: 64px auto 0;
  text-align: center;
  border-bottom: 1px solid #ccc;
}
.c-form-btn__box > input {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25%;
  padding: 16px 24px;
  font-family: "Noto Sans JP";
  font-size: clamp(1rem, 0.958rem + 0.19vw, 1.125rem);
  border-radius: 100px;
  filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.15));
  transition: all 300ms ease-in-out;
}
@media (max-width: 600px) {
  .c-form-btn__box > input {
    width: 100%;
  }
}
.c-form-btn__box > input[type=submit] {
  background-color: rgb(32, 32, 32);
  color: #fff;
  line-height: unset;
}
.c-form-btn__box > input[type=button] {
  background-color: rgb(255, 255, 255);
  color: #454545;
}
.c-form__label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.c-form__label:has([type=radio])::before {
  display: block;
  width: 24px;
  height: 24px;
  content: "";
  border: 1px solid var(--color-border);
  border-radius: 100px;
  transition: all 250ms ease-in;
}
.c-form__label:has([type=radio])::after {
  position: absolute;
  top: 50%;
  left: 14px;
  display: block;
  width: 0;
  height: 0;
  content: "";
  opacity: 0;
  transition: all 250ms ease-in;
}
.c-form__label:has([type=checkbox])::before {
  display: block;
  width: 24px;
  height: 24px;
  content: "";
  border: 1px solid var(--color-border);
  transition: all 250ms ease-in;
}
.c-form__label:has([type=checkbox])::after {
  position: absolute;
  top: 50%;
  left: 14px;
  display: block;
  width: 0;
  height: 0;
  content: "";
  opacity: 0;
  transition: all 250ms ease-in;
}
.c-form__label:has([name=sex]:checked)::before {
  border-color: var(--color-key);
}
.c-form__label:has([name=sex]:checked)::after {
  position: absolute;
  top: 50%;
  left: 4px;
  display: block;
  width: 16px;
  height: 16px;
  background-color: var(--color-key);
  border-radius: 100px;
  opacity: 1;
  transform: translateY(-50%);
}
.c-form__label:has([name=sex]:checked:disabled)::before {
  border-color: var(--color-gray);
}
.c-form__label:has([name=sex]:checked:disabled)::after {
  background-color: var(--color-gray);
}
.c-form__label:has(#privacy:checked)::before {
  border-color: var(--color-key);
}
.c-form__label:has(#privacy:checked)::after {
  position: absolute;
  top: -13px;
  left: -6px;
  display: block;
  width: 32px;
  height: 32px;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNiIgaGVpZ2h0PSIyMiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggc3Ryb2tlPSIjOUQ5RDlFIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0ibTEuMTkzIDcuOTM4IDkuNjMzIDEyLjIxNSAxMy4yNzItMTguNTciLz4KPC9zdmc+") no-repeat center center/contain;
  opacity: 1;
}
.c-form__label:has(:disabled) {
  cursor: default;
}
.c-form__hr {
  margin-block: 40px 24px !important;
  border-bottom: 1px dashed #ccc;
}

input[type=submit] {
  max-width: 320px;
  text-align: center;
  border-radius: 8px;
}

p:has(input[type=submit]) {
  margin-bottom: 0;
  text-align: center;
}

input[type=radio] {
  display: none;
}

select {
  position: relative;
  color: #777 !important;
}

.smf-item__description {
  font-size: 16px;
}

.smf-form .smf-text-control__control {
  padding: 16px !important;
  border-radius: 8px !important;
}

.smf-checkboxes-control__control {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.c-hamburger {
  position: absolute;
  top: -100vh;
  left: 0;
  width: 100%;
  padding: 16px 40px;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  opacity: 0;
  transition: all 300ms ease-in-out;
}
.c-hamburger-toggle {
  display: none;
}
.c-hamburger-btn {
  display: none;
}
@media screen and (max-width: 1024px) {
  .c-hamburger-btn {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    width: 62px;
    height: 62px;
    margin-bottom: 0;
    background-color: var(--color-key);
    border-radius: 0 0 0 20px;
    cursor: pointer;
  }
}
.c-hamburger-btn span, .c-hamburger-btn::before, .c-hamburger-btn::after {
  content: "";
  position: absolute;
  left: 50%;
  display: block;
  width: 35px;
  height: 2px;
  background: #fff;
  transition: all 0.3s ease-in-out;
  transform: translateX(-50%);
}
.c-hamburger-btn::before {
  top: 16px;
}
.c-hamburger-btn::after {
  top: 28px;
}
.c-hamburger-btn span {
  top: 22px;
}
.c-hamburger-btn div {
  position: absolute;
  top: 36px;
  left: 50%;
  font-family: var(--ff-roboto);
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  transform: translateX(-50%);
}
.c-hamburger__nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  margin-top: 48px;
}
.c-hamburger__link {
  font-family: var(--ff-zen-maru);
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--color-key-d);
}

.c-hamburger-toggle:checked + .c-hamburger-btn::before {
  top: 32px;
  left: 45%;
  width: 32px;
  transform: rotate(45deg) translate(-50%);
}

.c-hamburger-toggle:checked + .c-hamburger-btn::after {
  top: 8px;
  left: 45%;
  width: 32px;
  transform: rotate(-45deg) translate(-50%);
}

.c-hamburger-toggle:checked + .c-hamburger-btn span {
  transform: scale(0);
}

.c-hamburger-toggle:checked ~ .c-hamburger {
  top: 78px;
  left: 0;
  width: 100%;
  height: 115vh;
  opacity: 1;
}

body:has(.c-hamburger-toggle:checked) {
  overflow: hidden;
}

.c-heading--main {
  margin-bottom: 10px;
  font-family: var(--ff-zen-maru);
  font-size: 3.4rem;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .c-heading--main {
    font-size: 2.4rem;
  }
}
.c-heading--main::after {
  display: block;
  margin-block: 8px 32px;
  font-family: var(--ff-roboto);
  font-size: 1.5rem;
  font-weight: 700;
  content: attr(data-sub);
  text-align: left;
  color: var(--color-key);
}
@media screen and (max-width: 600px) {
  .c-heading--main::after {
    font-size: 1.3rem;
  }
}
.c-heading--main.is-interview {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px;
  font-size: 2.6rem;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 600px) {
  .c-heading--main.is-interview {
    flex-direction: column;
    font-size: 2.4rem;
  }
}
.c-heading--main.is-interview::after {
  margin: 0;
  font-size: 1.3rem;
}

.c-icon__list {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--color-key);
}
.p-company .c-icon__list {
  color: var(--color-txt);
}
.c-icon__list + .c-icon__list {
  margin-top: 8px;
}
.p-company .c-icon__list dt span[class*=icon-]::before {
  color: var(--color-text);
}
.c-icon__list dt .icon-calendar::before {
  color: var(--color-key);
}
.c-icon__list dt svg {
  width: 13px;
  height: 19px;
}
.c-icon__list dd {
  margin-bottom: 0;
  font-size: clamp(15px, 2.5vw, 16px);
  font-weight: 400;
}
.c-detail-contents .c-icon__list dd {
  font-size: clamp(17px, 2.833vw, 20px);
}
.c-icon__list + .c-tag__list {
  margin-top: 21px;
}
.c-icon__list.is-color-accent span[class*=icon-]::before {
  color: var(--color-accent);
}
.c-icon__list.is-color-accent dd {
  color: var(--color-accent);
}

.c-info-table {
  width: 100%;
}
.c-info-table th,
.c-info-table td {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.87;
}
.c-info-table.is-type1 {
  border-top: 1px solid var(--color-border);
}
.c-info-table.is-type1 tr {
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid var(--color-border);
}
@media screen and (max-width: 600px) {
  .c-info-table.is-type1 tr {
    flex-direction: column;
  }
}
.c-info-table.is-type1 th,
.c-info-table.is-type1 td {
  display: block;
  padding: 20px 20px 20px 0;
}
@media screen and (max-width: 600px) {
  .c-info-table.is-type1 th,
  .c-info-table.is-type1 td {
    width: 100%;
  }
}
.c-info-table.is-type1 th {
  min-width: 180px;
}
@media screen and (max-width: 600px) {
  .c-info-table.is-type1 th {
    padding-bottom: 0;
  }
}
.c-info-table.is-type2 tr {
  display: flex;
  align-items: center;
  gap: 32px;
  border-top: 1px dotted var(--color-border);
}
.c-info-table.is-type2 th,
.c-info-table.is-type2 td {
  display: block;
  padding-block: 24px;
}
.c-info-table.is-type2 th {
  min-width: 128px;
  font-size: clamp(16px, 2.667vw, 18px);
  font-weight: 700;
  color: var(--color-accent);
}
.c-info-table.is-type3 {
  border-top: 1px solid var(--color-border);
}
.c-info-table.is-type3 tr {
  display: flex;
  border-bottom: 1px solid var(--color-border);
}
.c-info-table.is-type3 th,
.c-info-table.is-type3 td {
  padding: 72px 56px;
}
.c-info-table.is-type3 th {
  min-width: 256px;
  font-size: clamp(18px, 3vw, 20px);
  font-weight: 500;
  white-space: nowrap;
  background-color: var(--color-gray-thin);
}
.c-info-table.is-type3 td {
  width: 100%;
  font-size: clamp(16px, 2.667vw, 18px);
  font-weight: 400;
  line-height: 1.6;
}
.c-info-table.is-type4 tr {
  display: flex;
  border-bottom: 1px solid var(--color-border);
}
.c-info-table.is-type4 th,
.c-info-table.is-type4 td {
  padding: 32px 40px;
}
.c-info-table.is-type4 th {
  min-width: 224px;
  font-size: clamp(16px, 2.667vw, 18px);
  font-weight: 500;
  white-space: nowrap;
  background-color: var(--color-gray-thin);
}
.c-info-table.is-type4 td {
  font-size: clamp(16px, 2.667vw, 18px);
  font-weight: 400;
  line-height: 1.6;
}

.c-list li {
  font-size: clamp(18px, 3vw, 22px);
  font-weight: 500;
}
.c-list li + li {
  margin-top: 24px;
}
.c-list--no {
  list-style: none;
  counter-reset: list-num;
}
.c-list--no li {
  display: flex;
  align-items: center;
  gap: 24px;
}
.c-list--no li::before {
  font-size: clamp(26px, 4.333vw, 30px);
  font-weight: 500;
  counter-increment: list-num;
  content: counter(list-num) ".";
  line-height: 1.6;
  color: var(--color-key);
}
.c-list--dot {
  padding-left: 32px;
  list-style: disc;
}
.c-list--dot li {
  font-size: clamp(16px, 2.667vw, 18px);
  font-weight: 400;
  line-height: 1.7;
}
.c-list--dot li + li {
  margin-top: 16px;
}

.c-lower-header {
  padding-inline: 80px;
  font-family: var(--ff-zen-old-min);
  font-size: 3.2rem;
  font-weight: 500;
  color: var(--color-key-d);
}
@media screen and (max-width: 1024px) {
  .c-lower-header {
    padding-inline: 24px;
  }
}
@media screen and (max-width: 820px) {
  .c-lower-header {
    font-size: 2.4rem;
  }
}
.c-lower-header__box {
  display: flex;
  overflow: hidden;
  gap: 0;
  width: 100%;
  max-width: 1880px;
  height: 480px;
  margin-block: 104px 56px !important;
  margin-inline: auto;
  border-radius: 24px;
}
@media screen and (max-width: 1024px) {
  .c-lower-header__box {
    height: 240px;
    border-radius: 0;
  }
}
@media screen and (max-width: 600px) {
  .c-lower-header__box {
    flex-direction: column;
    margin-top: 0 !important;
  }
}
.c-lower-header__box:has(.c-lower-header__box-image:empty) .c-lower-header__box-l {
  flex-basis: 100% !important;
  padding-block: 48px;
}
.c-lower-header__box-l {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(90deg, #F8FDFF 0%, #D7F3FA 14.9%, #E0F0F8 30.77%, #D2EEFF 37.98%);
}
@media screen and (max-width: 600px) {
  .c-lower-header__box-l {
    padding-block: 32px;
  }
}
.c-lower-header__box-image {
  height: 100%;
}
.c-lower-header__box-image > * {
  height: 100%;
}
.c-lower-header__box-image:empty {
  display: none;
}
.c-lower-header__box-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-lower-heading--large {
  margin-inline: 0 !important;
  font-family: var(--ff-zen-old-min);
  font-size: 3.2rem;
  font-weight: 500;
  color: var(--color-key-d);
}
@media screen and (max-width: 820px) {
  .c-lower-heading--large {
    font-size: 2.4rem;
  }
}
.c-lower-heading--large-en {
  margin-top: 0;
  margin-inline: 0 !important;
  font-family: var(--ff-roboto);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--color-text-gray);
}
.c-lower-heading--large__box {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  max-width: initial;
  padding-bottom: 12px;
  margin: 0 auto 24px auto !important;
  border-bottom: 1px solid var(--color-border);
}
.c-lower-heading--large__box::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 1;
  display: block;
  width: 480px;
  height: 1px;
  content: "";
  background-color: var(--color-accent);
}
@media screen and (max-width: 820px) {
  .c-lower-heading--large__box::after {
    width: 40%;
  }
}
.c-lower-heading--middle {
  margin-inline: 0 !important;
  font-family: var(--ff-zen-maru);
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-key);
}
@media screen and (max-width: 600px) {
  .c-lower-heading--middle {
    font-size: 2.4rem;
  }
}
.c-lower-heading--middle-en {
  font-family: var(--ff-roboto);
  font-size: 1.5rem;
  font-weight: 400;
  color: #999;
}
.c-lower-heading--middle__box {
  display: flex;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 24px;
}
.c-lower-heading--small {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 10px 10px 10px 0;
  font-family: var(--ff-zen-maru);
  font-size: 2rem;
  font-weight: 700;
}
.c-lower-heading--small::before {
  display: block;
  width: 4px;
  height: 24px;
  content: "";
  background: linear-gradient(0deg, #48C6EF 0%, #6F86D6 100%);
}
@media screen and (max-width: 600px) {
  .c-lower-heading--small {
    font-size: 1.8rem;
  }
}
.c-lower-heading--sub {
  font-family: var(--ff-zen-old-min);
  font-size: 2.3rem;
  font-weight: 500;
  color: var(--color-key-d);
}
@media screen and (max-width: 600px) {
  .c-lower-heading--sub {
    font-size: 1.8rem;
  }
}
.c-lower-heading--sub__box {
  position: relative;
  display: flex;
  align-items: center;
  padding: 16px 24px 16px 72px;
  border: 1px solid var(--color-border);
  margin: 0 0 32px 64px !important;
}
@media screen and (max-width: 600px) {
  .c-lower-heading--sub__box {
    padding-left: 56px;
    margin: 0 0 24px 56px !important;
  }
}
.c-lower-heading--sub__box::before {
  position: absolute;
  top: 50%;
  left: -61px;
  display: block;
  width: 102px;
  height: 1px;
  content: "";
  background-color: var(--color-key-d);
  transform: translateY(-50%);
}
@media screen and (max-width: 600px) {
  .c-lower-heading--sub__box::before {
    left: -56px;
    width: 80px;
  }
}

.c-lower-nav {
  width: 250px;
}
.c-lower-nav__box + .c-lower-nav__box {
  margin-top: 32px;
}
.c-lower-nav__heading {
  margin-bottom: 16px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-key);
}
.c-lower-nav__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
}
.c-lower-nav__item {
  width: 100%;
}
.c-lower-nav__item + .c-lower-nav__item {
  margin-top: 12px;
}
.c-lower-nav__link {
  display: flex;
  align-items: center;
  gap: 13px;
}
.c-lower-nav__icon {
  width: 10px;
  height: 12px;
}
.c-lower-nav__text {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.2;
  color: #333;
}

.c-map__iframe {
  width: 100%;
  aspect-ratio: 3/4;
}
.c-map__link {
  text-decoration: underline;
}
.c-map__link-box {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  margin: 4px 0 16px 0;
}
.c-map__link-box svg {
  width: 24px;
  height: 24px;
}
.c-map__link-box svg path {
  fill: var(--color_key);
}
.c-map--access-info {
  margin-bottom: 16px;
}
.c-map--access-info + .c-map--access-info {
  margin-bottom: 0;
}

.c-news-container {
  container-type: inline-size;
  container-name: news-container;
}
.c-news__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 40px;
}
.c-news__item {
  min-height: 32px;
  font-size: clamp(16px, 2.667vw, 16px);
}
.c-news__item > * {
  display: flex;
  align-items: center;
  gap: 32px;
}
@media screen and (max-width: 600px) {
  .p-blog__header .c-news__item > * {
    gap: 16px;
  }
}
@container news-container (max-width: 400px) {
  .c-news__item > * {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
.c-news__item > * > div {
  display: flex;
  align-items: center;
  gap: 16px;
}
@container news-container (max-width: 400px) {
  .c-news__item > * > div {
    flex-direction: row-reverse;
    justify-content: flex-start;
  }
}

/* ----------------------------------
   Component: ページ見出し（縦棒付き）
---------------------------------- */
.c-page-heading {
  font-family: "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 500;
  color: #333;
  text-align: center;
  margin-bottom: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.c-page-heading::after {
  content: "";
  display: block;
  width: 2px;
  height: 60px;
  background-color: #8bcdeb;
}

.c-pagination {
  width: 100%;
  max-width: 736px;
  margin: 0 auto 114px auto;
}
@media screen and (max-width: 1024px) {
  .c-pagination {
    padding-inline: 32px;
  }
}
@media screen and (max-width: 600px) {
  .c-pagination {
    padding-inline: 16px;
    margin-bottom: 40px;
  }
}
.c-pagination__list {
  display: flex;
  justify-content: space-between;
  gap: 32px;
}
.c-pagination__list.is-color-accent .c-pagination__list-current {
  background-color: var(--color-accent);
}
.c-pagination__list--inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 40px;
}
@media screen and (max-width: 600px) {
  .c-pagination__list--inner {
    gap: 16px 24px;
  }
}
.c-pagination__list-item {
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-pagination__list-current {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  width: 44px;
  padding: 8px;
  font-size: clamp(16px, 2.667vw, 20px);
  font-weight: 600;
  color: var(--color-gray);
  border-radius: 100px;
  position: relative;
  color: #fff;
  background-color: var(--color-key);
}
@media screen and (max-width: 600px) {
  .c-pagination__list-current {
    width: 32px;
    height: 32px;
    padding: 4px;
  }
}
.c-pagination__list-omitted {
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-pagination__list-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  width: 44px;
  padding: 8px;
  font-size: clamp(16px, 2.667vw, 20px);
  font-weight: 600;
  color: var(--color-gray);
  border-radius: 100px;
}
@media screen and (max-width: 600px) {
  .c-pagination__list-link {
    width: 32px;
    height: 32px;
    padding: 4px;
  }
}
.c-pagination__list-link.prev .c-pagination-ico {
  transform: scaleX(-1);
}
.c-pagination__list-link.prev, .c-pagination__list-link.next {
  width: auto;
  padding-inline: 0;
}
.c-pagination__list-link.prev .icon-arrow2, .c-pagination__list-link.next .icon-arrow2 {
  font-size: 32px;
}
@media screen and (max-width: 600px) {
  .c-pagination__list-link.prev .icon-arrow2, .c-pagination__list-link.next .icon-arrow2 {
    font-size: 24px;
  }
}
.c-pagination__list-link.next .icon-arrow2 {
  transform: rotate(180deg);
}
.c-pagination__list-prev {
  margin-right: auto;
}
.c-pagination__list-next {
  margin-left: auto;
}
.c-pagination-ico {
  fill: var(--color-variable1);
  height: 16px;
  width: 16px;
}
@media screen and (max-width: 600px) {
  .c-pagination-ico {
    height: 12px;
    width: 12px;
  }
}

.c-scroll__box {
  position: fixed;
  bottom: 0;
  left: 20%;
  display: block;
  width: 1px;
  height: 100px;
  overflow: hidden;
  background-color: var(--color_border);
  transition: all 400ms ease-out;
}
.c-scroll__box.scrolled {
  opacity: 0 !important;
}
.c-scroll__bar {
  width: 1px;
  height: 100px;
  background-color: rgba(33, 33, 33, 0.85);
}

.c-section__heading {
  position: relative;
  margin: 0;
  font-size: clamp(30px, 5vw, 32px);
  font-weight: 500;
  line-height: 2.1;
  color: var(--text-color);
}
.c-section__heading-mincho {
  font-family: var(--ff-zen-old-min);
  font-size: clamp(20px, 3.333vw, 24px);
}
.p-balance .c-section__heading::before {
  position: absolute;
  top: -128px;
  left: 50%;
  z-index: 3;
  width: 583px;
  height: 165px;
  content: "";
  background: url(http://recruit.keijinnet.or.jp/wp-content/uploads/2025/06/section-heading-en02-pc.png) no-repeat center center/contain;
  transform: translateX(-50%);
}
@media screen and (max-width: 600px) {
  .p-balance .c-section__heading::before {
    width: 395px;
    height: 70px;
  }
}
.p-interview .c-section__heading {
  padding-top: 144px;
}
.p-interview .c-section__heading::before {
  position: absolute;
  top: -40px;
  left: 50%;
  z-index: 3;
  width: 583px;
  height: 165px;
  content: "";
  background: url(http://recruit.keijinnet.or.jp/wp-content/uploads/2025/06/section-heading-en05-pc.png) no-repeat center center/contain;
  transform: translateX(-50%);
}
@media screen and (max-width: 600px) {
  .p-interview .c-section__heading::before {
    top: -8px;
    width: 290px;
    height: 64px;
  }
}
.p-benefits .c-section__heading::before {
  position: absolute;
  top: -128px;
  left: 50%;
  z-index: 3;
  width: 350px;
  height: 119px;
  content: "";
  background: url(http://recruit.keijinnet.or.jp/wp-content/uploads/2025/06/section-heading-en03-pc.png) no-repeat center center/contain;
  transform: translateX(-50%);
}
@media screen and (max-width: 600px) {
  .p-benefits .c-section__heading::before {
    width: 256px;
    height: 96px;
  }
}
.p-contact .c-section__heading::before {
  position: absolute;
  top: -88px;
  left: 50%;
  z-index: 3;
  width: 446px;
  height: 80px;
  content: "";
  background: url(http://recruit.keijinnet.or.jp/wp-content/uploads/2025/06/section-heading-en04-pc.png) no-repeat center center/contain;
  transform: translateX(-50%);
}
@media screen and (max-width: 600px) {
  .p-contact .c-section__heading::before {
    width: 336px;
    height: 60px;
  }
}
.c-section__heading--sub {
  display: block;
  font-size: 15px;
  font-weight: 700;
  line-height: 4.6;
  color: #000;
}
.p-interview .c-section__heading--sub {
  position: relative;
}
.p-interview .c-section__heading--sub::after {
  display: block;
  width: 423px;
  height: 68px;
  margin: -32px auto 64px auto;
  content: "";
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjQiIGhlaWdodD0iNjgiIGZpbGw9Im5vbmUiPgogIDxnIHN0cm9rZT0iIzAwMCIgY2xpcC1wYXRoPSJ1cmwoI2EpIj4KICAgIDxwYXRoIGQ9Ik0xLjU0NiAwYy0xMy41IDI4IDYyLjIzMiA1NSAxOTUgNDIuNS0zIDYuNS0xMy4xIDIwLjctMjkuNSAyNS41TTE4MS4yNzggNjcuNWMyMCAwIDMzLjUtMjAuNSAzOS41LTI0IDU0LjUgMCAyMDUuNS00IDIwMi41LTMxLjUiLz4KICA8L2c+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImEiPgogICAgICA8cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDQyMy4zMjJ2NjhIMHoiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgo8L3N2Zz4=") no-repeat center center/contain;
}
@media screen and (max-width: 600px) {
  .p-interview .c-section__heading--sub::after {
    width: calc(100% - 32px);
  }
}
.c-section__read {
  position: relative;
  margin-top: 8px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.87;
}
.c-section__read > * {
  line-height: 1.87;
}
.c-section__read + .c-section__read {
  margin-top: 64px;
}
.c-section__read--mincho {
  position: relative;
  margin-top: 8px;
  font-family: var(--ff-zen-old-min);
  font-size: 1.9rem;
  font-weight: 400;
  line-height: 1.84;
}
.c-section__read--mincho a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-decoration: underline;
}
.c-section__read--mincho a::before {
  display: block;
  width: 18px;
  height: 18px;
  content: "";
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1saW5rLWljb24gbHVjaWRlLWxpbmsiPgogIDxwYXRoIGQ9Ik0xMCAxM2E1IDUgMCAwIDAgNy41NC41NGwzLTNhNSA1IDAgMCAwLTcuMDctNy4wN2wtMS43MiAxLjcxIi8+CiAgPHBhdGggZD0iTTE0IDExYTUgNSAwIDAgMC03LjU0LS41NGwtMyAzYTUgNSAwIDAgMCA3LjA3IDcuMDdsMS43MS0xLjcxIi8+Cjwvc3ZnPg==") no-repeat center center/contain;
}
.c-section__read--mincho a[href^=tel]::before {
  display: none;
}
.c-section__read a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-decoration: underline;
}
.c-section__read a::before {
  display: block;
  width: 18px;
  height: 18px;
  content: "";
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1saW5rLWljb24gbHVjaWRlLWxpbmsiPgogIDxwYXRoIGQ9Ik0xMCAxM2E1IDUgMCAwIDAgNy41NC41NGwzLTNhNSA1IDAgMCAwLTcuMDctNy4wN2wtMS43MiAxLjcxIi8+CiAgPHBhdGggZD0iTTE0IDExYTUgNSAwIDAgMC03LjU0LS41NGwtMyAzYTUgNSAwIDAgMCA3LjA3IDcuMDdsMS43MS0xLjcxIi8+Cjwvc3ZnPg==") no-repeat center center/contain;
}
.c-section--space {
  margin-bottom: var(--contents-space) !important;
}
.c-section--space-double {
  margin-bottom: calc(var(--contents-space) * 2);
}
@media screen and (max-width: 600px) {
  .c-section--space-double {
    margin-bottom: calc(var(--contents-space) * 1.5);
  }
}
.c-section--space-lower {
  width: 100%;
  max-width: initial;
  margin: 0 auto var(--contents-space-lower) auto !important;
}
.c-section--space-lower > * {
  max-width: initial;
}
.c-section--space-lower--2 {
  margin-bottom: var(--contents-space-lower2) !important;
}
.c-section-hairLine {
  margin-block: 40px;
  border-top-color: var(--color-border);
}
@media screen and (max-width: 600px) {
  .c-section-hairLine {
    margin-block: 32px;
  }
}
.c-section__box {
  padding-block: var(--contents-space);
  background-color: #fff;
  border-radius: 20px;
}
.p-news .c-section__box {
  padding-bottom: 22px;
}
.c-section--full {
  padding: 0 !important;
  margin: 0 !important;
}

.is-fs--19 {
  font-size: clamp(17px, 2.833vw, 19px);
}

.c-group__box > *:not(.c-figure) {
  max-width: initial !important;
}

.c-sns__list {
  display: flex;
  align-items: center;
  gap: 8px;
}
.c-sns__item {
  width: 30px;
  height: 30px;
  aspect-ratio: 1/1;
}
.c-sns__item span[class*=icon-] {
  font-size: 30px;
}

.c-table {
  position: relative;
  margin-bottom: 48px;
}
@media screen and (max-width: 600px) {
  .c-table {
    margin-bottom: 32px;
  }
}
.c-table::after {
  display: none;
}
@media screen and (max-width: 600px) {
  .c-table::after {
    display: block;
    margin-top: 6px;
    font-size: 1.4rem;
    content: "横スクロールできます";
  }
}
.c-table thead {
  border-bottom-color: var(--color-border);
}
.c-table th,
.c-table td {
  font-size: 1.6rem;
  font-weight: 400;
}
.c-table th {
  width: 30%;
  padding: 16px;
  border-color: var(--color-border);
  vertical-align: middle;
}
.c-table td {
  width: 70%;
  padding: 16px;
  border-color: var(--color-border);
}
.c-table.is-3col th,
.c-table.is-3col td {
  width: 33.333%;
}

.c-simple-table {
  margin-block: 56px;
}
.c-simple-table table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #3ea3d5;
}
.c-simple-table th,
.c-simple-table td {
  border: 1px solid #3ea3d5 !important;
  padding: 1.5em 2em !important;
  font-family: var(--ff-zen-old-min);
  vertical-align: middle;
}
.c-simple-table th {
  width: 25%;
  background-color: #d2eefb !important;
  color: #333333;
  text-align: center;
  font-weight: bold;
}
.c-simple-table td {
  background-color: #ffffff;
  color: #333333;
  text-align: left;
  line-height: 1.8;
}
.c-simple-table {
  /* スマートフォンなど画面幅が狭い端末向けのレスポンシブ対応です */
}
@media screen and (max-width: 768px) {
  .c-simple-table th,
  .c-simple-table td {
    display: block; /* ブロック要素にして縦並びにします */
    width: 100%; /* 横幅を100%にします */
  }
  .c-simple-table th {
    border-bottom: none; /* 縦並びになった際、見出しの下線を消してスッキリさせます */
  }
}

.c-tab__list {
  position: sticky;
  top: 160px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 48px auto;
  border-bottom: none;
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.2));
}
.c-tab__list::before, .c-tab__list::after {
  display: none;
}
@media screen and (max-width: 820px) {
  .c-tab__list {
    position: static;
    justify-content: center;
    padding-left: 0 !important;
  }
}
@media screen and (max-width: 600px) {
  .c-tab__list {
    flex-direction: column;
    margin-top: 24px;
  }
}
.c-tab__item {
  margin: 0 !important;
  font-size: 14px;
  color: #fff;
  border-radius: 8px;
  cursor: pointer;
  transition: all 400ms ease-in-out;
}
.c-tab__item a {
  min-width: 240px;
  padding: 16px 24px !important;
  margin-right: 0 !important;
  background-color: var(--color_key);
  text-align: center;
  border: none !important;
  border-radius: 8px !important;
}
@media screen and (max-width: 1024px) {
  .c-tab__item a {
    min-width: initial;
    padding: 16px !important;
  }
}
.c-tab__item.active {
  color: var(--color_text_black);
}
.c-tab__item.active::after {
  display: block;
  width: 100%;
  height: 1px;
  content: "";
  background-color: var(--color_key);
  transition: all 400ms ease-in-out;
}
.c-tab__content {
  height: 1px;
  overflow: hidden;
  opacity: 0;
  transition: all 400ms ease-in-out;
}
@media screen and (max-width: 820px) {
  .c-tab__content {
    padding-inline: 16px;
  }
}
.c-tab__content.show {
  height: auto;
  overflow: unset;
  opacity: 1;
}

.content-container {
  margin-bottom: 168px;
}
@media screen and (max-width: 600px) {
  .content-container {
    margin-bottom: 80px;
  }
}

.c-tag__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.p-information__item .c-tag__list {
  flex-wrap: nowrap;
  flex-shrink: 0;
}
.c-tag__list.is-gray {
  gap: 16px;
}
.c-tag__item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  font-size: 12px;
  color: var(--color-key);
  border: 1px solid var(--color-key);
  border-radius: 100px;
}
.is-gray .c-tag__item {
  padding: 8px 12px;
  font-size: clamp(16px, 2.667vw, 18px);
  font-weight: 400;
  color: currentColor;
  background-color: #d9d9d9;
  border: none;
  border-radius: 0;
}
.p-information__item .c-tag__item {
  font-size: clamp(14px, 2.333vw, 16px);
  color: var(--color-text);
  background-color: #dbdbdb;
  border: none;
}
.is-color-accent .c-tag__item {
  color: var(--color-accent);
  border-color: var(--color-accent);
}
.is-tag-mini .c-tag__item {
  padding: 4px 12px;
}

.c-text-anchor {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
  font-size: 1.6rem;
  font-weight: 400;
  text-decoration: underline;
  color: #2b99cb;
}

.c-text-anchor::before {
  width: 35px;
  height: 35px;
  content: "";
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNSIgaGVpZ2h0PSIzNSIgZmlsbD0ibm9uZSI+CiAgPHBhdGggc3Ryb2tlPSIjMDA5MGQyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGQ9Ik0xLjUgMTcuNUgyM20wIDBMMTguNTY4IDIyTTIzIDE3LjUgMTguNTY4IDEzIi8+CiAgPGNpcmNsZSBjeD0iMTcuNSIgY3k9IjE3LjUiIHI9IjE3IiBzdHJva2U9IiMwMDkwZDIiIHRyYW5zZm9ybT0icm90YXRlKC05MCAxNy41IDE3LjUpIi8+Cjwvc3ZnPg==");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
}

.p-accessibility {
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 20px;
  color: #333;
}
.p-accessibility__header {
  margin-bottom: 40px;
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 16px;
}
.p-accessibility__title {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 28px;
  font-weight: normal;
  margin: 0 0 4px;
  letter-spacing: 0.05em;
}
.p-accessibility__en {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  display: block;
  font-size: 12px;
  color: #b3b3b3;
  letter-spacing: 0.1em;
}
.p-accessibility__intro {
  margin-bottom: 60px;
}
.p-accessibility__text {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 1.8;
  margin: 0 0 16px;
}
.p-accessibility__text:last-child {
  margin-bottom: 0;
}
.p-accessibility__policy {
  margin-bottom: 40px;
}
.p-accessibility__sub-title {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 24px;
  font-weight: normal;
  margin: 0 0 32px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e0e0e0;
  position: relative;
}
.p-accessibility__sub-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 400px;
  max-width: 100%;
  height: 1px;
  background-color: var(--color-key);
}
.p-accessibility__initiatives {
  margin-top: 60px;
}
.p-accessibility__box {
  position: relative;
  border: 1px solid #e0e0e0;
  padding: 24px 24px 24px 60px;
  margin-left: 40px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
}
.p-accessibility__box::before {
  content: "";
  position: absolute;
  left: -40px;
  top: 50%;
  width: 80px;
  height: 1px;
  background-color: var(--color-key);
}
.p-accessibility__box-title {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: bold;
  margin: 0;
}
.p-accessibility__list {
  list-style: none;
  padding: 0;
  margin: 0 0 0 40px;
}
.p-accessibility__list-item {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 8px;
  padding-left: 1em;
  position: relative;
}
.p-accessibility__list-item::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.p-accessibility__list-item:last-child {
  margin-bottom: 0;
}

.p-activities {
  padding: 80px 0;
}
.p-activities__inner {
  width: 100%;
  padding: 0 20px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-activities__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  width: 100%;
  max-width: 1600px;
  margin-top: 40px;
}
@media screen and (max-width: 600px) {
  .p-activities__list {
    flex-direction: column;
    gap: 30px;
  }
}
.p-activities__list.is-archive {
  justify-content: flex-start;
  max-width: 960px;
  margin-inline: auto !important;
}
.p-activities__list.is-archive li {
  display: flex;
  flex-direction: column;
  width: calc((100% - 48px) / 3);
  margin-top: 0 !important;
  border-radius: 10px;
  box-shadow: 8px 8px 8px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1024px) {
  .p-activities__list.is-archive li {
    width: calc((100% - 48px) / 3);
  }
}
@media screen and (max-width: 600px) {
  .p-activities__list.is-archive li {
    width: 100%;
  }
}
.p-activities__list.is-archive .p-pickup__figure {
  width: 100%;
  height: 100%;
  max-height: 200px;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}
.p-activities__list.is-archive .p-pickup__figure .wp-block-post-featured-image a {
  padding: 0;
}
.p-activities__list.is-archive .p-pickup__figure img {
  border-radius: 0;
}
.p-activities__list.is-archive .p-pickup__heading-box {
  padding: 16px;
  pointer-events: none;
}
.p-activities {
  /* ----------------------------------
     Layout Wrapper (Item)
  ---------------------------------- */
}
.p-activities__item {
  width: calc((100% - 96px) / 5);
  display: flex;
}
@media screen and (max-width: 1024px) {
  .p-activities__item {
    width: calc((100% - 48px) / 3);
  }
}
@media screen and (max-width: 600px) {
  .p-activities__item {
    width: 100%;
  }
}
.p-activities {
  /* ----------------------------------
     Card Link Component
     (見た目とホバーアクションはここに集約)
  ---------------------------------- */
}
.p-activities__link {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 1px 1px 8px 0 rgba(0, 0, 0, 0.4);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.p-activities__link:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  opacity: 1;
}
.p-activities__link:hover .p-activities__img-area img {
  transform: scale(1.05);
}
.p-activities__img-area {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
}
.p-activities__img-area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.p-activities__img-area::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 70%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, transparent 100%);
  pointer-events: none;
}
.p-activities__img-text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 15px;
  z-index: 1;
  color: #fff;
}
.p-activities__sub-title {
  display: block;
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 5px;
}
.p-activities__title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
.p-activities__text-area {
  padding: 20px;
  flex-grow: 1;
}
.p-activities__desc {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  color: #333;
}
.p-activities__description {
  font-family: var(--ff-zen-maru);
  font-size: 1.6rem;
  padding-inline: 16px;
}

/* ==========================================================
   Banner Navigation Structure
   ========================================================== */
.p-banner-nav {
  width: 100%;
  max-width: 1870px;
  margin: 16px auto 104px auto !important;
}
@media screen and (max-width: 820px) {
  .p-banner-nav {
    margin-bottom: 56px !important;
  }
}
@media screen and (max-width: 600px) {
  .p-banner-nav {
    margin-bottom: 64px !important;
  }
}
.p-banner-nav__list {
  display: flex;
}
@media screen and (max-width: 820px) {
  .p-banner-nav__list {
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px;
    padding-inline: 32px;
  }
}
@media screen and (max-width: 600px) {
  .p-banner-nav__list {
    flex-direction: column;
    padding-inline: 16px;
  }
}
.p-banner-nav__item {
  width: 33.3333333333%;
}
@media screen and (max-width: 820px) {
  .p-banner-nav__item {
    width: calc((100% - 32px) / 2);
  }
}
@media screen and (max-width: 600px) {
  .p-banner-nav__item {
    width: 100%;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 4px 4px 4px 0 rgba(51, 51, 51, 0.15);
  }
  .p-banner-nav__item + .p-banner-nav__item {
    margin-top: 16px;
  }
}
.p-banner-nav__item:first-child .p-banner-nav__image {
  border-radius: 10px 0 0 10px;
}
@media screen and (max-width: 600px) {
  .p-banner-nav__item:first-child .p-banner-nav__image {
    border-radius: 0;
  }
}
.p-banner-nav__item:last-child .p-banner-nav__image {
  border-radius: 0 10px 10px 0;
}
@media screen and (max-width: 600px) {
  .p-banner-nav__item:last-child .p-banner-nav__image {
    border-radius: 0;
  }
}
.p-banner-nav__figure {
  position: relative;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 600px) {
  .p-banner-nav__figure a {
    display: flex;
  }
}
.p-banner-nav__figure a:hover .p-banner-nav__anchor {
  bottom: 50%;
  box-shadow: 0 0 8px 0 rgba(51, 51, 51, 0.3);
  transform: translate(-50%, 50%);
}
@media screen and (max-width: 600px) {
  .p-banner-nav__figure a:hover .p-banner-nav__anchor {
    bottom: 0;
    box-shadow: none;
    transform: none;
  }
}
.p-banner-nav__figure a:hover .p-banner-nav__image img {
  transform: scale(1.1);
}
@media screen and (max-width: 600px) {
  .p-banner-nav__figure a:hover .p-banner-nav__image img {
    transform: none;
  }
}
.p-banner-nav__image {
  display: block;
  aspect-ratio: 626/265;
  overflow: hidden;
}
@media screen and (max-width: 820px) {
  .p-banner-nav__image {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 600px) {
  .p-banner-nav__image {
    max-width: 30%;
    aspect-ratio: 5/4;
  }
}
.p-banner-nav__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 400ms ease-in-out;
}
.p-banner-nav__anchor {
  position: absolute;
  bottom: -16px;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 320px;
  height: 104px;
  padding: 24px 32px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 8px 8px 8px 0 rgba(51, 51, 51, 0.15);
  transform: translateX(-50%);
  transition: all 400ms ease-in-out;
}
@media screen and (max-width: 600px) {
  .p-banner-nav__anchor {
    position: static;
    padding-inline: 16px;
    box-shadow: none;
    transform: translateX(0);
  }
}
.p-banner-nav__text {
  display: inline;
  text-align: center;
}
.p-banner-nav__title {
  margin-bottom: 4px;
  font-family: var(--ff-zen-maru);
  font-size: 2.2rem;
  font-weight: 700;
  color: #000;
}
@media screen and (max-width: 600px) {
  .p-banner-nav__title {
    font-size: 1.8rem;
  }
}
.p-banner-nav__subtitle {
  font-family: var(--ff-roboto);
  font-size: 1.4rem;
  font-weight: 400;
  color: #b7b7b7;
}
.p-banner-nav__icon {
  width: 35px;
  height: 35px;
}
@media screen and (max-width: 600px) {
  .p-banner-nav__icon {
    width: 28px;
    height: 28px;
  }
}

.p-corporation-detail {
  padding: 160px 0 80px 0;
}
@media screen and (max-width: 600px) {
  .p-corporation-detail {
    padding-top: 60px;
  }
}
.p-corporation-detail__inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
}
.p-corporation-detail {
  /* ----------------------------------
     YouTube動画
  ---------------------------------- */
}
.p-corporation-detail__movie {
  width: 100%;
  margin-bottom: 60px;
  border-radius: 24px;
  overflow: hidden;
  line-height: 0;
}
.p-corporation-detail__movie iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  vertical-align: bottom;
}
@media screen and (max-width: 600px) {
  .p-corporation-detail__movie iframe {
    aspect-ratio: 1/1;
  }
}
.p-corporation-detail {
  /* ----------------------------------
     理念セクション
  ---------------------------------- */
}
.p-corporation-detail__philosophy {
  margin-bottom: 80px;
  text-align: center;
}
.p-corporation-detail__heading {
  display: flex;
  align-items: center;
  width: 360px;
  box-sizing: border-box;
  background-color: #8bcdeb;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  padding: 15px 30px;
  margin-bottom: 40px;
  position: relative;
  margin-left: -20px;
  clip-path: polygon(0 0, 180px 0, 100% 100%, 0 100%);
}
@media screen and (max-width: 600px) {
  .p-corporation-detail__heading {
    width: 100%;
    margin-left: 0;
    clip-path: none;
    justify-content: center;
    text-align: center;
  }
}
.p-corporation-detail__lead-top {
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 30px;
  line-height: 1.8;
}
.p-corporation-detail__catch {
  font-size: 2.4rem;
  font-weight: 500;
  color: #8bcdeb;
  margin-bottom: 30px;
}
.p-corporation-detail__list {
  list-style: none;
  text-align: left;
  display: inline-block;
}
.p-corporation-detail__list li {
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 0.5em;
  padding-left: 1em;
  text-indent: -1em;
}
.p-corporation-detail__list li::before {
  content: "・";
}
.p-corporation-detail {
  /* ----------------------------------
     リンクカード一覧
  ---------------------------------- */
}
.p-corporation-detail__links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
@media screen and (max-width: 600px) {
  .p-corporation-detail__links {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.p-corporation-detail__card {
  display: block;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.25);
  transition: transform 0.3s, box-shadow 0.3s;
  text-decoration: none;
}
.p-corporation-detail__card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}
.p-corporation-detail__card:hover img {
  transform: scale(1.05);
}
.p-corporation-detail__card-img {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.p-corporation-detail__card-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.p-corporation-detail__card-label {
  position: absolute;
  bottom: 20px;
  right: 0;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 12px 20px 12px 30px;
  display: flex;
  align-items: center;
  gap: 15px;
  border-radius: 0;
  border-bottom: 1px solid #0090D2;
  box-shadow: -2px 2px 5px rgba(0, 0, 0, 0.05);
}
.p-corporation-detail__card-text {
  font-size: 1.6rem;
  font-weight: 500;
  color: #005b94;
}
.p-corporation-detail__card-arrow {
  display: flex;
  align-items: center;
}
.p-corporation-detail__card-arrow svg {
  display: block;
}

/* ----------------------------------
   Project: 法人案内セクション
---------------------------------- */
.p-corporate-profile {
  position: relative;
  z-index: 0;
  padding-top: 100px;
}
@media screen and (max-width: 600px) {
  .p-corporate-profile {
    padding-top: 60px;
  }
}
.p-corporate-profile::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 64px);
  background-image: url(../../../wp-content/uploads/corporate-profile-scaled.webp);
  background-size: cover;
  background-position: center;
  z-index: -1;
}
.p-corporate-profile__inner {
  max-width: 1000px;
  margin: 0 auto 144px auto;
}
@media screen and (max-width: 1024px) {
  .p-corporate-profile__inner {
    margin-bottom: 96px;
    padding-inline: 20px;
  }
}
.p-corporate-profile__box {
  background-color: #fff;
  padding: 60px 40px;
  text-align: center;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 600px) {
  .p-corporate-profile__box {
    padding: 40px 20px;
  }
}
.p-corporate-profile__catch {
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 30px;
  color: #333;
}
@media screen and (max-width: 600px) {
  .p-corporate-profile__catch {
    font-size: 2.6rem;
  }
}
.p-corporate-profile__lead {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 40px;
  color: #333;
}
.p-corporate-profile__btn-wrapper {
  display: flex;
  justify-content: center;
}
.p-corporate-profile__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  background-color: #0088cb;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  text-decoration: none;
  padding: 12px 30px 12px 40px;
  border-radius: 10px;
  transition: background-color 0.3s, opacity 0.3s;
}
.p-corporate-profile__btn:hover {
  opacity: 0.9;
}
.p-corporate-profile__btn-icon {
  width: 35px;
  height: 35px;
  color: #fff;
  flex-shrink: 0;
}
.p-corporate-profile .c-heading--main {
  text-align: center;
  color: #fff;
}
.p-corporate-profile .c-heading--main::after {
  text-align: center;
}

@media screen and (max-width: 600px) {
  .u-hidden-sp {
    display: none;
  }
}

.p-departments {
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOTE3IiBoZWlnaHQ9Ijc5MyIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTE5MTcgMEgzOTYuNUMxNzcuNTE5IDAgMCAxNzcuNTIgMCAzOTYuNVMxNzcuNTE5IDc5MyAzOTYuNSA3OTNIMTkxN3oiLz4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9Ijk1OC41IiB4Mj0iOTU4LjUiIHkxPSI3OTMiIHkyPSIwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNkZmY3ZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZjRmN2Y4Ii8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KPC9zdmc+") no-repeat center left/100% auto;
}
@media screen and (max-width: 1024px) {
  .p-departments {
    padding-inline: 32px;
  }
}
@media screen and (max-width: 600px) {
  .p-departments {
    padding-inline: 16px;
    background: none;
  }
}
.p-departments__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 20px;
}
@media screen and (max-width: 600px) {
  .p-departments__list {
    flex-direction: column;
  }
}
.p-departments__item {
  width: calc((100% - 60px) / 4);
  min-height: 511px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 8px 8px 8px 0 rgba(51, 51, 51, 0.15);
}
@media screen and (max-width: 820px) {
  .p-departments__item {
    width: calc((100% - 40px) / 3);
  }
}
@media screen and (max-width: 600px) {
  .p-departments__item {
    width: 100%;
  }
}
.p-departments__item.is-row {
  width: 100%;
  min-height: initial;
}
.p-departments__item.is-row .p-departments__link {
  display: flex;
  padding-right: 136px;
}
@media screen and (max-width: 600px) {
  .p-departments__item.is-row .p-departments__link {
    flex-direction: column;
    padding-right: 0;
  }
}
.p-departments__item.is-row .p-departments__figure {
  max-width: 267px;
  margin-bottom: 0;
}
@media screen and (max-width: 600px) {
  .p-departments__item.is-row .p-departments__figure {
    max-width: initial;
    margin-bottom: 56px;
  }
}
.p-departments__item.is-row .p-departments__image-wrap {
  border-radius: 10px 0 0 10px;
}
@media screen and (max-width: 600px) {
  .p-departments__item.is-row .p-departments__image-wrap {
    border-radius: 10px 10px 0 0;
  }
}
.p-departments__item.is-row .p-departments__icon {
  top: 50%;
  right: -40px;
  bottom: initial;
  left: initial;
  transform: translate(0, -50%);
}
@media screen and (max-width: 600px) {
  .p-departments__item.is-row .p-departments__icon {
    top: initial;
    right: 50%;
    bottom: -38px;
    transform: translate(50%);
  }
}
.p-departments__item.is-row .p-departments__link {
  padding-bottom: 0;
  background-position: top 50% right 24px;
}
@media screen and (max-width: 600px) {
  .p-departments__item.is-row .p-departments__link {
    background: url("https://xs688150.xsrv.jp/kurosawa/wp-content/uploads/link-arrow.webp") no-repeat right 24px bottom 20px/35px 35px;
  }
}
.p-departments__item.is-row .p-departments__link > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 24px 0 24px 96px;
}
@media screen and (max-width: 600px) {
  .p-departments__item.is-row .p-departments__link > div {
    padding: 0 24px 64px 24px;
  }
}
.p-departments__item.is-row .p-departments__name {
  margin-bottom: 16px;
  text-align: left;
}
@media screen and (max-width: 600px) {
  .p-departments__item.is-row .p-departments__name {
    width: 100%;
    text-align: center;
  }
  .p-departments__item.is-row .p-departments__name::before {
    display: none !important;
  }
  .p-departments__item.is-row .p-departments__name::after {
    display: block !important;
    margin-bottom: 12px;
    font-family: var(--ff-roboto);
    font-size: 1.4rem;
    font-weight: 700;
    content: attr(data-sub);
    color: var(--color-accent);
  }
}
.p-departments__item.is-row .p-departments__name::before {
  display: block;
  margin-bottom: 12px;
  font-family: var(--ff-roboto);
  font-size: 1.4rem;
  font-weight: 700;
  content: attr(data-sub);
  color: var(--color-accent);
}
.p-departments__item.is-row .p-departments__name::after {
  display: none;
}
.p-departments__item.is-row .p-departments__read {
  padding: 0;
  text-align: left;
}
.p-departments__link {
  display: block;
  height: 100%;
  padding-bottom: 64px;
  background: url("https://xs688150.xsrv.jp/kurosawa/wp-content/uploads/link-arrow.webp") no-repeat right 24px bottom 20px/35px 35px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  transition: opacity 0.3s;
}
.p-departments__link:hover .p-departments__image {
  transform: scale(1.08);
}
.p-departments__figure {
  position: relative;
  aspect-ratio: 267/194;
  margin-bottom: 50px;
}
.p-departments__figure img {
  display: block;
}
.p-departments__image {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 300ms ease-in-out;
}
.p-departments__image-wrap {
  height: 100%;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}
.p-departments__icon {
  position: absolute;
  bottom: -40px;
  left: 50%;
  z-index: 2;
  width: 76px;
  height: 76px;
  transform: translateX(-50%);
}
.p-departments__name {
  margin-bottom: 10px;
  font-family: var(--ff-zen-maru);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  color: var(--color-key-d);
}
.p-departments__name::after {
  display: block;
  margin-block: 12px;
  font-family: var(--ff-roboto);
  font-size: 1.4rem;
  font-weight: 700;
  content: attr(data-sub);
  color: var(--color-accent);
}
.p-departments__read {
  padding-inline: 19px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.66;
}

.p-en__nav-content {
  width: 100%;
  max-width: 1130px;
  margin: 48px auto 72px auto;
}
.p-en__nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
  justify-content: flex-start;
  align-items: stretch;
}
.p-en__nav-item {
  width: calc((100% - 10px * (4 - 1)) / 4);
  flex: 0 0 calc((100% - 10px * (4 - 1)) / 4);
  overflow: hidden;
  background: #FFF;
  border: 1px solid #CECECE;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
  border-radius: 10px;
}
@media screen and (max-width: 1024px) {
  .p-en__nav-item {
    width: calc((100% - 10px * (3 - 1)) / 3);
    flex: 0 0 calc((100% - 10px * (3 - 1)) / 3);
  }
}
@media screen and (max-width: 600px) {
  .p-en__nav-item {
    width: calc((100% - 10px * (2 - 1)) / 2);
    flex: 0 0 calc((100% - 10px * (2 - 1)) / 2);
  }
}
.p-en__nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 16px 32px;
  font-size: clamp(15px, 2.5vw, 16px);
  font-weight: 400;
  text-align: center;
  background: #fff;
  transition: all 400ms ease-in-out;
}

@media screen and (max-width: 1024px) {
  body:has(.is-en) .p-main-visual__image {
    aspect-ratio: 5/4;
  }
}
@media screen and (max-width: 1024px) {
  body:has(.is-en) .p-main-visual__content {
    position: static;
    padding: 24px 0;
  }
}
body:has(.is-en) .p-main-visual__content::before, body:has(.is-en) .p-main-visual__content::after {
  display: none;
}
@media screen and (max-width: 1024px) {
  body:has(.is-en) .p-main-visual__info {
    position: static;
    width: 100%;
    margin: 0 auto;
  }
}
body:has(.is-en) .p-footer {
  margin-top: 160px;
}
body:has(.is-en) .p-footer-photo {
  margin: 0 calc(var(--wp--style--root--padding-right) * -1) calc(var(--wp--preset--spacing--60) * -1) calc(var(--wp--style--root--padding-right) * -1);
}
body:has(.is-en) footer.wp-block-template-part {
  display: none;
}

/* ==================================== */
/* Block: p-floor-map */
/* ==================================== */
.p-floor-map-container {
  padding: 0;
}
.p-floor-map-container #main-slider {
  max-width: 830px;
  margin-left: auto;
  margin-right: auto;
}
.p-floor-map-container {
  /* Element: p-floor-map__slide (個々のスライド) */
}
.p-floor-map-container .splide__slide {
  background-color: #fff;
}
.p-floor-map-container .splide__slide img {
  width: 100%;
  height: 100%;
  max-height: 510px;
  display: block;
  margin: 10px auto 0;
  border: 24px solid var(--color-border);
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 1024px) {
  .p-floor-map-container .splide__slide img {
    border: none;
  }
}
.p-floor-map-container .splide__arrow {
  top: calc(50% + 50px);
  width: 30px;
  height: 60px;
  background-color: transparent;
  border-radius: 0;
}
.p-floor-map-container .splide__arrow svg {
  display: none;
}
.p-floor-map-container .splide__arrow--prev {
  left: -88px;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMSIgaGVpZ2h0PSI2MCIgZmlsbD0ibm9uZSI+CiAgPHBhdGggc3Ryb2tlPSIjMmI5OWNiIiBkPSJtMzAuMzU0LjM1NC0zMCAzME0zMC4zNTQgNTkuNjQ2bC0zMC0zMCIvPgo8L3N2Zz4=") no-repeat center center/contain;
}
.p-floor-map-container .splide__arrow--next {
  right: -88px;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzEiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCAzMSA2MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGxpbmUgeTE9Ii0wLjUiIHgyPSI0Mi40MjY0IiB5Mj0iLTAuNSIgdHJhbnNmb3JtPSJtYXRyaXgoMC43MDcxMDcgMC43MDcxMDcgMC43MDcxMDcgLTAuNzA3MTA3IDAuNzA3MDMxIDApIiBzdHJva2U9IiMyQjk5Q0IiLz4KPGxpbmUgeDE9IjAuMzUzNDc4IiB5MT0iNTkuNjQ2NCIgeDI9IjMwLjM1MzUiIHkyPSIyOS42NDY0IiBzdHJva2U9IiMyQjk5Q0IiLz4KPC9zdmc+Cg==") no-repeat center center/contain;
}
.p-floor-map {
  /* Element: p-floor-map__nav-list (階数選択ナビゲーション) */
}
.p-floor-map__nav-list {
  display: flex;
  gap: 12px;
  margin: 0 0 80px 0;
  overflow-x: auto;
}
.p-floor-map {
  /* Element: p-floor-map__nav-item (ナビゲーションボタン) */
}
.p-floor-map__nav-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  width: calc((100% - 60px) / 6);
  padding: 8px 30px;
  font-family: var(--ff-roboto);
  font-size: 3.2rem;
  font-weight: 700;
  text-align: left;
  color: var(--color-key);
  background-color: #fff;
  border: 1px solid var(--color-key);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s;
}
@media screen and (max-width: 1024px) {
  .p-floor-map__nav-item {
    width: auto;
  }
}
.p-floor-map__nav-item:hover {
  color: #fff;
  background-color: var(--color-key);
}
.p-floor-map__nav-item {
  /* Modifier: p-floor-map__nav-item--active (アクティブ状態) */
}
.p-floor-map__nav-item--active {
  color: #fff;
  background-color: var(--color-key);
}
.p-floor-map-no {
  font-family: var(--ff-roboto);
  font-size: 64px;
  font-weight: 700;
  color: var(--color-key);
}

.p-footer {
  width: 100%;
}
.post-template .p-footer {
  margin-top: 104px;
}
@media screen and (max-width: 600px) {
  .post-template .p-footer {
    margin-top: 88px;
  }
}
.p-footer-contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 21px;
  text-align: center;
  width: 100%;
  max-width: 1230px;
  padding: 40px 0;
  margin: 0 auto 40px auto;
  border: 1px solid var(--color-border);
}
@media screen and (max-width: 1024px) {
  .p-footer-contact {
    max-width: calc(100% - 64px);
  }
}
@media screen and (max-width: 820px) {
  .p-footer-contact {
    padding: 24px;
  }
}
@media screen and (max-width: 600px) {
  .p-footer-contact {
    max-width: calc(100% - 48px);
    padding: 24px;
  }
}
.p-footer-contact__icon {
  width: 37px;
  height: 37px;
}
.p-footer-contact__heading {
  font-family: var(--ff-zen-maru);
  font-size: 2rem;
  font-weight: 700;
}
.p-footer-contact__read {
  font-size: 1.6rem;
  font-weight: 500;
}
.p-footer-contact__tel {
  font-family: var(--ff-roboto);
  font-size: 3rem;
  font-weight: 700;
  color: var(--color-key);
}
@media screen and (max-width: 600px) {
  .p-footer-contact__tel {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 600px) {
  .p-footer-contact__tel a {
    display: block;
  }
}
.p-footer-contact__fax {
  font-family: var(--ff-roboto);
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-key);
}
@media screen and (max-width: 600px) {
  .p-footer-contact__fax {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 600px) {
  .p-footer-contact__fax a {
    display: block;
  }
}
.p-footer-contact__address {
  font-size: 1.4rem;
  font-weight: 500;
}
.p-footer-nav {
  margin-bottom: 152px;
}
@media screen and (max-width: 1024px) {
  .p-footer-nav {
    margin-bottom: 96px;
  }
}
@media screen and (max-width: 600px) {
  .p-footer-nav {
    margin-bottom: 48px;
  }
}
.p-footer-nav__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
@media screen and (max-width: 600px) {
  .p-footer-nav__list {
    flex-direction: column;
    gap: 24px;
  }
}
.p-footer-nav__anchor {
  font-family: var(--ff-zen-maru);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--color-key);
}
.p-footer-photo {
  position: relative;
  z-index: 0;
  aspect-ratio: 1920/747;
  padding: 80px 24px 0 24px;
  text-align: center;
  background: url("http://xs688150.xsrv.jp/kurosawa/wp-content/uploads/footer-photo.webp") no-repeat center bottom/cover;
}
@media screen and (max-width: 1024px) {
  .p-footer-photo {
    padding-top: 0;
  }
}
@media screen and (max-width: 600px) {
  .p-footer-photo {
    aspect-ratio: 1/1;
  }
}
.p-footer-photo::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 440px;
  content: "";
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #FFF 100%);
}
@media screen and (max-width: 1024px) {
  .p-footer-photo::before {
    height: 100%;
  }
}
@media screen and (max-width: 600px) {
  .p-footer-photo::before {
    height: 100%;
  }
}
.p-footer__logo {
  position: relative;
  z-index: 3;
  margin-bottom: 24px;
}
.p-footer__logo picture {
  display: block;
  width: 100%;
  max-width: 350px;
  aspect-ratio: 35/8;
  margin-inline: auto;
}
@media screen and (max-width: 820px) {
  .p-footer__logo picture {
    max-width: 304px;
  }
}
@media screen and (max-width: 600px) {
  .p-footer__logo picture {
    max-width: 280px;
  }
}
.p-footer__logo picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-footer__address {
  position: relative;
  z-index: 3;
  margin-bottom: 12px;
  font-size: 1.6rem;
  text-align: center;
  color: #000;
}
.p-footer__tel {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 12px;
  padding-left: 40px;
  font-family: var(--ff-roboto);
  font-size: 3rem;
  font-weight: 700;
  color: #000;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTI2LjI1IDIwLjUyNXY0LjQyYTEuMjUgMS4yNSAwIDAgMS0xLjE2MyAxLjI0N3EtLjgxOC4wNTgtMS4zMzcuMDU4Yy0xMS4wNDYgMC0yMC04Ljk1NC0yMC0yMHEwLS41MTcuMDU4LTEuMzM4QTEuMjUgMS4yNSAwIDAgMSA1LjA1NSAzLjc1aDQuNDJhLjYyNS42MjUgMCAwIDEgLjYyMy41NjNxLjA0MS40MjkuMDguNjljLjI0OCAxLjczMy43NTcgMy40MiAxLjUxIDVhLjU3LjU3IDAgMCAxLS4xODQuNzFMOC44MDYgMTIuNjRhMTYuMyAxNi4zIDAgMCAwIDguNTU1IDguNTU1bDEuOTI1LTIuNjkyYS41NzUuNTc1IDAgMCAxIC43MTYtLjE4NyAxNy40IDE3LjQgMCAwIDAgNSAxLjUwN3EuMjYuMDM2LjY4OC4wOGEuNjI1LjYyNSAwIDAgMSAuNTYuNjIyIi8+Cjwvc3ZnPg==") no-repeat center left/32px 32px;
}

body.home .p-footer-contact {
  display: none;
}

.p-foreign-doctor + .p-foreign-doctor {
  margin-top: 40px;
}
.p-foreign-doctor__scroll {
  position: relative;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}
.p-foreign-doctor__scroll::-webkit-scrollbar {
  height: 6px;
}
.p-foreign-doctor__scroll::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 3px;
}
.p-foreign-doctor__scroll-hint {
  display: none;
}
@media screen and (max-width: 600px) {
  .p-foreign-doctor__scroll-hint {
    display: block;
    margin-top: 6px;
    font-size: 1.4rem;
  }
}
.p-foreign-doctor__table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
}
.p-foreign-doctor__table th,
.p-foreign-doctor__table td {
  width: 14.28%;
  padding: 5px;
  font-size: 1.6rem;
  font-weight: 400;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  vertical-align: middle;
}
.p-foreign-doctor__caption {
  padding: 8px;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: left;
  color: var(--color-key);
}
.p-foreign-doctor__thead {
  background-color: var(--color-accent);
}
.p-foreign-doctor__thead th {
  font-weight: 700;
  text-align: center;
  color: #fff;
}
.p-foreign-doctor__th {
  padding: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  color: #fff;
  vertical-align: middle;
}
.p-foreign-doctor__time {
  padding: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
  background-color: #e7f7fe;
}
.p-foreign-doctor__cell {
  padding: 5px;
  font-size: 1.6rem;
  text-align: center;
  vertical-align: middle;
}

.p-group {
  width: 100%;
  padding: 104px 32px;
  margin-top: 0;
  background-color: var(--color-accent);
}
.p-group__heading {
  margin-bottom: 24px;
  font-family: var(--ff-zen-maru);
  font-size: 2.4rem;
  font-weight: 700;
  color: #fff;
}
.p-group__heading br {
  display: none;
}
@media screen and (max-width: 600px) {
  .p-group__heading br {
    display: block;
  }
}
.p-group__list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.p-group__item {
  width: calc((100% - 60px) / 4);
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 1024px) {
  .p-group__item {
    width: calc((100% - 40px) / 3);
  }
}
@media screen and (max-width: 820px) {
  .p-group__item {
    width: calc((100% - 20px) / 2);
  }
}
@media screen and (max-width: 600px) {
  .p-group__item {
    width: 100%;
  }
}
.p-group__item:hover {
  box-shadow: 0 0px 8px 0 rgba(0, 0, 0, 0.5);
  opacity: 1;
}
.p-group__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 6px 16px 6px 6px;
  background-color: #fff;
  transition: all 300ms ease-in-out;
}
.p-group__figure {
  display: flex;
  align-items: center;
  gap: 12px;
}
.p-group__image {
  flex-shrink: 0;
  width: 70px;
  aspect-ratio: 1/1;
  border-radius: 7px;
}
.p-group__name {
  font-family: var(--ff-zen-maru);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.56;
  color: #000;
}
.p-group__icon {
  flex-shrink: 0;
}

/* ----------------------------------
   Project: 理事長挨拶
---------------------------------- */
.p-greeting {
  padding: 160px 0;
  background-color: #fff;
}
@media screen and (max-width: 600px) {
  .p-greeting {
    padding: 60px 0;
  }
}
.p-greeting__inner {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 0 20px;
}
.p-greeting__catch {
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 60px;
  padding-bottom: 15px;
  display: inline-block;
  width: 100%;
  position: relative;
}
.p-greeting__catch::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 2px;
  background-color: #8bcdeb;
}
@media screen and (max-width: 600px) {
  .p-greeting__catch {
    font-size: 2rem;
    margin-bottom: 40px;
  }
}
.p-greeting__profile {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 40px;
  margin-bottom: 50px;
}
@media screen and (max-width: 600px) {
  .p-greeting__profile {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }
}
.p-greeting__img {
  width: 350px;
  flex-shrink: 0;
}
.p-greeting__img img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}
.p-greeting__name-box {
  text-align: left;
}
@media screen and (max-width: 600px) {
  .p-greeting__name-box {
    text-align: center;
  }
}
.p-greeting__position {
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 15px;
}
.p-greeting__kana {
  font-size: 1.2rem;
  font-weight: 500;
  margin-bottom: 5px;
  letter-spacing: 0.1em;
}
.p-greeting__name {
  font-family: "Shippori Mincho", serif;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.p-greeting__body p {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2;
  margin-bottom: 2em;
  text-align: justify;
}
.p-greeting__body p:last-child {
  margin-bottom: 0;
}

.p-guide {
  margin-bottom: 144px;
}
.p-guide__box {
  display: flex;
  align-items: flex-start;
  gap: 80px;
  width: 100%;
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: 1px solid var(--color-border);
}
@media screen and (max-width: 1024px) {
  .p-guide__box {
    gap: 40px;
    padding-inline: 32px;
  }
}
@media screen and (max-width: 600px) {
  .p-guide__box {
    flex-direction: column;
    gap: 24px;
    padding-inline: 16px;
  }
}
.p-guide__content {
  width: calc(100% - 630px);
}
@media screen and (max-width: 1024px) {
  .p-guide__content {
    width: calc(100% - 440px);
  }
}
@media screen and (max-width: 600px) {
  .p-guide__content {
    width: 100%;
  }
}
.p-guide__heading {
  font-family: var(--ff-zen-maru);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 600px) {
  .p-guide__heading {
    font-size: 2.4rem;
  }
}
.p-guide__heading::after {
  display: block;
  margin-block: 8px 32px;
  font-family: var(--ff-roboto);
  font-size: 1.5rem;
  font-weight: 700;
  content: attr(data-sub);
  text-align: left;
  color: var(--color-key);
}
@media screen and (max-width: 600px) {
  .p-guide__heading::after {
    font-size: 1.3rem;
  }
}
.p-guide__read {
  margin-bottom: 16px;
  font-family: var(--ff-zen-maru);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 600px) {
  .p-guide__read {
    font-size: 1.8rem;
  }
}
.p-guide__read span {
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 600px) {
  .p-guide__read span {
    display: block;
  }
}
.p-guide__btns {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 32px;
}
.p-guide__figure {
  width: 100%;
  max-width: 550px;
  aspect-ratio: 5/3;
  overflow: hidden;
  border-radius: 20px;
}
@media screen and (max-width: 1024px) {
  .p-guide__figure {
    max-width: 400px;
  }
}
.p-guide__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-header {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1880px;
  padding-top: 8px;
  margin: 0 auto 32px auto !important;
  opacity: 1;
  transform: translateX(-50%);
  transition: all 300ms ease-in-out;
}
@media screen and (max-width: 1024px) {
  .p-header {
    padding-bottom: 8px;
    padding-left: 16px;
    margin: 0 !important;
    background-color: #fff;
  }
}
.p-header.is-hide {
  opacity: 0;
  transform: translate(-50%, -100%);
}
.p-header__nav {
  width: 720px;
  overflow: hidden;
}
.p-header__nav.is-left {
  border-radius: 10px 0 20px 0;
}
.p-header__nav.is-right {
  border-radius: 0 10px 0 20px;
}
.p-header__nav-list {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
}
.p-header__nav-item {
  width: calc((100% - 8px) / 3);
}
.p-header__nav-anchor {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 67px;
  font-family: var(--ff-zen-maru);
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  background-color: var(--color-accent);
}
.p-header__nav-anchor.is-current {
  background-color: var(--color-key);
}
.p-header__nav-anchor.is-change {
  gap: 16px;
}
.p-header__nav-anchor.is-change button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  font-size: 16px;
  color: #333;
  background-color: #fff;
  border-radius: 100px;
}
.p-header__nav-anchor.is-change button + button {
  margin-left: -10px;
}
.p-header__nav-anchor.is-change button.is-active {
  color: #fff;
  background-color: #333;
}
@media screen and (max-width: 1024px) {
  .p-header__nav {
    display: none;
  }
}
.p-header__logo picture img {
  width: 256px;
  height: auto;
}

.p-history {
  background-color: #fff;
  padding: 80px 0;
}
.p-history__inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
}
.p-history {
  /* ----------------------------------
     注釈エリア（修正箇所）
  ---------------------------------- */
}
.p-history__note {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #e3e3e3;
  position: relative;
  width: 100%;
}
.p-history__note::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 224px;
  height: 2px;
  background-color: #0090d2;
}
.p-history {
  /* ----------------------------------
     沿革テーブル
  ---------------------------------- */
}
.p-history__table {
  width: 100%;
  font-size: 1.6rem;
  border: 1px solid #e3e3e3;
  border-collapse: collapse;
}
.p-history__table tr {
  border-bottom: 1px solid #e3e3e3;
}
.p-history__table tr:last-child {
  border-bottom: 1px solid #e3e3e3;
}
.p-history__table th {
  background-color: #e4f6ff;
  font-weight: 700;
  padding: 20px;
  text-align: left;
  width: 25%;
  vertical-align: top;
  white-space: nowrap;
}
@media screen and (max-width: 600px) {
  .p-history__table th {
    display: block;
    width: 100%;
    white-space: normal;
    border-bottom: none;
  }
}
.p-history__table td {
  font-weight: 500;
  padding: 20px;
  text-align: left;
  line-height: 1.8;
  vertical-align: top;
}
@media screen and (max-width: 600px) {
  .p-history__table td {
    display: block;
    width: 100%;
    padding-top: 5px;
    padding-left: 20px;
  }
}

.p-information {
  display: flex;
  align-items: stretch;
  width: 100%;
  max-width: 1250px;
  min-height: 88px;
  margin: 0 auto 96px auto;
  overflow: hidden;
  border: 1px solid var(--color-key);
  border-radius: 12px;
  background: url("https://xs688150.xsrv.jp/kurosawa/wp-content/uploads/link-arrow.webp") no-repeat center right 24px/35px 35px;
}
@media screen and (max-width: 1024px) {
  .p-information {
    width: 90%;
  }
}
@media screen and (max-width: 820px) {
  .p-information {
    width: 60%;
    flex-direction: column;
    gap: 24px;
    height: initial;
    background: none;
  }
}
@media screen and (max-width: 600px) {
  .p-information {
    width: calc(100% - 32px);
  }
}
.p-information__header {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 256px;
  background-color: #e7f7fe;
}
@media screen and (max-width: 820px) {
  .p-information__header {
    width: 100%;
    min-height: 56px;
    background: #e7f7fe url("https://xs688150.xsrv.jp/kurosawa/wp-content/uploads/link-arrow.webp") no-repeat center right 18px/28px 28px;
  }
}
.p-information__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 21px;
  font-family: var(--ff-zen-maru);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-key);
}
@media screen and (max-width: 820px) {
  .p-information__title {
    gap: 16px;
    font-size: 2rem;
  }
}
.p-information__title svg {
  flex-shrink: 0;
}
.p-information__list {
  margin-left: 40px;
}
@media screen and (max-width: 820px) {
  .p-information__list {
    padding: 0 24px 32px 24px;
    margin: 0;
  }
}
.p-information__list li {
  display: flex;
  align-items: center;
  gap: 32px;
}
@media screen and (max-width: 820px) {
  .p-information__list li {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
.p-information__list li + .p-information__list li {
  margin-top: 8px;
}
@media screen and (max-width: 820px) {
  .p-information__list li + .p-information__list li {
    margin-top: 24px;
  }
}
.p-information__date {
  font-size: 1.6rem;
  color: var(--color-key);
}
@media screen and (max-width: 600px) {
  .p-information__date {
    font-size: 1.5rem;
  }
}
.p-information__link {
  display: inline-block;
  font-size: 1.6rem;
  color: var(--color-text);
  text-decoration: underline;
  transition: opacity 0.3s;
}
@media screen and (max-width: 600px) {
  .p-information__link {
    font-size: 1.5rem;
    text-decoration: none;
  }
}
.p-information__link:hover {
  text-decoration: none;
  opacity: 0.7;
}
.p-information__wrap {
  padding-block: 24px;
}

.p-interview {
  width: 100%;
  padding: 112px 32px 80px 32px;
  background: url("http://xs688150.xsrv.jp/kurosawa/wp-content/uploads/interview-bg-pc.webp") no-repeat center center/cover;
}
@media screen and (max-width: 600px) {
  .p-interview {
    background: url("http://xs688150.xsrv.jp/kurosawa/wp-content/uploads/interview-bg-sp-scaled.webp") no-repeat center center/cover;
  }
}
.p-interview__item {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media screen and (max-width: 600px) {
  .p-interview__item {
    gap: 32px;
  }
}
.p-interview__item li {
  width: calc((100% - 72px) / 4);
  margin-top: 0 !important;
  overflow: hidden;
  border-radius: 8px;
  transition: all 300ms ease-in-out;
}
.p-interview__item li:hover {
  filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.4));
}
.p-interview__item li:hover .p-interview__link {
  opacity: 1;
}
.p-interview__item li:hover .p-interview__image img {
  transform: scale(1.08);
}
@media screen and (max-width: 600px) {
  .p-interview__item li {
    width: 100%;
  }
}
.p-interview__item li a {
  display: block;
  height: 100%;
  font-weight: 400;
  color: #000;
}
.p-interview__image {
  aspect-ratio: 9/7;
  overflow: hidden;
}
.p-interview__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 300ms ease-in-out;
}
.p-interview__content {
  padding: 24px 24px 32px 24px;
  background-color: #fff;
}
.p-interview__doctor-name {
  max-width: initial;
  font-size: 1.5rem;
  text-align: left;
  line-height: 1.7;
}

.p-lecture__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.p-lecture__list li {
  width: calc((100% - 72px) / 4);
  height: 96px;
  margin: 0 !important;
  border: 1px solid #2b99cb;
  border-radius: 10px;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 820px) {
  .p-lecture__list li {
    width: calc((100% - 48px) / 3);
  }
}
@media screen and (max-width: 600px) {
  .p-lecture__list li {
    width: 100%;
  }
}
.p-lecture__list li .wp-block-post-title {
  display: block;
  width: 100%;
  height: 100%;
}
.p-lecture__list li .wp-block-post-title a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
}

.p-magazine {
  padding: 160px 0 80px 0;
  background-color: #fff;
}
@media screen and (max-width: 600px) {
  .p-magazine {
    padding-top: 60px;
  }
}
.p-magazine__inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
}
.p-magazine {
  /* ----------------------------------
     上部テキストエリア
  ---------------------------------- */
}
.p-magazine__intro {
  border-radius: 20px;
  padding: 60px;
  margin-bottom: 60px;
  text-align: left;
  background-color: #f9f9f9;
}
@media screen and (max-width: 600px) {
  .p-magazine__intro {
    padding: 30px 20px;
    border-radius: 12px;
    margin-bottom: 40px;
  }
}
.p-magazine__text {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2;
  margin-bottom: 30px;
}
.p-magazine__text:last-child {
  margin-bottom: 0;
}
.p-magazine__catch {
  font-size: 2.4rem;
  font-weight: 700;
  color: #0090d2;
  line-height: 1.6;
  margin-bottom: 30px;
}
@media screen and (max-width: 600px) {
  .p-magazine__catch {
    font-size: 2rem;
  }
}
.p-magazine {
  /* ----------------------------------
     画像エリア
  ---------------------------------- */
}
.p-magazine__visual {
  text-align: center;
  margin-bottom: 60px;
}
.p-magazine__visual img {
  width: 100%;
  max-width: 450px;
  height: auto;
}
.p-magazine {
  /* ----------------------------------
     ダウンロードボタン
  ---------------------------------- */
}
.p-magazine__action {
  width: 100%;
}
.p-magazine__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  padding: 24px 20px;
  background-color: #fff;
  border: 2px solid #0090d2;
  border-radius: 12px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.p-magazine__btn:hover {
  background-color: #0090d2;
}
.p-magazine__btn:hover .p-magazine__btn-text {
  color: #fff;
}
.p-magazine__btn:hover .p-magazine__btn-icon {
  filter: brightness(0) invert(1);
}
.p-magazine__btn-text {
  font-size: 2rem;
  font-weight: 700;
  color: #0090d2;
  transition: color 0.3s ease;
}
.p-magazine__btn-icon {
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: auto;
  transition: filter 0.3s ease;
}
@media screen and (max-width: 600px) {
  .p-magazine__btn-icon {
    right: 20px;
    width: 24px;
  }
}

.p-main-visual {
  position: relative;
  width: 100%;
  max-width: 1880px;
  margin-top: 115px !important;
  margin-inline: auto;
  border-radius: 10px;
}
@media screen and (max-width: 600px) {
  .p-main-visual {
    aspect-ratio: 1/1;
    margin-top: 78px !important;
    margin-bottom: 64px;
    border-radius: 0;
  }
}
.p-main-visual.is-en {
  margin-top: 0 !important;
}
@media screen and (max-width: 600px) {
  .p-main-visual.is-en {
    margin-top: 0 !important;
  }
}
.p-main-visual.is-en .p-main-visual__heading br {
  display: block;
}
.p-main-visual__image {
  aspect-ratio: 2/0.65;
}
@media screen and (max-width: 1024px) {
  .p-main-visual__image {
    aspect-ratio: 5/2;
  }
}
@media screen and (max-width: 820px) {
  .p-main-visual__image {
    aspect-ratio: 2/1;
  }
}
@media screen and (max-width: 600px) {
  .p-main-visual__image {
    aspect-ratio: 1/1;
  }
}
.p-main-visual__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
.p-main-visual__content {
  position: absolute;
  bottom: 64px;
  left: 0;
  padding: 16px 40px 16px 72px;
  background-color: #fff;
  border-radius: 0 100px 100px 0;
}
@media screen and (max-width: 1024px) {
  .p-main-visual__content {
    padding-left: 40px;
  }
}
@media screen and (max-width: 600px) {
  .p-main-visual__content {
    top: 220px;
    bottom: initial;
    padding-left: 24px;
  }
}
.p-main-visual__content::before {
  position: absolute;
  top: -36px;
  left: -4px;
  display: block;
  width: 39px;
  height: 39px;
  content: "";
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzOSIgaGVpZ2h0PSIzOSIgZmlsbD0ibm9uZSI+CiAgPGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik00LjAwNyAwSDB2MzloMzl2LTQuMDM4QzE5LjY4NCAzNC45NjQgNC4wMjMgMTkuMzEyIDQuMDA3IDAiLz4KICA8L2c+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImEiPgogICAgICA8cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDM5djM5SDB6Ii8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KPC9zdmc+") no-repeat center center/contain;
}
@media screen and (max-width: 600px) {
  .p-main-visual__content::before {
    top: -36px;
    left: -6px;
  }
}
@media screen and (max-width: 600px) {
  .p-main-visual__content::after {
    position: absolute;
    bottom: -36px;
    left: -6px;
    display: block;
    width: 39px;
    height: 39px;
    content: "";
    background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzOSIgaGVpZ2h0PSIzOSIgZmlsbD0ibm9uZSI+CiAgPGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik00LjAwNyAwSDB2MzloMzl2LTQuMDM4QzE5LjY4NCAzNC45NjQgNC4wMjMgMTkuMzEyIDQuMDA3IDAiLz4KICA8L2c+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImEiPgogICAgICA8cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDM5djM5SDB6Ii8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KPC9zdmc+") no-repeat center center/contain;
    transform: scaleY(-1);
  }
}
.p-main-visual__heading {
  font-family: var(--ff-zen-maru);
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--color-key-d);
}
.p-main-visual__heading br {
  display: none;
}
@media screen and (max-width: 1024px) {
  .p-main-visual__heading br {
    display: block;
  }
}
@media screen and (max-width: 600px) {
  .p-main-visual__heading {
    font-size: 2rem;
  }
}
.p-main-visual__subheading {
  display: block;
  margin-top: 8px;
  font-size: 1.6rem;
}
@media screen and (max-width: 600px) {
  .p-main-visual__subheading {
    font-size: 1.3rem;
  }
}
.p-main-visual__info {
  position: absolute;
  top: 60px;
  right: 0;
  z-index: 1;
  font-family: var(--ff-zen-maru);
}
@media screen and (max-width: 600px) {
  .p-main-visual__info {
    top: initial;
    z-index: 10;
    margin: -48px auto 0 auto;
    border-radius: 16px;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
  }
}
.p-main-visual__info-group + .p-main-visual__info-group {
  margin-top: 16px;
}
.p-main-visual__info-group p {
  font-size: 14px;
  font-weight: 500;
}
.p-main-visual__info-group p.is-large {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .p-main-visual__info-group p.is-large {
    font-size: 15px;
  }
}
@media screen and (max-width: 600px) {
  .p-main-visual__info-group p {
    font-size: 12px;
  }
}
.p-main-visual__info-title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  color: var(--color-key);
}
@media screen and (max-width: 600px) {
  .p-main-visual__info-title {
    font-size: 1.8rem;
  }
}
.p-main-visual__info-btnBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 96px;
}
@media screen and (max-width: 600px) {
  .p-main-visual__info-btnBox {
    width: 64px;
  }
}
.p-main-visual__info-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: 100%;
  padding: 36px 32px 40px 32px;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(180deg, #0090D2 0%, #8BCDEB 100%);
  border-radius: 10px 0 0 10px;
}
@media screen and (max-width: 600px) {
  .p-main-visual__info-btn {
    padding: 16px;
    font-size: 1.6rem;
  }
}
.p-main-visual__info-sns {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100%;
  padding: 24px 32px;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 10px 0 0 10px;
}
.p-main-visual__info-sns img {
  width: 32px;
  aspect-ratio: 1/1;
}
.p-main-visual__schedule + .p-main-visual__schedule {
  margin-top: 12px;
}
.p-main-visual__schedule-item + .p-main-visual__schedule-item {
  margin-top: 8px;
}
.p-main-visual__schedule-item dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 4px 16px 6px 16px;
  margin-bottom: 4px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background-color: var(--color-key);
  border-radius: 5px;
}
@media screen and (max-width: 600px) {
  .p-main-visual__schedule-item dt {
    font-size: 1.5rem;
  }
}
.p-main-visual__schedule-item dd {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 600px) {
  .p-main-visual__schedule-item dd {
    font-size: 1.6rem;
  }
}

.p-medical-facility {
  padding: 160px 0 80px 0;
}
@media screen and (max-width: 600px) {
  .p-medical-facility {
    padding-top: 60px;
  }
}
.p-medical-facility__inner {
  width: 100%;
  padding: 0 20px;
  display: flex;
  justify-content: center;
}
.p-medical-facility__list {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  width: 100%;
  max-width: 960px;
}
@media screen and (max-width: 600px) {
  .p-medical-facility__list {
    flex-direction: column;
    gap: 20px;
  }
}
.p-medical-facility {
  /* ----------------------------------
     Layout Wrapper (Item)
  ---------------------------------- */
}
.p-medical-facility__item {
  width: calc((100% - 64px) / 3);
  display: flex;
}
@media screen and (max-width: 1024px) {
  .p-medical-facility__item {
    width: calc((100% - 32px) / 2);
  }
}
@media screen and (max-width: 600px) {
  .p-medical-facility__item {
    width: 100%;
  }
}
.p-medical-facility {
  /* ----------------------------------
     Card Link Component
     (見た目と動きはここに集約)
  ---------------------------------- */
}
.p-medical-facility__link {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 1px 1px 8px 0 rgba(0, 0, 0, 0.4);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.p-medical-facility__link:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  opacity: 1;
}
.p-medical-facility__link:hover .p-medical-facility__img img {
  transform: scale(1.05);
}
.p-medical-facility__img {
  width: 100%;
  height: 200px;
  overflow: hidden;
}
.p-medical-facility__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.p-medical-facility__body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  text-align: center;
}
.p-medical-facility__name {
  font-size: 2.2rem;
  font-weight: 700;
  color: #005b94;
  line-height: 1.4;
  margin-bottom: 5px;
}
.p-medical-facility__location {
  font-size: 1.4rem;
  font-weight: 700;
  color: #8bcdeb;
  margin-bottom: 20px;
}
.p-medical-facility__text {
  font-size: 1.5rem;
  font-weight: 500;
  color: #000;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 30px;
}
.p-medical-facility__arrow {
  margin-top: auto;
  display: flex;
  justify-content: flex-end;
  color: #8bcdeb;
}
.p-medical-facility__arrow svg {
  display: block;
}

.p-medical__inner .c-heading--main {
  padding-inline: 16px;
}

.p-medical {
  padding: 104px 32px;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOTE3IiBoZWlnaHQ9IjkxOCIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTE5MTcgMEg0NTlDMjA1LjUwMSAwIDAgMjA1LjUgMCA0NTlzMjA1LjUwMSA0NTkgNDU5IDQ1OWgxNDU4eiIvPgogIDxkZWZzPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOTU4LjUiIHgyPSI5NTguNSIgeTE9IjkxOCIgeTI9IjAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI2RmZjdmZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmNGY3ZjgiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgo8L3N2Zz4=") no-repeat center left/100% auto;
}
@media screen and (max-width: 600px) {
  .p-medical {
    padding: 0 16px;
    background-image: none;
  }
}
.p-medical__inner:has(.c-btn) {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-medical__list {
  display: flex;
  flex-wrap: wrap;
  gap: 44px 50px;
}
@media screen and (max-width: 600px) {
  .p-medical__list {
    gap: 24px;
  }
}
.p-medical__item {
  width: calc((100% - 50px) / 2);
  overflow: hidden;
  border-left: 24px solid var(--color-key);
  border-radius: 10px;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
  transition: all 300ms ease-in-out;
}
@media screen and (max-width: 600px) {
  .p-medical__item {
    width: 100%;
  }
}
.p-medical__item:hover {
  box-shadow: 0 0px 8px 0 rgba(0, 0, 0, 0.5);
  opacity: 0.8;
}
.p-medical__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 80px;
  padding-inline: 48px;
  background-color: #fff;
}
@media screen and (max-width: 600px) {
  .p-medical__link {
    padding-inline: 24px;
  }
}
.p-medical__name {
  font-family: var(--ff-zen-maru);
  font-size: 2.2rem;
}
.p-medical__icon {
  width: 35px;
  aspect-ratio: 1/1;
}

.p-notice__inner {
  width: 100%;
}
.p-notice__header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 210px;
  padding: 40px 24px;
  margin: 0 auto 88px auto;
  background: linear-gradient(90deg, #E1F2F8 0%, #D7F3FA 40.38%, #E0F0F8 65.87%, #D2EEFF 99.52%);
  border-radius: 24px;
}
@media screen and (max-width: 820px) {
  .p-notice__header {
    height: auto;
  }
}
.p-notice__header::after {
  position: absolute;
  bottom: -110px;
  left: 50%;
  display: block;
  width: 2px;
  height: 110px;
  content: "";
  background-color: var(--color-key-d);
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 820px) {
  .p-notice__header::after {
    bottom: -56px;
    height: 56px;
  }
}
.p-notice__heading {
  font-family: var(--ff-zen-maru);
  font-size: 3.6rem;
  font-weight: 700;
  color: var(--color-accent2);
}
@media screen and (max-width: 600px) {
  .p-notice__heading {
    font-size: 2.8rem;
  }
}
.p-notice__box {
  width: 100%;
  max-width: 924px;
  margin-inline: auto;
}
.p-notice__box + .p-notice__box {
  margin-top: 104px;
}
.p-notice__subheading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  height: 72px;
  margin-bottom: 56px;
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-accent2);
  background-color: #f0eee9;
  border-radius: 5px;
}
@media screen and (max-width: 820px) {
  .p-notice__subheading {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 600px) {
  .p-notice__subheading {
    margin-bottom: 24px;
    font-size: 1.8rem;
  }
}
.p-notice__subheading::after {
  display: block;
  width: 51px;
  height: 3px;
  content: "";
  background-color: var(--color-accent2);
  border-radius: 100px;
}
.p-notice__list {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 12px;
}
.p-notice__item {
  width: calc((100% - 24px) / 3);
}
@media screen and (max-width: 820px) {
  .p-notice__item {
    width: calc((100% - 12px) / 2);
  }
}
@media screen and (max-width: 600px) {
  .p-notice__item {
    width: 100%;
  }
}
.p-notice__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 10px 22px 22px;
  border-top: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  border-left: 17px solid var(--color-key);
  border-radius: 10px;
}
.p-notice__text {
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
}
.p-notice__icon {
  width: 21px;
  height: 15px;
}

.p-photo {
  max-width: initial;
}
.p-photo__heading {
  display: none;
}
.p-photo__list {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}
.p-photo__item {
  width: calc((100% - 64px) / 3);
}
@media screen and (max-width: 820px) {
  .p-photo__item {
    width: calc((100% - 32px) / 2);
  }
}
@media screen and (max-width: 600px) {
  .p-photo__item {
    width: 100%;
  }
}
.p-photo__figure {
  height: 100%;
  overflow: hidden;
  border-radius: 12px;
  filter: drop-shadow(1px 1px 6px rgba(0, 0, 0, 0.2));
}
.p-photo__image {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-photo__caption {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  padding: 16px;
  background-color: #fff;
}
.p-photo__title {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: left;
  color: var(--color-key);
}
.p-photo__text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.87;
  text-align: left;
}

.p-pickup {
  width: 100%;
  max-width: 1230px !important;
  margin-inline: auto !important;
}
@media screen and (max-width: 1024px) {
  .p-pickup {
    padding-inline: 32px;
  }
}
@media screen and (max-width: 600px) {
  .p-pickup {
    padding-inline: 16px;
  }
}
.p-pickup__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-bottom: 56px !important;
}
.p-pickup__list li {
  width: calc((100% - 24px * (3 - 1)) / 3);
  flex: 0 0 calc((100% - 24px * (3 - 1)) / 3);
  aspect-ratio: 5/4;
  margin: 0;
  border-radius: 10px;
  box-shadow: 8px 8px 8px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 820px) {
  .p-pickup__list li {
    width: calc((100% - 24px * (3 - 1)) / 3);
    flex: 0 0 calc((100% - 24px * (3 - 1)) / 3);
  }
}
@media screen and (max-width: 600px) {
  .p-pickup__list li {
    width: calc((100% - 0px * (1 - 1)) / 1);
    flex: 0 0 calc((100% - 0px * (1 - 1)) / 1);
  }
}
.p-pickup__item {
  height: 100%;
  overflow: hidden;
  background-color: #fff;
  border-radius: 10px;
}
.p-pickup__figure {
  position: relative;
  max-width: initial;
  height: 100%;
}
.p-pickup__figure .wp-block-post-featured-image {
  max-width: initial;
  height: 100%;
}
.p-pickup__figure .wp-block-post-featured-image a {
  padding: 4px;
}
.p-pickup__figure .wp-block-post-featured-image a:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  opacity: 1;
}
.p-pickup__figure .wp-block-post-featured-image a img {
  transition: transform 0.5s ease;
}
.p-pickup__figure .wp-block-post-featured-image a img:hover {
  transform: scale(1.05);
}
.p-pickup__figure img {
  width: 100%;
  height: 100%;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-pickup__heading {
  min-height: 3em;
  margin: 0 !important;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: left;
  color: #fff;
}
.p-pickup__heading-box {
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: initial;
  padding: 8px;
  background-color: rgba(0, 89, 130, 0.4);
}
.p-pickup__tag {
  margin: 0 !important;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
  color: #fff;
}
.p-pickup__read {
  max-width: initial;
  padding: 8px;
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: center;
  color: #000;
}

.p-privacy {
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 20px;
  color: #333;
}
.p-privacy__header {
  margin-bottom: 40px;
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 16px;
}
.p-privacy__title {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 28px;
  font-weight: normal;
  margin: 0 0 4px;
  letter-spacing: 0.05em;
}
.p-privacy__en {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  display: block;
  font-size: 12px;
  color: #b3b3b3;
  letter-spacing: 0.1em;
}
.p-privacy__intro {
  margin-bottom: 60px;
}
.p-privacy__text {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 1.8;
  margin: 0 0 16px;
}
.p-privacy__text:last-child {
  margin-bottom: 0;
}
.p-privacy__policy {
  margin-bottom: 40px;
}
.p-privacy__sub-title {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 24px;
  font-weight: normal;
  margin: 0 0 32px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e0e0e0;
  position: relative;
}
.p-privacy__sub-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 400px;
  max-width: 100%;
  height: 1px;
  background-color: var(--color-key);
}
.p-privacy__list {
  margin-bottom: 40px;
}
.p-privacy__item {
  margin-bottom: 24px;
}
.p-privacy__item:last-child {
  margin-bottom: 0;
}
.p-privacy__item-title {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 8px;
}
.p-privacy__item-text {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 1.8;
  margin: 0;
}
.p-privacy__footer {
  margin-bottom: 40px;
}
.p-privacy__actions {
  margin-bottom: 60px;
}
.p-privacy__action-item {
  margin-bottom: 24px;
}
.p-privacy__action-item:last-child {
  margin-bottom: 0;
}
.p-privacy__action-title {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 8px;
  line-height: 1.6;
}
.p-privacy__action-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-privacy__action-list-item {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 4px;
  padding-left: 1em;
  position: relative;
}
.p-privacy__action-list-item::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.p-privacy__action-list-item:last-child {
  margin-bottom: 0;
}
.p-privacy__note {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  line-height: 1.6;
  color: #555;
  margin: 0;
}
.p-privacy__anonymize {
  margin-top: 80px;
}
.p-privacy__btn-wrapper {
  margin-top: 40px;
  text-align: center;
}
.p-privacy__btn {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 20px 60px;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  border-radius: 8px;
  background: linear-gradient(90deg, var(--color-key) 0%, color-mix(in srgb, var(--color-key), white 25%) 100%);
  transition: opacity 0.3s ease;
}
.p-privacy__btn:hover {
  opacity: 0.8;
  color: #fff;
}
.p-privacy__address {
  padding: 16px 24px;
  margin-bottom: 16px;
  margin-left: -24px;
  font-size: 18px;
  background-color: #eee;
  border: 1px solid #ccc;
}
.p-privacy__address a {
  text-decoration: underline;
}
.p-privacy__address-box {
  padding-left: 24px;
  margin-bottom: 40px;
}
.p-privacy__address-ttl {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 600;
}

.p-recruit {
  padding-block: 136px;
  background-image: url("http://xs688150.xsrv.jp/kurosawa/wp-content/uploads/recruit-bg-pc.webp"), linear-gradient(0deg, #dff7ff 0%, #fff 100%);
  background-repeat: no-repeat, no-repeat;
  background-position: right bottom, center center;
  background-size: contain, cover;
}
@media screen and (max-width: 1024px) {
  .p-recruit {
    padding-inline: 32px;
    background: none;
  }
}
@media screen and (max-width: 600px) {
  .p-recruit {
    padding: 0 16px;
    margin-top: 64px;
  }
}
.p-recruit__read {
  max-width: 736px;
  margin-bottom: 32px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.75;
  text-align: left;
  color: #000;
  filter: drop-shadow(3px 3px 0px #fff);
}
@media screen and (max-width: 1024px) {
  .p-recruit__read {
    margin-inline: auto;
  }
}
@media screen and (max-width: 600px) {
  .p-recruit__read {
    font-size: 1.6rem;
  }
}
.p-recruit__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  max-width: 676px;
}
@media screen and (max-width: 1024px) {
  .p-recruit__list {
    margin-inline: auto;
  }
}
@media screen and (max-width: 600px) {
  .p-recruit__list {
    flex-direction: column;
  }
}
.p-recruit__item {
  width: calc((100% - 24px) / 2);
  background-color: #fff;
  box-shadow: 8px 8px 8px 0 rgba(51, 51, 51, 0.15);
}
@media screen and (max-width: 600px) {
  .p-recruit__item {
    width: 100%;
  }
}
.p-recruit__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-right: 24px;
}
.p-recruit__figure {
  position: relative;
  z-index: 1;
  max-width: 160px;
  aspect-ratio: 160/94;
}
.p-recruit__figure::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  content: "";
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFF 100%);
}
.p-recruit__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-recruit__name {
  font-family: var(--ff-zen-maru);
  font-size: 1.6rem;
  line-height: 1.5;
}
.p-recruit__icon {
  flex-shrink: 0;
  width: 17px;
  aspect-ratio: 1/1;
}
.p-recruit__photo {
  display: none;
}
@media screen and (max-width: 1024px) {
  .p-recruit__photo {
    display: block;
    text-align: center;
  }
}
@media screen and (max-width: 1024px) {
  .p-recruit__photo img {
    width: 60%;
  }
}
@media screen and (max-width: 600px) {
  .p-recruit__photo {
    margin-inline: calc((50vw - 50%) * -1);
  }
  .p-recruit__photo img {
    width: 100%;
  }
}

.p-support-center {
  background-color: #fbfbfb;
  padding: 80px 0;
}
@media screen and (max-width: 600px) {
  .p-support-center {
    padding: 60px 20px;
  }
}
.p-support-center__inner {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 60px;
}
@media screen and (max-width: 1024px) {
  .p-support-center__inner {
    padding-inline: 16px;
  }
}
@media screen and (max-width: 820px) {
  .p-support-center__inner {
    flex-direction: column-reverse;
    gap: 40px;
  }
}
@media screen and (max-width: 600px) {
  .p-support-center__inner {
    padding-inline: 0;
  }
}
.p-support-center {
  /* ----------------------------------
     左側コンテンツエリア
  ---------------------------------- */
}
.p-support-center__content {
  width: 35%;
}
@media screen and (max-width: 820px) {
  .p-support-center__content {
    width: 100%;
  }
}
.p-support-center__title {
  display: flex;
  align-items: center;
  gap: 15px;
  padding-bottom: 15px;
  margin-bottom: 30px;
  border-bottom: 2px solid #a7d3ea;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.4;
}
@media screen and (max-width: 600px) {
  .p-support-center__title {
    font-size: 1.8rem;
    gap: 10px;
  }
}
.p-support-center__logo {
  width: 50px;
  flex-shrink: 0;
}
.p-support-center__logo img {
  width: 100%;
  height: auto;
}
.p-support-center__text {
  margin-bottom: 30px;
}
.p-support-center__text p {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2;
  margin-bottom: 1.5em;
  color: #333;
}
.p-support-center__text p:last-child {
  margin-bottom: 0;
}
.p-support-center__link {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}
.p-support-center__arrow {
  display: block;
  width: 40px;
  transition: opacity 0.3s;
}
.p-support-center__arrow:hover {
  opacity: 0.7;
}
.p-support-center__arrow img {
  width: 100%;
  height: auto;
}
.p-support-center {
  /* ----------------------------------
     右側画像エリア
  ---------------------------------- */
}
.p-support-center__image {
  width: 60%;
}
@media screen and (max-width: 820px) {
  .p-support-center__image {
    width: 100%;
  }
}
.p-support-center__image img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  vertical-align: bottom;
}

.p-staff {
  background-color: #fff;
  padding: 160px 0 80px 0;
}
@media screen and (max-width: 600px) {
  .p-staff {
    padding-top: 60px;
  }
}
.p-staff__inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
}
.p-staff {
  /* ----------------------------------
     レイアウト（2カラム）
  ---------------------------------- */
}
.p-staff__content {
  display: flex;
  justify-content: space-between;
  gap: 60px;
  align-items: flex-start;
}
@media screen and (max-width: 820px) {
  .p-staff__content {
    flex-direction: column;
    gap: 50px;
  }
}
.p-staff__block {
  width: 48%;
}
@media screen and (max-width: 820px) {
  .p-staff__block {
    width: 100%;
  }
}
.p-staff__sub-heading {
  font-size: 2rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 20px;
}
.p-staff {
  /* ----------------------------------
     テーブルの微調整
     ※基本スタイルは .p-history__table が適用されます
  ---------------------------------- */
}
.p-staff__table th {
  width: 60%;
}
@media screen and (max-width: 1024px) {
  .p-staff__table th {
    width: 40%;
  }
}
@media screen and (max-width: 600px) {
  .p-staff__table th {
    width: 100%;
  }
}
.p-staff__table td {
  text-align: right;
}
.p-staff {
  /* ----------------------------------
     右下の注釈テキスト
  ---------------------------------- */
}
.p-staff__note-text {
  font-size: 1.4rem;
  font-weight: 500;
  text-align: right;
  margin-top: 10px;
  line-height: 1.6;
}

/* ----------------------------------
   Component: アウトラインボタン
   （汎用的に使えるよう独立したクラスで定義）
---------------------------------- */
.c-btn--outline {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 960px;
  padding: 24px 20px;
  background-color: #fff;
  border: 2px solid #0090d2;
  border-radius: 5px;
  color: #0090d2;
  font-size: 2.6rem;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.2;
  transition: all 0.3s ease;
}
.c-btn--outline:hover {
  background-color: #0090d2;
  color: #fff;
}
@media screen and (max-width: 600px) {
  .c-btn--outline {
    font-size: 1.8rem;
    padding: 16px 15px;
  }
}

/* ----------------------------------
   Project: 施設リンク一覧セクション
---------------------------------- */
.p-facility-links__inner {
  width: 100%;
  padding: 0 20px;
}
.p-facility-links__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 600px) {
  .p-facility-links__list {
    gap: 16px;
  }
}
.p-facility-links__item {
  width: 100%;
  display: flex;
  justify-content: center;
}

svg:has(#a-title.is-about) {
  max-width: 294.88px;
  height: 80px;
}
@media screen and (max-width: 600px) {
  svg:has(#a-title.is-about) {
    height: 50px;
  }
}
svg:has(#a-title.is-service) {
  max-width: 380px;
  height: 80px;
}
@media screen and (max-width: 600px) {
  svg:has(#a-title.is-service) {
    height: 50px;
  }
}
svg:has(#a-title.is-news) {
  max-width: 276px;
  height: 80px;
}
@media screen and (max-width: 600px) {
  svg:has(#a-title.is-news) {
    height: 50px;
  }
}

#a-catch-mask {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
}

.word {
  position: relative;
  display: block;
  overflow: hidden;
  line-height: 1.3;
}

.rect {
  position: absolute;
  top: 0;
  left: -75%;
  width: 172%;
  height: 47px;
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0), rgb(255, 255, 255) 10%);
}

#b-path {
  fill: none;
  stroke: #f18d00;
  stroke-width: 130px;
}
#b-path path {
  stroke-dasharray: 2974;
  /* 線の長さ */
  stroke-dashoffset: 2974;
  /* 線の開始位置 */
}

#ring-path path,
#ring-path-shadow path,
#ring-path-shadow2 path {
  fill: none;
  stroke: #f18d00;
  stroke-linecap: round;
  stroke-miterlimit: 10;
  stroke-width: 56px;
  /* 線の太さ */
}
#ring-path path#ring-path1, #ring-path path#ring-path1-s, #ring-path path#ring-path1-s2,
#ring-path-shadow path#ring-path1,
#ring-path-shadow path#ring-path1-s,
#ring-path-shadow path#ring-path1-s2,
#ring-path-shadow2 path#ring-path1,
#ring-path-shadow2 path#ring-path1-s,
#ring-path-shadow2 path#ring-path1-s2 {
  stroke-dasharray: 420;
  /* 線の長さ */
  stroke-dashoffset: 420;
  /* 線の開始位置 */
}
#ring-path path#ring-path2, #ring-path path#ring-path2-s, #ring-path path#ring-path2-s2,
#ring-path-shadow path#ring-path2,
#ring-path-shadow path#ring-path2-s,
#ring-path-shadow path#ring-path2-s2,
#ring-path-shadow2 path#ring-path2,
#ring-path-shadow2 path#ring-path2-s,
#ring-path-shadow2 path#ring-path2-s2 {
  stroke-dasharray: 352.6;
  /* 線の長さ */
  stroke-dashoffset: 352.6;
  /* 線の開始位置 */
}
#ring-path path#ring-path3, #ring-path path#ring-path3-s, #ring-path path#ring-path3-s2,
#ring-path-shadow path#ring-path3,
#ring-path-shadow path#ring-path3-s,
#ring-path-shadow path#ring-path3-s2,
#ring-path-shadow2 path#ring-path3,
#ring-path-shadow2 path#ring-path3-s,
#ring-path-shadow2 path#ring-path3-s2 {
  stroke-dasharray: 1027.5;
  /* 線の長さ */
  stroke-dashoffset: 1027.5;
  /* 線の開始位置 */
}
#ring-path path#ring-path4, #ring-path path#ring-path4-s, #ring-path path#ring-path4-s2,
#ring-path-shadow path#ring-path4,
#ring-path-shadow path#ring-path4-s,
#ring-path-shadow path#ring-path4-s2,
#ring-path-shadow2 path#ring-path4,
#ring-path-shadow2 path#ring-path4-s,
#ring-path-shadow2 path#ring-path4-s2 {
  stroke-dasharray: 1000.8;
  /* 線の長さ */
  stroke-dashoffset: 1000.8;
  /* 線の開始位置 */
}
#ring-path-gray path,
#ring-path-shadow-gray path,
#ring-path-shadow2-gray path {
  /* 線の太さ */
  opacity: 0.5;
  fill: none;
  stroke: #e2e4ea;
  stroke-linecap: round;
  stroke-miterlimit: 10;
  stroke-width: 56px;
}

#ring-path-shadow path {
  opacity: 0.6;
  stroke: #1cbbce;
}

#ring-path-shadow2 path {
  opacity: 0.3;
  stroke: #838480;
}

#js-perticle {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100vh;
}

canvas {
  display: block;
}

/* ---- particles.js container ---- */
#particles-js {
  position: absolute;
  width: 100%;
  height: 100vh;
  background-color: transparent;
  background-image: url("");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}

/* ---- stats.js ---- */
.count-particles {
  position: absolute;
  top: 48px;
  left: 0;
  width: 80px;
  padding-bottom: 2px;
  font-family: "Helvetica", "Arial", sans-serif;
  font-size: 0.8em;
  font-weight: bold;
  line-height: 14px;
  color: #13e8e9;
  text-align: left;
  text-indent: 4px;
  background: #002;
}

#aboutAnimation .cls-1 {
  fill: rgba(214, 220, 230, 0.6);
}
#aboutAnimation .cls-1,
#aboutAnimation .cls-2,
#aboutAnimation .cls-3,
#aboutAnimation .cls-4,
#aboutAnimation .cls-5,
#aboutAnimation .cls-6,
#aboutAnimation .cls-7,
#aboutAnimation .cls-8,
#aboutAnimation .cls-9,
#aboutAnimation .cls-10,
#aboutAnimation .cls-11,
#aboutAnimation .cls-12,
#aboutAnimation .cls-13,
#aboutAnimation .cls-14,
#aboutAnimation .cls-15,
#aboutAnimation .cls-16,
#aboutAnimation .cls-17,
#aboutAnimation .cls-18,
#aboutAnimation .cls-19,
#aboutAnimation .cls-20,
#aboutAnimation .cls-21,
#aboutAnimation .cls-22,
#aboutAnimation .cls-23 {
  stroke-width: 0;
}
#aboutAnimation .cls-24 {
  fill: none;
  stroke: #717071;
  stroke-miterlimit: 10;
  stroke-width: 1px;
}
#aboutAnimation .cls-25 {
  opacity: 0.3;
}
#aboutAnimation .cls-26 {
  opacity: 0.6;
}
#aboutAnimation .cls-27 {
  opacity: 0.5;
}
#aboutAnimation .cls-2 {
  fill: #f4ae99;
}
#aboutAnimation .cls-3 {
  fill: #77d1de;
}
#aboutAnimation .cls-4 {
  fill: #77aede;
}
#aboutAnimation .cls-5 {
  fill: #5b9199;
}
#aboutAnimation .cls-6 {
  fill: #28803a;
}
#aboutAnimation .cls-7 {
  fill: #717071;
}
#aboutAnimation .cls-8 {
  fill: #366bac;
}
#aboutAnimation .cls-9 {
  fill: #1278b2;
}
#aboutAnimation .cls-10 {
  fill: #dbac00;
}
#aboutAnimation .cls-11 {
  fill: #c0c1bf;
}
#aboutAnimation .cls-12 {
  fill: #b2cad6;
}
#aboutAnimation .cls-13 {
  fill: #bcc1c4;
}
#aboutAnimation .cls-14 {
  fill: #bfc1d9;
}
#aboutAnimation .cls-15 {
  fill: #c1cbe4;
}
#aboutAnimation .cls-16 {
  fill: #ba937e;
}
#aboutAnimation .cls-17 {
  fill: #85b22f;
}
#aboutAnimation .cls-18 {
  fill: #7d98ce;
}
#aboutAnimation .cls-19 {
  fill: #e67f11;
}
#aboutAnimation .cls-20 {
  fill: #e77e12;
}
#aboutAnimation .cls-21 {
  fill: #e4603c;
}
#aboutAnimation .cls-22 {
  fill: #e83828;
}
#aboutAnimation .cls-23 {
  fill: #e78913;
}

.ripple {
  position: absolute;
  top: 67%;
  left: 58%;
  transform: translateX(-50%);
}
.ripple span {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: animate 4.5s linear infinite;
}
@media screen and (max-width: 820px) {
  .ripple span {
    animation: animate-tb_min 4.5s linear infinite;
  }
}
@media screen and (max-width: 600px) {
  .ripple span {
    animation: animate-sp 4.5s linear infinite;
  }
}
.ripple span:nth-child(1) {
  animation-delay: 0s;
}
.ripple span:nth-child(2) {
  animation-delay: 1s;
}
.ripple span:nth-child(3) {
  animation-delay: 2s;
}
.ripple span:nth-child(4) {
  animation-delay: 3s;
}
.ripple span:nth-child(5) {
  animation-delay: 4s;
}
.ripple span:nth-child(6) {
  animation-delay: 5s;
}
.ripple span:nth-child(7) {
  animation-delay: 6s;
}
.ripple span:nth-child(8) {
  animation-delay: 7s;
}
.ripple span:nth-child(9) {
  animation-delay: 8s;
}
.ripple span:nth-child(10) {
  animation-delay: 9s;
}

@keyframes animate {
  0% {
    width: 0;
    height: 0;
    box-shadow: 0 0 15px rgba(241, 141, 0, 0.5);
  }
  50% {
    box-shadow: 0 0 15px rgba(241, 141, 0, 0.6) 0 0 15px rgba(241, 141, 0, 0.6);
  }
  90% {
    width: 700px;
    height: 700px;
    opacity: 1;
  }
  100% {
    width: 770px;
    height: 770px;
    box-shadow: 0 0 5px rgba(241, 141, 0, 0.7) 0 0 5px rgba(241, 141, 0, 0.7);
    opacity: 0;
  }
}
@keyframes animate-tb_min {
  0% {
    width: 0;
    height: 0;
    box-shadow: 0 0 15px rgba(241, 141, 0, 0.5);
  }
  50% {
    box-shadow: 0 0 15px rgba(241, 141, 0, 0.6) 0 0 15px rgba(241, 141, 0, 0.6);
  }
  90% {
    width: 600px;
    height: 600px;
    opacity: 1;
  }
  100% {
    width: 620px;
    height: 620px;
    box-shadow: 0 0 5px rgba(241, 141, 0, 0.7) 0 0 5px rgba(241, 141, 0, 0.7);
    opacity: 0;
  }
}
@keyframes animate-sp {
  0% {
    width: 0;
    height: 0;
    box-shadow: 0 0 15px rgba(241, 141, 0, 0.5);
  }
  50% {
    box-shadow: 0 0 15px rgba(241, 141, 0, 0.6) 0 0 15px rgba(241, 141, 0, 0.6);
  }
  90% {
    width: 300px;
    height: 300px;
    opacity: 1;
  }
  100% {
    width: 320px;
    height: 320px;
    box-shadow: 0 0 5px rgba(241, 141, 0, 0.7) 0 0 5px rgba(241, 141, 0, 0.7);
    opacity: 0;
  }
}
.a-hover-btn {
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: all 200ms ease;
}
.a-hover-btn span {
  position: relative;
  z-index: 3;
  color: currentcolor;
  transition: all 200ms ease;
}
.a-hover-btn::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  content: "";
  background-color: currentcolor;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.a-hover-btn svg path {
  transition: all 200ms ease;
}
.p-recruit__job-btn .a-hover-btn:hover {
  opacity: 1;
}
.a-hover-btn:hover span {
  color: #fff;
}
.a-hover-btn:hover::before {
  transform: scale(1, 1);
  transform-origin: left top;
}
.a-hover-btn:hover svg path {
  fill: #fff;
  stroke: currentcolor;
}
.p-recruit__job-btn .a-hover-btn:hover svg path {
  fill: var(--color-main);
  stroke: #fff;
}

.p-mission__vision-img .cls-1 {
  -webkit-mask: url("#mask");
          mask: url("#mask");
}
.p-mission__vision-img .cls-2 {
  fill: none;
  stroke-dasharray: 0 0 0 12.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 6.7px;
}
.p-mission__vision-img .cls-2,
.p-mission__vision-img .cls-3,
.p-mission__vision-img .cls-4,
.p-mission__vision-img .cls-5,
.p-mission__vision-img .cls-6 {
  stroke: #f18d00;
}
.p-mission__vision-img .cls-3 {
  stroke-width: 3.4px;
}
.p-mission__vision-img .cls-3,
.p-mission__vision-img .cls-4,
.p-mission__vision-img .cls-5,
.p-mission__vision-img .cls-7,
.p-mission__vision-img .cls-6 {
  fill: #fff;
}
.p-mission__vision-img .cls-4 {
  stroke-width: 3.2px;
}
.p-mission__vision-img .cls-8 {
  opacity: 0.6;
}
.p-mission__vision-img .cls-9 {
  fill-rule: evenodd;
}
.p-mission__vision-img .cls-9,
.p-mission__vision-img .cls-10,
.p-mission__vision-img .cls-11,
.p-mission__vision-img .cls-12,
.p-mission__vision-img .cls-13,
.p-mission__vision-img .cls-7,
.p-mission__vision-img .cls-14 {
  stroke-width: 0;
}
.p-mission__vision-img .cls-9,
.p-mission__vision-img .cls-11 {
  fill: rgba(241, 141, 0, 0.5);
}
.p-mission__vision-img .cls-5 {
  stroke-width: 4.8px;
}
.p-mission__vision-img .cls-10 {
  fill: rgba(255, 255, 255, 0.5);
}
.p-mission__vision-img .cls-15 {
  -webkit-mask: url("#mask-3");
          mask: url("#mask-3");
}
.p-mission__vision-img .cls-16 {
  -webkit-mask: url("#mask-2");
          mask: url("#mask-2");
}
.p-mission__vision-img .cls-17 {
  -webkit-mask: url("#mask-4");
          mask: url("#mask-4");
}
.p-mission__vision-img .cls-18 {
  -webkit-mask: url("#mask-1");
          mask: url("#mask-1");
}
.p-mission__vision-img .st11 {
  fill: none;
  stroke: #f18d00;
  stroke-miterlimit: 10;
  stroke-width: 1.1;
}
.p-mission__vision-img .cls-12 {
  fill: #838480;
}
.p-mission__vision-img .cls-13 {
  fill: #4d4d4d;
}
.p-mission__vision-img .cls-14 {
  fill: #f18d00;
}
.p-mission__vision-img .cls-6 {
  stroke-width: 4.2px;
}

#circle-path .cls-5 {
  fill: none;
  stroke: var(--color-main);
}

.a-line-mask {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background-color: #fff;
}
.c-sectionTtl .a-line-mask {
  height: 25%;
}

.u-bg-color--gray {
  width: 100%;
  padding-block: 88px 136px;
  background-color: var(--color-gray-thin);
}
@media screen and (max-width: 1024px) {
  .u-bg-color--gray {
    padding: 0 32px;
  }
}
@media screen and (max-width: 600px) {
  .u-bg-color--gray {
    padding-inline: 16px;
  }
}
.u-bg-color--gray:has(.p-admission) {
  padding-bottom: 0;
}
.u-bg-color--gray + .u-bg-color--gray {
  padding-top: 0;
  margin-top: calc(var(--contents-space) * -1);
}
.u-bg-town {
  width: 100%;
  height: 192px;
  background: url(/img/footer-bg.svg) repeat-x top left/contain;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 600px) {
  .u-bg-town {
    height: 120px;
  }
}
.p-main__image .u-bg-town {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
}

.u-bg-wave {
  position: relative;
  z-index: 1;
}
.u-bg-wave::before, .u-bg-wave::after {
  position: absolute;
  left: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 120px;
  content: "";
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDI0IiBoZWlnaHQ9IjEyMCIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTExMjUuNSA1My44ODRDNzI0LTI1LjIzMyAzMDMuNSAzOC4zNDMgMCAxMTkuMzQzTDEuMjA2IDcgMjAyMy4yMSAwIDIwMjIgMTEuNWMtMTY5LjUgNTEuODAyLTQ5NSAxMjEuNS04OTYuNSA0Mi4zODRaIi8+Cjwvc3ZnPg==") no-repeat center center/cover;
}
@media screen and (max-width: 600px) {
  .u-bg-wave::before, .u-bg-wave::after {
    height: 78px;
    background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0ODkiIGhlaWdodD0iNzkiIGZpbGw9Im5vbmUiPgogIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0yNTUgNTIuOTA2Yy02OS01MC0xOTAuNS02OS0yNTUgMFYwaDQ4OXY4LjkwNmMtNTkgNjctMTY1LjkwNyA5My4zNDMtMjM0IDQ0WiIvPgo8L3N2Zz4=") no-repeat center center/cover;
  }
}
.u-bg-wave::before {
  top: -18px;
}
@media screen and (max-width: 600px) {
  .u-bg-wave::before {
    top: -1px;
  }
}
.u-bg-wave::after {
  bottom: -18px;
  transform: rotate(180deg);
}
@media screen and (max-width: 600px) {
  .u-bg-wave::after {
    bottom: -1px;
  }
}

.u-color--key {
  color: var(--color-key);
}
.u-color--accent {
  color: var(--color-accent);
}
.u-color--gray {
  color: var(--color-gray);
}
.u-color--red {
  color: var(--color-red);
}

.u-d--none {
  display: none;
}
.u-d-sp--on {
  display: none !important;
}
@media screen and (max-width: 600px) {
  .u-d-sp--on {
    display: block !important;
  }
}
.u-d-sp--off {
  display: block !important;
}
@media screen and (max-width: 600px) {
  .u-d-sp--off {
    display: none !important;
  }
}
.u-d-tb_min--on {
  display: none;
}
@media screen and (max-width: 820px) {
  .u-d-tb_min--on {
    display: block;
  }
  .u-d-tb_min--on.p-header__btnNav {
    display: flex;
  }
}
.u-d-tb_min--off {
  display: block;
}
@media screen and (max-width: 820px) {
  .u-d-tb_min--off {
    display: none;
  }
}
.u-d-tb--on {
  display: none;
}
@media screen and (max-width: 1024px) {
  .u-d-tb--on {
    display: block;
  }
}
@media (max-width: 1500px) {
  .u-d-tb--on.p-header__btnNav {
    display: flex;
  }
}
.u-d-tb--off {
  display: block;
}
@media screen and (max-width: 1024px) {
  .u-d-tb--off {
    display: none;
  }
}

.u-flex__box {
  display: flex;
  align-items: center;
  gap: 140px 40px;
  flex-wrap: wrap;
}
.u-flex__box.is-gap--16 {
  gap: 16px;
}
.u-flex__box.is-gap--16 > div {
  width: calc((100% - 16px) / 2);
}
.u-flex__box.is-gap--16 > div > img {
  max-width: 100%;
}
@media screen and (max-width: 600px) {
  .u-flex__box.is-gap--16 > div {
    flex-basis: 100%;
  }
}
.u-flex__box.is-gap--16 > iframe,
.u-flex__box.is-gap--16 > p,
.u-flex__box.is-gap--16 > figure {
  flex-basis: calc((100% - 16px) / 2);
}
@media screen and (max-width: 600px) {
  .u-flex__box.is-gap--16 > iframe,
  .u-flex__box.is-gap--16 > p,
  .u-flex__box.is-gap--16 > figure {
    flex-basis: 100%;
  }
}
.u-flex__box.is-3-col > div {
  width: calc((100% - 32px) / 3);
}
.u-flex__box.is-3-col > div > img {
  max-width: 100%;
}
.u-flex__box.is-3-col > iframe,
.u-flex__box.is-3-col > p,
.u-flex__box.is-3-col > figure {
  flex-basis: calc((100% - 32px) / 3);
}
@media screen and (max-width: 600px) {
  .u-flex__box.is-3-col > iframe,
  .u-flex__box.is-3-col > p,
  .u-flex__box.is-3-col > figure {
    flex-basis: 100%;
  }
}
.u-flex--sb {
  display: flex;
  justify-content: space-between;
}
.u-flex--start {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 600px) {
  .u-flex--start {
    flex-direction: column;
    gap: 0;
  }
}
.u-flex__item {
  width: calc(50% - 20px);
}
@media screen and (max-width: 600px) {
  .u-flex__item {
    width: 100%;
  }
}
.u-flex__item.w100 {
  width: 100%;
}
.u-flex__item ol, .u-flex__item ul {
  padding-left: 40px;
  list-style: initial;
}
@media screen and (max-width: 600px) {
  .u-flex__item ol, .u-flex__item ul {
    padding-inline: 24px;
  }
}
.u-flex__item ol li, .u-flex__item ul li {
  font-size: clamp(14px, 2.333vw, 14px);
  line-height: 2;
}
.u-flex-1 {
  flex: 1;
}

.u-ff--en {
  font-family: var(--ff-en);
}

.u-fs--11 {
  font-size: 11px;
  line-height: 1.4;
}
.u-fs--12 {
  font-size: 12px;
  line-height: 1.4;
}
.u-fs--12_21 {
  font-size: clamp(12px, 2vw, 21px);
  line-height: 1.4;
}
.u-fs--13 {
  font-size: 13px;
  line-height: 1.4;
}
.u-fs--13_14 {
  font-size: clamp(13px, 2.167vw, 14px);
}
.u-fs--13_15 {
  font-size: clamp(13px, 2.167vw, 15px);
}
.u-fs--14 {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}
.u-fs--14_15 {
  font-size: clamp(14px, 2.333vw, 15px);
}
.u-fs--14_16 {
  font-size: clamp(14px, 2.333vw, 16px);
}
.u-fs--14_20 {
  font-size: clamp(14px, 2.333vw, 20px);
}
.u-fs--15 {
  font-size: 15px;
  line-height: 1.4;
}
.u-fs--17 {
  font-size: 17px;
}
.u-fs--18 {
  font-size: 18px;
  line-height: 1.4;
}
.u-fs--20 {
  font-size: 20px;
}
.u-fs--24 {
  font-size: 24px;
}
.u-fs--30_42 {
  font-size: clamp(30px, 5vw, 42px);
}
.u-fs--32 {
  font-size: 32px;
}
.u-fs--42 {
  font-size: 42px;
}
.u-fs--43_60 {
  font-size: clamp(43px, 7.167vw, 60px);
}

.u-fw--400 {
  font-weight: 400;
}
.u-fw--500 {
  font-weight: 500;
}
.u-fw--600 {
  font-weight: 600;
}
.u-fw--700 {
  font-weight: 700;
}
.u-fw--800 {
  font-weight: 800;
}
.u-fw--900 {
  font-weight: 900;
}

.u-hexagon {
  position: relative;
  width: 120px;
  height: 69.28px;
  background-color: #d1e7dd;
  margin: 34.64px 0;
  text-align: center;
  line-height: 69.28px;
  font-size: 14px;
  color: #000;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
.u-hexagon__container {
  position: relative;
  display: grid;
  gap: 10px;
}
.u-hexagon.is-center {
  background-color: #ffc107;
}
.u-hexagon.is-top {
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
}
.u-hexagon.is-right {
  position: absolute;
  right: -130px;
  top: 50%;
  transform: translateY(-50%);
}
.u-hexagon.is-bottom {
  position: absolute;
  bottom: -100px;
  left: 50%;
  transform: translateX(-50%);
}
.u-hexagon.is-left {
  position: absolute;
  left: -130px;
  top: 50%;
  transform: translateY(-50%);
}

.u-list--disc {
  padding-left: 2em !important;
  list-style: disc !important;
}
.u-list--disc li {
  line-height: 1.867;
  transform: rotate(0.05deg);
}
.u-list--disc li + li {
  margin-top: 0.5em;
}
.u-list--decimal {
  padding-left: 2em !important;
  list-style: decimal !important;
}
.u-list--decimal li {
  line-height: 1.867;
  transform: rotate(0.05deg);
}
.u-list--decimal li + li {
  margin-top: 0.5em;
}
.u-list--work-info {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
.u-list--work-info li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: calc(50% - 10px);
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 100px;
}

.u-mx--auto {
  margin-inline: auto;
}
.u-mr--0_a {
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .u-mr--0_a {
    margin-right: 0;
  }
}
.u-mb--0 {
  margin-bottom: 0;
}
.u-mb--8 {
  margin-bottom: 8px;
}
.u-mb--14 {
  margin-bottom: 14px;
}
.u-mb--16 {
  margin-bottom: 16px;
}
.u-mb--16_24 {
  margin-bottom: 24px;
}
@media screen and (max-width: 600px) {
  .u-mb--16_24 {
    margin-bottom: 16px;
  }
}
.u-mb--18 {
  margin-bottom: 18px;
}
.u-mb--24 {
  margin-bottom: 24px;
}
.u-mb--24_32 {
  margin-bottom: 32px;
}
@media screen and (max-width: 600px) {
  .u-mb--24_32 {
    margin-bottom: 24px;
  }
}
.u-mb--24_96 {
  margin-bottom: 96px;
}
@media screen and (max-width: 600px) {
  .u-mb--24_96 {
    margin-bottom: 24px;
  }
}
.u-mb--32 {
  margin-bottom: 32px;
}
.u-mb--32_48 {
  margin-bottom: 48px !important;
}
@media screen and (max-width: 600px) {
  .u-mb--32_48 {
    margin-bottom: 32px !important;
  }
}
.u-mb--32_64 {
  margin-bottom: 64px !important;
}
@media screen and (max-width: 600px) {
  .u-mb--32_64 {
    margin-bottom: 32px !important;
  }
}
.u-mb--40 {
  margin-bottom: 40px;
}
.u-mb--40_64 {
  margin-bottom: 64px;
}
@media screen and (max-width: 600px) {
  .u-mb--40_64 {
    margin-bottom: 40px;
  }
}
.u-mb--40_80 {
  margin-bottom: 80px;
}
@media screen and (max-width: 600px) {
  .u-mb--40_80 {
    margin-bottom: 40px;
  }
}
.u-mb--48 {
  margin-bottom: 48px;
}
.u-mb--48_72 {
  margin-bottom: 72px;
}
@media screen and (max-width: 600px) {
  .u-mb--48_72 {
    margin-bottom: 48px;
  }
}
.u-mb--48_96 {
  margin-bottom: 96px;
}
@media screen and (max-width: 600px) {
  .u-mb--48_96 {
    margin-bottom: 48px;
  }
}
.u-mb--60_120 {
  margin-bottom: 120px;
}
@media screen and (max-width: 600px) {
  .u-mb--60_120 {
    margin-bottom: 60px;
  }
}
.u-ml--m8 {
  margin-left: -8px;
}
.u-ml--0_64 {
  margin-left: 64px !important;
}
@media screen and (max-width: 600px) {
  .u-ml--0_64 {
    margin-left: 0 !important;
  }
}

.u-marker {
  display: inline;
  line-height: 1.3;
  background: linear-gradient(transparent 0%, #fff 0%);
}
.u-marker--dotted {
  display: inline;
  line-height: 2;
  background-image: radial-gradient(var(--color_accent) 40%, transparent 40%);
  background-repeat: repeat-x;
  background-size: 8px 8px;
  background-position: bottom 0 left 0;
}

.u-px--8 {
  padding-inline: 8px;
}
.u-px--16_0 {
  padding-inline: 0;
}
@media screen and (max-width: 820px) {
  .u-px--16_0 {
    padding-inline: 16px;
  }
}
.u-px--24_0 {
  padding-inline: 0;
}
@media screen and (max-width: 1024px) {
  .u-px--24_0 {
    padding-inline: 24px;
  }
}
.u-px--40 {
  padding-inline: 40px;
}
.u-px--56 {
  padding-inline: 56px;
}
@media screen and (max-width: 1024px) {
  .u-px--tb-0 {
    padding-inline: 0;
  }
  .u-px--tb-40 {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 600px) {
  .u-px--sp-0 {
    padding-inline: 0;
  }
  .u-px--sp-16 {
    padding-inline: 16px;
  }
}
.u-py--0_80 {
  padding-block: 80px;
}
@media screen and (max-width: 600px) {
  .u-py--0_80 {
    padding-block: 0;
  }
}
.u-pl--24 {
  padding-left: 24px;
}

@media screen and (max-width: 600px) {
  .u-scroll-box {
    width: calc(100vw - 32px);
    padding-inline: 16px;
    overflow-x: auto;
  }
}

@media (max-width: 600px) {
  .wp-block-table:has(.has-fixed-layout) {
    overflow-x: scroll;
  }
  table.has-fixed-layout {
    width: 150%;
  }
}
.u-ta--right {
  text-align: right !important;
}
.u-ta--center {
  text-align: center !important;
}
.u-ta--left {
  text-align: left !important;
}

.u-td--underline {
  text-decoration: underline;
}

.u-w--20 {
  width: 100% !important;
  max-width: 20% !important;
}
@media screen and (max-width: 600px) {
  .u-w--20 {
    max-width: 33% !important;
  }
}
.u-w--45 {
  width: 100% !important;
  max-width: 45% !important;
}
@media screen and (max-width: 600px) {
  .u-w--45 {
    max-width: 100% !important;
  }
}
.u-w--100 {
  width: 100% !important;
  max-width: initial !important;
}

.u-mw-void {
  max-width: initial !important;
}

.u-wm--tb {
  writing-mode: vertical-rl;
}
@media screen and (max-width: 600px) {
  .u-wm--tb_sp {
    padding-right: 16px;
    writing-mode: vertical-rl;
    white-space: pre;
  }
}

@supports (-webkit-touch-callout: none) {
  html {
    height: -webkit-fill-available;
  }
  body {
    min-height: 100vh;
    height: -webkit-fill-available;
  }
}
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--ff-base) !important;
  color: var(--color-text);
}
@media screen and (max-width: 600px) {
  body:not(.home) {
    padding-top: 75px;
  }
}

a {
  transition: all 300ms ease-in-out;
}

@media (hover: hover) {
  a:hover {
    opacity: 0.8;
  }
}
.arrow-icon {
  flex-shrink: 0;
}

.wp-site-blocks:has(.is-home) {
  overflow: hidden;
}

:where(.wp-site-blocks *:focus) {
  outline-width: 0;
}

body.archive main {
  margin-top: var(--wp--preset--spacing--80) !important;
}
body.archive main ul {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  max-width: 1230px;
  margin-inline: auto !important;
}
@media screen and (max-width: 1280px) {
  body.archive main ul {
    padding-inline: 32px;
  }
}
@media screen and (max-width: 820px) {
  body.archive main ul {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: flex-start;
    justify-content: flex-start;
  }
}
body.archive main ul li {
  width: calc((100% - 32px * (3 - 1)) / 3);
  flex: 0 0 calc((100% - 32px * (3 - 1)) / 3);
}
@media screen and (max-width: 820px) {
  body.archive main ul li {
    width: calc((100% - 24px * (2 - 1)) / 2);
    flex: 0 0 calc((100% - 24px * (2 - 1)) / 2);
  }
}
@media screen and (max-width: 600px) {
  body.archive main ul li {
    width: calc((100% - 0px * (1 - 1)) / 1);
    flex: 0 0 calc((100% - 0px * (1 - 1)) / 1);
  }
}
body.archive main ul li {
  margin: 0;
}
body.archive main ul li div {
  padding: 0;
  margin: 0;
}
body.archive main ul li .alignfull {
  padding: 0 !important;
  margin: 0;
}
body.archive .wp-block-query-title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: initial;
  height: 210px;
  padding: 40px 24px;
  margin: 140px auto 120px auto;
  font-family: var(--ff-zen-maru);
  font-size: 3.6rem;
  font-weight: 700;
  color: var(--color-accent2);
  background: linear-gradient(90deg, #E1F2F8 0%, #D7F3FA 40.38%, #E0F0F8 65.87%, #D2EEFF 99.52%);
  border-radius: 24px;
}
@media screen and (max-width: 820px) {
  body.archive .wp-block-query-title {
    height: auto;
  }
}
body.archive .wp-block-query-title::after {
  position: absolute;
  bottom: -110px;
  left: 50%;
  display: block;
  width: 2px;
  height: 110px;
  content: "";
  background-color: var(--color-key-d);
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 820px) {
  body.archive .wp-block-query-title::after {
    bottom: -56px;
    height: 56px;
  }
}
body.archive .wp-block-post-title {
  margin-bottom: 8px;
  font-size: 2rem !important;
  font-weight: 700;
}
body.archive .has-medium-font-size > * {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 1.8rem !important;
}
body.archive .wp-block-post-date {
  display: none;
}/*# sourceMappingURL=style.css.map */