@charset "UTF-8";
/* ==========================================================================
 Foundation
============================================================================*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho:wght@400..800&family=Zen+Kaku+Gothic+Antique:wght@500;700&family=Zen+Kaku+Gothic+New:wght@500&family=Roboto:wght@400;500;600;700&display=swap");
/*! destyle.css v4.0.1 | 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;
  min-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.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * 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 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
  --aoto: "MFW-PAotoGothicStdN-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 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 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;
  --ff: 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 {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 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;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}

/**
 * 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;
  --ff: 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 {
  font-size: 75%;
  line-height: 0;
  position: relative;
  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 {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  font-family: var(--ff, var(--aoto), "Zen Kaku Gothic Antique", sans-serif);
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * 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 {
  margin: 0;
  padding: 0;
  min-width: 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;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit;
  font-family: var(--ff, var(--aoto), "Zen Kaku Gothic Antique", sans-serif); /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-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-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}

html {
  --aoto: "MFW-PAotoGothicStdN-Regular";
  font-size: clamp(16px * 0.5333333333, 100vw * 16 / 1440, 19.2px);
  --h-base: 818;
}
@media screen and (min-width: 768px) {
  html {
    font-size: max(11px, min(clamp(16px * 0.5333333333, 100vw * 16 / 1440, 19.2px), 100vh * 16 / var(--h-base)));
  }
}
html {
  scrollbar-gutter: stable;
  scroll-padding-top: 5.625rem;
}
@media screen and (max-width: 767px) {
  html {
    font-size: clamp(15px * 1, 100vw * 15 / 375, 18px);
    scroll-padding-top: 4.2666666667rem;
  }
}

@media screen and (min-width: 768px) {
  html:has([data-co-fluid]) {
    font-size: clamp(16px * 0.8333333333, 100vw * 16 / 1440, 19.2px);
    font-size: max(11px, min(clamp(16px * 0.8333333333, 100vw * 16 / 1440, 19.2px), 100vh * 16 / var(--h-base)));
  }
}

body {
  position: relative;
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-optical-sizing: auto;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  font-style: normal;
  font-size: 1rem;
  line-height: 1.6;
  color: #000;
  background-color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media screen and (max-width: 767px) {
  body {
    line-break: strict;
    text-spacing-trim: space-all;
  }
}
body {
  text-rendering: optimizeLegibility;
}

:where(*, ::before, ::after) {
  font-family: var(--ff, var(--aoto), Zen Kaku Gothic Antique, sans-serif);
}

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

body.pc a[href^="tel:"] {
  cursor: default;
}

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

.wf-noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  --ff: "Noto Sans JP", sans-serif;
}

/* ==========================================================================
 layout
============================================================================*/
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 500;
  width: 100%;
  height: 5.625rem;
  pointer-events: none;
  transition: opacity 0.8s ease, visibility 0.8s ease, transform 0.7s ease;
}
@media screen and (max-width: 767px) {
  .l-header {
    height: 4.2666666667rem;
  }
}
html:has(.c-loading) .l-header {
  opacity: 0;
  visibility: hidden;
}
.home:not(.is-fv-done) .l-header:not(.is-ham-open) .l-header__logo,
.home:not(.is-fv-done) .l-header:not(.is-ham-open) .l-header__recruit {
  opacity: 0;
  visibility: hidden;
}
.home:not(.is-fv-done) .l-header:not(.is-ham-open) .l-header__menu-txt {
  color: #ffffff;
  text-shadow: 0 0 6px rgba(51, 51, 51, 0.135);
}
.home:not(.is-fv-done) .l-header:not(.is-ham-open) .l-header__menu-icon img {
  filter: invert(1) drop-shadow(0 0 3px rgba(51, 51, 51, 0.135));
}
.home .l-header:not(.is-ham-open) .l-header__menu-txt {
  text-shadow: 0 0 6px rgba(255, 255, 255, 0.24);
}
.home .l-header:not(.is-ham-open) .l-header__menu-icon img {
  filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.24));
}
.l-header .l-header__menu-txt,
.l-header .l-header__menu-icon img {
  transition: color 0.6s ease, filter 0.6s ease;
}
.l-header.is-hidden:not(.is-ham-open) {
  transform: translateY(-101%);
}
@media screen and (min-width: 768px) {
  .l-header.is-ham-open .l-header__logo, .l-header.is-ham-open .l-header__recruit {
    opacity: 0;
    pointer-events: none;
  }
}
.l-header__logo {
  position: absolute;
  top: 1.375rem;
  left: 1.5rem;
  width: 19.75rem;
  z-index: 2;
  aspect-ratio: 316/39;
  pointer-events: auto;
  transition: opacity 0.4s ease;
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    top: 1.0666666667rem;
    left: 1.0666666667rem;
    width: 14.6666666667rem;
  }
}
.l-header__logo-mark, .l-header__logo-type {
  position: absolute;
}
.l-header__logo-mark img, .l-header__logo-type img {
  width: 100%;
  height: auto;
}
.l-header__logo-mark {
  top: 12.5%;
  left: 3.4%;
  width: 8.64%;
}
.l-header__logo-type {
  top: 27.5%;
  left: 15.74%;
  width: 80.86%;
}
.l-header__menu {
  position: absolute;
  top: 1.25rem;
  right: 2.4375rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  width: 2.375rem;
  pointer-events: auto;
}
@media screen and (max-width: 767px) {
  .l-header__menu {
    top: 0.9333333333rem;
    right: 1.0666666667rem;
    width: 2.1333333333rem;
  }
}
.l-header__menu-txt {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .l-header__menu-txt {
    font-size: 0.8rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.l-header__menu-icon {
  width: 100%;
}

.l-header-nav {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: auto;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
.is-ham-open .l-header-nav {
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width: 768px) {
  .l-header-nav {
    background-color: rgba(0, 0, 0, 0.25);
  }
}
.l-header-nav__photo {
  display: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.l-header-nav__photo picture,
.l-header-nav__photo img {
  width: 100%;
  height: 100%;
}
.l-header-nav__photo img {
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1.06);
  transition: transform 1.4s cubic-bezier(0.2, 0.64, 0.315, 1);
  will-change: transform;
  backface-visibility: hidden;
}
.is-ham-open .l-header-nav__photo img {
  transform: scale(1);
}
.l-header-nav__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50%;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 9.8125rem 0 5rem 5.5625rem;
  border-radius: 3.125rem 0 0 3.125rem;
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(0.75rem);
  -webkit-backdrop-filter: blur(0.75rem);
  transform: translateX(5rem);
  transition: transform 0.6s cubic-bezier(0.34, 1.35, 0.64, 1);
}
.is-ham-open .l-header-nav__panel {
  transform: translateX(0);
}
@media screen and (max-width: 767px) {
  .l-header-nav__panel {
    width: 100%;
    padding: 5.3333333333rem 2.3333333333rem 1.1333333333rem 3.3333333333rem;
    border-radius: 0;
    background-color: #ffffff;
    transform: translateY(-0.8rem);
  }
}
.l-header-nav__list .c-sitemap__group,
.l-header-nav__list .c-sitemap__sns,
.l-header-nav__list .c-sitemap__entry {
  opacity: 0;
  transform: translateY(0.75rem);
  transition: opacity 0.5s ease, transform 0.6s cubic-bezier(0.2, 0.64, 0.315, 1);
}
.is-ham-open .l-header-nav__list .c-sitemap__group,
.is-ham-open .l-header-nav__list .c-sitemap__sns,
.is-ham-open .l-header-nav__list .c-sitemap__entry {
  opacity: 1;
  transform: none;
}
.l-header-nav__list .c-sitemap__col > :nth-child(1) {
  transition-delay: 0.19s;
}
.l-header-nav__list .c-sitemap__col > :nth-child(2) {
  transition-delay: 0.23s;
}
.l-header-nav__list .c-sitemap__col > :nth-child(3) {
  transition-delay: 0.27s;
}
.l-header-nav__list .c-sitemap__col > :nth-child(4) {
  transition-delay: 0.31s;
}
.l-header-nav__list .c-sitemap__col > :nth-child(5) {
  transition-delay: 0.35s;
}
.l-header-nav__list .c-sitemap__col > :nth-child(6) {
  transition-delay: 0.39s;
}
.l-header-nav__list .c-sitemap__col > :nth-child(7) {
  transition-delay: 0.43s;
}
.l-header-nav__list .c-sitemap__col > :nth-child(8) {
  transition-delay: 0.47s;
}
.l-header-nav__list .c-sitemap__col > :nth-child(9) {
  transition-delay: 0.51s;
}
.l-header-nav__list .c-sitemap__col > :nth-child(10) {
  transition-delay: 0.55s;
}
.l-header-nav__list .c-sitemap__col > :nth-child(11) {
  transition-delay: 0.59s;
}
.l-header-nav__list .c-sitemap__col > :nth-child(12) {
  transition-delay: 0.63s;
}
.l-header-nav__list .c-sitemap__entry {
  transition-delay: 0.6s;
}
@media screen and (min-width: 768px) {
  .l-header-nav__panel {
    width: 64%;
    padding: 7.5rem 4rem 3rem 5.5625rem;
  }
  .l-header-nav__list.c-sitemap.--nav {
    display: block;
    -moz-columns: 3;
         columns: 3;
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }
  .l-header-nav__list.c-sitemap.--nav > .c-sitemap__col {
    display: contents;
  }
  .l-header-nav__list.c-sitemap.--nav .c-sitemap__group,
  .l-header-nav__list.c-sitemap.--nav .c-sitemap__sns {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    margin-bottom: 1.75rem;
  }
  .l-header-nav__list.c-sitemap.--nav .c-sitemap__entry {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
}
.l-header-nav__logotype {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-header-nav__logotype {
    display: block;
    margin: 1.8666666667rem -1.1333333333rem 0 -2.2rem;
  }
}

.l-header__menu-open,
.l-header__menu-close {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
  transition: opacity 0.3s ease, transform 0.6s cubic-bezier(0.34, 1.35, 0.64, 1);
}

.l-header__menu-close {
  position: absolute;
  top: 1.6875rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .l-header__menu-close {
    top: 0.4rem;
    left: 0.2rem;
    width: 1.7333333333rem;
  }
}
.l-header__menu-close {
  opacity: 0;
  transform: rotate(-90deg) scale(0.6);
}
.l-header__menu-close img {
  width: 100%;
  height: auto;
}

.is-ham-open .l-header__menu-open {
  opacity: 0;
  transform: scale(0.6);
}
.is-ham-open .l-header__menu-close {
  opacity: 1;
  transform: none;
}

@media screen and (max-width: 767px) {
  html:has(.l-header.is-ham-open) {
    overflow: hidden;
  }
}

.l-header.is-mark-dark:not(.is-ham-open) .l-header__logo-mark img,
.l-header.is-type-dark:not(.is-ham-open) .l-header__logo-type img {
  filter: brightness(0) invert(1);
}

.home .l-header.is-type-dark:not(.is-ham-open) .l-header__menu-txt {
  color: #ffffff;
  text-shadow: 0 0 6px rgba(51, 51, 51, 0.135);
}
.home .l-header.is-type-dark:not(.is-ham-open) .l-header__menu-icon img {
  filter: invert(1) drop-shadow(0 0 3px rgba(51, 51, 51, 0.135));
}

.l-header__logo-mark img,
.l-header__logo-type img {
  transition: filter 0.3s ease;
}

.l-footer {
  position: relative;
  padding-bottom: 0.8125rem;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding-inline: max(0px, (100% - 90rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding-bottom: 0.6666666667rem;
  }
}
.l-footer__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.0625rem;
  padding: 0 4rem;
}
@media screen and (max-width: 767px) {
  .l-footer__top {
    grid-template-columns: 1fr;
    gap: 4.2666666667rem;
    padding: 0 2.3333333333rem;
  }
}
.l-footer__box {
  padding-top: 2.875rem;
  border-top: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .l-footer__box {
    padding-top: 1.6rem;
  }
}
.l-footer__head {
  display: flex;
  align-items: flex-start;
  gap: 3.5rem;
}
@media screen and (max-width: 767px) {
  .l-footer__head {
    flex-direction: column;
    gap: 0.5333333333rem;
    padding: 0 1rem;
  }
}
.l-footer__ttl {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 2.125rem;
  line-height: 1.2352941176;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .l-footer__ttl {
    font-size: 1.4rem;
    line-height: 1.3333333333;
  }
}
.l-footer__lead {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .l-footer__lead {
    font-size: 0.9333333333rem;
    line-height: 1.7142857143;
    letter-spacing: 0;
  }
}
.l-footer__sns {
  display: flex;
  justify-content: center;
  gap: 3rem;
  margin-top: 5.5rem;
}
@media screen and (max-width: 767px) {
  .l-footer__sns {
    gap: 1.9333333333rem;
    margin-top: 1.6rem;
  }
  .l-footer__sns .c-sns-icon {
    width: 2.6rem;
  }
}
.l-footer__contact {
  display: inline-flex;
  align-items: center;
  gap: 2.5rem;
  margin: 5.5rem 0 0 7.125rem;
  font-size: 1.3125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .l-footer__contact {
    gap: 1.2rem;
    margin: 1.6rem 0 0 1.2666666667rem;
    font-size: 1rem;
    line-height: 1.5333333333;
    letter-spacing: 0;
  }
}
.l-footer__main {
  position: relative;
  display: grid;
  grid-template-columns: 42.0625rem auto;
  margin: 14.6875rem 4rem 0 3.9375rem;
  padding-top: 3.4375rem;
  border-top: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .l-footer__main {
    grid-template-columns: 1fr;
    margin: 4.2666666667rem 2.3333333333rem 0;
    padding-top: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__side {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__symbol {
    display: none;
  }
}
.l-footer__symbol {
  position: sticky;
  top: 6.25rem;
  z-index: 1;
  width: 3.125rem;
  height: 3.125rem;
  margin: -3.75rem 0 -3.125rem -2.1875rem;
}
.l-footer__kv {
  position: sticky;
  top: 7.5rem;
  width: 28rem;
  margin-left: 5.0625rem;
  aspect-ratio: 448/306;
  overflow: hidden;
  border-radius: 0.9375rem;
}
.l-footer__kv picture,
.l-footer__kv img {
  width: 100%;
  height: 100%;
}
.l-footer__kv img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .l-footer__kv.is-hover-mode {
    position: relative;
    top: auto;
    opacity: 0;
    transform: translateY(var(--kv-y, 0));
    transition: opacity 0.4s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
  }
  .l-footer__kv.is-hover-mode.is-show {
    opacity: 1;
  }
  .l-footer__kv.is-hover-mode.is-jump {
    transition: none;
  }
}
.l-footer__kv-item {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
}
.l-footer__kv-item.is-active {
  opacity: 1;
}
.l-footer__nav {
  padding-top: 0.375rem;
}
@media screen and (max-width: 767px) {
  .l-footer__nav {
    padding: 0 0 0 1rem;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__main {
    grid-template-columns: 33rem auto;
  }
  .l-footer__kv {
    margin-left: 0;
  }
  .l-footer__nav.c-sitemap.--nav {
    display: block;
    -moz-columns: 3;
         columns: 3;
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }
  .l-footer__nav.c-sitemap.--nav > .c-sitemap__col {
    display: contents;
  }
  .l-footer__nav.c-sitemap.--nav .c-sitemap__group,
  .l-footer__nav.c-sitemap.--nav .c-sitemap__sns {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    margin-bottom: 1.75rem;
  }
  .l-footer__nav.c-sitemap.--nav {
    position: relative;
    padding-bottom: 4rem;
  }
  .l-footer__nav.c-sitemap.--nav .c-sitemap__entry {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
.l-footer__logotype {
  margin: 5.1875rem 1.5rem 0 1.4375rem;
}
@media screen and (max-width: 767px) {
  .l-footer__logotype {
    margin: 1.8666666667rem 1.2rem 0 1.1333333333rem;
  }
}
.l-footer__logotype img {
  width: 100%;
  height: auto;
}

.l-main {
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .l-main {
    padding-top: 5rem;
  }
}
.l-main.--no-mv {
  margin-top: 10.125rem;
}
.l-main.--sub {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .l-main.--sub {
    padding-top: 0;
  }
}
.home .l-main {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .home .l-main {
    padding-top: 0;
  }
}

.l-inner {
  margin: auto;
  max-width: 77.5rem;
  width: 90%;
}
.l-inner.--small {
  max-width: 61.25rem;
}
.l-inner.--smallest {
  max-width: 47.5rem;
}

.l-container-blue {
  background-color: #192c69;
  color: #ffffff;
  background-image: url(../img/vision/vision-bg.webp);
  background-size: 44.9375rem auto;
  background-position: left top;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .l-container-blue {
    background-size: 70% auto;
  }
}
.l-container-blue::before {
  content: "";
  display: block;
  width: 41.4375rem;
  height: 41.4375rem;
  background-image: url(../img/company/company-bg.webp);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 46.875rem;
  right: -1.875rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .l-container-blue::before {
    width: 70vw;
    height: 70vw;
    top: 60rem;
  }
}
.l-container-blue::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../img/common/noise.webp);
  background-size: 14.125rem 14.9375rem;
  background-position: center center;
  background-repeat: repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  opacity: 0.6;
  mix-blend-mode: soft-light;
}

.l-section {
  padding: 10rem 0;
}
@media screen and (max-width: 767px) {
  .l-section {
    padding: 5.3333333333rem 0;
  }
}

/* ==========================================================================
 object
============================================================================*/
.c-ttl-sec {
  display: flex;
  flex-direction: column;
  gap: 0.4375rem;
  line-height: 1;
}
.c-ttl-sec.--centered {
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-ttl-sec.--sp-left {
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
  }
}
.c-ttl-sec.--pink {
  color: #950a57;
}
.c-ttl-sec.--white {
  color: #ffffff;
}
.c-ttl-sec__sub {
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.03em;
}
.c-ttl-sec__sub.--pink {
  color: #950a57;
}
.c-ttl-sec__sub.--white {
  color: #ffffff;
}
.c-ttl-sec__main {
  font-size: 3.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}

.c-ttl-simple {
  font-size: 2.7777777778em;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
@media screen and (max-width: 767px) {
  .c-ttl-simple {
    font-size: 1.6666666667em;
  }
}

.c-ttl-image {
  display: flex;
  justify-content: center;
}
.c-ttl-image span {
  display: block;
}
.c-ttl-image .--text {
  position: relative;
}
.c-ttl-image .--text > img {
  position: relative;
  z-index: 10;
}
.c-ttl-image .--img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.c-ttl-round {
  max-width: clamp(555px * 1, 100vw * 555 / 1440, 888px);
  background-color: #ffffff;
  border: 1px solid #000000;
  border-radius: 50px;
  text-align: center;
  font-size: clamp(15px * 1, 100vw * 15 / 1440, 24px);
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  margin: auto;
  padding: clamp(9px * 1, 100vw * 9 / 1440, 14.4px) clamp(20px * 1, 100vw * 20 / 1440, 32px);
}

.c-ttl-dot {
  display: flex;
  font-size: 1.6875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #056f2f;
  margin-bottom: 0.7407407407em;
}
@media screen and (max-width: 767px) {
  .c-ttl-dot {
    font-size: 1.3333333333rem;
  }
}
.c-ttl-dot::before {
  content: "";
  display: block;
  width: 0.962962963em;
  height: 0.962962963em;
  background-color: #21a154;
  border: 0.2962962963em solid #d6efe0;
  border-radius: 50%;
  flex-shrink: 0;
  margin-right: 0.5555555556em;
  margin-top: 0.36em;
}
.c-ttl-dot.--small {
  font-size: 1.125rem;
}
.c-ttl-dot.--small::before {
  margin-top: 0.4em;
  width: 0.8338888889em;
  height: 0.8338888889em;
  border: 0.2566666667em solid #d6efe0;
}

.c-ttl-color {
  margin: 0 0 1.5rem;
  padding: 0.3125rem 1.25rem;
  font-size: 1.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  color: #056f2f;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.c-ttl-color:not(:first-child) {
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .c-ttl-color {
    margin-bottom: 1.3333333333rem;
    padding: 0.5333333333rem 0.9333333333rem;
    font-size: 1.0666666667rem;
  }
}
.c-ttl-color.--green {
  color: #ffffff;
  background-color: #21a154;
}
.c-ttl-color.--green-dark {
  color: #ffffff;
  background-color: #056f2f;
}

.c-ttl-order {
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
  margin: 0 0 1.25rem;
  font-size: 1.5625rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  color: #333333;
  line-height: 1.5;
  letter-spacing: 0;
}
.c-ttl-order:not(:first-child) {
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .c-ttl-order {
    font-size: 1.0666666667rem;
    margin-bottom: 0.8rem;
    gap: 0.2666666667rem;
  }
}
.c-ttl-order::before {
  content: attr(data-order) ".";
  flex-shrink: 0;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
.c-ttl-order__txt {
  flex: 1;
}

.c-ttl-line {
  font-size: 2rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  margin-bottom: 1.25rem;
}
.c-ttl-line::after {
  content: "";
  display: block;
  height: 2px;
  margin-top: 1.875rem;
  background: linear-gradient(to right, #21a154 0%, #21a154 11%, #cdcdcd 11%, #cdcdcd 100%);
}

.c-ttl-sec + .c-txt-sec {
  margin-top: 0.8888888889em;
}

.c-txt {
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.8;
}
.c-txt.--large {
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .c-txt.--large {
    font-size: 1.0666666667rem;
  }
}
.c-txt:not(:first-child) {
  margin-top: 2rem;
}
.c-txt:not(:first-child).--large {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .c-txt:not(:first-child).--large {
    margin-top: 1.6rem;
  }
}

.c-btn-soft {
  display: block;
  border-radius: 10px;
  width: 160px;
  font-size: 13px;
  color: #ffffff;
  line-height: 1;
  padding: 1em 0;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  text-align: center;
  letter-spacing: 0.05em;
  transition: transform 0.5s cubic-bezier(0.42, 2.5, 0.45, 1.005);
}
@media (any-hover: hover) {
  .c-btn-soft:hover {
    transform: scale(1.1);
  }
}
.c-btn-soft:focus-visible {
  transform: scale(1.1);
}
.c-btn-soft.--disabled {
  background: #b3b3b3 !important;
  pointer-events: none;
}
.c-btn-soft.--smaller {
  font-size: 11px;
  padding: 1.1818181818em 0;
}
.c-btn-soft.--smallest {
  font-size: 10px;
  padding: 1.3em 0;
}

.c-btn-round {
  display: flex;
  justify-content: center;
}
.c-btn-round a {
  display: grid;
  place-items: center;
  background-color: #68524b;
  color: #ffffff;
  font-size: clamp(12px * 1, 100vw * 12 / 1440, 19.2px);
  line-height: 1.5;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
  padding: 0.5em 1.5em;
  border-radius: 100vh;
  min-width: sizeX(160);
}
.c-btn-round.--large a {
  font-size: clamp(12px * 1, 100vw * 12 / 1440, 19.2px);
  min-width: sizeX(200);
  letter-spacing: 0.01em;
  padding: 0.8em 1.5em;
}

.c-btn-more__link {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
.--long .c-btn-more__link {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.--reversed .c-btn-more__link {
  flex-direction: row-reverse;
}
.c-btn-more__txt {
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
  font-weight: 300;
  --aoto: "MFW-PAotoGothicStdN-Light";
  display: block;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-btn-more__txt {
    font-size: 0.8rem;
  }
}
.c-btn-more__icon {
  position: relative;
  margin: 0.9375rem 0 0;
  width: 10rem;
  height: auto;
  transform: translateX(0.625rem);
}
.--long .c-btn-more__icon, .c-btn-more__icon.--long {
  width: 5rem;
  margin: 0;
  transform: translateX(0);
}
.c-btn-more__icon.--mt-none {
  margin-top: 0;
}
.--reversed .c-btn-more__icon, .c-btn-more__icon.--reversed {
  transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
  .c-btn-more__icon {
    width: 7.1333333333rem;
    margin: 0.3333333333rem 0 0;
    transform: translateX(0.4666666667rem);
  }
}
.c-btn-more__arrow {
  width: 10rem;
  height: auto;
  transform-origin: left center;
  will-change: transform;
  transform: translateX(0) translate3d(0, 0, 0);
  transition: transform 1s cubic-bezier(0.2, 0.64, 0.315, 1);
}
@media screen and (max-width: 767px) {
  .c-btn-more__arrow {
    width: 7.1333333333rem;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  a:hover .c-btn-more__arrow {
    transform: translateX(2.2857142857rem) translate3d(0, 0, 0);
  }
  .--long a:hover .c-btn-more__arrow {
    transform: translateX(1rem) translate3d(0, 0, 0);
  }
}
.--long .c-btn-more__arrow {
  margin: 0;
  width: 5rem;
}
.c-btn-more__line {
  position: absolute;
  top: 0;
  left: 0;
  width: 10rem;
  height: auto;
  transform-origin: left center;
  transform: scaleX(1);
  transition: transform 1s cubic-bezier(0.2, 0.64, 0.315, 1);
}
.--long .c-btn-more__line {
  width: 5rem;
}
@media screen and (max-width: 767px) {
  .c-btn-more__line {
    width: 7.1333333333rem;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  a:hover .c-btn-more__line {
    transform: scaleX(1.2);
  }
}

.c-btn-more-news {
  text-align: left;
}
.c-btn-more-news__link {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .c-btn-more-news__link {
    margin: auto;
  }
}
.c-btn-more-news__txt {
  font-size: 0.6875rem;
  font-weight: 300;
  --aoto: "MFW-PAotoGothicStdN-Light";
  display: block;
}
@media screen and (max-width: 767px) {
  .c-btn-more-news__txt {
    text-align: center;
    font-size: 0.8rem;
  }
}
.c-btn-more-news__icon {
  position: relative;
  margin: 0.625rem 0 0;
  width: 5.625rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .c-btn-more-news__icon {
    width: 7.1333333333rem;
    margin: 0.3333333333rem 0 0;
    transform: translateX(0.4666666667rem);
  }
}
.c-btn-more-news__arrow {
  margin: 0.625rem auto 0;
  width: 5.625rem;
  height: auto;
  transform: translateX(0);
  transition: transform 1s cubic-bezier(0.2, 0.64, 0.315, 1);
}
@media screen and (max-width: 767px) {
  .c-btn-more-news__arrow {
    width: 7.1333333333rem;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  a:hover .c-btn-more-news__arrow {
    transform: translateX(1.125rem);
  }
}
.c-btn-more-news__line {
  position: absolute;
  top: 0;
  left: 0;
  width: 5.625rem;
  height: auto;
  transform-origin: left center;
  transform: scaleX(1);
  transition: transform 1s cubic-bezier(0.2, 0.64, 0.315, 1);
}
@media screen and (max-width: 767px) {
  .c-btn-more-news__line {
    width: 7.1333333333rem;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  a:hover .c-btn-more-news__line {
    transform: scaleX(1.2);
  }
}

.c-btn {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-btn {
    margin-top: 1.6rem;
  }
}
.c-btn__primary {
  display: flex;
  justify-content: space-between;
  padding: 1rem 2.5rem;
  border-radius: 100vh;
  border: 1.5px solid #333333;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  min-width: 15rem;
  color: #333333;
  font-size: 1.0625rem;
  line-height: 1.5;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-btn__primary {
    font-size: 0.9333333333rem;
    padding: 0.8rem 2.1333333333rem;
    min-width: 10.6666666667rem;
  }
}
@media (any-hover: hover) {
  .c-btn__primary:hover {
    background-color: #333333;
    color: #ffffff;
  }
}
.c-btn__primary:focus-visible {
  background-color: #333333;
  color: #ffffff;
}
.c-btn__primary.--single {
  display: flex;
  justify-content: space-between;
  padding: 1rem 2.5rem;
  border-radius: 100vh;
  border: 1.5px solid #333333;
  width: -moz-fit-content;
  width: fit-content;
  margin: 5rem auto 0;
  min-width: 15rem;
  background-color: #333333;
  color: #ffffff;
  font-size: 1.0625rem;
  line-height: 1.5;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-btn__primary.--single {
    font-size: 0.9333333333rem;
    padding: 0.8rem 2.1333333333rem;
    min-width: 10.6666666667rem;
    margin: 2.6666666667rem auto 0;
  }
}
@media (any-hover: hover) {
  .c-btn__primary.--single:hover {
    background-color: #ffffff;
    color: #333333;
  }
}
.c-btn__primary.--single:focus-visible {
  background-color: #ffffff;
  color: #333333;
}

.p-contact-form__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-contact-form__actions {
    margin-top: 2.1333333333rem;
  }
}
.p-contact-form__actions .c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 2.5rem;
  border-radius: 100vh;
  border: 1.5px solid #333333;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  color: #342b25;
  font-size: 1.0625rem;
  line-height: 1.5;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-contact-form__actions .c-btn {
    font-size: 0.9333333333rem;
    padding: 0.8rem 2.1333333333rem;
  }
}
@media (any-hover: hover) {
  .p-contact-form__actions .c-btn:hover {
    color: #ffffff;
    background-color: #342b25;
  }
}
.p-contact-form__actions .c-btn:focus-visible {
  color: #ffffff;
  background-color: #342b25;
}
.p-contact-form__actions .c-btn__icon {
  display: inline-flex;
  transform: translateX(0px);
  transition: transform 0.3s ease;
}
@media (any-hover: hover) {
  .p-contact-form__actions .c-btn:hover .c-btn__icon {
    transform: translateX(5px);
  }
}
.p-contact-form__actions .c-btn:focus-visible .c-btn__icon {
  transform: translateX(5px);
}

.c-btn-fixed {
  position: fixed;
  bottom: 1.25rem;
  right: 2.5rem;
  z-index: 10000;
}
@media screen and (max-width: 767px) {
  .c-btn-fixed {
    bottom: 0;
    right: 0;
    width: 100%;
  }
}
.c-btn-fixed.--show-on-scroll {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.7s ease, visibility 0.7s ease;
}
.c-btn-fixed.--show-on-scroll.--show {
  opacity: 1;
  visibility: visible;
}
.c-btn-fixed__contact {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18.75rem;
  height: 4.375rem;
  background-color: #21a154;
  color: #ffffff;
  font-size: 1.375rem;
  line-height: 1;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
  transition: filter 0.3s ease;
  padding-left: 1.375rem;
  padding-right: 1.1875rem;
  border-radius: 0.25rem;
}
@media (any-hover: hover) {
  .c-btn-fixed__contact:hover {
    filter: brightness(1.1);
  }
}
.c-btn-fixed__contact:focus-visible {
  filter: brightness(1.1);
}
@media screen and (max-width: 767px) {
  .c-btn-fixed__contact {
    width: 100%;
    font-size: 1.0666666667rem;
    padding-left: 1.0666666667rem;
    padding-right: 0.8666666667rem;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
}
.--contact-btn .c-btn-fixed__icon {
  width: 1.5625rem;
}
.c-btn-fixed__txt {
  white-space: nowrap;
}
.--contact-btn .c-btn-fixed__txt {
  padding-left: 1.3125rem;
  padding-right: 0.9375rem;
}
.c-btn-fixed__msg {
  white-space: nowrap;
}
.--contact-btn .c-btn-fixed__msg {
  display: block;
  font-size: 0.625rem;
  line-height: 1.5;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
  padding: 0.3125rem 0.5rem;
  text-align: center;
  border-top: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
}

.c-btn-push {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 29.0625rem;
  margin: auto 0;
  border-radius: 0.3125rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0;
  transition: all 0.3s ease;
  padding: 0.5rem 0;
}
.c-btn-push.--orange {
  background-color: #ff8f33;
  color: #ffffff;
  box-shadow: 0 4px 0 #b47306;
}
@media (any-hover: hover) {
  .c-btn-push.--orange:hover {
    transform: translateY(2px);
    box-shadow: 0 2px 0 #b47306;
  }
}
.c-btn-push.--orange:focus-visible {
  transform: translateY(2px);
  box-shadow: 0 2px 0 #b47306;
}
.c-btn-push.--orange span {
  color: #ffffff;
}
.c-btn-push.--white-green {
  background-color: #ffffff;
  box-shadow: 0 4px 0 #169a4a;
  border: 2px solid #169a4a;
}
@media (any-hover: hover) {
  .c-btn-push.--white-green:hover {
    transform: translateY(2px);
    box-shadow: 0 2px 0 #169a4a;
  }
}
.c-btn-push.--white-green:focus-visible {
  transform: translateY(2px);
  box-shadow: 0 2px 0 #169a4a;
}
.c-btn-push.--white-green span {
  color: #21a154;
}
.c-btn-push.--gradegreen {
  max-width: 25.1875rem;
  margin-top: 1.25rem;
  background: linear-gradient(-75deg, #21a154 0%, #53ce84 100%);
  color: #ffffff;
  box-shadow: 0 4px 0 #199249;
  border-radius: 100vh;
}
@media (any-hover: hover) {
  .c-btn-push.--gradegreen:hover {
    transform: translateY(2px);
    box-shadow: 0 2px 0 #199249;
  }
}
.c-btn-push.--gradegreen:focus-visible {
  transform: translateY(2px);
  box-shadow: 0 2px 0 #199249;
}
.c-btn-push.--gradegreen span {
  color: #ffffff;
}
.c-btn-push.--btn {
  margin: 3.125rem auto 0;
}
.c-btn-push__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: 2.5;
  text-decoration: none;
  color: inherit;
}

.c-btn-viewmore {
  display: flex;
  justify-content: center;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-btn-viewmore {
    margin-top: 1.3333333333rem;
  }
}
.c-btn-viewmore__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2.25rem;
  padding: 0.5rem 0.625rem 0.5rem 3.125rem;
  background-color: #ffffff;
  border: 1px solid #21a154;
  border-radius: 0.25rem;
  color: #21a154;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  text-decoration: none;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-btn-viewmore__link {
    padding: 0.6666666667rem 1.3333333333rem;
    font-size: 0.9333333333rem;
  }
}
@media (any-hover: hover) {
  .c-btn-viewmore__link:hover {
    background-color: #21a154;
    color: #ffffff;
  }
  .c-btn-viewmore__link:hover .c-btn-viewmore__icon svg,
  .c-btn-viewmore__link:hover .c-btn-viewmore__icon img {
    filter: brightness(0) invert(1);
  }
}
.c-btn-viewmore__link:focus-visible {
  background-color: #21a154;
  color: #ffffff;
}
.c-btn-viewmore__link:focus-visible .c-btn-viewmore__icon svg,
.c-btn-viewmore__link:focus-visible .c-btn-viewmore__icon img {
  filter: brightness(0) invert(1);
}
.c-btn-viewmore__icon {
  display: flex;
  align-items: center;
  width: 0.25rem;
  transition: transform 0.3s ease;
}
.c-btn-viewmore__icon svg,
.c-btn-viewmore__icon img {
  width: 100%;
  height: auto;
  display: block;
}
@media (any-hover: hover) {
  .c-btn-viewmore__link:hover .c-btn-viewmore__icon {
    transform: translateX(0.25rem);
  }
}

.c-btn-cta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 54.125rem;
  gap: 3.125rem;
  justify-content: center;
  align-items: center;
  margin: 1.875rem auto 0;
  color: #ffffff;
  text-align: center;
  font-size: 1.125rem;
  line-height: 2.5;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
@media screen and (max-width: 767px) {
  .c-btn-cta {
    grid-template-columns: 1fr;
    gap: 1.875rem;
  }
}

.c-btn-cta-item {
  display: block;
  cursor: pointer;
  padding: 0.375rem 0;
  border-radius: 100vh;
  transition: transform 0.15s ease, box-shadow 0.15s ease, all 0.3s ease;
  text-align: center;
  text-decoration: none;
}
.c-btn-cta-item.--orange {
  background-color: #ff8f33;
  color: #ffffff;
  border: 1px solid #ff8f33;
  box-shadow: 0 4px 0 #b47306;
}
@media (any-hover: hover) {
  .c-btn-cta-item.--orange:hover {
    background-color: #ffffff;
    color: #ff8f33;
    border-color: #ff8f33;
    text-decoration: none;
  }
}
.c-btn-cta-item.--orange:focus-visible {
  background-color: #ffffff;
  color: #ff8f33;
  border-color: #ff8f33;
  text-decoration: none;
}
@media (any-hover: hover) {
  .c-btn-cta-item.--orange.--contact:hover {
    background-color: #ff8f33;
    color: #ffffff;
    transform: translateY(2px);
    box-shadow: 0 2px 0 #b47306;
  }
}
.c-btn-cta-item.--orange.--contact:focus-visible {
  background-color: #ff8f33;
  color: #ffffff;
  transform: translateY(2px);
  box-shadow: 0 2px 0 #b47306;
}
.c-btn-cta-item.--green {
  background-color: #21a154;
  color: #ffffff;
  border: 2px solid #ffffff;
  box-shadow: 0 4px 0 #257d0d;
}
@media (any-hover: hover) {
  .c-btn-cta-item.--green:hover {
    background-color: #ffffff;
    color: #21a154;
    text-decoration: none;
  }
}
.c-btn-cta-item.--green:focus-visible {
  background-color: #ffffff;
  color: #21a154;
  text-decoration: none;
}
.c-btn-cta-item.--gradegreen {
  background: linear-gradient(90deg, #21a154 0%, #53ce84 100%);
  color: #ffffff;
  color: #ffffff;
  box-shadow: 0 4px 0 #199249;
  border-radius: 100vh;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
@media (any-hover: hover) {
  .c-btn-cta-item.--gradegreen:hover {
    transform: translateY(2px);
    box-shadow: 0 2px 0 #199249;
  }
}
.c-btn-cta-item.--gradegreen span {
  color: #ffffff;
}
.c-btn-cta-item.--contact {
  max-width: 25.1875rem;
  margin: 1.25rem auto 0;
  padding: 0.9375rem 0;
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
.c-btn-cta-item__link {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
  line-height: inherit;
  font: inherit;
  font-family: var(--ff, var(--aoto), "Zen Kaku Gothic Antique", sans-serif);
  border-radius: inherit;
  cursor: pointer;
}

.c-back-btn {
  margin: 5rem auto 0;
  max-width: 25.1875rem;
  border: 1px solid #21a154;
  border-radius: 100vh;
  text-align: center;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .c-back-btn:hover {
    background-color: #21a154;
  }
  .c-back-btn:hover span {
    color: #ffffff;
  }
}
.c-back-btn__link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0;
}
.c-back-btn__txt {
  font-size: 1.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 2.5;
  text-decoration: none;
  color: #21a154;
}
@media (any-hover: hover) {
  .c-back-btn__txt:hover {
    color: #ffffff;
  }
}

.c-hover-scale {
  overflow: hidden;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}
.c-hover-scale img,
.c-hover-scale video {
  transform: scale(1);
  transition: transform 1.5s cubic-bezier(0.2, 0.64, 0.315, 1);
  will-change: transform;
  backface-visibility: hidden;
}
@media (any-hover: hover) {
  a:hover .c-hover-scale img {
    transform: scale(1.08);
  }
}

.c-icon-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background-color: #DDE0DE;
  color: #696969;
  transition: all 0.3s ease;
  flex-shrink: 0;
}
.c-icon-arrow svg {
  width: 0.5rem;
  height: 0.5rem;
  display: block;
}
@media (any-hover: hover) {
  .c-icon-arrow:hover {
    background-color: #ffffff;
    color: #ffffff;
  }
  a:hover .c-icon-arrow {
    background-color: #21a154;
    color: #ffffff;
  }
}

.c-circle-arrow {
  display: grid;
  place-items: center;
  --size: 5.8125rem;
  flex: none;
  align-self: center;
  width: var(--size);
  height: var(--size);
  min-width: var(--size);
  min-height: var(--size);
  aspect-ratio: 1;
  border: 2px solid #000;
  border-radius: 50%;
  --arrow: #000;
  transition: background-color 0.3s linear, border-color 0.3s linear;
}
@media screen and (max-width: 767px) {
  .c-circle-arrow {
    --size: 2.6666666667rem;
    border-width: 1px;
  }
}
.c-circle-arrow picture {
  width: 1.3125rem;
  background-color: var(--arrow);
  transition: background-color 0.15s linear;
  -webkit-mask: url(../img/common/arrow-circle.svg) center/contain no-repeat;
          mask: url(../img/common/arrow-circle.svg) center/contain no-repeat;
}
.c-circle-arrow picture img {
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .c-circle-arrow picture {
    width: 0.9333333333rem;
  }
}
.c-circle-arrow.--white {
  --arrow: #ffffff;
  border-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.2);
}
.c-circle-arrow.--md {
  --size: 4rem;
}
@media screen and (max-width: 767px) {
  .c-circle-arrow.--md {
    --size: 2.6666666667rem;
  }
}
.c-circle-arrow.--anchor {
  --size: 1.25rem;
  border-width: 1px;
  background-color: #ffffff;
  --arrow: currentColor;
}
.c-circle-arrow.--anchor picture {
  width: 0.5rem;
  transition: background-color 0.3s linear;
  transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
  .c-circle-arrow.--anchor {
    --size: 1.3333333333rem;
  }
  .c-circle-arrow.--anchor picture {
    width: 0.5333333333rem;
  }
}
.c-circle-arrow.--xs {
  --size: 1.5rem;
  border-width: 1px;
}
.c-circle-arrow.--xs picture {
  width: 0.5rem;
}
@media screen and (max-width: 767px) {
  .c-circle-arrow.--xs {
    --size: 1.6rem;
  }
  .c-circle-arrow.--xs picture {
    width: 0.5333333333rem;
  }
}
.c-circle-arrow.--white-line {
  --arrow: #ffffff;
  border-color: #ffffff;
}
@media (any-hover: hover) {
  a:hover .c-circle-arrow {
    --arrow: #ffffff;
    background-color: #000;
  }
  a:hover .c-circle-arrow.--white-line {
    background-color: transparent;
  }
  a:hover .c-circle-arrow.--white {
    --arrow: #000;
    background-color: #ffffff;
  }
}

.c-sns-icon {
  position: relative;
  display: block;
  width: 4rem;
  aspect-ratio: 1;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-sns-icon {
    width: 3.2rem;
  }
}
.c-sns-icon.--sm {
  width: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-sns-icon.--sm {
    width: 1.3333333333rem;
  }
}
.c-sns-icon__bg, .c-sns-icon__glyph {
  position: absolute;
}
.c-sns-icon__bg img, .c-sns-icon__glyph img {
  width: 100%;
  height: 100%;
}
.c-sns-icon__bg {
  inset: 0;
}
.c-sns-icon.--ig .c-sns-icon__glyph.--ig1 {
  inset: 20.31% 18.75% 18.75% 20.31%;
}
.c-sns-icon.--ig .c-sns-icon__glyph.--ig2 {
  inset: 34.38%;
}
.c-sns-icon.--ig .c-sns-icon__glyph.--ig3 {
  inset: 31.25% 28.13% 60.94% 64.06%;
}
.c-sns-icon.--x .c-sns-icon__glyph {
  inset: 23.61% 20.04% 22.97% 20.38%;
}
.c-sns-icon.--yt .c-sns-icon__glyph {
  inset: 28.13% 17.19% 28.13% 18.75%;
}
@media (any-hover: hover) {
  .c-sns-icon:hover {
    opacity: 0.7;
  }
}

.c-ttl-en {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 2.125rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.2352941176;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-ttl-en {
    font-size: 1.4rem;
    line-height: 1.3333333333;
  }
}

.c-pill-arrow {
  --c: #00a5ff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  height: 5rem;
  padding: 0 2.3125rem;
  border: 1px solid var(--c);
  border-radius: 100px;
  background-color: var(--c);
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 2.25;
  letter-spacing: 0.05em;
  white-space: nowrap;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-pill-arrow {
    gap: 0.6666666667rem;
    height: 2.9333333333rem;
    padding: 0 1.3333333333rem;
    font-size: 0.9333333333rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.5;
    letter-spacing: -0.05em;
  }
}
@media (any-hover: hover) {
  .c-pill-arrow:hover {
    opacity: 0.8;
  }
}
.c-pill-arrow.--sm {
  gap: 0.875rem;
  height: 2.75rem;
  padding: 0 0.75rem 0 1.25rem;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  .c-pill-arrow.--sm {
    gap: 0.6666666667rem;
    height: 2.9333333333rem;
    padding: 0 1.3333333333rem;
    font-size: 0.9333333333rem;
    line-height: 1.4285714286;
    letter-spacing: 0.05em;
  }
}

.c-map-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: 1rem;
  color: #00c4ff;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 0.875rem;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-map-link {
    gap: 0.4rem;
    margin-left: 0.6666666667rem;
    font-size: 0.8rem;
  }
}
.c-map-link svg {
  width: 0.875rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .c-map-link svg {
    width: 0.8rem;
  }
}
@media (any-hover: hover) {
  .c-map-link:hover {
    opacity: 0.6;
  }
}

.c-accordion__body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s cubic-bezier(0.2, 0.64, 0.315, 1);
}
.--open > .c-accordion__body {
  grid-template-rows: 1fr;
}
.c-accordion__inner {
  overflow: hidden;
}
.c-accordion__btn.--plus {
  display: flex;
  align-items: center;
  gap: 0.5em;
  position: relative;
}
.c-accordion__plus {
  display: block;
  width: 2em;
  height: 2em;
  border: 1px solid #efefef;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
}
.c-accordion__plus::before, .c-accordion__plus::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 0.3em);
  width: 0.6em;
  height: 2px;
  background-color: #efefef;
  transition: transform 0.3s;
}
.c-accordion__plus::after {
  transform: rotate(-90deg);
}
.--open .c-accordion__plus::after {
  transform: rotate(0deg);
}

@media screen and (max-width: 767px) {
  .c-accordion-sp__body {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s cubic-bezier(0.2, 0.64, 0.315, 1);
  }
  .--open > .c-accordion-sp__body {
    grid-template-rows: 1fr;
  }
  .c-accordion-sp__inner {
    overflow: hidden;
  }
  .c-accordion-sp__btn.--plus {
    display: flex;
    align-items: center;
    gap: 0.5em;
    position: relative;
  }
  .c-accordion-sp__plus {
    display: block;
    width: 2em;
    height: 2em;
    border: 1px solid #efefef;
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
  }
  .c-accordion-sp__plus::before, .c-accordion-sp__plus::after {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    left: calc(50% - 0.3em);
    width: 0.6em;
    height: 2px;
    background-color: #efefef;
    transition: transform 0.3s;
  }
  .c-accordion-sp__plus::after {
    transform: rotate(-90deg);
  }
  .--open .c-accordion-sp__plus::after {
    transform: rotate(0deg);
  }
}

.c-anim-pos {
  position: relative;
}

.c-anim-cont {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.l-inner:has(.c-anim-cont) {
  position: relative;
}

[data-type-in] {
  opacity: 0;
}
[data-type-in]:has(.c-anim-char) {
  opacity: 1;
}

.c-breadcrumb {
  max-width: 77.5rem;
  margin: 0 auto;
  padding: 0.75rem 0 0;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  color: #b3b6b4;
  background-color: #ffffff;
}
.c-breadcrumb #breadcrumbs {
  vertical-align: baseline;
}
.c-breadcrumb #breadcrumbs > span {
  font-size: 0.625rem;
}
.c-breadcrumb #breadcrumbs > span > span {
  font-size: 0.875rem;
  padding: 0 0.7em;
}
.c-breadcrumb #breadcrumbs > span > span:first-child {
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    padding: 0.6666666667rem 1rem;
    font-size: 0.7333333333rem;
  }
}
.c-breadcrumb a {
  color: inherit;
  text-decoration: none;
}
@media (any-hover: hover) {
  .c-breadcrumb a:hover {
    text-decoration: underline;
  }
}
.c-breadcrumb a:focus-visible {
  text-decoration: underline;
}
.c-breadcrumb p {
  margin: 0;
}

.c-ham {
  font-size: clamp(18px * 1, 100vw * 18 / 390, 23.4px);
  position: relative;
  z-index: 9999;
  width: 1.2777777778em;
  height: 1em;
  order: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: filter 1s ease;
}
.scrolled .c-ham, .is-ham-open .c-ham, body:not(.home) .c-ham {
  filter: brightness(0.15);
}
@media screen and (max-width: 767px) {
  .c-ham {
    font-size: clamp(18px * 1, 100vw * 18 / 390, 23.4px);
    width: 1.2777777778em;
    height: 1em;
  }
}
.c-ham__container {
  transition: opacity 1s ease, visibility 1s ease;
}
@media screen and (min-width: 768px) {
  .c-ham__container {
    opacity: 0;
    visibility: hidden;
  }
  .scrolled .c-ham__container, body:not(.home) .c-ham__container {
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (min-width: 768px) {
  .c-ham__container {
    display: none;
  }
}
.c-ham__txt {
  display: block;
  text-align: center;
  color: #ffffff;
  letter-spacing: 0.05em;
  padding-left: 0.05em;
  font-weight: 300;
  --aoto: "MFW-PAotoGothicStdN-Light";
  transition: opacity 0.4s;
  transition-delay: 0.2s;
}
.is-ham-open .c-ham__txt {
  transition-delay: 0s;
  opacity: 0;
}
.c-ham__line {
  position: absolute;
  top: calc(50% - 0.5px);
  left: 0;
  width: 100%;
  height: 1px;
  display: block;
  background-color: #333333;
  border-radius: 100vh;
  transition: transform 0.6s;
}
.is-ham-open .c-ham__line {
  transition-delay: 0.1s;
}
.c-ham__line:nth-of-type(1) {
  transform: translateY(-0.3333333333em);
}
.is-ham-open .c-ham__line:nth-of-type(1) {
  transform: translateY(0px) rotate(45deg);
}
.c-ham__line:nth-of-type(2) {
  transition: opacity 0.3s;
}
.is-ham-open .c-ham__line:nth-of-type(2) {
  opacity: 0;
}
.c-ham__line:nth-of-type(3) {
  transform: translateY(0.3333333333em);
}
.is-ham-open .c-ham__line:nth-of-type(3) {
  transform: translateY(0px) rotate(-45deg);
}

.c-list-cat .c-accordion__body {
  padding-left: 7em;
}
@media screen and (max-width: 767px) {
  .c-list-cat .c-accordion__body {
    padding-left: 0;
  }
}
.c-list-cat__row {
  display: grid;
  grid-template-columns: 7em 1fr;
  gap: 1em;
}
.c-list-cat__row.--followed {
  margin-top: 1.2777777778em;
}
@media screen and (max-width: 767px) {
  .c-list-cat__row {
    grid-template-columns: 1fr;
  }
}
.c-list-cat__ttl {
  font-size: 1em;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  align-self: center;
}
.c-list-cat__header {
  padding-bottom: 1.2777777778em;
  position: relative;
  border-bottom: 1px solid #efefef;
}
.c-list-cat__header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 7em;
  height: 1px;
}
.c-list-cat__top {
  display: flex;
  align-items: center;
  gap: 1em;
}
.c-list-cat__inner {
  display: flex;
  gap: 1em;
  white-space: nowrap;
  flex-wrap: wrap;
}
.c-list-cat__inner.--tag {
  padding-top: 1em;
  font-size: 0.9em;
}
.c-list-cat__link {
  padding: 0.6em 1em;
  border-radius: 10px;
  transition: background-color 0.3s, border-color 0.3s;
  border: 1px solid #efefef;
}
.c-list-cat__link.--active {
  color: #ffffff;
}
.c-list-cat__divider {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.5em;
}
.c-list-cat__matched {
  padding-left: 1.5em;
  position: relative;
  display: flex;
  align-items: center;
  gap: 1em;
}
.c-list-cat__matched::before {
  content: "";
  position: absolute;
  top: -5%;
  left: 0;
  width: 1px;
  height: 110%;
  background-color: #efefef;
}
@media screen and (max-width: 767px) {
  .c-list-cat__matched.--pc {
    display: none;
  }
}
.c-list-cat__matched.--sp::before {
  display: none;
}
.c-list-cat__matched.--sp {
  padding-left: 0;
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .c-list-cat__matched.--sp {
    display: none;
  }
}

.c-list-cat-sort {
  margin-top: 0.7em;
}
.c-list-cat-sort__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1em;
}
.c-list-cat-sort__item {
  display: flex;
  align-items: center;
  gap: 1em;
}
.c-list-cat-sort__list {
  display: flex;
  align-items: center;
  gap: 0.7em;
}
.c-list-cat-sort__btn {
  opacity: 0.5;
}
.c-list-cat-sort__btn.--active {
  opacity: 1;
}
.c-list-cat-sort__icon {
  display: inline-block;
  margin-left: 0.2em;
  width: 0.8em;
  height: 1em;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  transform: translateY(0.1em);
}
.c-list-cat-sort__icon.--up {
  transform: translateY(0.1em) rotate(180deg);
}

html:has(.c-loading) {
  overflow: hidden;
  background-color: #ecf4f5;
}

.is-loading-seen .c-loading {
  display: none;
}

body:has(> .c-loading) {
  position: fixed;
  top: 0;
  width: 100%;
}

.c-loading {
  --c-loading-line: #00a5ff;
  --c-loading-pitch: 6.1875rem;
  --c-loading-offset-x: 6.1875rem;
  --c-loading-offset-y: 4.875rem;
  position: fixed;
  inset: 0;
  z-index: 10000;
  container-type: inline-size;
  overflow: hidden;
  background-color: #ecf4f5;
  pointer-events: auto;
}
@media screen and (max-width: 767px) {
  .c-loading {
    --c-loading-pitch: 4rem;
    --c-loading-offset-x: 1.3333333333rem;
    --c-loading-offset-y: 2.6666666667rem;
  }
}
.c-loading__lines {
  position: absolute;
  inset: 0;
}
.c-loading__line {
  position: absolute;
  background-color: var(--c-loading-line);
  will-change: transform;
}
.--v > .c-loading__line {
  top: 0;
  bottom: 0;
  left: calc(var(--c-loading-offset-x) + var(--c-loading-pitch) * var(--i));
  width: 1px;
  transform-origin: center top;
  transform: scaleY(0);
}
.--h > .c-loading__line {
  left: 0;
  right: 0;
  top: calc(var(--c-loading-offset-y) + var(--c-loading-pitch) * var(--i));
  height: 1px;
  transform-origin: right center;
  transform: scaleX(0);
}
.c-loading__mark {
  position: absolute;
  left: 4rem;
  top: calc(max(100svh, 43.75rem) - 9.6875rem);
  width: 4.6875rem;
}
@media screen and (max-width: 767px) {
  .c-loading__mark {
    left: 3.3936651584%;
    top: calc(max(100svh, 34.6666666667rem) - 2.6666666667rem - 100cqw * 0.1074660633);
    width: 8.4841628959%;
  }
}
.c-loading__notice {
  position: absolute;
  top: calc(50% - 5.4375rem);
  left: calc(50% - 11.4375rem);
  white-space: nowrap;
  color: #000;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .c-loading__notice {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.c-loading__notice-date {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 2.3333333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-loading__notice-date {
    margin-bottom: -0.6rem;
    font-size: 0.8666666667rem;
    line-height: 3.2307692308;
  }
}
.c-loading__notice-txt {
  font-size: 1.75rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6071428571;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-loading__notice-txt {
    font-size: 1.2rem;
    line-height: 2;
  }
}

.c-notice-popup {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: grid;
  place-items: center;
}
.c-notice-popup[hidden] {
  display: none;
}
.c-notice-popup__bg {
  position: absolute;
  inset: 0;
  background-color: rgba(217, 217, 217, 0);
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: backdrop-filter 1s cubic-bezier(0.2, 0.64, 0.315, 1), background-color 1s cubic-bezier(0.2, 0.64, 0.315, 1);
}
.is-open > .c-notice-popup__bg {
  background-color: rgba(217, 217, 217, 0.3);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
@media screen and (max-width: 767px) {
  .is-open > .c-notice-popup__bg {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
}
.c-notice-popup__box {
  position: relative;
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 0.6s cubic-bezier(0.2, 0.64, 0.315, 1), transform 0.6s cubic-bezier(0.2, 0.64, 0.315, 1);
}
.is-open > .c-notice-popup__box {
  opacity: 1;
  transform: none;
  transition-delay: 0.3s;
}
.c-notice-popup__box {
  width: 30rem;
  padding: 2.5rem 4.375rem 2.5rem;
  border-radius: 1.875rem;
  background-color: rgba(255, 255, 255, 0.9);
  color: #000;
}
@media screen and (max-width: 767px) {
  .c-notice-popup__box {
    width: 18rem;
    padding: 2rem 1.4666666667rem 2rem;
    border-radius: 1rem;
  }
}
.c-notice-popup__close {
  position: absolute;
  top: 0.9375rem;
  right: 0.9375rem;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  border-radius: 50%;
  background-color: #00a5ff;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-notice-popup__close {
    top: 0.5333333333rem;
    right: 0.5333333333rem;
    width: 1.6rem;
    height: 1.6rem;
  }
}
.c-notice-popup__close::before, .c-notice-popup__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.6875rem;
  height: 1.5px;
  background-color: #ffffff;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-notice-popup__close::before, .c-notice-popup__close::after {
    width: 0.8rem;
    height: 1px;
  }
}
.c-notice-popup__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.c-notice-popup__date {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 2.3333333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-notice-popup__date {
    font-size: 0.8666666667rem;
    line-height: 2;
  }
}
.c-notice-popup__ttl {
  font-size: 1.5625rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-notice-popup__ttl {
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
  }
}
.c-notice-popup__link {
  display: inline-flex;
  align-items: center;
  gap: 0.9375rem;
  margin-top: 1.5625rem;
  font-size: 0.9375rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.2;
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .c-notice-popup__link {
    gap: 1rem;
    margin-top: 1.1333333333rem;
    font-size: 0.9333333333rem;
    line-height: 1.2857142857;
  }
}
@media (any-hover: hover) {
  .c-notice-popup__link:hover .c-notice-popup__arrow {
    --arrow: #ffffff;
    border-color: #000;
    background-color: #000;
  }
}
.c-notice-popup__arrow.c-circle-arrow {
  --size: 1.75rem;
  border-width: 1px;
}
@media screen and (max-width: 767px) {
  .c-notice-popup__arrow.c-circle-arrow {
    --size: 1.3333333333rem;
  }
}
.c-notice-popup__arrow.c-circle-arrow picture {
  width: 45%;
}

@media screen and (max-width: 767px) {
  .c-marquee {
    font-size: 13px;
  }
}
.c-marquee .swiper {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.c-marquee .swiper.swiper-initialized {
  opacity: 1;
}
.c-marquee .swiper-wrapper {
  transition-timing-function: linear;
}
.p-branding .c-marquee .swiper-slide {
  width: 86.7777777778em;
}
.p-mvv .c-marquee .swiper-slide {
  width: 189.0555555556em;
}
.p-story .c-marquee .swiper-slide {
  width: 92.7777777778em;
}
.c-marquee__item {
  display: flex;
}
.c-marquee__img:nth-child(1) {
  width: 94px;
}
.c-marquee__img:nth-child(2) {
  width: 55px;
}
.c-marquee__img:nth-child(3) {
  width: 108px;
}
.c-marquee__img:nth-child(4) {
  width: 58px;
}
.c-marquee__img:nth-child(5) {
  width: 93px;
}
.c-marquee__img:nth-child(6) {
  width: 66px;
}
.c-marquee__img:nth-child(7) {
  width: 105px;
}
.c-marquee__img:nth-child(8) {
  width: 147px;
}
.c-marquee__img:nth-child(9) {
  width: 81px;
}
.c-marquee__img:nth-child(10) {
  width: 61px;
}
.c-marquee__img:nth-child(11) {
  width: 29px;
}
.c-marquee__img:nth-child(12) {
  width: 72px;
}
.c-marquee__img:nth-child(13) {
  width: 95px;
}
.c-marquee__img:nth-child(14) {
  width: 70px;
}
.c-marquee__img:nth-child(15) {
  width: 97px;
}
.c-marquee__img:nth-child(16) {
  width: 58px;
}
.c-marquee__img:nth-child(17) {
  width: 94px;
}
.c-marquee__img:nth-child(18) {
  width: 179px;
}

/* Modal */
.modal__overlay {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1000;
}

.modal__container {
  max-width: 90%;
  max-height: 90vh;
  padding: 30px;
  overflow-y: auto;
}

.modal__title {
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  font-size: 1.25rem;
  line-height: 1.25;
}

.modal__footer {
  display: flex;
  justify-content: flex-end;
}

.modal__content img {
  width: 100%;
  height: 70vh;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

/* Animation */
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(10%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.micromodal-slide {
  transition: visibility 0.5s ease-in-out;
  visibility: hidden;
}

.micromodal-slide.is-open {
  visibility: visible;
}

.micromodal-slide[aria-hidden=false] .modal__overlay {
  animation: mmfadeIn 0.8s cubic-bezier(0.34, 0.07, 0.095, 0.995);
}

.micromodal-slide[aria-hidden=false] .modal__container {
  animation: mmslideIn 0.8s cubic-bezier(0.34, 0.07, 0.095, 0.995);
}

.micromodal-slide[aria-hidden=true] .modal__overlay {
  animation: mmfadeOut 0.8s cubic-bezier(0.34, 0.07, 0.095, 0.995);
}

.micromodal-slide[aria-hidden=true] .modal__container {
  animation: mmslideOut 0.8s cubic-bezier(0.34, 0.07, 0.095, 0.995);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

.c-news-list {
  margin-top: 3.125rem;
}
.c-news-list__item {
  border-bottom: 1px solid #21a154;
  padding-left: 0.625rem;
}
.c-news-list__item:not(:first-child) .c-news-list__link {
  padding-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .c-news-list__item:not(:first-child) .c-news-list__link {
    padding-top: 0.9333333333rem;
  }
}
.c-news-list__link {
  display: grid;
  grid-template-columns: 14.5625rem 1fr;
  -moz-column-gap: 1.875rem;
       column-gap: 1.875rem;
  align-items: center;
  padding-bottom: 1.875rem;
}
.--full .c-news-list__link {
  grid-template-columns: 1fr;
}
@media screen and (max-width: 767px) {
  .c-news-list__link {
    grid-template-columns: 1fr;
    row-gap: 0.4375rem;
    padding-bottom: 1.2666666667rem;
  }
}
.c-news-list__meta {
  display: grid;
  grid-template-columns: 6.5rem 7.125rem;
  align-items: center;
  gap: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .c-news-list__meta {
    flex-wrap: wrap;
  }
}
.--single .c-news-list__meta {
  margin-top: 3.125rem;
}
.c-news-list__date {
  font-size: 0.875rem;
  font-weight: 300;
  --aoto: "MFW-PAotoGothicStdN-Light";
  color: #696969;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-news-list__date {
    font-size: 0.7333333333rem;
  }
  .c-news-list__date::after {
    content: "";
    position: absolute;
    right: -0.3125rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 0.75rem;
    background-color: #333333;
  }
}
.c-news-list__cat {
  background-color: #DAF1E3;
  padding: 0.3125rem 0;
  border-radius: 100vh;
  font-size: 0.875rem;
  color: #21a154;
  text-align: center;
  min-width: 7.125rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .c-news-list__cat {
    font-size: 0.7333333333rem;
  }
}
.c-news-list__content {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-news-list__content {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.6666666667rem;
  }
}
.c-news-list__txts {
  flex-grow: 1;
}
.c-news-list__ttl {
  font-size: 1.25rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
@media screen and (max-width: 767px) {
  .c-news-list__ttl {
    font-size: 1rem;
  }
}
.--full .c-news-list__ttl {
  margin-top: 1.375rem;
}
.--single .c-news-list__ttl {
  font-size: 2rem;
}
.c-news-list__txt {
  flex-grow: 1;
  line-height: 1.6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 767px) {
  .c-news-list__txt {
    font-size: 1rem;
    white-space: normal;
    line-height: 1.3333333333;
  }
}
.--full .c-news-list__txt {
  margin-top: 1.375rem;
}
.--single .c-news-list__txt {
  margin-top: 1.375rem;
}
.c-news-list__btn-more {
  flex-shrink: 0;
}

.c-pagination {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: 5rem;
  gap: 1.5625rem;
  line-height: 1;
  font-family: "Lexend Mega", sans-serif;
  --ff: "Lexend Mega", sans-serif;
}
@media screen and (max-width: 767px) {
  .c-pagination {
    margin-top: 56px;
    font-size: 1rem;
    gap: 1rem;
  }
}
.c-pagination a {
  color: #696969;
  text-decoration: none;
  font-weight: 300;
  --aoto: "MFW-PAotoGothicStdN-Light";
}
.c-pagination__arrow {
  width: 2.5rem;
  height: 2.8125rem;
  border: 1px solid #696969;
  display: grid;
  place-items: center;
}
@media (any-hover: hover) {
  .c-pagination__arrow:hover {
    background-color: #d6efe0;
  }
}
.c-pagination__arrow:focus-visible {
  background-color: #d6efe0;
}
.c-pagination__arrow img {
  width: 1.15625rem;
}
.c-pagination__arrow.--disabled {
  pointer-events: none;
  opacity: 0.3;
}
.c-pagination__page {
  width: 2.5rem;
  height: 2.8125rem;
  border: 1px solid #696969;
  display: grid;
  place-items: center;
}
@media (any-hover: hover) {
  .c-pagination__page:hover {
    background-color: #d6efe0;
  }
}
.c-pagination__page:focus-visible {
  background-color: #d6efe0;
}
.c-pagination__page.--current {
  border: 1px solid #21a154;
  background-color: #21a154;
  color: #ffffff;
}
.c-pagination__dots {
  font-size: 0.75rem;
  line-height: 2.5rem;
  margin: 0 -0.5em;
}

.c-para-bg {
  position: relative;
  overflow: hidden;
}
.c-para-bg__bg {
  position: absolute;
  top: -50%;
  left: 0;
  width: 100%;
  height: 150%;
}

[data-effect^=fade-in] {
  opacity: 0;
}

[data-effect=fade-in-up] {
  transform: translateY(20px);
}

[data-zoom=in-out],
[data-zoom=in] {
  transform: scale(0.5);
  opacity: 0;
  transform-origin: left bottom;
}
@media (prefers-reduced-motion: reduce) {
  [data-zoom=in-out],
  [data-zoom=in] {
    transform: none !important;
    opacity: 1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-zoom=out] {
    transform: none !important;
    opacity: 1 !important;
  }
}

[data-zoom-orig=center-bottom] {
  transform-origin: center bottom;
}

[data-card=in-out] [data-card-item],
[data-card=in] [data-card-item] {
  filter: blur(5px);
  opacity: 0;
  transform-origin: left bottom;
}
@media (prefers-reduced-motion: reduce) {
  [data-card=in-out] [data-card-item],
  [data-card=in] [data-card-item] {
    transform: none !important;
    opacity: 1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-card=out] [data-card-item] {
    transform: none !important;
    opacity: 1 !important;
  }
}

[data-type-in] {
  max-width: 90vw;
}
[data-type-in] > span,
[data-type-in] > span > span {
  display: inline !important;
}

[data-fade=in] {
  opacity: 0;
  filter: blur(10px);
}
@media (prefers-reduced-motion: reduce) {
  [data-fade=in] {
    opacity: 1 !important;
  }
}

[data-fade=in-up] {
  opacity: 0;
  transform: translateY(20px);
  filter: blur(10px);
}
@media (prefers-reduced-motion: reduce) {
  [data-fade=in-up] {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
}

.path-pc__base {
  fill: #fff;
  -webkit-mask: url(#path-pc-mask);
          mask: url(#path-pc-mask);
}
.path-pc__mask {
  stroke-miterlimit: 500;
  stroke: #fff;
  stroke-dashoffset: 0 !important;
}
.path-pc__mask.--mask-pc-1 {
  stroke-dasharray: 990 990;
  stroke-dashoffset: 990;
}
.path-pc__mask.--mask-pc-2 {
  stroke-dasharray: 1180 1180;
  stroke-dashoffset: 1180;
}
.path-pc__mask.--mask-pc-3 {
  stroke-dasharray: 1240 1240;
  stroke-dashoffset: 1240;
}
.path-pc__mask.--mask-pc-4 {
  stroke-dasharray: 1300 1300;
  stroke-dashoffset: 1300;
}
.path-pc__mask.--mask-pc-5 {
  stroke-dasharray: 1320 1320;
  stroke-dashoffset: 1320;
}
.path-pc__mask.--mask-pc-6 {
  stroke-dasharray: 1410 1410;
  stroke-dashoffset: 1410;
}
.path-pc__mask.--mask-pc-7 {
  stroke-dasharray: 1320 1320;
  stroke-dashoffset: 1320;
}
.path-pc__mask.--mask-pc-8 {
  stroke-dasharray: 1820 1820;
  stroke-dashoffset: 1820;
}

.c-bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: #f4f4f4;
  overflow: hidden;
}
.c-bg #path-pc {
  width: 1365px;
  height: 4797px;
  display: block;
  margin: auto;
  transform-origin: center top;
  transform: scaleX(1);
}
@media screen and (max-width: 1364px) {
  .c-bg #path-pc {
    transform-origin: left top;
  }
}

.c-card-place {
  padding: sizeY(50) sizeX(30) sizeY(40);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  display: block;
  color: #ffffff;
  text-align: center;
}
.c-card-place__name {
  margin-top: sizeY(10);
  font-size: clamp(12px * 1, 100vw * 12 / 1440, 19.2px);
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5833333333;
  min-height: 3.1666em;
  display: grid;
  place-items: center;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.c-card-place__place {
  font-size: clamp(8.5px * 1, 100vw * 8.5 / 1365, 11.05px);
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.16em;
  border-top: 1px dotted #ffffff;
  padding-top: sizeY(10);
  margin-top: sizeY(10);
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.c-card-place__text {
  font-size: clamp(9.5px * 1, 100vw * 9.5 / 1365, 12.35px);
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5833333333;
}

.c-category {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .c-category {
    padding-top: 2.5rem;
    padding-bottom: 0;
    gap: 1.0666666667rem;
    justify-content: center;
    align-items: center;
  }
}
.c-category.--mt30 {
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .c-category.--mt30 {
    margin-top: 2rem;
  }
}
.c-category__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 10.25rem;
  padding: 0.3125rem 0;
  line-height: 1.8;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0;
  border-radius: 9999px;
  border: 1.5px solid #21a154;
  background: #fff;
  color: #21a154;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
@media (any-hover: hover) {
  .c-category__btn:hover {
    background: #21a154;
    color: #ffffff;
  }
}
.c-category__btn:focus-visible {
  background: #21a154;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .c-category__btn {
    font-size: 0.9333333333rem;
  }
}

/* ✅ 「選択中（黒塗り）」は aria-current="page" / .is-active / .--select で判定 */
.c-category__btn[aria-current=page],
.c-category__btn.is-active,
.c-category__btn.--select {
  background: #21a154;
  color: #ffffff;
}

.c-sitemap__col {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.c-sitemap__group {
  display: flex;
  flex-direction: column;
  gap: 0.9375rem;
}
.c-sitemap__ttl {
  font-size: 1.0625rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.1764705882;
  letter-spacing: 0.15em;
}
.c-sitemap__list {
  display: grid;
  gap: 0.625rem;
}
.c-sitemap__list li {
  display: flex;
}
.c-sitemap__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
}
.c-sitemap__link::before {
  content: "";
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.c-sitemap__ttl, .c-sitemap__link {
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  .c-sitemap__ttl:hover, .c-sitemap__link:hover {
    opacity: 0.6;
  }
}
.c-sitemap__sns {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.c-sitemap.--nav {
  display: grid;
  grid-template-columns: 15rem 15rem;
  -moz-column-gap: 6rem;
       column-gap: 6rem;
}
.c-sitemap.--nav > .c-sitemap__col {
  grid-row: 1;
}
.c-sitemap.--nav > .c-sitemap__col:first-child {
  grid-column: 1;
}
.c-sitemap.--nav > .c-sitemap__col:nth-child(2) {
  grid-column: 2;
}
.c-sitemap__entry {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  justify-self: start;
  min-width: 16.03125rem;
  padding-bottom: 0.1875rem;
  white-space: nowrap;
  border-bottom: 1px solid #757575;
  font-size: 1.06875rem;
}
.c-sitemap__entry .c-circle-arrow {
  --size: 1.35rem;
}
@media screen and (max-width: 767px) {
  .c-sitemap__entry .c-circle-arrow {
    --size: 1.44rem;
  }
}
.c-sitemap__entry {
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.2222222222;
  letter-spacing: 0.1em;
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  .c-sitemap__entry:hover {
    opacity: 0.6;
  }
}
.c-sitemap__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.c-sitemap__toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-sitemap.--nav {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .c-sitemap.--nav .c-sitemap__col {
    gap: 1rem;
  }
  .c-sitemap__ttl {
    font-size: 1.3333333333rem;
    line-height: 1.5;
    letter-spacing: 0.08em;
  }
  .c-sitemap.--nav .c-sitemap__group.--has-items {
    gap: 0;
  }
  .c-sitemap__list {
    gap: 0.8rem;
  }
  .c-sitemap__link {
    gap: 0.6666666667rem;
    font-size: 1.0666666667rem;
    line-height: 1.25;
    letter-spacing: 0;
  }
  .c-sitemap__group.--plain .c-sitemap__link {
    font-size: 0.9333333333rem;
  }
  .c-sitemap__group.--plain .c-sitemap__link::before {
    content: none;
  }
  .c-sitemap.--nav .c-sitemap__toggle {
    position: relative;
    display: block;
    width: 2.1333333333rem;
    height: 1.6rem;
    margin-right: -0.5333333333rem;
  }
  .c-sitemap.--nav .c-sitemap__toggle::before, .c-sitemap.--nav .c-sitemap__toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 0.5333333333rem;
    height: 1px;
    background-color: currentColor;
    transition: transform 0.3s cubic-bezier(0.2, 0.64, 0.315, 1);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-sitemap.--nav .c-sitemap__toggle::before, .c-sitemap.--nav .c-sitemap__toggle::after {
    height: 2px;
  }
}
@media screen and (max-width: 767px) {
  .c-sitemap.--nav .c-sitemap__toggle::before {
    right: 50%;
    transform-origin: right center;
  }
  .c-sitemap.--nav .c-sitemap__toggle::after {
    left: 50%;
    transform-origin: left center;
  }
  .c-sitemap.--nav .c-sitemap__toggle[aria-expanded=true]::before {
    transform: rotate(-40deg);
  }
  .c-sitemap.--nav .c-sitemap__toggle[aria-expanded=true]::after {
    transform: rotate(40deg);
  }
  .c-sitemap.--nav .c-sitemap__group.--has-items .c-sitemap__body {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s cubic-bezier(0.2, 0.64, 0.315, 1);
  }
  .c-sitemap.--nav .c-sitemap__group.--has-items .c-sitemap__body > .c-sitemap__list {
    min-height: 0;
    overflow: hidden;
    padding: 0;
    transition: padding 0.5s cubic-bezier(0.2, 0.64, 0.315, 1);
  }
  .c-sitemap.--nav .c-sitemap__group.is-open .c-sitemap__body {
    grid-template-rows: 1fr;
  }
  .c-sitemap.--nav .c-sitemap__group.is-open .c-sitemap__body > .c-sitemap__list {
    padding: 1.0666666667rem 0 1.8666666667rem;
  }
  .c-sitemap__sns {
    gap: 1.0666666667rem;
    margin-top: 4.2rem;
    font-size: 1.0666666667rem;
    line-height: 1.25;
    letter-spacing: 0;
  }
  .c-sitemap__sns .c-sns-icon.--sm {
    width: 1.6rem;
  }
  .c-sitemap__entry {
    width: calc(100% - 1rem);
    min-width: 0;
    align-self: flex-start;
    padding-bottom: 0.3333333333rem;
    font-size: 1.0133333333rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
    line-height: 1.25;
    letter-spacing: 0;
  }
}

.c-pickup__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 5rem;
  margin-top: 4.5rem;
}
@media screen and (max-width: 767px) {
  .c-pickup__grid {
    grid-template-columns: 1fr;
    gap: 2.1333333333rem;
    margin-top: 2.6666666667rem;
  }
}
.c-pickup__card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .c-pickup__card {
    gap: 1.0666666667rem;
  }
}
.c-pickup__thumb {
  position: relative;
  aspect-ratio: 384/216;
  overflow: hidden;
  clip-path: inset(0);
}
@media screen and (max-width: 767px) {
  .c-pickup__thumb {
    aspect-ratio: 305/156;
  }
}
.c-pickup__thumb {
  transition: opacity 0.3s ease;
}
.c-pickup__thumb > picture,
.c-pickup__thumb > picture img,
.c-pickup__thumb > img {
  width: 100%;
  height: 100%;
}
.c-pickup__thumb > picture img,
.c-pickup__thumb > img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-pickup__card:hover .c-pickup__thumb {
  opacity: 0.8;
}
.c-pickup__thumb.--map {
  background-color: #d6d6d6;
}
.c-pickup__thumb.--number {
  background-color: #cbedd2;
}
.c-pickup__thumb.--job {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.c-pickup__thumb.--cert {
  background-color: #f3f9fb;
}
.c-pickup__thumb.--history::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #dcdac2;
  mix-blend-mode: multiply;
}
.c-pickup__thumb-en {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.5625rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.68;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-pickup__thumb-en {
    font-size: 1.3333333333rem;
    line-height: 1.7;
  }
}
.c-pickup__thumb-copy {
  position: absolute;
  top: calc(50% - 16.2037037037%);
  left: calc(50% - 20.8333333333%);
  color: #ffffff;
  font-size: 1.3671875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-pickup__thumb-copy {
    font-size: 1.3333333333rem;
    line-height: 1.6;
  }
}
.c-pickup__abs {
  position: absolute;
}
.c-pickup__abs picture,
.c-pickup__abs img {
  width: 100%;
  height: 100%;
}
.c-pickup__abs img {
  -o-object-fit: cover;
     object-fit: cover;
}
.c-pickup__abs.--multiply {
  mix-blend-mode: multiply;
}
.c-pickup__job {
  position: relative;
  overflow: hidden;
  background-color: #ffffff;
}
.c-pickup__name {
  font-size: 1.3125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-pickup__name {
    font-size: 1rem;
    line-height: 1.5333333333;
    letter-spacing: 0;
  }
}
.c-pickup__eyes {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  gap: 4.8942708333%;
  width: 38.5416666667%;
  transform: translate(-50%, -50%);
}
.c-pickup__eye {
  position: relative;
  flex: 1;
  aspect-ratio: 64.603/112.762;
  overflow: hidden;
  border-radius: 999px;
  background-color: #ffffff;
}
.c-pickup__eye-ball, .c-pickup__eye-hi {
  position: absolute;
}
.c-pickup__eye-ball img, .c-pickup__eye-hi img {
  width: 100%;
  height: auto;
}
.c-pickup__eye-ball {
  right: 19.9990712506%;
  bottom: 0.9843741686%;
  width: 70.9100196585%;
}
.c-pickup__eye-hi {
  right: 35.4472702506%;
  bottom: 23.4387470957%;
  width: 10.9097100754%;
}

.c-pickup-map {
  position: absolute;
  top: -14.8148148148%;
  left: -5.2083333333%;
  width: 110.15625%;
  height: 149.0740740741%;
  overflow: hidden;
  border-radius: 2rem;
  background-color: #83c4db;
}
.c-pickup-map__wrap, .c-pickup-map__stripe, .c-pickup-map__abs {
  position: absolute;
}
.c-pickup-map__wrap picture,
.c-pickup-map__wrap img, .c-pickup-map__stripe picture,
.c-pickup-map__stripe img, .c-pickup-map__abs picture,
.c-pickup-map__abs img {
  width: 100%;
  height: 100%;
}
.c-pickup-map__stripe {
  opacity: 0.6;
  mix-blend-mode: multiply;
}
.c-pickup-map__back {
  position: absolute;
  inset: 3.3% 1.46% 3.04% 1.04%;
}
.c-pickup-map__back picture,
.c-pickup-map__back img {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .c-pickup .c-pickup__grid,
  .c-outro .c-pickup__grid,
  .c-pickup-sp2 .c-pickup__grid,
  .c-outro.--sp2 .c-pickup__grid {
    grid-template-columns: repeat(2, 10.1333333333rem);
    justify-content: center;
    gap: 2rem 2.1333333333rem;
    margin-top: 2.9333333333rem;
  }
  .c-pickup .c-pickup__card,
  .c-outro .c-pickup__card,
  .c-pickup-sp2 .c-pickup__card,
  .c-outro.--sp2 .c-pickup__card {
    gap: 0.5333333333rem;
  }
  .c-pickup .c-pickup__thumb,
  .c-outro .c-pickup__thumb,
  .c-pickup-sp2 .c-pickup__thumb,
  .c-outro.--sp2 .c-pickup__thumb {
    aspect-ratio: 152/100;
  }
  .c-pickup .c-pickup__name,
  .c-outro .c-pickup__name,
  .c-pickup-sp2 .c-pickup__name,
  .c-outro.--sp2 .c-pickup__name {
    font-size: 0.9333333333rem;
    line-height: 1.4285714286;
    letter-spacing: 0;
  }
  .c-pickup .c-pickup__thumb-en,
  .c-outro .c-pickup__thumb-en,
  .c-pickup-sp2 .c-pickup__thumb-en,
  .c-outro.--sp2 .c-pickup__thumb-en {
    font-size: 0.7333333333rem;
    line-height: 1.6363636364;
  }
  .c-pickup .c-pickup__thumb-copy,
  .c-outro .c-pickup__thumb-copy,
  .c-pickup-sp2 .c-pickup__thumb-copy,
  .c-outro.--sp2 .c-pickup__thumb-copy {
    font-size: 0.6rem;
    line-height: 1.5555555556;
  }
}

.c-link-row {
  display: grid;
  grid-template-columns: 14.625rem 54rem;
  align-items: center;
  -moz-column-gap: 8.375rem;
       column-gap: 8.375rem;
  margin-left: 9rem;
}
@media screen and (max-width: 767px) {
  .c-link-row {
    grid-template-columns: 1fr auto;
    grid-template-areas: "img img" "ttl arrow";
    align-items: center;
    gap: 1.4666666667rem 1.0666666667rem;
    margin-left: 0;
  }
  .c-link-row:has(.c-link-row__txt) {
    grid-template-areas: "ttl ttl" "img img" "txt arrow";
  }
  .c-link-row .c-circle-arrow {
    grid-area: arrow;
  }
}
.c-link-row + .c-link-row {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .c-link-row + .c-link-row {
    margin-top: 4.2666666667rem;
  }
}
.c-link-row__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  white-space: nowrap;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-link-row__head {
    display: contents;
  }
}
.c-link-row__ttl {
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-link-row__ttl {
    grid-area: ttl;
    font-size: 1.2rem;
    line-height: 1.5555555556;
    white-space: normal;
    text-align: left;
  }
  .c-link-row:has(.c-link-row__txt) .c-link-row__ttl {
    margin-bottom: 0.1333333333rem;
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
  }
}
.c-link-row__txt {
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-link-row__txt {
    grid-area: txt;
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: left;
  }
}
.c-link-row__img {
  position: relative;
  aspect-ratio: 864/486;
  overflow: hidden;
  border-radius: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .c-link-row__img {
    grid-area: img;
    aspect-ratio: 305/180;
    border-radius: 0.6666666667rem;
  }
}
.c-link-row__img picture,
.c-link-row__img img {
  width: 100%;
  height: 100%;
}
.c-link-row__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--pos, 50% 50%);
     object-position: var(--pos, 50% 50%);
  transition: transform 0.8s cubic-bezier(0.2, 0.64, 0.315, 1);
  will-change: transform;
  backface-visibility: hidden;
}
.c-link-row:hover .c-link-row__img img {
  transform: scale(1.04);
}
.c-link-row__img.--history::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #dcdac2;
  mix-blend-mode: multiply;
}
.c-link-row__img-txt {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 2.375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.1052631579;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-link-row__img-txt {
    font-size: 0.8666666667rem;
    line-height: 1.1384615385;
  }
}

.c-page-ttl {
  margin: 0 4rem 0 3.9375rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .c-page-ttl {
    margin: 0 2.3333333333rem;
    padding-bottom: 1.3333333333rem;
  }
}
.c-page-ttl__txt {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .c-page-ttl__txt {
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}

.c-outro {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .c-outro {
    padding-inline: max(0px, (100% - 90rem) / 2);
  }
}
.c-outro__row {
  margin-top: 4.5rem;
}
@media screen and (max-width: 767px) {
  .c-outro__row {
    margin: 2rem 2.3333333333rem 0;
  }
  .c-outro__row .c-link-row__img {
    aspect-ratio: 305/190;
  }
}
.c-outro__pickup {
  padding: 12.625rem 4rem 19.5rem;
}
@media screen and (max-width: 767px) {
  .c-outro__pickup {
    padding: 6.6666666667rem 2.3333333333rem;
  }
}

.c-outro:not(:has(.c-outro__pickup)) {
  padding-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .c-outro:not(:has(.c-outro__pickup)) {
    padding-bottom: 5.3333333333rem;
  }
}

@media screen and (max-width: 767px) {
  .c-outro.--biz:not(.--ppl):not(.--sp2) .c-pickup__grid {
    gap: 2rem;
    margin-top: 1.3333333333rem;
  }
  .c-outro.--biz:not(.--ppl):not(.--sp2) .c-pickup__card {
    gap: 0.6666666667rem;
  }
}

@media screen and (max-width: 767px) {
  .c-outro.--sp2 .c-page-ttl {
    margin: 0 1rem;
    padding-bottom: 0.4rem;
  }
  .c-outro.--sp2 .c-page-ttl__txt {
    font-size: 1.3333333333rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
    line-height: 1.5;
    letter-spacing: 0.08em;
  }
  .c-outro.--sp2 .c-outro__row {
    margin-top: 3.3333333333rem;
  }
  .c-outro.--sp2 .c-link-row__img {
    aspect-ratio: 305/315;
    border-radius: 0.5333333333rem;
  }
  .c-outro.--sp2 .c-outro__pickup {
    padding: 8rem 1rem 6.6666666667rem;
  }
}

.c-mv-sub {
  position: relative;
  overflow: hidden;
}
.c-mv-sub::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.1;
}
.c-mv-sub__inner {
  width: 100%;
  height: 100vh;
}
@media screen and (max-width: 767px) {
  .c-mv-sub__inner {
    max-height: 140vw;
  }
}
.c-mv-sub__move {
  position: absolute;
  top: 34%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 95vh) {
  .c-mv-sub__move {
    top: 42%;
  }
}
.c-mv-sub__move video {
  display: block;
  width: 100%;
  height: auto;
  animation: rotateInside 60s linear infinite;
}
@keyframes rotateInside {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.c-mv-sub__move-inner {
  width: 150vmin;
  height: 129.9038105677vmin;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background-color: #fff;
  position: relative;
  animation: rotateTriangle 60s linear infinite;
  transform-origin: 50% 66.666666%;
}
@keyframes rotateTriangle {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
.c-mv-sub__move-inner-inner {
  position: absolute;
  width: 80%;
  top: 66.666666%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-mv-sub__inner {
  position: relative;
}
.c-mv-sub__btn {
  position: absolute;
  width: 9.2222222222em;
  bottom: 2.2222222222em;
  right: 2.2222222222em;
  z-index: 50;
}
@media screen and (max-width: 759px) {
  .c-mv-sub__btn {
    width: 45%;
    bottom: 0;
    right: 0;
  }
}
.c-mv-sub__info {
  width: 90%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
}
@media (max-width: 140vh) {
  .c-mv-sub__info {
    align-items: flex-start;
    padding-top: 10vh;
  }
}
@media (max-width: 95vh) {
  .c-mv-sub__info {
    align-items: flex-start;
    padding-top: 15vh;
  }
}
.c-mv-sub__info-inner {
  width: 25%;
  height: 70%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (max-width: 140vh) {
  .c-mv-sub__info-inner {
    flex-direction: row;
    width: 100%;
    height: 15vmin;
  }
  .c-mv-sub__info-inner img {
    width: auto;
    height: 100%;
  }
}
@media (max-width: 95vh) {
  .c-mv-sub__info-inner {
    flex-direction: column;
    width: 40%;
    height: 90%;
  }
  .c-mv-sub__info-inner img {
    width: 100%;
    height: auto;
  }
}

.c-people-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.c-people-top__item {
  position: absolute;
  top: 100%;
  display: none;
}
.c-people-top__item.--people-1 {
  display: block;
  top: clamp(131.25px, 12.8205128205vw, 262.5px);
  left: max(9.5238095238vw, 65px);
  width: max(6.2271062271vw, 42.5px);
}
.c-people-top__item.--people-2 {
  display: block;
  top: clamp(97.5px, 9.5238095238vw, 195px);
  left: max(19.4139194139vw, 132.5px);
  width: max(14.5054945055vw, 99px);
}
.c-people-top__item.--people-3 {
  display: block;
  top: clamp(60px, 5.8608058608vw, 120px);
  left: max(33.6996336996vw, 230px);
  width: max(15.2380952381vw, 104px);
}
.c-people-top__item.--people-4 {
  display: block;
  top: clamp(72px, 7.032967033vw, 144px);
  left: max(60.8058608059vw, 415px);
  width: max(3.36996337vw, 23px);
}
.c-people-top__item.--people-5 {
  display: block;
  top: clamp(67.5px, 6.5934065934vw, 135px);
  left: max(71.7948717949vw, 490px);
  width: max(18.1684981685vw, 124px);
}
.c-people-top__item.--people-6 {
  display: block;
  top: clamp(251.25px, 24.5421245421vw, 502.5px);
  left: max(-5.8608058608vw, -40px);
  width: max(16.1172161172vw, 110px);
}
.c-people-top__item.--people-7 {
  display: block;
  top: clamp(213.75px, 20.8791208791vw, 427.5px);
  left: max(17.5824175824vw, 120px);
  width: max(10.1098901099vw, 69px);
}
.c-people-top__item.--people-8 {
  display: block;
  top: clamp(435px, 42.4908424908vw, 870px);
  left: max(2.1978021978vw, 15px);
  width: max(16.9230769231vw, 115.5px);
}
.c-people-top__item.--people-9 {
  display: block;
  top: clamp(506.25px, 49.4505494505vw, 1012.5px);
  left: max(42.1245421245vw, 287.5px);
  width: max(13.4065934066vw, 91.5px);
}
.c-people-top__item.--people-10 {
  display: block;
  top: clamp(487.5px, 47.619047619vw, 975px);
  left: max(60.4395604396vw, 412.5px);
  width: max(16.8498168498vw, 115px);
}
.c-people-top__item.--people-11 {
  display: block;
  top: clamp(228.75px, 22.3443223443vw, 457.5px);
  left: max(91.9413919414vw, 627.5px);
  width: max(5.4212454212vw, 37px);
}
.c-people-top__item.--people-12 {
  display: block;
  top: clamp(315px, 30.7692307692vw, 630px);
  left: max(77.6556776557vw, 530px);
  width: max(11.6483516484vw, 79.5px);
}
.c-people-top__item.--people-13 {
  display: block;
  top: clamp(442.5px, 43.2234432234vw, 885px);
  left: max(85.7142857143vw, 585px);
  width: max(12.6007326007vw, 86px);
}
.c-people-top__item.--people-14 {
  display: block;
  top: clamp(791.25px, 77.2893772894vw, 1582.5px);
  left: max(1.0989010989vw, 7.5px);
  width: max(12.2344322344vw, 83.5px);
}
.c-people-top__item.--people-15 {
  display: block;
  top: clamp(723.75px, 70.695970696vw, 1447.5px);
  left: max(38.0952380952vw, 260px);
  width: max(9.8901098901vw, 67.5px);
}
.c-people-top__item.--people-16 {
  display: block;
  top: clamp(1050px, 102.5641025641vw, 2100px);
  left: max(9.5238095238vw, 65px);
  width: max(17.8754578755vw, 122px);
}
.c-people-top__item.--people-17 {
  display: block;
  top: clamp(1068.75px, 104.3956043956vw, 2137.5px);
  left: max(34.7985347985vw, 237.5px);
  width: max(15.6776556777vw, 107px);
}
.c-people-top__item.--people-18 {
  display: block;
  top: clamp(1121.25px, 109.5238095238vw, 2242.5px);
  left: max(67.7655677656vw, 462.5px);
  width: max(12.967032967vw, 88.5px);
}
.c-people-top__item.--people-19 {
  display: block;
  top: clamp(585px, 57.1428571429vw, 1170px);
  left: max(80.2197802198vw, 547.5px);
  width: max(12.8205128205vw, 87.5px);
}
.c-people-top__item.--people-20 {
  display: block;
  top: clamp(1263.75px, 123.4432234432vw, 2527.5px);
  left: max(5.8608058608vw, 40px);
  width: max(8.7179487179vw, 59.5px);
}
.c-people-top__item.--people-22 {
  display: block;
  top: clamp(1267.5px, 123.8095238095vw, 2535px);
  left: max(87.5457875458vw, 597.5px);
  width: max(4.7619047619vw, 32.5px);
}
.c-people-top__item.--people-23 {
  display: block;
  top: clamp(1702.5px, 166.3003663004vw, 3405px);
  left: max(12.0879120879vw, 82.5px);
  width: max(4.6153846154vw, 31.5px);
}
.c-people-top__item.--people-24 {
  display: block;
  top: clamp(1706.25px, 166.6666666667vw, 3412.5px);
  left: max(80.2197802198vw, 547.5px);
  width: max(12.2344322344vw, 83.5px);
}
.c-people-top__item.--people-26 {
  display: block;
  top: clamp(1905px, 186.0805860806vw, 3810px);
  left: max(38.0952380952vw, 260px);
  width: max(8.9377289377vw, 61px);
}
.c-people-top__item.--people-27 {
  display: block;
  top: clamp(1905px, 186.0805860806vw, 3810px);
  left: max(85.7142857143vw, 585px);
  width: max(10.1098901099vw, 69px);
}
.c-people-top__item.--people-28 {
  display: block;
  top: clamp(1968.75px, 192.3076923077vw, 3937.5px);
  left: max(3.2967032967vw, 22.5px);
  width: max(6.5201465201vw, 44.5px);
}
.c-people-top__item.--people-30 {
  display: block;
  top: clamp(2025px, 197.8021978022vw, 4050px);
  left: max(76.9230769231vw, 525px);
  width: max(5.4945054945vw, 37.5px);
}
.c-people-top__item.--people-31 {
  display: block;
  top: clamp(2392.5px, 233.6996336996vw, 4785px);
  left: max(65.9340659341vw, 450px);
  width: max(5.2014652015vw, 35.5px);
}
.c-people-top__item.--people-32 {
  display: block;
  top: clamp(2291.25px, 223.8095238095vw, 4582.5px);
  left: max(75.0915750916vw, 512.5px);
  width: max(16.9230769231vw, 115.5px);
}
.c-people-top__item.--people-33 {
  display: block;
  top: clamp(2388.75px, 233.3333333333vw, 4777.5px);
  left: max(7.326007326vw, 50px);
  width: max(14.8717948718vw, 101.5px);
}
.c-people-top__item.--people-34 {
  display: block;
  top: clamp(2452.5px, 239.5604395604vw, 4905px);
  left: max(28.5714285714vw, 195px);
  width: max(6.5201465201vw, 44.5px);
}
.c-people-top__item.--people-35 {
  display: block;
  top: clamp(2565px, 250.5494505495vw, 5130px);
  left: max(54.9450549451vw, 375px);
  width: max(9.8168498168vw, 67px);
}
.c-people-top__item.--people-36 {
  display: block;
  top: clamp(2486.25px, 242.8571428571vw, 4972.5px);
  left: max(79.8534798535vw, 545px);
  width: max(9.3772893773vw, 64px);
}
.c-people-top__item.--people-37 {
  display: block;
  top: clamp(2865px, 279.8534798535vw, 5730px);
  left: max(6.2271062271vw, 42.5px);
  width: max(5.2747252747vw, 36px);
}
.c-people-top__item.--people-38 {
  display: block;
  top: clamp(2928.75px, 286.0805860806vw, 5857.5px);
  left: max(24.1758241758vw, 165px);
  width: max(13.4798534799vw, 92px);
}
.c-people-top__item.--people-39 {
  display: block;
  top: clamp(2947.5px, 287.9120879121vw, 5895px);
  left: max(59.706959707vw, 407.5px);
  width: max(9.0842490842vw, 62px);
}
.c-people-top__item.--people-40 {
  display: block;
  top: clamp(2876.25px, 280.9523809524vw, 5752.5px);
  left: max(87.5457875458vw, 597.5px);
  width: max(5.347985348vw, 36.5px);
}
.c-people-top__item.--people-41 {
  display: block;
  top: clamp(3161.25px, 308.7912087912vw, 6322.5px);
  left: max(20.1465201465vw, 137.5px);
  width: max(9.8901098901vw, 67.5px);
}
.c-people-top__item.--people-42 {
  display: block;
  top: clamp(3120px, 304.7619047619vw, 6240px);
  left: max(60.0732600733vw, 410px);
  width: max(10.7692307692vw, 73.5px);
}
.c-people-top__item.--people-43 {
  display: block;
  top: clamp(3135px, 306.2271062271vw, 6270px);
  left: max(76.1904761905vw, 520px);
  width: max(11.6483516484vw, 79.5px);
}
.c-people-top__item.--people-44 {
  display: block;
  top: clamp(901.5px, 88.0586080586vw, 1803px);
  left: max(82.0512820513vw, 560px);
  width: max(13.3333333333vw, 91px);
}
@media screen and (max-width: 767px) {
  .c-people-top__item {
    display: none !important;
  }
  .c-people-top__item.--people-1 {
    display: block !important;
    top: spSizeY(200);
    left: spSizeX(0);
    width: spSizeX(60);
  }
  .c-people-top__item.--people-2 {
    display: block !important;
    top: spSizeY(95);
    left: spSizeX(5);
    width: spSizeX(125);
  }
}

.c-people-sub {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.c-people-sub__item {
  position: absolute;
  top: 100%;
  display: none;
}
.c-people-sub__item.--people-6 {
  display: block;
  top: clamp(82.5px, 8.0586080586vw, 165px);
  left: max(21.978021978vw, 150px);
  width: max(10.1098901099vw, 69px);
}
.c-people-sub__item.--people-38 {
  display: block;
  top: clamp(135px, 13.1868131868vw, 270px);
  left: max(73.2600732601vw, 500px);
  width: max(13.4798534799vw, 92px);
}
.c-people-sub__item.--people-14 {
  display: block;
  top: clamp(356.25px, 34.7985347985vw, 712.5px);
  left: max(4.0293040293vw, 27.5px);
  width: max(11.9413919414vw, 81.5px);
}
.c-people-sub__item.--people-19 {
  display: block;
  top: clamp(311.25px, 30.4029304029vw, 622.5px);
  left: max(81.684981685vw, 557.5px);
  width: max(9.7435897436vw, 66.5px);
}
.c-people-sub__item.--people-16 {
  display: block;
  top: clamp(528.75px, 51.6483516484vw, 1057.5px);
  left: max(9.1575091575vw, 62.5px);
  width: max(17.4358974359vw, 119px);
}
.c-people-sub__item.--people-18 {
  display: block;
  top: clamp(705px, 68.8644688645vw, 1410px);
  left: max(79.8534798535vw, 545px);
  width: max(12.673992674vw, 86.5px);
}
.c-people-sub__item.--people-28 {
  display: block;
  top: clamp(862.5px, 84.2490842491vw, 1725px);
  left: max(78.021978022vw, 532.5px);
  width: max(6.5201465201vw, 44.5px);
}
.c-people-sub__item.--people-22 {
  display: block;
  top: clamp(847.5px, 82.7838827839vw, 1695px);
  left: max(87.1794871795vw, 595px);
  width: max(4.7619047619vw, 32.5px);
}
.c-people-sub__item.--people-24 {
  display: block;
  top: clamp(1042.5px, 101.8315018315vw, 2085px);
  left: max(13.5531135531vw, 92.5px);
  width: max(11.9413919414vw, 81.5px);
}
.c-people-sub__item.--people-20 {
  display: block;
  top: clamp(1083.75px, 105.8608058608vw, 2167.5px);
  left: max(84.9816849817vw, 580px);
  width: max(8.5714285714vw, 58.5px);
}
.c-people-sub__item.--people-44 {
  display: block;
  top: clamp(1113.75px, 108.7912087912vw, 2227.5px);
  left: max(3.663003663vw, 25px);
  width: max(13.0402930403vw, 89px);
}
.c-people-sub__item.--people-23 {
  display: block;
  top: clamp(1327.5px, 129.6703296703vw, 2655px);
  left: max(17.2161172161vw, 117.5px);
  width: max(4.5421245421vw, 31px);
}
.c-people-sub__item.--people-27 {
  display: block;
  top: clamp(1402.5px, 136.9963369963vw, 2805px);
  left: max(74.7252747253vw, 510px);
  width: max(10.0366300366vw, 68.5px);
}
.c-people-sub__item.--people-42 {
  display: block;
  top: clamp(1556.25px, 152.0146520147vw, 3112.5px);
  left: max(10.6227106227vw, 72.5px);
  width: max(10.695970696vw, 73px);
}
.c-people-sub__item.--people-37 {
  display: block;
  top: clamp(1642.5px, 160.4395604396vw, 3285px);
  left: max(80.5860805861vw, 550px);
  width: max(5.1282051282vw, 35px);
}
.c-people-sub__item.--people-33 {
  display: block;
  top: clamp(2006.25px, 195.9706959707vw, 4012.5px);
  left: max(7.326007326vw, 50px);
  width: max(10.6227106227vw, 72.5px);
}
.c-people-sub__item.--people-32 {
  display: block;
  top: clamp(1815px, 177.2893772894vw, 3630px);
  left: max(78.7545787546vw, 537.5px);
  width: max(15.6776556777vw, 107px);
}
.c-people-sub__item.--people-40 {
  display: block;
  top: clamp(2148.75px, 209.8901098901vw, 4297.5px);
  left: max(16.8498168498vw, 115px);
  width: max(5.2747252747vw, 36px);
}
.c-people-sub__item.--people-43 {
  display: block;
  top: clamp(2085px, 203.663003663vw, 4170px);
  left: max(75.4578754579vw, 515px);
  width: max(11.6483516484vw, 79.5px);
}
.c-people-sub__item.--people-39 {
  display: block;
  top: clamp(2460px, 240.293040293vw, 4920px);
  left: max(86.8131868132vw, 592.5px);
  width: max(9.010989011vw, 61.5px);
}
.c-people-sub__item.--people-46 {
  display: block;
  top: clamp(2688.75px, 262.6373626374vw, 5377.5px);
  left: max(15.7509157509vw, 107.5px);
  width: max(3.5897435897vw, 24.5px);
}
.c-people-sub__item.--people-41 {
  display: block;
  top: clamp(2685px, 262.2710622711vw, 5370px);
  left: max(85.347985348vw, 582.5px);
  width: max(9.8901098901vw, 67.5px);
}
.c-people-sub__item.--people-47 {
  display: block;
  top: clamp(2846.25px, 278.021978022vw, 5692.5px);
  left: max(7.6923076923vw, 52.5px);
  width: max(5.4212454212vw, 37px);
}
.c-people-sub__item.--people-11 {
  display: block;
  top: clamp(2994px, 292.4542124542vw, 5988px);
  left: max(75.0915750916vw, 512.5px);
  width: max(6.8131868132vw, 46.5px);
}
@media screen and (max-width: 767px) {
  .c-people-sub__item {
    display: none !important;
  }
  .c-people-sub__item.--people-1 {
    display: block !important;
    top: spSizeY(200);
    left: spSizeX(0);
    width: spSizeX(60);
  }
  .c-people-sub__item.--people-2 {
    display: block !important;
    top: spSizeY(95);
    left: spSizeX(5);
    width: spSizeX(125);
  }
}

.c-people-about {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.c-people-about__item {
  position: absolute;
  top: 100%;
  display: none;
}
.c-people-about__item.--people-19 {
  display: block;
  top: clamp(570px * 1, 100vw * 570 / 1440, 912px);
  left: 50%;
  transform: translateX(clamp(-50% - (683px - 1045px), -50% - 100vw * (683 - 1045) / 1366, -50% - 2 * (683px - 1045 px)));
  width: clamp(145px * 1, 100vw * 145 / 1440, 232px);
  transform: translateX(clamp(-1 * -362px, -100vw * -362 / 1365, -2 * -362px));
  z-index: 10;
}
.c-people-about__item.--people-14 {
  display: block;
  top: clamp(855px * 1, 100vw * 855 / 1440, 1368px);
  left: 50%;
  transform: translateX(clamp(-50% - (683px - 160px), -50% - 100vw * (683 - 160) / 1366, -50% - 2 * (683px - 160 px)));
  width: clamp(162px * 1, 100vw * 162 / 1440, 259.2px);
  transform: translateX(clamp(-2 * 523px, -100vw * 523 / 1365, -1 * 523px));
}
.c-people-about__item.--people-15 {
  display: block;
  top: clamp(1175px * 1, 100vw * 1175 / 1440, 1880px);
  left: 50%;
  transform: translateX(clamp(-50% - (683px - 115px), -50% - 100vw * (683 - 115) / 1366, -50% - 2 * (683px - 115 px)));
  width: clamp(87px * 1, 100vw * 87 / 1440, 139.2px);
  transform: translateX(clamp(-2 * 568px, -100vw * 568 / 1365, -1 * 568px));
}
.c-people-about__item.--people-17 {
  display: block;
  top: clamp(1580px * 1, 100vw * 1580 / 1440, 2528px);
  left: 50%;
  transform: translateX(clamp(-50% - (683px - 185px), -50% - 100vw * (683 - 185) / 1366, -50% - 2 * (683px - 185 px)));
  width: clamp(185px * 1, 100vw * 185 / 1440, 296px);
  transform: translateX(clamp(-2 * 498px, -100vw * 498 / 1365, -1 * 498px));
}
.c-people-about__item.--people-44 {
  display: block;
  top: clamp(1460px * 1, 100vw * 1460 / 1440, 2336px);
  left: 50%;
  transform: translateX(clamp(-50% - (683px - 1105px), -50% - 100vw * (683 - 1105) / 1366, -50% - 2 * (683px - 1105 px)));
  width: clamp(136px * 1, 100vw * 136 / 1440, 217.6px);
  transform: translateX(clamp(-1 * -422px, -100vw * -422 / 1365, -2 * -422px));
}
@media screen and (max-width: 1299px) {
  .c-people-about__item.--people-44 {
    transform: translateX(calc(-0.8 * -422px));
  }
}
@media screen and (max-width: 1099px) {
  .c-people-about__item.--people-44 {
    transform: translateX(calc(-0.7 * -422px));
  }
}
.c-people-about__item.--people-18 {
  display: block;
  top: clamp(1885px * 1, 100vw * 1885 / 1440, 3016px);
  left: 50%;
  transform: translateX(clamp(-50% - (683px - 1036px), -50% - 100vw * (683 - 1036) / 1366, -50% - 2 * (683px - 1036 px)));
  width: clamp(174px * 1, 100vw * 174 / 1440, 278.4px);
  transform: translateX(clamp(-1 * -353px, -100vw * -353 / 1365, -2 * -353px));
}
@media screen and (max-width: 1299px) {
  .c-people-about__item.--people-18 {
    transform: translateX(calc(-0.8 * -353px));
  }
}
@media screen and (max-width: 1099px) {
  .c-people-about__item.--people-18 {
    transform: translateX(calc(-0.7 * -353px));
  }
}
.c-people-about__item.--people-16 {
  display: block;
  top: clamp(1950px * 1, 100vw * 1950 / 1440, 3120px);
  left: 50%;
  transform: translateX(clamp(-50% - (683px - 90px), -50% - 100vw * (683 - 90) / 1366, -50% - 2 * (683px - 90 px)));
  width: clamp(239px * 1, 100vw * 239 / 1440, 382.4px);
  transform: translateX(clamp(-2 * 593px, -100vw * 593 / 1365, -1 * 593px));
}
@media screen and (max-width: 1299px) {
  .c-people-about__item.--people-16 {
    transform: translateX(calc(-0.8 * 593px));
  }
}
@media screen and (max-width: 1099px) {
  .c-people-about__item.--people-16 {
    transform: translateX(calc(-0.7 * 593px));
  }
}
.c-people-about__item.--people-22 {
  display: block;
  top: clamp(2185px * 1, 100vw * 2185 / 1440, 3496px);
  left: 50%;
  transform: translateX(clamp(-50% - (683px - 1180px), -50% - 100vw * (683 - 1180) / 1366, -50% - 2 * (683px - 1180 px)));
  width: clamp(63px * 1, 100vw * 63 / 1440, 100.8px);
  transform: translateX(clamp(-1 * -497px, -100vw * -497 / 1365, -2 * -497px));
}
@media screen and (max-width: 1299px) {
  .c-people-about__item.--people-22 {
    transform: translateX(calc(-0.8 * -497px));
  }
}
@media screen and (max-width: 1099px) {
  .c-people-about__item.--people-22 {
    transform: translateX(calc(-0.7 * -497px));
  }
}
.c-people-about__item.--people-20 {
  display: block;
  top: clamp(2340px * 1, 100vw * 2340 / 1440, 3744px);
  left: 50%;
  transform: translateX(clamp(-50% - (683px - 260px), -50% - 100vw * (683 - 260) / 1366, -50% - 2 * (683px - 260 px)));
  width: clamp(122px * 1, 100vw * 122 / 1440, 195.2px);
  transform: translateX(clamp(-2 * 423px, -100vw * 423 / 1365, -1 * 423px));
}
@media screen and (max-width: 1299px) {
  .c-people-about__item.--people-20 {
    transform: translateX(calc(-0.8 * 423px));
  }
}
@media screen and (max-width: 1099px) {
  .c-people-about__item.--people-20 {
    transform: translateX(calc(-0.7 * 423px));
  }
}
.c-people-about__item.--people-24 {
  display: block;
  top: clamp(2380px * 1, 100vw * 2380 / 1440, 3808px);
  left: 50%;
  transform: translateX(clamp(-50% - (683px - 930px), -50% - 100vw * (683 - 930) / 1366, -50% - 2 * (683px - 930 px)));
  width: clamp(147px * 1, 100vw * 147 / 1440, 235.2px);
  transform: translateX(clamp(-1 * -247px, -100vw * -247 / 1365, -2 * -247px));
}
@media screen and (max-width: 1299px) {
  .c-people-about__item.--people-24 {
    transform: translateX(calc(-0.8 * -247px));
  }
}
@media screen and (max-width: 1099px) {
  .c-people-about__item.--people-24 {
    transform: translateX(calc(-0.7 * -247px));
  }
}
@media screen and (max-width: 767px) {
  .c-people-about__item {
    display: none !important;
  }
  .c-people-about__item.--people-1 {
    display: block !important;
    top: spSizeY(200);
    left: spSizeX(0);
    width: spSizeX(60);
  }
  .c-people-about__item.--people-2 {
    display: block !important;
    top: spSizeY(95);
    left: spSizeX(5);
    width: spSizeX(125);
  }
}

.c-people-sample {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 999;
  opacity: 0.3;
}

.c-article-grid__header {
  max-width: 75rem;
  margin: 3.75rem auto 0;
}
@media screen and (max-width: 899px) {
  .c-article-grid__header {
    padding: 2rem 1rem 1.0666666667rem;
  }
}
.c-article-grid__ttl {
  margin: 0 0 1.25rem;
  font-size: 1.6875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 899px) {
  .c-article-grid__ttl {
    font-size: 1.3333333333rem;
    margin-bottom: 0.8rem;
  }
}
.c-article-grid__subTxt {
  margin: 0;
  font-size: 1rem;
  line-height: 1.8;
  color: #333333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 899px) {
  .c-article-grid__subTxt {
    font-size: 0.9333333333rem;
  }
}
.c-article-grid__body {
  display: grid;
  grid-template-columns: 20.6875rem 1fr;
  gap: 0;
  max-width: 90rem;
  width: 100%;
  margin: 5rem auto 0;
  border-top: 1px solid #cdcdcd;
}
@media screen and (max-width: 899px) {
  .c-article-grid__body {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: 2rem 1rem 4rem;
  }
}
.c-article-grid__aside {
  position: sticky;
  top: 0;
  align-self: start;
  transition: top 0.7s ease;
}
.l-header:not(.is-hidden) + .l-main .c-article-grid__aside {
  top: 9.4375rem;
}
@media screen and (max-width: 899px) {
  .c-article-grid__aside {
    position: static;
    order: -1;
  }
}
@media screen and (max-width: 899px) {
  .c-article-grid__aside-inner {
    padding: 1.0666666667rem;
  }
}
.c-article-grid__aside-nav {
  margin: 0;
}
.c-article-grid__aside-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.c-article-grid__aside-item {
  margin: 0;
  border-bottom: 1px solid #cdcdcd;
}
.c-article-grid__aside-link {
  display: block;
  padding: 1.25rem 2.1875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  color: #333333;
  text-decoration: none;
  line-height: 1.5;
  position: relative;
  transition: color 0.2s, background-color 0.2s;
  letter-spacing: 0.1em;
}
.c-article-grid__aside-link::after {
  content: "";
  width: 0.2651650429rem;
  height: 0.2651650429rem;
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
  position: absolute;
  right: 0.625rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.is-current .c-article-grid__aside-link {
  background-color: #f1f5f3;
  color: #21a154;
}
.is-current .c-article-grid__aside-link::after {
  border-top-color: #21a154;
  border-right-color: #21a154;
}
@media (any-hover: hover) {
  .c-article-grid__aside-link:hover {
    background-color: rgba(241, 245, 243, 0.4) !important;
  }
}
.c-article-grid__aside-link:focus-visible {
  background-color: rgba(241, 245, 243, 0.4) !important;
}
.c-article-grid__main {
  padding: 3.125rem 2.1875rem 7.5rem 3.125rem;
  border-left: 1px solid #cdcdcd;
}
.c-article-grid__diagram {
  background-color: #f1f5f3;
  border-radius: 0.625rem;
  padding: 2.5rem 1.875rem 2.8125rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .c-article-grid__diagram {
    margin-top: 1.3333333333rem;
  }
}

.p-aptitude-section + .p-aptitude-section,
.p-aptitude-section + .c-article-grid-section,
.c-article-grid-section + .p-aptitude-section,
.c-article-grid-section + .c-article-grid-section {
  margin-top: 6.25rem;
}

.p-aptitude-content__half-image,
.c-article-grid-content__half-image {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-top: 1.875rem;
}

.c-article-grid-blocks {
  display: grid;
  gap: 1.875rem;
  margin-top: 1.875rem;
}

.c-article-grid-block {
  background-color: #f1f5f3;
  border-radius: 0.625rem;
  overflow: hidden;
  padding: 3.125rem 3.125rem 3.75rem;
}
.c-article-grid-block + .c-article-grid-block, .c-article-grid-block.--second {
  margin-top: 5rem;
}
.c-article-grid-block__accent {
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  color: #ffffff;
  background-color: #21a154;
  display: grid;
  place-items: center;
  min-height: 1.6875rem;
  padding: 0 0.625rem;
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0;
  line-height: 1.5;
}
.c-article-grid-block__ttl {
  margin-top: 0.9375rem;
  font-size: 1.5625rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5;
  letter-spacing: 0;
}
.c-article-grid-block__subttl {
  font-size: 1.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 0.625rem;
}
.c-article-grid-block__subttl:not(:first-child) {
  margin-top: 1.875rem;
}
.c-article-grid-block__subttl.--large {
  font-size: 1.25rem;
  margin-bottom: 0.9375rem;
  line-height: 1.8;
}
.c-article-grid-block__text {
  margin-top: 1.25rem;
  padding-right: 3.125rem;
}
h3 + .c-article-grid-block__text {
  margin-top: 0.9375rem;
}
.c-article-grid-block__note {
  display: flex;
  align-items: baseline;
}
.c-article-grid-block__note-icon {
  display: block;
  width: 1em;
  flex-shrink: 0;
}
.c-article-grid-block__image {
  display: block;
  margin-top: 1.875rem;
}

.c-article-grid-img-block {
  background-color: #f1f5f3;
  border-radius: 0.625rem;
  overflow: hidden;
  display: grid;
  grid-template-columns: 550fr 314fr;
}
.c-article-grid-block .c-article-grid-img-block {
  background-color: transparent;
}
.c-article-grid-img-block.--reverse {
  grid-template-columns: 314fr 550fr;
}
.c-article-grid-img-block.--reverse *:first-child {
  order: 2;
}
.c-article-grid-img-block.--reverse *:last-child {
  order: 1;
}
.c-article-grid-img-block__image {
  align-self: flex-end;
}
.c-article-grid-img-block__content {
  padding: 3.125rem 0rem 3.75rem 3.125rem;
}
.c-article-grid-block .c-article-grid-img-block__content {
  padding: 0;
}

.c-article-grid-white-block {
  background-color: #ffffff;
  border-radius: 0.625rem;
  overflow: hidden;
  padding: 1.5625rem 1.875rem 1.875rem;
  margin-top: 1.875rem;
}
.c-article-grid-white-block__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.c-article-grid-white-block__item {
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  display: flex;
  align-items: baseline;
}
.c-article-grid-white-block__item::before {
  content: "・";
  display: block;
  flex-shrink: 0;
  color: #21a154;
}

.c-article-grid-note-list {
  margin-top: 1.25rem;
}
.c-article-grid-note-list__item {
  display: flex;
  align-items: baseline;
}
.c-article-grid-note-list__icon {
  display: block;
  flex-shrink: 0;
}

.c-article-grid-thumb-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(30px * 0.1, 100vw * 30 / 1440, 30px);
}
.c-article-grid-thumb-list__content {
  margin-top: 0.9375rem;
}
.c-article-grid-thumb-list__title {
  font-size: 0.9375rem;
  line-height: 1.6;
}

.c-flow {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-flow {
    margin-top: 1.3333333333rem;
  }
}
.c-flow__item {
  position: relative;
  border: 1px solid #d9d9d9;
  border-radius: 0.5rem;
  overflow: visible;
  background-color: #ffffff;
  padding: 1.25rem;
}
.c-flow__item:not(:first-child) {
  margin-top: 2.25rem;
}
@media screen and (max-width: 767px) {
  .c-flow__item:not(:first-child) {
    margin-top: 1.8666666667rem;
  }
}
.c-flow__item:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -1.125rem;
  transform: translate(-50%, -50%);
  width: 1.5625rem;
  height: 0.75rem;
  background-color: #9f9f9f;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
@media screen and (max-width: 767px) {
  .c-flow__item:not(:first-child)::before {
    top: -0.9333333333rem;
    width: 0.9333333333rem;
    height: 0.5333333333rem;
  }
}
.c-flow__head {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  background-color: #ffffff;
}
.c-flow__step {
  flex-shrink: 0;
  padding: 0 0.625rem 0.0625rem;
  font-size: 0.75rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  color: #ffffff;
  background-color: #21a154;
  border-radius: 100vh;
  letter-spacing: 0;
  line-height: 1;
  display: grid;
  place-items: center;
  min-height: 1.25rem;
  margin-top: 0.36rem;
}
@media screen and (max-width: 767px) {
  .c-flow__step {
    padding: 0.1333333333rem 0.6666666667rem;
    font-size: 0.7333333333rem;
  }
}
.c-flow__label {
  font-size: 1.375rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  color: #333333;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-flow__label {
    font-size: 0.9333333333rem;
  }
}
.c-flow__body {
  border-radius: 0 0 0.4375rem 0.4375rem;
  margin-top: 0.3125rem;
}
.c-flow__body p {
  margin: 0;
  line-height: 1.8;
  letter-spacing: 0;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .c-flow__body p {
    font-size: 0.8666666667rem;
  }
}

.c-news__body {
  margin-top: 1.875rem;
}
.c-news__content {
  margin-top: 1.875rem;
}
.c-news__content * {
  margin: 3.125rem 0;
}
.c-news__content *:first-child {
  margin-top: 0;
}
.c-news__content *:last-child {
  margin-bottom: 0;
}
.c-news__content figure {
  display: block;
  max-width: 41.25rem;
  margin-bottom: 3.75rem;
}

.p-top-fv {
  --fv-base: max(100svh, 43.75rem);
  position: relative;
  height: var(--fv-base);
  overflow: hidden;
  background-color: #ecf4f5;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-top-fv {
    height: 100svh;
    min-height: 34.6666666667rem;
  }
}
.p-top-fv__strip {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  aspect-ratio: 3634.46/892;
  will-change: transform;
}
.p-top-fv__cell {
  position: absolute;
  overflow: hidden;
  will-change: transform, opacity;
}
.p-top-fv__pic {
  position: absolute;
  will-change: transform;
}
.p-top-fv__pic picture,
.p-top-fv__pic img {
  width: 100%;
  height: 100%;
}
.p-top-fv__pic img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-fv__deco {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  will-change: transform;
}
.p-top-fv__deco svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.p-top-fv__draw {
  stroke-dasharray: 0 100000;
}
.p-top-fv__grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 1px, transparent 1px);
  background-size: 1.8868002399% 7.6877802691%;
}
.p-top-fv__photo {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.p-top-fv__photo picture,
.p-top-fv__photo img {
  width: 100%;
  height: 100%;
}
.p-top-fv__photo img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
.p-top-fv__logo {
  position: absolute;
  z-index: 2;
  transform: translateZ(0);
  left: 2.125rem;
  bottom: calc(100% - var(--fv-base) + 3.75rem);
  width: 55.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-fv__logo {
    left: 0;
    bottom: 2.6666666667rem;
    width: 100%;
  }
}
.p-top-fv__logo-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.p-top-fv__body {
  position: absolute;
  z-index: 2;
  top: calc(var(--fv-base) / 2 - 13.3125rem);
  left: 50%;
  width: -moz-max-content;
  width: max-content;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-top-fv__body {
    top: 22.3684210526%;
    left: 2.3333333333rem;
    width: calc(100% - 4.6666666667rem);
    transform: none;
  }
}
.p-top-fv__copy {
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: 3.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6923076923;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-top-fv__copy {
    font-size: 2.1333333333rem;
    line-height: 1.59375;
  }
}
.p-top-fv__copy-line {
  display: block;
  opacity: 0;
}
.p-top-fv__tsu {
  opacity: 0;
}
.p-top-fv__btn {
  position: absolute;
  top: calc(var(--fv-base) / 2 + 2.6875rem);
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  width: 10.625rem;
  height: 10.625rem;
  padding-top: 0.5rem;
  border-radius: 50%;
  background-color: #ffffff;
  color: #000;
  text-decoration: none;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-fv__btn {
    top: calc(22.3684210526% + 11.0666666667rem);
    width: 9.0666666667rem;
    height: 9.0666666667rem;
    gap: 0.5333333333rem;
    padding-top: 0;
    background-color: rgba(255, 255, 255, 0.8);
  }
}
@media (any-hover: hover) {
  .p-top-fv__btn:hover .p-top-fv__btn-icon {
    transform: translateX(0.375rem);
  }
}
.p-top-fv__btn-txt {
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5625;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-fv__btn-txt {
    font-size: 1rem;
    line-height: 1.4;
  }
}
.p-top-fv__btn-icon {
  width: 2.125rem;
  transition: transform 0.4s cubic-bezier(0.2, 0.64, 0.315, 1);
}
@media screen and (max-width: 767px) {
  .p-top-fv__btn-icon {
    width: 1.6666666667rem;
  }
}
.p-top-fv__notice {
  position: absolute;
  top: calc(var(--fv-base) / 2 - 5.9375rem);
  right: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 5.9375rem;
  height: 11.875rem;
  padding: 1rem 0.375rem 0 0;
  border-radius: 0.9375rem 0 0 0.9375rem;
  background-color: rgba(187, 187, 187, 0.9);
  color: #ffffff;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-top-fv__notice {
    top: 21.7980295567%;
    gap: 0.35rem;
    width: 1.8rem;
    height: auto;
    padding: 0.8666666667rem 0;
    border-radius: 0.4666666667rem 0 0 0.4666666667rem;
  }
}
@media (any-hover: hover) {
  .p-top-fv__notice:hover .p-top-fv__notice-icon {
    transform: translateX(0.1875rem);
  }
}
.p-top-fv__notice-names {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.09375rem;
}
@media screen and (max-width: 767px) {
  .p-top-fv__notice-names {
    gap: 0.2rem;
  }
}
.p-top-fv__notice-name {
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-fv__notice-name {
    writing-mode: vertical-rl;
    font-size: 0.8rem;
    line-height: 1;
    letter-spacing: 0.0333333333rem;
  }
}
.p-top-fv__notice-arrow {
  display: block;
  width: 0.6875rem;
  height: 1rem;
}
@media screen and (max-width: 767px) {
  .p-top-fv__notice-arrow {
    width: 0.4666666667rem;
    height: 0.7833333333rem;
  }
}
.p-top-fv__notice-icon {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  margin-top: 1.1875rem;
  border-radius: 50%;
  background-color: #ffffff;
  transition: transform 0.4s cubic-bezier(0.2, 0.64, 0.315, 1);
}
@media screen and (max-width: 767px) {
  .p-top-fv__notice-icon {
    width: 1.05rem;
    height: 1.05rem;
    margin-top: 0.15rem;
  }
}
.p-top-fv__notice-icon picture {
  width: 30%;
}
.p-top-fv__notice-icon img {
  display: block;
  width: 100%;
  height: auto;
}
.p-top-fv__notice-txt {
  margin-top: 0.375rem;
  padding-left: 0.625rem;
  align-self: flex-start;
  font-size: 0.875rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.2857142857;
}
@media screen and (max-width: 767px) {
  .p-top-fv__notice-txt {
    align-self: auto;
    margin-top: 0.15rem;
    padding-left: 0;
    writing-mode: vertical-rl;
    font-size: 0.6666666667rem;
    line-height: 1;
    letter-spacing: 0.2rem;
  }
}
.p-top-fv__scroll {
  position: absolute;
  right: 2.5rem;
  bottom: calc(100% - var(--fv-base) + 2.5rem);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-top-fv__scroll {
    right: 2.6666666667rem;
    bottom: 6.6666666667rem;
    gap: 0.5333333333rem;
  }
}
.p-top-fv__scroll-txt {
  writing-mode: vertical-rl;
  font-size: 0.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-top-fv__scroll-txt {
    font-size: 0.6666666667rem;
  }
}
.p-top-fv__scroll-line {
  position: relative;
  width: 1px;
  height: 5rem;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.4);
}
@media screen and (max-width: 767px) {
  .p-top-fv__scroll-line {
    height: 3.2rem;
  }
}
.p-top-fv__scroll-line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  animation: p-top-fv-scroll 2s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}

@keyframes p-top-fv-scroll {
  0% {
    transform: translateY(-100%);
  }
  50%, 100% {
    transform: translateY(100%);
  }
}
.p-top-intro {
  height: 35.625rem;
  padding-top: 22.3125rem;
  background-color: #afd2e1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-intro {
    height: auto;
    padding: 6.4rem 1rem 0;
  }
}
.p-top-intro__ttl {
  font-size: 3.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6923076923;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-intro__ttl {
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
  }
}

.p-top-works {
  --frame-w: 59.5rem;
  --frame-h: 31.75rem;
  --frame-r: 1.875rem;
  padding-top: 4.375rem;
  background-color: #afd2e1;
}
@media screen and (max-width: 767px) {
  .p-top-works {
    --frame-w: calc(100% - 4.6666666667rem);
    --frame-h: 25.3333333333rem;
    --frame-r: 1.0666666667rem;
    padding-top: 2.1333333333rem;
  }
}
.p-top-works__ttl {
  position: relative;
  margin-bottom: calc(8.4375rem - (100vh - var(--frame-h)) / 2);
  margin-bottom: calc(8.4375rem - (100svh - var(--frame-h)) / 2);
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 4rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-works__ttl {
    margin-bottom: calc(2rem - (100vh - var(--frame-h)) / 2);
    margin-bottom: calc(2rem - (100svh - var(--frame-h)) / 2);
    font-size: 1.6rem;
    line-height: 1.1666666667;
  }
}
.p-top-works__stage {
  position: relative;
  z-index: 1;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
}
.p-top-works__visual {
  position: absolute;
  inset: 0;
  display: block;
  color: #ffffff;
  clip-path: inset(calc((100% - var(--frame-h)) / 2) calc((100% - var(--frame-w)) / 2) round var(--frame-r));
}
.p-top-works__frame {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--frame-w);
  height: var(--frame-h);
  border-radius: var(--frame-r);
  transform: translate(-50%, -50%);
  visibility: hidden;
  pointer-events: none;
}
.p-top-works__img {
  position: absolute;
  inset: 0;
}
.p-top-works__img picture,
.p-top-works__img img {
  width: 100%;
  height: 100%;
}
.p-top-works__img img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-works__body {
  position: absolute;
  bottom: 7.1875rem;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.9375rem;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .p-top-works__body {
    bottom: 1.2rem;
    gap: 1.7333333333rem;
  }
}
.p-top-works__txt {
  font-size: 1.75rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
  text-align: center;
  text-shadow: 0 0 15px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .p-top-works__txt {
    font-size: 1.0666666667rem;
    line-height: 1.4375;
    letter-spacing: 0;
  }
}
.p-top-works__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  width: 10.625rem;
  height: 10.625rem;
  aspect-ratio: 1;
  padding-top: 0.5rem;
  border: 2px solid #ffffff;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: rgba(255, 255, 255, 0.2);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.25);
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-top-works__btn {
    gap: 1.2666666667rem;
    width: 9.0666666667rem;
    height: 9.0666666667rem;
    padding-top: 0.4rem;
  }
}
.p-top-works__visual:hover .p-top-works__btn {
  background-color: rgba(255, 255, 255, 0.4);
}
.p-top-works__btn-txt {
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5625;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-works__btn-txt {
    font-size: 1rem;
    line-height: 1.4;
  }
}
.p-top-works__btn-icon {
  width: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-top-works__btn-icon {
    width: 1.6666666667rem;
  }
}

.p-top-story {
  padding: 8.6875rem 0 22.875rem;
  background-color: #ffffff;
  transition: background-color 0.8s ease;
}
.p-top-story.is-sky {
  background-color: #afd2e1;
}
@media screen and (max-width: 767px) {
  .p-top-story {
    padding: 6rem 2.3333333333rem 6.4rem;
  }
}

body {
  transition: background-color 0.8s ease;
}
body.is-sky {
  background-color: #afd2e1;
}

.p-top-blue {
  padding: 15.0625rem 0 31.6875rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-blue {
    padding: 5.2666666667rem 0 7.8666666667rem;
  }
}

.p-top-activity__row, .p-top-news {
  display: grid;
  grid-template-columns: 14.625rem 54rem;
  align-items: start;
  -moz-column-gap: 8.375rem;
       column-gap: 8.375rem;
  margin-left: 9rem;
}
@media screen and (max-width: 767px) {
  .p-top-activity__row, .p-top-news {
    grid-template-columns: 1fr;
    row-gap: 1.9333333333rem;
    margin: 0 2.3333333333rem;
  }
}

.p-top-activity__head, .p-top-news__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  white-space: nowrap;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-activity__head, .p-top-news__head {
    flex-direction: row;
    justify-content: space-between;
    gap: 1.0666666667rem;
  }
}

.p-top-people {
  padding: 0 4rem 0 9rem;
}
@media screen and (max-width: 767px) {
  .p-top-people {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-people__head {
    padding: 0 2.3333333333rem;
  }
}
.p-top-people__row {
  display: grid;
  grid-template-columns: 23rem 37.8125rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-people__row {
    grid-template-columns: 1fr;
    row-gap: 1.0666666667rem;
    margin-top: 0.8rem;
  }
}
.p-top-people__ttl {
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-people__ttl {
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
.p-top-people__txt {
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-people__txt {
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
}
.p-top-people__img {
  position: relative;
  display: block;
  height: 43.75rem;
  margin-top: 7.375rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-people__img {
    height: 19.6rem;
    margin-top: 2.4666666667rem;
  }
}
.p-top-people__img picture,
.p-top-people__img img {
  width: 100%;
  height: 100%;
}
.p-top-people__img img {
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.2, 0.64, 0.315, 1);
  will-change: transform;
  backface-visibility: hidden;
}
.p-top-people__img:hover img {
  transform: scale(1.03);
}
.p-top-people__more {
  position: absolute;
  bottom: 5rem;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10rem;
  height: 4rem;
  border-radius: 2.5rem;
  background-color: #ffffff;
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 2.25;
  letter-spacing: 0.05em;
  transform: translateX(-50%);
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-top-people__more {
    bottom: 1.4rem;
    width: 7.3333333333rem;
    height: 2.9333333333rem;
    font-size: 0.7333333333rem;
    line-height: 2.2545454545;
  }
}
.p-top-people__img:hover .p-top-people__more {
  background-color: #000;
  color: #ffffff;
}

.p-top-news {
  margin-top: 22.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-news {
    margin-top: 8.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-news__head .c-ttl-en {
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
.p-top-news__list {
  border-top: 1px solid #000;
}
.p-top-news__item {
  border-bottom: 1px solid #000;
}
.p-top-news__link {
  display: grid;
  grid-template-columns: 7.8125rem 1fr 5rem;
  align-items: center;
  min-height: 5.875rem;
  padding: 0.5rem 1.5rem 0.5rem 1.5625rem;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-top-news__link {
    grid-template-columns: auto 1fr;
    gap: 0.8rem 1.0666666667rem;
    min-height: 0;
    padding: 1.6rem 1rem 1.1333333333rem;
  }
}
@media (any-hover: hover) {
  .p-top-news__link:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }
}
.p-top-news__date {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-news__date {
    font-size: 0.8666666667rem;
    line-height: 1.1538461538;
  }
}
.p-top-news__title {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-news__title {
    grid-column: 1/-1;
    grid-row: 2;
    font-size: 1rem;
    line-height: 1.5333333333;
    letter-spacing: 0;
  }
}
.p-top-news__cat {
  display: grid;
  place-items: center;
  height: 1.5rem;
  border-radius: 50px;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-news__cat {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
    width: 3.5333333333rem;
    height: 1.0666666667rem;
    font-size: 0.8666666667rem;
    line-height: 1;
  }
}
.p-top-news__cat.--general {
  background-color: #00a5ff;
}
.p-top-news__cat.--recruit {
  background-color: #ff7e4e;
}

.p-top-activity {
  margin-top: 26.1875rem;
}
@media screen and (max-width: 767px) {
  .p-top-activity {
    margin-top: 8.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-activity__row {
    grid-template-columns: 1fr auto;
    grid-template-areas: "ttl ttl" "txt arrow";
    align-items: center;
    gap: 1.0666666667rem 0.9333333333rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-activity__head {
    display: contents;
  }
  .p-top-activity__head .c-circle-arrow {
    grid-area: arrow;
  }
}
.p-top-activity__ttl {
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-activity__ttl {
    grid-area: ttl;
    text-align: left;
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
.p-top-activity__txt {
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-activity__txt {
    grid-area: txt;
    max-width: 15.6rem;
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
}
.p-top-activity__strip {
  height: 20.375rem;
  margin-top: 5.3125rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-activity__strip {
    height: 14.6666666667rem;
    margin-top: 2.7333333333rem;
  }
}
.p-top-activity__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  height: 100%;
  will-change: transform;
}
.p-top-activity__photo {
  flex-shrink: 0;
  width: 36.125rem;
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-activity__photo {
    width: 20.3333333333rem;
  }
}
.p-top-activity__photo picture,
.p-top-activity__photo img {
  width: 100%;
  height: 100%;
}
.p-top-activity__photo img {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-recruit {
  position: relative;
  height: 55.625rem;
  overflow: hidden;
  color: #ffffff;
  background-color: #00a5ff;
}
@media screen and (max-width: 767px) {
  .p-top-recruit {
    height: 47.2666666667rem;
  }
}
.p-top-recruit__link {
  position: relative;
  display: block;
  height: 100%;
}
.p-top-recruit__charas {
  position: absolute;
  inset: 0;
}
.p-top-recruit__chara {
  --slide: 90rem;
  position: absolute;
  top: 9.3125rem;
  left: 30.0625rem;
  width: 28.0625rem;
  transform: translateX(var(--slide));
  transition: transform 1.2s cubic-bezier(0.65, 0, 0.35, 1);
  will-change: transform;
  backface-visibility: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__chara {
    --slide: 25rem;
    top: 9.8rem;
    left: 7.1333333333rem;
    width: 10.0666666667rem;
  }
}
.p-top-recruit__chara.is-current {
  transform: translateX(0);
}
.p-top-recruit__chara.is-leaving {
  transform: translateX(calc(var(--slide) * -1));
}
.p-top-recruit__chara.is-reset {
  transition: none;
}
.p-top-recruit__chara img {
  width: 100%;
  height: auto;
}
@media (prefers-reduced-motion: reduce) {
  .p-top-recruit__chara {
    transition: none;
  }
}
.p-top-recruit__head {
  position: absolute;
  z-index: 1;
  top: 20.6875rem;
  left: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__head {
    top: 1.6666666667rem;
    left: 1rem;
  }
}
.p-top-recruit__ttl {
  display: block;
}
.p-top-recruit__logo {
  display: block;
  width: 14.125rem;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__logo {
    width: 8.5333333333rem;
  }
}
.p-top-recruit__en {
  display: block;
  margin-top: 0.625rem;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 4rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.25;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__en {
    margin-top: 0.4rem;
    font-size: 2.4rem;
    line-height: 1.25;
  }
}
.p-top-recruit__more {
  display: flex;
  align-items: center;
  gap: 1.875rem;
  margin-top: 1.4375rem;
  margin-left: -0.0625rem;
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: 1.3125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5714285714;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__more {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.6666666667rem;
    margin-top: 0.5333333333rem;
    margin-left: 0;
    font-size: 1rem;
    line-height: 1.4666666667;
  }
}
@media screen and (max-width: 767px) {
  .p-top-recruit__more .c-circle-arrow {
    align-self: flex-start;
    --size: 1.7333333333rem;
  }
  .p-top-recruit__more .c-circle-arrow picture {
    width: 0.6666666667rem;
  }
}
.p-top-recruit__catch {
  position: absolute;
  z-index: 1;
  top: 48.125rem;
  left: 1.1875rem;
  width: 87.5625rem;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__catch {
    top: 33.6rem;
    left: 2.3333333333rem;
    width: 15.1333333333rem;
  }
}
.p-top-recruit__catch img {
  width: 100%;
  height: auto;
}
.p-top-recruit__catch .--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__catch .--pc {
    display: none;
  }
  .p-top-recruit__catch .--sp {
    display: block;
  }
}

.p-top-pickup {
  padding: 19.625rem 4rem 0;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-top-pickup {
    padding: 6.6666666667rem 1rem 0;
  }
}

.p-top-corporate {
  padding: 23.75rem 0 20.8125rem;
  background-color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-corporate {
    padding: 8rem 2.3333333333rem;
  }
}
.p-top-corporate__ttl {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-top-corporate__ttl {
    margin: 0 -1.3333333333rem;
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
  }
}
.p-top-corporate__card {
  position: relative;
  display: block;
  width: 71.75rem;
  height: 39.25rem;
  margin: 12.125rem auto 0;
  overflow: hidden;
  border-radius: 5rem;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-top-corporate__card {
    display: grid;
    gap: 1.4666666667rem;
    width: 100%;
    height: auto;
    margin-top: 5.3333333333rem;
    overflow: visible;
    border-radius: 0;
    color: #000;
    text-align: left;
  }
}
.p-top-corporate__img {
  position: absolute;
  inset: 0;
}
@media screen and (max-width: 767px) {
  .p-top-corporate__img {
    position: relative;
    aspect-ratio: 305/315;
    overflow: hidden;
    border-radius: 0.6666666667rem;
  }
}
.p-top-corporate__img picture,
.p-top-corporate__img img {
  width: 100%;
  height: 100%;
}
.p-top-corporate__img img {
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.2, 0.64, 0.315, 1);
  will-change: transform;
  backface-visibility: hidden;
}
.p-top-corporate__card:hover .p-top-corporate__img img {
  transform: scale(1.03);
}
.p-top-corporate__head {
  position: absolute;
  bottom: 4.6875rem;
  left: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  width: 14.625rem;
}
@media screen and (max-width: 767px) {
  .p-top-corporate__head {
    position: static;
    flex-direction: row;
    justify-content: space-between;
    width: auto;
  }
  .p-top-corporate__head .c-circle-arrow {
    border-color: #000;
    background-color: transparent;
    --arrow: #000;
  }
}
.p-top-corporate__name {
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-corporate__name {
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}

.p-phil {
  overflow-x: clip;
}

@media screen and (max-width: 767px) {
  .p-phil-intro {
    padding: 0 2.3333333333rem;
  }
}
.p-phil-intro__body {
  width: 49.625rem;
  margin: 12.8125rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-phil-intro__body {
    width: auto;
    margin-top: 4rem;
  }
}
.p-phil-intro__ttl {
  font-size: 3.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6923076923;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-phil-intro__ttl {
    font-size: 2.1333333333rem;
    line-height: 1.59375;
    white-space: normal;
  }
}
.p-phil-intro__txt {
  margin-top: 6.25rem;
  font-size: 1.375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.5;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-phil-intro__txt {
    margin-top: 2.5333333333rem;
    font-size: 1.0666666667rem;
    line-height: 2.25;
    letter-spacing: 0;
    white-space: normal;
  }
}
.p-phil-intro__txt p + p {
  margin-top: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .p-phil-intro__txt p + p {
    margin-top: 2.4rem;
  }
}
.p-phil-intro__photos {
  display: flex;
  justify-content: center;
  gap: 3.75rem;
  margin-top: 12.8125rem;
}
@media screen and (max-width: 767px) {
  .p-phil-intro__photos {
    gap: 0.6666666667rem;
    margin-top: 4rem;
  }
}
.p-phil-intro__photo {
  width: 23.125rem;
  aspect-ratio: 370/250;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-phil-intro__photo {
    flex: 1;
    width: auto;
  }
}
.p-phil-intro__photo picture,
.p-phil-intro__photo img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-phil-intro__photo img {
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-phil-body {
    position: relative;
  }
}

.p-phil-anchor {
  position: sticky;
  top: 1.75rem;
  z-index: 501;
  pointer-events: none;
  margin-top: 12.5rem;
  padding-right: 9rem;
}
body:has(.l-header.is-ham-open) .p-phil-anchor {
  visibility: hidden;
}
@media screen and (max-width: 767px) {
  .p-phil-anchor {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    width: 1.9333333333rem;
    margin-top: 0;
    padding: 0;
  }
}
.p-phil-anchor__list {
  display: flex;
  justify-content: flex-end;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-phil-anchor__list {
    position: sticky;
    top: 5.7333333333rem;
    margin-top: 0.4rem;
    flex-direction: column;
    align-items: center;
    gap: 1.3333333333rem;
    width: 1.9333333333rem;
  }
}
.p-phil-anchor__link {
  display: flex;
  align-items: center;
  gap: 1rem;
  pointer-events: auto;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #757575;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.625;
  letter-spacing: 0.1em;
  transition: border-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-phil-anchor__link {
    display: block;
    padding: 0.2666666667rem 0 0.3333333333rem;
    border-bottom: 0;
    font-size: 0.8666666667rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
    line-height: 1.7692307692;
    letter-spacing: 0;
    transition: color 0.3s ease;
  }
  .p-phil-anchor__link > span:not(.c-circle-arrow) {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    writing-mode: vertical-rl;
    text-orientation: sideways;
  }
  .p-phil-anchor__link > .c-circle-arrow {
    margin: 0.5333333333rem auto 0;
  }
  .p-phil-anchor__link .c-circle-arrow {
    transition: border-color 0.3s linear, background-color 0.3s linear;
  }
}
.p-phil-anchor__link.is-active, .p-phil-anchor__link:hover {
  border-bottom-color: #00a5ff;
}
@media screen and (max-width: 767px) {
  .p-phil-anchor__link.is-active, .p-phil-anchor__link:hover {
    color: #00a5ff;
  }
  .p-phil-anchor__link.is-active .c-circle-arrow, .p-phil-anchor__link:hover .c-circle-arrow {
    border-color: #00a5ff;
  }
}

.p-phil-sec {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-phil-sec {
    padding: 0 3.8rem 0 2.3333333333rem;
  }
}
.p-phil-sec__head {
  position: relative;
  z-index: 1;
  width: 21rem;
  margin-left: 4rem;
}
@media screen and (max-width: 767px) {
  .p-phil-sec__head {
    width: auto;
    margin-left: 0;
  }
}
.p-phil-sec__ttl {
  font-size: 2.8125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5555555556;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-phil-sec__ttl {
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
  }
}
.p-phil-sec__txt {
  margin-top: 2rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-phil-sec__txt {
    margin-top: 0.9333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}

.p-phil-connect {
  height: 46.4375rem;
  margin-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-phil-connect {
    height: auto;
    margin-top: 5.2666666667rem;
  }
}

.p-phil-network {
  position: absolute;
  top: 8.5rem;
  left: 10.6875rem;
  width: 70.5rem;
  height: auto;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .p-phil-network {
    position: relative;
    top: auto;
    left: auto;
    width: 20.8666666667rem;
    margin: 2.0666666667rem 0 0 -2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-phil-network.--pc {
    display: none;
  }
}
.p-phil-network.--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-phil-network.--sp {
    display: block;
  }
}
.p-phil-network__line {
  stroke: #00a5ff;
  stroke-width: 2;
}
.--sp .p-phil-network__line {
  stroke-width: 1;
}
.p-phil-network__node circle {
  fill: #ffffff;
  stroke: #000;
  stroke-width: 2;
}
.p-phil-network__node text {
  fill: #000;
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: 18px;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.15em;
}
.--sp .p-phil-network__node circle {
  stroke-width: 1;
}
.--sp .p-phil-network__node text {
  font-size: 14px;
}

.p-phil-future {
  min-height: 42.5625rem;
  margin-top: 14.125rem;
}
@media screen and (max-width: 767px) {
  .p-phil-future {
    min-height: 0;
    margin-top: 8.1333333333rem;
  }
}
.p-phil-future .p-phil-sec__head {
  width: 33.75rem;
}
@media screen and (max-width: 767px) {
  .p-phil-future .p-phil-sec__head {
    width: auto;
  }
}
.p-phil-future .p-phil-sec__txt.--narrow {
  width: 21rem;
}
@media screen and (max-width: 767px) {
  .p-phil-future .p-phil-sec__txt.--narrow {
    width: auto;
  }
}

.p-phil-collage {
  position: absolute;
  top: 6.9375rem;
  left: 32rem;
  width: 54rem;
  aspect-ratio: 864/570;
}
@media screen and (max-width: 767px) {
  .p-phil-collage {
    position: relative;
    top: auto;
    left: auto;
    width: 21.2666666667rem;
    margin: 2.2666666667rem 0 0 -2.4rem;
    aspect-ratio: 319/468;
  }
}
.p-phil-collage__cell, .p-phil-collage__pic {
  left: var(--l);
  top: var(--t);
  width: var(--w);
  height: var(--h);
}
@media screen and (max-width: 767px) {
  .p-phil-collage__cell, .p-phil-collage__pic {
    left: var(--sl);
    top: var(--st);
    width: var(--sw);
    height: var(--sh);
  }
}
.p-phil-collage__cell {
  position: absolute;
  overflow: hidden;
  border: 1px solid #ffffff;
}
@media screen and (max-width: 767px) {
  .p-phil-collage__cell {
    border-width: 0.5px;
  }
}
.p-phil-collage__pic {
  position: absolute;
}
.p-phil-collage__pic picture,
.p-phil-collage__pic img {
  width: 100%;
  height: 100%;
}
.p-phil-collage__pic img {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-phil-principles {
  min-height: 40.5rem;
  margin-top: 15.5rem;
}
@media screen and (max-width: 767px) {
  .p-phil-principles {
    min-height: 0;
    margin-top: 10.7333333333rem;
  }
}
.p-phil-principles__card {
  position: absolute;
  top: 1.125rem;
  left: 32rem;
  width: 54rem;
  height: 39.375rem;
  border-radius: 2.75rem;
  background-color: #ecf4f5;
}
@media screen and (max-width: 767px) {
  .p-phil-principles__card {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    margin-top: 0.9333333333rem;
    padding: 2rem 1.3333333333rem 2.2666666667rem 0.3333333333rem;
    border-radius: 1.0666666667rem;
  }
}
.p-phil-principles__diagram {
  position: absolute;
  top: 2.3125rem;
  left: 12.75rem;
  width: 28.4375rem;
  height: 23.25rem;
}
@media screen and (max-width: 767px) {
  .p-phil-principles__diagram {
    position: relative;
    top: auto;
    left: auto;
    width: 18.1333333333rem;
    height: auto;
    aspect-ratio: 272/269;
    margin: 0;
  }
}
.p-phil-principles__cross {
  position: absolute;
  inset: 0;
}
.p-phil-principles__cross::before, .p-phil-principles__cross::after {
  content: "";
  position: absolute;
  background-color: #000;
}
.p-phil-principles__cross::before {
  top: 50%;
  left: 29.2307692308%;
  right: 29.2307692308%;
  height: 1px;
}
@media screen and (max-width: 767px) {
  .p-phil-principles__cross::before {
    left: 35.2941176471%;
    right: 35.2941176471%;
  }
}
.p-phil-principles__cross::after {
  top: 35.6182795699%;
  bottom: 35.6182795699%;
  left: 50%;
  width: 1px;
}
@media screen and (max-width: 767px) {
  .p-phil-principles__cross::after {
    top: 37.4015748031%;
    bottom: 37.0078740157%;
  }
}
.p-phil-principles__node {
  --x: 50%;
  --y: 50%;
  position: absolute;
  top: var(--y);
  left: var(--x);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 22.1978021978%;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .p-phil-principles__node {
    gap: 0.1333333333rem;
    width: 26.8382352941%;
    padding-bottom: 0.4rem;
    border-width: 1px;
  }
}
.p-phil-principles__node {
  padding-bottom: 0.5rem;
  border: 2px solid #000;
  border-radius: 50%;
  background-color: #ffffff;
  transform: translate(-50%, -50%);
  transition: background-color 0.4s ease, border-color 0.4s ease, color 0.4s ease;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-phil-principles__node {
    border: 1px solid #000;
  }
}
.p-phil-principles__node[data-slot=top] {
  --x: 50%;
  --y: 16.6666666667%;
}
.p-phil-principles__node[data-slot=right] {
  --x: 86.2637362637%;
  --y: 50%;
}
.p-phil-principles__node[data-slot=bottom] {
  --x: 50%;
  --y: 83.3333333333%;
}
.p-phil-principles__node[data-slot=left] {
  --x: 13.7362637363%;
  --y: 50%;
}
.p-phil-principles__node[aria-pressed=true] {
  border-color: #00a5ff;
  background-color: #00a5ff;
  color: #ffffff;
}
.p-phil-principles__label {
  margin-bottom: -0.3125rem;
  padding-left: 0.3em;
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: 1.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 3.1111111111;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 767px) {
  .p-phil-principles__label {
    font-size: 0.8666666667rem;
    line-height: 3.1230769231;
  }
}
.p-phil-principles__arrow {
  position: relative;
  width: 1rem;
  aspect-ratio: 1;
  transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
  .p-phil-principles__arrow {
    width: 0.8rem;
  }
}
.p-phil-principles__arrow picture {
  position: absolute;
  inset: 0;
  transition: opacity 0.4s ease;
}
.p-phil-principles__arrow img {
  width: 100%;
  height: 100%;
}
.p-phil-principles__arrow .--white {
  opacity: 0;
}
[aria-pressed=true] .p-phil-principles__arrow .--black {
  opacity: 0;
}
[aria-pressed=true] .p-phil-principles__arrow .--white {
  opacity: 1;
}
.p-phil-principles__body {
  position: absolute;
  top: 29.125rem;
  left: 3.5rem;
  display: grid;
  width: 47rem;
}
@media screen and (max-width: 767px) {
  .p-phil-principles__body {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    margin: 2.1333333333rem 0 0 1rem;
  }
}
.p-phil-principles__q {
  grid-area: 1/1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.p-phil-principles__q.is-active {
  opacity: 1;
  visibility: visible;
}
.p-phil-principles__q-ttl {
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: 1.75rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-phil-principles__q-ttl {
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
  }
}
.p-phil-principles__q-txt {
  margin-top: 0.6875rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-phil-principles__q-txt {
    margin-top: 0.9333333333rem;
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: -0.05em;
  }
}

@media screen and (min-width: 768px) {
  .p-phil-body::after {
    content: "";
    display: block;
    height: 17.1875rem;
  }
}

.p-phil-vision {
  position: relative;
  margin-top: 12.375rem;
}
@media screen and (max-width: 767px) {
  .p-phil-vision {
    margin-top: 9.9333333333rem;
  }
}
.p-phil-vision__ttl {
  margin-left: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .p-phil-vision__ttl {
    margin-left: 2.3333333333rem;
  }
}
.p-phil-vision__photo {
  position: relative;
  z-index: 1;
  height: 53.125rem;
  margin-top: 4.25rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-phil-vision__photo {
    height: 33.4666666667rem;
    margin-top: 1.2rem;
  }
}
.p-phil-vision__photo picture,
.p-phil-vision__photo img {
  width: 100%;
  height: 100%;
}
.p-phil-vision__photo img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 44%;
     object-position: 50% 44%;
}
@media screen and (max-width: 767px) {
  .p-phil-vision__photo img {
    -o-object-position: 70% 44%;
       object-position: 70% 44%;
  }
}
.p-phil-vision__wave {
  position: absolute;
  top: 56.375rem;
  left: 0;
  width: 100%;
  aspect-ratio: 2170/1469;
  pointer-events: none;
  opacity: 0.12;
}
@media screen and (max-width: 767px) {
  .p-phil-vision__wave {
    top: 41.4666666667rem;
    left: -10.6666666667rem;
    width: 46.3333333333rem;
  }
}
.p-phil-vision__wave svg {
  display: block;
}
.p-phil-vision__body {
  position: relative;
  z-index: 2;
  width: -moz-fit-content;
  width: fit-content;
  margin: 9.5rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-phil-vision__body {
    width: auto;
    margin: 3.8666666667rem 2.3333333333rem 0;
  }
  .p-phil-vision__body .p-phil-sec__ttl {
    font-size: 2.1333333333rem;
    line-height: 1.59375;
    letter-spacing: 0.1em;
  }
}
.p-phil-vision__txt {
  margin-top: 3.5rem;
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: 1.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 2.5454545455;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-phil-vision__txt {
    margin-top: 2.5333333333rem;
    font-size: 1.0666666667rem;
    line-height: 2.25;
    letter-spacing: 0;
    white-space: normal;
  }
}

.p-phil .c-outro {
  margin-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  .p-phil .c-outro {
    margin-top: 15.2rem;
  }
}

@media screen and (min-width: 768px) {
  html:has(.p-phil-anchor) {
    scroll-padding-top: 9.8125rem;
  }
}
.p-ci {
  padding: 8rem 0 16.125rem;
  background-color: #f0f5f8;
}
@media screen and (max-width: 767px) {
  .p-ci {
    padding: 7.3333333333rem 0 5.3333333333rem;
  }
}

.p-ci-sec {
  display: grid;
  grid-template-columns: 30.3125rem 1fr;
  -moz-column-gap: 3.4375rem;
       column-gap: 3.4375rem;
  height: 36.125rem;
}
@media screen and (max-width: 767px) {
  .p-ci-sec {
    grid-template-columns: 1fr;
    row-gap: 2rem;
    height: auto;
  }
}
.p-ci-sec + .p-ci-sec {
  margin-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  .p-ci-sec + .p-ci-sec {
    margin-top: 6rem;
  }
}
.p-ci-sec__side {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 29.8125rem;
  padding-left: 9rem;
}
@media screen and (max-width: 767px) {
  .p-ci-sec__side {
    height: auto;
    padding: 0 2.3333333333rem;
  }
}
.p-ci-sec__label {
  font-size: calc(1.25rem * var(--ci-fit, 1));
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.65;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-ci-sec__label {
    font-size: 1rem;
    line-height: 1.6666666667;
  }
}
.p-ci-sec__ttl {
  margin-top: calc(1.125rem * var(--ci-fit, 1));
  font-size: calc(2.375rem * var(--ci-fit, 1));
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-ci-sec__ttl {
    margin-top: 0.6666666667rem;
    font-size: 1.6666666667rem;
    line-height: 1.52;
  }
}
.p-ci-sec__txt {
  margin-top: calc(1.875rem * var(--ci-fit, 1));
  font-size: calc(1rem * var(--ci-fit, 1));
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-ci-sec__txt {
    margin-top: 1.0666666667rem;
    font-size: 0.9333333333rem;
    line-height: 1.7857142857;
  }
}
.p-ci-sec__num {
  position: absolute;
  top: 30.375rem;
  left: 9rem;
  display: flex;
  align-items: flex-end;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.03em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-ci-sec__num {
    display: none;
  }
}
.p-ci-sec__cur {
  font-size: 6.25rem;
  line-height: 0.82;
}
.p-ci-sec__slash {
  width: 5.625rem;
  margin: 0 0.625rem 0.3125rem;
  color: #757575;
}
.p-ci-sec__all {
  color: #757575;
  font-size: 2.5rem;
  line-height: 1.025;
}
.p-ci-sec__card {
  position: relative;
  overflow: hidden;
  height: 36.125rem;
  container-type: inline-size;
  border-radius: 2.5rem 0 0 2.5rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-ci-sec__card {
    height: auto;
    aspect-ratio: 900/578;
    margin-left: 2.3333333333rem;
    border-radius: 1.3333333333rem 0 0 1.3333333333rem;
  }
}
@media screen and (max-width: 767px) {
  .p-ci-sec__card.--color {
    aspect-ratio: auto;
  }
}
.p-ci-sec__inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.p-ci-sec__inner > picture, .p-ci-sec__inner > picture img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-ci-sec__inner > picture img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-ci-sec__video {
  position: absolute;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-ci-sec__video.--trim {
  clip-path: inset(0 0.3% 0.3% 0);
}
.p-ci-sec__progress {
  position: absolute;
  top: 62cqw;
  left: 23.3333333333cqw;
  width: 53.3333333333cqw;
  height: 1px;
  background-color: #555f69;
}
@media screen and (max-width: 767px) {
  .p-ci-sec__progress {
    top: auto;
    bottom: 0.6666666667rem;
  }
}
.p-ci-sec__progress-dot {
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.8888888889cqw;
  height: 0.8888888889cqw;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #555f69;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-ci-sec__progress-dot {
    width: 0.4rem;
    height: 0.4rem;
  }
}
.p-ci-sec__lottie {
  position: absolute;
  inset: 0;
}
.p-ci-sec__lottie svg {
  display: block;
}

.p-ci-colors {
  padding: 16.5555555556cqw 6.1111111111cqw 0 3.8888888889cqw;
}
@media screen and (max-width: 767px) {
  .p-ci-colors {
    padding: 2rem 1.3333333333rem 2rem;
  }
}
.p-ci-colors__list {
  display: grid;
  grid-template-columns: 360fr 210fr 240fr;
  height: 23.3333333333cqw;
}
@media screen and (max-width: 767px) {
  .p-ci-colors__list {
    height: 8rem;
  }
}
.p-ci-colors__item {
  position: relative;
}
.p-ci-colors__item::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--c);
  transform-origin: left center;
}
.p-ci-colors__item:nth-child(2)::before {
  transform-origin: center;
}
.p-ci-colors__item:last-child::before {
  transform-origin: right center;
}
@media (any-hover: hover) {
  .p-ci-colors__item:hover {
    z-index: 1;
  }
  .p-ci-colors__item:hover::before {
    animation: p-ci-elastic 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
  }
}
.p-ci-colors__btn {
  position: absolute;
  inset: 0;
  width: 100%;
  cursor: pointer;
}
.p-ci-colors__plus {
  position: absolute;
  top: 50%;
  right: 3.4444444444cqw;
  width: 2.2222222222cqw;
  height: 2.2222222222cqw;
  aspect-ratio: 1;
  border: 1px solid #ffffff;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-ci-colors__plus {
    right: 0.8rem;
    width: 1.2rem;
    height: 1.2rem;
  }
}
.--light .p-ci-colors__plus {
  border-color: #999;
}
.p-ci-colors__plus::before, .p-ci-colors__plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60%;
  height: 1px;
  background-color: currentColor;
  transform: translate(-50%, -50%);
}
.p-ci-colors__plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.p-ci-colors__plus {
  color: #ffffff;
}
.--light .p-ci-colors__plus {
  color: #999;
}
@media (any-hover: hover) {
  .p-ci-colors__btn:hover > .p-ci-colors__plus {
    transform: translateY(-50%) rotate(90deg);
  }
}
.p-ci-colors__btn.is-active > .p-ci-colors__plus {
  transform: translateY(-50%) rotate(45deg);
}
.p-ci-colors__all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.7777777778cqw;
  width: 30.5555555556cqw;
  height: 6.6666666667cqw;
  margin: 5cqw auto 0;
  border-radius: 7.7777777778cqw;
  background-color: #d9d9d9;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.5555555556cqw;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-ci-colors__all {
    width: 16rem;
    height: 3.3333333333rem;
    margin-top: 1.6rem;
    font-size: 0.8666666667rem;
  }
}
@media (any-hover: hover) {
  .p-ci-colors__all:hover {
    background-color: #c8c8c8;
  }
}
.p-ci-colors__all-plus {
  position: relative;
  flex-shrink: 0;
  width: 1.7777777778cqw;
  height: 1.7777777778cqw;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .p-ci-colors__all-plus {
    width: 1rem;
    height: 1rem;
  }
}
.p-ci-colors__all-plus::before, .p-ci-colors__all-plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
}
.p-ci-colors__all-plus::after {
  transform: rotate(90deg);
  transition: transform 0.3s ease;
}
[aria-expanded=true] > .p-ci-colors__all-plus::after {
  transform: rotate(0deg);
}
@media screen and (min-width: 768px) {
  .p-ci-colors {
    transition: padding-top 0.4s ease;
  }
  .p-ci-colors__list, .p-ci-colors__all {
    transition: height 0.4s ease, margin-top 0.4s ease;
  }
  .p-ci-colors:has(.is-open) {
    padding-top: 3.7777777778cqw;
  }
  .p-ci-colors:has(.is-open) .p-ci-colors__list {
    height: 15.1111111111cqw;
  }
  .p-ci-colors:has(.is-open) .p-ci-colors__all {
    height: 3.3333333333cqw;
    margin-top: 4.8888888889cqw;
  }
}
.p-ci-colors__acc {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease;
}
.p-ci-colors__acc.is-open {
  grid-template-rows: 1fr;
}
.p-ci-colors__acc-inner {
  min-height: 0;
  overflow: hidden;
}
.p-ci-colors__info {
  display: grid;
  grid-template-columns: repeat(3, 26.7777777778cqw);
  justify-content: space-between;
  padding: 4.5555555556cqw 3.3333333333cqw 0 1.7777777778cqw;
}
@media screen and (max-width: 767px) {
  .p-ci-colors__info {
    grid-template-columns: 1fr;
    row-gap: 2rem;
    padding: 2rem 0 0;
  }
}
.p-ci-colors__kind {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.5555555556cqw;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-ci-colors__kind {
    font-size: 0.9333333333rem;
  }
}
.p-ci-colors__ttl {
  margin-top: 0.6666666667cqw;
  font-size: 2.2222222222cqw;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-ci-colors__ttl {
    margin-top: 0.4rem;
    font-size: 1.3333333333rem;
  }
}
.p-ci-colors__txt {
  margin-top: 1.2222222222cqw;
  font-size: 1.4444444444cqw;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6923076923;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-ci-colors__txt {
    margin-top: 0.7333333333rem;
    font-size: 0.8666666667rem;
  }
}

.p-ci-pop {
  width: 17.625rem;
  max-width: calc(100% - 2.6666666667rem);
  max-height: calc(100% - 2.5rem);
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 1px solid #000;
  border-radius: 2.5rem;
  background-color: #ffffff;
  box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 767px) {
  .p-ci-pop {
    width: 18.8rem;
    border-radius: 2.6666666667rem;
  }
}
@media screen and (min-width: 768px) {
  .p-ci-pop {
    margin-left: 10.8125rem;
  }
}
.p-ci-pop::backdrop {
  background-color: rgba(179, 198, 202, 0.7);
}
.p-ci-pop[open] {
  animation: p-ci-pop-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.p-ci-pop[open]::backdrop {
  animation: p-ci-fade 0.4s ease;
}
.p-ci-pop.is-closing {
  animation: p-ci-pop-out 0.25s ease-in forwards;
}
.p-ci-pop.is-closing::backdrop {
  animation: p-ci-fade 0.25s ease reverse forwards;
}
@media (prefers-reduced-motion: reduce) {
  .p-ci-pop[open], .p-ci-pop.is-closing, .p-ci-pop[open]::backdrop, .p-ci-pop.is-closing::backdrop {
    animation-duration: 0.01s;
  }
}
.p-ci-pop__inner {
  position: relative;
  padding: 2.6875rem 1.9375rem 2.5rem;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .p-ci-pop__inner {
    padding: 2.8666666667rem 2.0666666667rem 2.6666666667rem;
  }
}
.p-ci-pop__close {
  position: absolute;
  top: 1.625rem;
  right: 1.625rem;
  width: 1.5rem;
  aspect-ratio: 1;
  cursor: pointer;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
@media screen and (max-width: 767px) {
  .p-ci-pop__close {
    top: 1.7333333333rem;
    right: 1.7333333333rem;
    width: 1.6rem;
  }
}
.p-ci-pop__close::before, .p-ci-pop__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  transform: rotate(45deg);
}
.p-ci-pop__close::after {
  transform: rotate(-45deg);
}
.p-ci-pop__co {
  font-size: 0.75rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .p-ci-pop__co {
    font-size: 0.8rem;
  }
}
.p-ci-pop__kind, .p-ci-pop__name {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
}
.p-ci-pop__kind {
  margin-top: 1.375rem;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-ci-pop__kind {
    margin-top: 1.4666666667rem;
    font-size: 0.9333333333rem;
  }
}
.p-ci-pop__name {
  margin-top: 0.25rem;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-ci-pop__name {
    margin-top: 0.2666666667rem;
    font-size: 1.2rem;
  }
}
.p-ci-pop__swatch {
  display: block;
  width: 3.25rem;
  height: 3.25rem;
  aspect-ratio: 1;
  margin: 0.375rem 0 0 auto;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: var(--c);
}
@media screen and (max-width: 767px) {
  .p-ci-pop__swatch {
    width: 3.4666666667rem;
    height: 3.4666666667rem;
    margin-top: 0.4rem;
  }
}
.p-ci-pop__ttl {
  margin-top: 3.125rem;
  font-size: 1.25rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-ci-pop__ttl {
    margin-top: 3.3333333333rem;
    font-size: 1.3333333333rem;
  }
}
.p-ci-pop__txt {
  margin-top: 1.25rem;
  font-size: 0.8125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-ci-pop__txt {
    margin-top: 1.3333333333rem;
    font-size: 0.8666666667rem;
  }
}

.p-ci__count,
.p-ci__nav {
  display: none;
}

.p-ci.is-stage {
  --ci-top: 6.875rem;
  --ci-bottom: 3.125rem;
  --ci-w: min(62.5vw, calc((100vh - var(--ci-top) - var(--ci-bottom)) * 900 / 578));
  --ci-left: 10vw;
  --ci-gap: 3.82vw;
  --ci-h: calc(var(--ci-w) * 578 / 900);
  --ci-y: calc(var(--ci-top) + (100vh - var(--ci-top) - var(--ci-bottom) - var(--ci-h)) / 2);
  --ci-pivot: calc(var(--ci-w) * 1.5);
  --ci-step: 130vh;
  padding: 0;
}
.p-ci.is-stage .p-ci__track {
  height: calc(100vh + (var(--ci-n) - 1) * var(--ci-step));
}
.p-ci.is-stage .p-ci__stage {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
}
.p-ci.is-stage .p-ci-sec {
  position: absolute;
  inset: 0;
  display: block;
  height: auto;
  margin: 0;
  pointer-events: none;
}
.p-ci.is-stage .p-ci-sec.is-current {
  pointer-events: auto;
}
.p-ci.is-stage .p-ci-sec__side {
  position: absolute;
  top: var(--ci-y);
  left: var(--ci-left);
  width: min(21.3125rem, 100vw - var(--ci-w) - var(--ci-left) - var(--ci-gap));
  height: calc(var(--ci-h) * 476 / 578);
  padding: 0;
}
.p-ci.is-stage .p-ci-sec__num {
  display: none;
}
.p-ci.is-stage .p-ci-sec__card {
  position: absolute;
  top: var(--ci-y);
  right: 0;
  width: var(--ci-w);
  height: var(--ci-h);
}
.p-ci.is-stage .p-ci-sec__card,
.p-ci.is-stage .p-ci-sec__inner {
  transform-origin: calc(100% + var(--ci-pivot)) 50%;
}
.p-ci.is-stage .p-ci-sec__card {
  clip-path: inset(0 round 2.5rem 0 0 2.5rem);
}
.p-ci.is-stage .p-ci-sec__inner {
  position: absolute;
  inset: 0;
}
.p-ci.is-stage .p-ci__count {
  position: absolute;
  top: calc(var(--ci-y) + var(--ci-h));
  left: var(--ci-left);
  display: flex;
  align-items: flex-end;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.03em;
  line-height: 1;
  transform: translateY(-100%);
}
.p-ci.is-stage .p-ci__count-cur {
  display: block;
  overflow: hidden;
  height: 0.82em;
  font-size: calc(6.25rem * var(--ci-fit, 1));
  line-height: 0.82;
}
.p-ci.is-stage .p-ci__count-col {
  display: flex;
  flex-direction: column;
}
.p-ci.is-stage .p-ci__count-col span {
  display: block;
  height: 0.82em;
}
.p-ci.is-stage .p-ci__count-slash {
  width: calc(5.625rem * var(--ci-fit, 1));
  margin: 0 calc(0.625rem * var(--ci-fit, 1)) calc(0.3125rem * var(--ci-fit, 1));
  color: #757575;
}
.p-ci.is-stage .p-ci__count-all {
  color: #757575;
  font-size: calc(2.5rem * var(--ci-fit, 1));
  line-height: 1.025;
}
.p-ci.is-stage .p-ci__nav {
  position: absolute;
  top: calc(var(--ci-y) + var(--ci-h) * 487 / 578);
  right: 1.875rem;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
}
.p-ci.is-stage .p-ci__nav-btn {
  width: 0.4375rem;
  height: 0.4375rem;
  aspect-ratio: 1;
  padding: 0;
  border: 1px solid #000;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #ffffff;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.p-ci.is-stage .p-ci__nav-btn.is-active {
  background-color: #000;
}

.c-outro.--ci {
  margin-top: 0;
  padding-top: 16.0625rem;
}
@media screen and (max-width: 767px) {
  .c-outro.--ci {
    padding-top: 5.3333333333rem;
  }
}

.p-ci-culture {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.p-ci-culture__row {
  height: 50%;
  overflow: hidden;
}
.p-ci-culture__row.--r1 .p-ci-culture__track {
  --start: 0cqw;
}
.p-ci-culture__row.--r2 .p-ci-culture__track {
  --start: -29.1111111111cqw;
  animation-duration: 70s;
}
.p-ci-culture__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  height: 100%;
  animation: p-ci-culture 60s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-ci-culture__track {
    animation: none;
    transform: translateX(var(--start));
  }
}
.p-ci-culture__tile {
  flex-shrink: 0;
  width: 52.7777777778cqw;
  height: 100%;
}
.p-ci-culture__tile picture,
.p-ci-culture__tile img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-ci-culture__tile img {
  -o-object-fit: cover;
     object-fit: cover;
}

@keyframes p-ci-culture {
  from {
    transform: translateX(var(--start));
  }
  to {
    transform: translateX(calc(var(--start) - 50%));
  }
}
@keyframes p-ci-elastic {
  0% {
    transform: scaleX(1);
  }
  25% {
    transform: scaleX(1.1);
  }
  45% {
    transform: scaleX(0.96);
  }
  65% {
    transform: scaleX(1.04);
  }
  82% {
    transform: scaleX(0.99);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes p-ci-pop-in {
  from {
    opacity: 0;
    transform: translateY(24px) scale(0.92);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes p-ci-pop-out {
  to {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
  }
}
@keyframes p-ci-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.p-hist,
.p-hist-totop {
  --hu: min(100vw / 1440, 1.2px, 1rem / 16);
}
@media screen and (max-width: 767px) {
  .p-hist,
  .p-hist-totop {
    --hu: calc(1rem / 16);
  }
}

.p-hist {
  position: relative;
  isolation: isolate;
  line-break: strict;
  text-spacing-trim: space-all;
  width: calc(1440 * var(--hu));
  padding-top: calc(17989 * var(--hu));
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-hist {
    width: auto;
    display: flow-root;
    padding-top: 0;
    overflow-x: clip;
  }
}
.p-hist__abs {
  position: absolute;
  top: calc(var(--y) * var(--hu));
  left: calc(var(--x) * var(--hu));
  width: calc(var(--w) * var(--hu));
}
@media screen and (max-width: 767px) {
  .p-hist__abs {
    top: calc((var(--sy) - 60) / 15 * 1rem);
    left: calc((var(--sx) - 0) / 15 * 1rem);
    width: calc((var(--sw) - 0) / 15 * 1rem);
  }
}
.p-hist__bgs {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background-color: var(--hist-bg, #fff);
  transform: translateX(-50%);
  transition: background-color 0.8s ease;
}
@media screen and (max-width: 767px) {
  .p-hist__bgs {
    display: none;
  }
}
.p-hist__sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-hist__sp {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 25rem;
    height: 994.1333333333rem;
    pointer-events: none;
  }
}
.p-hist__sp svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.p-hist__sp svg rect {
  shape-rendering: crispEdges;
}
.p-hist__zone {
  position: absolute;
  top: calc(var(--y) * var(--hu));
  left: 0;
  width: 100%;
  height: calc(var(--h) * var(--hu));
  visibility: hidden;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-hist__zone {
    display: none;
  }
}
.p-hist__line {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: calc(19528 * var(--hu));
  pointer-events: none;
  clip-path: inset(0 0 100% 0);
}
@media screen and (max-width: 767px) {
  .p-hist__line {
    display: none;
  }
}
.p-hist__line-svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.p-hist-hero {
  z-index: 4;
  display: grid;
  grid-template-columns: calc(234 * var(--hu)) calc(864 * var(--hu));
  align-items: center;
  -moz-column-gap: calc(134 * var(--hu));
       column-gap: calc(134 * var(--hu));
}
@media screen and (max-width: 767px) {
  .p-hist-hero {
    grid-template-columns: 1fr;
    row-gap: 0.9333333333rem;
  }
}
.p-hist-hero__ttl {
  font-size: calc(28 * var(--hu));
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-hist-hero__ttl {
    font-size: 1.0666666667rem;
    line-height: 2.25;
    letter-spacing: 0;
    text-align: left;
  }
}
.p-hist-hero__img {
  position: relative;
  aspect-ratio: 864/486;
  overflow: hidden;
  border-radius: calc(15 * var(--hu));
}
@media screen and (max-width: 767px) {
  .p-hist-hero__img {
    aspect-ratio: auto;
    height: 11.4666666667rem;
    border-radius: 0.3333333333rem;
  }
}
.p-hist-hero__img picture,
.p-hist-hero__img img {
  width: 100%;
  height: 100%;
}
.p-hist-hero__img img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-hist-hero__img picture {
    position: absolute;
    top: -0.9333333333rem;
    left: -0.0666666667rem;
    width: 20.4666666667rem;
    height: 13.2666666667rem;
  }
}
.p-hist-hero__en {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: calc(38 * var(--hu));
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.1052631579;
  letter-spacing: 0.05em;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-hist-hero__en {
    font-size: 0.8666666667rem;
    line-height: 1.1538461538;
  }
}

.p-hist-lead {
  z-index: 4;
}
.p-hist-lead__ttl {
  font-size: calc(52 * var(--hu));
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6923076923;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-hist-lead__ttl {
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
    white-space: normal;
  }
}
.p-hist-lead__txt {
  margin-top: calc(32 * var(--hu));
  font-size: calc(18 * var(--hu));
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-hist-lead__txt {
    margin-top: 2.6666666667rem;
    font-size: 1.0666666667rem;
    line-height: 2.25;
    letter-spacing: 0;
  }
}

.p-hist-index {
  z-index: 4;
}
.p-hist-index__list {
  display: grid;
  grid-template-columns: repeat(4, calc(176 * var(--hu)));
  gap: calc(27 * var(--hu)) calc(43 * var(--hu));
}
@media screen and (max-width: 767px) {
  .p-hist-index__list {
    grid-template-columns: repeat(2, 8.7333333333rem);
    gap: 0.6666666667rem 2.8666666667rem;
  }
}
.p-hist-index__item {
  display: flex;
  flex-direction: column;
  gap: calc(7 * var(--hu));
}
@media screen and (max-width: 767px) {
  .p-hist-index__item {
    gap: 0.3333333333rem;
  }
}
.p-hist-index__name {
  color: #858282;
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: calc(18 * var(--hu));
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.2777777778;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-hist-index__name {
    height: 2rem;
    font-size: 0.8666666667rem;
    line-height: 2.5153846154;
  }
}
.p-hist-index__btn {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: calc(30 * var(--hu));
  height: calc(41 * var(--hu));
  padding-right: calc(14 * var(--hu));
  border: 1px solid var(--c);
  border-radius: 100px;
  background-color: #ffffff;
  color: var(--c);
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: calc(17 * var(--hu));
  line-height: 1.4117647059;
  letter-spacing: 0.05em;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-hist-index__btn {
    justify-content: space-between;
    height: 2rem;
    padding: 0 0.6666666667rem 0 1.7333333333rem;
    font-size: 0.8rem;
    line-height: 1.5;
    white-space: nowrap;
  }
}
@media (any-hover: hover) {
  .p-hist-index__btn:hover {
    background-color: var(--c);
    color: #ffffff;
  }
}
.p-hist-index__arrow {
  width: calc(14 * var(--hu));
  transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
  .p-hist-index__arrow {
    width: 0.6666666667rem;
  }
}
@media screen and (max-width: 767px) {
  .p-hist-index__item:last-child .p-hist-index__btn {
    padding-left: 0;
  }
  .p-hist-index__item:last-child .p-hist-index__btn span {
    width: 5.9333333333rem;
    text-align: center;
  }
}

.p-hist-index-en {
  z-index: 3;
  color: #6b4922;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: calc(164 * var(--hu));
  line-height: 0.487804878;
  letter-spacing: 0.05em;
  white-space: nowrap;
  opacity: 0.5;
  filter: blur(calc(4 * var(--hu)));
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-hist-index-en {
    height: 2rem;
    font-size: 2.8rem;
    line-height: 0.7142857143;
    text-align: center;
    filter: blur(0.1333333333rem);
  }
}

.p-hist-era {
  color: var(--c);
}
.p-hist-era__label, .p-hist-era__heading, .p-hist-era__lead, .p-hist-era__body {
  z-index: 4;
}
.p-hist-era__label {
  font-size: calc(28 * var(--hu));
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-hist-era__label {
    font-size: 1.2rem;
    line-height: 1.5555555556;
    white-space: normal;
  }
}
.p-hist-era__heading {
  font-size: calc(38 * var(--hu));
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-hist-era__heading {
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
    white-space: normal;
  }
}
.p-hist-era__lead {
  font-size: calc(18 * var(--hu));
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-hist-era__lead {
    font-size: 1rem;
    line-height: 1.5333333333;
    letter-spacing: 0;
    white-space: normal;
  }
}
.p-hist-era__body {
  font-size: calc(16 * var(--hu));
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-hist-era__body {
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
    text-align: left;
  }
}
.p-hist-era__body.--lg {
  font-size: calc(18 * var(--hu));
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-hist-era__body.--lg {
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.p-hist-era__card {
  z-index: 3;
  height: calc(var(--h) * var(--hu));
  border-radius: calc(37 * var(--hu));
  background-color: rgba(255, 255, 255, 0.85);
}
@media screen and (max-width: 767px) {
  .p-hist-era__card {
    display: none;
  }
}

.p-hist-badge {
  z-index: 4;
  height: calc(131 * var(--hu));
}
@media screen and (max-width: 767px) {
  .p-hist-badge {
    height: 5.5333333333rem;
  }
}
.p-hist-badge__years {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  display: grid;
  place-items: center;
  width: calc(221 * var(--hu));
  height: calc(73 * var(--hu));
  border: 2px solid var(--year);
  border-radius: 100px;
  background-color: #ffffff;
  color: var(--year);
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: calc(26 * var(--hu));
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6153846154;
  letter-spacing: 0.05em;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-hist-badge__years {
    left: 5.6666666667rem;
    width: 9.0666666667rem;
    height: 2.9333333333rem;
    font-size: 1.0666666667rem;
    border: 1px solid var(--year);
    line-height: 1.625;
    transform: none;
  }
}
.p-hist-badge__name {
  position: absolute;
  top: calc(61 * var(--hu));
  left: 0;
  display: grid;
  place-items: center;
  width: 100%;
  height: calc(70 * var(--hu));
  border-radius: 100px;
  background-color: var(--badge-bg);
  color: var(--badge-c);
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: calc(28 * var(--hu));
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-hist-badge__name {
    top: 2.6rem;
    height: 2.9333333333rem;
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
@media screen and (max-width: 767px) {
  [data-era="6"] .p-hist-badge {
    height: 5.7333333333rem;
  }
  [data-era="6"] .p-hist-badge__years {
    height: 3rem;
  }
  [data-era="6"] .p-hist-badge__name {
    top: 2.6666666667rem;
    height: 3.0666666667rem;
  }
}

.p-hist-ill {
  height: calc(var(--h) * var(--hu));
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-hist-ill {
    display: none;
  }
}
.p-hist-ill__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.p-hist-ill__svg.--blob {
  z-index: 1;
}
.p-hist-ill__svg.--parts {
  z-index: 3;
}
.p-hist-ill__label {
  position: absolute;
  z-index: 4;
  color: var(--c);
  font-size: calc(15 * var(--hu));
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-hist-ill__label {
    font-size: 0.6rem;
  }
}
.p-hist-ill__label.--center {
  text-align: center;
}
.p-hist-ill__label.--small {
  font-size: calc(14 * var(--hu));
}
@media screen and (max-width: 767px) {
  .p-hist-ill__label.--small {
    font-size: 0.6rem;
    line-height: 1.3333333333;
  }
}
.p-hist-ill__label.--tag {
  display: grid;
  place-items: center;
  height: calc(32 * var(--hu));
  border-radius: calc(4 * var(--hu));
  background-color: var(--c);
  color: var(--badge-c);
}
@media screen and (max-width: 767px) {
  .p-hist-ill__label.--tag {
    width: -moz-max-content !important;
    width: max-content !important;
    height: 1.7333333333rem;
    padding: 0 0.4rem;
    font-size: 0.8rem;
    line-height: 1.75;
  }
}
[data-era="1"] .p-hist-ill__label.--tag {
  color: #ffffff;
}

.p-hist-tl {
  z-index: 4;
  color: var(--tl);
}
.p-hist-tl__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.p-hist-tl__ttl {
  font-size: calc(18 * var(--hu));
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-hist-tl__ttl {
    font-size: 1.2rem;
    line-height: 1.5555555556;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) {
  .--sp-lg .p-hist-tl__ttl {
    line-height: 2.1111111111;
    letter-spacing: 0.1em;
  }
}
.p-hist-tl__nav {
  display: flex;
  gap: calc(16 * var(--hu));
  margin-top: calc(4 * var(--hu));
}
@media screen and (max-width: 767px) {
  .p-hist-tl__nav {
    display: none;
  }
}
.p-hist-tl__btn {
  display: grid;
  place-items: center;
  width: calc(40 * var(--hu));
  height: calc(40 * var(--hu));
  aspect-ratio: 1;
  border: 1px solid var(--tl);
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #ffffff;
  color: var(--tl);
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-hist-tl__btn {
    width: 2.4rem;
    height: 2.4rem;
  }
}
[data-era="2"] .p-hist-tl__btn {
  border-color: #6b4922;
  color: #6b4922;
}
.p-hist-tl__btn svg {
  width: calc(12 * var(--hu));
}
@media screen and (max-width: 767px) {
  .p-hist-tl__btn svg {
    width: 0.7333333333rem;
  }
}
.p-hist-tl__btn.--prev svg {
  transform: rotate(180deg);
}
.p-hist-tl__btn:disabled {
  opacity: 0.4;
  cursor: default;
}
.p-hist-tl__list {
  display: flex;
  gap: calc(32 * var(--hu));
  margin-top: calc(38 * var(--hu));
  padding: calc(8 * var(--hu)) 0;
  overflow-x: auto;
  scroll-behavior: smooth;
}
@media screen and (min-width: 768px) {
  .p-hist-tl__list {
    margin-right: calc(calc(-64 * var(--hu)) - var(--side, 0px));
  }
  .p-hist-tl__list::after {
    content: "";
    flex: none;
    width: calc(256 * var(--hu));
  }
}
.p-hist-tl__list {
  scrollbar-width: none;
}
@media screen and (max-width: 767px) {
  .p-hist-tl__list {
    gap: 1.8rem;
    margin-top: 1.3333333333rem;
    padding: 0;
  }
}
.p-hist-tl__list::-webkit-scrollbar {
  display: none;
}
.p-hist-tl__item {
  position: relative;
  flex: none;
  width: calc(224 * var(--hu));
  padding-right: calc(32 * var(--hu));
  box-sizing: content-box;
}
@media screen and (max-width: 767px) {
  .p-hist-tl__item {
    width: 14.9333333333rem;
    padding-right: 2.2rem;
  }
}
.p-hist-tl__item {
  --dot: calc(5.33 * var(--hu));
  --tl-h: calc(285 * var(--hu));
}
@media screen and (max-width: 767px) {
  .p-hist-tl__item {
    --dot: 0.4rem;
    --tl-h: 18.6666666667rem;
  }
}
.p-hist-tl__item::before, .p-hist-tl__item::after {
  content: "";
  position: absolute;
  background-color: var(--tl);
}
.p-hist-tl__item::before {
  top: calc(var(--dot) / 2);
  right: calc(var(--dot) / 2 - 0.5px);
  width: 1px;
  height: calc(var(--tl-h) - var(--dot));
}
.p-hist-tl__item::after {
  top: 0;
  right: 0;
  width: var(--dot);
  height: var(--dot);
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 calc(var(--tl-h) - var(--dot)) 0 var(--tl);
}
.p-hist-tl__item:last-child::before, .p-hist-tl__item:last-child::after {
  display: none;
}
.p-hist-tl__date {
  min-height: calc(24 * var(--hu));
  font-size: calc(14 * var(--hu));
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-hist-tl__date {
    min-height: 1.6rem;
    font-size: 0.9333333333rem;
  }
}
.p-hist-tl__img {
  aspect-ratio: 224/160;
  margin-top: calc(16 * var(--hu));
  overflow: hidden;
  border-radius: calc(20 * var(--hu));
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-hist-tl__img {
    margin-top: 1.0666666667rem;
    border-radius: 1.3333333333rem;
  }
}
.p-hist-tl__img picture,
.p-hist-tl__img img {
  display: block;
  width: 100%;
  height: auto;
}
.p-hist-tl__img.--dummy {
  background-color: #1e1e1e;
}
.p-hist-tl__cap {
  margin-top: calc(16 * var(--hu));
  font-size: calc(15 * var(--hu));
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-hist-tl__cap {
    margin-top: 1.0666666667rem;
    font-size: 1rem;
    line-height: 1.4666666667;
    translate: 0 0.0666666667rem;
  }
}

.p-hist-inno {
  z-index: 4;
  color: var(--c);
}
.p-hist-inno__en {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: calc(34 * var(--hu));
  line-height: 1.2352941176;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-hist-inno__en {
    font-size: 1.4rem;
    line-height: 1.3333333333;
  }
}
.p-hist-inno__ttl {
  margin-top: calc(18 * var(--hu));
  font-size: calc(45 * var(--hu));
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5555555556;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-hist-inno__ttl {
    margin-top: 1.3333333333rem;
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
    white-space: normal;
  }
}

.p-hist-outro {
  z-index: 4;
}
@media screen and (max-width: 767px) {
  .p-hist-outro {
    position: relative;
    top: auto;
    margin-top: calc((var(--sy) - 60) / 15 * 1rem);
    margin-left: calc((var(--sx) - 0) / 15 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .p-hist-outro {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
  }
  .p-hist-outro::before {
    content: "";
    position: absolute;
    top: calc(-112 * var(--hu));
    bottom: 0;
    left: 50%;
    z-index: -1;
    width: 100vw;
    background: linear-gradient(rgba(255, 255, 255, 0), #ffffff calc(186.15 * var(--hu))) no-repeat;
    transform: translateX(-50%);
  }
  .p-hist-outro .c-outro__row {
    margin-top: calc(72 * var(--hu));
  }
  .p-hist-outro .c-outro__pickup {
    padding: calc(202 * var(--hu)) calc(64 * var(--hu)) calc(312 * var(--hu));
  }
  .p-hist-outro .c-page-ttl {
    margin: 0 calc(64 * var(--hu)) 0 calc(63 * var(--hu));
    padding-bottom: calc(32 * var(--hu));
  }
  .p-hist-outro .c-page-ttl__txt {
    font-size: calc(38 * var(--hu));
  }
  .p-hist-outro .c-link-row {
    grid-template-columns: calc(234 * var(--hu)) calc(864 * var(--hu));
    -moz-column-gap: calc(134 * var(--hu));
         column-gap: calc(134 * var(--hu));
    margin-left: calc(144 * var(--hu));
  }
  .p-hist-outro .c-link-row__head {
    gap: calc(40 * var(--hu));
  }
  .p-hist-outro .c-link-row__ttl {
    font-size: calc(28 * var(--hu));
  }
  .p-hist-outro .c-link-row__txt {
    font-size: calc(18 * var(--hu));
  }
  .p-hist-outro .c-link-row__img {
    border-radius: calc(15 * var(--hu));
  }
  .p-hist-outro .c-circle-arrow {
    --size: calc(93 * var(--hu));
  }
  .p-hist-outro .c-circle-arrow img {
    width: calc(21 * var(--hu));
  }
  .p-hist-outro .c-ttl-en {
    font-size: calc(34 * var(--hu));
  }
  .p-hist-outro .c-pickup__grid {
    gap: calc(64 * var(--hu)) calc(80 * var(--hu));
    margin-top: calc(72 * var(--hu));
  }
  .p-hist-outro .c-pickup__card {
    gap: calc(16 * var(--hu));
  }
  .p-hist-outro .c-pickup__thumb-en {
    font-size: calc(25 * var(--hu));
  }
  .p-hist-outro .c-pickup__thumb-copy {
    font-size: calc(21.875 * var(--hu));
  }
  .p-hist-outro .c-pickup__name {
    font-size: calc(21 * var(--hu));
  }
  .p-hist-outro .c-pickup-map {
    border-radius: calc(32 * var(--hu));
  }
}
.p-hist-outro .c-outro {
  z-index: auto;
}
@media screen and (max-width: 767px) {
  .p-hist-outro .c-outro__row {
    grid-template-areas: "img img" "ttl arrow";
    margin-top: 1.9333333333rem;
  }
  .p-hist-outro .c-outro__row .c-link-row__ttl {
    margin-bottom: 0;
    font-size: 1.2rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.5555555556;
    letter-spacing: 0.05em;
  }
  .p-hist-outro .c-link-row__txt {
    display: none;
  }
  .p-hist-outro .c-link-row__img {
    position: relative;
    aspect-ratio: 305/315;
    border-radius: 0.5333333333rem;
  }
  .p-hist-outro .c-link-row__img picture {
    position: absolute;
    top: -0.5333333333rem;
    left: -6.6rem;
    width: 33.6666666667rem;
    height: 22.0666666667rem;
  }
  .p-hist-outro .c-outro__pickup {
    padding-top: 10.6666666667rem;
  }
  .p-hist-outro .c-pickup__grid {
    gap: 2rem;
    margin-top: 1.3333333333rem;
  }
  .p-hist-outro .c-pickup__card {
    gap: 0.6666666667rem;
  }
  .p-hist-outro .c-pickup__thumb {
    aspect-ratio: 305/156;
  }
}

.p-hist-totop {
  position: fixed;
  right: calc(16 * var(--hu));
  bottom: calc(40 * var(--hu));
  z-index: 400;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(6 * var(--hu));
  width: calc(56 * var(--hu));
  height: calc(56 * var(--hu));
  aspect-ratio: 1;
  border: 1px solid #858282;
  border-radius: 50%;
  background-color: #ffffff;
  color: #858282;
  font-size: calc(15 * var(--hu));
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
@media screen and (max-width: 767px) {
  .p-hist-totop {
    right: 0.8rem;
    bottom: 1.3333333333rem;
    width: 3.4666666667rem;
    height: 3.4666666667rem;
    font-size: 0.8rem;
  }
}
.p-hist-totop.is-visible {
  opacity: 1;
  visibility: visible;
}
.p-hist-totop svg {
  width: calc(14 * var(--hu));
  transform: rotate(-90deg);
}

.p-co-head {
  padding: 11.6875rem 9rem 0;
}
@media screen and (max-width: 767px) {
  .p-co-head {
    padding: 8.7333333333rem 2.3333333333rem 0;
  }
  .p-co-head:not(:has(.p-co-head__label)) {
    padding-top: 8.0666666667rem;
  }
  .p-co-head.--lower {
    padding-top: 10.1333333333rem;
  }
  .p-co-head.--biz {
    padding-top: 10.8rem;
  }
  .p-co-head.--message {
    padding-top: 8.7333333333rem;
  }
  .p-co-head.--message .p-co-head__label {
    display: none;
  }
  .p-co-head.--message .p-co-head__ttl {
    margin-top: 0;
  }
}
.p-co-head__label {
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-co-head__label {
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
}
.p-co-head__ttl {
  margin-top: 0.5rem;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-co-head__ttl {
    margin-top: 0.6666666667rem;
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.p-co-head__lead {
  width: 31.5rem;
  margin-top: 1.75rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-co-head__lead {
    width: auto;
    margin-top: 1.3333333333rem;
    font-size: 1.2rem;
    line-height: 2.1111111111;
    letter-spacing: 0.1em;
    text-align: left;
  }
}

.p-co-body {
  display: flex;
  flex-direction: column;
  gap: 6rem;
  width: 63rem;
  margin: 6.0625rem 0 0 9rem;
}
@media screen and (max-width: 767px) {
  .p-co-body {
    gap: 6.6666666667rem;
    width: auto;
    margin: 6.6666666667rem 2.3333333333rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-co-body.p-co-awards, .p-co-body.p-co-org, .p-co-body.p-co-chronology, .p-co-body.p-co-officers {
    margin-inline: 1.3333333333rem;
  }
}

.p-co-head:has(.p-co-head__lead) + .p-co-body {
  margin-top: 6.5625rem;
}
@media screen and (max-width: 767px) {
  .p-co-head:has(.p-co-head__lead) + .p-co-body {
    margin-top: 6.6666666667rem;
  }
}

.p-co-sec__lead {
  margin-top: -0.5625rem;
  margin-bottom: 1.4375rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-sec__lead {
    margin-top: -0.6666666667rem;
    margin-bottom: 1.3333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}

.p-co-ttl {
  margin-bottom: 2.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #000;
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-ttl {
    margin-bottom: 2rem;
    padding-bottom: calc(1.3333333333rem - 1px);
    font-size: 1.3333333333rem;
    line-height: 1.45;
  }
}
.p-co-ttl.--no-line {
  margin-bottom: 2rem;
  padding-bottom: 0;
  border-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-co-ttl.--no-line {
    margin-bottom: 1.3333333333rem;
    padding-bottom: 0;
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
  }
}

.p-co-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
}
@media screen and (max-width: 767px) {
  .p-co-table {
    font-size: 1rem;
    line-height: 1.4666666667;
  }
}
.p-co-table tr {
  height: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-co-table tr {
    height: auto;
  }
}
.p-co-table th,
.p-co-table td {
  padding: 0.25rem 0.9375rem;
  border: 1px solid #757575;
  text-align: left;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-co-table th,
  .p-co-table td {
    padding: 0.6666666667rem 0.9333333333rem calc(0.6666666667rem - 1px);
  }
}
.p-co-table th {
  width: 12.75rem;
  background-color: #ecf4f5;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
@media screen and (max-width: 767px) {
  .p-co-table th {
    width: 7.2666666667rem;
  }
}
.p-co-table tr > :first-child {
  border-left: 0;
}
.p-co-table tr > :last-child {
  border-right: 0;
}

.p-co-note {
  margin-top: 0.625rem;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-co-note {
    margin-top: 1.3333333333rem;
    font-size: 0.8rem;
    line-height: 1.6666666667;
    letter-spacing: -0.05em;
  }
}

.p-co-list__link {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
@media (any-hover: hover) {
  .p-co-list__link:hover {
    opacity: 0.7;
  }
}
.p-co-list {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-list {
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.p-co-list li {
  position: relative;
  padding-left: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-co-list li {
    padding-left: 1.5333333333rem;
  }
}
.p-co-list li::before {
  content: "";
  position: absolute;
  top: calc(0.5lh - 0.125rem);
  left: 0.0625rem;
  width: 0.25rem;
  height: 0.25rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: currentColor;
}
@media screen and (max-width: 767px) {
  .p-co-list li::before {
    top: calc(0.5lh - 0.1333333333rem);
    left: 0.5333333333rem;
    width: 0.2666666667rem;
    height: 0.2666666667rem;
  }
}

.p-co-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 72.0625rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #757575;
}
@media screen and (max-width: 767px) {
  .p-co-link-row {
    flex-direction: column;
    align-items: stretch;
    gap: 2.6666666667rem;
    width: auto;
    padding-bottom: 2.6666666667rem;
  }
}
.p-co-link-row__txt {
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-link-row__txt {
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
.p-co-link-row__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  height: 4rem;
  margin-right: 9.0625rem;
  padding: 0 1.25rem 0 1.875rem;
  border: 1px solid #000;
  border-radius: 100px;
  background-color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 2.25;
  letter-spacing: 0.05em;
  transition: background-color 0.3s linear, color 0.3s linear;
}
@media screen and (max-width: 767px) {
  .p-co-link-row__btn {
    align-self: center;
    gap: 0.6666666667rem;
    width: 9.4666666667rem;
    height: 2.9333333333rem;
    margin-right: 0;
    padding: 0;
    border-width: 0.75px;
    font-size: 0.9333333333rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.5;
    letter-spacing: -0.05em;
  }
}
@media (any-hover: hover) {
  .p-co-link-row__btn:hover {
    background-color: #000;
    color: #ffffff;
  }
  .p-co-link-row__btn:hover .c-circle-arrow {
    border-color: #ffffff;
  }
}

.p-co-back {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  margin: 16rem 0 16.8125rem;
}
@media screen and (max-width: 767px) {
  .p-co-back {
    gap: 0.6666666667rem;
    margin: 6.6666666667rem 0;
  }
}
.p-co-back__txt {
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-back__txt {
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
  }
}
.p-co-back__btn {
  display: grid;
  place-items: center;
  width: 10rem;
  height: 4rem;
  border: 1px solid #00a5ff;
  border-radius: 2.5rem;
  background-color: #00a5ff;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 2.25;
  letter-spacing: 0.05em;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-co-back__btn {
    width: 5.4rem;
    height: 2.7333333333rem;
    border-radius: 1.8666666667rem;
    font-size: 0.9333333333rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.5;
    letter-spacing: -0.05em;
  }
}
@media (any-hover: hover) {
  .p-co-back__btn:hover {
    background-color: #ffffff;
    color: #00a5ff;
  }
}

@media screen and (max-width: 767px) {
  .c-outro.--company .c-page-ttl__txt {
    font-size: 1.3333333333rem;
  }
}

.c-outro.--company .c-outro__pickup {
  padding-top: 16.0625rem;
  padding-bottom: 16.0625rem;
}
@media screen and (max-width: 767px) {
  .c-outro.--company .c-outro__pickup {
    padding-top: 6.6666666667rem;
    padding-bottom: 6.6666666667rem;
  }
}

@media screen and (min-width: 768px) {
  html:has([data-co-fluid]) {
    --co-side: max(0px, (100% - 90rem) / 2);
    --co-l: calc(var(--co-side) + 9rem);
    --co-r: calc(var(--co-side) + 2.5rem);
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  html:has([data-co-fluid]) {
    --co-l: calc(var(--co-side) + 6rem);
  }
}
@media screen and (min-width: 768px) and (max-width: 1099px) {
  html:has([data-co-fluid]) {
    --co-l: calc(var(--co-side) + 4rem);
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  html:has([data-co-fluid]) {
    --co-l: calc(var(--co-side) + 2.5rem);
  }
}
@media screen and (min-width: 768px) {
  html:has([data-co-fluid]) .p-co-head {
    padding-right: var(--co-r);
    padding-left: var(--co-l);
  }
  html:has([data-co-fluid]) .p-co-body {
    width: min(63rem, 100% - var(--co-l) - var(--co-r));
    margin-left: var(--co-l);
  }
  html:has([data-co-fluid]) .p-co-message__main {
    width: min(81.0625rem, 100% - var(--co-l));
  }
  html:has([data-co-fluid]) .p-co-message__body {
    width: min(45.375rem, 100% - var(--co-l) - var(--co-r));
    margin-left: var(--co-l);
  }
  html:has([data-co-fluid]) .c-link-row {
    grid-template-columns: 14.625rem minmax(0, 54rem);
    margin-right: var(--co-r);
    margin-left: var(--co-l);
  }
  html:has([data-co-fluid]) .p-co-principle {
    width: min(71.9375rem, 100% - var(--co-l) - var(--co-r));
    margin-left: var(--co-l);
  }
  html:has([data-co-fluid]) .p-co-link-row {
    width: min(72.0625rem, 100% - var(--co-l) - var(--co-r));
  }
  html:has([data-co-fluid]) .p-co-group__cards {
    grid-template-columns: repeat(3, minmax(0, 21.3125rem));
    -moz-column-gap: min(4.0625rem, 3vw);
         column-gap: min(4.0625rem, 3vw);
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  html:has([data-co-fluid]) .p-co-group__chart {
    zoom: 0.84;
  }
}
@media screen and (min-width: 768px) and (max-width: 859px) {
  html:has([data-co-fluid]) .p-co-group__chart {
    zoom: 0.76;
  }
}
@media screen and (min-width: 768px) {
  html:has([data-co-fluid]) .l-footer .c-sitemap.--nav {
    grid-template-columns: repeat(2, minmax(0, 15rem));
    -moz-column-gap: min(6rem, 4vw);
         column-gap: min(6rem, 4vw);
  }
  html:has([data-co-fluid]) .l-footer__main {
    grid-template-columns: minmax(0, 42.0625rem) auto;
  }
  html:has([data-co-fluid]) .l-footer__kv {
    width: min(28rem, 100% - 5.0625rem);
  }
}

@media screen and (min-width: 768px) {
  .p-co-offices > .p-co-link-row,
  .p-co-chronology > .p-co-link-row {
    width: 100% !important;
  }
}
@media screen and (min-width: 768px) {
  .p-co-offices .p-co-link-row__btn,
  .p-co-chronology .p-co-link-row__btn {
    margin-right: 0;
  }
}

.p-co-top__hero {
  position: relative;
  height: 53.125rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-co-top__hero {
    height: 37.5333333333rem;
  }
}
.p-co-top__hero-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1440/959;
}
@media screen and (max-width: 767px) {
  .p-co-top__hero-img {
    inset: 0;
    aspect-ratio: auto;
  }
}
.p-co-top__hero-img picture,
.p-co-top__hero-img img {
  width: 100%;
  height: 100%;
}
.p-co-top__hero-img img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-co-top__hero-img img {
    -o-object-position: 72% 50%;
       object-position: 72% 50%;
  }
}
.p-co-top__ttl {
  position: absolute;
  top: 30.4375rem;
  left: 11.6875rem;
  padding-bottom: 0.875rem;
  color: #ffffff;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.25em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-co-top__ttl {
    top: auto;
    bottom: 8.5333333333rem;
    left: 2rem;
    padding-bottom: 0.1333333333rem;
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
  }
}
.p-co-top__ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 11.3125rem;
  height: 0.625rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-co-top__ttl::after {
    width: 100%;
    height: 0.1333333333rem;
  }
}
.p-co-top__cards {
  padding: 13.3125rem 4rem 16.1875rem 3.9375rem;
}
@media screen and (max-width: 767px) {
  .p-co-top__cards {
    padding: 4.8rem 2.3333333333rem 6.6666666667rem;
  }
}
.p-co-top__cards .c-pickup__grid {
  margin-top: 5.5625rem;
}
@media screen and (max-width: 767px) {
  .p-co-top__cards .c-pickup__grid {
    grid-template-columns: 1fr;
    gap: 2.6666666667rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-co-top__cards .c-pickup__thumb {
    aspect-ratio: 305/139;
  }
}
@media screen and (max-width: 767px) {
  .p-co-top__cards .c-pickup__card {
    gap: 0.6666666667rem;
  }
}
@media screen and (max-width: 767px) {
  .p-co-top__cards .c-pickup__name {
    font-size: 1.2rem;
    line-height: 1.5555555556;
    letter-spacing: 0.05em;
  }
}
.p-co-top__cards-ttl {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-co-top__cards-ttl {
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}

.p-co-message {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-co-message {
    margin-top: 2rem;
  }
}
.p-co-message__main {
  position: relative;
  width: 81.0625rem;
  margin-left: auto;
  aspect-ratio: 1297/763;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-co-message__main {
    width: calc(100% - 2.3333333333rem);
    aspect-ratio: 340/226;
  }
}
.p-co-message__body {
  width: 45.375rem;
  margin: 7.5rem 0 0 8.9375rem;
}
@media screen and (max-width: 767px) {
  .p-co-message__body {
    width: 17.3333333333rem;
    margin: 4rem 0 0 2.3333333333rem;
  }
}
.p-co-message__block {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-co-message__block {
    gap: 2rem;
  }
}
.p-co-message__ttl {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-co-message__ttl {
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.p-co-message__txt {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-co-message__txt {
    font-size: 1.0666666667rem;
    line-height: 2.25;
    letter-spacing: 0;
    text-align: left;
  }
}
.p-co-message__txt p + p {
  margin-top: 2em;
}
@media screen and (max-width: 767px) {
  .p-co-message__txt p + p {
    margin-top: 1lh;
  }
}
@media screen and (max-width: 767px) {
  .p-co-message__txt .p-co-message__formula + p {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-co-message__block:first-child .p-co-message__txt > p:first-child {
    font-size: 1rem;
    line-height: 1.5333333333;
  }
}
.p-co-message__formula {
  font-size: 1.625rem;
  line-height: 1.2307692308;
}
@media screen and (max-width: 767px) {
  .p-co-message__formula {
    margin: 2rem 0 !important;
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.p-co-message__photo {
  position: relative;
  aspect-ratio: 726/424;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-co-message__photo {
    aspect-ratio: 260/165;
  }
}
.p-co-message__sign {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-co-message__sign {
    margin-top: -1.3333333333rem;
    font-size: 0.8rem;
    line-height: 1.6666666667;
    letter-spacing: -0.05em;
  }
}
.p-co-message__line {
  margin: 10rem 0;
  border: 0;
  border-top: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .p-co-message__line {
    margin: 4rem 0 4.4rem;
  }
}

.p-co-principle {
  display: flex;
  flex-direction: column;
  gap: 8.75rem;
  width: 71.9375rem;
  margin: 6.125rem 0 0 9.0625rem;
}
@media screen and (max-width: 767px) {
  .p-co-principle {
    gap: 2.6666666667rem;
    width: auto;
    margin: 6.6666666667rem 2.2rem 0 2.2666666667rem;
  }
}
.p-co-principle .p-co-ttl.--no-line {
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .p-co-principle .p-co-ttl.--no-line {
    margin-bottom: 0.6666666667rem;
  }
}
.p-co-principle__box {
  display: grid;
  place-items: center;
  min-height: 30rem;
  padding: 3.75rem 2.5rem;
  border-radius: 0.625rem;
  background-color: #ecf4f5;
}
@media screen and (max-width: 767px) {
  .p-co-principle__box {
    min-height: 8.6666666667rem;
    padding: 2rem;
    border-radius: 0.6666666667rem;
  }
}
.p-co-principle__box.--statement {
  min-height: 0;
  padding: 4.9375rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-co-principle__box.--statement {
    padding: 2rem;
  }
}
.p-co-principle__box.--logo {
  display: block;
  min-height: 0;
  padding: 5.9375rem 9.25rem;
}
@media screen and (max-width: 767px) {
  .p-co-principle__box.--logo {
    padding: 2rem;
  }
}
.p-co-principle__copy {
  font-size: 3.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6923076923;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-co-principle__copy {
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
  }
}
.p-co-principle__statement {
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-co-principle__statement {
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
}
.p-co-principle__statement p + p {
  margin-top: 2.1111111111em;
}
@media screen and (max-width: 767px) {
  .p-co-principle__statement p + p {
    margin-top: 1lh;
  }
}
.p-co-principle__guide {
  display: grid;
  grid-template-columns: auto auto;
  -moz-column-gap: 4.5625rem;
       column-gap: 4.5625rem;
  font-size: 1.75rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 2.2857142857;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-principle__guide {
    -moz-column-gap: 1.4666666667rem;
         column-gap: 1.4666666667rem;
    row-gap: 0.6666666667rem;
    font-size: 0.9333333333rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.5;
    letter-spacing: 0;
  }
}
.p-co-principle__guide-row {
  display: contents;
}
@media screen and (max-width: 767px) {
  .p-co-principle__guide-row dt,
  .p-co-principle__guide-row dd {
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
  }
}
.p-co-principle__logo {
  display: flex;
  gap: 5.5625rem;
}
@media screen and (max-width: 767px) {
  .p-co-principle__logo {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    text-align: center;
  }
}
.p-co-principle__logo-label {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  text-transform: capitalize;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-principle__logo-label {
    font-size: 0.8rem;
    line-height: 1.3333333333;
  }
}
.p-co-principle__mark {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  width: 11.3125rem;
}
@media screen and (max-width: 767px) {
  .p-co-principle__mark {
    align-items: center;
    gap: 0.6666666667rem;
    width: auto;
  }
  .p-co-principle__mark picture {
    width: 4.0666666667rem;
  }
}
.p-co-principle__mark img {
  width: 100%;
  height: auto;
}
.p-co-principle__types {
  display: flex;
  flex-direction: column;
  width: 36.625rem;
}
@media screen and (max-width: 767px) {
  .p-co-principle__types {
    align-items: center;
    width: 14.4666666667rem;
  }
}
.p-co-principle__types img {
  width: 100%;
  height: auto;
}
.p-co-principle__types .--en {
  width: 36.5625rem;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-co-principle__types .--en {
    width: 13.6666666667rem;
    margin-top: 0.6666666667rem;
  }
}
.p-co-principle__types .--ja {
  margin-top: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .p-co-principle__types .--ja {
    width: 13.6666666667rem;
    margin-top: 0.6666666667rem;
  }
}
.p-co-principle__logo-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 6.25rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-co-principle__logo-foot {
    flex-direction: column;
    align-items: center;
    gap: 2.6666666667rem;
    margin-top: 2rem;
    width: 100%;
  }
}
.p-co-principle__logo-txt {
  width: 29.125rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-principle__logo-txt {
    width: auto;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-co-overview {
    row-gap: 4rem;
  }
  .p-co-overview > .p-co-sec:nth-child(2) {
    margin-top: 2.6666666667rem;
  }
}
@media screen and (max-width: 767px) {
  .p-co-overview .p-co-table td {
    padding-top: 1rem;
    padding-bottom: calc(1rem - 1px);
  }
}
.p-co-overview__business, .p-co-overview__regs, .p-co-overview__cols.--members {
  padding-left: 7rem;
}
@media screen and (max-width: 767px) {
  .p-co-overview__business, .p-co-overview__regs, .p-co-overview__cols.--members {
    padding-left: 0;
  }
}
.p-co-overview__business {
  display: grid;
  grid-template-columns: 17.1875rem 16.375rem 1fr;
  -moz-column-gap: 3.25rem;
       column-gap: 3.25rem;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-co-overview__business {
    grid-template-columns: 1fr;
    row-gap: 0;
  }
}
.p-co-overview__list {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-co-overview__list {
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
    white-space: normal;
  }
}
.p-co-overview__biz-link {
  align-self: end;
  justify-self: end;
  align-self: center;
  height: 5rem;
}
@media screen and (max-width: 767px) {
  .p-co-overview__biz-link {
    justify-self: center;
    margin-top: 4rem;
    height: 2.9333333333rem;
  }
}
.p-co-overview__regs {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-overview__regs {
    gap: 1.3333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.p-co-overview__reg > .p-co-list,
.p-co-overview__reg > .p-co-overview__cols {
  margin-top: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-co-overview__reg > .p-co-list,
  .p-co-overview__reg > .p-co-overview__cols {
    margin-top: 0.6666666667rem;
  }
}
.p-co-overview__cols {
  display: grid;
}
@media screen and (max-width: 767px) {
  .p-co-overview__cols {
    grid-template-columns: 1fr;
  }
}
.p-co-overview__cols.--3 {
  grid-template-columns: 20.4375rem 18.3125rem 1fr;
}
@media screen and (max-width: 767px) {
  .p-co-overview__cols.--3 {
    grid-template-columns: 1fr;
  }
}
.p-co-overview__cols.--2 {
  grid-template-columns: 20.4375rem 1fr;
}
@media screen and (max-width: 767px) {
  .p-co-overview__cols.--2 {
    grid-template-columns: 1fr;
  }
}
.p-co-overview__cols.--members {
  grid-template-columns: 31.1875rem 1fr;
}
@media screen and (max-width: 767px) {
  .p-co-overview__cols.--members {
    grid-template-columns: 1fr;
  }
}

.p-co-offices {
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  .p-co-offices {
    gap: 4rem;
  }
  .p-co-offices > .p-co-link-row {
    margin-top: 2.6666666667rem;
  }
}
.p-co-offices__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.125rem 3rem;
}
@media screen and (max-width: 767px) {
  .p-co-offices__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.p-co-offices__card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.75rem;
  min-height: 11.5rem;
  padding: 1.5rem 1.5rem 1.5rem 2rem;
  border-radius: 0.625rem;
  background-color: #f5f6f6;
}
@media screen and (max-width: 767px) {
  .p-co-offices__card {
    gap: 0.6666666667rem;
    min-height: 0;
    padding: 2rem;
    border-radius: 0.6666666667rem;
  }
}
.p-co-offices__card.--main {
  background-color: #ecf4f5;
}
.p-co-offices__card.--wide {
  grid-column: 1/-1;
  min-height: 13.1875rem;
}
@media screen and (max-width: 767px) {
  .p-co-offices__card.--wide {
    min-height: 0;
  }
}
.p-co-offices__name {
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-offices__name {
    font-size: 1.1333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.5294117647;
  }
}
.p-co-offices__txt {
  font-size: 1rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-offices__txt {
    font-size: 1rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
  .p-co-offices__txt p + p {
    margin-top: 0.9333333333rem;
  }
  .p-co-offices__txt .c-map-link {
    display: flex;
    gap: 0.5333333333rem;
    width: -moz-fit-content;
    width: fit-content;
    height: 1.0666666667rem;
    margin: 0.3333333333rem 0 0;
    font-size: 0.9333333333rem;
  }
  .p-co-offices__txt .c-map-link svg {
    width: 0.8666666667rem;
  }
}
@media screen and (min-width: 768px) {
  .p-co-offices .p-co-link-row {
    margin-top: 11.1875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-co-head:has(+ .p-co-offices) .p-co-head__lead {
    font-size: 1.0666666667rem;
    line-height: 2.25;
    letter-spacing: 0;
  }
}

.p-co-org {
  gap: 6.75rem;
}
@media screen and (max-width: 767px) {
  .p-co-org {
    gap: 6.6666666667rem;
  }
}
.p-co-org__tables {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .p-co-org__tables {
    grid-template-columns: 1fr;
  }
}
.p-co-org .p-co-table.--count th {
  width: 23.75rem;
}
@media screen and (max-width: 767px) {
  .p-co-org .p-co-table.--count th {
    width: auto;
  }
}
.p-co-org .p-co-table.--count td {
  width: 7.75rem;
  padding-right: 2.625rem;
  text-align: right;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-co-org .p-co-table.--count td {
    width: 4.4666666667rem;
    padding-right: 0.6666666667rem;
    padding-left: 0.6666666667rem;
    text-align: center;
  }
}
.p-co-org .p-co-table.--count + .p-co-table.--count th {
  border-left: 1px solid #757575;
}
@media screen and (max-width: 767px) {
  .p-co-org .p-co-table.--count + .p-co-table.--count {
    margin-top: -1px;
  }
  .p-co-org .p-co-table.--count + .p-co-table.--count th {
    border-left: 0;
  }
}
.p-co-org__pdf {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4.3125rem;
  height: 9.8125rem;
  border-radius: 0.75rem;
  background-color: #ecf4f5;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-co-org__pdf {
    flex-direction: column;
    gap: 2rem;
    height: auto;
    margin-top: 3.5333333333rem;
    padding: 2rem;
    border-radius: 0.6666666667rem;
  }
}
@media (any-hover: hover) {
  .p-co-org__pdf:hover {
    opacity: 0.7;
  }
}
.p-co-org__pdf-file, .p-co-org__pdf-dl {
  display: flex;
  align-items: center;
}
.p-co-org__pdf-file {
  gap: 1.8125rem;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-org__pdf-file {
    gap: 1.3333333333rem;
    font-size: 0.8rem;
    line-height: 1.6666666667;
    letter-spacing: -0.05em;
  }
}
.p-co-org__pdf-file picture {
  width: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-co-org__pdf-file picture {
    width: 2.6666666667rem;
  }
}
.p-co-org__pdf-dl {
  gap: 1.375rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-co-org__pdf-dl {
    gap: 1.3333333333rem;
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
}
.p-co-org__pdf-dl picture {
  width: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-co-org__pdf-dl picture {
    width: 2.8rem;
  }
}
.p-co-org img {
  width: 100%;
  height: auto;
}

.p-co-officers {
  gap: 6.75rem;
}
@media screen and (max-width: 767px) {
  .p-co-officers {
    gap: 4rem;
  }
}
.p-co-officers__directors {
  width: 31.5rem;
}
@media screen and (max-width: 767px) {
  .p-co-officers__directors {
    width: auto;
  }
}
.p-co-officers .p-co-table.--officers th,
.p-co-officers .p-co-table.--officers td,
.p-co-officers .p-co-table.--executives th,
.p-co-officers .p-co-table.--executives td {
  padding-left: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-co-officers .p-co-table.--officers th,
  .p-co-officers .p-co-table.--officers td,
  .p-co-officers .p-co-table.--executives th,
  .p-co-officers .p-co-table.--executives td {
    padding-left: 1.3333333333rem;
  }
}
.p-co-officers .p-co-table.--officers th {
  width: 15.75rem;
}
@media screen and (max-width: 767px) {
  .p-co-officers .p-co-table.--officers th {
    width: 10.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-co-officers .p-co-table.--officers td {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-co-officers .p-co-table.--executives td {
    padding-right: 1rem;
    padding-left: 1rem;
    text-align: center;
  }
}
.p-co-officers .p-co-table.--executives th {
  width: 12.5rem;
}
@media screen and (max-width: 767px) {
  .p-co-officers .p-co-table.--executives th {
    width: 6.8rem;
  }
}
.p-co-officers .p-co-table.--executives td:nth-child(2) {
  width: 12.5rem;
  padding-left: 4.25rem;
}
@media screen and (max-width: 767px) {
  .p-co-officers .p-co-table.--executives td:nth-child(2) {
    width: 6.8rem;
    padding-left: 1rem;
  }
}

.p-co-chronology {
  gap: 14.1875rem;
}
@media screen and (max-width: 767px) {
  .p-co-chronology {
    gap: 6.6666666667rem;
  }
}
.p-co-chronology .p-co-table.--chronology th,
.p-co-chronology .p-co-table.--chronology td {
  padding-left: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-co-chronology .p-co-table.--chronology th,
  .p-co-chronology .p-co-table.--chronology td {
    padding-left: 1.3333333333rem;
  }
}
.p-co-chronology .p-co-table.--chronology th {
  width: 17.375rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-co-chronology .p-co-table.--chronology th {
    width: 10.2rem;
    white-space: normal;
  }
}
@media screen and (max-width: 767px) {
  .p-co-chronology .p-co-table.--chronology td {
    padding-right: 1rem;
    padding-left: 1rem;
    text-align: center;
  }
}

.p-co-head:has(.p-co-head__lead) + .p-co-chronology {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-co-head:has(.p-co-head__lead) + .p-co-chronology {
    margin-top: 6.6666666667rem;
  }
}

.p-co-awards {
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .p-co-awards {
    gap: 2rem;
  }
}
.p-co-awards__year {
  border: 1px solid #000;
  border-radius: 2.5rem;
  background-color: #ecf4f5;
}
@media screen and (max-width: 767px) {
  .p-co-awards__year {
    border-radius: 0.8rem;
  }
}
.p-co-awards__year-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 7.0625rem;
  padding: 0 3.6875rem 0 3.6875rem;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-co-awards__year-btn {
    height: 3.7333333333rem;
    padding: 0 1.3333333333rem;
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
.p-co-awards__icon {
  position: relative;
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  aspect-ratio: 1;
  border: 1px solid #000;
  border-radius: 50%;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-co-awards__icon {
    width: 1.8666666667rem;
    height: 1.8666666667rem;
  }
}
.p-co-awards__icon::before, .p-co-awards__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 2px;
  background-color: #000;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-co-awards__icon::before, .p-co-awards__icon::after {
    width: 0.8rem;
    height: 1.5px;
  }
}
.p-co-awards__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
[aria-expanded=true] > .p-co-awards__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.p-co-awards__icon.--line {
  border: 0;
  background: none;
}
.p-co-awards__body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s cubic-bezier(0.2, 0.64, 0.315, 1);
}
.is-open > .p-co-awards__body {
  grid-template-rows: 1fr;
}
.p-co-awards__inner {
  min-height: 0;
  overflow: hidden;
}
.p-co-awards__content {
  padding: 2.875rem 3.6875rem 5.625rem;
  transform: translateY(-1.5rem);
  transition: transform 0.2s ease;
}
.is-open > .p-co-awards__body > .p-co-awards__inner > .p-co-awards__content {
  transform: none;
  transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media screen and (max-width: 767px) {
  .p-co-awards__content {
    padding: 0.4666666667rem 1.3333333333rem 1.3333333333rem;
  }
}
.p-co-awards__group + .p-co-awards__group {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-co-awards__group + .p-co-awards__group {
    margin-top: 1.3333333333rem;
  }
}
@media screen and (max-width: 767px) {
  .p-co-awards__group.is-open + .p-co-awards__group {
    margin-top: 2.6666666667rem;
  }
}
.p-co-awards__group-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
  text-align: left;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-co-awards__group-btn {
    padding: 0;
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
    pointer-events: auto;
  }
}
.p-co-awards__group-btn .p-co-awards__icon {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-co-awards__group-btn .p-co-awards__icon {
    display: block;
    width: 1.7333333333rem;
    height: 1.7333333333rem;
  }
}
.p-co-awards__group-body {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-co-awards__group-body {
    display: grid;
    grid-template-rows: 0fr;
    margin-top: 0;
    transition: grid-template-rows 0.5s cubic-bezier(0.2, 0.64, 0.315, 1);
  }
  .is-open > .p-co-awards__group-body {
    grid-template-rows: 1fr;
  }
}
@media screen and (max-width: 767px) {
  .p-co-awards__group-inner {
    min-height: 0;
    overflow: hidden;
  }
}
.p-co-awards__table {
  width: calc(100% + 1rem);
  margin: -1rem -0.5rem;
  border-collapse: separate;
  border-spacing: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.5;
  letter-spacing: 0;
  table-layout: fixed;
}
.p-co-awards__table th,
.p-co-awards__table td {
  padding: 0 0.625rem;
  text-align: left;
  vertical-align: middle;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
}
.p-co-awards__table th {
  background-color: #ffffff;
}
.p-co-awards__table td {
  height: 2.625rem;
  border-left: 1px solid #757575;
}
.p-co-awards__table th:nth-child(1) {
  width: 3.125rem;
}
.p-co-awards__table th:nth-child(2) {
  width: 18.125rem;
}
.p-co-awards__table th:nth-child(3) {
  width: 9.375rem;
}
.p-co-awards__table th:nth-child(4) {
  width: 15.5625rem;
}
.p-co-awards__table.--no-winner th:nth-child(4) {
  width: auto;
}
.p-co-awards__table.--local th:nth-child(2) {
  width: 5.75rem;
}
.p-co-awards__table.--local th:nth-child(3) {
  width: 12.5rem;
}
.p-co-awards__table.--local th:nth-child(4) {
  width: 24.75rem;
}
.p-co-awards__table.--association th:nth-child(2) {
  width: 13.875rem;
}
@media screen and (max-width: 767px) {
  .p-co-awards__table {
    display: block;
    width: auto;
    margin: 0;
    font-size: 1rem;
    line-height: 1.2666666667;
  }
  .p-co-awards__table thead {
    display: none;
  }
  .p-co-awards__table tbody,
  .p-co-awards__table tr,
  .p-co-awards__table td {
    display: block;
  }
  .p-co-awards__table tbody {
    padding-top: 0.6666666667rem;
  }
  .p-co-awards__table tr + tr {
    margin-top: 2rem;
  }
  .p-co-awards__table td {
    display: grid;
    grid-template-columns: 3.2rem 1fr;
    -moz-column-gap: 0.6rem;
         column-gap: 0.6rem;
    align-items: start;
    height: auto;
    padding: 0;
    border-left: 0;
  }
  .p-co-awards__table td + td {
    margin-top: 0.4666666667rem;
  }
  .p-co-awards__table td:first-child br {
    display: none;
  }
  .p-co-awards__table td::before {
    content: attr(data-label);
    display: grid;
    place-items: center;
    min-height: 1.2666666667rem;
    padding: 0;
    background-color: #ffffff;
    font-size: 0.8rem;
    line-height: 1.1666666667;
    text-align: center;
  }
}

.p-co-group {
  gap: 8.75rem;
  width: 72.0625rem;
}
@media screen and (max-width: 767px) {
  .p-co-group {
    gap: 6.6666666667rem;
    width: auto;
  }
  .p-co-group > .p-co-sec + .p-co-sec {
    margin-top: -2.6666666667rem;
  }
}
.p-co-group .p-co-ttl.--no-line {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .p-co-group .p-co-ttl.--no-line {
    margin-bottom: 1.3333333333rem;
  }
}
.p-co-group__chart {
  position: relative;
  height: 46.8125rem;
  margin: -0.8125rem 0 0.8125rem;
}
@media screen and (max-width: 767px) {
  .p-co-group__chart {
    height: auto;
    margin: 0;
  }
}
.p-co-group__lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-co-group__lines {
    display: none;
  }
}
.p-co-group__name {
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-co-group__name {
    white-space: normal;
    font-size: 1.0666666667rem;
    line-height: 1.625;
  }
}
.p-co-group__dots {
  display: block;
  width: 6.5625rem;
  height: 0.1875rem;
  margin: 1.125rem auto 1rem;
  background-image: radial-gradient(circle, #b9b9b9 0.09375rem, transparent 0.1rem);
  background-size: 0.375rem 0.1875rem;
}
@media screen and (max-width: 767px) {
  .p-co-group__dots {
    width: 7rem;
    height: 0.2rem;
    margin: 0.6666666667rem auto;
    background-image: radial-gradient(circle, #b9b9b9 0.08rem, transparent 0.0866666667rem);
    background-size: 0.3333333333rem 0.2rem;
  }
}
.p-co-group__txt {
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-co-group__txt {
    font-size: 1rem;
    line-height: 1.7333333333;
    letter-spacing: 0;
    text-align: left;
  }
}
.p-co-group img {
  width: 100%;
  height: auto;
}
.p-co-group__hd {
  position: absolute;
  top: 0.8125rem;
  right: 0;
  left: 0;
  z-index: 1;
  height: 13.5625rem;
  border-radius: 1.875rem;
  background-color: #f5f6f6;
}
@media screen and (max-width: 767px) {
  .p-co-group__hd {
    position: relative;
    top: auto;
    left: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    height: auto;
    padding: 2.6666666667rem 2rem 2rem;
    border-radius: 1.3333333333rem;
  }
  .p-co-group__hd .p-co-group__name {
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
.p-co-group__hd-logo {
  position: absolute;
  top: 4rem;
  left: calc(50% - 25.0625rem);
  width: 16.6875rem;
}
@media screen and (max-width: 767px) {
  .p-co-group__hd-logo {
    position: static;
    width: auto;
    height: 5.1333333333rem;
    margin: -0.4666666667rem 0 -0.6666666667rem;
  }
  .p-co-group__hd-logo picture,
  .p-co-group__hd-logo img {
    width: auto;
    height: 100%;
  }
}
.p-co-group__hd-body {
  position: absolute;
  top: 3.375rem;
  left: calc(50% - 3.875rem);
  width: 16.9375rem;
}
@media screen and (max-width: 767px) {
  .p-co-group__hd-body {
    position: static;
    width: auto;
    margin-top: 2rem;
  }
}
.p-co-group__hd-body .p-co-group__dots {
  margin: 1.125rem auto;
}
@media screen and (max-width: 767px) {
  .p-co-group__hd-body .p-co-group__dots {
    margin: 0.6666666667rem auto;
  }
}
.p-co-group__hd-body .p-co-group__txt {
  width: 15.75rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-co-group__hd-body .p-co-group__txt {
    width: auto;
  }
}
.p-co-group__hd-body .p-co-group__web {
  position: absolute;
  top: 2.0625rem;
  left: 21.25rem;
}
@media screen and (max-width: 767px) {
  .p-co-group__hd-body .p-co-group__web {
    position: static;
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    margin: 2rem auto 0;
  }
}
.p-co-group__cards {
  position: absolute;
  top: 21.125rem;
  left: 0;
  display: grid;
  grid-template-columns: repeat(3, 21.3125rem);
  -moz-column-gap: 4.0625rem;
       column-gap: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .p-co-group__cards {
    position: relative;
    top: auto;
    grid-template-columns: 1fr;
    row-gap: 2rem;
    margin: 3.3333333333rem 0 0 3.9333333333rem;
  }
}
.p-co-group__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 25.6875rem;
  padding: 3.6875rem 2.5rem 0;
  border-radius: 1.875rem;
  background-color: #f5f6f6;
}
@media screen and (max-width: 767px) {
  .p-co-group__card {
    height: auto;
    padding: 1.3333333333rem 2rem;
    border-radius: 1.3333333333rem;
  }
  .p-co-group__card:first-child {
    padding-top: 2rem;
  }
  .p-co-group__card::before, .p-co-group__card::after {
    content: "";
    position: absolute;
    left: -2.1333333333rem;
    width: 2.1333333333rem;
    border-left: 1.5px solid #bbb;
  }
  .p-co-group__card::before {
    top: -2rem;
    height: calc(9.5333333333rem + 1.5px);
    border-bottom: 1.5px solid #bbb;
  }
  .p-co-group__card:first-child::before {
    top: -3.3333333333rem;
    height: calc(10.8666666667rem + 1.5px);
  }
  .p-co-group__card:last-child::before {
    border-bottom-left-radius: 0.6666666667rem;
  }
  .p-co-group__card:not(:last-child)::after {
    top: 7.5333333333rem;
    bottom: 0;
  }
}
.p-co-group__card .p-co-group__txt {
  width: 16.25rem;
}
@media screen and (max-width: 767px) {
  .p-co-group__card .p-co-group__txt {
    width: auto;
  }
}
.p-co-group__card .p-co-group__web {
  position: absolute;
  bottom: 1.625rem;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-co-group__card .p-co-group__web {
    position: static;
    margin-top: 2rem;
    transform: none;
  }
}
.p-co-group__logo {
  height: 4.5rem;
  margin-bottom: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-co-group__logo {
    height: 4.2666666667rem;
    margin: -0.4rem 0 0.8rem;
  }
}
.p-co-group__logo picture,
.p-co-group__logo img {
  width: auto;
  height: 100%;
}
.p-co-group__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-co-group__list {
    gap: 2rem;
  }
}
.p-co-group__item {
  display: grid;
  grid-template-columns: 29rem 1fr;
  align-items: center;
  -moz-column-gap: 5.8125rem;
       column-gap: 5.8125rem;
  min-height: 12.25rem;
  padding: 1.4375rem;
  border-radius: 1.875rem;
  background-color: #f5f5f5;
}
@media screen and (max-width: 767px) {
  .p-co-group__item {
    grid-template-columns: 1fr;
    row-gap: 1.3333333333rem;
    min-height: 0;
    padding: 2rem;
    border-radius: 1.3333333333rem;
  }
}
.p-co-group__item-logo {
  display: grid;
  place-items: center;
  height: 9.375rem;
  border-radius: 1rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-co-group__item-logo {
    height: 5.5333333333rem;
    border-radius: 1.2rem;
  }
}
.p-co-group__item-logo picture {
  height: 5rem;
}
@media screen and (max-width: 767px) {
  .p-co-group__item-logo picture {
    height: 4.2666666667rem;
  }
}
.p-co-group__item-logo img {
  width: auto;
  height: 100%;
}
.p-co-group__item-name {
  font-size: 1.3125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.8095238095;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-group__item-name {
    font-size: 1.0666666667rem;
    line-height: 1.25;
    text-align: center;
  }
}
.p-co-group__item-txt {
  margin-top: 1.25rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-co-group__item-txt {
    margin-top: 0.6666666667rem;
    font-size: 1rem;
    line-height: 1.7333333333;
    letter-spacing: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-co-group__hd.--no-web .p-co-group__hd-body {
    width: 28.9375rem;
  }
  .p-co-group__hd.--no-web .p-co-group__txt {
    width: auto;
    text-align: center;
  }
}

.p-biz-sub__hero {
  width: 80.9375rem;
  margin: 3.75rem 0 0 auto;
  aspect-ratio: 1295/763;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-biz-sub__hero {
    width: calc(100% - 2.3333333333rem);
    margin-top: 1.3333333333rem;
    aspect-ratio: 340/298;
  }
}
.p-biz-sub__hero.--top {
  width: 81rem;
}
@media screen and (max-width: 767px) {
  .p-biz-sub__hero.--top {
    width: calc(100% - 2.3333333333rem);
  }
}
.p-biz-sub__hero picture,
.p-biz-sub__hero img {
  width: 100%;
  height: 100%;
}
.p-biz-sub__hero img {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-biz-list {
  width: 82rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-biz-list {
    width: auto;
    margin: 0 2.3333333333rem;
  }
}
.p-biz-list__ttl {
  padding-bottom: 0.3125rem;
  border-bottom: 1px solid #3c3c3c;
  color: #3c3c3c;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-biz-list__ttl {
    padding-bottom: 1.3333333333rem;
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.p-biz-list__ttl.--lg {
  padding-bottom: 0;
  border-bottom: 0;
  color: #ffffff;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-biz-list__ttl.--lg {
    font-size: 1.4666666667rem;
  }
}
.p-biz-list__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem 5rem;
  margin-top: 5.3125rem;
}
@media screen and (max-width: 767px) {
  .p-biz-list__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 3.3333333333rem;
  }
}
.--top .p-biz-list__grid {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .--top .p-biz-list__grid {
    margin-top: 0rem;
  }
}
.p-biz-list__card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  color: #3c3c3c;
}
@media screen and (max-width: 767px) {
  .p-biz-list__card {
    gap: 0.2666666667rem;
  }
}
.p-biz-list__card .c-circle-arrow.--white-line {
  border-color: currentColor;
}
.p-biz-list__card .c-circle-arrow.--white-line, .p-biz-list__card .c-circle-arrow.--white-line:is(a:hover *) {
  --arrow: #3c3c3c;
}
.p-biz-list__name {
  font-size: 1.3125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-biz-list__name {
    font-size: 1.2rem;
    line-height: 1.6111111111;
  }
}
.p-biz-list__img {
  aspect-ratio: 384/172;
  overflow: hidden;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-biz-list__img {
    border-radius: 0.6666666667rem;
    aspect-ratio: 305/137;
  }
}
.p-biz-list__img picture,
.p-biz-list__img img {
  width: 100%;
  height: 100%;
}
.p-biz-list__img img {
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.2, 0.64, 0.315, 1);
  will-change: transform;
  backface-visibility: hidden;
}
.p-biz-list__card:hover .p-biz-list__img img {
  transform: scale(1.05);
}
.p-biz-list__foot {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-biz-list__foot {
    align-items: center;
    gap: 1.3333333333rem;
  }
}
.p-biz-list__tags {
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-biz-list__tags {
    font-size: 1rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.7333333333;
  }
}

.c-outro.--biz {
  margin-top: 11rem;
}
@media screen and (max-width: 767px) {
  .c-outro.--biz {
    margin-top: 6.6666666667rem;
  }
}
.c-outro.--biz .c-outro__pickup {
  padding-top: 12.5rem;
  padding-bottom: 14.6875rem;
}
@media screen and (max-width: 767px) {
  .c-outro.--biz .c-outro__pickup {
    padding-top: 6.6666666667rem;
    padding-bottom: 6.6666666667rem;
  }
}
@media screen and (max-width: 767px) {
  .c-outro.--biz.--sp2 .c-outro__pickup {
    padding: 8rem 1rem 6.6666666667rem;
  }
}

@media screen and (max-width: 767px) {
  .p-biz {
    overflow-x: clip;
  }
}
.p-biz__intro {
  margin: 6.25rem 0 0 9rem;
}
@media screen and (max-width: 767px) {
  .p-biz__intro {
    margin: 2rem 2.3333333333rem 0;
  }
}
.p-biz__catch {
  font-size: 2.8125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5555555556;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-biz__catch {
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
  }
}
.p-biz__lead {
  max-width: 71.9375rem;
  margin-top: 2.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-biz__lead {
    margin-top: 2rem;
    font-size: 1.0666666667rem;
    line-height: 2.25;
    letter-spacing: 0;
  }
}

.p-biz-town {
  position: relative;
  margin-top: 8.3125rem;
}
@media screen and (max-width: 767px) {
  .p-biz-town {
    margin: 0 -0.8rem;
  }
}
.p-biz-town__ttl {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  top: 3.75rem;
  left: 0;
  right: 0;
  z-index: 2;
  color: #ffffff;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
  text-align: center;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-biz-town__ttl {
    top: 1.5333333333rem;
    font-size: 0.9333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.8571428571;
    letter-spacing: 0.05em;
  }
}
.p-biz-town__map {
  position: relative;
  aspect-ratio: 1440/1283;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-biz-town__map {
    width: min(100%, (100vh - 5.625rem) * 1440 / 1283 * 1.4);
    margin: 0 auto;
    container-type: inline-size;
  }
}
@media screen and (max-width: 767px) {
  .p-biz-town__map {
    width: 120%;
    margin-left: -13%;
  }
}
.p-biz-town__illu {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.p-biz-town__illu img {
  width: 100%;
  height: auto;
}

.p-biz-pin {
  position: absolute;
  z-index: 1;
  transition: transform 0.3s cubic-bezier(0.2, 0.64, 0.315, 1);
  transform-origin: 50% 100%;
}
@media (any-hover: hover) {
  .p-biz-pin:hover {
    transform: translateY(-6%) scale(1.06);
  }
}
.p-biz-pin::before {
  content: "";
  position: absolute;
  top: 0;
  left: -7.5%;
  width: 115%;
  aspect-ratio: 100/108;
  background: url(../img/business/pin-town.svg) no-repeat center top/100% auto;
  pointer-events: none;
}
.p-biz-pin__label {
  position: absolute;
  top: 46%;
  left: 50%;
  color: #6a6a6a;
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-biz-pin__label {
    font-size: 0.9722222222cqw;
  }
}
.p-biz-pin__label {
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.2857142857;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-biz-pin__label {
    font-size: 0;
  }
  .p-biz-pin__label::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.6rem;
    height: 0.6rem;
    background: linear-gradient(currentColor, currentColor) center/100% 2px no-repeat, linear-gradient(currentColor, currentColor) center/2px 100% no-repeat;
    transform: translate(-50%, -50%);
  }
}

.p-biz-modal,
.p-biz-project__modal {
  max-width: none;
  max-height: none;
  padding: 0;
  border: 0;
  background: none;
}
.p-biz-modal::backdrop,
.p-biz-project__modal::backdrop {
  background-color: rgba(37, 58, 68, 0.4);
}
.p-biz-modal[open],
.p-biz-project__modal[open] {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  animation: biz-modal-in 0.35s ease-out;
}
.p-biz-modal[open]::backdrop,
.p-biz-project__modal[open]::backdrop {
  animation: biz-modal-fade 0.35s ease-out;
}

@keyframes biz-modal-in {
  from {
    opacity: 0;
    transform: translateY(0.75rem);
  }
}
@keyframes biz-modal-fade {
  from {
    opacity: 0;
  }
}
.p-biz-modal__box {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 52rem;
  max-height: calc(100svh - 4.6875rem);
  overflow: hidden;
  border-radius: 2.5rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-biz-modal__box {
    width: min(100% - 4.6666666667rem, 420px);
    max-height: calc(100svh - 2.6666666667rem - 2.3333333333rem);
    border-radius: 1.0666666667rem;
  }
}
.p-biz-modal__scroll {
  min-height: 0;
  margin: 2.5rem 0;
  padding: 1.5rem 4.5rem 1rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  outline: none;
}
@media screen and (max-width: 767px) {
  .p-biz-modal__scroll {
    margin: 1.0666666667rem 0;
    padding: 1.6rem 1.6rem 1.0666666667rem;
  }
}
.p-biz-modal__close {
  position: absolute;
  z-index: 1;
  top: 1.75rem;
  right: 1.75rem;
  width: 1.5rem;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .p-biz-modal__close {
    top: 0.9333333333rem;
    right: 0.9333333333rem;
    width: 1.6rem;
  }
}
.p-biz-modal__close:focus:not(:focus-visible) {
  outline: none;
}
.p-biz-modal__close::before, .p-biz-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1.5px;
  background-color: #000;
  transform: rotate(45deg);
}
.p-biz-modal__close::after {
  transform: rotate(-45deg);
}
.p-biz-modal__cat {
  color: #00a5ff;
}
.p-biz-modal__cat a {
  color: inherit;
}
@media (any-hover: hover) {
  .p-biz-modal__cat a:hover {
    text-decoration: underline;
  }
}
.p-biz-modal__cat {
  font-size: 0.875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-biz-modal__cat {
    font-size: 0.8rem;
  }
}
.p-biz-modal__cat::before {
  content: "#";
}
.p-biz-modal__body {
  display: grid;
  grid-template-columns: 5.25rem 1fr;
  -moz-column-gap: 4.8125rem;
       column-gap: 4.8125rem;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-biz-modal__body {
    grid-template-columns: 1fr;
    row-gap: 2rem;
    margin-top: 1.0666666667rem;
  }
}
@media screen and (max-width: 767px) {
  .p-biz-modal__icon {
    width: 4.6666666667rem;
    margin: auto;
  }
}
.p-biz-modal__icon img {
  width: 100%;
  height: auto;
}
.p-biz-modal__name {
  font-size: 1.75rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5714285714;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-biz-modal__name {
    font-size: 1.1333333333rem;
  }
}
.p-biz-modal__txt {
  margin-top: 1.25rem;
  white-space: pre-line;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-biz-modal__txt {
    margin-top: 1.3333333333rem;
    font-size: 1rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.8;
    letter-spacing: 0;
  }
}
.p-biz-modal__more {
  display: grid;
  place-items: center;
  width: 10rem;
  height: 4rem;
  margin: 4rem auto 0;
  border-radius: 100px;
  background-color: #00a5ff;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  letter-spacing: 0.05em;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-biz-modal__more {
    width: 7.2rem;
    height: 2.7333333333rem;
    margin-top: 2rem;
    font-size: 0.9333333333rem;
  }
}
@media (any-hover: hover) {
  .p-biz-modal__more:hover {
    opacity: 0.8;
  }
}

.p-biz-project {
  position: relative;
  width: 82rem;
  margin: 7.3125rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-biz-project {
    width: auto;
    margin: 2.2rem 2.3333333333rem 0;
  }
}
.p-biz-project__ttl {
  margin-top: 2.25rem;
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-biz-project__ttl {
    margin-top: 1.3333333333rem;
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
.p-biz-project__box {
  position: relative;
  margin-top: 5rem;
  overflow: hidden;
  border-radius: 6.25rem;
  background-color: #83c4db;
  aspect-ratio: 1312/1000;
}
@media screen and (min-width: 768px) {
  .p-biz-project__box {
    width: min(100%, (100vh - 7.5rem) * 1312 / 1000 * 1.25);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-biz-project__box {
    height: 41.9026666667rem;
    margin: 2.8666666667rem -2.3333333333rem 0;
    border-radius: 0;
    aspect-ratio: auto;
  }
}
.p-biz-project__panel {
  position: absolute;
  inset: 0;
}
.p-biz-project__panel[hidden] {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-biz-project__panel.--map {
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  .p-biz-project__panel.--map::-webkit-scrollbar {
    display: none;
  }
}
.p-biz-project__map {
  position: absolute;
  inset: 0;
}
@media screen and (max-width: 767px) {
  .p-biz-project__map {
    position: relative;
    width: 55.088rem;
    height: 100%;
  }
}
.p-biz-project__sea, .p-biz-project__land {
  position: absolute;
}
.p-biz-project__sea picture,
.p-biz-project__sea img, .p-biz-project__land picture,
.p-biz-project__land img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-biz-project__grid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  mix-blend-mode: multiply;
}
.p-biz-project__grid path {
  fill: none;
  stroke: #c3cddc;
  stroke-width: 1;
}
.p-biz-project__waves {
  position: absolute;
  inset: 3.3% 1.46% 3.04% 1.04%;
}
.p-biz-project__waves picture,
.p-biz-project__waves img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-biz-project__pin {
  position: absolute;
  width: 2.4390243902%;
  height: 4.8%;
  margin: -3.6585365854% 0 0 -1.2195121951%;
  transition: transform 0.3s cubic-bezier(0.2, 0.64, 0.315, 1);
  transform-origin: 50% 100%;
}
.p-biz-project__pin img {
  width: 100%;
  height: auto;
}
@media (any-hover: hover) {
  .p-biz-project__pin:hover {
    transform: translateY(-10%) scale(1.15);
  }
}
.p-biz-project__words {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-content: start;
  gap: 1rem 3rem;
  height: 100%;
  padding: 4rem;
  overflow-y: auto;
  scrollbar-width: none;
}
.p-biz-project__words::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-biz-project__words {
    grid-template-columns: 1fr;
    gap: 0.5333333333rem;
    padding: 1.3333333333rem 1.0666666667rem;
  }
}
.p-biz-project__scrollbar {
  position: absolute;
  top: 6.4375rem;
  right: 2.6875rem;
  bottom: 6.4375rem;
  width: 0.5rem;
  border-radius: 100px;
  background-color: #d8d8d8;
}
@media screen and (max-width: 767px) {
  .p-biz-project__scrollbar {
    top: 1.6rem;
    right: 0.5333333333rem;
    bottom: 1.6rem;
    width: 0.2666666667rem;
  }
}
.p-biz-project__scrollbar-thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-radius: 100px;
  background-color: #919191;
  cursor: grab;
  touch-action: none;
  transition: background-color 0.3s ease;
}
.p-biz-project__scrollbar-thumb.is-drag {
  background-color: #757575;
  cursor: grabbing;
}
.p-biz-project__word {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  width: 100%;
  padding: 1.25rem 1.75rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
  text-align: left;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-biz-project__word {
    padding: 0.8rem 1.0666666667rem;
    border-radius: 0.8rem;
  }
}
@media (any-hover: hover) {
  .p-biz-project__word:hover {
    opacity: 0.8;
  }
}
.p-biz-project__word-area {
  font-size: 0.8125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
@media screen and (max-width: 767px) {
  .p-biz-project__word-area {
    font-size: 0.7333333333rem;
  }
}
.p-biz-project__word-ttl {
  font-size: 1.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-biz-project__word-ttl {
    font-size: 0.9333333333rem;
  }
}
.p-biz-project__word-tags {
  color: #00a5ff;
  font-size: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-biz-project__word-tags {
    font-size: 0.6666666667rem;
  }
}
.p-biz-project__tip {
  position: absolute;
  z-index: 2;
  max-width: 22.5rem;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, -100%);
}
.p-biz-project__tip.is-show, .p-biz-project__tip.is-hide {
  visibility: visible;
}
.p-biz-project__tip-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  filter: drop-shadow(0 0.25rem 0.75rem rgba(0, 0, 0, 0.12));
  opacity: 0;
  transform: rotate(-5deg);
  transform-origin: 50% calc(100% + var(--pivot, 0px));
}
.p-biz-project__tip.is-show .p-biz-project__tip-inner, .p-biz-project__tip.is-hide .p-biz-project__tip-inner {
  transition: opacity 0.3s ease, transform 0.4s cubic-bezier(0.2, 0.64, 0.315, 1);
}
.p-biz-project__tip.is-show .p-biz-project__tip-inner {
  opacity: 1;
  transform: rotate(0);
}
.p-biz-project__tip.is-hide .p-biz-project__tip-inner {
  transform: rotate(5deg);
}
@media (prefers-reduced-motion: reduce) {
  .p-biz-project__tip-inner, .p-biz-project__tip.is-show .p-biz-project__tip-inner, .p-biz-project__tip.is-hide .p-biz-project__tip-inner {
    transform: none;
  }
}
.p-biz-project__tip-box {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.875rem 1.25rem;
  border-radius: 0.75rem;
  background-color: #ffffff;
  white-space: nowrap;
}
.p-biz-project__tip-area {
  font-size: 0.75rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
.p-biz-project__tip-ttl {
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.05em;
}
.p-biz-project__tip-arrow {
  width: 1.125rem;
  height: 0.625rem;
  margin-top: -1px;
  background-color: #ffffff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.p-biz-project__toggle {
  position: sticky;
  bottom: 1.5rem;
  z-index: 5;
  display: flex;
  gap: 0.75rem;
  width: -moz-fit-content;
  width: fit-content;
  margin: 2.5rem auto 0;
  padding: 0.25rem 0.75rem;
  border-radius: 100px;
  background-color: #ffffff;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 767px) {
  .p-biz-project__toggle {
    bottom: 1.0666666667rem;
    gap: 0.6666666667rem;
    margin-top: 1rem;
    padding: 0.6666666667rem;
  }
}
.p-biz-project__tab {
  display: grid;
  place-items: center;
  width: 7.8125rem;
  height: 2.75rem;
  padding: 0;
  white-space: nowrap;
  border-radius: 2.1875rem;
  background-color: #e1f2ff;
  color: #9bc9e8;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-biz-project__tab {
    width: 6.2666666667rem;
    height: 2.7333333333rem;
    border-radius: 1.8666666667rem;
    font-size: 0.9333333333rem;
    letter-spacing: -0.05em;
  }
}
.p-biz-project__tab.is-active {
  background-color: #00a5ff;
  color: #ffffff;
}
.p-biz-project__modal-box {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 43.25rem;
  max-height: calc(100svh - 4.6875rem);
  overflow: hidden;
  border-radius: 2.5rem;
  background-color: #ffffff;
}
.p-biz-project__modal-box .p-biz-modal__scroll {
  padding: 0.75rem 3.25rem 0;
}
@media screen and (max-width: 767px) {
  .p-biz-project__modal-box .p-biz-modal__scroll {
    margin: 2.6666666667rem 0 2.1333333333rem;
    padding: 0.2666666667rem 1.6rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-biz-project__modal-box {
    width: min(100% - 4.6666666667rem, 420px);
    max-height: calc(100svh - 2.6666666667rem);
    border-radius: 2.6666666667rem;
  }
  .p-biz-project__modal-box .p-biz-modal__close {
    top: 1.7333333333rem;
    right: 1.7333333333rem;
    width: 1.4666666667rem;
  }
  .p-biz-project__modal-box .p-biz-modal__close::before, .p-biz-project__modal-box .p-biz-modal__close::after {
    height: 1px;
  }
}
.p-biz-project__area {
  font-size: 0.875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-biz-project__area {
    font-size: 1rem;
  }
}
.p-biz-project__modal-ttl {
  margin-top: 0.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5833333333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-biz-project__modal-ttl {
    margin-top: 0.9333333333rem;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.p-biz-project__modal-body {
  display: grid;
  grid-template-columns: 11.875rem 1fr;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-biz-project__modal-body {
    grid-template-columns: 1fr;
    row-gap: 1.6rem;
    margin-top: 2.1333333333rem;
  }
}
.p-biz-project__modal-img {
  overflow: hidden;
  aspect-ratio: 190/127;
  background-color: #eceeee;
}
.p-biz-project__modal-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-biz-project__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-top: 0.75rem;
}
.p-biz-project__tags[hidden] {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-biz-project__tags {
    gap: 0.6666666667rem;
    margin-top: 1.3333333333rem;
  }
}
.p-biz-project__tags li {
  padding: 0 0.5rem;
  border: 1px solid #00a5ff;
  border-radius: 100px;
  color: #00a5ff;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.p-biz-project__tags li a {
  display: block;
  color: inherit;
}
@media (any-hover: hover) {
  .p-biz-project__tags li:has(a):hover {
    background-color: #00a5ff;
    color: #ffffff;
  }
}
.p-biz-project__tags li {
  font-size: 0.625rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-biz-project__tags li {
    padding: 0.1333333333rem 0.8rem;
    font-size: 0.8666666667rem;
  }
}
.p-biz-project__modal-txt {
  font-size: 0.8125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-biz-project__modal-txt {
    font-size: 1rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.8;
    letter-spacing: 0;
  }
}
.p-biz-project__modal-txt > * + * {
  margin-top: 1em;
}
.p-biz-project__modal-txt a {
  color: #00a5ff;
  text-decoration: underline;
}
.p-biz-project__award[hidden] {
  display: none;
}
.p-biz-project__award {
  display: grid;
  grid-template-columns: 11.875rem 1fr;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #bbb;
  font-size: 0.875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-biz-project__award {
    grid-template-columns: 1fr;
    row-gap: 0.9333333333rem;
    margin-top: 2.1333333333rem;
    padding-top: 2.1333333333rem;
    font-size: 1rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
  }
}
.p-biz-project__award dd li + li {
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-biz-project__award dd li + li {
    margin-top: 0.4rem;
  }
}
.p-biz-project__award li::before {
  content: "";
  display: inline-block;
  width: 0.625rem;
  height: 0.625rem;
  aspect-ratio: 1;
  margin-right: 0.5rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #b39b5f;
}

.p-biz-people {
  position: relative;
  z-index: 1;
  margin-top: 11.375rem;
  aspect-ratio: 1440/455;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-biz-people {
    margin-top: 4rem;
  }
}
.p-biz-people__item {
  position: absolute;
}
.p-biz-people__item img {
  width: 100%;
  height: 100%;
}

.p-biz-band {
  margin-top: -4.75rem;
  padding: 20rem 0 6.875rem;
  background-color: #afd2e1;
}
@media screen and (max-width: 767px) {
  .p-biz-band {
    margin-top: -1.3333333333rem;
    padding: 5.3333333333rem 0 6.6666666667rem;
  }
}
.p-biz-band__copy {
  color: #ffffff;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-biz-band__copy {
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.p-biz-band .p-biz-list {
  margin-top: 11.875rem;
}
@media screen and (max-width: 767px) {
  .p-biz-band .p-biz-list {
    margin-top: 4rem;
  }
}
.p-biz-band__label {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-biz-band__label {
    display: block;
    margin: 6.6666666667rem 0 2rem;
    color: #ffffff;
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
    text-align: center;
  }
}
.p-biz-band .p-biz-list.--top .p-biz-list__grid {
  margin-top: 0;
}

.p-biz-flow {
  margin-top: 11.875rem;
}
@media screen and (max-width: 767px) {
  .p-biz-flow {
    margin-top: 3.4rem;
  }
  .p-biz-flow .p-biz-list__ttl.--lg {
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.p-biz-flow__nav {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.75rem;
  margin-top: 10.5rem;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__nav {
    gap: 0.2666666667rem;
    margin: 3.4666666667rem 0 0;
  }
}
.p-biz-flow__outside {
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.3em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__outside {
    font-size: 0.8666666667rem;
    line-height: 1.6153846154;
    letter-spacing: -0.05em;
  }
}
.p-biz-flow__arrow {
  width: 1.1875rem;
  height: 1.4375rem;
  background-color: #ffffff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (max-width: 767px) {
  .p-biz-flow__arrow {
    width: 0.4666666667rem;
    height: 0.6rem;
  }
}
.p-biz-flow__step {
  position: relative;
  height: 4rem;
  padding: 0 1.25rem;
  border: 1px solid #ffffff;
  border-radius: 3.75rem;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  letter-spacing: 0.2em;
  white-space: nowrap;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__step {
    height: 2rem;
    padding: 0 0.3333333333rem;
    border-radius: 1.8666666667rem;
    font-size: 0.8666666667rem;
    line-height: 1.6153846154;
    letter-spacing: -0.05em;
  }
}
.p-biz-flow__step.is-active {
  background-color: #ffffff;
  color: #6f8792;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
@media screen and (max-width: 767px) {
  .p-biz-flow__step.is-active {
    font-size: 0.9333333333rem;
  }
}
.p-biz-flow__step.--construction::before {
  content: "施工";
  position: absolute;
  bottom: calc(100% + 0.75rem);
  left: 50%;
  transform: translateX(-50%);
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.3em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__step.--construction::before {
    bottom: calc(100% + 0.5333333333rem);
    font-size: 0.8666666667rem;
    line-height: 1.6153846154;
    letter-spacing: -0.05em;
  }
}
.p-biz-flow__track {
  display: flex;
  gap: 6.625rem;
  margin-top: 2.5rem;
  padding: 0 calc(50% - 28.25rem);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.p-biz-flow__track::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__track {
    gap: 1rem;
    margin-top: 2rem;
    padding: 0 2.3333333333rem;
  }
}
.p-biz-flow__card {
  position: relative;
  flex-shrink: 0;
  width: 56.5rem;
  height: 35rem;
  padding: 3.25rem 3.75rem;
  border-radius: 2.5rem;
  background-color: #eae9de;
  color: #6b4922;
  scroll-snap-align: center;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__card {
    display: flex;
    flex-direction: column;
    width: 20.3333333333rem;
    height: auto;
    min-height: 36.6666666667rem;
    padding: 1.3333333333rem 1.0666666667rem 3.2rem;
    border-radius: 2.6666666667rem;
  }
}
.p-biz-flow__card:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -4.5625rem;
  width: 2.5rem;
  height: 3.4375rem;
  background-color: rgba(255, 255, 255, 0.7);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-biz-flow__card:not(:last-child)::after {
    right: -3.6666666667rem;
    z-index: 2;
    background-color: #eae9de;
  }
}
.p-biz-flow__card-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.5rem;
  padding-bottom: 0.3125rem;
  border-bottom: 1px solid #6b4922;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__card-head {
    flex-direction: column;
    align-items: stretch;
    gap: 0.3333333333rem;
    padding-bottom: 0.6666666667rem;
  }
}
.p-biz-flow__name {
  font-size: 1.75rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6428571429;
  letter-spacing: 0.3em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__name {
    font-size: 1.6666666667rem;
    line-height: 1.84;
    text-align: center;
  }
}
.p-biz-flow__jobs {
  font-size: 1.125rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__jobs {
    font-size: 0.8666666667rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.3846153846;
    letter-spacing: 0;
    text-align: left;
  }
}
.p-biz-flow__card-body {
  width: 21.875rem;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__card-body {
    width: auto;
    margin-top: 1.3333333333rem;
  }
}
.p-biz-flow__catch {
  font-size: 1.75rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__catch {
    font-size: 1.3333333333rem;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
  }
}
.p-biz-flow__txt {
  margin-top: 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__txt {
    margin-top: 0.8rem;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: 0;
  }
}
.p-biz-flow__illu {
  position: absolute;
  right: 5.625rem;
  bottom: 6.25rem;
  width: 16.25rem;
}
@media screen and (min-width: 768px) {
  .p-biz-flow__illu.--plan {
    right: 6.125rem;
    bottom: 6.1875rem;
    width: 22rem;
  }
  .p-biz-flow__illu.--survey {
    right: 2.125rem;
    bottom: 5.5rem;
    width: 24.6875rem;
  }
  .p-biz-flow__illu.--design {
    right: 8.3125rem;
    bottom: 7.9375rem;
    width: 14.3125rem;
  }
  .p-biz-flow__illu.--construction {
    right: 3.875rem;
    bottom: 8.0625rem;
    width: 22.3125rem;
  }
  .p-biz-flow__illu.--maintenance {
    right: 1.8125rem;
    bottom: 8.4375rem;
    width: 23.9375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-biz-flow__illu {
    position: static;
    width: 15.3333333333rem;
    margin: auto auto 0;
    padding-top: 0.8rem;
  }
  .p-biz-flow__illu.--plan {
    width: 12.1333333333rem;
  }
  .p-biz-flow__illu.--survey {
    width: 11.2666666667rem;
  }
  .p-biz-flow__illu.--design {
    width: 9.9333333333rem;
  }
  .p-biz-flow__illu.--construction {
    width: 13.2rem;
  }
  .p-biz-flow__illu.--maintenance {
    width: 11.7333333333rem;
  }
}
.p-biz-flow__illu img {
  width: 100%;
  height: auto;
}
.p-biz-flow__dots {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__dots {
    position: relative;
    gap: 0.6666666667rem;
    margin-top: -1.8666666667rem;
  }
}
.p-biz-flow__dot {
  width: 0.5rem;
  height: 0.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: rgba(255, 255, 255, 0.5);
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__dot {
    width: 0.5333333333rem;
    height: 0.5333333333rem;
    background-color: #c4c4c4;
  }
}
.p-biz-flow__dot.is-active {
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-biz-flow__dot.is-active {
    background-color: #000;
  }
}

.p-biz-sub__intro {
  margin: 7.5rem 0 0 9.0625rem;
}
@media screen and (max-width: 767px) {
  .p-biz-sub__intro {
    margin: 2rem 2.3333333333rem 0;
  }
}
.p-biz-sub__catch {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-biz-sub__catch {
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
  }
}
.p-biz-sub__lead {
  margin-top: 2.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-biz-sub__lead {
    margin-top: 2rem;
    font-size: 1.0666666667rem;
    line-height: 2.25;
    letter-spacing: 0;
  }
}
.p-biz-sub__services {
  display: flex;
  flex-direction: column;
  gap: 12.5rem;
  width: 68rem;
  margin: 13.25rem 0 0 11rem;
}
@media screen and (max-width: 767px) {
  .p-biz-sub__services {
    gap: 6.6666666667rem;
    width: auto;
    margin: 7.3333333333rem 2.3333333333rem 0;
  }
}
.p-biz-sub__others {
  margin-top: 18.75rem;
  padding: 8.125rem 0 6.8125rem;
  background-color: #afd2e1;
}
@media screen and (max-width: 767px) {
  .p-biz-sub__others {
    margin-top: 6.6666666667rem;
    padding: 5.3333333333rem 0 6.6666666667rem;
  }
}

.p-biz-svc__head {
  display: grid;
  grid-template-columns: 20.9375rem 1fr;
  row-gap: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-biz-svc__head {
    grid-template-columns: 1fr 5.5333333333rem;
    -moz-column-gap: 1.0666666667rem;
         column-gap: 1.0666666667rem;
    row-gap: 1.3333333333rem;
  }
}
.p-biz-svc__name {
  grid-column: 1/-1;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-biz-svc__name {
    grid-row: 1;
    grid-column: 1;
    align-self: start;
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
  }
}
.p-biz-svc__icon {
  width: 12.5rem;
  margin-top: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .p-biz-svc__icon {
    grid-row: 1;
    grid-column: 2;
    width: 5.5333333333rem;
    margin-top: 0;
  }
}
.p-biz-svc__icon img {
  width: 100%;
  height: auto;
}
.p-biz-svc__txt {
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-biz-svc__txt {
    grid-column: 1/-1;
    font-size: 1rem;
    line-height: 1.7333333333;
    letter-spacing: 0;
    text-align: left;
  }
}
.p-biz-svc__detail {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-biz-svc__detail {
    margin-top: 2.6666666667rem;
  }
}
.p-biz-svc__label {
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-biz-svc__label {
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
}
.p-biz-svc__cards {
  display: grid;
  grid-template-columns: repeat(3, 17.8125rem);
  gap: 2.5rem 7.125rem;
  margin-top: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-biz-svc__cards {
    grid-template-columns: 1fr 1fr;
    gap: 1.3333333333rem 2.0666666667rem;
    margin-top: 1.3333333333rem;
  }
}
.p-biz-svc__img {
  aspect-ratio: 285/160;
}
@media screen and (max-width: 767px) {
  .p-biz-svc__img {
    aspect-ratio: 137/83;
  }
}
.p-biz-svc__img {
  overflow: hidden;
  background-color: #eceeee;
}
.p-biz-svc__img picture,
.p-biz-svc__img img {
  width: 100%;
  height: 100%;
}
.p-biz-svc__img img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-biz-svc__card-name {
  margin-top: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-biz-svc__card-name {
    margin-top: 0.3333333333rem;
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
}

.p-ppl {
  padding-top: 11.6875rem;
}
@media screen and (max-width: 767px) {
  .p-ppl {
    padding-top: 10.8rem;
  }
}
.p-ppl__intro {
  width: 51rem;
  margin-left: 9rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-ppl__intro {
    width: auto;
    margin: 0 2.3333333333rem;
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
}
.p-ppl .p-biz-sub__hero {
  margin-top: 5.375rem;
}
@media screen and (max-width: 767px) {
  .p-ppl .p-biz-sub__hero {
    margin-top: 2rem;
    aspect-ratio: 340/226;
  }
}
.p-ppl__head {
  margin: 7.5rem 0 0 9rem;
}
@media screen and (max-width: 767px) {
  .p-ppl__head {
    margin: 2rem 2.3333333333rem 0;
  }
}
.p-ppl__ttl {
  font-size: 2.8125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5555555556;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-ppl__ttl {
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
  }
}
.p-ppl__lead {
  width: 51rem;
  margin-top: 2.5rem;
  font-size: 1.3125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1904761905;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-ppl__lead {
    width: auto;
    margin-top: 2rem;
    font-size: 1.0666666667rem;
    line-height: 2.25;
    letter-spacing: 0;
  }
}
.p-ppl__grid {
  display: grid;
  grid-template-columns: repeat(3, 23rem);
  gap: 5.5rem 4rem;
  margin: 9rem 0 0 6.4375rem;
}
@media screen and (max-width: 767px) {
  .p-ppl__grid {
    grid-template-columns: 1fr;
    gap: 4rem;
    margin: 6.6666666667rem 2.3333333333rem 0;
  }
}

.p-ppl-card {
  display: flex;
  flex-direction: column;
}
.p-ppl-card__name {
  font-size: 1.3125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 2.1904761905;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-ppl-card__name {
    font-size: 1.2rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.5555555556;
  }
}
.p-ppl-card__catch {
  margin-top: 1.5rem;
  font-size: 1.4375rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5217391304;
}
@media screen and (max-width: 767px) {
  .p-ppl-card__catch {
    margin-top: 0.6666666667rem;
    font-size: 1.3333333333rem;
    line-height: 1.45;
  }
}
.p-ppl-card__img {
  margin-top: 1.5rem;
  aspect-ratio: 368/240;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-ppl-card__img {
    margin-top: 1.3333333333rem;
    aspect-ratio: 305/190;
  }
}
.p-ppl-card__img picture,
.p-ppl-card__img img {
  width: 100%;
  height: 100%;
}
.p-ppl-card__img img {
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.2, 0.64, 0.315, 1);
  will-change: transform;
  backface-visibility: hidden;
}
.p-ppl-card:hover .p-ppl-card__img img {
  transform: scale(1.05);
}
.p-ppl-card__cap {
  margin-top: 0.625rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-ppl-card__cap {
    margin-top: 0.6666666667rem;
    font-size: 1rem;
    line-height: 1.5333333333;
    letter-spacing: 0;
  }
}
.p-ppl-card__more {
  display: flex;
  align-items: center;
  align-self: flex-end;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding-top: 0.625rem;
  border-top: 1px solid #000;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-ppl-card__more {
    align-self: stretch;
    justify-content: space-between;
    margin-top: 1.3333333333rem;
    padding: 0 0 0.6666666667rem;
    border-top: 0;
    border-bottom: 1px solid #b8b8b8;
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
  .p-ppl-card__more .c-circle-arrow.--xs {
    --size: 2.6666666667rem;
  }
  .p-ppl-card__more .c-circle-arrow.--xs picture {
    width: 0.9333333333rem;
  }
}

.p-ppl-chair {
  width: 72rem;
  margin: 13.75rem 0 0 6.4375rem;
}
@media screen and (max-width: 767px) {
  .p-ppl-chair {
    width: auto;
    margin: 6.6666666667rem 2.3333333333rem 0;
  }
}
.p-ppl-chair__ttl {
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-ppl-chair__ttl {
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
.p-ppl-chair__photo {
  position: relative;
  margin-top: 7.5rem;
  aspect-ratio: 1152/718;
}
@media screen and (max-width: 767px) {
  .p-ppl-chair__photo {
    width: auto;
    margin-top: 1.3333333333rem;
    aspect-ratio: 305/230;
  }
}
.p-ppl-chair__photo > picture,
.p-ppl-chair__photo > picture img {
  width: 100%;
  height: 100%;
}
.p-ppl-chair__photo > picture img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-ppl-chair__cap {
  position: absolute;
  right: -10.125rem;
  bottom: 3.6875rem;
  width: 30.25rem;
  padding: 0.75rem 2.5rem;
  border-radius: 0.625rem;
  background-color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-ppl-chair__cap {
    right: -2.3333333333rem;
    bottom: -3.4rem;
    width: 14.4rem;
    padding: 0.3333333333rem 2.3333333333rem 0.3333333333rem 0.6666666667rem;
    border-radius: 0.2rem;
    font-size: 0.8rem;
    line-height: 1.6666666667;
    letter-spacing: -0.05em;
  }
}
.p-ppl-chair__body {
  width: 44.0625rem;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-ppl-chair__body {
    width: auto;
    margin-top: 5.3333333333rem;
  }
  .p-ppl-chair__body .p-ppl-sec__ttl {
    max-width: none;
  }
  .p-ppl-chair__body .p-ppl-sec__txt {
    margin-top: 2.1333333333rem;
  }
}

.p-ppl-sec + .p-ppl-sec {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .p-ppl-sec + .p-ppl-sec {
    margin-top: 6.6666666667rem;
  }
}
.p-ppl-sec__ttl {
  font-size: 2.1875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-ppl-sec__ttl {
    max-width: 17.3333333333rem;
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.p-ppl-sec__txt {
  margin-top: 4rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-ppl-sec__txt {
    margin-top: 1.1333333333rem;
    font-size: 1rem;
    line-height: 1.5333333333;
    letter-spacing: 0;
    text-align: left;
  }
}
.p-ppl-sec__txt p + p {
  margin-top: 2em;
}
@media screen and (max-width: 767px) {
  .p-ppl-sec__txt p + p {
    margin-top: 1lh;
  }
}
@media screen and (max-width: 767px) {
  .p-ppl-sec__txt .pc-only + p {
    margin-top: 0;
  }
}

.p-ppl-detail__body {
  position: relative;
  width: 81.0625rem;
  margin: 10rem 0 0 8.9375rem;
}
@media screen and (max-width: 767px) {
  .p-ppl-detail__body {
    width: auto;
    margin: 6rem 2.3333333333rem 0;
  }
}
.p-ppl-detail__body .p-ppl-sec {
  width: 44.0625rem;
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .p-ppl-detail__body .p-ppl-sec {
    width: auto;
    margin-top: 7.2666666667rem;
  }
  .p-ppl-detail__body .p-ppl-sec + .p-ppl-sec {
    margin-top: 5.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-ppl-detail__body .p-ppl-sec .p-ppl-sec__ttl {
    max-width: none;
    font-size: 1.4rem;
    line-height: 1.5238095238;
  }
}
@media screen and (max-width: 767px) {
  .p-ppl-detail__body .p-ppl-sec .p-ppl-sec__txt {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-ppl-detail > .p-biz-sub__hero {
    width: 100%;
    aspect-ratio: 375/320;
  }
}
.p-ppl-detail__side {
  position: absolute;
  top: 49.125rem;
  right: calc(1.5625rem - var(--side, 0px));
  color: #000;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 4rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.25;
  letter-spacing: 0.02em;
  text-transform: capitalize;
  white-space: nowrap;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
  .p-ppl-detail__side {
    display: none;
  }
}

.p-ppl-profile {
  display: grid;
  grid-template-columns: 22.5rem 5rem max-content 2.125rem 1fr;
  grid-template-rows: auto 1fr;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-ppl-profile {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    row-gap: 0.8rem;
  }
}
.p-ppl-profile__main {
  display: contents;
}
.p-ppl-profile__img {
  grid-column: 1;
  grid-row: span 2;
  aspect-ratio: 360/260;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-ppl-profile__img {
    grid-column: auto;
    grid-row: auto;
    width: 13.6rem;
    margin-bottom: 1.0666666667rem;
    aspect-ratio: 204/147;
  }
}
.p-ppl-profile__img picture,
.p-ppl-profile__img img {
  width: 100%;
  height: 100%;
}
.p-ppl-profile__img img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-ppl-profile__label {
  grid-column: 3;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1rem;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-transform: capitalize;
}
@media screen and (max-width: 767px) {
  .p-ppl-profile__label {
    grid-column: auto;
    font-size: 1.0666666667rem;
    line-height: 1.75;
  }
}
.p-ppl-profile__list {
  grid-column: 5;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.625;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-ppl-profile__list {
    grid-column: auto;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.p-ppl-profile__note {
  grid-column: 3/-1;
  margin-top: 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-ppl-profile__note {
    grid-column: auto;
    margin-top: 0;
    font-size: 0.8rem;
    line-height: 1.6666666667;
    letter-spacing: -0.05em;
  }
}

.p-ppl-strip {
  margin-top: 13.75rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-ppl-strip {
    margin-top: 9.0666666667rem;
  }
}
.p-ppl-strip__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: p-ppl-strip 40s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-ppl-strip__track {
    animation: none;
  }
}
.p-ppl-strip__img {
  flex-shrink: 0;
  width: 27.5rem;
  aspect-ratio: 440/260;
}
@media screen and (max-width: 767px) {
  .p-ppl-strip__img {
    width: 16.5333333333rem;
    aspect-ratio: 248/145;
  }
}
.p-ppl-strip__img picture,
.p-ppl-strip__img img {
  width: 100%;
  height: 100%;
}
.p-ppl-strip__img img {
  -o-object-fit: cover;
     object-fit: cover;
}

@keyframes p-ppl-strip {
  to {
    transform: translateX(-50%);
  }
}
.c-outro.--ppl {
  margin-top: 24.125rem;
}
@media screen and (max-width: 767px) {
  .c-outro.--ppl {
    margin-top: 6.6666666667rem;
  }
}
.p-co-back + .c-outro.--ppl {
  margin-top: 0;
}

.p-ppl-detail + .p-co-back {
  margin-top: 22.6875rem;
  margin-bottom: 22.6875rem;
}
@media screen and (max-width: 767px) {
  .p-ppl-detail + .p-co-back {
    margin-top: 7.8666666667rem;
    margin-bottom: 6.6666666667rem;
  }
}

@media screen and (max-width: 767px) {
  .p-eff {
    overflow-x: clip;
  }
}
@media screen and (max-width: 767px) {
  .p-eff .p-biz-sub__hero {
    margin-top: 2rem;
    aspect-ratio: 340/226;
  }
}
.p-eff__summary {
  margin-top: 8.125rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-eff__summary {
    margin: 6.6666666667rem 2.3333333333rem 0;
  }
}
.p-eff__summary-ttl {
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff__summary-ttl {
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
.p-eff__summary-txt {
  margin-top: 2.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-eff__summary-txt {
    margin-top: 1.3333333333rem;
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
}

.p-eff-pos {
  display: grid;
  grid-template-columns: 27.9375rem 47rem;
  justify-content: space-between;
  width: 76.9375rem;
  margin: 13.125rem 0 0 9.0625rem;
}
@media screen and (max-width: 767px) {
  .p-eff-pos {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2.6666666667rem;
    width: auto;
    margin: 6.6666666667rem 2.3333333333rem 0;
  }
}
.p-eff-pos__side {
  padding-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-eff-pos__side {
    padding-top: 0;
  }
}
.p-eff-pos__ttl {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-eff-pos__ttl {
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.p-eff-pos__txt {
  margin-top: 3rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-eff-pos__txt {
    margin-top: 1.3333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
    text-align: left;
  }
}
.p-eff-pos__tabs {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 8.4375rem;
}
@media screen and (max-width: 767px) {
  .p-eff-pos__tabs {
    gap: 1.3333333333rem;
    margin-top: 2rem;
  }
}
.p-eff-pos__tab {
  display: flex;
  align-items: center;
  gap: 1.5625rem;
  width: 22.9375rem;
  padding: 0 0 1rem 0.9375rem;
  border-bottom: 1px solid #000;
  font-size: 1.3125rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  text-align: left;
}
.p-eff-pos__tab.is-active {
  padding-bottom: calc(1rem - 3px);
  border-bottom-width: 4px;
}
@media screen and (max-width: 767px) {
  .p-eff-pos__tab {
    gap: 1.3333333333rem;
    width: 100%;
    padding: 0 0 0.8666666667rem 0.8rem;
    border-bottom: 1px solid #000;
    font-size: 1.2rem;
    line-height: 1.5222222222;
  }
  .p-eff-pos__tab.is-active {
    padding-bottom: calc(0.8666666667rem - 2px);
    border-bottom-width: 3px;
  }
}
.p-eff-pos__tab::before {
  content: "";
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.0625rem;
  background-color: #000;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  opacity: 0.3;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-eff-pos__tab::before {
    width: 1rem;
    height: 0.9333333333rem;
  }
}
.p-eff-pos__tab.is-active {
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
.p-eff-pos__tab.is-active::before {
  opacity: 1;
}
.p-eff-pos__circle {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-eff-pos__circle {
    width: 32.6666666667rem;
    margin-left: -6.2rem;
  }
}
.p-eff-pos__circle {
  aspect-ratio: 1;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #ebf4f5;
}
.p-eff-pos__panel {
  position: absolute;
  inset: 0;
}
.p-eff-pos__panel[hidden] {
  display: none;
}
.p-eff-pos__panel.is-active {
  animation: p-eff-fade 0.6s ease both;
}
.p-eff-pos__panel-ttl {
  position: absolute;
  top: 10%;
  left: 0;
  right: 0;
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-eff-pos__panel-ttl {
    top: 8%;
    font-size: 1.2rem;
    line-height: 1.5555555556;
    letter-spacing: 0.05em;
  }
}
.p-eff-pos__illu {
  position: absolute;
  top: 27.5%;
  left: 30.2%;
  width: 39.4%;
}
.p-eff-pos__illu img {
  width: 100%;
  height: auto;
}
.p-eff-pos__panel-txt {
  position: absolute;
  top: 74.2%;
  left: 27.4%;
  width: 45.1%;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-pos__panel-txt {
    top: 72%;
    left: 26.5%;
    width: 47%;
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: -0.05em;
  }
}
.p-eff-pos__dots {
  position: absolute;
  top: 45.5%;
  left: 4.8%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-eff-pos__dots span {
  width: 0.75rem;
  height: 0.75rem;
  aspect-ratio: 1;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #c9d6d8;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-eff-pos__dots span {
    width: 0.4rem;
    height: 0.4rem;
  }
}
.p-eff-pos__dots span.is-active {
  background-color: #000;
}

@keyframes p-eff-fade {
  from {
    opacity: 0;
  }
}
.p-eff-band {
  margin-top: 10.4375rem;
  padding: 8.125rem 4rem 22.9375rem;
  background-color: #ecf4f5;
}
@media screen and (max-width: 767px) {
  .p-eff-band {
    margin-top: 6.6666666667rem;
    padding: 4rem 0.8rem 6.6666666667rem;
  }
}
.p-eff-band__ttl {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-eff-band__ttl {
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.p-eff-band__cards {
  display: flex;
  flex-direction: column;
  gap: 12.5rem;
  margin-top: 11.5rem;
}
@media screen and (max-width: 767px) {
  .p-eff-band__cards {
    gap: 2.6666666667rem;
    margin-top: 2.6666666667rem;
  }
}
.p-eff-band__end {
  margin-top: 17.3125rem;
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-eff-band__end {
    margin-top: 5.3333333333rem;
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}

.p-eff-toc {
  margin-top: 5.25rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-eff-toc {
    margin-top: 2.6666666667rem;
  }
}
.p-eff-toc__label {
  font-size: 1.625rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  .p-eff-toc__label {
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
    letter-spacing: 0.05em;
  }
}
.p-eff-toc__list {
  display: flex;
  justify-content: center;
  gap: 3.5rem;
  margin-top: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .p-eff-toc__list {
    flex-wrap: wrap;
    gap: 1.3333333333rem;
    margin-top: 1.3333333333rem;
  }
}
.p-eff-toc__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 16.5rem;
  height: 11.625rem;
  padding-top: 1.625rem;
  border-radius: 5.8125rem;
  background-color: #ffffff;
  transition: box-shadow 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-eff-toc__item {
    width: 8.6rem;
    height: 7.2666666667rem;
    padding-top: 0.3333333333rem;
    border-radius: 5.6666666667rem;
  }
}
@media (any-hover: hover) {
  .p-eff-toc__item:hover {
    box-shadow: 0 0.375rem 1.25rem rgba(0, 0, 0, 0.08);
  }
}
.p-eff-toc__no {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 2.25rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.3888888889;
}
@media screen and (max-width: 767px) {
  .p-eff-toc__no {
    font-size: 1.2rem;
    line-height: 1.5555555556;
    letter-spacing: 0.05em;
  }
}
.p-eff-toc__name {
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.8333333333;
}
@media screen and (max-width: 767px) {
  .p-eff-toc__name {
    margin-top: 0.6666666667rem;
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
}
.p-eff-toc__arrow {
  width: 1rem;
  height: 1rem;
  margin-top: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-eff-toc__arrow {
    width: 1rem;
    height: 1rem;
    margin-top: 1rem;
  }
}

.p-eff-card {
  padding: 8.9375rem 5rem 8.75rem;
  border-radius: 7.5rem;
  background-color: #ffffff;
  scroll-margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-eff-card {
    padding: 2.6666666667rem 1.3333333333rem 5.3333333333rem;
    border-radius: 6.6666666667rem;
  }
}
.p-eff-card__head {
  display: grid;
  grid-template-columns: 9.125rem 42rem;
  -moz-column-gap: 4.5rem;
       column-gap: 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-eff-card__head {
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: 2rem;
  }
}
.p-eff-card__no {
  display: grid;
  place-items: center;
  align-self: start;
  width: 9.125rem;
  height: 9.125rem;
  border: 1px solid #000;
  border-radius: 50%;
  flex-shrink: 0;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 3.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-eff-card__no {
    width: 6.4rem;
    height: 6.4rem;
    font-size: 2.2rem;
    line-height: 1;
  }
}
.p-eff-card__ttl {
  font-size: 2.375rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-eff-card__ttl {
    justify-self: stretch;
    font-size: 1.6666666667rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
    line-height: 1.32;
    letter-spacing: 0.08em;
    text-align: center;
  }
}
.p-eff-card__lead {
  margin-top: 1.625rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-card__lead {
    grid-column: 1/-1;
    justify-self: stretch;
    margin-top: 1.7333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.p-eff-card__group {
  margin-top: 6.625rem;
}
@media screen and (max-width: 767px) {
  .p-eff-card__group {
    margin-top: 4.6666666667rem;
  }
}
.p-eff-card__head + .p-eff-card__group {
  margin-top: 9.375rem;
}
@media screen and (max-width: 767px) {
  .p-eff-card__head + .p-eff-card__group {
    margin-top: 2rem;
  }
}
.p-eff-card__label {
  font-size: 1.3125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5714285714;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-eff-card__label {
    font-size: 1.1333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.5294117647;
    letter-spacing: 0.05em;
  }
}
.p-eff-card__label + .p-eff-card__pills,
.p-eff-card__label + .p-eff-rel {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-eff-card__label + .p-eff-card__pills,
  .p-eff-card__label + .p-eff-rel {
    margin-top: 2rem;
  }
}
.p-eff-card__pills {
  display: grid;
  grid-template-columns: repeat(2, 33rem);
  justify-content: center;
  gap: 2.5rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-eff-card__pills {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .p-eff-card__label + .p-eff-card__pills {
    gap: 1.3333333333rem;
  }
}
.p-eff-card__pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  min-height: 13rem;
  padding: 1.875rem 5.875rem;
  border-radius: 12.5rem;
  background-color: #f8f7ed;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-eff-card__pill {
    gap: 0.6666666667rem;
    min-height: 0;
    padding: 2.6666666667rem;
    border-radius: 6rem;
  }
}
.--tall .p-eff-card__pill {
  min-height: 15.875rem;
}
@media screen and (max-width: 767px) {
  .--tall .p-eff-card__pill {
    min-height: 0;
  }
}
.p-eff-card__pill-ttl {
  font-size: 1.375rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-eff-card__pill-ttl {
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
    letter-spacing: 0.05em;
  }
}
.p-eff-card__pill-txt {
  font-size: 0.9375rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-card__pill-txt {
    font-size: 1rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.p-eff-card__btn {
  display: flex;
  justify-content: center;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-eff-card__btn {
    margin-top: 4rem;
  }
}
.p-eff-card__btn .p-co-link-row__btn {
  margin-right: 0;
}
.p-eff-card__foot {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .p-eff-card__foot {
    margin-top: 4rem;
  }
}
.p-eff-card__foot .p-co-link-row {
  width: auto;
}
@media screen and (max-width: 767px) {
  .p-eff-card__foot .p-co-link-row {
    gap: 1.3333333333rem;
    padding-bottom: 2rem;
  }
}
.p-eff-card__foot .p-co-link-row__btn {
  margin-right: 0;
}

.p-eff-rel {
  display: flex;
  flex-direction: column;
  gap: 2.375rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel {
    gap: 2rem;
  }
}
.p-eff-rel__item {
  border-radius: 0.625rem;
  background-color: #f8f7ed;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__item {
    border-radius: 6rem;
  }
}
.p-eff-rel__btn {
  display: grid;
  grid-template-columns: 20.4375rem 42rem 1fr;
  align-items: center;
  width: 100%;
  min-height: 8.5rem;
  padding: 1.25rem 2.125rem 1.25rem 2.5625rem;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__btn {
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: 0.6666666667rem;
    min-height: 0;
    padding: 2.6666666667rem 2.6666666667rem 1.3333333333rem;
    text-align: center;
  }
}
.p-eff-rel__ttl {
  font-size: 1.375rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__ttl {
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
    letter-spacing: 0.05em;
  }
}
.p-eff-rel__txt {
  font-size: 0.9375rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 2.1333333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__txt {
    grid-row: 2;
    grid-column: 1;
    font-size: 1rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.6666666667;
    letter-spacing: 0;
    text-align: left;
  }
}
.p-eff-rel__icon {
  position: relative;
  justify-self: end;
  width: 2.5rem;
  height: 2.5rem;
  aspect-ratio: 1;
  border: 1px solid #000;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__icon {
    grid-row: 3;
    grid-column: 1;
    width: 2.6666666667rem;
    height: 2.6666666667rem;
    margin-top: 0.6666666667rem;
  }
}
.p-eff-rel__icon::before, .p-eff-rel__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40%;
  height: 1.5px;
  background-color: #000;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}
.p-eff-rel__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
[aria-expanded=true] .p-eff-rel__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.p-eff-rel__body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s cubic-bezier(0.2, 0.64, 0.315, 1);
}
.is-open > .p-eff-rel__body {
  grid-template-rows: 1fr;
}
.p-eff-rel__inner {
  min-height: 0;
  overflow: hidden;
}
.p-eff-rel__btn.--clamp[aria-expanded=true] {
  align-items: start;
  padding-top: 2.75rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__btn.--clamp[aria-expanded=true] {
    padding-top: 2.6666666667rem;
  }
}
@media screen and (min-width: 768px) {
  .p-eff-rel__btn.--clamp[aria-expanded=true] .p-eff-rel__ttl {
    line-height: 1.5;
  }
}
.p-eff-rel__txt-ttl {
  display: block;
  margin-bottom: 0.1875rem;
}
[aria-expanded=true] .p-eff-rel__txt-ttl {
  margin-bottom: 0.875rem;
}
.p-eff-rel__txt-ttl {
  font-size: 1.3125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5714285714;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__txt-ttl {
    margin-bottom: 0.5333333333rem;
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
  }
}
.p-eff-rel__txt-body {
  display: block;
}
.--clamp[aria-expanded=false] .p-eff-rel__txt-body {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (min-width: 768px) {
  .--clamp .p-eff-rel__txt-body {
    line-height: 2.1333333333;
  }
}
.p-eff-rel__prep {
  padding: 0 2.5625rem 2rem;
  color: #757575;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__prep {
    padding: 0 2.6666666667rem 2rem;
    font-size: 0.9333333333rem;
    text-align: center;
  }
}

.p-eff-totop span {
  font-size: 0.875rem;
}

.c-outro.--eff {
  margin-top: 8.875rem;
}
@media screen and (max-width: 767px) {
  .c-outro.--eff {
    margin-top: 9.3333333333rem;
  }
}

.p-eff-rel__float {
  position: fixed;
  top: 6.25rem;
  z-index: 510;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #000;
  border-radius: 50%;
  background-color: #ffffff;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__float {
    top: 1.3333333333rem;
    width: 2.6666666667rem;
    height: 2.6666666667rem;
  }
}
.p-eff-rel__float::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40%;
  height: 1.5px;
  background-color: #000;
  transform: translate(-50%, -50%);
}
.p-eff-rel__float.is-show {
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 767px) {
  .p-eff-pos {
    display: flex;
    flex-direction: column;
    row-gap: 0;
  }
  .p-eff-pos__side {
    display: contents;
  }
  .p-eff-pos__circle {
    order: 1;
    margin-top: 2.6666666667rem;
  }
  .p-eff-pos__tabs {
    order: 2;
  }
}
@media screen and (max-width: 767px) {
  .p-eff-rel__item.is-open {
    border-radius: 1.3333333333rem;
  }
}
.p-eff-rel__content {
  padding: 5rem 7.0625rem 6.25rem 7rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__content {
    padding: 1.3333333333rem 1.3333333333rem 3.3333333333rem;
  }
}
.p-eff-rel__content.--health {
  padding-top: 0;
}
.p-eff-rel__sec + .p-eff-rel__sec {
  margin-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__sec + .p-eff-rel__sec {
    margin-top: 4.6666666667rem;
  }
}
.p-eff-rel__h {
  margin-bottom: 4.375rem;
  padding-bottom: 0.6875rem;
  border-bottom: 1px solid #757575;
  font-size: 1.75rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__h {
    margin-bottom: 2rem;
    padding-bottom: 0.5333333333rem;
    font-size: 1.3333333333rem;
    line-height: 1.5;
  }
}
.p-eff-rel__sub {
  font-size: 1.3125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__sub {
    font-size: 1.0666666667rem;
    line-height: 1.625;
  }
}
.p-eff-rel__p {
  margin-top: 1rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__p {
    margin-top: 0.6666666667rem;
    font-size: 0.9333333333rem;
    line-height: 1.7857142857;
  }
}
.p-eff-rel__small {
  margin-top: 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__small {
    margin-top: 0.6666666667rem;
    font-size: 0.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-eff-rel__scroll {
    overflow-x: auto;
    margin-right: -1.3333333333rem;
    padding-right: 1.3333333333rem;
    -webkit-overflow-scrolling: touch;
  }
}
@media screen and (max-width: 767px) {
  .p-eff-rel__life {
    width: 37.3333333333rem;
  }
}
.p-eff-rel__life img {
  width: 100%;
}
.p-eff-rel__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9375rem 1.5rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__pills {
    gap: 0.5333333333rem;
    margin-top: 1.3333333333rem;
  }
}
.p-eff-rel__pills li {
  display: flex;
  align-items: center;
  height: 2.375rem;
  padding: 0 1.875rem 0 0.9375rem;
  border: 1px solid #000;
  border-radius: 100px;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__pills li {
    height: 2rem;
    padding: 0 0.9333333333rem 0 0.6666666667rem;
    font-size: 0.8666666667rem;
  }
}
.p-eff-rel__note {
  margin-top: 1.5625rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__note {
    margin-top: 1rem;
    font-size: 0.8666666667rem;
    line-height: 1.6923076923;
  }
}
.p-eff-rel__grid {
  display: grid;
  grid-template-columns: 26.25rem 26.25rem;
  gap: 4.375rem 5.5rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__grid {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
}
.p-eff-rel__stack {
  display: flex;
  flex-direction: column;
  gap: 4.1875rem;
  margin-bottom: -0.25rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__stack {
    gap: 2.4rem;
  }
}
.p-eff-rel__part {
  margin-top: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__part {
    margin-top: 0.6666666667rem;
  }
}
.p-eff-rel__part img {
  width: 26.25rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__part img {
    width: 100%;
  }
}
.p-eff-rel__part figcaption {
  display: grid;
  grid-template-columns: 13.6875rem 1fr;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__part figcaption {
    white-space: normal;
  }
}
.p-eff-rel__part figcaption {
  margin-top: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__part figcaption {
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 0.6666666667rem;
         column-gap: 0.6666666667rem;
    margin-top: 0.5333333333rem;
    font-size: 0.8rem;
  }
}
@media screen and (min-width: 768px) {
  .p-eff-rel__grid .p-eff-rel__p, .p-eff-rel__stack .p-eff-rel__p {
    margin-top: 1rem;
  }
}
.p-eff-rel__hires {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__hires {
    flex-direction: column;
    gap: 1.3333333333rem;
    margin-top: 1.3333333333rem;
  }
}
.p-eff-rel__jobs {
  flex-shrink: 0;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__jobs {
    white-space: normal;
  }
}
.p-eff-rel__jobs {
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__jobs {
    font-size: 0.8rem;
  }
}
.p-eff-rel__jobs div {
  display: flex;
}
.p-eff-rel__jobs div + div {
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__jobs div + div {
    margin-top: 0.4rem;
  }
}
.p-eff-rel__jobs dt {
  flex-shrink: 0;
  width: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__jobs dt {
    width: 3.4666666667rem;
  }
}
.p-eff-rel__sec > .p-eff-rel__block + .p-eff-rel__block {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__sec > .p-eff-rel__block + .p-eff-rel__block {
    margin-top: 2.6666666667rem;
  }
}
.p-eff-rel__hires + .p-eff-rel__block {
  margin-top: 3.5625rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__hires + .p-eff-rel__block {
    margin-top: 2.6666666667rem;
  }
}
.p-eff-rel__block + .p-eff-rel__scroll {
  margin-top: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__block + .p-eff-rel__scroll {
    margin-top: 1.0666666667rem;
  }
}
.p-eff-rel__pair {
  display: grid;
  grid-template-columns: 26.25rem 26.25rem;
  -moz-column-gap: 5.5rem;
       column-gap: 5.5rem;
  margin-top: 3.5625rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__pair {
    grid-template-columns: 1fr;
    gap: 2.6666666667rem;
    margin-top: 2.6666666667rem;
  }
}
.p-eff-rel__pair .p-eff-rel__scroll {
  margin-top: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .p-eff-rel__pair .p-eff-rel__scroll {
    margin-top: 1.0666666667rem;
  }
}

.p-eff-tbl {
  border-collapse: collapse;
  font-size: 0.9375rem;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl {
    font-size: 0.8rem;
  }
}
.p-eff-tbl th,
.p-eff-tbl td {
  height: 1.5625rem;
  padding: 0 0.3125rem;
  border: 1px solid #757575;
  background-color: #ffffff;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl th,
  .p-eff-tbl td {
    height: 1.6rem;
    padding: 0 0.2666666667rem;
  }
}
.p-eff-tbl td {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
}
.p-eff-tbl thead td, .p-eff-tbl > tbody > tr > td:empty {
  border-width: 0 1px 1px 0;
  background-color: transparent;
}
.p-eff-tbl tbody th {
  padding: 0 0.75rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl tbody th {
    padding: 0 0.5333333333rem;
  }
}
.p-eff-tbl .--head {
  background-color: #ecf4f5;
}
.p-eff-tbl .--f {
  background-color: #f8e6e6;
}
.p-eff-tbl .--m {
  background-color: #a0d8d1;
}
.p-eff-tbl .--hl {
  background-color: #f0ff30;
}
.p-eff-tbl .--bold {
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
}
.p-eff-tbl .--red {
  color: #ed3737;
}
.p-eff-tbl.--hires th:first-child,
.p-eff-tbl.--hires tbody th {
  width: 6.8125rem;
}
.p-eff-tbl.--hires td {
  width: 3.75rem;
}
.p-eff-tbl.--hires thead tr:not(.--small) th {
  height: 1.9375rem;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--hires thead tr:not(.--small) th {
    height: 1.8666666667rem;
    font-size: 0.8666666667rem;
  }
}
.p-eff-tbl.--ratio tbody th {
  width: 6.8125rem;
}
.p-eff-tbl.--ratio td,
.p-eff-tbl.--ratio .--small th {
  width: 3.75rem;
}
.p-eff-tbl.--ratio thead tr:first-child th {
  height: 2rem;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--ratio thead tr:first-child th {
    height: 1.8666666667rem;
    font-size: 0.8666666667rem;
  }
}
.p-eff-tbl.--leave th,
.p-eff-tbl.--leave td {
  height: 2.375rem;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--leave th,
  .p-eff-tbl.--leave td {
    height: 2.1333333333rem;
  }
}
.p-eff-tbl.--leave tbody th {
  width: 7.5625rem;
  padding: 0 0.3125rem;
}
.p-eff-tbl.--leave td,
.p-eff-tbl.--leave thead th {
  width: 5.625rem;
}
.p-eff-tbl.--leave thead th {
  font-size: 0.9375rem;
}
.p-eff-tbl.--childcare tbody th,
.p-eff-tbl.--childcare td,
.p-eff-tbl.--childcare thead th {
  width: 3.75rem;
}
.p-eff-tbl.--childcare tbody th {
  padding: 0 0.3125rem;
  text-align: center;
}
.p-eff-tbl.--childcare thead th {
  height: 1.4375rem;
}

.p-eff-plan__intro {
  font-size: 1.25rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.65;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-plan__intro {
    font-size: 1rem;
    line-height: 1.7333333333;
  }
}
.p-eff-plan__h, .p-eff-plan__period {
  font-size: 1.3125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-plan__h, .p-eff-plan__period {
    font-size: 1.0666666667rem;
    line-height: 1.625;
  }
}
.p-eff-plan__h {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-eff-plan__h {
    margin-top: 1.0666666667rem;
  }
}
.p-eff-plan__h.--goals {
  margin-top: 4.375rem;
}
@media screen and (max-width: 767px) {
  .p-eff-plan__h.--goals {
    margin-top: 2.4rem;
  }
}
.p-eff-plan__period {
  margin-top: 0.625rem;
  padding-left: 7rem;
}
@media screen and (max-width: 767px) {
  .p-eff-plan__period {
    padding-left: 1.0666666667rem;
  }
}
.p-eff-plan__goal {
  max-width: 51rem;
  margin-top: 1.875rem;
  padding-left: 7rem;
}
@media screen and (max-width: 767px) {
  .p-eff-plan__goal {
    max-width: none;
    margin-top: 1.6rem;
    padding-left: 0;
  }
}
.p-eff-plan__h + .p-eff-plan__goal {
  margin-top: 1.25rem;
}
.p-eff-plan__law {
  padding: 0 1.25rem;
  background-color: #b99c56;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-plan__law {
    padding: 0 0.8rem;
    font-size: 0.9333333333rem;
    line-height: 1.8571428571;
  }
}
.p-eff-plan__goal-head {
  display: flex;
  margin-top: 0.75rem;
  font-size: 1.3125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-plan__goal-head {
    flex-direction: column;
    margin-top: 0.6666666667rem;
    font-size: 1.0666666667rem;
  }
}
.p-eff-plan__no {
  flex-shrink: 0;
  width: 7rem;
  line-height: 1.5714285714;
}
.p-eff-plan__ttl {
  line-height: 1.2380952381;
}
@media screen and (max-width: 767px) {
  .p-eff-plan__ttl {
    line-height: 1.5625;
  }
}
.p-eff-plan__ttl small {
  margin-left: 0.4em;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
@media screen and (max-width: 767px) {
  .p-eff-plan__ttl small {
    font-size: 0.8rem;
  }
}
.p-eff-plan__label, .p-eff-plan__lead, .p-eff-plan__rows {
  font-size: 1.125rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-plan__label, .p-eff-plan__lead, .p-eff-plan__rows {
    font-size: 0.9333333333rem;
    line-height: 1.7142857143;
  }
}
.p-eff-plan__label {
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-eff-plan__label {
    margin-top: 0.5333333333rem;
  }
}
.p-eff-plan__lead {
  margin-top: 0.1875rem;
}
.p-eff-plan__rows {
  margin-top: 0.1875rem;
}
.p-eff-plan__rows div {
  display: flex;
}
.p-eff-plan__rows div + div {
  margin-top: 0.1875rem;
}
.p-eff-plan__rows dt {
  flex-shrink: 0;
  width: calc(var(--lw) * 1rem / 16);
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
}
@media screen and (max-width: 767px) {
  .p-eff-plan__rows dt {
    width: 6.6666666667rem;
  }
}
.p-eff-plan__lead + .p-eff-plan__rows {
  margin-top: 1rem;
}
.p-eff-plan__sign {
  max-width: 51rem;
  margin-top: 3.125rem;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-eff-plan__sign {
    max-width: none;
    margin-top: 2rem;
    font-size: 0.8rem;
  }
}

.p-eff-wage__pre {
  font-size: 1.25rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.65;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-wage__pre {
    font-size: 1rem;
    line-height: 1.7333333333;
  }
}
.p-eff-wage__pre + .p-eff-rel__h {
  margin-top: 0.3125rem;
}
.p-eff-wage__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-eff-wage__row {
    flex-direction: column;
    align-items: stretch;
    gap: 1.3333333333rem;
  }
}
.p-eff-wage__meta {
  width: 24.25rem;
  margin-top: 3.25rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-wage__meta {
    width: auto;
    margin-top: 0;
    font-size: 0.9333333333rem;
    line-height: 1.7142857143;
  }
}
.p-eff-wage__tbl {
  width: 29.375rem;
}
@media screen and (max-width: 767px) {
  .p-eff-wage__tbl {
    width: auto;
  }
}
.p-eff-wage__round {
  margin-top: 0.6875rem;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-eff-wage__round {
    margin-top: 0.4rem;
    font-size: 0.8rem;
  }
}
.p-eff-wage__note {
  display: flex;
  gap: 1.375rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-eff-wage__note {
    flex-direction: column;
    gap: 0.5333333333rem;
    margin-top: 1.6rem;
  }
}
.p-eff-wage__note-ttl {
  flex-shrink: 0;
  width: 10.625rem;
  font-size: 1.3125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5714285714;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-eff-wage__note-ttl {
    width: auto;
    font-size: 1.0666666667rem;
    line-height: 1.625;
    letter-spacing: 0.05em;
  }
}
.p-eff-wage__note-txt {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-wage__note-txt {
    font-size: 0.9333333333rem;
    line-height: 1.7857142857;
  }
}

.p-eff-tbl.--wage {
  width: 100%;
  white-space: normal;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--wage {
    table-layout: fixed;
  }
  .p-eff-tbl.--wage thead td:first-child {
    width: 6.6666666667rem;
  }
}
.p-eff-tbl.--wage th,
.p-eff-tbl.--wage td {
  height: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--wage th,
  .p-eff-tbl.--wage td {
    height: 2.6666666667rem;
  }
}
.p-eff-tbl.--wage tbody th {
  width: 7.5rem;
  padding: 0;
  background-color: #ecf4f5;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  font-size: 1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--wage tbody th {
    width: 6.6666666667rem;
    font-size: 0.8666666667rem;
  }
}
.p-eff-tbl.--wage td {
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: 1.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--wage td {
    font-size: 1.0666666667rem;
  }
}
.p-eff-tbl.--wage thead th {
  height: 4.4375rem;
  background-color: #ff7e4e;
  color: #ffffff;
  font-size: 1.0625rem;
  line-height: 1.1764705882;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--wage thead th {
    height: 4rem;
    font-size: 0.9333333333rem;
  }
}
.p-eff-tbl.--wage thead th small {
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--wage thead th small {
    font-size: 0.7333333333rem;
    letter-spacing: 0;
    white-space: normal;
  }
}
.p-eff-tbl.--wage .--total th,
.p-eff-tbl.--wage .--total td {
  border-top: 2px solid #000;
}

.p-eff-health {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .p-eff-health {
    margin-top: 3.3333333333rem;
  }
}
.p-eff-health > .p-eff-rel__block + .p-eff-rel__block, .p-eff-health__cert + .p-eff-rel__block {
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-eff-health > .p-eff-rel__block + .p-eff-rel__block, .p-eff-health__cert + .p-eff-rel__block {
    margin-top: 3.3333333333rem;
  }
}
.p-eff-health__sign {
  margin-left: 16rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-health__sign {
    margin-left: 0;
    font-size: 0.8666666667rem;
    line-height: 1.6923076923;
  }
}
.p-eff-health__cert {
  display: flex;
  align-items: flex-start;
  gap: 3.375rem;
}
@media screen and (max-width: 767px) {
  .p-eff-health__cert {
    flex-direction: column;
    gap: 1.3333333333rem;
  }
}
.p-eff-health__cert .p-eff-rel__block {
  width: 26.25rem;
}
@media screen and (max-width: 767px) {
  .p-eff-health__cert .p-eff-rel__block {
    width: auto;
  }
}
.p-eff-health__cert .p-eff-rel__sub {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-eff-health__cert .p-eff-rel__sub {
    white-space: normal;
  }
}
.p-eff-health__cert-img {
  display: flex;
  align-items: center;
  gap: 3.0625rem;
}
@media screen and (max-width: 767px) {
  .p-eff-health__cert-img {
    gap: 1.3333333333rem;
  }
}
.p-eff-health__cert-img picture:first-child {
  width: 11.875rem;
}
@media screen and (max-width: 767px) {
  .p-eff-health__cert-img picture:first-child {
    width: 48%;
  }
}
.p-eff-health__cert-img picture:last-child {
  width: 11.5rem;
}
@media screen and (max-width: 767px) {
  .p-eff-health__cert-img picture:last-child {
    width: 46%;
  }
}
.p-eff-health__cert-img img {
  width: 100%;
}
.p-eff-health__system {
  display: block;
  width: 44rem;
  margin-top: -0.6875rem;
}
@media screen and (max-width: 767px) {
  .p-eff-health__system {
    width: 34.6666666667rem;
    margin-top: 1.3333333333rem;
  }
}
.p-eff-health__system img {
  display: block;
  width: 100%;
}
.p-eff-health__label {
  margin-top: 1.875rem;
  font-size: 0.9375rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-eff-health__label {
    margin-top: 1.3333333333rem;
    font-size: 0.8666666667rem;
  }
}
.p-eff-health__index {
  display: grid;
  grid-template-columns: 15rem 10.875rem 10.875rem auto;
  margin-top: 0.625rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.875;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-health__index {
    grid-template-columns: 1fr;
    margin-top: 0.4rem;
    font-size: 0.8666666667rem;
    line-height: 1.8461538462;
  }
}
.p-eff-health__data {
  display: grid;
  grid-template-columns: 26.125rem 26.125rem;
  gap: 3.6875rem 3rem;
  align-items: start;
  margin-top: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .p-eff-health__data {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    margin-top: 1.6rem;
  }
}
.p-eff-health .p-eff-rel__block > .p-eff-rel__scroll {
  margin-top: 2.5625rem;
}
@media screen and (max-width: 767px) {
  .p-eff-health .p-eff-rel__block > .p-eff-rel__scroll {
    margin-top: 1.3333333333rem;
  }
}

.p-eff-tbl.--strategy,
.p-eff-tbl.--gantt {
  width: 58rem;
  table-layout: fixed;
  white-space: normal;
  line-height: 1.1333333333;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--strategy,
  .p-eff-tbl.--gantt {
    width: 50.6666666667rem;
  }
}
.p-eff-tbl.--strategy th,
.p-eff-tbl.--strategy td,
.p-eff-tbl.--gantt th,
.p-eff-tbl.--gantt td {
  height: auto;
  background-color: #ecf4f5;
}
.p-eff-tbl.--strategy thead th,
.p-eff-tbl.--gantt thead th {
  background-color: #a0d8d1;
  font-size: 0.9375rem;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--strategy thead th,
  .p-eff-tbl.--gantt thead th {
    font-size: 0.8rem;
  }
}

.p-eff-tbl.--strategy th:nth-child(1) {
  width: 14.5rem;
}
.p-eff-tbl.--strategy th:nth-child(2),
.p-eff-tbl.--strategy th:nth-child(3) {
  width: 15.375rem;
}
.p-eff-tbl.--strategy td {
  padding: 0.5rem 0.75rem;
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  text-align: left;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--strategy td {
    padding: 0.4rem 0.6666666667rem;
  }
}
.p-eff-tbl.--strategy td.--issue {
  padding: 0.625rem 0.75rem;
  text-align: justify;
  vertical-align: top;
}
.p-eff-tbl.--strategy td.--effect {
  vertical-align: top;
  padding-top: 0.875rem;
}

.p-eff-tbl.--strategy th,
.p-eff-tbl.--strategy td,
.p-eff-tbl.--gantt th,
.p-eff-tbl.--gantt td {
  border-color: #000;
}

.p-eff-tbl.--gantt {
  border-top: 0;
}
.p-eff-tbl.--gantt col.--cat {
  width: 3.375rem;
}
.p-eff-tbl.--gantt col.--item {
  width: 11.125rem;
}
.p-eff-tbl.--gantt col.--month {
  width: 2.5625rem;
}
.p-eff-tbl.--gantt col.--note {
  width: 12.75rem;
}
.p-eff-tbl.--gantt thead tr:first-child th {
  border-top: 0;
}
.p-eff-tbl.--gantt .--year {
  height: 1.1875rem;
  background-color: #d5d0ad;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
.p-eff-tbl.--gantt .--months th {
  height: 1.25rem;
  padding: 0;
  border-bottom: 0;
  background-color: #ecf4f5;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--gantt .--months th {
    font-size: 0.7333333333rem;
  }
}
.p-eff-tbl.--gantt tbody th,
.p-eff-tbl.--gantt tbody td {
  height: calc(1.5625rem - 1px);
  padding: 0.21875rem 0.75rem 0.21875rem 0.875rem;
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--gantt tbody th,
  .p-eff-tbl.--gantt tbody td {
    height: 1.6rem;
    padding: 0.2rem 0.5333333333rem;
  }
}
.p-eff-tbl.--gantt .--cat {
  width: 3.375rem;
  padding: 0 0.625rem;
  text-align: center;
}
.p-eff-tbl.--gantt .--cat.--meeting {
  background-color: #d5d0ad;
}
.p-eff-tbl.--gantt .--cat.--check {
  background-color: #c5e9f1;
}
.p-eff-tbl.--gantt .--cat.--health {
  background-color: #febfa8;
}
.p-eff-tbl.--gantt > tbody > tr > td.--note:empty {
  border-width: 1px;
  background-color: #ecf4f5;
}
.p-eff-tbl.--gantt > tbody > tr > td.--m {
  position: relative;
  padding: 0;
  border-width: 1px;
  background-color: #ecf4f5;
}

.p-eff-tbl__dot {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.6875rem;
  height: 0.6875rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #000;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-eff-tbl__dot {
    width: 0.5333333333rem;
    height: 0.5333333333rem;
  }
}

.p-eff-tbl__bar {
  position: absolute;
  top: 50%;
  z-index: 1;
  left: calc(var(--f) * (100% + 1px));
  width: calc(var(--len) * (100% + 1px));
  height: 0.625rem;
  background-color: #00a5ff;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-eff-tbl__bar {
    height: 0.5333333333rem;
  }
}
.p-eff-tbl__bar.--health {
  background-color: #ff7e4e;
}

.p-eff-tbl.--data {
  width: 26.125rem;
  table-layout: fixed;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--data {
    width: 22.3333333333rem;
  }
}
.p-eff-tbl.--data col {
  width: 5.125rem;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--data col {
    width: 4.5333333333rem;
  }
}
.p-eff-tbl.--data col.--label {
  width: 10.75rem;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--data col.--label {
    width: 8.7333333333rem;
  }
}
.p-eff-tbl.--data thead th,
.p-eff-tbl.--data thead td {
  height: calc(1.875rem - 1px);
}
.p-eff-tbl.--data tbody th,
.p-eff-tbl.--data tbody td {
  height: calc(1.5625rem - 1px);
}
.p-eff-tbl.--data .--ttl {
  background-color: #a0d8d1;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--data .--ttl {
    font-size: 0.8666666667rem;
  }
}
.p-eff-tbl.--data thead tr:nth-child(2) > * {
  background-color: #f8e6e6;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  letter-spacing: 0;
}
.p-eff-tbl.--data thead tr:nth-child(2) td {
  border-width: 1px;
}
.p-eff-tbl.--data tbody th {
  padding: 0.21875rem 0.625rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.0666666667;
  white-space: normal;
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--data tbody th {
    padding: 0.2666666667rem 0.5333333333rem;
    font-size: 0.8rem;
  }
}
.p-eff-tbl.--data td {
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
@media screen and (max-width: 767px) {
  .p-eff-tbl.--data td {
    font-size: 0.8666666667rem;
  }
}

@media screen and (max-width: 767px) {
  .p-eff-rel__scroll:has(> .p-eff-tbl) {
    align-self: stretch;
    min-width: 0;
    margin-right: -1.3333333333rem;
    margin-left: -1.3333333333rem;
    padding-right: 0;
  }
  .p-eff-rel__scroll > .p-eff-tbl {
    zoom: 0.8;
    min-width: 100%;
  }
}
.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.p-co-head__lead.--wide {
  width: 51rem;
}
@media screen and (max-width: 767px) {
  .p-co-head__lead.--wide {
    width: auto;
  }
}

.p-res-nav {
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.p-res-nav.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.p-res-nav {
  position: fixed;
  top: 38vh;
  right: 0;
  z-index: 50;
  pointer-events: none;
  width: 12.3125rem;
  padding: 1.9375rem 1.25rem 1.9375rem 0.6875rem;
  border-radius: 1rem 0 0 1rem;
  background-color: #a0d8d1;
}
@media screen and (max-width: 767px) {
  .p-res-nav.--pc-only {
    display: none;
  }
  .p-res-nav {
    top: 50%;
    right: 0.6666666667rem;
    width: 1.7333333333rem;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
    transform: translateY(-50%);
  }
}
.p-res-nav ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-res-nav ul {
    align-items: center;
    gap: 1.0666666667rem;
  }
}
.p-res-nav__link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  pointer-events: auto;
  font-size: 1rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.4375;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.p-res-nav__link::before {
  content: "";
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  aspect-ratio: 1;
  border: 1px solid #000;
  border-radius: 50%;
  background: #ffffff url(../img/common/arrow-circle.svg) no-repeat 55% 50%/0.5rem auto;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-res-nav__link {
    gap: 0.5333333333rem;
    font-size: 0.8666666667rem;
    font-weight: 400;
    --aoto: "MFW-PAotoGothicStdN-Regular";
    line-height: 1.7692307692;
    letter-spacing: 0;
    writing-mode: vertical-rl;
  }
  .p-res-nav__link::before {
    order: 1;
    width: 1.3333333333rem;
    background-color: #ffffff;
    background-size: 0.4666666667rem auto;
  }
}
@media screen and (min-width: 768px) {
  .p-res-nav__link {
    position: relative;
    padding-bottom: 0.375rem;
  }
  .p-res-nav__link::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background-color: #ffffff;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.3s ease;
  }
  .p-res-nav__link:not(.is-active)::before {
    background-color: transparent;
  }
}
.p-res-nav__link.is-active {
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
}
.p-res-nav__link.is-active::before {
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .p-res-nav__link.is-active {
    color: #ffffff;
  }
  .p-res-nav__link.is-active::before {
    border-color: #ffffff;
  }
  .p-res-nav__link.is-active::after {
    transform: scaleX(1);
  }
}
@media screen and (max-width: 767px) {
  .p-res-nav__link.is-active {
    color: #00a5ff;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
  }
  .p-res-nav__link.is-active::before {
    border-color: #00a5ff;
  }
}
@media (any-hover: hover) {
  .p-res-nav__link:hover {
    opacity: 0.7;
  }
}

.p-res {
  gap: 11.875rem;
}
@media screen and (max-width: 767px) {
  .p-res {
    gap: 6.6666666667rem;
    margin-right: 2.2666666667rem;
    margin-left: 2.2666666667rem;
  }
}
.p-res__sec {
  scroll-margin-top: 6.25rem;
}
.p-res__ttl {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-res__ttl {
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.p-res__sub {
  margin-top: 3rem;
  font-size: 1.5rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.9166666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-res__sub {
    margin-top: 1.3333333333rem;
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
@media screen and (max-width: 767px) {
  .p-res__sub + .p-res__txt {
    margin-top: 1.3333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.p-res__lead {
  margin-top: 1.25rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-res__lead {
    margin-top: 1.3333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.p-res__lead p + p {
  margin-top: 1lh;
}
.p-res__txt {
  margin-top: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-res__txt {
    font-size: 0.9333333333rem;
    line-height: 1.8571428571;
  }
}
.p-res__h3 {
  margin: 4.6875rem 0 2rem;
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-res__h3 {
    margin: 6.6666666667rem 0 1.3333333333rem;
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
  }
}

.p-res-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5714285714;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-res-table {
    display: block;
    font-size: 1rem;
    font-weight: 400;
    --aoto: "MFW-PAotoGothicStdN-Regular";
    line-height: 1.2666666667;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-res-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .p-res-table tbody {
    display: flex;
    flex-direction: column;
    gap: 1.3333333333rem;
  }
}
@media screen and (max-width: 767px) {
  .p-res-table tr {
    display: flex;
    flex-direction: column;
    gap: 0.4666666667rem;
  }
}
@media screen and (max-width: 767px) {
  .p-res-table tr:not(:last-child) {
    padding-bottom: 1.3333333333rem;
    border-bottom: 1px dashed #757575;
  }
}
.p-res-table th,
.p-res-table td {
  padding: 0.625rem 0.75rem;
  border: 1px solid #757575;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-res-table td {
    display: grid;
    grid-template-columns: 3.4666666667rem 1fr;
    -moz-column-gap: 0.4666666667rem;
         column-gap: 0.4666666667rem;
    align-items: start;
    padding: 0;
    border: 0;
    overflow-wrap: anywhere;
  }
  .p-res-table td::before {
    content: attr(data-label);
    margin-top: 0.1rem;
    padding: 0.0666666667rem 0.1333333333rem;
    border-radius: 0.2rem;
    background-color: #dbeaec;
    font-size: 0.8rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.1666666667;
    text-align: center;
  }
}
.p-res-table tr > :first-child {
  border-left: 0;
}
.p-res-table tr > :last-child {
  border-right: 0;
}
.p-res-table th {
  background-color: #dbeaec;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  text-align: center;
}
.p-res-table.--research th:nth-child(1) {
  width: 30.3125rem;
}
.p-res-table.--research th:nth-child(2) {
  width: 12.8125rem;
}
.p-res-table.--research th:nth-child(3) {
  width: 9.5625rem;
}
.p-res-table.--research td:not(:first-child) {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-res-table.--research td:not(:first-child) {
    text-align: left;
  }
}
.p-res-table.--papers {
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-res-table.--papers {
    background-color: transparent;
  }
}
.p-res-table.--papers th:nth-child(1) {
  width: 18.75rem;
}
.p-res-table.--papers th:nth-child(2) {
  width: 6.875rem;
}
.p-res-table.--papers th:nth-child(3) {
  width: 10.625rem;
}
.p-res-table.--papers th:nth-child(5) {
  width: 6.25rem;
}
.p-res-table.--papers td:nth-child(2),
.p-res-table.--papers td:nth-child(5) {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-res-table.--papers td:nth-child(2),
  .p-res-table.--papers td:nth-child(5) {
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .p-res-table.--papers td::before {
    background-color: #ffffff;
  }
}

.p-res-years {
  margin-top: 6rem;
  border-top: 1px solid #bbb;
}
@media screen and (max-width: 767px) {
  .p-res-years {
    margin-top: 1.3333333333rem;
    border-top: 0;
  }
}
.p-res-years:has(> .p-res-years__item:first-child.is-open) {
  border-top-color: transparent;
}
.p-res-years__item {
  border-bottom: 1px solid #bbb;
}
@media screen and (max-width: 767px) {
  .p-res-years__item {
    border-bottom-color: #757575;
  }
  .p-res-years__item + .p-res-years__item {
    margin-top: 2rem;
  }
}
.p-res-years__item.is-open, .p-res-years__item:has(+ .is-open) {
  border-bottom-color: transparent;
}
.p-res-years__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 5.25rem;
  padding: 0 1.25rem 0 0.5rem;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.3125rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-res-years__btn {
    height: auto;
    padding: 0 0 0.6666666667rem;
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
.is-open .p-res-years__btn {
  padding-left: 1.25rem;
  border-radius: 1rem 1rem 0 0;
  background-color: #ecf4f5;
}
@media screen and (max-width: 767px) {
  .is-open .p-res-years__btn {
    padding: 1rem 1.3333333333rem 0;
    border-radius: 0.6666666667rem 0.6666666667rem 0 0;
  }
}
@media screen and (max-width: 767px) {
  .is-open .p-res-years__btn .p-co-awards__icon {
    border-color: transparent;
  }
}
.p-res-years__content {
  padding: 0.5rem 1.25rem 1.25rem;
  border-radius: 0 0 1rem 1rem;
  background-color: #ecf4f5;
}
@media screen and (max-width: 767px) {
  .p-res-years__content {
    padding: 1.3333333333rem;
    border-radius: 0 0 0.6666666667rem 0.6666666667rem;
  }
}
.p-res-years__prep {
  padding: 0.5rem 0;
  color: #757575;
  font-size: 0.875rem;
}

.p-res-pat {
  margin: 3rem 0 0.625rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-res-pat {
    margin: 1.3333333333rem 0 0;
  }
}
.p-res-pat__h {
  font-size: 1.5rem;
  line-height: 1.9166666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-res-pat__h {
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
.p-res-pat__h:not(:first-child) {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-res-pat__h:not(:first-child) {
    margin-top: 2.6666666667rem;
  }
}
.p-res-pat__txt, .p-res-pat__lead, .p-res-pat__list, .p-res-pat__feats, .p-res-pat__note {
  margin-left: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-res-pat__txt, .p-res-pat__lead, .p-res-pat__list, .p-res-pat__feats, .p-res-pat__note {
    margin-left: 0;
  }
}
.p-res-pat__txt, .p-res-pat__lead {
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-res-pat__txt, .p-res-pat__lead {
    margin-top: 0.6666666667rem;
  }
}
.p-res-pat__txt {
  font-size: 1rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-res-pat__txt {
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.p-res-pat__lead {
  font-size: 1.125rem;
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .p-res-pat__lead {
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
  }
}
.p-res-pat__num {
  flex-shrink: 0;
  width: 1.3125rem;
}
@media screen and (max-width: 767px) {
  .p-res-pat__num {
    width: 1.2rem;
  }
}
.p-res-pat__list {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  margin-top: 0.625rem;
  font-size: 1rem;
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  .p-res-pat__list {
    gap: 0.9333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.p-res-pat__list li {
  display: flex;
}
.p-res-pat__list dl {
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .p-res-pat__list dl {
    gap: 0;
  }
}
.p-res-pat__list dl div {
  display: flex;
}
.p-res-pat__list dt {
  flex-shrink: 0;
  width: 7.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
}
@media screen and (max-width: 767px) {
  .p-res-pat__list dt {
    width: 6.3333333333rem;
  }
}
.p-res-pat__feats {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 0.625rem;
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-res-pat__feats {
    gap: 1.3333333333rem;
    margin-top: 1.3333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.p-res-pat__feats li {
  display: flex;
}
.p-res-pat__note {
  margin-top: 1.875rem;
  font-size: 1rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-res-pat__note {
    margin-top: 2rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}

.p-res-x {
  margin-top: 6.25rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-res-x {
    margin-top: 4rem;
  }
}
.p-res-x + .p-res-x {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .p-res-x + .p-res-x {
    margin-top: 2.6666666667rem;
  }
}
.p-res-x__ttl {
  padding-bottom: 1rem;
  border-bottom: 1px solid #000;
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-res-x__ttl {
    padding-bottom: 1.3333333333rem;
    font-size: 1.2rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.5555555556;
  }
}
.p-res-x__sub, .p-res-x__step-ttl {
  font-size: 1.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.3888888889;
}
@media screen and (max-width: 767px) {
  .p-res-x__sub, .p-res-x__step-ttl {
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
  }
}
.p-res-x__sub {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-res-x__sub {
    margin-top: 1.3333333333rem;
  }
}
.p-res-x__txt {
  margin-top: 0.875rem;
  font-size: 1rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-res-x__txt {
    margin-top: 1.3333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.p-res-x__txt.--gap p + p {
  margin-top: 1lh;
}
.p-res-x__step {
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-res-x__step {
    margin-top: 2.6666666667rem;
  }
}
.p-res-x__step + .p-res-x__step {
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-res-x__step + .p-res-x__step {
    margin-top: 2.6666666667rem;
  }
}
.p-res-x__step .p-res-x__txt {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-res-x__step .p-res-x__txt {
    margin-top: 0.9333333333rem;
  }
}
.p-res-x__label {
  font-size: 1rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-res-x__label {
    font-size: 1rem;
    line-height: 1.5333333333;
    letter-spacing: 0;
  }
}
.p-res-x__step-ttl {
  margin-top: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .p-res-x__step-ttl {
    margin-top: 0.3333333333rem;
  }
}
.p-res-x__fig {
  margin-top: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .p-res-x__fig {
    margin-top: 1.3333333333rem;
  }
}
.p-res-x__fig img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-res-x__fig.--scan {
  width: 30.25rem;
  aspect-ratio: 484/295;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-res-x__fig.--scan {
    width: auto;
    aspect-ratio: 664/498;
  }
}
.p-res-x__fig.--scan img {
  -o-object-position: 50% 65%;
     object-position: 50% 65%;
}
.p-res-x__fig figcaption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-res-x__fig figcaption {
    margin-top: 0.6666666667rem;
    font-size: 0.8rem;
    line-height: 1.6666666667;
    letter-spacing: -0.05em;
    text-align: left;
  }
}
.p-res-x__imgs {
  display: grid;
  grid-template-columns: repeat(2, 30.375rem);
  justify-content: space-between;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-res-x__imgs {
    grid-template-columns: 1fr;
    row-gap: 1.3333333333rem;
  }
}
.p-res-x__imgs picture {
  aspect-ratio: 486/247;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-co-head.--sus {
    padding-top: 14.0625rem;
  }
  .p-co-head.--sus .p-co-head__lead {
    margin-top: 2.8125rem;
  }
}

.p-sus {
  gap: 10rem;
  margin-top: 9.125rem;
}
@media screen and (max-width: 767px) {
  .p-sus {
    gap: 6.6666666667rem;
    margin-top: 6.6666666667rem;
  }
}
.p-sus__acc {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .p-sus__acc {
    gap: 2rem;
  }
}
.p-sus__acc .p-co-awards__year {
  scroll-margin-top: 6.25rem;
}
.p-sus__acc .p-sus__btn {
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  --ff: var(--aoto), Zen Kaku Gothic Antique, sans-serif;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
}
@media screen and (max-width: 767px) {
  .p-sus__acc .p-sus__btn {
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
  }
}
.p-sus__content {
  padding: 0 3.6875rem 4.375rem;
}
@media screen and (max-width: 767px) {
  .p-sus__content {
    padding: 0.4rem calc(1.3333333333rem - 1px) 1.3333333333rem;
  }
}
.p-sus__lead {
  max-width: 31.3125rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-sus__lead {
    max-width: none;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.p-sus__h3 {
  margin-top: 6rem;
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
.p-sus__h3 + .p-sus__txt {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-sus__h3 {
    margin-top: 2rem;
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
  .p-sus__h3 + .p-sus__txt {
    margin-top: 0.6666666667rem;
  }
}
.p-sus__h4 {
  margin-top: 6rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
}
@media screen and (max-width: 767px) {
  .p-sus__h4 {
    margin-top: 2.6666666667rem;
    font-size: 0.8rem;
    line-height: 1.1666666667;
    letter-spacing: 0;
  }
}
.p-sus__txt {
  margin-top: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-sus__txt {
    margin-top: 1.3333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}

.p-sus-box {
  margin-top: 2.3125rem;
}
@media screen and (max-width: 767px) {
  .p-sus-box {
    margin-top: 2rem;
  }
}
.p-sus-box + .p-sus-box {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .p-sus-box + .p-sus-box {
    margin-top: 4rem;
  }
}
.p-sus-box__ttl {
  padding: 0.28125rem 1.875rem;
  background-color: #a0d8d1;
  font-size: 1.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-sus-box__ttl {
    padding: 0 0.6666666667rem;
    font-size: 1rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    letter-spacing: 0;
    line-height: 1.5333333333;
  }
}
.p-sus-box__h4 {
  margin-top: 4rem;
  font-size: 1.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-sus-box__h4 {
    margin-top: 2rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.5555555556;
    letter-spacing: 0.05em;
  }
}
.p-sus-box__txt {
  margin: 1.5rem 0 0 7.875rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
}
@media screen and (max-width: 767px) {
  .p-sus-box__txt {
    margin: 0.6666666667rem 0 0;
    font-size: 1rem;
    line-height: 1.6666666667;
  }
}

.p-sus-iso {
  margin-top: 1.625rem;
}
.p-sus-iso + .p-sus-iso {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-sus-iso {
    margin-top: 1.3333333333rem;
  }
  .p-sus-iso + .p-sus-iso {
    margin-top: 2rem;
  }
}
.p-sus-iso__ttl {
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
}
@media screen and (max-width: 767px) {
  .p-sus-iso__ttl {
    font-size: 0.8rem;
    line-height: 1.1666666667;
  }
}
.p-sus-iso__table {
  width: 100%;
  margin-top: 0.5rem;
  border-collapse: collapse;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
}
@media screen and (max-width: 767px) {
  .p-sus-iso__table {
    margin-top: 0.6666666667rem;
    font-size: 1rem;
    letter-spacing: 0;
  }
}
.p-sus-iso__table th,
.p-sus-iso__table td {
  padding: 0.25rem 0.9375rem;
  border: 1px solid #bbb;
  text-align: left;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-sus-iso__table th,
  .p-sus-iso__table td {
    padding: 0.3333333333rem 1rem;
    vertical-align: top;
  }
}
.p-sus-iso__table th {
  width: 7.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  white-space: nowrap;
  background-color: #d6e4e6;
}
@media screen and (max-width: 767px) {
  .p-sus-iso__table th {
    width: 7rem;
    padding: 0.2666666667rem calc(1rem - 1px) 0.2666666667rem 1rem;
    white-space: normal;
    vertical-align: middle;
  }
}

.p-sus-policy {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 1.5rem 0 0 7.875rem;
}
@media screen and (max-width: 767px) {
  .p-sus-policy {
    gap: 0.6666666667rem;
    margin: 1.3333333333rem 0 0;
  }
}
.p-sus-policy__ttl {
  font-size: 1.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 2.1111111111;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-sus-policy__ttl {
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
  }
}
.p-sus-policy__txt {
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
}
@media screen and (max-width: 767px) {
  .p-sus-policy__txt {
    margin-top: 0.6666666667rem;
    font-size: 1rem;
    line-height: 1.6666666667;
  }
}
.p-sus-policy.--simple {
  gap: 0.75rem;
  margin-top: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-sus-policy.--simple {
    gap: 0.6666666667rem;
    margin-top: 1.3333333333rem;
  }
}
.p-sus-policy.--simple li {
  display: flex;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  .p-sus-policy.--simple li {
    gap: 0.2666666667rem;
    font-size: 1rem;
    line-height: 1.5333333333;
  }
}
.p-sus-policy.--simple span {
  flex-shrink: 0;
  width: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-sus-policy.--simple span {
    width: auto;
  }
}
.p-sus-policy.--simple p {
  padding-left: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .p-sus-policy.--simple p {
    padding-left: 0;
  }
}

.p-sus-items {
  display: grid;
  grid-template-columns: repeat(2, 25.25rem);
  justify-content: space-between;
  align-items: start;
  gap: 4.0625rem 5.625rem;
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .p-sus-items {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 2rem;
  }
}
.p-sus-items.--community {
  margin-top: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-sus-items.--community {
    margin-top: 2rem;
  }
}
.p-sus-items__item.--wide {
  display: flex;
  grid-column: 1/-1;
  align-items: center;
  gap: 2.4375rem;
}
@media screen and (max-width: 767px) {
  .p-sus-items__item.--wide {
    flex-direction: column;
    align-items: stretch;
    gap: 1.3333333333rem;
  }
}
.p-sus-items__item.--wide .p-sus-items__main {
  flex-shrink: 0;
  width: 25.25rem;
}
@media screen and (max-width: 767px) {
  .p-sus-items__item.--wide .p-sus-items__main {
    width: auto;
  }
}
.p-sus-items__item.--job {
  align-items: flex-end;
  gap: 3.3125rem;
}
@media screen and (max-width: 767px) {
  .p-sus-items__item.--job {
    align-items: stretch;
    gap: 1.3333333333rem;
  }
}
.p-sus-items__ttl {
  font-size: 1.3125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-sus-items__ttl {
    font-size: 1.1333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.5294117647;
  }
}
.p-sus-items__txt {
  margin-top: 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-sus-items__txt {
    margin-top: 0.6666666667rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
    text-align: left;
  }
}
.p-sus-items.--community .p-sus-items__item:not(.--wide) .p-sus-items__txt {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-sus-items.--community .p-sus-items__item:not(.--wide) .p-sus-items__txt {
    margin-top: 0.6666666667rem;
  }
}
.p-sus-items__photos {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 27.8125rem;
}
@media screen and (max-width: 767px) {
  .p-sus-items__photos {
    flex-direction: row;
    align-items: flex-start;
    width: auto;
    gap: 0.6666666667rem;
  }
  .p-sus-items__photos .p-sus-photo {
    flex: 1;
  }
}
.p-sus-items__photos.--row {
  flex-direction: row;
  align-items: flex-start;
  gap: 1.0625rem;
  width: auto;
}
@media screen and (max-width: 767px) {
  .p-sus-items__photos.--row {
    gap: 0.6666666667rem;
  }
  .p-sus-items__photos.--row .p-sus-photo {
    flex: 1;
    width: auto;
  }
}
.p-sus-items__photos.--clean {
  gap: 3.1875rem;
  margin-top: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-sus-items__photos.--clean {
    gap: 0.6666666667rem;
    margin-top: 1.3333333333rem;
  }
}
.p-sus-items__sub {
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-sus-items__sub {
    margin-top: 1.3333333333rem;
  }
}
.p-sus-items__label {
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
}
@media screen and (max-width: 767px) {
  .p-sus-items__label {
    font-size: 0.8rem;
    line-height: 1.1666666667;
  }
}
.p-sus-items__dots {
  display: flex;
  flex-direction: column;
  gap: 0.5625rem;
  margin-top: 0.625rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5625;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-sus-items__dots {
    gap: 0.4rem;
    margin-top: 0.6666666667rem;
    font-size: 1rem;
    line-height: 1.5333333333;
    letter-spacing: 0;
  }
}
.p-sus-items__dots li {
  display: flex;
  gap: 0.4375rem;
}
@media screen and (max-width: 767px) {
  .p-sus-items__dots li {
    gap: 0.3333333333rem;
  }
}
.p-sus-items__dots li::before {
  content: "●";
  flex-shrink: 0;
}
.p-sus-items__btns {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-sus-items__btns {
    gap: 1rem;
    margin-top: 1.3333333333rem;
  }
}

.p-sus-photo__img {
  overflow: hidden;
}
.p-sus-photo__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-sus-photo__img picture {
  display: block;
  height: 100%;
}
.p-sus-photo__cap {
  margin-top: 0.9375rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
}
@media screen and (max-width: 767px) {
  .p-sus-photo__cap {
    margin-top: 0.5333333333rem;
    font-size: 0.8rem;
    line-height: 1.6666666667;
  }
}
.p-sus-photo.--side {
  display: flex;
  align-items: flex-end;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-sus-photo.--side {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5333333333rem;
  }
}
.p-sus-photo.--side .p-sus-photo__img {
  flex-shrink: 0;
  width: 14.6875rem;
  aspect-ratio: 235/135;
}
@media screen and (max-width: 767px) {
  .p-sus-photo.--side .p-sus-photo__img {
    width: 100%;
  }
}
.p-sus-photo.--side .p-sus-photo__cap {
  width: 11.25rem;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .p-sus-photo.--side .p-sus-photo__cap {
    width: auto;
  }
}
.--job .p-sus-photo {
  width: 12.875rem;
}
.--job .p-sus-photo .p-sus-photo__img {
  aspect-ratio: 206/118;
}
.p-sus-photo.--edu {
  width: 18.9375rem;
  margin-top: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-sus-photo.--edu {
    width: 100%;
    margin-top: 1.3333333333rem;
  }
}
.p-sus-photo.--edu .p-sus-photo__img {
  aspect-ratio: 303/152;
}
.--clean .p-sus-photo {
  width: 10.875rem;
}
.--clean .p-sus-photo .p-sus-photo__img {
  aspect-ratio: 174/115;
}

.p-sus-dl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9375rem;
  border-radius: 0.625rem;
  background-color: #ffffff;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4375;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-sus-dl {
    gap: 0.6666666667rem;
    padding: 1rem;
    border-radius: 0.6666666667rem;
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
}
.p-sus-dl::after {
  content: "";
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  aspect-ratio: 1;
  border: 1px solid #000;
  border-radius: 50%;
  background: url(../img/common/arrow-circle.svg) no-repeat 50% 55%/0.6875rem auto;
  transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
  .p-sus-dl::after {
    width: 1.8666666667rem;
    height: 1.8666666667rem;
    background-size: 0.6rem auto;
  }
}
@media (any-hover: hover) {
  .p-sus-dl {
    transition: opacity 0.3s ease;
  }
  .p-sus-dl:hover {
    opacity: 0.7;
  }
}

.p-sus-link {
  display: block;
  padding: 0.625rem 1.875rem;
  border-radius: 0.625rem;
  background-color: #ffffff;
  color: #00c4ff;
  font-size: 1.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.7777777778;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .p-sus-link {
    padding: 0.6666666667rem;
    border-radius: 0.6666666667rem;
    font-size: 0.9333333333rem;
    line-height: 1.7142857143;
    letter-spacing: 0;
  }
}
@media (any-hover: hover) {
  .p-sus-link {
    transition: opacity 0.3s ease;
  }
  .p-sus-link:hover {
    opacity: 0.7;
  }
}

.p-sus-tabs {
  display: flex;
  margin-top: 5.625rem;
}
@media screen and (max-width: 767px) {
  .p-sus-tabs {
    margin-top: 1.3333333333rem;
    border-radius: 0.6666666667rem 0.6666666667rem 0 0;
    overflow: hidden;
  }
}
.p-sus-tabs__tab {
  width: 19.6875rem;
  height: 3.6875rem;
  background-color: #d6e4e6;
  color: #767676;
  font-size: 1.0625rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 2.2352941176;
  letter-spacing: 0.1em;
  text-align: center;
}
.p-sus-tabs__tab:first-child {
  border-radius: 1.25rem 0 0 0;
}
.p-sus-tabs__tab:last-child {
  border-radius: 0 1.25rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-sus-tabs__tab {
    flex: 1;
    width: auto;
    height: auto;
    min-height: 3.2rem;
    padding: 0.6666666667rem 1.3333333333rem;
    border-radius: 0 !important;
    font-size: 0.8rem;
    line-height: 1.1666666667;
    letter-spacing: 0;
    text-align: left;
  }
}
.p-sus-tabs__tab.is-active {
  background-color: #ffffff;
  color: #000;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
.p-sus-tabs__panel {
  padding: 2.5rem 3.3125rem 7.5rem;
  border-radius: 0 1.25rem 1.25rem 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-sus-tabs__panel {
    padding: 1.3333333333rem;
    border-radius: 0 0 0.6666666667rem 0.6666666667rem;
  }
  .p-sus-tabs__panel > .p-sus__txt:first-child {
    margin-top: 0;
  }
}
.p-sus-tabs__panel > .p-sus__txt:first-child {
  margin-top: 0;
}
.p-sus-tabs__panel > .p-sus__h4 {
  margin-top: 3rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-sus-tabs__panel > .p-sus__h4 {
    margin-top: 1.3333333333rem;
    font-size: 1rem;
    line-height: 1.5333333333;
    letter-spacing: 0;
  }
}
.p-sus-tabs__panel > .p-sus-tabs__ttl + .p-sus__txt {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-sus-tabs__panel > .p-sus-tabs__ttl + .p-sus__txt {
    margin-top: 1.3333333333rem;
  }
}
.p-sus-tabs__panel[hidden] {
  display: none;
}
.p-sus-tabs__ttl {
  margin-top: 5.5625rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #000;
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-sus-tabs__ttl {
    margin-top: 1.3333333333rem;
    padding-bottom: 0.6666666667rem;
    font-size: 1.1333333333rem;
    line-height: 1.5294117647;
  }
}
.p-sus-tabs__ttl:first-child {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-sus-tabs__ttl:first-child {
    margin-top: 0;
  }
}

.p-sus-rules {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-sus-rules {
    gap: 1.3333333333rem;
    margin-top: 0.6666666667rem;
  }
}
.p-sus-rules__row {
  display: grid;
  grid-template-columns: 11.3125rem 1fr;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
}
@media screen and (max-width: 767px) {
  .p-sus-rules__row {
    grid-template-columns: 1fr;
    row-gap: 0.6666666667rem;
    font-size: 1rem;
    line-height: 1.5333333333;
  }
}
.p-sus-rules dt {
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}

.p-sus-bcm {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-top: 3rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-sus-bcm {
    gap: 1.3333333333rem;
    margin-top: 2rem;
    font-size: 1rem;
    line-height: 1.5333333333;
    letter-spacing: 0;
  }
}
.p-sus-bcm figure {
  margin-top: 1.8125rem;
}
@media screen and (max-width: 767px) {
  .p-sus-bcm figure {
    margin-top: 1.3333333333rem;
  }
}
.p-sus-bcm figcaption {
  margin-top: 1.4375rem;
  font-size: 0.9375rem;
  line-height: 1.4666666667;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-sus-bcm figcaption {
    margin-top: 0.6666666667rem;
    font-size: 0.8rem;
    line-height: 1.6666666667;
    letter-spacing: -0.05em;
  }
}
.p-sus-bcm__fig {
  width: 27.8125rem;
  margin-top: 2.125rem !important;
}
@media screen and (max-width: 767px) {
  .p-sus-bcm__fig {
    width: 100%;
    margin-top: 1.3333333333rem !important;
  }
}
.p-sus-bcm__fig figcaption {
  margin-top: 0.875rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-sus-bcm__fig figcaption {
    margin-top: 0.6666666667rem;
    line-height: 1.6666666667;
  }
}
.p-sus-bcm img {
  width: 100%;
  height: auto;
}
.p-sus-bcm__photos {
  display: flex;
  gap: 2.5rem;
}
.p-sus-bcm__photos figure {
  width: 17.6875rem;
}
@media screen and (max-width: 767px) {
  .p-sus-bcm__photos {
    flex-direction: column;
    gap: 0;
  }
  .p-sus-bcm__photos figure {
    width: 100%;
  }
}

.p-sus-sdgs {
  display: grid;
  grid-template-columns: 23rem 35rem;
  -moz-column-gap: 5rem;
       column-gap: 5rem;
  align-items: start;
}
.p-sus-sdgs .p-sus__txt {
  margin-top: 0;
}
.p-sus-sdgs .p-sus__txt + .p-sus__txt {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-sus-sdgs {
    grid-template-columns: 1fr;
    row-gap: 1.4666666667rem;
  }
  .p-sus-sdgs .p-sus__txt {
    font-size: 1.0666666667rem;
    line-height: 2;
    letter-spacing: 0.05em;
  }
  .p-sus-sdgs .p-sus__txt + .p-sus__txt {
    margin-top: 2.1333333333rem;
  }
}
.p-sus-sdgs__img {
  aspect-ratio: 560/339;
  overflow: hidden;
}
.p-sus-sdgs__img picture {
  display: block;
  height: 100%;
}
.p-sus-sdgs__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-news-btn {
  display: inline-flex;
  align-items: center;
  gap: 1.25rem;
  padding: 0.875rem 1.25rem 0.875rem 1.875rem;
  border: 1px solid #00a5ff;
  border-radius: 6.25rem;
  background-color: #00a5ff;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 2.25;
  letter-spacing: 0.05em;
  white-space: nowrap;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-news-btn {
    gap: 0.8rem;
    padding: 0.5333333333rem 0.9333333333rem 0.5333333333rem 1.3333333333rem;
    font-size: 0.9333333333rem;
    white-space: normal;
  }
}
@media (any-hover: hover) {
  .c-news-btn:hover {
    opacity: 0.8;
  }
}
.c-news-btn__icon {
  position: relative;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.c-news-btn__icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;
  -webkit-mask: url("../img/common/arrow-circle.svg") no-repeat 55% 50%/34% auto;
          mask: url("../img/common/arrow-circle.svg") no-repeat 55% 50%/34% auto;
}
@media screen and (max-width: 767px) {
  .c-news-btn__icon {
    width: 1.3333333333rem;
    height: 1.3333333333rem;
  }
}
.c-news-btn.--main {
  border: 0;
}
.c-news-btn.--sub {
  border-color: #000;
  background-color: #ffffff;
  color: #000;
}

.c-news-apply {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1rem 1.25rem 1rem 3.125rem;
  border-radius: 6.25rem;
  background-color: #ecf4f5;
}
@media screen and (max-width: 767px) {
  .c-news-apply {
    flex-direction: column;
    align-items: stretch;
    gap: 0.9333333333rem;
    padding: 1.3333333333rem;
    border-radius: 1.3333333333rem;
  }
}
.c-news-apply__txt {
  font-size: 1.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.8888888889;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-news-apply__txt {
    font-size: 0.9333333333rem;
  }
}
.c-news-apply .c-news-btn {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .c-news-apply .c-news-btn {
    justify-content: center;
  }
}

.c-news-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.75rem 9rem;
}
@media screen and (max-width: 767px) {
  .c-news-cards {
    grid-template-columns: 1fr;
    gap: 2.1333333333rem;
  }
}
.c-news-cards__img {
  aspect-ratio: 3/2;
  overflow: hidden;
  background-color: #ecf4f5;
}
.c-news-cards__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-news-cards__img.--contain img {
  padding: 12% 22%;
  -o-object-fit: contain;
     object-fit: contain;
  mix-blend-mode: multiply;
}
.c-news-cards__name {
  margin-top: 0.875rem;
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-news-cards__name {
    margin-top: 0.6666666667rem;
    font-size: 1.1333333333rem;
  }
}
.c-news-cards__name a {
  display: inline-flex;
  align-items: center;
  gap: 1.875rem;
  transition: color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-news-cards__name a {
    gap: 0.9333333333rem;
  }
}
@media (any-hover: hover) {
  .c-news-cards__name a:hover {
    color: #00a5ff;
  }
}
.c-news-cards__arrow {
  position: relative;
  flex-shrink: 0;
  width: 1.875rem;
  height: 1.875rem;
  border: 1px solid #00a5ff;
  border-radius: 50%;
}
.c-news-cards__arrow::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #00a5ff;
  -webkit-mask: url("../img/common/arrow-circle.svg") no-repeat 55% 50%/34% auto;
          mask: url("../img/common/arrow-circle.svg") no-repeat 55% 50%/34% auto;
}
@media screen and (max-width: 767px) {
  .c-news-cards__arrow {
    width: 1.6rem;
    height: 1.6rem;
  }
}
.c-news-cards__txt {
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .c-news-cards__txt {
    margin-top: 0.4rem;
  }
}

.c-news-related .c-news-related__ttl {
  width: 62.5rem;
  margin-inline: auto;
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-news-related .c-news-related__ttl {
    width: auto;
    margin-inline: 1.3333333333rem;
    font-size: 1.2rem;
  }
}
.c-news-related__band {
  margin-top: 1.25rem;
  padding: 8.125rem 3.75rem;
  background-color: #ecf4f5;
}
@media screen and (max-width: 767px) {
  .c-news-related__band {
    margin-top: 0.9333333333rem;
    padding: 3.2rem 1.3333333333rem;
  }
}
.c-news-related__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.875rem 6.25rem;
}
@media screen and (max-width: 767px) {
  .c-news-related__list {
    flex-direction: column;
    align-items: center;
    gap: 0.9333333333rem;
  }
}

.c-news-placeholder {
  padding: 16px;
  border: 1px dashed #6a6a6a;
  color: #6a6a6a;
  font-size: 14px;
}

.c-news-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .c-news-tags {
    gap: 0.4rem;
  }
}
.c-news-tags__item {
  padding: 0 1.25rem;
  border-radius: 3.125rem;
  background-color: var(--news-cat, #6a6a6a);
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-news-tags__item {
    padding: 0 0.8rem;
    font-size: 0.7333333333rem;
  }
}
.c-news-tags__item.--parent {
  letter-spacing: 0.3em;
}
.c-news-tags__sep {
  align-self: stretch;
  width: 1px;
  background-color: #cdcdcd;
}

.p-news-head {
  padding: 12.0625rem 9rem 0;
}
@media screen and (max-width: 767px) {
  .p-news-head {
    padding: 7.3333333333rem 1.3333333333rem 0;
  }
}
.p-news-head__ttl {
  display: flex;
  align-items: baseline;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-news-head__ttl {
    gap: 0.8rem;
  }
}
.p-news-head__en {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 2.8125rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.1111111111;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-news-head__en {
    font-size: 2.1333333333rem;
  }
}
.p-news-head__ja {
  font-size: 2rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.375;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-news-head__ja {
    font-size: 1.3333333333rem;
  }
}

.p-news-filter__bar {
  display: flex;
  justify-content: flex-end;
  height: 6.5625rem;
  padding-right: 16rem;
  border-bottom: 1px solid #6a6a6a;
}
@media screen and (max-width: 767px) {
  .p-news-filter__bar {
    height: auto;
    margin-top: 2.1333333333rem;
    padding: 0 1.3333333333rem;
  }
}
.p-news-filter__tabs {
  display: flex;
  align-items: flex-end;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-news-filter__tabs {
    flex: 1;
    gap: 0.5333333333rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news-filter__tabs li {
    flex: 1;
  }
}
.p-news-filter__tab {
  display: grid;
  place-items: center;
  width: 12.5rem;
  height: 2.125rem;
  margin-bottom: -1px;
  border: 1px solid #6a6a6a;
  border-radius: 0.9375rem 0.9375rem 0 0;
  background-color: #ffffff;
  color: #6a6a6a;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.1875rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.3157894737;
  letter-spacing: 0.15em;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-news-filter__tab {
    width: auto;
    height: 2.2666666667rem;
    border-radius: 0.8rem 0.8rem 0 0;
    font-size: 1rem;
  }
}
.p-news-filter__tab.is-current {
  border-color: var(--news-cat, #6a6a6a);
  background-color: var(--news-cat, #757575);
  color: #ffffff;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
@media (any-hover: hover) {
  .p-news-filter__tab:hover:not(.is-current) {
    background-color: #ecf4f5;
  }
}
.p-news-filter__subs {
  min-height: 6.25rem;
  padding: 0.9375rem 16rem 0 9rem;
}
@media screen and (max-width: 767px) {
  .p-news-filter__subs {
    min-height: 0;
    padding: 0.9333333333rem 1.3333333333rem 0;
  }
}
.p-news-filter__sub-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-news-filter__sub-list {
    gap: 0.5333333333rem;
  }
}
.p-news-filter__sub {
  display: block;
  padding: 0 1.5625rem;
  border: 1px solid #6a6a6a;
  border-radius: 3.75rem;
  color: #6a6a6a;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.8666666667;
  letter-spacing: 0.05em;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-news-filter__sub {
    padding: 0 0.9333333333rem;
    font-size: 0.8rem;
  }
}
.p-news-filter__sub.is-current {
  background-color: #6a6a6a;
  color: #ffffff;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
}
@media (any-hover: hover) {
  .p-news-filter__sub:hover:not(.is-current) {
    background-color: #ecf4f5;
  }
}

.p-news {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 65rem;
  margin: 4.9375rem 0 0 9rem;
}
@media screen and (max-width: 767px) {
  .p-news {
    width: auto;
    margin: 2.1333333333rem 1.3333333333rem 0;
  }
}
.p-news__list {
  display: grid;
  gap: 1.25rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-news__list {
    gap: 0.8rem;
  }
}
.p-news__link {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.875rem 2rem 0.625rem;
  border-top: 1px solid #6a6a6a;
}
@media screen and (max-width: 767px) {
  .p-news__link {
    gap: 0.5333333333rem;
    padding: 0.9333333333rem 0.2666666667rem 0.5333333333rem;
  }
}
@media (any-hover: hover) {
  .p-news__link:hover .p-news__ttl {
    color: #00a5ff;
  }
}
.p-news__meta {
  display: flex;
  align-items: center;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-news__meta {
    flex-wrap: wrap;
    gap: 0.5333333333rem 0.9333333333rem;
  }
}
.p-news__date {
  flex-shrink: 0;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-news__date {
    font-size: 0.9333333333rem;
  }
}
.p-news__ttl {
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5555555556;
  letter-spacing: 0.05em;
  transition: color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-news__ttl {
    font-size: 0.9333333333rem;
  }
}
.p-news__empty {
  width: 100%;
  padding: 2.5rem 0;
  border-top: 1px solid #6a6a6a;
  text-align: center;
}
.p-news .c-news-pager {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .p-news .c-news-pager {
    margin-top: 3.2rem;
  }
}
.p-news__back {
  margin-top: 11.875rem;
}
@media screen and (max-width: 767px) {
  .p-news__back {
    margin-top: 4.2666666667rem;
  }
}

.c-news-pager {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-news-pager {
    gap: 0.5333333333rem;
  }
}
.c-news-pager__page {
  display: grid;
  place-items: center;
  width: 3.125rem;
  height: 3.125rem;
  aspect-ratio: 1;
  border: 1px solid #6a6a6a;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #ffffff;
  color: #6a6a6a;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-news-pager__page {
    width: 2.6666666667rem;
    height: 2.6666666667rem;
    font-size: 0.9333333333rem;
  }
}
.c-news-pager__page.is-current {
  background-color: #6a6a6a;
  color: #ffffff;
}
@media (any-hover: hover) {
  .c-news-pager a.c-news-pager__page:hover {
    background-color: #ecf4f5;
  }
}
.c-news-pager__dots {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
.c-news-pager__arrow {
  width: 1.625rem;
  height: 1.625rem;
}
.c-news-pager__arrow::before {
  content: "";
  display: block;
  width: 70%;
  height: 70%;
  margin: 15%;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: translateX(25%) rotate(45deg);
}
.c-news-pager__arrow.--next::before {
  transform: translateX(-25%) rotate(-135deg);
}
.c-news-pager__arrow.is-disabled {
  opacity: 0.3;
}

.p-news-article {
  overflow-x: clip;
}
.p-news-article.--page {
  padding-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  .p-news-article.--page {
    padding-bottom: 6.6666666667rem;
  }
}
.p-news-article__head, .p-news-article__body {
  width: 58rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-news-article__head, .p-news-article__body {
    width: auto;
    margin-inline: 1.3333333333rem;
  }
}
.p-news-article__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  padding-top: 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-news-article__head {
    gap: 0.9333333333rem;
    padding-top: 7.3333333333rem;
  }
}
.p-news-article__ttl-wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-news-article__ttl-wrap {
    gap: 0.5333333333rem;
  }
}
.p-news-article__date {
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-news-article__date {
    font-size: 0.8rem;
  }
}
.p-news-article__ttl {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-news-article__ttl {
    font-size: 1.4666666667rem;
    line-height: 1.6;
  }
}
.p-news-article__body {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-news-article__body {
    margin-top: 2.6666666667rem;
  }
}
.p-news-article__back {
  display: flex;
  justify-content: center;
  margin-top: 18.75rem;
}
@media screen and (max-width: 767px) {
  .p-news-article__back {
    margin-top: 5.3333333333rem;
  }
}
.p-news-article__body:has(> .c-news-related:last-child) + .p-news-article__back {
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-news-article__body:has(> .c-news-related:last-child) + .p-news-article__back {
    margin-top: 3.2rem;
  }
}

.c-news-content {
  color: #000;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.625;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-news-content {
    font-size: 0.9333333333rem;
  }
}
:is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + * {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  :is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + * {
    margin-top: 1.6rem;
  }
}

:is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + h2 {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  :is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + h2 {
    margin-top: 5.3333333333rem;
  }
}

:is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + h3 {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  :is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + h3 {
    margin-top: 4.2666666667rem;
  }
}

:is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + h4 {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  :is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + h4 {
    margin-top: 3.2rem;
  }
}

:is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > :is(h2, h3) + * {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  :is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > :is(h2, h3) + * {
    margin-top: 0.9333333333rem;
  }
}

:is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > h4 + * {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  :is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > h4 + * {
    margin-top: 0.8rem;
  }
}

:is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > h5 + * {
  margin-top: 0.4375rem;
}

.c-news-content .wp-block-column > * + * {
  margin-top: 0.875rem;
}
@media screen and (max-width: 767px) {
  .c-news-content .wp-block-column > * + * {
    margin-top: 0.6666666667rem;
  }
}

:is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + .wp-block-group:has(> h2:first-child) {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  :is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + .wp-block-group:has(> h2:first-child) {
    margin-top: 5.3333333333rem;
  }
}

:is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + .wp-block-group:has(> h3:first-child) {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  :is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + .wp-block-group:has(> h3:first-child) {
    margin-top: 4.2666666667rem;
  }
}

:is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + .wp-block-group:has(> h4:first-child) {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  :is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + .wp-block-group:has(> h4:first-child) {
    margin-top: 3.2rem;
  }
}

:is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + .c-news-related {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  :is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > * + .c-news-related {
    margin-top: 5.3333333333rem;
  }
}

:is(.c-news-content, .c-news-content .wp-block-group, .c-news-content .wp-block-column) > :first-child {
  margin-top: 0;
}

.c-news-content h2,
.c-news-content h3,
.c-news-content h4,
.c-news-content h5,
.c-news-content h6 {
  letter-spacing: 0.05em;
}
.c-news-content h2 {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
}
@media screen and (max-width: 767px) {
  .c-news-content h2 {
    font-size: 1.6rem;
  }
}
.c-news-content h3 {
  font-size: 2.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6176470588;
}
@media screen and (max-width: 767px) {
  .c-news-content h3 {
    font-size: 1.4666666667rem;
  }
}
.c-news-content h4 {
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .c-news-content h4 {
    font-size: 1.2rem;
  }
}
.c-news-content h5,
.c-news-content h6 {
  font-size: 1.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.8888888889;
}
@media screen and (max-width: 767px) {
  .c-news-content h5,
  .c-news-content h6 {
    font-size: 1rem;
  }
}
.c-news-content .has-xl-font-size {
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4615384615;
}
.c-news-content .has-l-font-size {
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.9;
}
.c-news-content .has-lead-font-size {
  line-height: 2;
}
.c-news-content .has-s-font-size {
  color: #6a6a6a;
  line-height: 1.5714285714;
}
@media screen and (max-width: 767px) {
  .c-news-content {
    --wp--preset--font-size--xl: 1.3333333333rem;
    --wp--preset--font-size--l: 1.1333333333rem;
    --wp--preset--font-size--lead: 1rem;
    --wp--preset--font-size--m: 0.9333333333rem;
    --wp--preset--font-size--s: 0.8rem;
  }
}
.c-news-content .has-text-align-center {
  text-align: center;
}
.c-news-content .has-text-align-right {
  text-align: right;
}
.c-news-content a:not([class]) {
  color: #00a5ff;
  text-decoration: underline;
  text-decoration-thickness: 7%;
  text-underline-offset: 0.2em;
}
@media (any-hover: hover) {
  .c-news-content a:not([class]):hover {
    text-decoration: none;
  }
}
.c-news-content strong {
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
.c-news-content :is(ul, ol).wp-block-list {
  padding-left: 1.5em;
  font-size: 1.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.8888888889;
}
@media screen and (max-width: 767px) {
  .c-news-content :is(ul, ol).wp-block-list {
    font-size: 1rem;
  }
}
.c-news-content :is(ul, ol).wp-block-list :is(ul, ol) {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  .c-news-content :is(ul, ol).wp-block-list :is(ul, ol) {
    font-size: 0.9333333333rem;
  }
}
.c-news-content ul.wp-block-list,
.c-news-content ul.wp-block-list ul {
  list-style: disc;
}
.c-news-content ol.wp-block-list {
  list-style: decimal;
}
.c-news-content ol.wp-block-list ol {
  list-style: lower-alpha;
}
.c-news-content .wp-block-image {
  margin-inline: 0;
}
.c-news-content .wp-block-image img {
  width: 100%;
  height: auto;
}
.c-news-content .wp-block-image figcaption {
  margin: 0.875rem 0 0;
  color: #6a6a6a;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .c-news-content .wp-block-image figcaption {
    font-size: 0.8rem;
  }
}
.c-news-content .wp-block-image picture {
  display: block;
}
.c-news-content .wp-block-image.is-style-natural {
  text-align: center;
}
.c-news-content .wp-block-image.is-style-natural img {
  width: auto;
  max-width: 100%;
  margin-inline: auto;
}
.c-news-content .wp-block-image.is-style-natural figcaption {
  text-align: center;
}
.c-news-content .wp-block-image.is-style-frame img {
  border: 1px solid #6a6a6a;
  border-radius: 2.5rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .c-news-content .wp-block-image.is-style-frame img {
    border-radius: 1.3333333333rem;
  }
}
.c-news-content .wp-block-columns {
  display: flex;
  gap: 3rem;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .c-news-content .wp-block-columns {
    gap: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .c-news-content .wp-block-columns {
    flex-direction: column;
  }
}
.c-news-content .wp-block-columns.alignwide {
  gap: 9rem;
}
.c-news-content .wp-block-columns.alignwide:has(> :nth-child(3)) {
  gap: 6.9375rem;
}
@media screen and (max-width: 767px) {
  .c-news-content .wp-block-columns.alignwide {
    gap: 1.6rem;
  }
}
.c-news-content .wp-block-column {
  flex: 1 1 0;
  min-width: 0;
}
.c-news-content .wp-block-group.is-style-box {
  padding: 3.125rem 3.75rem;
  border-radius: 2.5rem;
  background-color: #ecf4f5;
}
@media screen and (max-width: 767px) {
  .c-news-content .wp-block-group.is-style-box {
    padding: 1.8666666667rem 1.3333333333rem;
    border-radius: 1.3333333333rem;
  }
}
.c-news-content .wp-block-group.is-style-indent {
  padding-left: 1.875rem;
}
@media screen and (max-width: 767px) {
  .c-news-content .wp-block-group.is-style-indent {
    padding-left: 0.8rem;
  }
}
.c-news-content .wp-block-table {
  margin-inline: 0;
}
.c-news-content .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}
.c-news-content .wp-block-table td,
.c-news-content .wp-block-table th {
  padding: 0.625rem 1rem;
  border: 1px solid #cdcdcd;
  text-align: left;
  vertical-align: top;
}
.c-news-content .wp-block-table.is-fit-content {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
.c-news-content .wp-block-table.is-fit-content table {
  width: auto;
}
.c-news-content .wp-block-table.is-fit-content.is-style-overview tr > :first-child {
  width: auto;
}
.c-news-content .wp-block-table.is-style-overview {
  padding: 2.5rem 3.75rem;
  border-radius: 2.5rem;
  background-color: #ecf4f5;
}
@media screen and (max-width: 767px) {
  .c-news-content .wp-block-table.is-style-overview {
    padding: 1.6rem 1.3333333333rem;
    border-radius: 1.3333333333rem;
  }
}
.c-news-content .wp-block-table.is-style-overview table {
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0 1.25rem;
  margin-block: -1.25rem;
}
@media screen and (max-width: 767px) {
  .c-news-content .wp-block-table.is-style-overview table {
    border-spacing: 0 0.9333333333rem;
    margin-block: -0.9333333333rem;
  }
}
.c-news-content .wp-block-table.is-style-overview td,
.c-news-content .wp-block-table.is-style-overview th {
  padding: 0;
  border: 0;
}
.c-news-content .wp-block-table.is-style-overview tr > :first-child {
  width: 1%;
  padding-right: 2.5rem;
  font-size: 1.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.8888888889;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-news-content .wp-block-table.is-style-overview tr > :first-child {
    padding-right: 1.0666666667rem;
    font-size: 0.9333333333rem;
  }
}
.c-news-content .wp-block-table.is-style-overview .has-s-font-size {
  display: inline-block;
  margin-top: 0.625rem;
  color: #3c3c3c;
}
.c-news-content .wp-block-table figcaption {
  margin-top: 0.875rem;
  color: #6a6a6a;
  font-size: 0.875rem;
}
.c-news-content .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2.5rem;
}
.c-news-content .wp-block-buttons.is-content-justification-center {
  justify-content: center;
}
.c-news-content .wp-block-buttons.is-content-justification-right {
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .c-news-content .wp-block-buttons {
    gap: 1.0666666667rem;
  }
}
.c-news-content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 1.25rem;
  padding: 0.625rem 2.5rem;
  border: 1px solid #00a5ff;
  border-radius: 2.5rem;
  background-color: #00a5ff;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 2.25;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-news-content .wp-block-button__link {
    font-size: 0.9333333333rem;
  }
}
@media (any-hover: hover) {
  .c-news-content .wp-block-button__link:hover {
    opacity: 0.8;
  }
}
.c-news-content .is-style-sub .wp-block-button__link {
  padding: 0.875rem 1.25rem 0.875rem 1.875rem;
  border-color: #000;
  border-radius: 6.25rem;
  background-color: #ffffff;
  color: #000;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
}
.c-news-content .is-style-sub .wp-block-button__link::after {
  content: "";
  position: relative;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid #000;
  border-radius: 50%;
}
.c-news-content .is-style-sub .wp-block-button__link::after::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #000;
  -webkit-mask: url("../img/common/arrow-circle.svg") no-repeat 55% 50%/34% auto;
          mask: url("../img/common/arrow-circle.svg") no-repeat 55% 50%/34% auto;
}
.c-news-content .wp-block-separator {
  border: 0;
  border-top: 1px solid #6a6a6a;
}
.c-news-content .wp-block-embed__wrapper iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.c-news-content > .alignwide {
  width: 72rem;
  max-width: none;
  margin-inline: calc((58rem - 72rem) / 2);
}
@media screen and (max-width: 767px) {
  .c-news-content > .alignwide {
    width: auto;
    margin-inline: 0;
  }
}
.c-news-content > .alignfull {
  width: 100vw;
  max-width: none;
  margin-inline: calc(50% - 50vw);
}

.c-pagetop {
  position: fixed;
  right: 0.5rem;
  bottom: 2.5rem;
  z-index: 50;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 0.75rem 1.0625rem;
  border: 1px solid #000;
  border-radius: 6.25rem;
  background-color: #ffffff;
  font-size: 0.8125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1;
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-pagetop {
    right: 0.4rem;
    bottom: 1.3333333333rem;
    gap: 0.9333333333rem;
    padding: 0.6666666667rem 0.6666666667rem 0.9333333333rem;
    font-size: 0.8rem;
  }
}
.c-pagetop::before {
  content: "";
  flex-shrink: 0;
  width: 0.5625rem;
  height: 0.625rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 10' fill='none' stroke='%23000'%3E%3Cpath d='M4.5 10V1M1 4.5 4.5 1 8 4.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .c-pagetop::before {
    width: 0.6rem;
    height: 0.6666666667rem;
  }
}
@media (any-hover: hover) {
  .c-pagetop:hover {
    opacity: 0.7;
  }
}

.p-news + .c-outro.--news .c-outro__pickup {
  padding-top: 14.375rem;
}
@media screen and (max-width: 767px) {
  .p-news + .c-outro.--news .c-outro__pickup {
    padding-top: 5.3333333333rem;
  }
}

.c-outro.--news .c-outro__pickup {
  padding-top: 17.5rem;
  padding-bottom: 16.0625rem;
}
@media screen and (max-width: 767px) {
  .c-outro.--news .c-outro__pickup {
    padding-top: 6.4rem;
    padding-bottom: 5.3333333333rem;
  }
}

.p-sitemap {
  padding: 10.0625rem 8.9375rem 0 9rem;
}
@media screen and (max-width: 767px) {
  .p-sitemap {
    padding: 8rem 1.3333333333rem 0;
  }
}
.p-sitemap__ttl {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 2.125rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.2352941176;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-sitemap__ttl {
    font-size: 1.8666666667rem;
  }
}
.p-sitemap__cols {
  display: grid;
  grid-template-columns: repeat(3, 20.9375rem);
  justify-content: space-between;
  margin-top: 7rem;
}
@media screen and (max-width: 767px) {
  .p-sitemap__cols {
    grid-template-columns: 1fr;
    gap: 2.6666666667rem;
    margin-top: 3.2rem;
  }
}
.p-sitemap__col {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .p-sitemap__col {
    gap: 2.6666666667rem;
  }
}
.p-sitemap__group {
  padding-top: 1.375rem;
  border-top: 2px solid #bbb;
}
@media screen and (max-width: 767px) {
  .p-sitemap__group {
    padding-top: 1.2rem;
  }
}
.p-sitemap__group-ttl {
  display: block;
  font-size: 1.625rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4615384615;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-sitemap__group-ttl {
    font-size: 1.3333333333rem;
  }
}
.p-sitemap__list {
  display: grid;
  gap: 1.125rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-sitemap__list {
    gap: 0.9333333333rem;
    margin-top: 1.3333333333rem;
  }
}
.p-sitemap__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.1111111111;
}
@media screen and (max-width: 767px) {
  .p-sitemap__link {
    gap: 0.5333333333rem;
    font-size: 1rem;
  }
}
.p-sitemap__link::before {
  content: "";
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.p-sitemap__group-ttl, .p-sitemap__link {
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  .p-sitemap__group-ttl:hover, .p-sitemap__link:hover {
    opacity: 0.6;
  }
}
.p-sitemap__extra {
  display: grid;
  gap: 2.25rem;
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .p-sitemap__extra {
    gap: 1.6rem;
    margin-top: 0;
  }
}
.p-sitemap__sns {
  display: flex;
  align-items: center;
  gap: 1.375rem;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-sitemap__sns {
    gap: 1.0666666667rem;
    font-size: 1rem;
  }
}
.p-sitemap__sns span:first-child {
  margin-right: 0.25rem;
}
.p-sitemap__sns .c-sns-icon {
  width: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-sitemap__sns .c-sns-icon {
    width: 2.6666666667rem;
  }
}

body:has(.l-main.--footer-logo) .l-footer {
  padding-top: 10.375rem;
}
@media screen and (max-width: 767px) {
  body:has(.l-main.--footer-logo) .l-footer {
    padding-top: 4.2666666667rem;
  }
}
body:has(.l-main.--footer-logo) .l-footer .l-footer__top,
body:has(.l-main.--footer-logo) .l-footer .l-footer__main {
  display: none;
}
body:has(.l-main.--footer-logo) .l-footer .l-footer__logotype {
  margin-top: 0;
}

.p-privacy {
  padding-bottom: 6.25rem;
  background-color: #f5f6f6;
}
@media screen and (max-width: 767px) {
  .p-privacy {
    padding-bottom: 4.2666666667rem;
  }
}
.p-privacy .p-co-head {
  padding-top: 12.0625rem;
}
@media screen and (max-width: 767px) {
  .p-privacy .p-co-head {
    padding-top: 8rem;
  }
}
.p-privacy__body {
  width: 63rem;
  margin: 2.8125rem 0 0 9rem;
}
@media screen and (max-width: 767px) {
  .p-privacy__body {
    width: auto;
    margin: 1.8666666667rem 1.3333333333rem 0;
  }
}
.p-privacy__lead {
  width: 51rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-privacy__lead {
    width: auto;
    font-size: 1rem;
    line-height: 2;
  }
}
.p-privacy__items {
  display: grid;
  grid-template-columns: repeat(2, 28rem);
  -moz-column-gap: 7rem;
       column-gap: 7rem;
  row-gap: 3.75rem;
  margin-top: 7.8125rem;
}
@media screen and (max-width: 767px) {
  .p-privacy__items {
    grid-template-columns: 1fr;
    row-gap: 2.1333333333rem;
    margin-top: 3.2rem;
  }
}
.p-privacy__item-ttl {
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-privacy__item-ttl {
    font-size: 1.2rem;
  }
}
.p-privacy__item-txt {
  margin-top: 1.125rem;
  padding-left: 1.25rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-privacy__item-txt {
    margin-top: 0.6666666667rem;
    padding-left: 0.8rem;
    font-size: 0.9333333333rem;
    line-height: 1.8;
  }
}
.p-privacy__contact {
  margin-top: 7.125rem;
  padding-top: 0.875rem;
  border-top: 1px solid #bbb;
}
@media screen and (max-width: 767px) {
  .p-privacy__contact {
    margin-top: 3.2rem;
    padding-top: 1.0666666667rem;
  }
}
.p-privacy__contact-ttl {
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-privacy__contact-ttl {
    font-size: 1rem;
  }
}
.p-privacy__contact-txt {
  margin-top: 1.625rem;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-privacy__contact-txt {
    margin-top: 0.9333333333rem;
    font-size: 0.9333333333rem;
  }
}
.p-privacy__contact-form {
  color: #00a5ff;
}
@media (any-hover: hover) {
  .p-privacy__contact-form:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}

body:has(.p-privacy) .l-footer {
  padding-top: 17.25rem;
}
@media screen and (max-width: 767px) {
  body:has(.p-privacy) .l-footer {
    padding-top: 5.3333333333rem;
  }
}

.l-main.--contact {
  min-height: 100vh;
  min-height: 100svh;
  background-color: #00a5ff;
}

body:has(.l-main.--contact) {
  background-color: #00a5ff;
}
body:has(.l-main.--contact) .l-footer {
  display: none;
}
body:has(.l-main.--contact) .l-header:not(.is-ham-open) {
  color: #ffffff;
}
body:has(.l-main.--contact) .l-header:not(.is-ham-open) .l-header__logo img,
body:has(.l-main.--contact) .l-header:not(.is-ham-open) .l-header__menu-icon img {
  filter: brightness(0) invert(1);
}

.p-contact-top {
  display: grid;
  place-items: start center;
  padding: 13.4375rem 0 10.75rem;
}
@media screen and (max-width: 767px) {
  .p-contact-top {
    padding: 6.6666666667rem 1.3333333333rem 4rem;
  }
}
.p-contact-top__list {
  display: flex;
  gap: 14.75rem;
}
@media screen and (max-width: 767px) {
  .p-contact-top__list {
    flex-direction: column;
    gap: 2.6666666667rem;
  }
}
.p-contact-top__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .p-contact-top__link {
    gap: 1.3333333333rem;
  }
}
@media (any-hover: hover) {
  .p-contact-top__link:hover .p-contact-top__arrow {
    background-color: #00a5ff;
  }
  .p-contact-top__link:hover .p-contact-top__arrow::before {
    background-color: #ffffff;
  }
}
.p-contact-top__en {
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 2.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.15;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-contact-top__en {
    font-size: 1.8666666667rem;
  }
}
.p-contact-top__circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 23.25rem;
  height: 23.25rem;
  padding-top: 3.875rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #ffffff;
  color: #00a5ff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contact-top__circle {
    width: 17.3333333333rem;
    height: 17.3333333333rem;
    padding-top: 2.9333333333rem;
  }
}
.p-contact-top__ttl {
  font-size: 1.4375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4782608696;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-contact-top__ttl {
    font-size: 1.2rem;
  }
}
.p-contact-top__txt {
  margin-top: 1.375rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7777777778;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-contact-top__txt {
    margin-top: 0.8rem;
    font-size: 0.9333333333rem;
  }
}
.p-contact-top__arrow {
  position: relative;
  display: block;
  width: 5.8125rem;
  aspect-ratio: 1;
  border: 2px solid #00a5ff;
  border-radius: 50%;
  transition: background-color 0.3s ease;
}
.p-contact-top__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(0.875rem * 1.5);
  height: 1.25rem;
  background-color: #00a5ff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' preserveAspectRatio='none'%3E%3Cpath d='M10 0V19M2 11l8 8 8-8' fill='none' stroke='%23000' stroke-width='2.2' stroke-linejoin='miter'/%3E%3C/svg%3E") no-repeat center/100% 100%;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' preserveAspectRatio='none'%3E%3Cpath d='M10 0V19M2 11l8 8 8-8' fill='none' stroke='%23000' stroke-width='2.2' stroke-linejoin='miter'/%3E%3C/svg%3E") no-repeat center/100% 100%;
  transform: translate(-50%, -50%);
  transition: background-color 0.3s ease;
}
.p-contact-top__arrow {
  flex-shrink: 0;
  height: 5.8125rem;
  margin-top: auto;
  margin-bottom: 1.9375rem;
}
@media screen and (max-width: 767px) {
  .p-contact-top__arrow {
    width: 4.2666666667rem;
    height: 4.2666666667rem;
    margin-bottom: 1.6rem;
  }
}

.p-contact {
  padding: 8.625rem 0 9.375rem 3.9375rem;
}
@media screen and (max-width: 767px) {
  .p-contact {
    display: flex;
    flex-direction: column-reverse;
    gap: 1.6rem;
    padding: 5.8666666667rem 1.0666666667rem 4rem;
  }
}
.p-contact.--narrow, .p-contact.is-confirm {
  padding-top: 7.3125rem;
}
@media screen and (max-width: 767px) {
  .p-contact.--narrow, .p-contact.is-confirm {
    padding-top: 5.8666666667rem;
  }
}
.p-contact__card {
  width: 63rem;
  padding: 5.75rem 7rem 9.375rem;
  border-radius: 2.5rem;
  background-color: #ffffff;
  color: #6a6a6a;
}
@media screen and (max-width: 767px) {
  .p-contact__card {
    width: auto;
    padding: 2.6666666667rem 1.3333333333rem 4rem;
    border-radius: 1.6rem;
  }
}
.--narrow .p-contact__card, .is-confirm .p-contact__card {
  padding-top: 3.8125rem;
  padding-bottom: 7.125rem;
}
@media screen and (max-width: 767px) {
  .--narrow .p-contact__card, .is-confirm .p-contact__card {
    padding-top: 2.6666666667rem;
    padding-bottom: 3.2rem;
  }
}
.p-contact__ttl {
  font-size: 1.75rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-contact__ttl {
    font-size: 1.3333333333rem;
    line-height: 1.6;
  }
}
.p-contact__ttl.--done {
  margin-top: 4.8125rem;
}
@media screen and (max-width: 767px) {
  .p-contact__ttl.--done {
    margin-top: 2.6666666667rem;
  }
}
.p-contact__done-txt {
  margin-top: 1rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-contact__done-txt {
    margin-top: 0.8rem;
    font-size: 0.9333333333rem;
  }
}
.p-contact__done-btn {
  display: flex;
  justify-content: center;
  margin-top: 5.875rem;
}
@media screen and (max-width: 767px) {
  .p-contact__done-btn {
    margin-top: 2.6666666667rem;
  }
}
.p-contact__done-btn a {
  display: grid;
  place-items: center;
  width: 11.875rem;
  height: 4rem;
  border-radius: 2.5rem;
  background-color: #00a5ff;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.05em;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-contact__done-btn a {
    width: 12.6666666667rem;
    height: 3.7333333333rem;
    font-size: 1rem;
  }
}
@media (any-hover: hover) {
  .p-contact__done-btn a:hover {
    opacity: 0.8;
  }
}

.is-confirm > .p-contact-side {
  display: none;
}
.p-contact-side {
  position: fixed;
  top: 10.6875rem;
  right: 5.5625rem;
  display: grid;
  gap: 4.625rem;
}
@media screen and (max-width: 767px) {
  .p-contact-side {
    position: static;
    display: flex;
    justify-content: center;
    gap: 1.6rem;
  }
}
.p-contact-side__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-contact-side__item {
    gap: 0.5333333333rem;
  }
}
@media (any-hover: hover) {
  .p-contact-side__item:hover .p-contact-side__arrow {
    background-color: #00a5ff;
  }
  .p-contact-side__item:hover .p-contact-side__arrow::before {
    background-color: #ffffff;
  }
}
.p-contact-side__en {
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.3125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.380952381;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-contact-side__en {
    font-size: 1rem;
  }
}
.p-contact-side__circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 11.25rem;
  height: 11.25rem;
  padding-top: 2.875rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #ffffff;
  color: #00a5ff;
}
@media screen and (max-width: 767px) {
  .p-contact-side__circle {
    width: 8.5333333333rem;
    height: 8.5333333333rem;
    padding-top: 2rem;
  }
}
.p-contact-side__ja {
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-contact-side__ja {
    font-size: 0.8666666667rem;
  }
}
.p-contact-side__arrow {
  position: relative;
  display: block;
  width: 2.5rem;
  aspect-ratio: 1;
  border: 2px solid #00a5ff;
  border-radius: 50%;
  transition: background-color 0.3s ease;
}
.p-contact-side__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(0.375rem * 1.5);
  height: 0.625rem;
  background-color: #00a5ff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' preserveAspectRatio='none'%3E%3Cpath d='M10 0V19M2 11l8 8 8-8' fill='none' stroke='%23000' stroke-width='2.2' stroke-linejoin='miter'/%3E%3C/svg%3E") no-repeat center/100% 100%;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' preserveAspectRatio='none'%3E%3Cpath d='M10 0V19M2 11l8 8 8-8' fill='none' stroke='%23000' stroke-width='2.2' stroke-linejoin='miter'/%3E%3C/svg%3E") no-repeat center/100% 100%;
  transform: translate(-50%, -50%);
  transition: background-color 0.3s ease;
}
.p-contact-side__arrow {
  margin-top: auto;
  margin-bottom: 2.125rem;
  border-width: 2px;
}
@media screen and (max-width: 767px) {
  .p-contact-side__arrow {
    width: 2.1333333333rem;
    margin-bottom: 1.4666666667rem;
  }
}
.p-contact-side__item:not([aria-current]) .p-contact-side__circle {
  border: 3px solid #ffffff;
  background-color: transparent;
  color: #ffffff;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-contact-side__item:not([aria-current]) .p-contact-side__circle {
    border-width: 2px;
  }
}
.p-contact-side__item:not([aria-current]) .p-contact-side__arrow {
  border-color: #ffffff;
  background-color: #ffffff;
}
@media (any-hover: hover) {
  .p-contact-side__item:not([aria-current]):hover .p-contact-side__circle {
    background-color: #ffffff;
    color: #00a5ff;
  }
}

.p-form-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.625rem;
  height: 4.875rem;
}
@media screen and (max-width: 767px) {
  .p-form-steps {
    gap: 2.6666666667rem;
    height: 3.7333333333rem;
  }
}
.p-form-steps__item {
  position: relative;
  display: grid;
  place-items: center;
  width: 3rem;
  height: 2rem;
  border-bottom: 2px solid #bbb;
  color: #bbb;
  font-size: 1.125rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-form-steps__item {
    width: 2.9333333333rem;
    height: 1.8666666667rem;
    font-size: 1rem;
  }
}
.p-form-steps__item + .p-form-steps__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -2.125rem;
  width: 0.625rem;
  height: 1px;
  background-color: #bbb;
}
@media screen and (max-width: 767px) {
  .p-form-steps__item + .p-form-steps__item::before {
    left: -1.6rem;
    width: 0.5333333333rem;
  }
}
.p-form-steps__item.is-current {
  border-color: #6a6a6a;
  color: #6a6a6a;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
.p-contact__ttl + .p-form-steps {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-contact__ttl + .p-form-steps {
    margin-top: 1.6rem;
  }
}
.--thanks > .p-form-steps {
  margin-top: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .--thanks > .p-form-steps {
    margin-top: 0;
  }
}

.p-form {
  margin-top: 9.125rem;
}
@media screen and (max-width: 767px) {
  .p-form {
    margin-top: 2.1333333333rem;
  }
}
.p-form.--inquiry {
  margin-top: 4.5625rem;
}
@media screen and (max-width: 767px) {
  .p-form.--inquiry {
    margin-top: 1.6rem;
  }
}
.is-confirm .p-form {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .is-confirm .p-form {
    margin-top: 1.6rem;
  }
}
.p-form .wpcf7-form-control-wrap {
  display: block;
}
.p-form__view {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6rem;
}
@media screen and (max-width: 767px) {
  .p-form__view {
    gap: 3.2rem;
  }
}
.--inquiry > .p-form__view {
  gap: 4.875rem;
}
@media screen and (max-width: 767px) {
  .--inquiry > .p-form__view {
    gap: 2.6666666667rem;
  }
}
.p-form__view[hidden] {
  display: none;
}
.p-form__view > * {
  width: 100%;
}
.p-form__view > .p-form-steps {
  width: auto;
}
.p-form__view > .p-form__submit {
  width: 20.125rem;
}
@media screen and (max-width: 767px) {
  .p-form__view > .p-form__submit {
    width: 17.3333333333rem;
  }
}
.p-form__view.--confirm {
  display: block;
}
.p-form__view.--confirm[hidden] {
  display: none;
}
.p-form__type {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  height: 10.125rem;
  padding-top: 1.6875rem;
  border-radius: 0.9375rem;
  background-color: #f5f6f6;
}
@media screen and (max-width: 767px) {
  .p-form__type {
    gap: 0.8rem;
    height: auto;
    padding: 1.3333333333rem 1.0666666667rem;
    border-radius: 0.8rem;
  }
}
.p-form__type-ttl {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-form__type-ttl {
    font-size: 0.8666666667rem;
  }
}
.p-form__sec {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-form__sec {
    gap: 1.6rem;
  }
}
.p-form__sec-ttl {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  float: left;
  width: 100%;
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-form__sec-ttl {
    gap: 1.0666666667rem;
    font-size: 1.2rem;
  }
}
.p-form__sec-ttl + * {
  clear: both;
}
.p-form__note {
  color: #f00;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-form__note {
    font-size: 0.8rem;
  }
}
.p-form__items {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-form__items {
    gap: 1.3333333333rem;
  }
}
.p-form__items[hidden] {
  display: none;
}
.p-form__items.--inquiry > .p-form__note {
  margin: 0.625rem 0 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-form__items.--inquiry > .p-form__note {
    margin: 0;
  }
}
.p-form__item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-form__item {
    gap: 0.4rem;
  }
}
.p-form__item.--radios {
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-form__item.--radios {
    gap: 0.6666666667rem;
  }
}
.p-form__item.--file {
  margin-top: -3rem;
}
@media screen and (max-width: 767px) {
  .p-form__item.--file {
    margin-top: 0;
  }
}
.p-form__label {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-form__label {
    font-size: 0.9333333333rem;
  }
}
.p-form__req {
  color: #f00;
}
.p-form__row {
  display: grid;
  grid-template-columns: repeat(2, 23rem);
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-form__row {
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
  }
}
.p-form__row.--col3 {
  grid-template-columns: repeat(3, 14.5rem);
}
@media screen and (max-width: 767px) {
  .p-form__row.--col3 {
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 0.5333333333rem;
  }
}
.p-form__input, .p-form__select select, .p-form__textarea {
  width: 100%;
  border: 1px solid transparent;
  border-radius: 0.3125rem;
  background-color: #f5f6f6;
  color: #6a6a6a;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.1em;
  transition: border-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-form__input, .p-form__select select, .p-form__textarea {
    border-radius: 0.3333333333rem;
    font-size: 16px;
  }
}
.p-form__input::-moz-placeholder, .p-form__select select::-moz-placeholder, .p-form__textarea::-moz-placeholder {
  color: #bbb;
}
.p-form__input::placeholder, .p-form__select select::placeholder, .p-form__textarea::placeholder {
  color: #bbb;
}
.p-form__input:focus, .p-form__select select:focus, .p-form__textarea:focus {
  border-color: #00a5ff;
  outline: none;
}
.p-form__input.is-invalid, .p-form__input.wpcf7-not-valid, .p-form__select select.is-invalid, .p-form__select select.wpcf7-not-valid, .p-form__textarea.is-invalid, .p-form__textarea.wpcf7-not-valid {
  border-color: #f00;
}
.p-form__input, .p-form__select select {
  height: 4.1875rem;
  padding: 0 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-form__input, .p-form__select select {
    height: 3.4666666667rem;
    padding: 0 0.9333333333rem;
  }
}
.p-form__select {
  position: relative;
  display: block;
  width: 14.5rem;
}
@media screen and (max-width: 767px) {
  .p-form__select {
    width: 100%;
  }
}
.p-form__select.--md {
  width: 17.4375rem;
}
@media screen and (max-width: 767px) {
  .p-form__select.--md {
    width: 100%;
  }
}
.p-form__select select {
  padding-right: 3.125rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #f5f6f6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 8'%3E%3Cpath d='M.5.5 9 7.3 17.5.5' fill='none' stroke='%23bbb' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 1.375rem center/1.125rem auto;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-form__select select {
    padding-right: 2.4rem;
    background-position: right 0.9333333333rem center;
    background-size: 0.9333333333rem auto;
  }
}
.p-form__select select:has(option[value=""]:checked) {
  color: #bbb;
}
.p-form__select select option {
  color: #6a6a6a;
}
.p-form__textarea {
  height: 27.0625rem;
  padding: 0.875rem 1.25rem;
  border-radius: 0.9375rem;
  line-height: 2.1111111111;
  resize: vertical;
}
@media screen and (max-width: 767px) {
  .p-form__textarea {
    height: 16rem;
    padding: 0.6666666667rem 0.9333333333rem;
    border-radius: 0.8rem;
  }
}
.p-form__radios {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-form__radios {
    gap: 0.8rem 1.6rem;
  }
}
.p-form__radios .wpcf7-form-control-wrap,
.p-form__radios .wpcf7-radio,
.p-form__radios .wpcf7-list-item {
  display: contents;
}
.p-form__radios.--type {
  justify-content: center;
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  .p-form__radios.--type {
    gap: 1.6rem;
  }
}
.p-form__radios.--type label span {
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
.p-form__radio, .p-form__radios label {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.25rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.8;
  letter-spacing: 0.15em;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-form__radio, .p-form__radios label {
    gap: 0.5333333333rem;
    font-size: 1rem;
  }
}
.p-form__radio input, .p-form__radios label input {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  border: 1px solid #bbb;
  border-radius: 50%;
  background-color: #ffffff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-form__radio input, .p-form__radios label input {
    width: 1.8666666667rem;
    height: 1.8666666667rem;
  }
}
.p-form__radio input::before, .p-form__radios label input::before {
  content: "";
  width: 50%;
  height: 50%;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #6a6a6a;
  transform: scale(0);
  transition: transform 0.2s ease;
}
.p-form__radio input:checked::before, .p-form__radios label input:checked::before {
  transform: scale(1);
}
.p-form__radio input:focus-visible, .p-form__radios label input:focus-visible {
  outline: 2px solid #00a5ff;
  outline-offset: 2px;
}
.--type .p-form__radio input:checked, .--type .p-form__radios label input:checked {
  border-color: #00a5ff;
}
.--type .p-form__radio input:checked::before, .--type .p-form__radios label input:checked::before {
  background-color: #00a5ff;
}
.p-form__radios.--type label input:checked {
  border-color: #00a5ff;
}
.p-form__radios.--type label input:checked::before {
  background-color: #00a5ff;
}
.p-form__address {
  display: grid;
  grid-template-columns: 14.5rem 31.75rem;
  grid-template-rows: 4.1875rem auto;
  justify-content: space-between;
  row-gap: 5.9375rem;
}
@media screen and (max-width: 767px) {
  .p-form__address {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    row-gap: 0.8rem;
  }
}
.p-form__zip {
  display: grid;
  grid-template-columns: 5.6875rem 1fr 6.6875rem;
  align-items: center;
  -moz-column-gap: 0.6875rem;
       column-gap: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .p-form__zip {
    grid-template-columns: 5.3333333333rem 0.8rem 6.6666666667rem;
    -moz-column-gap: 0.5333333333rem;
         column-gap: 0.5333333333rem;
  }
}
.p-form__zip .p-form__input {
  padding: 0;
  text-align: center;
}
.p-form__zip-sep {
  height: 1px;
  background-color: #bbb;
}
.p-form__zip-side {
  grid-row: 2;
  align-self: start;
}
@media screen and (max-width: 767px) {
  .p-form__zip-side {
    grid-row: auto;
  }
}
.p-form__zip-btn {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2.875rem;
  width: 14.5rem;
  height: 2.75rem;
  padding: 0 0.875rem;
  border-radius: 100px;
  background-color: #ecf4f5;
  color: #757575;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-form__zip-btn {
    gap: 1.6rem;
    width: auto;
    height: 2.6666666667rem;
    padding: 0 0.8rem 0 1.3333333333rem;
    font-size: 0.8666666667rem;
  }
}
.p-form__zip-btn .c-circle-arrow {
  border-color: #757575;
}
.p-form__zip-btn .c-circle-arrow img {
  opacity: 0.55;
}
.p-form__zip-btn:disabled {
  opacity: 0.6;
}
.p-form__zip-note {
  margin-top: 1.0625rem;
  font-size: 0.8125rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.6153846154;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-form__zip-note {
    margin-top: 0.4rem;
    font-size: 0.8rem;
  }
}
.p-form__addr {
  display: grid;
  grid-row: 1/3;
  grid-column: 2;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .p-form__addr {
    grid-row: auto;
    grid-column: auto;
    gap: 0.8rem;
  }
}
.p-form__file {
  padding: 5.375rem 4.6875rem;
  border-radius: 0.9375rem;
  background-color: #f5f6f6;
}
@media screen and (max-width: 767px) {
  .p-form__file {
    padding: 1.3333333333rem;
    border-radius: 0.8rem;
  }
}
.p-form__file-inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 3rem;
  height: 16.375rem;
  padding-left: 6.5rem;
  border: 1px dashed #bbb;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-form__file-inner {
    flex-direction: column;
    justify-content: center;
    gap: 0.8rem;
    height: auto;
    padding: 1.6rem 0.8rem;
  }
}
.is-drag .p-form__file-inner {
  border-color: #00a5ff;
  background-color: #e1f2ff;
}
.p-form__file-inner .wpcf7-form-control-wrap {
  position: static;
}
.p-form__file-inner input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.p-form__file-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 0.625rem;
  width: 10rem;
  height: 10rem;
  aspect-ratio: 1;
  padding-bottom: 1.875rem;
  border: 1px solid #757575;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #ffffff;
  color: #757575;
  font-size: 0.875rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
}
@media screen and (max-width: 767px) {
  .p-form__file-btn {
    gap: 0.5333333333rem;
    width: 8rem;
    height: 8rem;
    padding-bottom: 1.4666666667rem;
    font-size: 0.8rem;
  }
}
.p-form__file-btn picture {
  width: 2.75rem;
}
@media screen and (max-width: 767px) {
  .p-form__file-btn picture {
    width: 2.2666666667rem;
  }
}
.p-form__file-txt {
  color: #757575;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
  white-space: pre;
}
@media screen and (max-width: 767px) {
  .p-form__file-txt {
    font-size: 0.8666666667rem;
    text-align: center;
  }
}
.p-form__file-name {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
  color: #6a6a6a;
  font-size: 0.9375rem;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .p-form__file-name {
    gap: 0.5333333333rem;
    margin-top: 0.6666666667rem;
    font-size: 0.8666666667rem;
  }
}
.p-form__file-name[hidden] {
  display: none;
}
.p-form__file-clear {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid #bbb;
  border-radius: 50%;
  background-color: #ffffff;
  color: #6a6a6a;
  font-size: 0.875rem;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-form__file-clear {
    width: 1.6rem;
    height: 1.6rem;
    font-size: 0.8666666667rem;
  }
}
@media (any-hover: hover) {
  .p-form__file-clear:hover {
    background-color: #6a6a6a;
    color: #ffffff;
  }
}
.p-form__file-note {
  margin-top: 0.125rem;
  color: #757575;
  font-size: 0.9375rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.4666666667;
}
@media screen and (max-width: 767px) {
  .p-form__file-note {
    font-size: 0.8rem;
  }
}
.p-form__consent {
  display: flex;
  gap: 5.5rem;
  color: #757575;
}
@media screen and (max-width: 767px) {
  .p-form__consent {
    flex-direction: column;
    gap: 0.8rem;
  }
}
.p-form__consent-ttl {
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-form__consent-ttl {
    font-size: 0.9333333333rem;
  }
}
.p-form__consent-body {
  display: grid;
  gap: 1.125rem;
  width: 29.875rem;
  font-size: 0.9375rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.7333333333;
}
@media screen and (max-width: 767px) {
  .p-form__consent-body {
    gap: 0.8rem;
    width: auto;
    font-size: 0.8666666667rem;
  }
}
.p-form__consent-body a {
  color: #00c4ff;
  text-decoration: underline;
}
.p-form__check, .p-form__check label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.4666666667;
  cursor: pointer;
}
.p-form__check .wpcf7-form-control-wrap,
.p-form__check .wpcf7-acceptance,
.p-form__check .wpcf7-list-item {
  display: contents;
}
.p-form__check input {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 1.875rem;
  height: 1.875rem;
  margin: 0;
  border: 1px solid #757575;
  border-radius: 0.25rem;
  background-color: #ffffff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-form__check input {
    width: 1.6rem;
    height: 1.6rem;
  }
}
.p-form__check input::before {
  content: "";
  width: 30%;
  height: 55%;
  margin-top: -12%;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(45deg);
}
.p-form__check input:checked {
  border-color: #00a5ff;
  background-color: #00a5ff;
}
.p-form__check input:focus-visible {
  outline: 2px solid #00a5ff;
  outline-offset: 2px;
}
.p-form__submit {
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  font-family: var(--ff, var(--aoto), "Zen Kaku Gothic Antique", sans-serif);
  text-align: center;
  cursor: pointer;
  width: 20.125rem;
  height: 8.75rem;
  border-radius: 8.75rem;
  background-color: #00a5ff;
  color: #ffffff;
  font-size: 1.3125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-form__submit {
    width: 17.3333333333rem;
    height: 5.8666666667rem;
    font-size: 1.1333333333rem;
  }
}
@media (any-hover: hover) {
  .p-form__submit:hover {
    opacity: 0.8;
  }
}

.p-confirm {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-confirm {
    margin-top: 2.1333333333rem;
  }
}
.p-confirm__grp {
  display: grid;
  gap: 0.5rem;
}
.p-confirm__grp + .p-confirm__grp {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #bbb;
}
@media screen and (max-width: 767px) {
  .p-confirm__grp + .p-confirm__grp {
    margin-top: 1.0666666667rem;
    padding-top: 1.0666666667rem;
  }
}
.p-confirm__row {
  display: grid;
  grid-template-columns: 15.75rem 1fr;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-confirm__row {
    grid-template-columns: 1fr;
    font-size: 0.8666666667rem;
  }
}
@media screen and (max-width: 767px) {
  .p-confirm__row dt {
    color: #757575;
    font-size: 0.8rem;
  }
}
.p-confirm__row dd {
  white-space: pre-wrap;
  word-break: break-all;
}
.p-confirm__btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 4.25rem;
}
@media screen and (max-width: 767px) {
  .p-confirm__btns {
    margin-top: 2.6666666667rem;
  }
}
.p-confirm__btns .p-form__submit {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-confirm__btns .p-form__submit {
    margin-top: 2.1333333333rem;
  }
}
.p-confirm__back {
  display: grid;
  place-items: center;
  width: 20.125rem;
  height: 3.875rem;
  border-radius: 8.75rem;
  background-color: #bbb;
  color: #ffffff;
  font-size: 1.3125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-confirm__back {
    width: 17.3333333333rem;
    height: 3.4666666667rem;
    font-size: 1.0666666667rem;
  }
}
@media (any-hover: hover) {
  .p-confirm__back:hover {
    opacity: 0.8;
  }
}
.p-confirm__note {
  margin-top: 1.375rem;
  font-size: 0.875rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-confirm__note {
    margin-top: 0.8rem;
    font-size: 0.8rem;
  }
}
.p-confirm__btns .wpcf7-spinner {
  margin: 1rem 0 0;
}
.p-confirm__btns .wpcf7-response-output {
  margin: 1.5rem 0 0;
  padding: 0.75rem 1.25rem;
  font-size: 0.875rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-confirm__btns .wpcf7-response-output {
    font-size: 0.8666666667rem;
  }
}

.p-contact-top__item:nth-child(1) .p-contact-top__circle,
.p-contact-side__item:nth-child(1) .p-contact-side__circle {
  view-transition-name: contact-entry;
}

.p-contact-top__item:nth-child(2) .p-contact-top__circle,
.p-contact-side__item:nth-child(2) .p-contact-side__circle {
  view-transition-name: contact-inquiry;
}

.p-contact-top__item:nth-child(1) .p-contact-top__en,
.p-contact-side__item:nth-child(1) .p-contact-side__en {
  view-transition-name: contact-entry-en;
}

.p-contact-top__item:nth-child(2) .p-contact-top__en,
.p-contact-side__item:nth-child(2) .p-contact-side__en {
  view-transition-name: contact-inquiry-en;
}

.p-contact__card {
  view-transition-name: contact-card;
}

::view-transition-group(contact-entry),
::view-transition-group(contact-inquiry),
::view-transition-group(contact-entry-en),
::view-transition-group(contact-inquiry-en),
::view-transition-group(contact-card) {
  animation-duration: 0.3s;
  animation-timing-function: ease-in-out;
}

::view-transition-new(contact-card):only-child {
  animation: contact-card-in 0.3s ease-in-out both;
}

::view-transition-old(contact-card):only-child {
  animation: contact-card-out 0.3s ease-in-out both;
}

@keyframes contact-card-in {
  from {
    transform: translateY(100vh);
  }
}
@keyframes contact-card-out {
  to {
    transform: translateY(100vh);
  }
}
.p-rec-fv {
  position: relative;
  height: min(53.125rem, 100svh);
  overflow: hidden;
  background-color: #00a5ff;
}
@media screen and (max-width: 767px) {
  .p-rec-fv {
    height: min(41.5333333333rem, 100svh);
  }
}
.p-rec-fv__bg {
  position: absolute;
  inset: 0;
}
.p-rec-fv__bg picture,
.p-rec-fv__bg img {
  width: 100%;
  height: 100%;
}
.p-rec-fv__bg img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-rec-fv__people:not(.is-ready) {
  visibility: hidden;
}
.p-rec-fv__people {
  position: absolute;
  top: 8.125rem;
  left: -108.625rem;
  width: 212.5rem;
  transform: translateX(138.6875rem);
  transform-origin: 0 0;
}
@media screen and (max-width: 767px) {
  .p-rec-fv__people {
    top: 9.8666666667rem;
    left: -90.9333333333rem;
    width: 121.6rem;
    transform: translate(98.0666666667rem, 0.6rem) scale(0.6256);
  }
}
.p-rec-fv__svg {
  display: block;
  width: 100%;
  height: auto;
}
.p-rec-fv__catch {
  position: absolute;
  bottom: 1.5rem;
  left: 1.1875rem;
  width: 87.5625rem;
}
@media screen and (max-width: 767px) {
  .p-rec-fv__catch {
    bottom: 1.3333333333rem;
    left: 2.3333333333rem;
    width: 15.1333333333rem;
  }
}
.p-rec-fv__catch img {
  width: 100%;
  height: auto;
}
.p-rec-fv__catch .--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-rec-fv__catch .--pc {
    display: none;
  }
  .p-rec-fv__catch .--sp {
    display: block;
  }
}
.p-rec-fv__copy {
  position: absolute;
  top: 6.5625rem;
  left: 34.25rem;
}
@media screen and (min-width: 768px) {
  .p-rec-fv__copy {
    transform: translateY(73.1875rem);
  }
}
.p-rec-fv__copy {
  color: #ffffff;
  white-space: nowrap;
  font-size: 1.375rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 2.6363636364;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-rec-fv__copy {
    top: auto;
    bottom: 1.3333333333rem;
    left: 50%;
    width: -moz-max-content;
    width: max-content;
    padding: 0.8rem 1.0666666667rem;
    border-radius: 0.8rem;
    background-color: rgba(0, 165, 255, 0.75);
    font-size: 0.9333333333rem;
    line-height: 2.2;
    transform: translateX(-50%);
    opacity: 0;
  }
}
.p-rec-fv__copy span {
  display: block;
}

.p-rec-fv__bg {
  display: none;
}

.p-rec-intro {
  position: relative;
}
.p-rec-intro__img {
  width: 100%;
  aspect-ratio: 1440/960;
  min-height: 100svh;
}
.p-rec-intro__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-rec-intro__img {
    aspect-ratio: 375/420;
  }
}
.p-rec-intro__btn {
  position: absolute;
  top: 45.125rem;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  width: 10.625rem;
  height: 10.625rem;
  padding-top: 3rem;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.8);
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5625;
  letter-spacing: 0.1em;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-rec-intro__btn {
    top: auto;
    bottom: 2.1333333333rem;
    gap: 0.6666666667rem;
    width: 8rem;
    height: 8rem;
    padding-top: 2.1333333333rem;
    font-size: 0.8666666667rem;
  }
}
@media (any-hover: hover) {
  .p-rec-intro__btn:hover .p-rec-intro__arrow {
    transform: translateX(0.375rem);
  }
}
.p-rec-intro__arrow {
  width: 2.125rem;
  transition: transform 0.4s cubic-bezier(0.2, 0.64, 0.315, 1);
}
@media screen and (max-width: 767px) {
  .p-rec-intro__arrow {
    width: 1.6rem;
  }
}

.p-rec-about {
  padding: 20.625rem 0 19.5625rem;
}
@media screen and (max-width: 767px) {
  .p-rec-about {
    padding: 5.3333333333rem 1.3333333333rem;
  }
}
.p-rec-about__ttl {
  position: absolute;
  top: 3.5rem;
  left: 4.5rem;
  z-index: 1;
  font-size: 1.75rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-rec-about__ttl {
    position: relative;
    top: auto;
    left: auto;
    order: -1;
    margin-bottom: -0.5333333333rem;
    font-size: 1.2666666667rem;
    white-space: normal;
  }
}
.p-rec-about__card {
  position: relative;
  width: 72rem;
  height: 44.1875rem;
  margin: 0 auto;
  border-radius: 3.125rem;
  background-color: #f0f2e6;
}
@media screen and (max-width: 767px) {
  .p-rec-about__card {
    display: flex;
    flex-direction: column;
    width: auto;
    height: auto;
    padding: 1.6rem 1.3333333333rem 2.1333333333rem;
    border-radius: 1.6rem;
  }
}
.p-rec-about__body {
  position: absolute;
  top: 8.75rem;
  left: 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-rec-about__body {
    position: static;
    order: 1;
  }
}
.p-rec-about__catch {
  font-size: 1.75rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-about__catch {
    font-size: 1.4666666667rem;
  }
}
.p-rec-about__txt {
  margin-top: 6.875rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-about__txt {
    margin-top: 1.0666666667rem;
    font-size: 0.9333333333rem;
  }
}
.p-rec-about__link {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-top: 0.5rem;
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-about__link {
    gap: 1.0666666667rem;
    margin-top: 1.3333333333rem;
    font-size: 1.3333333333rem;
  }
}
.p-rec-about__illust {
  position: absolute;
  top: -0.5625rem;
  left: 23.625rem;
  width: 46.25rem;
}
@media screen and (max-width: 767px) {
  .p-rec-about__illust {
    position: static;
    width: 100%;
  }
}
.p-rec-about__illust img {
  width: 100%;
  height: auto;
}

.p-rec-jobs {
  position: relative;
  z-index: 1;
  height: 53.125rem;
  padding: 4.25rem 4rem 0;
  overflow-x: clip;
  background-color: #00a5ff;
  color: #6a6a6a;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs {
    height: auto;
    padding: 2.6666666667rem 2.3333333333rem 0.3333333333rem;
  }
}
.p-rec-jobs__list {
  display: grid;
  grid-template-columns: repeat(4, 18.625rem);
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.p-rec-jobs__head, .p-rec-jobs__card {
  position: relative;
  display: block;
  height: 20.3125rem;
  border-radius: 0.625rem;
  background-color: #ffffff;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__head, .p-rec-jobs__card {
    height: 22.6rem;
    border-radius: 0 0 1.3333333333rem 1.3333333333rem;
  }
}
@media (any-hover: hover) {
  .p-rec-jobs__head:hover, .p-rec-jobs__card:hover {
    transform: translateY(-0.375rem);
  }
}
.p-rec-jobs__grid {
  position: absolute;
  top: 2.375rem;
  left: 2.9375rem;
  width: 12.75rem;
  height: 10.625rem;
  background-image: linear-gradient(#e9e9e9 1px, transparent 1px), linear-gradient(90deg, #e9e9e9 1px, transparent 1px);
  background-size: 2.125rem 2.125rem;
  border-right: 1px solid #e9e9e9;
  border-bottom: 1px solid #e9e9e9;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__grid {
    top: 2.6666666667rem;
    left: 3.7333333333rem;
    width: 12.8666666667rem;
    height: 12.8666666667rem;
    background-size: 2.1333333333rem 2.1333333333rem;
  }
}
.p-rec-jobs__head-ttl {
  position: absolute;
  top: 3rem;
  left: 0;
  width: 100%;
  color: #000;
  font-size: 2.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4705882353;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__head-ttl {
    top: 4rem;
    font-size: 2.1333333333rem;
    line-height: 1.25;
  }
}
.p-rec-jobs__head-arrow {
  position: absolute;
  top: 14.5rem;
  left: 8.3125rem;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #00a5ff url("../img/common/arrow-btn-white.svg") no-repeat center/40% auto;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__head-arrow {
    top: 15.4666666667rem;
    left: calc(50% - 1.3333333333rem);
    width: 2.6666666667rem;
    height: 2.6666666667rem;
  }
}
.p-rec-jobs__head-en {
  position: absolute;
  bottom: 0.6875rem;
  left: 0;
  width: 100%;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.6875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.1111111111;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__head-en {
    top: 19.8666666667rem;
    bottom: auto;
    font-size: 1.8rem;
    line-height: 1.1481481481;
  }
}
.p-rec-jobs__no {
  position: absolute;
  top: 0.625rem;
  left: 0.8125rem;
  font-size: 0.9375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__no {
    top: 0.6666666667rem;
    left: 0.9333333333rem;
    font-size: 1rem;
  }
}
.p-rec-jobs__no::after {
  content: "";
  position: absolute;
  top: 1.8125rem;
  left: 1.6875rem;
  width: 2.375rem;
  height: 1px;
  background-color: #6a6a6a;
  transform: rotate(-30deg);
  transform-origin: left center;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__no::after {
    top: 1.8666666667rem;
    left: 1.8rem;
    width: 2.5333333333rem;
  }
}
.p-rec-jobs__rail, .p-rec-jobs__cards {
  display: contents;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__rail {
    position: relative;
    z-index: 2;
    display: block;
    margin: -7.3333333333rem -2.3333333333rem 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .p-rec-jobs__rail::-webkit-scrollbar {
    display: none;
  }
  .p-rec-jobs__cards {
    display: flex;
    gap: 1.0666666667rem;
    width: -moz-max-content;
    width: max-content;
    padding: 7.3333333333rem 2.3333333333rem 0.6666666667rem;
  }
  .p-rec-jobs__cards > li {
    flex-shrink: 0;
    width: 20.3333333333rem;
    margin: 0 -1.5333333333rem -3.4rem;
    transform: scale(0.85);
    transform-origin: center top;
    scroll-snap-align: center;
  }
}
.p-rec-jobs__item {
  position: relative;
}
.p-rec-jobs__item.is-say-open {
  z-index: 5;
}
.p-rec-jobs__bubble {
  position: absolute;
  z-index: 2;
  top: 0.625rem;
  right: 0.625rem;
  width: 1.375rem;
  height: 1.375rem;
  padding: 0;
  cursor: pointer;
  transform-origin: 50% 100%;
  animation: rec-bubble-hop 3.2s ease-in-out infinite;
  transition: filter 0.3s ease;
}
@media (any-hover: hover) {
  .p-rec-jobs__bubble:hover {
    filter: brightness(0.8);
  }
}
.is-say-open .p-rec-jobs__bubble {
  animation: none;
  filter: brightness(0.7);
}
@media (prefers-reduced-motion: reduce) {
  .p-rec-jobs__bubble {
    animation: none;
  }
}
.p-rec-jobs__bubble {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M11 1C5.5 1 1 4.8 1 9.5c0 2.8 1.6 5.2 4 6.8L4 21l5.2-3.2c.6.1 1.2.2 1.8.2 5.5 0 10-3.8 10-8.5S16.5 1 11 1z' fill='%23bbb'/%3E%3C/svg%3E") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__bubble {
    top: 0.6666666667rem;
    right: 0.9333333333rem;
    width: 1.5333333333rem;
    height: 1.5333333333rem;
  }
}
.p-rec-jobs__say {
  position: absolute;
  z-index: 3;
  top: -7.125rem;
  left: 3.375rem;
  width: 17.8125rem;
  height: 8.4375rem;
  padding: 1.5625rem 1.5rem 0 1.5625rem;
  background: url(../img/recruit/job-balloon.svg?v=20261020) no-repeat center/100% 100%;
  color: #000;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  text-align: justify;
  transform-origin: 78% 100%;
  animation: rec-say-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__say {
    top: -7.8666666667rem;
    right: 0.2666666667rem;
    left: auto;
    width: 19rem;
    height: 9rem;
    padding: 1.6666666667rem 1.6rem 0 1.6666666667rem;
    font-size: 0.9333333333rem;
  }
}
.p-rec-jobs__say[hidden] {
  display: none;
}
.p-rec-jobs__ttl {
  position: absolute;
  top: 2rem;
  left: 0;
  width: 100%;
  font-size: 1.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.35;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__ttl {
    top: 2.7333333333rem;
    font-size: 1.3333333333rem;
    line-height: 1.4;
  }
}
@media screen and (min-width: 768px) {
  .p-rec-jobs__card:has(.p-rec-jobs__sub) .p-rec-jobs__ttl {
    top: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__card:has(.p-rec-jobs__sub) .p-rec-jobs__ttl {
    top: 1.7333333333rem;
  }
  .p-rec-jobs__card .p-rec-jobs__sub {
    top: 3.84rem;
  }
}
.p-rec-jobs__sub {
  position: absolute;
  top: 3.15rem;
  left: 0;
  width: 100%;
  font-size: 0.8125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5384615385;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__sub {
    top: 4.2666666667rem;
    font-size: 0.8rem;
  }
}
.p-rec-jobs__img {
  position: absolute;
  top: 4.875rem;
  left: 4.0625rem;
  width: 10.5rem;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__img {
    top: 5.6666666667rem;
    left: calc(50% - 5.7333333333rem);
    width: 11.4666666667rem;
    border-radius: 1.3333333333rem;
    overflow: hidden;
  }
}
.p-rec-jobs__arrow {
  position: absolute;
  top: 9.375rem;
  left: 15.875rem;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: #00a5ff url("../img/common/arrow-btn-white.svg") no-repeat center/40% auto;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__arrow {
    top: 10.6rem;
    left: 17.5333333333rem;
    width: 1.6rem;
    height: 1.6rem;
  }
}
.p-rec-jobs__txt {
  position: absolute;
  top: 16.4375rem;
  left: 1.5rem;
  width: 15.625rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4666666667;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__txt {
    top: 18.2rem;
    left: 2rem;
    width: 16.3333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    text-align: justify;
  }
}
.p-rec-jobs__en {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 3.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.0634920635;
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-rec-jobs__en {
    position: static;
    margin-top: 2.6666666667rem;
    font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
    --ff: initial;
    --ff: var(--aoto), Zen Kaku Gothic Antique, sans-serif;
    font-size: 2.6666666667rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
    line-height: 1.25;
    letter-spacing: 0.1em;
    white-space: normal;
  }
}

.p-rec-office {
  margin-top: 27.125rem;
  aspect-ratio: 1440/902;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-rec-office {
    margin-top: 9.2rem;
    aspect-ratio: 375/451;
  }
}
.p-rec-office img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-rec-work {
  padding: 17.1875rem 0 22.75rem;
  overflow: clip;
  background-color: #f8e6e6;
  color: #824626;
}
@media screen and (max-width: 767px) {
  .p-rec-work {
    padding: 2.6666666667rem 0 4rem;
  }
}
.p-rec-work__ttl {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-bottom: 0.25rem;
  border-bottom: 0.375rem solid #824626;
  font-size: 3.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6923076923;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-rec-work__ttl {
    width: auto;
    margin: 0 2.3333333333rem;
    padding-bottom: 0.2rem;
    border-bottom-width: 0.6666666667rem;
    font-size: 2.1333333333rem;
    line-height: 1.59375;
    text-align: center;
  }
}
.p-rec-work__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 5rem 9rem 0;
}
@media screen and (max-width: 767px) {
  .p-rec-work__foot {
    flex-direction: column;
    gap: 1.3333333333rem;
    margin: 1.3333333333rem 2.3333333333rem 0;
  }
}
.p-rec-work__en {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 3.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 0.7936507937;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-rec-work__en {
    font-size: 1.9666666667rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: center;
  }
}
.p-rec-work__more {
  display: flex;
  align-items: center;
  gap: 2rem;
  font-size: 1.4rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-work__more {
    gap: 1.3333333333rem;
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
@media (any-hover: hover) {
  .p-rec-work__more:hover .p-rec-work__more-arrow {
    transform: translateX(0.25rem);
  }
}
.p-rec-work__more-arrow {
  display: grid;
  place-items: center;
  width: 2.90625rem;
  height: 2.90625rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #ffffff;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-rec-work__more-arrow {
    width: 3.3333333333rem;
    height: 3.3333333333rem;
  }
}
.p-rec-work__more-arrow::before {
  content: "";
  width: 0.65625rem;
  aspect-ratio: 1;
  background-color: #824626;
  -webkit-mask: url("../img/common/arrow-circle.svg") no-repeat center/contain;
          mask: url("../img/common/arrow-circle.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-rec-work__more-arrow::before {
    width: 1.0666666667rem;
  }
}

.p-rec-staff {
  position: relative;
  margin-top: 14.8125rem;
}
@media screen and (max-width: 767px) {
  .p-rec-staff {
    display: grid;
    grid-template-columns: 100%;
    margin-top: 5rem;
  }
}
.p-rec-staff__intro {
  position: absolute;
  top: -10.4375rem;
  left: 9.0625rem;
  z-index: 2;
  width: 18.625rem;
  height: 25.5rem;
  padding: 3.4375rem 2.6875rem 0;
  border-radius: 0.9375rem;
  background-color: rgba(255, 255, 255, 0.9);
}
@media screen and (max-width: 767px) {
  .p-rec-staff__intro {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    margin: 0 3.4rem 2.6666666667rem;
    padding: 2rem;
    border-radius: 1.3333333333rem;
    background-color: rgba(255, 255, 255, 0.8);
  }
}
.p-rec-staff__intro-ttl {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-rec-staff__intro-ttl {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
    white-space: normal;
  }
}
.p-rec-staff__intro-txt {
  margin-top: 2.5625rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .p-rec-staff__intro-txt {
    margin-top: 1.3333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    text-align: justify;
  }
}
.p-rec-staff__nav {
  position: absolute;
  top: -4.75rem;
  right: 9rem;
  display: flex;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-rec-staff__nav {
    position: relative;
    top: auto;
    right: auto;
    z-index: 1;
    grid-row: 2;
    grid-column: 1;
    align-self: center;
    justify-content: space-between;
    padding: 0 1rem;
    pointer-events: none;
  }
  .p-rec-staff__nav button {
    pointer-events: auto;
  }
}
.p-rec-staff__nav-btn {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #824626;
  border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M6.5.4 11.3 5.5 6.5 10.6M0 5.5h11.3' fill='none' stroke='%23824626'/%3E%3C/svg%3E") no-repeat center/0.75rem auto;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-rec-staff__nav-btn {
    width: 2.4rem;
    height: 2.4rem;
    background-size: 0.7333333333rem auto;
  }
}
.p-rec-staff__nav-btn:disabled {
  opacity: 0.3;
}
@media screen and (max-width: 767px) {
  .p-rec-staff__nav-btn {
    width: 2.6666666667rem;
    height: 2.6666666667rem;
    background-size: 0.8rem auto;
  }
}
.p-rec-staff__nav-btn.--prev {
  transform: scaleX(-1);
}
.p-rec-staff__track {
  display: flex;
  gap: 5rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
@media screen and (max-width: 767px) {
  .p-rec-staff__track {
    grid-row: 2;
    grid-column: 1;
    gap: 5.3333333333rem;
    padding: 0 3.8666666667rem;
    scroll-padding: 0 3.8666666667rem;
  }
}
.p-rec-staff__track::-webkit-scrollbar {
  display: none;
}
.p-rec-staff__card {
  position: relative;
  flex-shrink: 0;
  width: 18.75rem;
  height: 28.0625rem;
  overflow: hidden;
  border-radius: 1.875rem;
  scroll-snap-align: start;
}
@media screen and (max-width: 767px) {
  .p-rec-staff__card {
    width: 17.2666666667rem;
    height: 24.4rem;
    border-radius: 1.7333333333rem;
  }
}
.p-rec-staff__card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease;
  will-change: transform;
  backface-visibility: hidden;
}
@media (any-hover: hover) {
  .p-rec-staff__card:hover img {
    transform: scale(1.04);
  }
}
.p-rec-staff__tag {
  position: absolute;
  bottom: 1.25rem;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0 0.5rem 0.5rem 0;
  background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 767px) {
  .p-rec-staff__tag {
    bottom: 1.8666666667rem;
    gap: 0.8rem;
    padding: 0.5333333333rem 0.8rem;
    border-radius: 0 0.3333333333rem 0.3333333333rem 0;
    background-color: rgba(255, 255, 255, 0.7);
  }
}
.p-rec-staff__dept {
  font-size: 1rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  .p-rec-staff__dept {
    font-size: 1.0666666667rem;
    line-height: 1.25;
  }
}
.p-rec-staff__name {
  font-size: 0.9375rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-rec-staff__name {
    font-size: 1rem;
    line-height: 1.6;
  }
}
@media screen and (max-width: 767px) {
  .p-rec-staff .p-rec-work__foot {
    grid-row: 3;
  }
}
@media screen and (max-width: 767px) {
  .p-rec-staff__card {
    height: auto;
    overflow: visible;
    border-radius: 0;
  }
  .p-rec-staff__card picture {
    display: block;
    aspect-ratio: 305/430;
    overflow: hidden;
    border-radius: 1.7333333333rem;
  }
  .p-rec-staff__tag {
    position: static;
    gap: 0.4rem;
    padding: 0.8rem 3.7333333333rem 0 0;
    border-radius: 0;
    background-color: transparent;
  }
  .p-rec-staff__arrow {
    right: 0;
    bottom: 0;
    background-color: transparent;
  }
}
.p-rec-staff__arrow {
  position: absolute;
  right: 1rem;
  bottom: 1.25rem;
  width: 2rem;
  height: 2rem;
  border: 1px solid #824626;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M6.5.4 11.3 5.5 6.5 10.6M0 5.5h11.3' fill='none' stroke='%23824626'/%3E%3C/svg%3E") no-repeat center/36% auto;
}
@media screen and (max-width: 767px) {
  .p-rec-staff__arrow {
    right: 0.8rem;
    bottom: 0.8rem;
    width: 3.2666666667rem;
    height: 3.2666666667rem;
    border: 0;
    background-size: 0.6rem auto;
  }
  .p-rec-staff__arrow::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 1.6rem;
    height: 1.6rem;
    margin: auto;
    border: 1px solid #824626;
    border-radius: 50%;
  }
}

.p-rec-talk {
  margin-top: 17.4375rem;
}
@media screen and (max-width: 767px) {
  .p-rec-talk {
    margin-top: 6.6666666667rem;
  }
  .p-rec-talk .p-rec-work__foot {
    margin-top: 2rem;
  }
}
.p-rec-talk__head {
  display: flex;
  gap: 6.5625rem;
  margin: 0 9rem;
}
@media screen and (max-width: 767px) {
  .p-rec-talk__head {
    flex-direction: column;
    gap: 1.3333333333rem;
    margin: 0 2.3333333333rem;
  }
}
.p-rec-talk__ttl {
  flex-shrink: 0;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-rec-talk__ttl {
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.p-rec-talk__txt {
  width: 26.9375rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-rec-talk__txt {
    width: auto;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
    text-align: justify;
  }
}
.p-rec-talk__track {
  --idx: 0;
  display: flex;
  gap: 5rem;
  margin-top: 4.25rem;
  transform: translateX(calc(16rem - var(--idx) * 63rem));
  transition: transform 0.8s cubic-bezier(0.2, 0.64, 0.315, 1);
}
@media screen and (max-width: 767px) {
  .p-rec-talk__track {
    gap: 2.6666666667rem;
    margin-top: 2rem;
    transform: translateX(calc(50vw - 11.2rem - var(--idx) * 25.0666666667rem));
  }
}
.p-rec-talk__card {
  position: relative;
  flex-shrink: 0;
  width: 58rem;
  height: 28rem;
  overflow: hidden;
  border-radius: 5rem;
}
@media screen and (max-width: 767px) {
  .p-rec-talk__card {
    width: 22.4rem;
    height: 18.1333333333rem;
    border-radius: 3.1333333333rem;
  }
}
.p-rec-talk__card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-rec-talk__label {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.625rem 1rem 0.625rem 1.5rem;
  border-radius: 100px;
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 2.25;
  letter-spacing: 0.05em;
  white-space: nowrap;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-rec-talk__label {
    bottom: 1.0666666667rem;
    gap: 0.6666666667rem;
    padding: 0.6666666667rem 1.3333333333rem;
    border-radius: 1.8666666667rem;
    font-size: 0.9333333333rem;
    line-height: 1.5;
  }
}
.p-rec-talk__no {
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid #824626;
  border-radius: 50%;
  flex-shrink: 0;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-rec-talk__no {
    width: 1.6rem;
    height: 1.6rem;
    font-size: 0.8666666667rem;
  }
}
.p-rec-talk__ctrl {
  display: flex;
  align-items: center;
  gap: 1.4375rem;
}
@media screen and (max-width: 767px) {
  .p-rec-talk__ctrl {
    gap: 0.6666666667rem;
  }
}
.p-rec-talk__more {
  margin-right: 0.5625rem;
  font-size: 1.4rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-talk__more {
    margin-right: 0.6666666667rem;
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
.p-rec-talk__num {
  display: grid;
  place-items: center;
  width: 2.90625rem;
  height: 2.90625rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #ffffff;
  color: #824626;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.0625rem;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-rec-talk__num {
    width: 2.6666666667rem;
    height: 2.6666666667rem;
    font-size: 1.44rem;
  }
}
.p-rec-talk__num.is-active {
  background-color: #824626;
  color: #ffffff;
}

.p-rec-more {
  width: 67rem;
  margin: 19.6875rem 0 0 auto;
  padding: 3.8125rem 0 3rem 10rem;
  border-radius: 14.25rem 0 0 14.25rem;
  background-color: #ffffff;
  position: relative;
}
.p-rec-more::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  width: 50vw;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-rec-more::after {
    content: none;
  }
}
@media screen and (max-width: 767px) {
  .p-rec-more {
    width: auto;
    margin: 6.6666666667rem 2.3333333333rem 0;
    padding: 4rem 2rem 2rem;
    border-radius: 12.6666666667rem 12.6666666667rem 0 0;
  }
}
.p-rec-more__ttl {
  font-size: 1.625rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.4615384615;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-more__ttl {
    font-size: 1.3333333333rem;
    line-height: 1.45;
    text-align: center;
  }
}
.p-rec-more__list {
  display: flex;
  gap: 5rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-rec-more__list {
    flex-direction: column;
    gap: 1.2666666667rem;
    margin-top: 1.3333333333rem;
  }
}
.p-rec-more__card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 24rem;
  font-size: 1.3125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-more__card {
    gap: 0.6666666667rem;
    width: auto;
    font-size: 1.1333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.5294117647;
  }
}
.p-rec-more__card picture {
  display: block;
  aspect-ratio: 384/216;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-rec-more__card picture {
    aspect-ratio: 245/137;
  }
}
.p-rec-more__card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease;
  will-change: transform;
  backface-visibility: hidden;
}
@media (any-hover: hover) {
  .p-rec-more__card:hover img {
    transform: scale(1.04);
  }
}

.p-rec-env {
  margin-top: 11.75rem;
}
@media screen and (max-width: 767px) {
  .p-rec-env {
    margin-top: 6.6666666667rem;
  }
}
.p-rec-env__ttl {
  margin-left: 9rem;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-rec-env__ttl {
    margin: 0 2.3333333333rem;
    font-size: 1.3333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.p-rec-env__lead {
  margin: 1.6875rem 0 0 8.875rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-rec-env__lead {
    margin: 1.3333333333rem 2.3333333333rem 0;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
    text-align: justify;
  }
  .p-rec-env__lead br {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-aspect-ratio: 1440/880) {
  .p-rec-env__card {
    position: sticky !important;
    top: max(5.625rem, (100svh + 5.625rem - 46.875rem) / 2);
    z-index: 1;
  }
}
.p-rec-env__card {
  position: relative;
  width: 72rem;
  height: 46.875rem;
  margin: 4rem auto 0;
  padding: 3.625rem 7rem 0;
  border-radius: 18.75rem 18.75rem 0 0;
  background-color: #ffffff;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-rec-env__card {
    width: auto;
    height: auto;
    margin: 2rem 1.4rem 0;
    padding: 2rem 1.3333333333rem;
    border-radius: 3.3333333333rem 3.3333333333rem 0 0;
  }
}
.p-rec-env__card + .p-rec-env__card {
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-rec-env__card + .p-rec-env__card {
    margin-top: 2.6666666667rem;
  }
}
.p-rec-env__card-ttl {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.375rem 3.0625rem;
  font-size: 1.75rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.3571428571;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-env__card-ttl {
    display: flex;
    align-items: center;
    min-height: 2.8rem;
    padding: 0 2.0666666667rem;
    font-size: 1.0666666667rem;
    line-height: 1.3125;
    text-align: center;
  }
}
.p-rec-env__card-ttl::before, .p-rec-env__card-ttl::after {
  content: "";
  position: absolute;
  top: 0;
  width: 1.1875rem;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 51'%3E%3Cpath d='M18.5.5C8 4 1 14 1 25.5S8 47 18.5 50.5' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center/100% 100%;
}
@media screen and (max-width: 767px) {
  .p-rec-env__card-ttl::before, .p-rec-env__card-ttl::after {
    top: 0;
    width: 1.0666666667rem;
    height: 100%;
  }
}
.p-rec-env__card-ttl::before {
  left: 0;
}
.p-rec-env__card-ttl::after {
  right: 0;
  transform: scaleX(-1);
}
.p-rec-env__card-body {
  display: flex;
  justify-content: space-between;
  margin-top: 4.5625rem;
}
@media screen and (max-width: 767px) {
  .p-rec-env__card-body {
    flex-direction: column;
    align-items: center;
    gap: 1.3333333333rem;
    margin-top: 2rem;
  }
}
.p-rec-env__card-main {
  display: flex;
  flex-direction: column;
  width: 22.5rem;
}
@media screen and (max-width: 767px) {
  .p-rec-env__card-main {
    align-self: stretch;
    width: auto;
  }
}
.p-rec-env__card-lead {
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-rec-env__card-lead {
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: justify;
  }
}
.p-rec-env__tags {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  margin-top: 4.9375rem;
}
@media screen and (max-width: 767px) {
  .p-rec-env__tags {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.6666666667rem;
    margin-top: 1.3333333333rem;
  }
}
.p-rec-env__tags li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  height: 3rem;
  padding: 0 0.75rem 0 1.25rem;
  border-radius: 0 100px 100px 0;
  background-color: #824626;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-env__tags li {
    gap: 0.4666666667rem;
    height: auto;
    padding: 0.2666666667rem 0.5333333333rem;
    border-radius: 0 1.0666666667rem 1.0666666667rem 0;
    font-size: 0.8rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.0833333333;
  }
}
.p-rec-env__tags li::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9.3' fill='none' stroke='%23fff' stroke-width='1.2'/%3E%3Cpath d='m5.5 10 3.3 3.3L17 4.5' fill='none' stroke='%2362e15a' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-rec-env__tags li::after {
    width: 0.6666666667rem;
    height: 0.6666666667rem;
  }
}
.p-rec-env__card-more {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-top: auto;
  padding-left: 0.9375rem;
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-env__card-more {
    align-self: center;
    gap: 0.5333333333rem;
    margin-top: 1.3333333333rem;
    padding-left: 0;
    font-size: 0.8666666667rem;
    line-height: 1;
  }
  .p-rec-env__card-more .c-circle-arrow {
    --size: 1.6rem;
  }
}
.p-rec-env__card-img {
  width: 31.5rem;
  overflow: hidden;
  border-radius: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-rec-env__card-img {
    width: 15rem;
    aspect-ratio: 1;
    border-radius: 2.6666666667rem;
    background-color: #f4f4f4;
  }
}
.p-rec-env__card-img img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-rec-env__card-img img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.p-rec-env__card-en {
  position: absolute;
  top: 27.875rem;
  left: 68.3125rem;
  color: #f8e6e6;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5625;
  letter-spacing: 0.08em;
  white-space: nowrap;
  transform: rotate(-90deg);
  transform-origin: left top;
  translate: 0 15rem;
}
@media screen and (max-width: 767px) {
  .p-rec-env__card-en {
    top: auto;
    right: 0.4666666667rem;
    bottom: 0.6rem;
    left: auto;
    font-size: 1.6rem;
    line-height: 0.8333333333;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    transform-origin: center;
    translate: none;
  }
}

.p-rec-branch {
  padding-top: 14.4375rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-rec-branch {
    padding-top: 5.3333333333rem;
  }
}
.p-rec-branch__ttl {
  margin-left: 9rem;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-rec-branch__ttl {
    margin-left: 1.3333333333rem;
    font-size: 1.6rem;
  }
}
.p-rec-branch__lead {
  margin: 1.6875rem 0 0 8.875rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-branch__lead {
    margin: 0.8rem 1.3333333333rem 0;
    font-size: 0.9333333333rem;
  }
}
.p-rec-branch__track {
  display: flex;
  gap: 3.125rem;
  margin-top: 1.5625rem;
  padding: 0 9rem;
  overflow-x: auto;
  scrollbar-width: none;
  cursor: grab;
}
@media screen and (max-width: 767px) {
  .p-rec-branch__track {
    gap: 1.0666666667rem;
    margin-top: 1.6rem;
    padding: 0 1.3333333333rem;
  }
}
.p-rec-branch__track::-webkit-scrollbar {
  display: none;
}
.p-rec-branch__track.is-dragging {
  cursor: grabbing;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.p-rec-branch__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  gap: 0.875rem;
  width: 25.625rem;
}
@media screen and (max-width: 767px) {
  .p-rec-branch__card {
    gap: 0.5333333333rem;
    width: 17.3333333333rem;
  }
}
.p-rec-branch__img {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 410/247;
  overflow: hidden;
  border-radius: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-rec-branch__img {
    border-radius: 1.6rem;
  }
}
.p-rec-branch__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease;
  will-change: transform;
  backface-visibility: hidden;
  pointer-events: none;
}
.p-rec-branch__card:hover .p-rec-branch__img img {
  transform: scale(1.04);
}
.p-rec-branch__plus {
  position: absolute;
  top: 50%;
  right: 1.875rem;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background-color: #ffffff;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-rec-branch__plus {
    right: 1.0666666667rem;
    width: 1.8666666667rem;
    height: 1.8666666667rem;
  }
}
.p-rec-branch__plus::before, .p-rec-branch__plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40%;
  height: 1.5px;
  background-color: #000;
  transform: translate(-50%, -50%);
}
.p-rec-branch__plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.p-rec-branch__name {
  font-size: 1.25rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.3;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-branch__name {
    font-size: 1rem;
  }
}
.p-rec-branch__bar {
  position: relative;
  width: 25.625rem;
}
.p-rec-branch__bar[hidden] {
  display: none;
}
.p-rec-branch__bar {
  height: 1px;
  margin: 5.8125rem auto 0;
  background-color: #000;
  cursor: grab;
  touch-action: none;
}
.p-rec-branch__bar.is-dragging {
  cursor: grabbing;
}
.p-rec-branch__bar > i {
  position: absolute;
  inset: -20px 0;
}
@media screen and (max-width: 767px) {
  .p-rec-branch__bar {
    width: 13.3333333333rem;
    margin-top: 2.1333333333rem;
  }
}
.p-rec-branch__bar::before, .p-rec-branch__bar::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 6px;
  height: 6px;
  background-color: #000;
  transform: translateY(-50%) rotate(45deg);
}
.p-rec-branch__bar::before {
  left: 0;
}
.p-rec-branch__bar::after {
  right: 0;
}
.p-rec-branch__bar span {
  position: absolute;
  top: 50%;
  left: calc(var(--p, 0) * (100% - 1.5rem));
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid #000;
  border-radius: 50%;
  background-color: #ffffff;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-rec-branch__bar span {
    left: calc(var(--p, 0) * (100% - 1.3333333333rem));
    width: 1.3333333333rem;
    height: 1.3333333333rem;
  }
}
.p-rec-branch__row {
  width: 72.0625rem;
  margin: 4.875rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-rec-branch__row {
    width: auto;
    margin: 2.6666666667rem 1.3333333333rem 0;
  }
}
.p-rec-branch__row .p-co-link-row__btn {
  margin-right: 0;
}

.p-rec-modal {
  width: 52rem;
  max-width: calc(100% - 32px);
  max-height: calc(100% - 32px);
  margin: auto;
  padding: 0;
  border: 1px solid #000;
  border-radius: 3.125rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-rec-modal {
    width: auto;
    border-radius: 1.6rem;
  }
}
.p-rec-modal::backdrop {
  background-color: rgba(217, 217, 217, 0.6);
  backdrop-filter: blur(4px);
}
.p-rec-modal__inner {
  position: relative;
  padding: 3.25rem 3.3125rem 3.5rem 3.375rem;
}
@media screen and (max-width: 767px) {
  .p-rec-modal__inner {
    padding: 2.6666666667rem 1.3333333333rem 1.6rem;
  }
}
.p-rec-modal__close {
  position: absolute;
  top: 2.25rem;
  right: 2.25rem;
  width: 1.5rem;
  height: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-rec-modal__close {
    top: 0.9333333333rem;
    right: 0.9333333333rem;
    width: 1.4666666667rem;
    height: 1.4666666667rem;
  }
}
.p-rec-modal__close::before, .p-rec-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
  transform: rotate(45deg);
}
.p-rec-modal__close::after {
  transform: rotate(-45deg);
}
.p-rec-modal__name {
  font-size: 1.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-rec-modal__name {
    font-size: 0.8666666667rem;
  }
}
.p-rec-modal__ttl {
  margin-top: 0.75rem;
  font-size: 1.75rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-rec-modal__ttl {
    margin-top: 0.4rem;
    font-size: 1.2rem;
  }
}
.p-rec-modal__body {
  display: flex;
  justify-content: space-between;
  gap: 2.25rem;
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-rec-modal__body {
    flex-direction: column-reverse;
    gap: 1.0666666667rem;
    margin-top: 1.0666666667rem;
  }
}
.p-rec-modal__txt {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-modal__txt {
    font-size: 0.8666666667rem;
  }
}
.p-rec-modal__img {
  flex-shrink: 0;
  width: 16.875rem;
  height: -moz-fit-content;
  height: fit-content;
  overflow: hidden;
  border-radius: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-rec-modal__img {
    width: 100%;
    border-radius: 1.0666666667rem;
  }
}
.p-rec-modal__img img {
  width: 100%;
  height: auto;
}
.p-rec-modal__voice {
  display: flex;
  align-items: flex-end;
  min-height: 7.5rem;
  margin-top: 1.625rem;
  border-radius: 0.625rem;
  background-color: #e3f0c0;
}
@media screen and (max-width: 767px) {
  .p-rec-modal__voice {
    flex-direction: column;
    align-items: stretch;
    margin-top: 1.3333333333rem;
    border-radius: 0.6666666667rem;
  }
}
.p-rec-modal__voice-img {
  flex-shrink: 0;
  width: 13.5625rem;
  margin-top: -1.875rem;
}
@media screen and (max-width: 767px) {
  .p-rec-modal__voice-img {
    width: 10.6666666667rem;
    margin-top: -1.3333333333rem;
  }
}
.--no-photo .p-rec-modal__voice-img {
  width: 6.875rem;
}
@media screen and (max-width: 767px) {
  .--no-photo .p-rec-modal__voice-img {
    width: 5.4666666667rem;
  }
}
.p-rec-modal__voice-img img {
  display: block;
  width: 100%;
  height: auto;
}
.p-rec-modal__voice-txt {
  align-self: center;
  padding: 1.25rem 1.5rem 1.25rem 0.25rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
}
@media screen and (max-width: 767px) {
  .p-rec-modal__voice-txt {
    padding: 0.8rem 1.0666666667rem 1.0666666667rem;
    font-size: 0.8666666667rem;
  }
}

.p-rec-info {
  margin-top: 16.0625rem;
  padding: 13.125rem 0 13.1875rem;
  background: #ecf4f5 url("../img/recruit/info-bg.jpg") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-rec-info {
    margin-top: 5.3333333333rem;
    padding: 4.2666666667rem 1.3333333333rem;
  }
}
.p-rec-info__inner {
  width: 72rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-rec-info__inner {
    width: auto;
  }
}
.p-rec-info__ttl {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-rec-info__ttl {
    font-size: 1.6rem;
  }
}
.p-rec-info__list {
  display: grid;
  grid-template-columns: repeat(2, 33.8125rem);
  justify-content: space-between;
  row-gap: 3.5rem;
  margin-top: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .p-rec-info__list {
    grid-template-columns: 1fr;
    row-gap: 0.8rem;
    margin-top: 1.6rem;
  }
}
.p-rec-info__link, .p-rec-info__entry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #ffffff;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  letter-spacing: 0.05em;
  transition: background-color 0.3s ease;
}
@media (any-hover: hover) {
  .p-rec-info__link:hover, .p-rec-info__entry:hover {
    background-color: #ecf4f5;
  }
}
.p-rec-info__link {
  height: 10rem;
  padding: 0 3.625rem 0 3.125rem;
  border-radius: 0.375rem;
  font-size: 1.5rem;
  line-height: 1.5833333333;
}
@media screen and (max-width: 767px) {
  .p-rec-info__link {
    height: 4.8rem;
    padding: 0 1.3333333333rem;
    border-radius: 0.4rem;
    font-size: 1.0666666667rem;
  }
}
.p-rec-info__entry {
  height: 9.875rem;
  margin-top: 6.25rem;
  padding: 0 7.625rem 0 6.25rem;
  border-radius: 100px;
  font-size: 1.75rem;
  line-height: 1.3571428571;
}
@media screen and (max-width: 767px) {
  .p-rec-info__entry {
    height: 5.3333333333rem;
    margin-top: 2.1333333333rem;
    padding: 0 1.8666666667rem;
    font-size: 1.2rem;
  }
}
.p-rec-info__entry span {
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
.p-rec-info__entry.--mynavi {
  justify-content: flex-start;
  gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-rec-info__entry.--mynavi {
    gap: 1.0666666667rem;
  }
}
.p-rec-info__entry.--mynavi span {
  text-decoration: none;
}
.p-rec-info__entry.--mynavi .c-circle-arrow {
  margin-left: auto;
}
.p-rec-info__mynavi {
  width: 12.8125rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-rec-info__mynavi {
    width: 5.8666666667rem;
  }
}
.p-rec-info .c-circle-arrow {
  --size: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-rec-info .c-circle-arrow {
    --size: 1.8666666667rem;
  }
}

.c-outro.--recruit .c-outro__pickup {
  padding-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  .c-outro.--recruit .c-outro__pickup {
    padding-top: 5.3333333333rem;
  }
}

.l-header__recruit {
  position: absolute;
  top: 1.5625rem;
  right: 7.1875rem;
  display: none;
  gap: 1rem;
  pointer-events: auto;
}
body:has(.l-main.--recruit) .l-header__recruit {
  display: flex;
}
@media screen and (max-width: 767px) {
  body:has(.l-main.--recruit) .l-header__recruit {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-header__recruit {
    top: 5.4666666667rem;
    right: 0;
    left: 0;
    justify-content: center;
    gap: 1.0666666667rem;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .l-header.is-scrolled .l-header__recruit, .l-header.is-ham-open .l-header__recruit {
    opacity: 0;
    visibility: hidden;
  }
}

.l-header__pill {
  display: grid;
  place-items: center;
  height: 2.875rem;
  padding: 0 1.5rem;
  border: 2px solid #000;
  border-radius: 2.25rem;
  background-color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.05em;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .l-header__pill {
    height: 3.0666666667rem;
    padding: 0 1.6rem;
    border-radius: 2.4rem;
    font-size: 1.0666666667rem;
  }
}
@media (any-hover: hover) {
  .l-header__pill:hover {
    background-color: #000;
    color: #ffffff;
  }
}

.l-header__req {
  position: relative;
  width: var(--w, 7.5625rem);
  height: 2.875rem;
  border: 2px solid #000;
  border-radius: 2.25rem;
  background-color: #ffffff;
  overflow: hidden;
  transition: width 0.5s cubic-bezier(0.65, 0, 0.35, 1) 0.2s, background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .l-header__req {
    width: var(--w, 8.0666666667rem);
    height: 3.0666666667rem;
    border-radius: 2.4rem;
  }
}
.l-header__req.is-open {
  width: var(--w-open, 15.0625rem);
  transition: width 0.5s cubic-bezier(0.65, 0, 0.35, 1) 0.25s, background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .l-header__req.is-open {
    width: var(--w-open, 16.0666666667rem);
  }
}
@media (any-hover: hover) {
  .l-header__req:not(.is-open):has(.l-header__req-btn:hover) {
    background-color: #000;
  }
  .l-header__req:not(.is-open):has(.l-header__req-btn:hover) .l-header__req-btn {
    color: #ffffff;
  }
}

.l-header__req-btn {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 0 1.5rem;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.05em;
  white-space: nowrap;
  transition: opacity 0.3s ease 0.65s, visibility 0s linear 0.65s, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .l-header__req-btn {
    padding: 0 1.6rem;
    font-size: 1.0666666667rem;
  }
}
.is-open > .l-header__req-btn {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s, color 0.3s ease;
}

.l-header__req-links {
  position: absolute;
  top: 50%;
  left: 0;
  display: flex;
  gap: 0.625rem;
  width: -moz-max-content;
  width: max-content;
  padding: 0 0.5rem;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-50%);
  transition: opacity 0.25s ease, visibility 0s linear 0.25s;
}
@media screen and (max-width: 767px) {
  .l-header__req-links {
    gap: 0.6666666667rem;
    padding: 0 0.5333333333rem;
  }
}
.is-open > .l-header__req-links {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.35s ease 0.75s, visibility 0s linear 0.75s;
}

.l-header__req-link {
  padding: 0.3125rem 0.75rem;
  border-radius: 2.5rem;
  background-color: #757575;
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
  white-space: nowrap;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .l-header__req-link {
    padding: 0.3333333333rem 0.8rem;
    border-radius: 2.6666666667rem;
    font-size: 1rem;
  }
}
@media (any-hover: hover) {
  .l-header__req-link:hover {
    background-color: #000;
  }
}

@media (prefers-reduced-motion: reduce) {
  .l-header__req,
  .l-header__req.is-open,
  .l-header__req-btn,
  .l-header__req-links {
    transition-duration: 0s !important;
    transition-delay: 0s !important;
  }
}
@keyframes rec-bubble-hop {
  0%, 70%, 100% {
    transform: translateY(0) scale(1);
  }
  78% {
    transform: translateY(-22%) scale(1.08);
  }
  86% {
    transform: translateY(0) scale(0.96);
  }
  92% {
    transform: translateY(-8%) scale(1.02);
  }
}
@keyframes rec-say-in {
  from {
    opacity: 0;
    transform: scale(0.6);
  }
}
.p-rec-intro.is-overlap {
  position: relative;
  z-index: 2;
}

.p-rec-num {
  width: 72.0625rem;
  margin: 0 auto;
  padding-top: 9rem;
  color: #434343;
}
@media screen and (max-width: 767px) {
  .p-rec-num {
    width: auto;
    margin: 0 2.3333333333rem;
    padding-top: 5.3333333333rem;
  }
}
.p-rec-num__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 36.875rem;
  height: 14.5625rem;
  margin: 0 auto;
  border-radius: 50%;
  background-color: #cbedd2;
}
@media screen and (max-width: 767px) {
  .p-rec-num__heading {
    width: 20.3333333333rem;
    height: 8rem;
    gap: 1.6666666667rem;
  }
}
.p-rec-num__ttl {
  color: #1f874f;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-rec-num__ttl {
    font-size: 1.3333333333rem;
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.p-rec-num__eyes {
  width: 7.875rem;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-rec-num__eyes {
    width: 4.2666666667rem;
    margin-top: 0;
  }
}
.p-rec-num__group {
  margin-top: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-rec-num__group {
    margin-top: 6.6666666667rem;
  }
}
.p-rec-num__group.--org {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-rec-num__group.--org {
    margin-top: 2rem;
  }
}
.p-rec-num__group-ttl {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  color: #000;
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-num__group-ttl {
    gap: 0.8rem;
    font-size: 1.2rem;
    line-height: 1.5555555556;
  }
}
.p-rec-num__memo-icon {
  width: 3.0625rem;
}
@media screen and (max-width: 767px) {
  .p-rec-num__memo-icon {
    width: 2.1333333333rem;
  }
}
.p-rec-num__cols {
  display: grid;
  grid-template-columns: repeat(2, 35.5625rem);
  justify-content: space-between;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-rec-num__cols {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 2rem;
  }
}
.p-rec-num__col {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-rec-num__col {
    gap: 2rem;
  }
}
.p-rec-num__pair, .p-rec-num__row {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-rec-num__pair, .p-rec-num__row {
    flex-direction: column;
    gap: 2rem;
  }
}
.p-rec-num__row {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-rec-num__row {
    margin-top: 2rem;
  }
}
.p-rec-num__sp2 {
  display: contents;
}
@media screen and (max-width: 767px) {
  .p-rec-num__sp2 {
    display: flex;
    gap: 1rem;
  }
  .p-rec-num__sp2 .p-rec-num__card {
    display: flex;
    flex-direction: column;
    width: auto;
    flex: 1 1 0;
    min-width: 0;
    border-radius: 1.0666666667rem;
  }
  .p-rec-num__sp2 .p-rec-num__head {
    padding: 0.9333333333rem 1.0666666667rem 0;
  }
  .p-rec-num__sp2 .p-rec-num__card-ttl {
    font-size: 1rem;
    line-height: 1.4666666667;
  }
  .p-rec-num__sp2 .p-rec-num__card .p-rec-num__body {
    height: auto !important;
    margin-top: auto;
    padding: 0.4rem 0 0.8rem;
  }
  .p-rec-num__sp2 .p-rec-num__card .p-rec-num__abs {
    position: static;
    width: auto !important;
  }
  .p-rec-num__sp2 .p-rec-num__card .p-rec-num__abs > .p-rec-num__val {
    justify-content: center;
  }
  .p-rec-num__sp2 .p-rec-num__card .p-rec-num__v {
    font-size: 2.6666666667rem !important;
  }
  .p-rec-num__sp2 .p-rec-num__card .p-rec-num__u {
    font-size: 1.4666666667rem !important;
  }
}
.p-rec-num__card {
  position: relative;
  width: 35.5625rem;
  padding-bottom: 1px;
  border-radius: 0.625rem;
  background-color: #cbedd2;
  container-type: inline-size;
}
@media screen and (max-width: 767px) {
  .p-rec-num__card {
    width: 100%;
    overflow: hidden;
    border-radius: 1.3333333333rem;
  }
}
.p-rec-num__card.--half, .p-rec-num__card.--quarter {
  width: 17.3125rem;
}
@media screen and (max-width: 767px) {
  .p-rec-num__card.--half, .p-rec-num__card.--quarter {
    width: 100%;
  }
}
.p-rec-num__card.--full {
  width: 100%;
}
.--work .p-rec-num__card {
  background-color: #d7ecf3;
  color: #434343;
}
.--career .p-rec-num__card {
  margin-top: 1rem;
  background-color: #d5d0ad;
}
@media screen and (max-width: 767px) {
  .--career .p-rec-num__card {
    margin-top: 0.8rem;
  }
}
.--memo .p-rec-num__card {
  background-color: #dfd5f0;
}
.p-rec-num__head {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 1.125rem 1.375rem 0;
}
@media screen and (max-width: 767px) {
  .p-rec-num__head {
    flex-direction: column;
    gap: 0.6666666667rem;
    padding: 0.9333333333rem 2rem 0;
  }
}
.--memo .p-rec-num__head {
  flex-direction: column;
  gap: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .--memo .p-rec-num__head {
    gap: 0.6666666667rem;
  }
}
.p-rec-num__card-ttl {
  flex-shrink: 0;
  font-size: 1.375rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.3636363636;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-rec-num__card-ttl {
    font-size: 1.3333333333rem;
    line-height: 1.45;
  }
}
.--memo .p-rec-num__card-ttl {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .--memo .p-rec-num__card-ttl {
    font-size: 1.3333333333rem;
  }
}
.p-rec-num__card-txt {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.375;
}
@media screen and (max-width: 767px) {
  .p-rec-num__card-txt {
    font-size: 1rem;
    line-height: 1.6666666667;
    text-align: justify;
  }
}
.p-rec-num__body {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-rec-num__body[style*="--sh"] {
    height: calc(var(--sh) * 0.0666666667rem) !important;
  }
}
.p-rec-num__abs {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .p-rec-num__abs[style*="--sx"] {
    top: calc(var(--sy) * 0.0666666667rem) !important;
    left: calc(var(--sx) * 0.0666666667rem) !important;
  }
  .p-rec-num__abs[style*="--sw"] {
    width: calc(var(--sw) * 0.0666666667rem) !important;
  }
  .p-rec-num__abs[style*="--sw"] > .p-rec-num__val {
    justify-content: center;
  }
}
.p-rec-num__abs img {
  display: block;
  width: 100%;
  height: auto;
}
.p-rec-num__val {
  display: flex;
  align-items: baseline;
  gap: 0.7029876977cqw;
  color: #1f874f;
  white-space: nowrap;
}
.--work .p-rec-num__val {
  color: #43819c;
}
.--career .p-rec-num__val {
  color: #b96f59;
}
.--memo .p-rec-num__val {
  color: #7964a3;
}
.p-rec-num__v {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 9.841827768cqw;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.18;
}
.--half .p-rec-num__v, .--quarter .p-rec-num__v {
  font-size: 20.2166064982cqw;
}
.--full .p-rec-num__v {
  font-size: 4.8568950564cqw;
}
.--xl .p-rec-num__v {
  font-size: 10.1933216169cqw;
}
.--lg .p-rec-num__v {
  font-size: 10.5448154657cqw;
}
.--quarter .--lg .p-rec-num__v {
  font-size: 21.6606498195cqw;
}
.p-rec-num__u {
  font-size: 5.9753954306cqw;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
.--half .p-rec-num__u, .--quarter .p-rec-num__u {
  font-size: 12.274368231cqw;
}
.--full .p-rec-num__u {
  font-size: 2.9488291414cqw;
}
.--md .p-rec-num__u {
  font-size: 3.690685413cqw;
}
.--lg .p-rec-num__u {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 5.2724077329cqw;
}
.--quarter .--lg .p-rec-num__u {
  font-size: 12.274368231cqw;
}
.p-rec-num__label {
  display: block;
  color: #1f874f;
  font-size: 3.1634446397cqw;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6666666667;
  white-space: nowrap;
}
.--half .p-rec-num__label {
  font-size: 6.4981949458cqw;
}
.--career .p-rec-num__label {
  color: #b96f59;
  font-size: 1.5611448395cqw;
}
.p-rec-num__label.--lg {
  font-size: 8.6642599278cqw;
}
.p-rec-num__label.--sex {
  color: #43819c;
  font-size: 7.5812274368cqw;
  letter-spacing: 0.2em;
}
.p-rec-num__item .p-rec-num__val {
  margin-top: 0cqw;
}
.p-rec-num__bar {
  position: absolute;
  height: 7.381370826cqw;
}
.p-rec-num__bar.--m {
  border-radius: 3.690685413cqw 0 0 3.690685413cqw;
  background-color: #ffff64;
}
.p-rec-num__bar.--f {
  border-radius: 0 3.690685413cqw 3.690685413cqw 0;
  background-color: #f4a0dd;
}
.p-rec-num__ratio {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-rec-num__ratio-label {
  margin-top: -1.0544815466cqw;
  color: #1f874f;
  font-size: 4.920913884cqw;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 2;
  letter-spacing: 0.3em;
}
.p-rec-num__note {
  font-size: 2.460456942cqw;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.p-rec-num__sex {
  display: flex;
  align-items: baseline;
  gap: 3.6101083032cqw;
}
.p-rec-num__sex .p-rec-num__label {
  margin-top: 0;
}
.p-rec-num__license {
  position: absolute;
}
.p-rec-num__license img {
  display: block;
  width: 100%;
  height: auto;
}
.p-rec-num__love {
  display: grid;
  place-items: center;
}
.p-rec-num__love picture {
  grid-area: 1/1;
}
.p-rec-num__love span {
  grid-area: 1/1;
  color: #7964a3;
  font-size: 4.920913884cqw;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-rec-num__love-sub {
  font-size: 3.690685413cqw;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.p-rec-num__bubble {
  display: grid;
  place-items: center;
  height: 14.0597539543cqw;
}
.p-rec-num__bubble picture {
  grid-area: 1/1;
  width: 15.4657293497cqw;
}
.p-rec-num__bubble span {
  grid-area: 1/1;
  position: relative;
  color: #7964a3;
  font-size: 2.9876977153cqw;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.4117647059;
  text-align: center;
  white-space: nowrap;
}
.p-rec-num__src {
  margin-top: 1rem;
  color: #000;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-rec-num__src {
    margin-top: 0.8rem;
    font-size: 0.7333333333rem;
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .p-rec-num__group.--career .p-rec-num__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
    height: auto !important;
    padding: 0.8rem 0.9333333333rem 1.0666666667rem;
  }
  .p-rec-num__group.--career .p-rec-num__abs {
    position: static;
  }
  .p-rec-num__group.--career .p-rec-num__label {
    font-size: 0.8rem;
  }
  .p-rec-num__group.--career .p-rec-num__v {
    font-size: 2rem;
  }
  .p-rec-num__group.--career .p-rec-num__u {
    font-size: 1.0666666667rem;
  }
  .p-rec-num__group.--career .p-rec-num__license {
    top: 0.2666666667rem !important;
    left: auto !important;
    right: 0.5333333333rem;
    width: 5.3333333333rem !important;
  }
  .p-rec-num__group.--career .p-rec-num__head {
    padding-right: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-rec-num__val {
    gap: 0;
  }
  .p-rec-num__v {
    font-size: 3.8666666667rem !important;
    line-height: 1.1724137931;
  }
  .p-rec-num__u {
    font-size: 2.2666666667rem !important;
  }
  .--lg > .p-rec-num__v {
    font-size: 3.3333333333rem !important;
    line-height: 0.86;
    letter-spacing: -0.03em;
  }
  .--lg > .p-rec-num__u {
    font-size: 1.8666666667rem !important;
  }
  .--md > .p-rec-num__v {
    font-size: 2.6666666667rem !important;
  }
  .--md > .p-rec-num__u {
    font-size: 1.4666666667rem !important;
  }
  .--dept .p-rec-num__v {
    font-size: 3rem !important;
  }
  .--dept .p-rec-num__u {
    font-size: 1.6666666667rem !important;
  }
  .p-rec-num__item, .p-rec-num__ratio {
    text-align: center;
  }
  .p-rec-num__label {
    font-size: 1.1333333333rem !important;
    line-height: 1.7647058824;
  }
  .p-rec-num__label.--lg {
    font-size: 1.3333333333rem !important;
  }
  .p-rec-num__label.--sex {
    font-size: 1.3333333333rem !important;
  }
  .p-rec-num__bar {
    height: 2.8rem;
  }
  .p-rec-num__bar.--m {
    border-radius: 1.4rem 0 0 1.4rem;
  }
  .p-rec-num__bar.--f {
    border-radius: 0 1.4rem 1.4rem 0;
  }
  .p-rec-num__ratio-label {
    margin-top: 0.3333333333rem;
    font-size: 1.8666666667rem;
    line-height: 1.0714285714;
    letter-spacing: 0.25em;
  }
  .p-rec-num__note {
    font-size: 0.8rem;
    line-height: 1.6666666667;
    letter-spacing: -0.05em;
    text-align: right;
  }
  .p-rec-num__sex {
    justify-content: center;
    gap: 0.6666666667rem;
  }
  .--career .p-rec-num__v, .--memo .p-rec-num__v {
    font-size: 2rem !important;
  }
  .--career .p-rec-num__u {
    font-size: 1.0666666667rem !important;
  }
  .--memo .p-rec-num__u {
    font-size: 1.2rem !important;
  }
  .--career .p-rec-num__label {
    font-size: 0.8rem !important;
  }
}
.p-rec-num__map {
  position: absolute;
}
.p-rec-num__map > picture,
.p-rec-num__map > img {
  display: block;
}

.p-rec-num__area {
  position: absolute;
  display: flex;
  align-items: baseline;
  gap: 1.4059753954cqw;
  color: #1f874f;
  white-space: nowrap;
}
.p-rec-num__area-name {
  font-size: 4.3936731107cqw;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
.p-rec-num__area .p-rec-num__val.--area {
  display: flex;
  align-items: baseline;
  gap: 0.5272407733cqw;
  color: inherit;
}
.p-rec-num__area .p-rec-num__val.--area .p-rec-num__v {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 9.841827768cqw !important;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.1785714286;
}
.p-rec-num__area .p-rec-num__val.--area .p-rec-num__u {
  font-size: 3.690685413cqw !important;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}

@media screen and (max-width: 767px) {
  .p-rec-num__pair {
    flex-direction: row;
    gap: 0.8rem;
  }
  .p-rec-num__pair .p-rec-num__card {
    flex: 1;
    min-width: 0;
  }
  .p-rec-num__pair .p-rec-num__head {
    padding: 0.9333333333rem 0.9333333333rem 0;
  }
  .p-rec-num__pair .p-rec-num__card-ttl {
    font-size: 1.0666666667rem;
  }
  .p-rec-num__pair .p-rec-num__body {
    height: auto !important;
    padding: 0.5333333333rem 0 0.9333333333rem;
  }
  .p-rec-num__pair .p-rec-num__abs {
    position: static;
    width: auto !important;
  }
  .p-rec-num__pair .p-rec-num__label.--lg {
    font-size: 0.9333333333rem !important;
    line-height: 1.6;
  }
  .p-rec-num__pair .p-rec-num__v {
    font-size: 2.6666666667rem !important;
  }
  .p-rec-num__pair .p-rec-num__u {
    font-size: 1.3333333333rem !important;
  }
}
.l-main.--recruit:has(.p-jobs) {
  background-color: #00a5ff;
}

.p-jobs-hero {
  position: sticky;
  top: 0;
  z-index: 0;
  transition: opacity 0.4s ease, visibility 0.4s;
}
.p-jobs-hero.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.p-jobs-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 10.9375rem 9rem 0 9.25rem;
}
@media screen and (max-width: 767px) {
  .p-jobs-hero {
    flex-direction: column;
    align-items: stretch;
    gap: 2.1333333333rem;
    padding: 6.4rem 1.3333333333rem 0;
  }
}
.p-jobs-hero__card {
  position: relative;
  flex-shrink: 0;
  width: 26.5rem;
  height: 34.0625rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-jobs-hero__card {
    width: 75%;
    height: auto;
    margin-inline: auto;
    aspect-ratio: 424/545;
    container-type: inline-size;
  }
}
.p-jobs-hero__grid {
  position: absolute;
  top: 3.4375rem;
  left: 4.1875rem;
  width: 18.125rem;
  height: 15.125rem;
  background-image: linear-gradient(#e9e9e9 1px, transparent 1px), linear-gradient(90deg, #e9e9e9 1px, transparent 1px);
  background-size: 3rem 3rem;
  border-right: 1px solid #e9e9e9;
  border-bottom: 1px solid #e9e9e9;
}
@media screen and (max-width: 767px) {
  .p-jobs-hero__grid {
    top: 10%;
    left: 15.8%;
    width: 68.4%;
    height: 44.4%;
    background-size: 16.67% 20%;
  }
}
.p-jobs-hero__ttl {
  position: absolute;
  top: 4.25rem;
  left: 0;
  width: 100%;
  font-size: 3rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4791666667;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-jobs-hero__ttl {
    top: 12.5%;
    font-size: 11.3cqw;
  }
}
.p-jobs-hero__lead {
  position: absolute;
  top: 22.4375rem;
  left: 4.1875rem;
  width: 18.125rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-jobs-hero__lead {
    top: 65.9%;
    left: 15.8%;
    width: 68.4%;
    font-size: 4.2cqw;
  }
}
.p-jobs-hero__arrow {
  position: absolute;
  top: 23.1875rem;
  left: 11.8125rem;
  width: 2.875rem;
  height: 2.875rem;
  border-radius: 50%;
  background: #00a5ff url("../img/common/arrow-btn-white.svg") no-repeat center/40% auto;
  display: none;
}
.p-jobs-hero__en {
  position: absolute;
  bottom: 0.9375rem;
  left: 0;
  width: 100%;
  color: #6a6a6a;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.1315789474;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-jobs-hero__en {
    bottom: 2.8%;
    font-size: 9cqw;
  }
}
.p-jobs-hero__nav {
  display: grid;
  grid-template-columns: repeat(2, 17.0625rem);
  gap: 1.875rem 2.375rem;
}
@media screen and (max-width: 767px) {
  .p-jobs-hero__nav {
    grid-template-columns: 1fr 1fr;
    gap: 0.6666666667rem;
  }
}
.p-jobs-hero__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 5.375rem;
  padding: 0 2.5rem;
  border-radius: 3.625rem;
  background-color: #ffffff;
  font-size: 1.125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5;
  letter-spacing: 0.05em;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-jobs-hero__link {
    height: 3.4666666667rem;
    padding: 0 0.8rem 0 1.2rem;
    font-size: 0.8666666667rem;
  }
}
@media (any-hover: hover) {
  .p-jobs-hero__link:hover {
    opacity: 0.8;
  }
}
.p-jobs-hero__link .c-circle-arrow {
  border-color: #000;
}
.p-jobs-hero__link-arrow {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: #00a5ff url("../img/common/arrow-btn-white.svg") no-repeat center/40% auto;
  transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
  .p-jobs-hero__link-arrow {
    width: 1.3333333333rem;
    height: 1.3333333333rem;
  }
}

.p-jobs {
  position: relative;
  z-index: 1;
  pointer-events: none;
  padding: 8.875rem 4rem 12.5rem;
}
@media screen and (max-width: 767px) {
  .p-jobs {
    padding: 3.7333333333rem 1.0666666667rem 5.3333333333rem;
  }
}
.p-jobs__card {
  position: relative;
  padding-top: 2.5rem;
  pointer-events: auto;
}
.p-jobs__card + .p-jobs__card {
  margin-top: 95vh;
  margin-top: 95svh;
}
.p-jobs__card {
  scroll-margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-jobs__card {
    padding-top: 2.1333333333rem;
  }
}
.p-jobs__tab {
  position: absolute;
  top: 0;
  left: 0;
  width: 9rem;
  height: 2.5rem;
  padding-left: 2.875rem;
  border-radius: 0.625rem 0.625rem 0 0;
  background-color: #ffffff;
  color: #6a6a6a;
  font-size: 1.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 3.625rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-jobs__tab {
    width: 6.4rem;
    height: 2.1333333333rem;
    padding-left: 1.3333333333rem;
    font-size: 0.9333333333rem;
    line-height: 2.6666666667rem;
  }
}
.p-jobs__main {
  display: flex;
  justify-content: space-between;
  height: 32.875rem;
  padding: 3.6875rem 4.875rem 0;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-jobs__main {
    flex-direction: column-reverse;
    gap: 1.3333333333rem;
    height: auto;
    padding: 1.6rem 1.3333333333rem 2.1333333333rem;
  }
}
.p-jobs__body {
  width: 43.125rem;
  height: 25.5rem;
  padding: 2.125rem 0 0 4.25rem;
  background-image: linear-gradient(#e9e9e9 1px, transparent 1px), linear-gradient(90deg, #e9e9e9 1px, transparent 1px);
  background-size: 2.125rem 2.125rem;
  border-right: 1px solid #e9e9e9;
  border-bottom: 1px solid #e9e9e9;
  border-right: 0;
}
@media screen and (max-width: 767px) {
  .p-jobs__body {
    width: auto;
    height: auto;
    padding: 0;
    background: none;
    border: 0;
  }
}
.p-jobs__ttl {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-jobs__ttl {
    font-size: 1.6rem;
  }
}
.p-jobs__sub {
  display: block;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-jobs__sub {
    font-size: 1rem;
  }
}
.p-jobs__catch {
  margin-top: 2.875rem;
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-jobs__catch {
    margin-top: 1.0666666667rem;
    font-size: 1.1333333333rem;
  }
  .p-jobs__catch br {
    display: none;
  }
}
.--four .p-jobs__catch {
  margin-top: 1.25rem;
}
.p-jobs__txt {
  margin-top: 1rem;
  padding-right: 3.75rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-jobs__txt {
    margin-top: 0.8rem;
    padding-right: 0;
    font-size: 0.9333333333rem;
  }
}
.p-jobs__illust {
  flex-shrink: 0;
  width: 29.125rem;
  height: 25.5rem;
  padding: 2.125rem 0 0 3.625rem;
  background-image: linear-gradient(#e9e9e9 1px, transparent 1px), linear-gradient(90deg, #e9e9e9 1px, transparent 1px);
  background-size: 2.125rem 2.125rem;
  border-right: 1px solid #e9e9e9;
  border-bottom: 1px solid #e9e9e9;
  background-position: -0.625rem 0;
  border-left: 0;
}
@media screen and (max-width: 767px) {
  .p-jobs__illust {
    width: 100%;
    height: auto;
    padding: 1.0666666667rem;
    background-size: 1.6rem 1.6rem;
  }
}
.p-jobs__illust img {
  display: block;
  width: 21.25rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-jobs__illust img {
    width: 80%;
    margin: 0 auto;
  }
}
.p-jobs__works {
  padding: 1.875rem 5rem 3rem;
  border-radius: 0 0 2.5rem 2.5rem;
  background-color: #f4f4f4;
}
@media screen and (max-width: 767px) {
  .p-jobs__works {
    padding: 1.6rem 1.0666666667rem 2.1333333333rem;
    border-radius: 0 0 1.6rem 1.6rem;
  }
}
.p-jobs__works-ttl {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-jobs__works-ttl {
    font-size: 0.9333333333rem;
  }
}
.p-jobs__list {
  display: grid;
  grid-template-columns: repeat(3, 22.5rem);
  justify-content: space-between;
  margin-top: 1.6875rem;
}
@media screen and (max-width: 767px) {
  .p-jobs__list {
    grid-template-columns: 1fr;
    gap: 1.0666666667rem;
    margin-top: 1.0666666667rem;
  }
}
.--four .p-jobs__list {
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .--four .p-jobs__list {
    grid-template-columns: 1fr;
    gap: 1.0666666667rem;
  }
}
.p-jobs__work {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.25rem 1.875rem 2rem;
  border-radius: 1rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-jobs__work {
    padding: 1.8666666667rem 1.3333333333rem 1.6rem;
    border-radius: 0.8rem;
  }
}
.p-jobs__no {
  position: absolute;
  top: 0.625rem;
  left: 0.75rem;
  display: grid;
  place-items: center;
  width: 1.625rem;
  height: 1.625rem;
  border-radius: 50%;
  background-color: #00a5ff;
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-jobs__no {
    top: 0.6666666667rem;
    left: 0.6666666667rem;
    width: 1.6rem;
    height: 1.6rem;
    font-size: 0.8666666667rem;
  }
}
.p-jobs__work-ttl {
  display: flex;
  align-items: center;
  min-height: 3.25rem;
  color: #6a6a6a;
  font-size: 1.4375rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.1304347826;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-jobs__work-ttl {
    min-height: 0;
    font-size: 1.1333333333rem;
  }
}
.--four .p-jobs__work-ttl {
  font-size: 1.25rem;
}
.p-jobs__work-img {
  width: 10.5rem;
  margin-top: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-jobs__work-img {
    width: 9.3333333333rem;
    margin-top: 0.8rem;
  }
}
.p-jobs__work-img img {
  display: block;
  width: 100%;
  height: auto;
}
.p-jobs__work-txt {
  align-self: stretch;
  margin-top: 1.5rem;
  color: #6a6a6a;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5625;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-jobs__work-txt {
    margin-top: 1.0666666667rem;
    font-size: 0.9333333333rem;
  }
}
.p-jobs__work-point {
  position: relative;
  align-self: stretch;
  margin-top: 1rem;
  padding: 0.5rem 0.875rem;
  border: 2px solid #bbb;
  border-radius: 0.625rem;
  color: #6a6a6a;
  font-size: 0.9375rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-jobs__work-point {
    margin-top: 0.8rem;
    padding: 0.5333333333rem 0.8rem;
    font-size: 0.8666666667rem;
  }
}
.p-jobs__work-point::after {
  content: "";
  position: absolute;
  top: -0.75rem;
  right: -0.375rem;
  width: 1.0625rem;
  height: 1.1875rem;
  background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 19'%3E%3Cpath d='M1 8h3.5v10H1zM4.5 17.5h8.3c1 0 1.8-.7 2-1.6l1.1-5.6c.2-1.1-.6-2.1-1.7-2.1H10V4c0-1.7-1.3-3-2.3-3L4.5 8' fill='%23fff' stroke='%2300a5ff' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-jobs__work-point::after {
    top: -0.6666666667rem;
    right: -0.2666666667rem;
    width: 1rem;
    height: 1.1333333333rem;
  }
}

.c-outro.--jobs {
  background-color: #ffffff;
}
.c-outro.--jobs .c-outro__pickup {
  padding-top: 10rem;
}
@media screen and (max-width: 767px) {
  .c-outro.--jobs .c-outro__pickup {
    padding-top: 4.2666666667rem;
  }
}

.l-main.--recruit:has(.p-env-hero) {
  background-color: #f8e6e6;
}

.p-env-hero {
  position: relative;
  padding: 14.5625rem 9rem 0;
}
@media screen and (max-width: 767px) {
  .p-env-hero {
    padding: 6.6666666667rem 1.3333333333rem 0;
  }
}
.p-env-hero__head {
  width: 31.25rem;
}
@media screen and (max-width: 767px) {
  .p-env-hero__head {
    width: auto;
  }
}
.p-env-hero__ttl {
  color: #824626;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-env-hero__ttl {
    font-size: 1.7333333333rem;
  }
}
.p-env-hero__lead {
  margin-top: 1.5rem;
  width: 26.875rem;
  color: #824626;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-env-hero__lead {
    width: auto;
    margin-top: 1.0666666667rem;
    font-size: 0.9333333333rem;
  }
}
.p-env-hero__en {
  margin-top: 8rem;
  color: #824626;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 2.375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-env-hero__en {
    margin-top: 1.6rem;
    font-size: 1.6rem;
  }
}
.p-env-hero__img {
  position: absolute;
  top: 11.375rem;
  left: 48.375rem;
  width: 30.75rem;
  overflow: hidden;
  border-radius: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-env-hero__img {
    position: static;
    width: 80%;
    margin: 1.6rem auto 0;
    border-radius: 3.2rem;
  }
}
.p-env-hero__img img {
  display: block;
  width: 100%;
  height: auto;
}
.p-env-hero__nav {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 5.25rem;
}
@media screen and (max-width: 767px) {
  .p-env-hero__nav {
    flex-wrap: wrap;
    gap: 0.6666666667rem;
    margin-top: 2.1333333333rem;
  }
}
.p-env-hero__nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 10.6875rem;
  height: 10.6875rem;
  padding-top: 1.75rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #f4f4f4;
  text-align: center;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-env-hero__nav-item {
    width: 6.6666666667rem;
    height: 6.6666666667rem;
    padding-top: 0.9333333333rem;
  }
}
@media (any-hover: hover) {
  .p-env-hero__nav-item:hover {
    transform: translateY(0.25rem);
  }
}
.p-env-hero__nav-icon {
  width: 4.4375rem;
}
@media screen and (max-width: 767px) {
  .p-env-hero__nav-icon {
    width: 2.6666666667rem;
  }
}
.p-env-hero__nav-icon img {
  display: block;
  width: 100%;
  height: auto;
}
.p-env-hero__nav-txt {
  display: grid;
  place-items: center;
  min-height: 2.875rem;
  font-size: 1.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-env-hero__nav-txt {
    min-height: 1.8666666667rem;
    font-size: 0.7333333333rem;
  }
}
.p-env-hero__nav-arrow {
  width: 0.75rem;
  height: 1rem;
  margin-top: 0.125rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'%3E%3Cpath d='M6 0v15M.5 9.5 6 15l5.5-5.5' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-env-hero__nav-arrow {
    width: 0.6rem;
    height: 0.8rem;
  }
}

.p-env-sec {
  width: 70.375rem;
  margin: 18.75rem auto 0;
  scroll-margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-env-sec {
    width: auto;
    margin: 5.3333333333rem 1.0666666667rem 0;
  }
}
.p-env-sec__head {
  display: flex;
  gap: 3.8125rem;
  margin-bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-env-sec__head {
    flex-direction: column;
    gap: 1.0666666667rem;
    margin-bottom: 2.1333333333rem;
  }
}
.p-env-sec__badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  gap: 0.5rem;
  width: 18.3125rem;
  height: 11.5625rem;
  border-radius: 6.25rem;
  background-color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.1666666667;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-env-sec__badge {
    width: 12rem;
    height: 7.4666666667rem;
    border-radius: 4rem;
    font-size: 1.0666666667rem;
  }
}
.p-env-sec__badge picture {
  width: 4.4375rem;
}
@media screen and (max-width: 767px) {
  .p-env-sec__badge picture {
    width: 2.9333333333rem;
  }
}
.p-env-sec__badge img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}
.p-env-sec__head-body {
  padding-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-env-sec__head-body {
    padding-top: 0;
  }
}
.p-env-sec__ttl {
  font-size: 2rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-env-sec__ttl {
    font-size: 1.3333333333rem;
  }
}
.p-env-sec__lead {
  margin-top: 1rem;
  width: 38.75rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-env-sec__lead {
    width: auto;
    margin-top: 0.6666666667rem;
    font-size: 0.9333333333rem;
    line-height: 2;
  }
}

.p-env-no {
  position: absolute;
  top: -0.75rem;
  left: -0.625rem;
  display: grid;
  place-items: center;
  width: 2.4375rem;
  height: 2.4375rem;
  border: 1px solid #824626;
  border-radius: 50%;
  background-color: #ffffff;
  color: #824626;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.3125rem;
}
@media screen and (max-width: 767px) {
  .p-env-no {
    top: -0.6666666667rem;
    left: -0.4rem;
    width: 2rem;
    height: 2rem;
    font-size: 1rem;
  }
}

.p-env-career {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-env-career {
    flex-direction: column;
    gap: 1.6rem;
  }
}
.p-env-career__body {
  width: 24.375rem;
  padding-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-env-career__body {
    width: auto;
    padding-top: 0;
  }
}
.p-env-career__ttl {
  font-size: 2rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-env-career__ttl {
    font-size: 1.3333333333rem;
  }
}
.p-env-career__txt {
  margin-top: 1.5rem;
  padding-bottom: 3rem;
  border-bottom: 2px dotted #8c8c8c;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-env-career__txt {
    margin-top: 0.8rem;
    padding-bottom: 1.6rem;
    font-size: 0.9333333333rem;
  }
}
.p-env-career__list dt {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 3.25rem;
  padding: 0.25rem 1.375rem;
  background-color: #ffffff;
  font-size: 1.3125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-env-career__list dt {
    margin-top: 1.6rem;
    padding: 0.2666666667rem 0.9333333333rem;
    font-size: 1rem;
  }
}
.p-env-career__list dd {
  margin-top: 1rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-env-career__list dd {
    margin-top: 0.6666666667rem;
    font-size: 0.8666666667rem;
  }
}
.p-env-career__map {
  width: 44.5rem;
}
@media screen and (max-width: 767px) {
  .p-env-career__map {
    width: 100%;
  }
}
.p-env-career__map img {
  display: block;
  width: 100%;
  height: auto;
}
.p-env-career__map figcaption {
  margin-top: 1.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-env-career__map figcaption {
    margin-top: 0.6666666667rem;
    font-size: 0.7333333333rem;
    text-align: left;
  }
}

.p-env-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7rem;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-env-pair {
    grid-template-columns: 1fr;
    gap: 2.1333333333rem;
    margin-top: 3.2rem;
  }
}
.p-env-pair__item {
  width: 31.6875rem;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-env-pair__item {
    width: auto;
  }
}
.p-env-pair__card {
  margin-top: 1.5rem;
  padding: 1.375rem 1.25rem 1.75rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.1em;
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .p-env-pair__card {
    margin-top: 0.8rem;
    padding: 1.2rem 1.0666666667rem;
    border-radius: 0.9333333333rem;
    font-size: 0.9333333333rem;
  }
}
.p-env-pair__card img {
  display: block;
  width: 100%;
  height: auto;
}

.p-env-check {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-env-check {
    gap: 0.6666666667rem;
    font-size: 1.2rem;
  }
}
.p-env-check::before {
  content: "";
  width: 2.1875rem;
  height: 2.1875rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35 35'%3E%3Ccircle cx='17.5' cy='17.5' r='16.5' fill='none' stroke='%2300a5ff' stroke-width='2'/%3E%3Cpath d='m10 18 5.5 5.5L26 12' fill='none' stroke='%2300a5ff' stroke-width='2'/%3E%3C/svg%3E") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-env-check::before {
    width: 1.7333333333rem;
    height: 1.7333333333rem;
  }
}

.p-env-retire {
  margin-top: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-env-retire {
    margin-top: 1.3333333333rem;
  }
}
.p-env-retire ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 1.5rem;
  font-size: 0.9375rem;
  line-height: 1.4666666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-env-retire ul {
    gap: 0.6666666667rem;
    margin-top: 0.8rem;
    font-size: 0.7333333333rem;
  }
}

.p-env-teinen {
  margin-top: 1.5rem;
}

.p-env-leaves {
  display: grid;
  grid-template-rows: auto auto;
  grid-auto-flow: column;
  grid-auto-columns: 20.3125rem;
  justify-content: space-between;
  align-items: start;
  gap: 4rem 0;
}
@media screen and (max-width: 767px) {
  .p-env-leaves {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.6rem;
  }
}
.p-env-leaves__col {
  display: contents;
}
@media screen and (max-width: 767px) {
  .p-env-leaves__col {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    width: auto;
  }
}

.p-env-leave {
  position: relative;
  padding-top: 1.5rem;
  overflow: visible;
  border-radius: 1.25rem;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  min-height: var(--closed-h, auto);
}
@media screen and (max-width: 767px) {
  .p-env-leave {
    min-height: 0;
    padding-top: 1.3333333333rem;
    border-radius: 0.9333333333rem;
  }
}
.p-env-leave__ttl {
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-env-leave__ttl {
    font-size: 1.2rem;
  }
}
.p-env-leave__icon {
  width: 6.5625rem;
  margin: 0.75rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-env-leave__icon {
    width: 5.3333333333rem;
    margin-top: 0.6666666667rem;
  }
}
.p-env-leave__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.p-env-leave__txt {
  margin-top: 1rem;
  padding: 0 1.25rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
}
@media screen and (max-width: 767px) {
  .p-env-leave__txt {
    margin-top: 0.8rem;
    padding: 0 1.0666666667rem;
    font-size: 0.8666666667rem;
  }
}
.p-env-leave > .p-env-tags {
  padding: 0 1.25rem 2rem;
  margin-bottom: auto;
}
@media screen and (max-width: 767px) {
  .p-env-leave > .p-env-tags {
    padding: 0 1.0666666667rem 1.6rem;
  }
}
.p-env-leave__detail {
  display: grid;
  grid-template-rows: 0fr;
  margin-top: auto;
  background-color: #ecf4f5;
  transition: grid-template-rows 0.5s cubic-bezier(0.2, 0.64, 0.315, 1);
}
.is-open > .p-env-leave__detail {
  grid-template-rows: 1fr;
}
.p-env-leave__detail-inner {
  overflow: hidden;
}
.p-env-leave__list {
  padding: 1.75rem 1.25rem 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-env-leave__list {
    padding: 1.3333333333rem 1.0666666667rem 0.2666666667rem;
  }
}
.p-env-leave__list dt {
  position: relative;
  padding-left: 1.125rem;
  font-size: 1.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5555555556;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-env-leave__list dt {
    padding-left: 1.0666666667rem;
    font-size: 1rem;
  }
}
.p-env-leave__list dt::before {
  content: "";
  position: absolute;
  top: 0.5625rem;
  left: 0;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background-color: #00a5ff;
}
@media screen and (max-width: 767px) {
  .p-env-leave__list dt::before {
    top: 0.4666666667rem;
    width: 0.6666666667rem;
    height: 0.6666666667rem;
  }
}
.p-env-leave__list dt:not(:first-child) {
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-env-leave__list dt:not(:first-child) {
    margin-top: 1.3333333333rem;
  }
}
.p-env-leave__list dd {
  margin-top: 0.625rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-env-leave__list dd {
    margin-top: 0.4rem;
    font-size: 0.8666666667rem;
  }
}
.p-env-leave__toggle {
  display: block;
  width: 100%;
  height: 3rem;
  border-radius: 0 0 1.25rem 1.25rem;
  background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14'%3E%3Cpath d='M0 0h24L12 14z' fill='%2300a5ff'/%3E%3C/svg%3E") no-repeat center/1.5rem auto;
}
@media screen and (max-width: 767px) {
  .p-env-leave__toggle {
    height: 2.6666666667rem;
    border-radius: 0 0 0.9333333333rem 0.9333333333rem;
    background-size: 1.3333333333rem auto;
  }
}
.p-env-leave__toggle[aria-expanded=true] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14'%3E%3Cpath d='M0 14h24L12 0z' fill='%2300a5ff'/%3E%3C/svg%3E");
}

.p-env-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-env-tags {
    gap: 0.4rem;
    margin-top: 0.5333333333rem;
  }
}
.p-env-tags li {
  padding: 0.125rem 0.625rem;
  border-radius: 100px;
  background-color: #f4f4f4;
  color: #757575;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7142857143;
}
@media screen and (max-width: 767px) {
  .p-env-tags li {
    padding: 0.1333333333rem 0.6666666667rem;
    font-size: 0.7333333333rem;
  }
}

.p-env-wlh {
  display: grid;
  grid-template-columns: repeat(2, 31.6875rem);
  justify-content: space-between;
  align-items: start;
  row-gap: 4.375rem;
}
@media screen and (max-width: 767px) {
  .p-env-wlh {
    grid-template-columns: 1fr;
    row-gap: 1.6rem;
  }
}
.p-env-wlh__card {
  position: relative;
  padding: 1.25rem 2.375rem 2.25rem 2.5rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-env-wlh__card {
    padding: 1.3333333333rem 1.0666666667rem 1.6rem;
    border-radius: 0.9333333333rem;
  }
}
.p-env-wlh__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-env-wlh__ttl {
  padding-bottom: 0.25rem;
  border-bottom: 2px solid #000;
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-env-wlh__ttl {
    font-size: 1.1333333333rem;
  }
}
.p-env-wlh__icon {
  width: 5.625rem;
}
@media screen and (max-width: 767px) {
  .p-env-wlh__icon {
    width: 4rem;
  }
}
.p-env-wlh__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.p-env-wlh__catch {
  margin-top: 1.5rem;
  font-size: 1.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5454545455;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-env-wlh__catch {
    margin-top: 0.8rem;
    font-size: 1.0666666667rem;
  }
}
.p-env-wlh__txt {
  margin-top: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-env-wlh__txt {
    margin-top: 0.5333333333rem;
    font-size: 0.8666666667rem;
  }
}
.p-env-wlh__pill {
  display: inline-grid;
  place-items: center;
  margin-top: 0.75rem;
  padding: 0.375rem 1.25rem;
  border: 2px solid #00a5ff;
  border-radius: 100px;
  color: #00a5ff;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.375;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-env-wlh__pill {
    padding: 0.2666666667rem 0.9333333333rem;
    font-size: 0.8666666667rem;
  }
}
.p-env-wlh__shift {
  margin-top: 1rem;
  text-align: center;
}
.p-env-wlh__shift-ttl {
  color: #00a5ff;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-env-wlh__shift-ttl {
    font-size: 0.8666666667rem;
  }
}
.p-env-wlh__shift-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.p-env-wlh__shift-row .p-env-wlh__pill {
  margin-top: 0.5rem;
}
.p-env-wlh__shift-arrow {
  width: 2.625rem;
  height: 0.75rem;
  margin-top: 0.5rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 12'%3E%3Cpath d='M1 6h40M6 1 1 6l5 5M36 1l5 5-5 5' fill='none' stroke='%2300a5ff' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center/contain;
}
.p-env-wlh__shift-note {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-env-wlh__shift-note {
    font-size: 0.7333333333rem;
  }
}

.p-env-awards {
  position: relative;
  margin-top: 4.375rem;
  padding: 2.25rem 2.5rem 1.75rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-env-awards {
    margin-top: 1.6rem;
    padding: 1.8666666667rem 1.0666666667rem 1.6rem;
    border-radius: 0.9333333333rem;
  }
}
.p-env-awards__ttl {
  display: inline-block;
  padding-bottom: 0.25rem;
  border-bottom: 2px solid #000;
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-env-awards__ttl {
    font-size: 1.2rem;
  }
}
.p-env-awards__lead {
  margin-top: 1.125rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-env-awards__lead {
    margin-top: 0.6666666667rem;
    font-size: 0.9333333333rem;
  }
}
.p-env-awards__badge {
  position: absolute;
  top: 3.5rem;
  right: 1.25rem;
  display: grid;
  place-items: center;
  width: 5.625rem;
  height: 5.625rem;
  border: 2px solid #00a5ff;
  border-radius: 50%;
  color: #00a5ff;
  font-size: 0.875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.2857142857;
}
@media screen and (max-width: 767px) {
  .p-env-awards__badge {
    top: -1.6rem;
    right: -0.2666666667rem;
    width: 4.2666666667rem;
    height: 4.2666666667rem;
    background-color: #ffffff;
    font-size: 0.6666666667rem;
  }
}
.p-env-awards__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-env-awards__list {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 1.6rem;
    margin-top: 1.3333333333rem;
  }
}
.p-env-awards__list li {
  padding: 0 0.5rem;
}
.p-env-awards__list li + li {
  border-left: 2px dotted #8c8c8c;
}
@media screen and (max-width: 767px) {
  .p-env-awards__list li + li {
    border-left: 0;
  }
}
.p-env-awards__logo {
  display: grid;
  place-items: center;
  height: 8.125rem;
}
@media screen and (max-width: 767px) {
  .p-env-awards__logo {
    height: 6rem;
  }
}
.p-env-awards__logo img {
  width: auto;
  max-height: 8rem;
}
@media screen and (max-width: 767px) {
  .p-env-awards__logo img {
    max-height: 5.8666666667rem;
  }
}
.p-env-awards__name {
  margin-top: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.625;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-env-awards__name {
    font-size: 0.8rem;
  }
}
.p-env-awards__name span {
  display: block;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-env-awards__name span {
    font-size: 0.7333333333rem;
  }
}
.p-env-awards__org {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
@media screen and (max-width: 767px) {
  .p-env-awards__org {
    margin-top: 0.4rem;
    font-size: 0.7333333333rem;
  }
}
.p-env-awards__note {
  margin-top: 0.875rem;
  font-size: 0.8125rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-env-awards__note {
    font-size: 0.6666666667rem;
  }
}

.p-env-health {
  display: grid;
  grid-template-columns: repeat(3, 20.3125rem);
  justify-content: space-between;
  row-gap: 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-env-health {
    grid-template-columns: 1fr 1fr;
    gap: 1.3333333333rem 0.8rem;
  }
}
.p-env-health__card {
  position: relative;
  padding: 1.5rem 1.25rem 1.75rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-env-health__card {
    padding: 1.3333333333rem 0.8rem;
    border-radius: 0.9333333333rem;
  }
}
.p-env-health__ttl {
  display: grid;
  place-items: center;
  min-height: 4.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-env-health__ttl {
    min-height: 2.9333333333rem;
    font-size: 0.9333333333rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}
.p-env-health__icon {
  width: 6.5625rem;
  margin: 0.5rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-env-health__icon {
    width: 4.2666666667rem;
  }
}
.p-env-health__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.p-env-health__txt {
  margin-top: 1rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-env-health__txt {
    margin-top: 0.6666666667rem;
    font-size: 0.8rem;
  }
}

.p-env-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: 6rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #8c8c8c;
  font-size: 1.5rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-env-link-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.0666666667rem;
    margin-top: 2.6666666667rem;
    padding-bottom: 1.6rem;
    font-size: 1.1333333333rem;
  }
}
.p-env-link-row a {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-shrink: 0;
  height: 4rem;
  padding: 0 1.25rem 0 1.875rem;
  border-radius: 100px;
  background-color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
}
@media screen and (max-width: 767px) {
  .p-env-link-row a {
    align-self: flex-end;
    height: 3.2rem;
    padding: 0 0.9333333333rem 0 1.3333333333rem;
    font-size: 0.8666666667rem;
  }
}

.p-env-allow {
  display: flex;
  flex-direction: column;
  gap: 3.625rem;
}
@media screen and (max-width: 767px) {
  .p-env-allow {
    gap: 1.6rem;
  }
}
.p-env-allow__card {
  position: relative;
  padding: 2.25rem 2.375rem 5.375rem 2.5rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-env-allow__card {
    padding: 1.6rem 1.0666666667rem;
    border-radius: 0.9333333333rem;
  }
}
.p-env-allow__card.--row {
  display: flex;
  align-items: center;
  gap: 3.125rem;
  padding: 2.25rem 2.375rem 2.25rem 4.375rem;
}
@media screen and (max-width: 767px) {
  .p-env-allow__card.--row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.9333333333rem;
    padding: 1.6rem 1.0666666667rem;
  }
}
.p-env-allow__card h4 {
  flex-shrink: 0;
  width: 11.25rem;
  font-size: 1.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.3636363636;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-env-allow__card h4 {
    width: auto;
    font-size: 1.0666666667rem;
  }
}
.p-env-allow__ttl {
  display: inline-block;
  padding-bottom: 0.25rem;
  border-bottom: 2px solid #000;
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-env-allow__ttl {
    font-size: 1.2rem;
  }
}
.p-env-allow__row {
  display: flex;
  align-items: center;
  gap: 3.125rem;
  margin-top: 2.25rem;
  padding-left: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-env-allow__row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.9333333333rem;
    margin-top: 1.3333333333rem;
    padding-left: 0;
  }
}
.p-env-allow__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  flex: 1;
  gap: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-env-allow__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6666666667rem;
  }
}
.p-env-allow__items.--basic {
  grid-template-columns: 14rem repeat(3, 1fr);
  grid-template-rows: auto auto;
  -moz-column-gap: 1.125rem;
       column-gap: 1.125rem;
  row-gap: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-env-allow__items.--basic {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6666666667rem;
  }
}
.p-env-allow__items.--basic li.--lg {
  grid-row: span 2;
}
@media screen and (max-width: 767px) {
  .p-env-allow__items.--basic li.--lg {
    grid-row: auto;
    grid-column: 1/-1;
  }
}
.p-env-allow__items li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.5rem;
  min-height: 6.4375rem;
  padding: 1.25rem;
  border-radius: 1.25rem;
  background-color: #f4f4f4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-env-allow__items li {
    min-height: 4.2666666667rem;
    padding: 0.8rem;
    border-radius: 0.8rem;
  }
}
.p-env-allow__items li.--lg {
  justify-content: flex-start;
  text-align: left;
}
.p-env-allow__items li.--lg .p-env-allow__name {
  text-align: center;
}
.p-env-allow__name {
  color: #00a5ff;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
@media screen and (max-width: 767px) {
  .p-env-allow__name {
    font-size: 0.8666666667rem;
  }
}
.p-env-allow__price {
  margin-top: 1rem;
  color: #00a5ff;
  font-size: 0.875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  text-align: center;
}
.p-env-allow__price strong {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-env-allow__price {
    margin-top: 0.5333333333rem;
    font-size: 0.8rem;
  }
  .p-env-allow__price strong {
    font-size: 1.2rem;
  }
}
.p-env-allow__sub, .p-env-allow__note {
  color: #00a5ff;
  font-size: 0.8125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6923076923;
}
@media screen and (max-width: 767px) {
  .p-env-allow__sub, .p-env-allow__note {
    font-size: 0.7333333333rem;
  }
}

.p-env-totop {
  display: flex;
  justify-content: center;
  margin-top: 12.5rem;
  padding-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-env-totop {
    margin-top: 4.2666666667rem;
  }
}
.p-env-totop a {
  display: grid;
  place-items: center;
  height: 3rem;
  padding: 0 1.75rem;
  border-radius: 100px;
  background-color: #00a5ff;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-env-totop a {
    height: 2.9333333333rem;
    font-size: 0.8666666667rem;
  }
}

.p-env-totop + .p-rec-info {
  margin-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  .p-env-totop + .p-rec-info {
    margin-top: 4.2666666667rem;
  }
}

.l-main:has(.p-env-hero) .c-outro.--recruit {
  background-color: #ffffff;
}

.l-main.--recruit:has(.p-learn-map) {
  padding-top: 11.6875rem;
  background-color: #f8e6e6;
}
@media screen and (max-width: 767px) {
  .l-main.--recruit:has(.p-learn-map) {
    padding-top: 0;
  }
}

.p-learn-map {
  position: relative;
  aspect-ratio: 1440/3366;
}
@media screen and (max-width: 767px) {
  .p-learn-map {
    display: flex;
    flex-direction: column;
    padding: 6.6666666667rem 2.3333333333rem 0;
    aspect-ratio: auto;
  }
}
.p-learn-map__bg {
  position: absolute;
  inset: 0;
}
@media screen and (max-width: 767px) {
  .p-learn-map__bg {
    display: none;
  }
}
.p-learn-map__bg img {
  display: block;
  width: 100%;
  height: auto;
}
.p-learn-map__head {
  position: absolute;
  top: 2.875rem;
  left: calc(9rem + max(0px, (100% - 90rem) / 2));
  width: 27.5rem;
}
@media screen and (max-width: 767px) {
  .p-learn-map__head {
    position: static;
    width: auto;
  }
  .p-learn-map__head .p-env-hero__ttl {
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
  }
  .p-learn-map__head .p-env-hero__lead {
    margin-top: 1.3333333333rem;
    font-size: 1.0666666667rem;
    line-height: 2;
    letter-spacing: 0.05em;
  }
}
.p-learn-map__sp-img {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-learn-map__sp-img {
    display: block;
    margin-top: 2.6666666667rem;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 5.3333333333rem;
    background-color: #f4f4f4;
  }
}
.p-learn-map__sp-img img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-learn-map__start {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
}
@media screen and (max-width: 767px) {
  .p-learn-map__start {
    width: -moz-fit-content;
    width: fit-content;
    margin: 4rem auto 0;
    padding: 2.4rem 2.6666666667rem;
    border: 0.2666666667rem solid #824626;
    border-radius: 8rem;
    color: #824626;
    font-size: 1.6rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
    line-height: 1.5416666667;
    letter-spacing: 0.1em;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-learn-map__route {
    position: relative;
    margin: 12.2rem -2.3333333333rem 0;
    padding: 0 2.3333333333rem 26.6666666667rem;
  }
}
.p-learn-map__road, .p-learn-map__deco {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-learn-map__road, .p-learn-map__deco {
    position: absolute;
    top: -12.2333333333rem;
    left: 0;
    display: block;
    width: 100%;
    pointer-events: none;
  }
  .p-learn-map__road img, .p-learn-map__deco img {
    display: block;
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-learn-map__deco {
    z-index: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-learn-map__list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 9rem;
    padding-top: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-learn-map__item {
    position: relative;
    padding: 1.7333333333rem 2rem 2rem;
    border-radius: 0 0 1.4666666667rem 1.4666666667rem;
    background-color: #ffffff;
    box-shadow: 1rem 1rem 0 rgba(0, 0, 0, 0.2);
  }
  .p-learn-map__item:nth-child(1) {
    min-height: 25.6666666667rem;
  }
  .p-learn-map__item:nth-child(2) {
    min-height: 23.8rem;
  }
  .p-learn-map__item:nth-child(3) {
    min-height: 24rem;
  }
  .p-learn-map__item:nth-child(4) {
    min-height: 30.6666666667rem;
  }
  .p-learn-map__item:nth-child(5) {
    min-height: 25.8666666667rem;
  }
  .p-learn-map__item:nth-child(6) {
    min-height: 25.6666666667rem;
  }
}
@media screen and (min-width: 768px) {
  .p-learn-map__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
}
@media screen and (max-width: 767px) {
  .p-learn-map__label {
    position: absolute;
    top: -1rem;
    left: 0;
    padding: 0 2rem;
    border-radius: 0 4.2666666667rem 4.2666666667rem 0;
    background-color: #00a5ff;
    color: #ffffff;
    font-size: 0.9333333333rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
    line-height: 2;
    letter-spacing: 0.1em;
  }
}
.p-learn-map__hub {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-learn-map__hub {
    position: absolute;
    top: -3.64rem;
    left: 1.7333333333rem;
    z-index: 2;
    display: block;
    padding: 0 0.9333333333rem;
    background-color: #ffffff;
    font-family: "Roboto", sans-serif;
    --ff: "Roboto", sans-serif;
    font-size: 1.0666666667rem;
    font-weight: 400;
    --aoto: "MFW-PAotoGothicStdN-Regular";
    line-height: 1.75;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }
}
@media screen and (min-width: 768px) {
  .p-learn-map__ttl {
    position: absolute;
    white-space: nowrap;
  }
}
.p-learn-map__ttl {
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-learn-map__ttl {
    position: static;
    width: auto !important;
    font-size: 1.2rem;
    font-weight: 500;
    --aoto: "MFW-PAotoGothicStdN-Medium";
    line-height: 1.5555555556;
  }
}
@media screen and (min-width: 768px) {
  .p-learn-map__txt {
    position: absolute;
  }
}
.p-learn-map__txt {
  text-align: justify;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-learn-map__txt {
    position: static;
    width: auto !important;
    margin-top: 1.3333333333rem;
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}

.p-learn-sec {
  width: 72rem;
  margin: 17.25rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-learn-sec {
    width: auto;
    margin: 4.8rem 1.0666666667rem 0;
  }
}
.p-learn-sec + .p-learn-sec {
  margin-top: 9.375rem;
}
@media screen and (max-width: 767px) {
  .p-learn-sec + .p-learn-sec {
    margin-top: 4.2666666667rem;
  }
}
.p-learn-sec__ttl {
  color: #824626;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-learn-sec__ttl {
    font-size: 1.6rem;
  }
}
.p-learn-sec__lead {
  width: 38.75rem;
  margin-top: 1.6875rem;
  color: #824626;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-learn-sec__lead {
    width: auto;
    margin-top: 0.8rem;
    font-size: 0.9333333333rem;
  }
}

.p-learn-acc {
  margin-top: 3.5rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-learn-acc {
    margin-top: 1.6rem;
    border-radius: 0.9333333333rem;
  }
}
.p-learn-acc + .p-learn-acc {
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-learn-acc + .p-learn-acc {
    margin-top: 1.0666666667rem;
  }
}
.p-learn-acc__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2.5rem;
  min-height: 11.625rem;
  padding: 1.875rem 2.5rem 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-learn-acc__head {
    align-items: stretch;
    min-height: 0;
    flex-direction: column;
    gap: 0.6666666667rem;
    padding: 1.6rem 1.0666666667rem 1.0666666667rem;
  }
}
.p-learn-acc__ttl {
  display: flex;
  align-items: center;
  gap: 1.3125rem;
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-learn-acc__ttl {
    gap: 0.6666666667rem;
    font-size: 1.2rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
  }
}
.p-learn-acc__icon {
  flex-shrink: 0;
  width: 3rem;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  --ff: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  font-size: 3rem;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-learn-acc__icon {
    font-size: 1.8666666667rem;
  }
}
.p-learn-acc__lead {
  width: 32.5rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-learn-acc__lead {
    width: auto;
    font-size: 0.8666666667rem;
  }
}
.p-learn-acc__body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s cubic-bezier(0.2, 0.64, 0.315, 1);
}
.is-open > .p-learn-acc__body {
  grid-template-rows: 1fr;
}
.p-learn-acc__inner {
  overflow: hidden;
  padding: 0 2rem 3.875rem 7rem;
}
@media screen and (max-width: 767px) {
  .p-learn-acc__inner {
    padding: 0 1.0666666667rem;
  }
}
.p-learn-acc__row {
  display: flex;
  justify-content: space-between;
  gap: 2.5rem;
  padding: 0 0 5rem;
  border-top: 1px solid #824626;
}
@media screen and (max-width: 767px) {
  .p-learn-acc__row {
    border-top-color: #8c8c8c;
    flex-direction: column;
    gap: 0.6666666667rem;
    padding: 1.3333333333rem 0;
  }
}
.p-learn-acc__row:last-child {
  padding-bottom: 0;
}
.p-learn-acc__row.--full {
  flex-direction: column;
  gap: 0;
}
.p-learn-acc__row-ttl {
  flex-shrink: 0;
  width: 27.5rem;
  padding-top: 0.75rem;
  color: #824626;
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.9166666667;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-learn-acc__row-ttl {
    width: auto;
    padding-top: 0;
    font-size: 1.0666666667rem;
    letter-spacing: 0.05em;
  }
}
.p-learn-acc__row-ttl span {
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
}
.p-learn-acc__row-body {
  width: 33rem;
  padding-top: 1.6875rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-learn-acc__row-body {
    width: auto;
    padding-top: 0;
    font-size: 0.8666666667rem;
    letter-spacing: 0.05em;
  }
}
.p-learn-acc__sub-ttl {
  margin-bottom: 0.9375rem;
  font-size: 1.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.9;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-learn-acc__sub-ttl {
    margin-bottom: 0.4rem;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: normal;
  }
}
.p-learn-acc__sub-ttl:not(:first-child) {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-learn-acc__sub-ttl:not(:first-child) {
    margin-top: 1.0666666667rem;
  }
}
.p-learn-acc__link {
  display: flex;
  align-items: center;
  gap: 1.625rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-learn-acc__link {
    gap: 0.6666666667rem;
    margin-top: 0.8rem;
  }
}
.p-learn-acc__link a {
  padding: 0.625rem 1.875rem;
  border-radius: 100px;
  background-color: #00a5ff;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-learn-acc__link a {
    padding: 0.2666666667rem 1.0666666667rem;
    font-size: 0.8666666667rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
    line-height: inherit;
    letter-spacing: normal;
  }
}
.p-learn-acc__toggle {
  border-radius: 0 0 1.25rem 1.25rem;
  background-color: #ffffff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14'%3E%3Cpath d='M0 0h24L12 14z' fill='%23824626'/%3E%3C/svg%3E");
}
.p-learn-acc__toggle[aria-expanded=true] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14'%3E%3Cpath d='M0 14h24L12 0z' fill='%23824626'/%3E%3C/svg%3E");
}

.p-learn-chance {
  margin-top: 2.75rem;
}
@media screen and (max-width: 767px) {
  .p-learn-chance {
    margin-top: 0;
  }
}
.p-learn-chance__past {
  display: flex;
  justify-content: space-between;
  gap: 7.625rem;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__past {
    flex-direction: column;
    gap: 1.0666666667rem;
  }
}
.p-learn-chance__card {
  flex: 1;
  overflow: hidden;
  border: 1px solid #757575;
  border-radius: 0.9375rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__card {
    padding: 1.0666666667rem;
    border-color: #8c8c8c;
    border-radius: 0.6666666667rem;
  }
}
.p-learn-chance__card-head {
  padding: 1.25rem 0 1rem;
  background-color: #ecf4f5;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__card-head {
    padding: 0;
    background-color: transparent;
  }
}
.p-learn-chance__name {
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__name {
    font-size: 1.0666666667rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
    line-height: inherit;
    letter-spacing: normal;
  }
}
.p-learn-chance__name.--en {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.625rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
@media screen and (max-width: 767px) {
  .p-learn-chance__name.--en {
    font-size: 1.0666666667rem;
  }
}
.p-learn-chance__year {
  display: inline-block;
  margin-top: 0.625rem;
  padding: 0.125rem 1.25rem;
  border-radius: 5.625rem;
  background-color: #ffffff;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.125rem;
  line-height: 1.1666666667;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__year {
    display: block;
    margin-top: 0.4rem;
    padding: 0.1333333333rem 0;
    border-radius: 0;
    background-color: #ecf4f5;
    font-size: 0.8666666667rem;
  }
}
.p-learn-chance__card-body {
  display: flex;
  align-items: flex-start;
  gap: 1.3125rem;
  padding: 1.25rem 1.875rem 1.875rem;
  text-align: justify;
  font-size: 0.9375rem;
  line-height: 1.4666666667;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__card-body {
    align-items: center;
    gap: 0.8rem;
    padding: 0;
    margin-top: 1.0666666667rem;
    text-align: left;
    font-size: 0.8rem;
    line-height: 1.7333333333;
  }
}
.p-learn-chance__card-body picture {
  flex-shrink: 0;
  width: 5.3125rem;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__card-body picture {
    width: 3.7333333333rem;
  }
}
.p-learn-chance__card-body img {
  display: block;
  width: 100%;
  height: auto;
}
.p-learn-chance__box {
  position: relative;
  margin-top: 3.6875rem;
  padding-bottom: 2.75rem;
  border: 1px solid #757575;
  border-radius: 0.9375rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__box {
    margin-top: 1.3333333333rem;
    padding-bottom: 1.75rem;
    border-color: #8c8c8c;
    border-radius: 0.6666666667rem;
  }
}
.p-learn-chance__box::before {
  content: "";
  position: absolute;
  left: 50%;
  width: 0.375rem;
  height: 2.6875rem;
  background: radial-gradient(circle, #824626 50%, transparent 52%) no-repeat center top/0.375rem 0.375rem, repeating-linear-gradient(to bottom, #824626 0 0.134375rem, transparent 0.134375rem 0.26875rem) no-repeat center/1px calc(100% - 0.3125rem);
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-learn-chance__box::before {
    content: none;
  }
}
.p-learn-chance__box::before {
  top: -2.75rem;
}
.p-learn-chance__box::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 0.375rem;
  height: 2.6875rem;
  background: radial-gradient(circle, #824626 50%, transparent 52%) no-repeat center bottom/0.375rem 0.375rem, repeating-linear-gradient(to bottom, #824626 0 0.134375rem, transparent 0.134375rem 0.26875rem) no-repeat center/1px calc(100% - 0.3125rem);
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-learn-chance__box::after {
    content: none;
  }
}
.p-learn-chance__box::after {
  bottom: -2.75rem;
}
.p-learn-chance__box-ttl {
  padding: 1.3125rem 0 0;
  background-color: #ecf4f5;
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
  border-radius: 0.875rem 0.875rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__box-ttl {
    padding-top: 1rem;
    font-size: 1.0666666667rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
    line-height: inherit;
    letter-spacing: normal;
  }
}
.p-learn-chance__box-lead {
  padding: 0.3125rem 1.25rem 1.0625rem;
  background-color: #ecf4f5;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__box-lead {
    padding: 0.5rem 1.25rem 1rem;
    font-size: 0.8rem;
    line-height: inherit;
    letter-spacing: normal;
  }
}
.p-learn-chance__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 1.9375rem;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__list {
    grid-template-columns: 1fr 1fr;
    gap: 1.3333333333rem 0;
    margin-top: 1.75rem;
  }
}
.p-learn-chance__list li {
  padding: 0 1.625rem;
  font-size: 0.9375rem;
  line-height: 1.4666666667;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__list li {
    padding: 0 0.6666666667rem;
    font-size: 0.8rem;
    line-height: 1.6;
    text-align: left;
  }
}
.p-learn-chance__list li + li {
  border-left: 1px solid #824626;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__list li + li {
    border-left-color: #8c8c8c;
  }
}
.p-learn-chance__item-ttl {
  display: grid;
  place-items: center;
  min-height: 3.75rem;
  font-size: 1.25rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__item-ttl {
    display: block;
    min-height: 2.6666666667rem;
    font-size: 0.9333333333rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
    line-height: 1.4;
    letter-spacing: normal;
  }
}
.p-learn-chance__item-icon {
  display: grid;
  place-items: center;
  height: 5.3125rem;
  margin: 1rem 0 0.6875rem;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__item-icon {
    height: 3.4666666667rem;
    margin: 0.5rem 0 0.75rem;
  }
}
.p-learn-chance__item-icon img {
  width: auto;
  max-height: 4.8125rem;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__item-icon img {
    max-height: 3.2rem;
  }
}
.p-learn-chance__future {
  margin-top: 3.6875rem;
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-learn-chance__future {
    margin-top: 1.3333333333rem;
    font-size: 1.0666666667rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
    line-height: inherit;
    letter-spacing: normal;
  }
}

.p-learn-award {
  margin-top: 3.5rem;
  padding: 1.875rem 2.5rem 2.8125rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-learn-award {
    margin-top: 1.6rem;
    padding: 0.5333333333rem 1.0666666667rem 1.6rem;
    border-radius: 0.9333333333rem;
  }
}
@media screen and (max-width: 767px) {
  .p-learn-award__item {
    padding-top: 1.3333333333rem;
  }
}
.p-learn-award__item + .p-learn-award__item {
  margin-top: 3.375rem;
}
@media screen and (max-width: 767px) {
  .p-learn-award__item + .p-learn-award__item {
    margin-top: 0;
  }
}
.p-learn-award__ttl {
  display: flex;
  align-items: center;
  gap: 1.3125rem;
  font-size: 1.75rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-learn-award__ttl {
    gap: 0.6666666667rem;
    font-size: 1.2rem;
    font-weight: 700;
    --aoto: "MFW-PAotoGothicStdN-Bold";
  }
}
.p-learn-award__ttl span {
  flex-shrink: 0;
  width: 3rem;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  --ff: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  font-size: 3rem;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-learn-award__ttl span {
    width: auto;
    font-size: 1.7333333333rem;
  }
}
.p-learn-award__txt, .p-learn-award__tags, .p-learn-award__note {
  padding-left: 4.3125rem;
}
@media screen and (max-width: 767px) {
  .p-learn-award__txt, .p-learn-award__tags, .p-learn-award__note {
    padding-left: 0;
  }
}
.p-learn-award__txt {
  margin-top: 1.75rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-learn-award__txt {
    margin-top: 0.5rem;
    font-size: 0.8666666667rem;
  }
}
.p-learn-award__tags {
  margin-top: 0.75rem;
  font-size: 1.3125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-learn-award__tags {
    margin-top: 0.25rem;
    font-size: 0.9333333333rem;
    font-weight: 600;
    --aoto: "MFW-PAotoGothicStdN-DeBold";
  }
}
.p-learn-award__tags span {
  display: inline-block;
  width: 1px;
  height: 1.25rem;
  margin: 0 1.1875rem;
  overflow: hidden;
  background-color: #000;
  color: transparent;
  vertical-align: -0.1em;
}
@media screen and (max-width: 767px) {
  .p-learn-award__tags span {
    width: auto;
    height: auto;
    margin: 0 0.75rem;
    overflow: visible;
    background-color: transparent;
    color: #8c8c8c;
    vertical-align: baseline;
  }
}
.p-learn-award__note {
  position: relative;
  margin-top: 0.75rem;
  padding-left: 6.125rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-learn-award__note {
    margin-top: 0.5rem;
    padding-left: 1.4666666667rem;
    font-size: 0.8rem;
    line-height: inherit;
    letter-spacing: normal;
  }
}
.p-learn-award__note::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 4.3125rem;
  width: 1.29375rem;
  height: 1.25rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20.7071 20'%3E%3Cpath d='M19.5 10A9.5 9.5 0 1 1 .5 10a9.5 9.5 0 0 1 19 0Z' fill='none' stroke='%23757575'/%3E%3Cpath d='M5 7l5 5L20 2' fill='none' stroke='%2349ff43' stroke-width='2'/%3E%3C/svg%3E") no-repeat center/contain;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-learn-award__note::before {
    left: 0;
    width: 1.0666666667rem;
    height: 1.0666666667rem;
  }
}

.l-main.--recruit:has(.p-play-hero) {
  background-color: #f8e6e6;
}

.p-play-hero {
  min-height: 43.1875rem;
}
@media screen and (max-width: 767px) {
  .p-play-hero {
    min-height: 0;
  }
}

.p-play-sec {
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .p-play-sec {
    margin-top: 4.2666666667rem;
  }
}
.p-play-sec + .p-play-sec {
  margin-top: 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-play-sec + .p-play-sec {
    margin-top: 4.2666666667rem;
  }
}
.p-play-sec__ttl {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  height: 3.5rem;
  margin-left: 9rem;
  padding: 0 1.25rem 0 2.5rem;
  border-radius: 0 100px 100px 0;
  background-color: #ffffff;
  color: #824626;
  font-size: 1.75rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-play-sec__ttl {
    height: 2.9333333333rem;
    margin-left: 1.0666666667rem;
    padding: 0 0.9333333333rem 0 1.3333333333rem;
    font-size: 1.2rem;
  }
}
.p-play-sec__ttl span {
  margin-left: 1.5rem;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 5rem;
  font-weight: 300;
  --aoto: "MFW-PAotoGothicStdN-Light";
  letter-spacing: 0;
  transform: translateY(-0.875rem);
}
@media screen and (max-width: 767px) {
  .p-play-sec__ttl span {
    margin-left: 0.8rem;
    font-size: 3.2rem;
    transform: translateY(-0.5333333333rem);
  }
}
.p-play-sec__lead {
  width: 26.875rem;
  margin: 2.5rem 0 0 9rem;
  color: #824626;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-play-sec__lead {
    width: auto;
    margin: 1.3333333333rem 1.3333333333rem 0;
    font-size: 0.9333333333rem;
  }
}

.p-play-slider {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-play-slider {
    margin-top: 1.8666666667rem;
  }
}
.p-play-slider__track {
  --idx: 1;
  display: flex;
  gap: 7.5625rem;
  transform: translateX(calc(22.1875rem - var(--idx) * 53.1875rem));
  transition: transform 0.8s cubic-bezier(0.2, 0.64, 0.315, 1);
}
@media screen and (max-width: 767px) {
  .p-play-slider__track {
    gap: 1.0666666667rem;
    transform: translateX(calc(1.3333333333rem - var(--idx) * 23.4rem));
  }
}
.p-play-slider__item {
  flex-shrink: 0;
  width: 45.625rem;
}
@media screen and (max-width: 767px) {
  .p-play-slider__item {
    width: 22.3333333333rem;
  }
}
.p-play-slider__img {
  aspect-ratio: 730/430;
  overflow: hidden;
  border-radius: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-play-slider__img {
    border-radius: 0.8rem;
  }
}
.p-play-slider__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-play-slider__ttl {
  margin-top: 1.625rem;
  font-size: 1.75rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6428571429;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-play-slider__ttl {
    margin-top: 0.9333333333rem;
    font-size: 1.2rem;
  }
}
.p-play-slider__txt {
  margin-top: 0.625rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-play-slider__txt {
    margin-top: 0.5333333333rem;
    font-size: 0.8666666667rem;
  }
}
.p-play-slider__dots {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: -9.375rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-play-slider__dots {
    gap: 0.8rem;
    margin-top: 1.3333333333rem;
  }
}
.p-play-slider__dots button {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-play-slider__dots button {
    width: 0.8rem;
    height: 0.8rem;
    background-color: #ccc;
  }
}
.p-play-slider__dots button.is-active {
  background-color: #824626;
}
@media screen and (min-width: 768px) {
  .p-play-slider {
    position: relative;
  }
  .p-play-slider__dots {
    position: absolute;
    top: 24.375rem;
    left: 50%;
    margin-top: 0;
    transform: translateX(-50%);
  }
}

.p-play-dress {
  position: relative;
  display: flex;
  justify-content: center;
  margin-top: 4.375rem;
}
@media screen and (max-width: 767px) {
  .p-play-dress {
    margin: 1.8666666667rem 1.3333333333rem 0;
  }
}
.p-play-dress__main {
  width: 45.625rem;
}
@media screen and (max-width: 767px) {
  .p-play-dress__main {
    width: 100%;
  }
}
.p-play-dress__img {
  overflow: hidden;
  border-radius: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-play-dress__img {
    border-radius: 0.8rem;
  }
}
.p-play-dress__img img {
  display: block;
  width: 100%;
  height: auto;
}
.p-play-dress__people {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .p-play-dress__people {
    display: none;
  }
}
.p-play-dress__people img {
  display: block;
  width: 100%;
  height: auto;
}
.p-play-dress__people.--l {
  top: 2.9375rem;
  left: calc(50% - 44.0625rem);
  width: 19.0625rem;
}
.p-play-dress__people.--r {
  top: 3.25rem;
  left: calc(50% + 20.9375rem);
  width: 22.3125rem;
}

@keyframes play-strip {
  to {
    transform: translateX(-50%);
  }
}
.p-play-strip {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-play-strip {
    margin-top: 2.1333333333rem;
  }
}
.p-play-strip__ttl {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: 9rem;
  padding: 0.5rem 3.125rem 0.375rem;
  border-radius: 1.25rem 1.25rem 0 0;
  background-color: #ffffff;
  color: #824626;
  font-size: 1.5625rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-play-strip__ttl {
    margin-left: 1.0666666667rem;
    padding: 0.4rem 1.6rem 0.2666666667rem;
    border-radius: 0.8rem 0.8rem 0 0;
    font-size: 1.0666666667rem;
  }
}
.p-play-strip__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: play-strip 60s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-play-strip__track {
    animation: none;
  }
}
.p-play-strip__list {
  display: flex;
}
.p-play-strip__list li {
  position: relative;
  width: 27.5rem;
  padding-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .p-play-strip__list li {
    width: 14.6666666667rem;
    padding-bottom: 2.6666666667rem;
  }
}
.p-play-strip__list li.--narrow {
  width: 16.25rem;
}
@media screen and (max-width: 767px) {
  .p-play-strip__list li.--narrow {
    width: 8.6666666667rem;
  }
}
.p-play-strip__list img {
  display: block;
  width: 100%;
  height: 16.25rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-play-strip__list img {
    height: 8.6666666667rem;
  }
}
.p-play-strip__tag {
  position: absolute;
  bottom: 0.875rem;
  left: 50%;
  padding: 0.25rem 1.75rem;
  border-radius: 100px;
  background-color: #ff7e4e;
  color: #000;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
  white-space: nowrap;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-play-strip__tag {
    bottom: 0.5333333333rem;
    padding: 0.1333333333rem 0.9333333333rem;
    font-size: 0.7333333333rem;
  }
}
.p-play-strip__tag::before {
  content: "";
  position: absolute;
  top: -0.5625rem;
  left: 1.875rem;
  border: 0.375rem solid transparent;
  border-bottom: 0.625rem solid #ff7e4e;
  border-top: 0;
}

.p-play-sports {
  margin-top: 18.75rem;
}
@media screen and (max-width: 767px) {
  .p-play-sports {
    margin-top: 5.3333333333rem;
  }
}
.p-play-sports__ttl {
  color: #824626;
  font-size: 1.75rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-play-sports__ttl {
    font-size: 1.2rem;
  }
}
.p-play-sports__card {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin: 1.75rem 0 0 4rem;
  padding: 4.375rem 9rem 3.75rem 8.125rem;
  border-radius: 20rem 0 0 20rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-play-sports__card {
    flex-direction: column;
    gap: 1.3333333333rem;
    margin: 1.3333333333rem 0 0 1.0666666667rem;
    padding: 2.1333333333rem 1.3333333333rem 2.1333333333rem 2.1333333333rem;
    border-radius: 4rem 0 0 4rem;
  }
}
.p-play-sports__body {
  color: #824626;
}
@media screen and (max-width: 767px) {
  .p-play-sports__body {
    width: auto;
  }
}
.p-play-sports__body h3 {
  font-size: 1.75rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-play-sports__body h3 {
    font-size: 1.2rem;
  }
}
.p-play-sports__body p {
  margin-top: 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-play-sports__body p {
    margin-top: 0.6666666667rem;
    font-size: 0.8666666667rem;
  }
}
.p-play-sports__list {
  display: flex;
  gap: 2.4375rem;
}
@media screen and (max-width: 767px) {
  .p-play-sports__list {
    flex-direction: column;
    gap: 1.0666666667rem;
  }
}
.p-play-sports__list li {
  width: 20.0625rem;
  color: #824626;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-play-sports__list li {
    width: auto;
    white-space: normal;
    font-size: 0.8666666667rem;
  }
}
.p-play-sports__list img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 0.875rem;
  border-radius: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-play-sports__list img {
    margin-bottom: 0.5333333333rem;
    border-radius: 0.8rem;
  }
}

.l-main.--recruit:has(.p-dv-hero) {
  background-color: #f8e6e6;
}

.p-dv-hero {
  position: relative;
  height: 43.75rem;
  padding: 11.6875rem 0 0 9rem;
}
@media screen and (max-width: 767px) {
  .p-dv-hero {
    display: flex;
    flex-direction: column;
    height: auto;
    padding: 6.6666666667rem 2.3333333333rem 0;
  }
}
.p-dv-hero__ttl {
  color: #824626;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-dv-hero__ttl {
    font-size: 1.6666666667rem;
    line-height: 1.32;
    letter-spacing: 0.08em;
  }
}
.p-dv-hero__lead {
  width: 27.1875rem;
  margin-top: 7.875rem;
  color: #824626;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-dv-hero__lead {
    width: auto;
    margin-top: 1.3333333333rem;
    font-size: 1.0666666667rem;
    line-height: 2;
  }
}
.p-dv-hero__img {
  position: absolute;
  top: 11.6875rem;
  left: 49.5625rem;
  width: 31.5rem;
}
@media screen and (max-width: 767px) {
  .p-dv-hero__img {
    position: static;
    width: 20.4rem;
    margin-top: 2.6666666667rem;
  }
}
.p-dv-hero__img img {
  width: 100%;
  height: auto;
}

.p-dv-field {
  position: relative;
  width: 90rem;
  margin: 0 auto;
  aspect-ratio: 1440/2661;
}
@media screen and (max-width: 767px) {
  .p-dv-field {
    width: 100%;
    margin-top: 1.4rem;
    aspect-ratio: 375/3004;
    overflow-x: clip;
  }
}
.p-dv-field + .p-rec-info {
  margin-top: 0;
}

.p-dv-item {
  display: contents;
}

.p-dv-person {
  position: absolute;
  z-index: 2;
  opacity: 0;
  transform: translateY(2.5rem) scale(0.96);
  transition: opacity 0.9s ease, transform 1.2s cubic-bezier(0.2, 0.64, 0.315, 1);
  pointer-events: none;
}
.p-dv-person picture,
.p-dv-person img {
  pointer-events: auto;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-dv-person {
    top: var(--st) !important;
    left: var(--sl) !important;
    width: var(--sw) !important;
    height: auto !important;
    transform: translateY(2rem) scale(0.96);
  }
}
.is-in > .p-dv-person {
  opacity: 1;
  transform: none;
}
.p-dv-person img {
  width: 100%;
  height: auto;
}
.p-dv-person picture {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-dv-person picture {
    transform: rotate(var(--srot, 0deg));
  }
}

.p-dv-person__float {
  animation: p-dv-float var(--dur, 6s) ease-in-out var(--delay, 0s) infinite;
}

.p-dv-bubble {
  position: absolute;
  z-index: 1;
  opacity: 0;
  transform: scale(0.6);
  transform-origin: 50% 100%;
  transition: opacity 0.4s ease 0.45s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 0.45s;
}
@media screen and (max-width: 767px) {
  .p-dv-bubble {
    top: var(--st) !important;
    left: var(--sl) !important;
  }
}
.is-in > .p-dv-bubble {
  opacity: 1;
  transform: none;
}

.p-dv-bubble__float {
  display: block;
  animation: p-dv-float-y var(--dur, 6s) ease-in-out var(--delay, 0s) infinite;
}

.p-dv-bubble__body {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.4375rem;
  padding: 1.25rem 1.25rem 1.25rem 1.875rem;
  border-radius: 11.25rem;
  background-color: #ffffff;
  color: #00a5ff;
  font-size: 1.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4;
  letter-spacing: 0.03em;
  text-align: left;
  white-space: nowrap;
  transition: box-shadow 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-dv-bubble__body {
    gap: 0.3333333333rem;
    padding: 0.5333333333rem 0.9333333333rem 0.6666666667rem 1.6rem;
    border-radius: 6.6666666667rem;
    font-size: 1rem;
    line-height: 1.4666666667;
  }
}
.p-dv-bubble__body::after {
  content: "";
  position: absolute;
  top: 100%;
  left: var(--tail, 50%);
}
@media screen and (max-width: 767px) {
  .p-dv-bubble__body::after {
    left: var(--tail-sp, var(--tail, 50%));
  }
}
.p-dv-bubble__body::after {
  width: 1.625rem;
  height: 1.625rem;
  margin: -1rem 0 0 -0.8125rem;
  border-radius: 0.1875rem;
  background-color: #ffffff;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .p-dv-bubble__body::after {
    width: 1.3333333333rem;
    height: 1.3333333333rem;
    margin: -0.8666666667rem 0 0 -0.6666666667rem;
  }
}
.p-dv-bubble:hover .p-dv-bubble__body, .is-hover > .p-dv-bubble .p-dv-bubble__body {
  box-shadow: 0 0.375rem 1.125rem rgba(130, 70, 38, 0.15);
}

.p-dv-bubble__txt {
  position: relative;
  z-index: 1;
}

.p-dv-bubble__plus {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #00a5ff;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-dv-bubble__plus {
    width: 1.6666666667rem;
    height: 1.6666666667rem;
  }
}
.p-dv-bubble__plus::before, .p-dv-bubble__plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 43%;
  height: 2px;
  background-color: #ffffff;
  transform: translate(-50%, -50%);
}
.p-dv-bubble__plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.p-dv-bubble:hover .p-dv-bubble__plus, .is-hover > .p-dv-bubble .p-dv-bubble__plus {
  transform: rotate(90deg);
}

@keyframes p-dv-float {
  0%, 100% {
    transform: translateY(-0.4375rem) rotate(-1.2deg);
  }
  50% {
    transform: translateY(0.5625rem) rotate(1.2deg);
  }
}
@keyframes p-dv-float-y {
  0%, 100% {
    transform: translateY(-0.4375rem);
  }
  50% {
    transform: translateY(0.5625rem);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-dv-person__float,
  .p-dv-bubble__float {
    animation: none;
  }
}
.p-dv-modal {
  width: 54rem;
  max-width: calc(100% - 2.6666666667rem);
  max-height: calc(100% - 5rem);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 2.5rem;
  background-color: #ffffff;
  box-shadow: 0.75rem 0.75rem 0.75rem rgba(0, 0, 0, 0.25);
  overflow: auto;
}
@media screen and (max-width: 767px) {
  .p-dv-modal {
    width: 20.3333333333rem;
    max-width: calc(100% - 2.6666666667rem);
    max-height: calc(100% - 5.3333333333rem);
    border-radius: 2.6666666667rem;
    box-shadow: 0.4666666667rem 0.4666666667rem 0.4666666667rem rgba(0, 0, 0, 0.25);
  }
}
.p-dv-modal::backdrop {
  background-color: rgba(110, 70, 70, 0.22);
}
.p-dv-modal[open] {
  animation: p-dv-modal-in 0.35s cubic-bezier(0.2, 0.64, 0.315, 1);
}
.p-dv-modal__box {
  position: relative;
  padding: 3.625rem 3.75rem 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-dv-modal__box {
    padding: 4.5333333333rem 2rem 2rem;
  }
}
.p-dv-modal__close {
  position: absolute;
  top: 1.25rem;
  right: 1.875rem;
  width: 1.75rem;
  height: 1.75rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #00a5ff;
}
@media screen and (max-width: 767px) {
  .p-dv-modal__close {
    top: 2rem;
    right: 2rem;
    width: 1.8666666667rem;
    height: 1.8666666667rem;
  }
}
.p-dv-modal__close::before, .p-dv-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 45%;
  height: 2px;
  background-color: #ffffff;
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-dv-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.p-dv-modal__body {
  display: grid;
  grid-template-columns: 18.75rem 1fr;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  margin-left: -1.875rem;
}
@media screen and (max-width: 767px) {
  .p-dv-modal__body {
    margin-left: 0;
    grid-template-columns: 1fr;
    row-gap: 0.9333333333rem;
  }
}
.p-dv-modal__img {
  aspect-ratio: 300/381;
  margin: -2.5rem 0;
}
@media screen and (max-width: 767px) {
  .p-dv-modal__img {
    width: 12rem;
    margin: -1.3333333333rem auto;
  }
}
.p-dv-modal__img {
  display: grid;
  place-items: center;
}
.p-dv-modal__img picture {
  display: block;
  flex-shrink: 0;
}
.p-dv-modal__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-dv-modal__ttl {
  color: #00a5ff;
  font-size: 1.75rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6428571429;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-dv-modal__ttl {
    font-size: 1.5333333333rem;
    line-height: 1.3913043478;
    letter-spacing: 0.08em;
  }
}
.p-dv-modal__name, .p-dv-modal__txt {
  color: #00a5ff;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-dv-modal__name, .p-dv-modal__txt {
    font-size: 1rem;
    line-height: 1.6666666667;
    letter-spacing: 0;
    text-align: justify;
  }
}
.p-dv-modal__name {
  margin-top: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-dv-modal__name {
    margin-top: 0.6666666667rem;
    font-size: 1.0666666667rem;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: left;
  }
}
.p-dv-modal__name:empty {
  display: none;
}
.p-dv-modal__txt {
  margin-top: 0.4375rem;
}
@media screen and (max-width: 767px) {
  .p-dv-modal__txt {
    margin-top: 0.3333333333rem;
  }
}
.p-dv-modal__txt:empty {
  display: none;
}

@keyframes p-dv-modal-in {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
}
:root {
  --req-main: #c5e9f1;
  --req-light: #eaf5f7;
}

:root:has(.p-req-hero.--career) {
  --req-main: #febfa8;
  --req-light: #fff1ec;
}

.p-req-hero {
  padding: 14.75rem 9rem 3.375rem;
  background-color: var(--req-main);
}
@media screen and (max-width: 767px) {
  .p-req-hero {
    padding: 6.6666666667rem 1.3333333333rem 2.1333333333rem;
  }
}
.p-req-hero__ttl {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-req-hero__ttl {
    font-size: 1.7333333333rem;
  }
}
.p-req-hero__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-req-hero__nav {
    gap: 0.5333333333rem;
    margin-top: 1.3333333333rem;
  }
}
.p-req-hero__nav a {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  height: 2.375rem;
  padding: 0 1.5rem 0 2.5rem;
  border-radius: 100px;
  background-color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-req-hero__nav a {
    height: 2.2666666667rem;
    padding: 0 0.9333333333rem;
    font-size: 0.8rem;
  }
}
@media (any-hover: hover) {
  .p-req-hero__nav a:hover {
    opacity: 0.7;
  }
}
.p-req-hero__nav a::after {
  content: "";
  width: 0.625rem;
  height: 0.875rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 14'%3E%3Cpath d='M5 0v13M.8 8.8 5 13l4.2-4.2' fill='none' stroke='%2300a5ff' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-req-hero__nav a::after {
    width: 0.5333333333rem;
    height: 0.8rem;
  }
}
.p-req-hero.--career .p-req-hero__nav a::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 14'%3E%3Cpath d='M5 0v13M.8 8.8 5 13l4.2-4.2' fill='none' stroke='%23ff7e4e' stroke-width='1.5'/%3E%3C/svg%3E");
}

.p-req {
  width: 63rem;
  margin: 9.8125rem 0 0 9rem;
  padding-bottom: 12.5rem;
}
@media screen and (max-width: 767px) {
  .p-req {
    width: auto;
    margin: 3.7333333333rem 1.3333333333rem 0;
    padding-bottom: 5.3333333333rem;
  }
}
.p-req__sec {
  scroll-margin-top: 6.25rem;
}
.p-req__sec + .p-req__sec {
  margin-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  .p-req__sec + .p-req__sec {
    margin-top: 4.8rem;
  }
}

.p-req-sec-ttl {
  padding-top: 1.5rem;
  border-top: 2px solid #000;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-req-sec-ttl {
    padding-top: 1.0666666667rem;
    font-size: 1.6rem;
  }
}

.p-req-row {
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-req-row {
    margin-top: 2.6666666667rem;
  }
}
.p-req-sec-ttl + .p-req-row {
  margin-top: 6.25rem;
}
.p-req-row__ttl {
  padding-bottom: 0.75rem;
  border-bottom: 3px solid var(--req-main);
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5833333333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-req-row__ttl {
    padding-bottom: 0.5333333333rem;
    font-size: 1.1333333333rem;
  }
}
.p-req-row__body {
  padding: 1.875rem 0 0 9rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-req-row__body {
    padding: 1.0666666667rem 0 0;
    font-size: 0.9333333333rem;
  }
}
.p-req-row__body a {
  color: #00a5ff;
  text-decoration: underline;
}

.p-req-group {
  margin-top: 2.25rem;
  font-size: 1.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-req-group {
    margin-top: 1.3333333333rem;
    font-size: 1.0666666667rem;
  }
}
.p-req-group::after {
  content: "";
  display: block;
  height: 2px;
  background: radial-gradient(circle at 1px 1px, #757575 1px, transparent 1px) left center/6px 2px repeat-x;
}
.p-req-group + .p-req-item {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-req-group + .p-req-item {
    margin-top: 1.3333333333rem;
  }
}

.p-req-item {
  margin-top: 1.5rem;
  padding-left: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-req-item {
    margin-top: 1.0666666667rem;
    padding-left: 0.5333333333rem;
  }
}
.p-req-item:first-child {
  margin-top: 0;
}
.p-req-item__ttl {
  position: relative;
  font-size: 1.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-req-item__ttl {
    font-size: 1rem;
  }
}
.p-req-item__ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1.5rem;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background-color: var(--req-main);
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-req-item__ttl::before {
    left: -0.8rem;
    width: 0.5333333333rem;
    height: 0.5333333333rem;
  }
}
.p-req-item__body {
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-req-item__body {
    margin-top: 0.2666666667rem;
  }
}

.p-req-dl__row {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-req-dl__row {
    flex-direction: column;
  }
}
.p-req-dl dt {
  flex-shrink: 0;
}

.p-req-flow {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .p-req-flow {
    margin-top: 2.1333333333rem;
  }
}
.p-req-flow li {
  display: grid;
  grid-template-columns: 9rem 14.5rem 1fr;
  gap: 0.25rem;
  min-height: 5.6875rem;
}
@media screen and (max-width: 767px) {
  .p-req-flow li {
    grid-template-columns: 4.2666666667rem 1fr;
    min-height: 0;
  }
}
.p-req-flow__no, .p-req-flow__ttl {
  display: grid;
  place-items: center;
  background-color: var(--req-main);
  text-align: center;
}
.p-req-flow__no {
  align-content: center;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 2rem;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .p-req-flow__no {
    grid-row: span 2;
    font-size: 1.4666666667rem;
  }
}
.p-req-flow__no span {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-req-flow__no span {
    font-size: 0.7333333333rem;
  }
}
.p-req-flow__ttl {
  padding: 0.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-req-flow__ttl {
    padding: 0.6666666667rem;
    font-size: 1rem;
  }
}
.p-req-flow__txt {
  display: flex;
  align-items: center;
  padding: 1rem 3.5rem;
  background-color: var(--req-light);
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-req-flow__txt {
    padding: 0.6666666667rem 0.8rem;
    font-size: 0.8666666667rem;
  }
}
.p-req-flow__note {
  margin-top: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-req-flow__note {
    margin-top: 0.6666666667rem;
    font-size: 0.7333333333rem;
    text-align: left;
  }
}

.p-req-contact {
  margin-top: 1.5rem;
}

.p-req-line {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  padding: 0.25rem 0.875rem;
  border-radius: 0.25rem;
  background-color: #06c755;
  color: #ffffff !important;
  font-size: 0.8125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  text-decoration: none !important;
}
@media screen and (max-width: 767px) {
  .p-req-line {
    margin-top: 0.8rem;
    padding: 0.2666666667rem 0.8rem;
    font-size: 0.8rem;
  }
}
.p-req-line::before {
  content: "LINE";
  padding: 0 0.25rem;
  border-radius: 0.1875rem;
  background-color: #ffffff;
  color: #06c755;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-req-line::before {
    font-size: 0.6rem;
  }
}

.p-req-faq {
  padding: 6.25rem 0 12.5rem;
  background-color: #a0d8d1;
  scroll-margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-req-faq {
    padding: 3.7333333333rem 1.0666666667rem 5.3333333333rem;
  }
}
.p-req-faq__inner {
  width: 63rem;
  margin-left: 9rem;
}
@media screen and (max-width: 767px) {
  .p-req-faq__inner {
    width: auto;
    margin-left: 0;
  }
}
.p-req-faq .p-req-sec-ttl {
  border-top: 0;
}
@media screen and (min-width: 768px) {
  .p-req-faq__cat, .p-req-faq__item {
    position: relative;
    left: 4.5rem;
  }
}
.p-req-faq__cat {
  margin: 3.875rem 0 1.5rem;
  font-size: 1.75rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-req-faq__cat {
    margin: 2.1333333333rem 0 1.0666666667rem;
    font-size: 1.2rem;
  }
}
.p-req-faq__item {
  width: 53.75rem;
  margin: 1.25rem auto 0;
  border: 1px solid #000;
  border-radius: 1.25rem;
  background-color: #f1f7f7;
}
@media screen and (max-width: 767px) {
  .p-req-faq__item {
    width: auto;
    margin-top: 0.8rem;
    border-radius: 0.9333333333rem;
  }
}
.p-req-faq__item summary {
  position: relative;
  display: block;
  padding: 1.75rem 4rem 1.75rem 3.75rem;
  cursor: pointer;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-req-faq__item summary {
    padding: 1.0666666667rem 2.6666666667rem 1.0666666667rem 1.0666666667rem;
  }
}
.p-req-faq__item summary::-webkit-details-marker {
  display: none;
}
.p-req-faq__item summary::before, .p-req-faq__item summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-req-faq__item summary::before, .p-req-faq__item summary::after {
    right: 0.8rem;
  }
}
.p-req-faq__item summary::before {
  width: 1.625rem;
  height: 1.625rem;
  border-radius: 50%;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-req-faq__item summary::before {
    width: 1.4666666667rem;
    height: 1.4666666667rem;
  }
}
.p-req-faq__item summary::after {
  width: 1.625rem;
  height: 1.625rem;
  background: linear-gradient(#000, #000) no-repeat center/0.725rem 2px, linear-gradient(#000, #000) no-repeat center/2px 0.725rem;
  transition: background-size 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-req-faq__item summary::after {
    width: 1.4666666667rem;
    height: 1.4666666667rem;
    background-size: 0.6666666667rem 2px, 2px 0.6666666667rem;
  }
}
.p-req-faq__item[open] summary::after {
  background-size: 0.725rem 2px, 2px 0;
}
@media screen and (max-width: 767px) {
  .p-req-faq__item[open] summary::after {
    background-size: 0.6666666667rem 2px, 2px 0;
  }
}
.p-req-faq__q {
  font-size: 1.25rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-req-faq__q {
    font-size: 1rem;
  }
}
.p-req-faq__a {
  display: flex;
  gap: 0.75rem;
  padding: 0 4rem 2.25rem 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-req-faq__a {
    gap: 0.4rem;
    padding: 0 1.0666666667rem 1.3333333333rem;
  }
}
.p-req-faq__a span {
  flex-shrink: 0;
  font-size: 1.25rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
}
@media screen and (max-width: 767px) {
  .p-req-faq__a span {
    font-size: 1rem;
  }
}
.p-req-faq__a p {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-req-faq__a p {
    font-size: 0.8666666667rem;
  }
}
.p-req-faq__a a {
  color: #00a5ff;
  text-decoration: underline;
}

.p-req-faq + .p-rec-info {
  margin-top: 0;
}

.p-intern-hero {
  padding-top: 14.75rem;
}
@media screen and (max-width: 767px) {
  .p-intern-hero {
    padding-top: 6.6666666667rem;
  }
}
.p-intern-hero__ttl {
  margin-left: 9rem;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-intern-hero__ttl {
    margin-left: 1.3333333333rem;
    font-size: 1.7333333333rem;
  }
}
.p-intern-hero__visual {
  position: relative;
  aspect-ratio: 2880/1344;
  margin-top: 6.125rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-intern-hero__visual {
    aspect-ratio: auto;
    height: 24rem;
    margin-top: 2.1333333333rem;
  }
}
.p-intern-hero__visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0) 60%);
}
.p-intern-hero__rows {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  height: 100%;
}
.p-intern-hero__row {
  overflow: hidden;
}
.p-intern-hero__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  height: 100%;
  animation: intern-hero-flow 90s linear infinite;
}
.--r1 .p-intern-hero__track {
  animation-direction: reverse;
}
@media (prefers-reduced-motion: reduce) {
  .p-intern-hero__track {
    animation: none;
  }
}
.p-intern-hero__track picture {
  display: block;
  flex-shrink: 0;
  height: 100%;
}
.p-intern-hero__track img {
  display: block;
  width: auto;
  height: 300%;
  max-width: none;
}
.--r1 .p-intern-hero__track img {
  transform: translateY(-33.3333%);
}
.--r2 .p-intern-hero__track img {
  transform: translateY(-66.6667%);
}
.p-intern-hero__copy {
  position: absolute;
  top: 8.9375rem;
  left: 9rem;
  z-index: 2;
  color: #ffffff;
  font-size: 1.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6363636364;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-intern-hero__copy {
    top: auto;
    bottom: 1.6rem;
    left: 1.3333333333rem;
    font-size: 1rem;
  }
}

.p-intern {
  padding: 6.25rem 0 12.5rem;
  background-color: #ddddb9;
}
@media screen and (max-width: 767px) {
  .p-intern {
    padding: 3.2rem 1.0666666667rem 5.3333333333rem;
  }
}
.p-intern.--course {
  padding-top: 4.375rem;
}
@media screen and (max-width: 767px) {
  .p-intern.--course {
    padding-top: 2.1333333333rem;
  }
}

.p-intern-news {
  display: flex;
  align-items: center;
  width: 58rem;
  height: 7.5rem;
  margin: 0 auto;
  padding: 0 4.375rem;
  border: 1px solid #000;
  border-radius: 100px;
}
@media screen and (max-width: 767px) {
  .p-intern-news {
    flex-wrap: wrap;
    gap: 0.2666666667rem 1.0666666667rem;
    width: auto;
    height: auto;
    padding: 1.0666666667rem 1.6rem;
    border-radius: 1.6rem;
  }
}
.p-intern-news__en {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .p-intern-news__en {
    font-size: 1.3333333333rem;
  }
}
.p-intern-news__date {
  margin: 0 2.625rem;
  padding: 0 2.625rem;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-intern-news__date {
    margin: 0;
    padding: 0 1.0666666667rem;
    border-right: 0;
    font-size: 0.8rem;
  }
}
.p-intern-news__txt {
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-intern-news__txt {
    width: 100%;
    font-size: 0.8666666667rem;
  }
}

.p-intern-sec {
  width: 72rem;
  margin: 10rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-intern-sec {
    width: auto;
    margin-top: 4.2666666667rem;
  }
}

.p-intern-ttl {
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-intern-ttl {
    font-size: 1.6rem;
  }
}
.p-intern-ttl.--center {
  text-align: center;
}
.p-intern-ttl.--line {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #000;
}
.p-intern-ttl.--en {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}

.p-intern-en {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 4.375rem;
  font-weight: 400;
  --aoto: "MFW-PAotoGothicStdN-Regular";
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-intern-en {
    font-size: 2.6666666667rem;
  }
}

.p-intern-lead {
  width: 35rem;
  margin-top: 2rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-intern-lead {
    width: auto;
    margin-top: 1.0666666667rem;
    font-size: 0.8666666667rem;
  }
}
.p-intern-lead small {
  font-size: 0.875rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-intern-lead small {
    font-size: 0.7333333333rem;
    white-space: normal;
  }
}

.p-intern-blue {
  display: inline-block;
  padding-bottom: 0.125rem;
  border-bottom: 2px solid #00a5ff;
  color: #00a5ff;
  font-size: 1.25rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-intern-blue {
    font-size: 1rem;
  }
}

.p-intern-more {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: -moz-fit-content;
  width: fit-content;
  height: 3rem;
  margin: 1.75rem auto 0;
  padding: 0 1rem 0 1.5rem;
  border-radius: 100px;
  background-color: #ddddb9;
  font-size: 1rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  letter-spacing: 0.1em;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-intern-more {
    height: 2.9333333333rem;
    margin-top: 1.3333333333rem;
    font-size: 0.8666666667rem;
  }
}
@media (any-hover: hover) {
  .p-intern-more:hover {
    opacity: 0.7;
  }
}
.p-intern-more .c-circle-arrow {
  border-color: #000;
}

.p-intern-points {
  display: flex;
  justify-content: space-between;
  margin-top: 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-intern-points {
    flex-direction: column;
    gap: 1.0666666667rem;
    margin: 1.6rem 1.0666666667rem 0;
  }
}
.p-intern-points li {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 20.8125rem;
  padding: 1.625rem 0 2.125rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-intern-points li {
    width: auto;
    padding: 1.3333333333rem;
    border-radius: 0.9333333333rem;
  }
}
.p-intern-points picture {
  width: 10.5625rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-intern-points picture {
    width: 8.6666666667rem;
  }
}
.p-intern-points img {
  display: block;
  width: 100%;
  height: auto;
}
.p-intern-points__no {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-intern-points__no {
    font-size: 1rem;
  }
}
.p-intern-points__txt {
  display: grid;
  place-items: center;
  min-height: 3.375rem;
  margin-top: 1.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-intern-points__txt {
    min-height: 0;
    margin-top: 0.8rem;
    font-size: 1rem;
  }
}

.p-intern-talk {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4.375rem;
  margin-top: 5.625rem;
  padding: 2.125rem 4.375rem;
  border-radius: 0.25rem;
  background-color: #f4f4f4;
}
@media screen and (max-width: 767px) {
  .p-intern-talk {
    flex-direction: column;
    gap: 1.0666666667rem;
    margin-top: 2.6666666667rem;
    padding: 1.6rem 1.0666666667rem;
  }
}
.p-intern-talk::before {
  content: "";
  position: absolute;
  top: -1.625rem;
  left: 50%;
  border: 0.625rem solid transparent;
  border-bottom: 1.625rem solid #f4f4f4;
  border-top: 0;
  transform: translateX(-50%);
}
.p-intern-talk picture {
  flex-shrink: 0;
  width: 15rem;
}
@media screen and (max-width: 767px) {
  .p-intern-talk picture {
    width: 13.3333333333rem;
  }
}
.p-intern-talk img {
  display: block;
  width: 100%;
  height: auto;
}
.p-intern-talk h3 {
  font-size: 1.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-intern-talk h3 {
    font-size: 1.0666666667rem;
  }
}
.p-intern-talk p {
  margin-top: 1rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.8666666667;
}
@media screen and (max-width: 767px) {
  .p-intern-talk p {
    margin-top: 0.6666666667rem;
    font-size: 0.8666666667rem;
  }
}

.p-intern-reco {
  display: flex;
  gap: 5rem;
  padding-left: 7rem;
}
@media screen and (max-width: 767px) {
  .p-intern-reco {
    flex-direction: column;
    gap: 1.3333333333rem;
    padding-left: 0;
  }
}
.p-intern-reco__ttl {
  flex-shrink: 0;
  height: -moz-fit-content;
  height: fit-content;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #00a5ff;
  font-size: 2.1875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-intern-reco__ttl {
    width: -moz-fit-content;
    width: fit-content;
    font-size: 1.4666666667rem;
  }
}

.p-intern-checks {
  display: grid;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-intern-checks {
    gap: 0.8rem;
  }
}
.p-intern-checks li {
  position: relative;
  padding-left: 2.375rem;
  font-size: 1.40625rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-intern-checks li {
    padding-left: 1.8666666667rem;
    font-size: 1rem;
  }
}
.p-intern-checks li::before {
  content: "";
  position: absolute;
  top: 0.25rem;
  left: 0;
  width: 1.60625rem;
  height: 1.5625rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.7071 25'%3E%3Ccircle cx='12.5' cy='12.5' r='12.5' fill='%23fff'/%3E%3Cpath d='M6.25 8.75 12.5 15 25 2.5' fill='none' stroke='%2300a5ff' stroke-width='2'/%3E%3C/svg%3E") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-intern-checks li::before {
    top: 0.1333333333rem;
    width: 1.3733333333rem;
    height: 1.3333333333rem;
  }
}
.p-intern-checks.--sm {
  gap: 0.375rem;
}
.p-intern-checks.--sm li {
  padding-left: 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
.p-intern-checks.--sm li::before {
  top: 0.1875rem;
  width: 1rem;
  height: 0.9375rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 15'%3E%3Ccircle cx='7.5' cy='7.5' r='7' fill='none' stroke='%23000'/%3E%3Cpath d='M3.75 5.25 7.5 9 15 1.5' fill='none' stroke='%2300a5ff' stroke-width='2'/%3E%3C/svg%3E") no-repeat center/contain;
}

.p-intern-types {
  display: flex;
  justify-content: space-between;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-intern-types {
    flex-direction: column;
    gap: 1.0666666667rem;
    margin-top: 1.6rem;
  }
}
.p-intern-types__card {
  position: relative;
  width: 32.5rem;
  padding: 2.5rem 2.5rem 2rem;
  border-radius: 1.875rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-intern-types__card {
    width: auto;
    padding: 1.6rem 1.0666666667rem;
    border-radius: 1.0666666667rem;
  }
}
.p-intern-types__card .p-intern-blue {
  font-size: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-intern-types__card .p-intern-blue {
    font-size: 1.3333333333rem;
  }
}
.p-intern-types__card dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem 0.5rem;
  margin-top: 3rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .p-intern-types__card dl {
    margin-top: 1.3333333333rem;
    font-size: 0.8666666667rem;
  }
}
.p-intern-types__card dt {
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}
.p-intern-types__note {
  position: absolute;
  top: 1.5rem;
  right: 1.75rem;
  font-size: 1rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
}
@media screen and (max-width: 767px) {
  .p-intern-types__note {
    position: static;
    margin-bottom: 0.5333333333rem;
    font-size: 0.8rem;
  }
}

.p-intern-courses {
  display: grid;
  grid-template-columns: repeat(3, 20.8125rem);
  gap: 4.8125rem 4.75rem;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-intern-courses {
    grid-template-columns: 1fr;
    gap: 1.0666666667rem;
    margin-top: 1.6rem;
  }
}
.p-intern-courses__card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 3.25rem 1.875rem 1.75rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-intern-courses__card {
    padding: 2.6666666667rem 1.3333333333rem 1.6rem;
  }
}
.p-intern-courses__status {
  position: absolute;
  top: 1.5rem;
  right: 0;
  padding: 0 1.25rem 0 1.5rem;
  border-radius: 100px 0 0 100px;
  background-color: #00a5ff;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.625rem;
  letter-spacing: 0.2em;
}
.p-intern-courses__status.--closed {
  background-color: #6a6a6a;
}
@media screen and (max-width: 767px) {
  .p-intern-courses__status {
    top: 0.8rem;
    font-size: 0.8rem;
    line-height: 1.4666666667rem;
  }
}
.p-intern-courses__catch {
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.4444444444;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-intern-courses__catch {
    font-size: 0.9333333333rem;
  }
}
.p-intern-courses__name {
  margin: 0.875rem 0 1.375rem;
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-intern-courses__name {
    margin: 0.5333333333rem 0 0.8rem;
    font-size: 1.2rem;
  }
}
.p-intern-courses .p-intern-blue {
  width: -moz-fit-content;
  width: fit-content;
}
.p-intern-courses__period {
  margin-top: 0.875rem;
  padding-bottom: 0.875rem;
  border-bottom: 2px dotted #bbb;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
@media screen and (max-width: 767px) {
  .p-intern-courses__period {
    font-size: 0.8666666667rem;
  }
}
.p-intern-courses__period span {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-intern-courses__period span {
    font-size: 0.7333333333rem;
  }
}
.p-intern-courses__txt {
  flex: 1;
  margin-top: 0.875rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
}
@media screen and (max-width: 767px) {
  .p-intern-courses__txt {
    font-size: 0.8666666667rem;
  }
}

.p-intern-overview {
  margin-top: 3rem;
  padding: 3.5rem 7rem 1.25rem;
  border-radius: 1.875rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-intern-overview {
    margin-top: 1.6rem;
    padding: 1.6rem 1.0666666667rem;
    border-radius: 1.0666666667rem;
  }
}
.p-intern-overview__dl {
  display: flex;
  justify-content: space-between;
  padding-bottom: 2rem;
  border-bottom: 2px dotted #bbb;
}
@media screen and (max-width: 767px) {
  .p-intern-overview__dl {
    flex-direction: column;
    gap: 0.4rem;
    padding-bottom: 1.3333333333rem;
  }
}
.p-intern-overview__row {
  display: flex;
  gap: 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  .p-intern-overview__row {
    gap: 0.8rem;
    font-size: 0.8666666667rem;
  }
}
.p-intern-overview__row + .p-intern-overview__row {
  margin-top: 0.375rem;
}
.p-intern-overview__row dt {
  flex-shrink: 0;
  letter-spacing: 0.2em;
}
.p-intern-overview__support {
  display: flex;
  justify-content: space-between;
  padding: 2rem 0;
  border-bottom: 2px dotted #bbb;
}
@media screen and (max-width: 767px) {
  .p-intern-overview__support {
    flex-direction: column;
    gap: 1.3333333333rem;
    padding: 1.3333333333rem 0;
  }
}
.p-intern-overview__support li {
  width: 16.875rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-intern-overview__support li {
    width: auto;
    font-size: 0.8666666667rem;
  }
}
.p-intern-overview__support h3 {
  font-size: 1.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-intern-overview__support h3 {
    font-size: 1rem;
  }
}
.p-intern-overview__support picture {
  display: block;
  width: 13.4375rem;
  margin: 0.5rem auto 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-intern-overview__support picture {
    width: 12rem;
  }
}
.p-intern-overview__support img {
  display: block;
  width: 100%;
  height: auto;
}
.p-intern-overview__feat {
  display: flex;
  justify-content: space-between;
  padding-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-intern-overview__feat {
    flex-direction: column;
    gap: 1.0666666667rem;
    padding-top: 1.3333333333rem;
  }
}
.p-intern-overview__feat div {
  width: 25rem;
}
@media screen and (max-width: 767px) {
  .p-intern-overview__feat div {
    width: auto;
  }
}
.p-intern-overview__feat h3 {
  position: relative;
  padding-left: 2.375rem;
  font-size: 1.3125rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-intern-overview__feat h3 {
    padding-left: 1.8666666667rem;
    font-size: 1.0666666667rem;
  }
}
.p-intern-overview__feat h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.60625rem;
  height: 1.5625rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.7071 25'%3E%3Ccircle cx='12.5' cy='12.5' r='12.5' fill='%23f4f4f4'/%3E%3Cpath d='M6.25 8.75 12.5 15 25 2.5' fill='none' stroke='%2300a5ff' stroke-width='2'/%3E%3C/svg%3E") no-repeat center/contain;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-intern-overview__feat h3::before {
    width: 1.3733333333rem;
    height: 1.3333333333rem;
  }
}
.p-intern-overview__feat p {
  margin-top: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-intern-overview__feat p {
    font-size: 0.8666666667rem;
  }
}
.p-intern-overview__note {
  margin: 2.5rem -5.75rem 0;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
@media screen and (max-width: 767px) {
  .p-intern-overview__note {
    margin: 1.3333333333rem 0 0;
    font-size: 0.7333333333rem;
  }
}

.p-intern-flow {
  display: grid;
  grid-template-columns: repeat(3, 20.8125rem);
  justify-content: space-between;
  row-gap: 2.75rem;
  margin-top: 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-intern-flow {
    grid-template-columns: 1fr;
    row-gap: 1.6rem;
    margin-top: 1.6rem;
  }
}
.p-intern-flow > li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 12.5rem;
  padding: 1.5rem 1.5rem 1.75rem;
  border-radius: 1.875rem;
  background-color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-intern-flow > li {
    min-height: 0;
    padding: 1.3333333333rem 1.0666666667rem;
    border-radius: 1.0666666667rem;
    font-size: 0.8666666667rem;
  }
}
.p-intern-flow > li:not(:nth-child(3n))::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -3.75rem;
  width: 2.5rem;
  height: 1.25rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 20'%3E%3Cpath d='M0 10h38M29 1l9 9-9 9' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-intern-flow > li:not(:nth-child(3n))::after {
    display: none;
  }
}
.p-intern-flow > li.--wide {
  grid-column: span 2;
  align-items: stretch;
  text-align: left;
}
.p-intern-flow > li.--wide::after {
  right: -3.75rem;
}
@media screen and (max-width: 767px) {
  .p-intern-flow > li.--wide {
    grid-column: auto;
  }
}
.p-intern-flow > li .--orange {
  color: #ff7e4e;
}
.p-intern-flow__no {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
@media screen and (max-width: 767px) {
  .p-intern-flow__no {
    font-size: 1.4666666667rem;
  }
}
.--wide .p-intern-flow__no {
  align-self: center;
}
.p-intern-flow__ttl {
  margin: 1rem 0 1.625rem;
  font-size: 1.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-intern-flow__ttl {
    margin: 0.5333333333rem 0 0.8rem;
    font-size: 1.0666666667rem;
  }
}
a.p-intern-flow__ttl {
  color: #00c4ff;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.--wide .p-intern-flow__ttl {
  margin: 0 0 0.375rem;
}
.p-intern-flow__line {
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  .p-intern-flow__line {
    padding: 0;
  }
}
.p-intern-flow__cols {
  display: flex;
  gap: 1.75rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-intern-flow__cols {
    flex-direction: column;
    gap: 0.8rem;
  }
}
.p-intern-flow__cols > p {
  padding-left: 1.5rem;
  border-left: 1px solid #000;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-intern-flow__cols > p {
    padding-left: 0.8rem;
    font-size: 0.8666666667rem;
  }
}
.p-intern-flow__cols > p a {
  color: #00c4ff;
  text-decoration: underline;
}

.p-intern-voice {
  position: relative;
  width: auto;
  padding-top: 2.5rem;
  overflow: hidden;
}
.p-intern-voice .p-intern-en.--voice {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.p-intern-voice .p-intern-en.--voice span {
  position: absolute;
  top: -1.875rem;
  right: -6.25rem;
  padding: 0.625rem 1.875rem;
  border-radius: 50%;
  background-color: #ffffff;
  font-family: var(--aoto), "Zen Kaku Gothic Antique", sans-serif;
  --ff: initial;
  font-size: 1.3125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
  white-space: nowrap;
  transform: rotate(15deg);
}
@media screen and (max-width: 767px) {
  .p-intern-voice .p-intern-en.--voice span {
    top: -1.6rem;
    right: -4.2666666667rem;
    padding: 0.4rem 1.0666666667rem;
    font-size: 0.8666666667rem;
  }
}
.p-intern-voice__track {
  --idx: 1;
  display: flex;
  gap: 8.3125rem;
  margin-top: 3.75rem;
  transform: translateX(calc(26.5625rem - var(--idx) * 45.25rem));
  transition: transform 0.6s cubic-bezier(0.2, 0.64, 0.315, 1);
}
@media screen and (max-width: 767px) {
  .p-intern-voice__track {
    gap: 1.0666666667rem;
    margin-top: 2.1333333333rem;
    transform: translateX(calc(0.2666666667rem - var(--idx) * 23.9333333333rem));
  }
}
.p-intern-voice__card {
  flex-shrink: 0;
  width: 36.9375rem;
  padding: 1.875rem 2.75rem 2rem;
  border-radius: 1.875rem;
  background-color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-intern-voice__card {
    width: 22.8666666667rem;
    padding: 1.3333333333rem 1.0666666667rem;
    border-radius: 1.0666666667rem;
  }
}
.p-intern-voice__card .p-intern-blue {
  display: table;
  text-align: left;
}
.p-intern-voice__card h3 {
  margin-top: 1.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-intern-voice__card h3 {
    margin-top: 0.8rem;
    font-size: 1.2rem;
  }
}
.p-intern-voice__img {
  width: 10.5rem;
  margin: -0.75rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-intern-voice__img {
    width: 8rem;
  }
}
.p-intern-voice__img img {
  display: block;
  width: 100%;
  height: auto;
}
.p-intern-voice__txt {
  margin-top: 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.75;
  letter-spacing: 0.05em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-intern-voice__txt {
    margin-top: 0.8rem;
    font-size: 0.8666666667rem;
  }
}
.p-intern-voice__nav {
  position: absolute;
  top: 29.375rem;
  width: 5.8125rem;
  height: 5.8125rem;
  border-radius: 50%;
  background: #ffffff url("../img/common/arrow-circle.svg") no-repeat center/1.3125rem auto;
}
@media screen and (max-width: 767px) {
  .p-intern-voice__nav {
    top: 4.2666666667rem;
    width: 2.9333333333rem;
    height: 2.9333333333rem;
    background-size: 0.9333333333rem auto;
  }
}
.p-intern-voice__nav.--prev {
  left: 19.4375rem;
  transform: scaleX(-1);
}
@media screen and (max-width: 767px) {
  .p-intern-voice__nav.--prev {
    left: 0.2666666667rem;
  }
}
.p-intern-voice__nav.--next {
  right: 19.4375rem;
}
@media screen and (max-width: 767px) {
  .p-intern-voice__nav.--next {
    right: 0.2666666667rem;
  }
}

.p-req-faq.--intern .p-req-faq__inner {
  margin-top: 0;
}
.p-req-faq.--intern .p-req-faq__item:first-of-type {
  margin-top: 3rem;
}

.p-course-hero {
  padding: 9.25rem 8.9375rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-course-hero {
    padding: 6.4rem 1.3333333333rem 1.6rem;
  }
}
.p-course-hero__status {
  display: inline-block;
  padding: 0 1.25rem;
  border-radius: 100px;
  background-color: #00a5ff;
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.75rem;
}
.p-course-hero__status.--closed {
  background-color: #6a6a6a;
}
@media screen and (max-width: 767px) {
  .p-course-hero__status {
    font-size: 0.7333333333rem;
    line-height: 1.4666666667rem;
  }
}
.p-course-hero__label {
  margin-top: 0.75rem;
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
@media screen and (max-width: 767px) {
  .p-course-hero__label {
    font-size: 0.8666666667rem;
  }
}
.p-course-hero__ttl {
  margin-top: 0.75rem;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-course-hero__ttl {
    font-size: 1.4666666667rem;
  }
}
.p-course-hero__sub {
  margin-top: 0.625rem;
  font-size: 1.5625rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-course-hero__sub {
    font-size: 1.0666666667rem;
  }
}

.p-course-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1.25rem;
  width: 60rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-course-tags {
    width: auto;
    gap: 0.5333333333rem;
  }
}
.p-course-tags li {
  padding: 0 1.25rem;
  border-radius: 100px;
  background-color: #00a5ff;
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-course-tags li {
    padding: 0 0.8rem;
    font-size: 0.7333333333rem;
    line-height: 1.7333333333rem;
  }
}

.p-course-image {
  width: 60rem;
  aspect-ratio: 960/500;
  margin: 5rem auto 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-course-image {
    width: 100%;
    margin-top: 1.3333333333rem;
  }
}
.p-course-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-course-summary {
  width: 60rem;
  margin: 3.75rem auto 0;
  font-size: 1.5rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-course-summary {
    width: auto;
    margin-top: 2.1333333333rem;
    font-size: 1.0666666667rem;
  }
}

.p-course-about {
  width: 72rem;
  margin: 9.375rem auto 0;
  padding: 2.5rem 2.5rem 2.75rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-course-about {
    width: auto;
    margin-top: 2.6666666667rem;
    padding: 1.6rem 1.0666666667rem;
    border-radius: 0.9333333333rem;
  }
}
.p-course-about h2 {
  font-size: 2rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-course-about h2 {
    font-size: 1.3333333333rem;
  }
}
.p-course-about > p {
  margin-top: 1.5rem;
  padding-bottom: 2rem;
  border-bottom: 2px dotted #bbb;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7333333333;
}
@media screen and (max-width: 767px) {
  .p-course-about > p {
    margin-top: 0.8rem;
    font-size: 0.8666666667rem;
  }
}
.p-course-about dt {
  margin-top: 1.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
}
@media screen and (max-width: 767px) {
  .p-course-about dt {
    margin-top: 0.9333333333rem;
    font-size: 0.7333333333rem;
  }
}
.p-course-about dd {
  margin-top: 0.25rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-course-about dd {
    font-size: 0.8666666667rem;
  }
}

.p-course-exp__ttl {
  margin-top: 3rem;
  font-size: 2rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-course-exp__ttl {
    margin-top: 1.6rem;
    font-size: 1.2666666667rem;
  }
}

.p-course-exp__lead {
  width: 43.25rem;
  margin: 1.25rem auto 0;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-course-exp__lead {
    width: auto;
    font-size: 0.8666666667rem;
  }
}

.p-course-steps {
  display: flex;
  justify-content: center;
  gap: 3rem;
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-course-steps {
    flex-direction: column;
    gap: 0.8rem;
    margin-top: 1.6rem;
  }
}
.p-course-steps li {
  width: 15.75rem;
  padding: 1.25rem 1rem 1.5rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-course-steps li {
    width: auto;
    padding: 1.0666666667rem;
    border-radius: 0.9333333333rem;
  }
}
.p-course-steps span {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-course-steps span {
    font-size: 1.4666666667rem;
  }
}
.p-course-steps h4 {
  margin-top: 0.75rem;
  font-size: 1.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-course-steps h4 {
    margin-top: 0.4rem;
    font-size: 1.0666666667rem;
  }
}
.p-course-steps p {
  margin-top: 0.75rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-course-steps p {
    margin-top: 0.4rem;
    font-size: 0.8rem;
  }
}

.p-course-fields__ttl {
  margin-top: 4rem;
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-course-fields__ttl {
    margin-top: 2.1333333333rem;
    font-size: 1.1333333333rem;
  }
}

.p-course-fields {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1.5rem;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-course-fields {
    gap: 0.4rem 1.0666666667rem;
    margin-top: 0.9333333333rem;
  }
}
.p-course-fields li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
}
@media screen and (max-width: 767px) {
  .p-course-fields li {
    font-size: 0.8rem;
  }
}
.p-course-fields li::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #6a6a6a;
}
@media screen and (max-width: 767px) {
  .p-course-fields li::before {
    width: 0.6666666667rem;
    height: 0.6666666667rem;
  }
}

.p-course-flow {
  display: flex;
  justify-content: center;
  gap: 3rem;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-course-flow {
    flex-direction: column;
    gap: 2.1333333333rem;
    margin-top: 2.6666666667rem;
  }
}
.p-course-flow li {
  position: relative;
  width: 15.75rem;
  padding: 2.5rem 1rem 1.5rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-course-flow li {
    width: auto;
    padding: 1.8666666667rem 1.0666666667rem 1.0666666667rem;
  }
}
.p-course-flow li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.875rem;
  width: 0.75rem;
  height: 0.75rem;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .p-course-flow li:not(:last-child)::after {
    display: none;
  }
}
.p-course-flow__day {
  position: absolute;
  top: -1.375rem;
  left: 50%;
  padding: 0 1.25rem;
  border-radius: 100px;
  background-color: #00a5ff;
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 1.125rem;
  line-height: 2.625rem;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-course-flow__day {
    top: -1.0666666667rem;
    font-size: 0.9333333333rem;
    line-height: 2.1333333333rem;
  }
}
.p-course-flow h3 {
  font-size: 1.25rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-course-flow h3 {
    font-size: 1.0666666667rem;
  }
}
.p-course-flow p {
  margin-top: 0.75rem;
  font-size: 0.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-course-flow p {
    margin-top: 0.4rem;
    font-size: 0.8rem;
  }
}
.p-course-flow__note {
  width: 72rem;
  margin: 2.5rem auto 0;
  font-size: 0.875rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-course-flow__note {
    width: auto;
    margin-top: 1.0666666667rem;
    font-size: 0.7333333333rem;
  }
}

.p-course-benefits {
  display: grid;
  grid-template-columns: repeat(2, 34.125rem);
  justify-content: space-between;
  row-gap: 3.125rem;
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-course-benefits {
    grid-template-columns: 1fr;
    row-gap: 1.0666666667rem;
    margin-top: 1.6rem;
  }
}
.p-course-benefits li {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.25rem 1.875rem 1.25rem 1.875rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-course-benefits li {
    gap: 0.8rem;
    padding: 1.0666666667rem;
    border-radius: 0.9333333333rem;
  }
}
.p-course-benefits h3 {
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-course-benefits h3 {
    font-size: 1.0666666667rem;
  }
}
.p-course-benefits p {
  margin-top: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-course-benefits p {
    margin-top: 0.4rem;
    font-size: 0.8rem;
  }
}
.p-course-benefits picture {
  flex-shrink: 0;
  width: 10.5rem;
}
@media screen and (max-width: 767px) {
  .p-course-benefits picture {
    width: 6.4rem;
  }
}
.p-course-benefits img {
  display: block;
  width: 100%;
  height: auto;
}

.p-course-points {
  margin-top: 3rem;
  padding: 2.5rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-course-points {
    margin-top: 1.6rem;
    padding: 1.3333333333rem 1.0666666667rem;
    border-radius: 0.9333333333rem;
  }
}
.p-course-points h3 {
  position: relative;
  padding-left: 1.875rem;
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-course-points h3 {
    padding-left: 1.3333333333rem;
    font-size: 1.0666666667rem;
  }
}
.p-course-points h3::before {
  content: "";
  position: absolute;
  top: 0.625rem;
  left: 0;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 50%;
  background-color: #6a6a6a;
}
@media screen and (max-width: 767px) {
  .p-course-points h3::before {
    top: 0.4rem;
    width: 0.8rem;
    height: 0.8rem;
  }
}
.p-course-points h3:not(:first-child) {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-course-points h3:not(:first-child) {
    margin-top: 1.3333333333rem;
  }
}
.p-course-points p {
  margin-top: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-course-points p {
    margin-top: 0.5333333333rem;
    font-size: 0.8666666667rem;
  }
}

@keyframes intern-hero-flow {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 768px) {
  .p-intern.--course .p-intern-reco {
    gap: 6.0625rem;
    padding-left: 0;
  }
  .p-intern.--course .p-intern-reco .p-intern-checks li {
    white-space: nowrap;
  }
}

.l-main.--recruit:has(.p-iv-head),
.l-main.--recruit:has(.p-iv),
.l-main.--recruit:has(.p-talk) {
  background-color: #f8e6e6;
  color: #824626;
}

.p-iv-head {
  padding: 11.9375rem 9rem 0;
}
@media screen and (max-width: 767px) {
  .p-iv-head {
    padding: 6.6666666667rem 1.3333333333rem 0;
  }
}
.p-iv-head__box {
  display: flex;
  gap: 6.25rem;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1.875rem 2.25rem;
  border-radius: 1rem;
  background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 767px) {
  .p-iv-head__box {
    flex-direction: column;
    gap: 1.0666666667rem;
    width: auto;
    padding: 1.6rem 1.3333333333rem;
    border-radius: 0.8rem;
  }
}
.p-iv-head__ttl {
  flex-shrink: 0;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-iv-head__ttl {
    font-size: 1.7333333333rem;
  }
}
.p-iv-head__lead {
  width: 35rem;
  padding-top: 0.6875rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-iv-head__lead {
    width: auto;
    padding-top: 0;
    font-size: 0.9333333333rem;
  }
}

.p-iv-list {
  padding: 6.25rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-iv-list {
    padding: 3.2rem 1.3333333333rem 5.3333333333rem;
  }
}
.p-iv-list__en {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 2.8125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-iv-list__en {
    font-size: 1.8666666667rem;
  }
}
.p-iv-list__grid {
  display: grid;
  grid-template-columns: repeat(3, 18.75rem);
  justify-content: center;
  gap: 5rem 7.875rem;
  margin-top: 5.625rem;
}
@media screen and (max-width: 767px) {
  .p-iv-list__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.0666666667rem 0.8rem;
    margin-top: 2.1333333333rem;
  }
}
.p-iv-list__grid .p-rec-staff__card {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-iv-list__grid .p-rec-staff__card {
    width: 100%;
    height: auto;
  }
  .p-iv-list__grid .p-rec-staff__card picture {
    aspect-ratio: 300/449;
  }
}
@media screen and (max-width: 767px) {
  .p-iv-list__grid .p-rec-staff__tag {
    gap: 0.2666666667rem;
    padding: 0.6666666667rem 0 0;
  }
  .p-iv-list__grid .p-rec-staff__dept {
    font-size: 0.8666666667rem;
    line-height: 1.3846153846;
  }
  .p-iv-list__grid .p-rec-staff__name {
    font-size: 0.7333333333rem;
    line-height: 1.4545454545;
    display: flex;
    align-items: center;
    min-height: 2.2666666667rem;
    padding-right: 2.5333333333rem;
    white-space: nowrap;
  }
  .p-iv-list__grid .p-rec-staff__arrow {
    width: 2.2666666667rem;
    height: 2.2666666667rem;
    background-size: 0.5333333333rem auto;
  }
  .p-iv-list__grid .p-rec-staff__arrow::after {
    width: 1.4666666667rem;
    height: 1.4666666667rem;
  }
}
.p-iv-list .p-co-back {
  margin-top: 22.6875rem;
}
@media screen and (max-width: 767px) {
  .p-iv-list .p-co-back {
    margin-top: 3.2rem;
  }
}

.p-iv {
  display: grid;
  grid-template-columns: 30rem 43.875rem;
  justify-content: space-between;
  -moz-column-gap: 2.9375rem;
       column-gap: 2.9375rem;
  width: 77rem;
  margin: 0 auto;
  padding-top: 11.6875rem;
}
@media screen and (max-width: 767px) {
  .p-iv {
    grid-template-columns: 1fr;
    width: auto;
    margin: 0 1.3333333333rem;
    padding-top: 6.6666666667rem;
  }
}
.p-iv__head {
  grid-column: 1/-1;
}
.p-iv__label {
  font-size: 1.125rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-iv__label {
    font-size: 0.8666666667rem;
  }
}
.p-iv__ttl {
  margin-top: 0.625rem;
  font-size: 2.375rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4736842105;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-iv__ttl {
    font-size: 1.4666666667rem;
  }
}
.p-iv__side {
  grid-row: 2;
  margin-top: 4.375rem;
}
@media screen and (max-width: 767px) {
  .p-iv__side {
    margin-top: 1.6rem;
  }
}
.p-iv__hero, .p-iv__photo {
  overflow: hidden;
  border-radius: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-iv__hero, .p-iv__photo {
    border-radius: 0.9333333333rem;
  }
}
.p-iv__hero img, .p-iv__photo img {
  display: block;
  width: 100%;
  height: auto;
}
.p-iv__profile {
  margin-top: 2.5rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-iv__profile {
    margin-top: 1.3333333333rem;
    font-size: 0.8666666667rem;
  }
}
.p-iv__profile-en {
  margin-bottom: 0.625rem;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
}
.p-iv__note {
  margin-top: 0.625rem;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-iv__note {
    font-size: 0.7333333333rem;
  }
}
.p-iv__sec {
  position: relative;
  grid-column: 2;
}
@media screen and (max-width: 767px) {
  .p-iv__sec {
    grid-column: auto;
    margin-top: 2.6666666667rem;
  }
}
.p-iv__sec.--s1::before, .p-iv__sec.--s2::before {
  content: "";
  position: absolute;
  width: 4.5rem;
  aspect-ratio: 72/54;
  background: url(../img/recruit/interview/cloud.svg) no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-iv__sec.--s1::before, .p-iv__sec.--s2::before {
    display: none;
  }
}
.p-iv__sec.--s1::before {
  top: -7.25rem;
  left: 36.375rem;
}
.p-iv__sec.--s2::before {
  top: 0.5625rem;
  left: -30.3125rem;
}
.p-iv__sec.--s1 {
  grid-row: 2;
  margin-top: 29.9375rem;
}
@media screen and (max-width: 767px) {
  .p-iv__sec.--s1 {
    grid-row: auto;
    margin-top: 2.6666666667rem;
  }
}
.p-iv__sec.--s2 {
  grid-row: 3;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-iv__sec.--s2 {
    grid-row: auto;
    margin-top: 2.6666666667rem;
  }
}
.p-iv__sec-ttl {
  font-size: 1.75rem;
  font-weight: 600;
  --aoto: "MFW-PAotoGothicStdN-DeBold";
  line-height: 1.6428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-iv__sec-ttl {
    font-size: 1.2rem;
  }
}
.p-iv__sec-txt {
  margin-top: 3rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-iv__sec-txt {
    margin-top: 1.0666666667rem;
    font-size: 0.9333333333rem;
  }
}
.p-iv__sec-txt p + p {
  margin-top: 2em;
}
.p-iv__photo {
  grid-column: 1;
  grid-row: 3;
  margin-top: 15rem;
}
@media screen and (max-width: 767px) {
  .p-iv__photo {
    grid-column: auto;
    grid-row: auto;
    width: 80%;
    margin: 2.1333333333rem auto 0;
  }
}

.p-talk {
  padding-top: 11.375rem;
}
@media screen and (max-width: 767px) {
  .p-talk {
    padding-top: 6.6666666667rem;
  }
}
.p-talk__head {
  padding: 0 9rem;
}
@media screen and (max-width: 767px) {
  .p-talk__head {
    padding: 0 1.3333333333rem;
  }
}
.p-talk__label {
  display: inline-block;
  margin-left: 1.875rem;
  padding: 0.375rem 1.5rem;
  background-color: #ffffff;
  font-size: 1.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-talk__label {
    margin-left: 0;
    font-size: 0.8666666667rem;
  }
}
.p-talk__catch {
  margin-top: 2.5rem;
  font-size: 2.625rem;
}
@media screen and (min-width: 768px) {
  .p-talk__catch {
    white-space: nowrap;
  }
}
.p-talk__catch {
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.4666666667;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-talk__catch {
    margin-top: 1.3333333333rem;
    font-size: 1.4rem;
  }
}
.p-talk__members {
  display: grid;
  grid-template-columns: repeat(3, 21.875rem);
  justify-content: center;
  -moz-column-gap: 8.1875rem;
       column-gap: 8.1875rem;
  margin: 6rem 4rem 0;
}
@media screen and (max-width: 767px) {
  .p-talk__members {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    margin: 2.6666666667rem 1.3333333333rem 0;
  }
}
.p-talk__members li {
  position: relative;
}
.p-talk__members li + li::before {
  content: "×";
  position: absolute;
  top: 9.375rem;
  left: -5rem;
  font-size: 3rem;
  font-weight: 200;
  --aoto: "MFW-PAotoGothicStdN-Light";
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-talk__members li + li::before {
    display: none;
  }
}
.p-talk__role, .p-talk__name {
  font-size: 1.125rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-talk__role, .p-talk__name {
    font-size: 0.9333333333rem;
  }
}
.p-talk__name {
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
}
.p-talk__portrait {
  width: 15.625rem;
  margin: 1rem auto 0;
  overflow: hidden;
  border-radius: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-talk__portrait {
    width: 14.6666666667rem;
    margin-top: 0.6666666667rem;
  }
}
.p-talk__portrait img {
  display: block;
  width: 100%;
  height: auto;
}
.p-talk__bio {
  margin-top: 2.5rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-talk__bio {
    margin-top: 0.8rem;
    font-size: 0.8666666667rem;
  }
}
.p-talk__en {
  margin: 7.5rem 0 0 9rem;
  font-family: "Roboto", sans-serif;
  --ff: "Roboto", sans-serif;
  font-size: 3.9375rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-talk__en {
    margin: 3.2rem 1.3333333333rem 0;
    font-size: 2.2666666667rem;
  }
}
.p-talk__main {
  margin-top: 2.5rem;
}
.p-talk__main img {
  display: block;
  width: 100%;
  height: auto;
}
.p-talk__topic {
  margin: 10.625rem 9rem 0;
}
@media screen and (max-width: 767px) {
  .p-talk__topic {
    margin: 3.7333333333rem 1.3333333333rem 0;
  }
}
.p-talk__topic + .p-talk__topic {
  margin-top: 15rem;
}
@media screen and (max-width: 767px) {
  .p-talk__topic + .p-talk__topic {
    margin-top: 3.7333333333rem;
  }
}
.p-talk__topic-ttl {
  font-size: 2.1875rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-talk__topic-ttl {
    font-size: 1.3333333333rem;
  }
}
.p-talk__topic-body {
  display: flex;
  justify-content: space-between;
  gap: 7.25rem;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-talk__topic-body {
    flex-direction: column-reverse;
    gap: 1.6rem;
    margin-top: 1.6rem;
  }
}
.p-talk__lines {
  width: 47.625rem;
}
@media screen and (max-width: 767px) {
  .p-talk__lines {
    width: auto;
  }
}
.p-talk__line {
  display: flex;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-talk__line {
    gap: 0.6666666667rem;
  }
}
.p-talk__line + .p-talk__line {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-talk__line + .p-talk__line {
    margin-top: 1.3333333333rem;
  }
}
.p-talk__line dt {
  flex-shrink: 0;
  width: 5.5rem;
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-talk__line dt {
    width: 4.2666666667rem;
    font-size: 0.7333333333rem;
  }
}
.p-talk__line dd {
  font-size: 1rem;
  font-weight: 500;
  --aoto: "MFW-PAotoGothicStdN-Medium";
  line-height: 2;
  letter-spacing: 0.05em;
  border-left: 1px solid;
  padding-left: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-talk__line dd {
    font-size: 0.8666666667rem;
  }
}
.p-talk__avatar {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0.5rem auto 0;
  overflow: hidden;
  border-radius: 50%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-talk__avatar {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.p-talk__avatar img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-talk__side {
  flex-shrink: 0;
  width: 23.125rem;
  align-self: flex-end;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-talk__side {
    width: 100%;
    margin-top: 0;
    border-radius: 0.9333333333rem;
  }
}
.p-talk__side img {
  display: block;
  width: 100%;
  height: auto;
}
.p-talk__others {
  margin: 15rem 9rem 0;
}
@media screen and (max-width: 767px) {
  .p-talk__others {
    margin: 4.8rem 1.3333333333rem 0;
  }
}
.p-talk__others h2 {
  font-size: 1.5rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-talk__others h2 {
    font-size: 1.2rem;
  }
}
.p-talk__others ul {
  display: flex;
  justify-content: space-between;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-talk__others ul {
    flex-direction: column;
    gap: 1.0666666667rem;
    margin-top: 1.0666666667rem;
  }
}
.p-talk__others li {
  width: 34.375rem;
}
@media screen and (max-width: 767px) {
  .p-talk__others li {
    width: auto;
  }
}
.p-talk__others a {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-talk__others a {
    font-size: 0.9333333333rem;
  }
}
.p-talk__others picture {
  display: block;
  aspect-ratio: 550/360;
  margin-bottom: 1rem;
  overflow: hidden;
  border-radius: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-talk__others picture {
    margin-bottom: 0.5333333333rem;
    border-radius: 1.0666666667rem;
  }
}
.p-talk__others img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease;
  will-change: transform;
  backface-visibility: hidden;
}
.p-talk__others a:hover img {
  transform: scale(1.04);
}
.p-talk .p-co-back {
  margin: 10rem 0 10rem;
}
@media screen and (max-width: 767px) {
  .p-talk .p-co-back {
    margin: 3.7333333333rem 0 3.7333333333rem;
  }
}

.l-main.--recruit:has(.p-iv-head) .p-rec-info,
.l-main.--recruit:has(.p-iv-head) .c-outro.--recruit,
.l-main.--recruit:has(.p-iv) .p-rec-info,
.l-main.--recruit:has(.p-iv) .c-outro.--recruit,
.l-main.--recruit:has(.p-talk) .p-rec-info,
.l-main.--recruit:has(.p-talk) .c-outro.--recruit {
  color: #000;
}

.l-main.--recruit:has(.p-iv-head) .c-outro.--recruit,
.l-main.--recruit:has(.p-iv) .c-outro.--recruit,
.l-main.--recruit:has(.p-talk) .c-outro.--recruit,
.l-main.--recruit:has(.p-learn-map) .c-outro.--recruit,
.l-main.--recruit:has(.p-dv-hero) .c-outro.--recruit {
  background-color: #ffffff;
}

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

.pc-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .pc-only {
    display: block !important;
  }
}

.sp-only-inline {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-only-inline {
    display: inline;
  }
}

.pc-only-inline {
  display: inline;
}
@media screen and (max-width: 767px) {
  .pc-only-inline {
    display: none !important;
  }
}

.sp-only-flex {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-only-flex {
    display: flex;
  }
}

.pc-only-flex {
  display: flex;
}
@media screen and (max-width: 767px) {
  .pc-only-flex {
    display: none !important;
  }
}

@media screen and (min-width: 10px) {
  .u-hide-10-up {
    display: none;
  }
}

@media screen and (max-width: 9px) {
  .u-hide-10-down {
    display: none;
  }
}

@media screen and (min-width: 20px) {
  .u-hide-20-up {
    display: none;
  }
}

@media screen and (max-width: 19px) {
  .u-hide-20-down {
    display: none;
  }
}

@media screen and (min-width: 30px) {
  .u-hide-30-up {
    display: none;
  }
}

@media screen and (max-width: 29px) {
  .u-hide-30-down {
    display: none;
  }
}

@media screen and (min-width: 40px) {
  .u-hide-40-up {
    display: none;
  }
}

@media screen and (max-width: 39px) {
  .u-hide-40-down {
    display: none;
  }
}

@media screen and (min-width: 50px) {
  .u-hide-50-up {
    display: none;
  }
}

@media screen and (max-width: 49px) {
  .u-hide-50-down {
    display: none;
  }
}

@media screen and (min-width: 60px) {
  .u-hide-60-up {
    display: none;
  }
}

@media screen and (max-width: 59px) {
  .u-hide-60-down {
    display: none;
  }
}

@media screen and (min-width: 70px) {
  .u-hide-70-up {
    display: none;
  }
}

@media screen and (max-width: 69px) {
  .u-hide-70-down {
    display: none;
  }
}

@media screen and (min-width: 80px) {
  .u-hide-80-up {
    display: none;
  }
}

@media screen and (max-width: 79px) {
  .u-hide-80-down {
    display: none;
  }
}

@media screen and (min-width: 90px) {
  .u-hide-90-up {
    display: none;
  }
}

@media screen and (max-width: 89px) {
  .u-hide-90-down {
    display: none;
  }
}

@media screen and (min-width: 100px) {
  .u-hide-100-up {
    display: none;
  }
}

@media screen and (max-width: 99px) {
  .u-hide-100-down {
    display: none;
  }
}

@media screen and (min-width: 110px) {
  .u-hide-110-up {
    display: none;
  }
}

@media screen and (max-width: 109px) {
  .u-hide-110-down {
    display: none;
  }
}

@media screen and (min-width: 120px) {
  .u-hide-120-up {
    display: none;
  }
}

@media screen and (max-width: 119px) {
  .u-hide-120-down {
    display: none;
  }
}

@media screen and (min-width: 130px) {
  .u-hide-130-up {
    display: none;
  }
}

@media screen and (max-width: 129px) {
  .u-hide-130-down {
    display: none;
  }
}

@media screen and (min-width: 140px) {
  .u-hide-140-up {
    display: none;
  }
}

@media screen and (max-width: 139px) {
  .u-hide-140-down {
    display: none;
  }
}

@media screen and (min-width: 150px) {
  .u-hide-150-up {
    display: none;
  }
}

@media screen and (max-width: 149px) {
  .u-hide-150-down {
    display: none;
  }
}

@media screen and (min-width: 160px) {
  .u-hide-160-up {
    display: none;
  }
}

@media screen and (max-width: 159px) {
  .u-hide-160-down {
    display: none;
  }
}

@media screen and (min-width: 170px) {
  .u-hide-170-up {
    display: none;
  }
}

@media screen and (max-width: 169px) {
  .u-hide-170-down {
    display: none;
  }
}

@media screen and (min-width: 180px) {
  .u-hide-180-up {
    display: none;
  }
}

@media screen and (max-width: 179px) {
  .u-hide-180-down {
    display: none;
  }
}

@media screen and (min-width: 190px) {
  .u-hide-190-up {
    display: none;
  }
}

@media screen and (max-width: 189px) {
  .u-hide-190-down {
    display: none;
  }
}

@media screen and (min-width: 200px) {
  .u-hide-200-up {
    display: none;
  }
}

@media screen and (max-width: 199px) {
  .u-hide-200-down {
    display: none;
  }
}

@media screen and (min-width: 210px) {
  .u-hide-210-up {
    display: none;
  }
}

@media screen and (max-width: 209px) {
  .u-hide-210-down {
    display: none;
  }
}

@media screen and (min-width: 220px) {
  .u-hide-220-up {
    display: none;
  }
}

@media screen and (max-width: 219px) {
  .u-hide-220-down {
    display: none;
  }
}

@media screen and (min-width: 230px) {
  .u-hide-230-up {
    display: none;
  }
}

@media screen and (max-width: 229px) {
  .u-hide-230-down {
    display: none;
  }
}

@media screen and (min-width: 240px) {
  .u-hide-240-up {
    display: none;
  }
}

@media screen and (max-width: 239px) {
  .u-hide-240-down {
    display: none;
  }
}

@media screen and (min-width: 250px) {
  .u-hide-250-up {
    display: none;
  }
}

@media screen and (max-width: 249px) {
  .u-hide-250-down {
    display: none;
  }
}

@media screen and (min-width: 260px) {
  .u-hide-260-up {
    display: none;
  }
}

@media screen and (max-width: 259px) {
  .u-hide-260-down {
    display: none;
  }
}

@media screen and (min-width: 270px) {
  .u-hide-270-up {
    display: none;
  }
}

@media screen and (max-width: 269px) {
  .u-hide-270-down {
    display: none;
  }
}

@media screen and (min-width: 280px) {
  .u-hide-280-up {
    display: none;
  }
}

@media screen and (max-width: 279px) {
  .u-hide-280-down {
    display: none;
  }
}

@media screen and (min-width: 290px) {
  .u-hide-290-up {
    display: none;
  }
}

@media screen and (max-width: 289px) {
  .u-hide-290-down {
    display: none;
  }
}

@media screen and (min-width: 300px) {
  .u-hide-300-up {
    display: none;
  }
}

@media screen and (max-width: 299px) {
  .u-hide-300-down {
    display: none;
  }
}

@media screen and (min-width: 310px) {
  .u-hide-310-up {
    display: none;
  }
}

@media screen and (max-width: 309px) {
  .u-hide-310-down {
    display: none;
  }
}

@media screen and (min-width: 320px) {
  .u-hide-320-up {
    display: none;
  }
}

@media screen and (max-width: 319px) {
  .u-hide-320-down {
    display: none;
  }
}

@media screen and (min-width: 330px) {
  .u-hide-330-up {
    display: none;
  }
}

@media screen and (max-width: 329px) {
  .u-hide-330-down {
    display: none;
  }
}

@media screen and (min-width: 340px) {
  .u-hide-340-up {
    display: none;
  }
}

@media screen and (max-width: 339px) {
  .u-hide-340-down {
    display: none;
  }
}

@media screen and (min-width: 350px) {
  .u-hide-350-up {
    display: none;
  }
}

@media screen and (max-width: 349px) {
  .u-hide-350-down {
    display: none;
  }
}

@media screen and (min-width: 360px) {
  .u-hide-360-up {
    display: none;
  }
}

@media screen and (max-width: 359px) {
  .u-hide-360-down {
    display: none;
  }
}

@media screen and (min-width: 370px) {
  .u-hide-370-up {
    display: none;
  }
}

@media screen and (max-width: 369px) {
  .u-hide-370-down {
    display: none;
  }
}

@media screen and (min-width: 380px) {
  .u-hide-380-up {
    display: none;
  }
}

@media screen and (max-width: 379px) {
  .u-hide-380-down {
    display: none;
  }
}

@media screen and (min-width: 390px) {
  .u-hide-390-up {
    display: none;
  }
}

@media screen and (max-width: 389px) {
  .u-hide-390-down {
    display: none;
  }
}

@media screen and (min-width: 400px) {
  .u-hide-400-up {
    display: none;
  }
}

@media screen and (max-width: 399px) {
  .u-hide-400-down {
    display: none;
  }
}

@media screen and (min-width: 410px) {
  .u-hide-410-up {
    display: none;
  }
}

@media screen and (max-width: 409px) {
  .u-hide-410-down {
    display: none;
  }
}

@media screen and (min-width: 420px) {
  .u-hide-420-up {
    display: none;
  }
}

@media screen and (max-width: 419px) {
  .u-hide-420-down {
    display: none;
  }
}

@media screen and (min-width: 430px) {
  .u-hide-430-up {
    display: none;
  }
}

@media screen and (max-width: 429px) {
  .u-hide-430-down {
    display: none;
  }
}

@media screen and (min-width: 440px) {
  .u-hide-440-up {
    display: none;
  }
}

@media screen and (max-width: 439px) {
  .u-hide-440-down {
    display: none;
  }
}

@media screen and (min-width: 450px) {
  .u-hide-450-up {
    display: none;
  }
}

@media screen and (max-width: 449px) {
  .u-hide-450-down {
    display: none;
  }
}

@media screen and (min-width: 460px) {
  .u-hide-460-up {
    display: none;
  }
}

@media screen and (max-width: 459px) {
  .u-hide-460-down {
    display: none;
  }
}

@media screen and (min-width: 470px) {
  .u-hide-470-up {
    display: none;
  }
}

@media screen and (max-width: 469px) {
  .u-hide-470-down {
    display: none;
  }
}

@media screen and (min-width: 480px) {
  .u-hide-480-up {
    display: none;
  }
}

@media screen and (max-width: 479px) {
  .u-hide-480-down {
    display: none;
  }
}

@media screen and (min-width: 490px) {
  .u-hide-490-up {
    display: none;
  }
}

@media screen and (max-width: 489px) {
  .u-hide-490-down {
    display: none;
  }
}

@media screen and (min-width: 500px) {
  .u-hide-500-up {
    display: none;
  }
}

@media screen and (max-width: 499px) {
  .u-hide-500-down {
    display: none;
  }
}

@media screen and (min-width: 510px) {
  .u-hide-510-up {
    display: none;
  }
}

@media screen and (max-width: 509px) {
  .u-hide-510-down {
    display: none;
  }
}

@media screen and (min-width: 520px) {
  .u-hide-520-up {
    display: none;
  }
}

@media screen and (max-width: 519px) {
  .u-hide-520-down {
    display: none;
  }
}

@media screen and (min-width: 530px) {
  .u-hide-530-up {
    display: none;
  }
}

@media screen and (max-width: 529px) {
  .u-hide-530-down {
    display: none;
  }
}

@media screen and (min-width: 540px) {
  .u-hide-540-up {
    display: none;
  }
}

@media screen and (max-width: 539px) {
  .u-hide-540-down {
    display: none;
  }
}

@media screen and (min-width: 550px) {
  .u-hide-550-up {
    display: none;
  }
}

@media screen and (max-width: 549px) {
  .u-hide-550-down {
    display: none;
  }
}

@media screen and (min-width: 560px) {
  .u-hide-560-up {
    display: none;
  }
}

@media screen and (max-width: 559px) {
  .u-hide-560-down {
    display: none;
  }
}

@media screen and (min-width: 570px) {
  .u-hide-570-up {
    display: none;
  }
}

@media screen and (max-width: 569px) {
  .u-hide-570-down {
    display: none;
  }
}

@media screen and (min-width: 580px) {
  .u-hide-580-up {
    display: none;
  }
}

@media screen and (max-width: 579px) {
  .u-hide-580-down {
    display: none;
  }
}

@media screen and (min-width: 590px) {
  .u-hide-590-up {
    display: none;
  }
}

@media screen and (max-width: 589px) {
  .u-hide-590-down {
    display: none;
  }
}

@media screen and (min-width: 600px) {
  .u-hide-600-up {
    display: none;
  }
}

@media screen and (max-width: 599px) {
  .u-hide-600-down {
    display: none;
  }
}

@media screen and (min-width: 610px) {
  .u-hide-610-up {
    display: none;
  }
}

@media screen and (max-width: 609px) {
  .u-hide-610-down {
    display: none;
  }
}

@media screen and (min-width: 620px) {
  .u-hide-620-up {
    display: none;
  }
}

@media screen and (max-width: 619px) {
  .u-hide-620-down {
    display: none;
  }
}

@media screen and (min-width: 630px) {
  .u-hide-630-up {
    display: none;
  }
}

@media screen and (max-width: 629px) {
  .u-hide-630-down {
    display: none;
  }
}

@media screen and (min-width: 640px) {
  .u-hide-640-up {
    display: none;
  }
}

@media screen and (max-width: 639px) {
  .u-hide-640-down {
    display: none;
  }
}

@media screen and (min-width: 650px) {
  .u-hide-650-up {
    display: none;
  }
}

@media screen and (max-width: 649px) {
  .u-hide-650-down {
    display: none;
  }
}

@media screen and (min-width: 660px) {
  .u-hide-660-up {
    display: none;
  }
}

@media screen and (max-width: 659px) {
  .u-hide-660-down {
    display: none;
  }
}

@media screen and (min-width: 670px) {
  .u-hide-670-up {
    display: none;
  }
}

@media screen and (max-width: 669px) {
  .u-hide-670-down {
    display: none;
  }
}

@media screen and (min-width: 680px) {
  .u-hide-680-up {
    display: none;
  }
}

@media screen and (max-width: 679px) {
  .u-hide-680-down {
    display: none;
  }
}

@media screen and (min-width: 690px) {
  .u-hide-690-up {
    display: none;
  }
}

@media screen and (max-width: 689px) {
  .u-hide-690-down {
    display: none;
  }
}

@media screen and (min-width: 700px) {
  .u-hide-700-up {
    display: none;
  }
}

@media screen and (max-width: 699px) {
  .u-hide-700-down {
    display: none;
  }
}

@media screen and (min-width: 710px) {
  .u-hide-710-up {
    display: none;
  }
}

@media screen and (max-width: 709px) {
  .u-hide-710-down {
    display: none;
  }
}

@media screen and (min-width: 720px) {
  .u-hide-720-up {
    display: none;
  }
}

@media screen and (max-width: 719px) {
  .u-hide-720-down {
    display: none;
  }
}

@media screen and (min-width: 730px) {
  .u-hide-730-up {
    display: none;
  }
}

@media screen and (max-width: 729px) {
  .u-hide-730-down {
    display: none;
  }
}

@media screen and (min-width: 740px) {
  .u-hide-740-up {
    display: none;
  }
}

@media screen and (max-width: 739px) {
  .u-hide-740-down {
    display: none;
  }
}

@media screen and (min-width: 750px) {
  .u-hide-750-up {
    display: none;
  }
}

@media screen and (max-width: 749px) {
  .u-hide-750-down {
    display: none;
  }
}

@media screen and (min-width: 760px) {
  .u-hide-760-up {
    display: none;
  }
}

@media screen and (max-width: 759px) {
  .u-hide-760-down {
    display: none;
  }
}

@media screen and (min-width: 770px) {
  .u-hide-770-up {
    display: none;
  }
}

@media screen and (max-width: 769px) {
  .u-hide-770-down {
    display: none;
  }
}

@media screen and (min-width: 780px) {
  .u-hide-780-up {
    display: none;
  }
}

@media screen and (max-width: 779px) {
  .u-hide-780-down {
    display: none;
  }
}

@media screen and (min-width: 790px) {
  .u-hide-790-up {
    display: none;
  }
}

@media screen and (max-width: 789px) {
  .u-hide-790-down {
    display: none;
  }
}

@media screen and (min-width: 800px) {
  .u-hide-800-up {
    display: none;
  }
}

@media screen and (max-width: 799px) {
  .u-hide-800-down {
    display: none;
  }
}

@media screen and (min-width: 810px) {
  .u-hide-810-up {
    display: none;
  }
}

@media screen and (max-width: 809px) {
  .u-hide-810-down {
    display: none;
  }
}

@media screen and (min-width: 820px) {
  .u-hide-820-up {
    display: none;
  }
}

@media screen and (max-width: 819px) {
  .u-hide-820-down {
    display: none;
  }
}

@media screen and (min-width: 830px) {
  .u-hide-830-up {
    display: none;
  }
}

@media screen and (max-width: 829px) {
  .u-hide-830-down {
    display: none;
  }
}

@media screen and (min-width: 840px) {
  .u-hide-840-up {
    display: none;
  }
}

@media screen and (max-width: 839px) {
  .u-hide-840-down {
    display: none;
  }
}

@media screen and (min-width: 850px) {
  .u-hide-850-up {
    display: none;
  }
}

@media screen and (max-width: 849px) {
  .u-hide-850-down {
    display: none;
  }
}

@media screen and (min-width: 860px) {
  .u-hide-860-up {
    display: none;
  }
}

@media screen and (max-width: 859px) {
  .u-hide-860-down {
    display: none;
  }
}

@media screen and (min-width: 870px) {
  .u-hide-870-up {
    display: none;
  }
}

@media screen and (max-width: 869px) {
  .u-hide-870-down {
    display: none;
  }
}

@media screen and (min-width: 880px) {
  .u-hide-880-up {
    display: none;
  }
}

@media screen and (max-width: 879px) {
  .u-hide-880-down {
    display: none;
  }
}

@media screen and (min-width: 890px) {
  .u-hide-890-up {
    display: none;
  }
}

@media screen and (max-width: 889px) {
  .u-hide-890-down {
    display: none;
  }
}

@media screen and (min-width: 900px) {
  .u-hide-900-up {
    display: none;
  }
}

@media screen and (max-width: 899px) {
  .u-hide-900-down {
    display: none;
  }
}

@media screen and (min-width: 910px) {
  .u-hide-910-up {
    display: none;
  }
}

@media screen and (max-width: 909px) {
  .u-hide-910-down {
    display: none;
  }
}

@media screen and (min-width: 920px) {
  .u-hide-920-up {
    display: none;
  }
}

@media screen and (max-width: 919px) {
  .u-hide-920-down {
    display: none;
  }
}

@media screen and (min-width: 930px) {
  .u-hide-930-up {
    display: none;
  }
}

@media screen and (max-width: 929px) {
  .u-hide-930-down {
    display: none;
  }
}

@media screen and (min-width: 940px) {
  .u-hide-940-up {
    display: none;
  }
}

@media screen and (max-width: 939px) {
  .u-hide-940-down {
    display: none;
  }
}

@media screen and (min-width: 950px) {
  .u-hide-950-up {
    display: none;
  }
}

@media screen and (max-width: 949px) {
  .u-hide-950-down {
    display: none;
  }
}

@media screen and (min-width: 960px) {
  .u-hide-960-up {
    display: none;
  }
}

@media screen and (max-width: 959px) {
  .u-hide-960-down {
    display: none;
  }
}

@media screen and (min-width: 970px) {
  .u-hide-970-up {
    display: none;
  }
}

@media screen and (max-width: 969px) {
  .u-hide-970-down {
    display: none;
  }
}

@media screen and (min-width: 980px) {
  .u-hide-980-up {
    display: none;
  }
}

@media screen and (max-width: 979px) {
  .u-hide-980-down {
    display: none;
  }
}

@media screen and (min-width: 990px) {
  .u-hide-990-up {
    display: none;
  }
}

@media screen and (max-width: 989px) {
  .u-hide-990-down {
    display: none;
  }
}

@media screen and (min-width: 1000px) {
  .u-hide-1000-up {
    display: none;
  }
}

@media screen and (max-width: 999px) {
  .u-hide-1000-down {
    display: none;
  }
}

@media screen and (min-width: 1010px) {
  .u-hide-1010-up {
    display: none;
  }
}

@media screen and (max-width: 1009px) {
  .u-hide-1010-down {
    display: none;
  }
}

@media screen and (min-width: 1020px) {
  .u-hide-1020-up {
    display: none;
  }
}

@media screen and (max-width: 1019px) {
  .u-hide-1020-down {
    display: none;
  }
}

@media screen and (min-width: 1030px) {
  .u-hide-1030-up {
    display: none;
  }
}

@media screen and (max-width: 1029px) {
  .u-hide-1030-down {
    display: none;
  }
}

@media screen and (min-width: 1040px) {
  .u-hide-1040-up {
    display: none;
  }
}

@media screen and (max-width: 1039px) {
  .u-hide-1040-down {
    display: none;
  }
}

@media screen and (min-width: 1050px) {
  .u-hide-1050-up {
    display: none;
  }
}

@media screen and (max-width: 1049px) {
  .u-hide-1050-down {
    display: none;
  }
}

@media screen and (min-width: 1060px) {
  .u-hide-1060-up {
    display: none;
  }
}

@media screen and (max-width: 1059px) {
  .u-hide-1060-down {
    display: none;
  }
}

@media screen and (min-width: 1070px) {
  .u-hide-1070-up {
    display: none;
  }
}

@media screen and (max-width: 1069px) {
  .u-hide-1070-down {
    display: none;
  }
}

@media screen and (min-width: 1080px) {
  .u-hide-1080-up {
    display: none;
  }
}

@media screen and (max-width: 1079px) {
  .u-hide-1080-down {
    display: none;
  }
}

@media screen and (min-width: 1090px) {
  .u-hide-1090-up {
    display: none;
  }
}

@media screen and (max-width: 1089px) {
  .u-hide-1090-down {
    display: none;
  }
}

@media screen and (min-width: 1100px) {
  .u-hide-1100-up {
    display: none;
  }
}

@media screen and (max-width: 1099px) {
  .u-hide-1100-down {
    display: none;
  }
}

@media screen and (min-width: 1110px) {
  .u-hide-1110-up {
    display: none;
  }
}

@media screen and (max-width: 1109px) {
  .u-hide-1110-down {
    display: none;
  }
}

@media screen and (min-width: 1120px) {
  .u-hide-1120-up {
    display: none;
  }
}

@media screen and (max-width: 1119px) {
  .u-hide-1120-down {
    display: none;
  }
}

@media screen and (min-width: 1130px) {
  .u-hide-1130-up {
    display: none;
  }
}

@media screen and (max-width: 1129px) {
  .u-hide-1130-down {
    display: none;
  }
}

@media screen and (min-width: 1140px) {
  .u-hide-1140-up {
    display: none;
  }
}

@media screen and (max-width: 1139px) {
  .u-hide-1140-down {
    display: none;
  }
}

@media screen and (min-width: 1150px) {
  .u-hide-1150-up {
    display: none;
  }
}

@media screen and (max-width: 1149px) {
  .u-hide-1150-down {
    display: none;
  }
}

@media screen and (min-width: 1160px) {
  .u-hide-1160-up {
    display: none;
  }
}

@media screen and (max-width: 1159px) {
  .u-hide-1160-down {
    display: none;
  }
}

@media screen and (min-width: 1170px) {
  .u-hide-1170-up {
    display: none;
  }
}

@media screen and (max-width: 1169px) {
  .u-hide-1170-down {
    display: none;
  }
}

@media screen and (min-width: 1180px) {
  .u-hide-1180-up {
    display: none;
  }
}

@media screen and (max-width: 1179px) {
  .u-hide-1180-down {
    display: none;
  }
}

@media screen and (min-width: 1190px) {
  .u-hide-1190-up {
    display: none;
  }
}

@media screen and (max-width: 1189px) {
  .u-hide-1190-down {
    display: none;
  }
}

@media screen and (min-width: 1200px) {
  .u-hide-1200-up {
    display: none;
  }
}

@media screen and (max-width: 1199px) {
  .u-hide-1200-down {
    display: none;
  }
}

@media screen and (min-width: 1210px) {
  .u-hide-1210-up {
    display: none;
  }
}

@media screen and (max-width: 1209px) {
  .u-hide-1210-down {
    display: none;
  }
}

@media screen and (min-width: 1220px) {
  .u-hide-1220-up {
    display: none;
  }
}

@media screen and (max-width: 1219px) {
  .u-hide-1220-down {
    display: none;
  }
}

@media screen and (min-width: 1230px) {
  .u-hide-1230-up {
    display: none;
  }
}

@media screen and (max-width: 1229px) {
  .u-hide-1230-down {
    display: none;
  }
}

@media screen and (min-width: 1240px) {
  .u-hide-1240-up {
    display: none;
  }
}

@media screen and (max-width: 1239px) {
  .u-hide-1240-down {
    display: none;
  }
}

@media screen and (min-width: 1250px) {
  .u-hide-1250-up {
    display: none;
  }
}

@media screen and (max-width: 1249px) {
  .u-hide-1250-down {
    display: none;
  }
}

@media screen and (min-width: 1260px) {
  .u-hide-1260-up {
    display: none;
  }
}

@media screen and (max-width: 1259px) {
  .u-hide-1260-down {
    display: none;
  }
}

@media screen and (min-width: 1270px) {
  .u-hide-1270-up {
    display: none;
  }
}

@media screen and (max-width: 1269px) {
  .u-hide-1270-down {
    display: none;
  }
}

@media screen and (min-width: 1280px) {
  .u-hide-1280-up {
    display: none;
  }
}

@media screen and (max-width: 1279px) {
  .u-hide-1280-down {
    display: none;
  }
}

@media screen and (min-width: 1290px) {
  .u-hide-1290-up {
    display: none;
  }
}

@media screen and (max-width: 1289px) {
  .u-hide-1290-down {
    display: none;
  }
}

@media screen and (min-width: 1300px) {
  .u-hide-1300-up {
    display: none;
  }
}

@media screen and (max-width: 1299px) {
  .u-hide-1300-down {
    display: none;
  }
}

@media screen and (min-width: 1310px) {
  .u-hide-1310-up {
    display: none;
  }
}

@media screen and (max-width: 1309px) {
  .u-hide-1310-down {
    display: none;
  }
}

@media screen and (min-width: 1320px) {
  .u-hide-1320-up {
    display: none;
  }
}

@media screen and (max-width: 1319px) {
  .u-hide-1320-down {
    display: none;
  }
}

@media screen and (min-width: 1330px) {
  .u-hide-1330-up {
    display: none;
  }
}

@media screen and (max-width: 1329px) {
  .u-hide-1330-down {
    display: none;
  }
}

@media screen and (min-width: 1340px) {
  .u-hide-1340-up {
    display: none;
  }
}

@media screen and (max-width: 1339px) {
  .u-hide-1340-down {
    display: none;
  }
}

@media screen and (min-width: 1350px) {
  .u-hide-1350-up {
    display: none;
  }
}

@media screen and (max-width: 1349px) {
  .u-hide-1350-down {
    display: none;
  }
}

@media screen and (min-width: 1360px) {
  .u-hide-1360-up {
    display: none;
  }
}

@media screen and (max-width: 1359px) {
  .u-hide-1360-down {
    display: none;
  }
}

@media screen and (min-width: 1370px) {
  .u-hide-1370-up {
    display: none;
  }
}

@media screen and (max-width: 1369px) {
  .u-hide-1370-down {
    display: none;
  }
}

@media screen and (min-width: 1380px) {
  .u-hide-1380-up {
    display: none;
  }
}

@media screen and (max-width: 1379px) {
  .u-hide-1380-down {
    display: none;
  }
}

@media screen and (min-width: 1390px) {
  .u-hide-1390-up {
    display: none;
  }
}

@media screen and (max-width: 1389px) {
  .u-hide-1390-down {
    display: none;
  }
}

@media screen and (min-width: 1400px) {
  .u-hide-1400-up {
    display: none;
  }
}

@media screen and (max-width: 1399px) {
  .u-hide-1400-down {
    display: none;
  }
}

@media screen and (min-width: 1410px) {
  .u-hide-1410-up {
    display: none;
  }
}

@media screen and (max-width: 1409px) {
  .u-hide-1410-down {
    display: none;
  }
}

@media screen and (min-width: 1420px) {
  .u-hide-1420-up {
    display: none;
  }
}

@media screen and (max-width: 1419px) {
  .u-hide-1420-down {
    display: none;
  }
}

@media screen and (min-width: 1430px) {
  .u-hide-1430-up {
    display: none;
  }
}

@media screen and (max-width: 1429px) {
  .u-hide-1430-down {
    display: none;
  }
}

@media screen and (min-width: 1440px) {
  .u-hide-1440-up {
    display: none;
  }
}

@media screen and (max-width: 1439px) {
  .u-hide-1440-down {
    display: none;
  }
}

@media screen and (min-width: 1450px) {
  .u-hide-1450-up {
    display: none;
  }
}

@media screen and (max-width: 1449px) {
  .u-hide-1450-down {
    display: none;
  }
}

@media screen and (min-width: 1460px) {
  .u-hide-1460-up {
    display: none;
  }
}

@media screen and (max-width: 1459px) {
  .u-hide-1460-down {
    display: none;
  }
}

@media screen and (min-width: 1470px) {
  .u-hide-1470-up {
    display: none;
  }
}

@media screen and (max-width: 1469px) {
  .u-hide-1470-down {
    display: none;
  }
}

@media screen and (min-width: 1480px) {
  .u-hide-1480-up {
    display: none;
  }
}

@media screen and (max-width: 1479px) {
  .u-hide-1480-down {
    display: none;
  }
}

@media screen and (min-width: 1490px) {
  .u-hide-1490-up {
    display: none;
  }
}

@media screen and (max-width: 1489px) {
  .u-hide-1490-down {
    display: none;
  }
}

@media screen and (min-width: 1500px) {
  .u-hide-1500-up {
    display: none;
  }
}

@media screen and (max-width: 1499px) {
  .u-hide-1500-down {
    display: none;
  }
}

@media screen and (min-width: 1510px) {
  .u-hide-1510-up {
    display: none;
  }
}

@media screen and (max-width: 1509px) {
  .u-hide-1510-down {
    display: none;
  }
}

@media screen and (min-width: 1520px) {
  .u-hide-1520-up {
    display: none;
  }
}

@media screen and (max-width: 1519px) {
  .u-hide-1520-down {
    display: none;
  }
}

@media screen and (min-width: 1530px) {
  .u-hide-1530-up {
    display: none;
  }
}

@media screen and (max-width: 1529px) {
  .u-hide-1530-down {
    display: none;
  }
}

@media screen and (min-width: 1540px) {
  .u-hide-1540-up {
    display: none;
  }
}

@media screen and (max-width: 1539px) {
  .u-hide-1540-down {
    display: none;
  }
}

@media screen and (min-width: 1550px) {
  .u-hide-1550-up {
    display: none;
  }
}

@media screen and (max-width: 1549px) {
  .u-hide-1550-down {
    display: none;
  }
}

@media screen and (min-width: 1560px) {
  .u-hide-1560-up {
    display: none;
  }
}

@media screen and (max-width: 1559px) {
  .u-hide-1560-down {
    display: none;
  }
}

@media screen and (min-width: 1570px) {
  .u-hide-1570-up {
    display: none;
  }
}

@media screen and (max-width: 1569px) {
  .u-hide-1570-down {
    display: none;
  }
}

@media screen and (min-width: 1580px) {
  .u-hide-1580-up {
    display: none;
  }
}

@media screen and (max-width: 1579px) {
  .u-hide-1580-down {
    display: none;
  }
}

@media screen and (min-width: 1590px) {
  .u-hide-1590-up {
    display: none;
  }
}

@media screen and (max-width: 1589px) {
  .u-hide-1590-down {
    display: none;
  }
}

@media screen and (min-width: 1600px) {
  .u-hide-1600-up {
    display: none;
  }
}

@media screen and (max-width: 1599px) {
  .u-hide-1600-down {
    display: none;
  }
}

@media screen and (min-width: 1610px) {
  .u-hide-1610-up {
    display: none;
  }
}

@media screen and (max-width: 1609px) {
  .u-hide-1610-down {
    display: none;
  }
}

@media screen and (min-width: 1620px) {
  .u-hide-1620-up {
    display: none;
  }
}

@media screen and (max-width: 1619px) {
  .u-hide-1620-down {
    display: none;
  }
}

@media screen and (min-width: 1630px) {
  .u-hide-1630-up {
    display: none;
  }
}

@media screen and (max-width: 1629px) {
  .u-hide-1630-down {
    display: none;
  }
}

@media screen and (min-width: 1640px) {
  .u-hide-1640-up {
    display: none;
  }
}

@media screen and (max-width: 1639px) {
  .u-hide-1640-down {
    display: none;
  }
}

@media screen and (min-width: 1650px) {
  .u-hide-1650-up {
    display: none;
  }
}

@media screen and (max-width: 1649px) {
  .u-hide-1650-down {
    display: none;
  }
}

@media screen and (min-width: 1660px) {
  .u-hide-1660-up {
    display: none;
  }
}

@media screen and (max-width: 1659px) {
  .u-hide-1660-down {
    display: none;
  }
}

@media screen and (min-width: 1670px) {
  .u-hide-1670-up {
    display: none;
  }
}

@media screen and (max-width: 1669px) {
  .u-hide-1670-down {
    display: none;
  }
}

@media screen and (min-width: 1680px) {
  .u-hide-1680-up {
    display: none;
  }
}

@media screen and (max-width: 1679px) {
  .u-hide-1680-down {
    display: none;
  }
}

@media screen and (min-width: 1690px) {
  .u-hide-1690-up {
    display: none;
  }
}

@media screen and (max-width: 1689px) {
  .u-hide-1690-down {
    display: none;
  }
}

@media screen and (min-width: 1700px) {
  .u-hide-1700-up {
    display: none;
  }
}

@media screen and (max-width: 1699px) {
  .u-hide-1700-down {
    display: none;
  }
}

@media screen and (min-width: 1710px) {
  .u-hide-1710-up {
    display: none;
  }
}

@media screen and (max-width: 1709px) {
  .u-hide-1710-down {
    display: none;
  }
}

@media screen and (min-width: 1720px) {
  .u-hide-1720-up {
    display: none;
  }
}

@media screen and (max-width: 1719px) {
  .u-hide-1720-down {
    display: none;
  }
}

@media screen and (min-width: 1730px) {
  .u-hide-1730-up {
    display: none;
  }
}

@media screen and (max-width: 1729px) {
  .u-hide-1730-down {
    display: none;
  }
}

@media screen and (min-width: 1740px) {
  .u-hide-1740-up {
    display: none;
  }
}

@media screen and (max-width: 1739px) {
  .u-hide-1740-down {
    display: none;
  }
}

@media screen and (min-width: 1750px) {
  .u-hide-1750-up {
    display: none;
  }
}

@media screen and (max-width: 1749px) {
  .u-hide-1750-down {
    display: none;
  }
}

@media screen and (min-width: 1760px) {
  .u-hide-1760-up {
    display: none;
  }
}

@media screen and (max-width: 1759px) {
  .u-hide-1760-down {
    display: none;
  }
}

@media screen and (min-width: 1770px) {
  .u-hide-1770-up {
    display: none;
  }
}

@media screen and (max-width: 1769px) {
  .u-hide-1770-down {
    display: none;
  }
}

@media screen and (min-width: 1780px) {
  .u-hide-1780-up {
    display: none;
  }
}

@media screen and (max-width: 1779px) {
  .u-hide-1780-down {
    display: none;
  }
}

@media screen and (min-width: 1790px) {
  .u-hide-1790-up {
    display: none;
  }
}

@media screen and (max-width: 1789px) {
  .u-hide-1790-down {
    display: none;
  }
}

@media screen and (min-width: 1800px) {
  .u-hide-1800-up {
    display: none;
  }
}

@media screen and (max-width: 1799px) {
  .u-hide-1800-down {
    display: none;
  }
}

@media screen and (min-width: 1810px) {
  .u-hide-1810-up {
    display: none;
  }
}

@media screen and (max-width: 1809px) {
  .u-hide-1810-down {
    display: none;
  }
}

@media screen and (min-width: 1820px) {
  .u-hide-1820-up {
    display: none;
  }
}

@media screen and (max-width: 1819px) {
  .u-hide-1820-down {
    display: none;
  }
}

@media screen and (min-width: 1830px) {
  .u-hide-1830-up {
    display: none;
  }
}

@media screen and (max-width: 1829px) {
  .u-hide-1830-down {
    display: none;
  }
}

@media screen and (min-width: 1840px) {
  .u-hide-1840-up {
    display: none;
  }
}

@media screen and (max-width: 1839px) {
  .u-hide-1840-down {
    display: none;
  }
}

@media screen and (min-width: 1850px) {
  .u-hide-1850-up {
    display: none;
  }
}

@media screen and (max-width: 1849px) {
  .u-hide-1850-down {
    display: none;
  }
}

@media screen and (min-width: 1860px) {
  .u-hide-1860-up {
    display: none;
  }
}

@media screen and (max-width: 1859px) {
  .u-hide-1860-down {
    display: none;
  }
}

@media screen and (min-width: 1870px) {
  .u-hide-1870-up {
    display: none;
  }
}

@media screen and (max-width: 1869px) {
  .u-hide-1870-down {
    display: none;
  }
}

@media screen and (min-width: 1880px) {
  .u-hide-1880-up {
    display: none;
  }
}

@media screen and (max-width: 1879px) {
  .u-hide-1880-down {
    display: none;
  }
}

@media screen and (min-width: 1890px) {
  .u-hide-1890-up {
    display: none;
  }
}

@media screen and (max-width: 1889px) {
  .u-hide-1890-down {
    display: none;
  }
}

@media screen and (min-width: 1900px) {
  .u-hide-1900-up {
    display: none;
  }
}

@media screen and (max-width: 1899px) {
  .u-hide-1900-down {
    display: none;
  }
}

@media screen and (min-width: 1910px) {
  .u-hide-1910-up {
    display: none;
  }
}

@media screen and (max-width: 1909px) {
  .u-hide-1910-down {
    display: none;
  }
}

@media screen and (min-width: 1920px) {
  .u-hide-1920-up {
    display: none;
  }
}

@media screen and (max-width: 1919px) {
  .u-hide-1920-down {
    display: none;
  }
}

@media screen and (min-width: 1930px) {
  .u-hide-1930-up {
    display: none;
  }
}

@media screen and (max-width: 1929px) {
  .u-hide-1930-down {
    display: none;
  }
}

@media screen and (min-width: 1940px) {
  .u-hide-1940-up {
    display: none;
  }
}

@media screen and (max-width: 1939px) {
  .u-hide-1940-down {
    display: none;
  }
}

@media screen and (min-width: 1950px) {
  .u-hide-1950-up {
    display: none;
  }
}

@media screen and (max-width: 1949px) {
  .u-hide-1950-down {
    display: none;
  }
}

@media screen and (min-width: 1960px) {
  .u-hide-1960-up {
    display: none;
  }
}

@media screen and (max-width: 1959px) {
  .u-hide-1960-down {
    display: none;
  }
}

@media screen and (min-width: 1970px) {
  .u-hide-1970-up {
    display: none;
  }
}

@media screen and (max-width: 1969px) {
  .u-hide-1970-down {
    display: none;
  }
}

@media screen and (min-width: 1980px) {
  .u-hide-1980-up {
    display: none;
  }
}

@media screen and (max-width: 1979px) {
  .u-hide-1980-down {
    display: none;
  }
}

@media screen and (min-width: 1990px) {
  .u-hide-1990-up {
    display: none;
  }
}

@media screen and (max-width: 1989px) {
  .u-hide-1990-down {
    display: none;
  }
}

@media screen and (min-width: 2000px) {
  .u-hide-2000-up {
    display: none;
  }
}

@media screen and (max-width: 1999px) {
  .u-hide-2000-down {
    display: none;
  }
}

.u-hideText {
  position: relative;
}
.u-hideText__txt {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
}

@media screen and (max-width: 767px) {
  .u-hideText--sp {
    position: relative;
  }
  .u-hideText--sp__txt {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
  }
}

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

br.u-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  br.u-sp {
    display: revert;
  }
}

.mT0 {
  margin-top: 0px;
}

@media screen and (max-width: 979px) {
  .mT20 {
    margin-top: 20px;
  }
}
.mB20 {
  margin-bottom: 20px;
}

body .l-wrapper .u-mt-1 {
  margin-top: 1px;
}
body .l-wrapper .u-mt-2 {
  margin-top: 2px;
}
body .l-wrapper .u-mt-3 {
  margin-top: 3px;
}
body .l-wrapper .u-mt-4 {
  margin-top: 4px;
}
body .l-wrapper .u-mt-5 {
  margin-top: 5px;
}
body .l-wrapper .u-mt-6 {
  margin-top: 6px;
}
body .l-wrapper .u-mt-7 {
  margin-top: 7px;
}
body .l-wrapper .u-mt-8 {
  margin-top: 8px;
}
body .l-wrapper .u-mt-9 {
  margin-top: 9px;
}
body .l-wrapper .u-mt-10 {
  margin-top: 10px;
}
body .l-wrapper .u-mt-11 {
  margin-top: 11px;
}
body .l-wrapper .u-mt-12 {
  margin-top: 12px;
}
body .l-wrapper .u-mt-13 {
  margin-top: 13px;
}
body .l-wrapper .u-mt-14 {
  margin-top: 14px;
}
body .l-wrapper .u-mt-15 {
  margin-top: 15px;
}
body .l-wrapper .u-mt-16 {
  margin-top: 16px;
}
body .l-wrapper .u-mt-17 {
  margin-top: 17px;
}
body .l-wrapper .u-mt-18 {
  margin-top: 18px;
}
body .l-wrapper .u-mt-19 {
  margin-top: 19px;
}
body .l-wrapper .u-mt-20 {
  margin-top: 20px;
}
body .l-wrapper .u-mt-21 {
  margin-top: 21px;
}
body .l-wrapper .u-mt-22 {
  margin-top: 22px;
}
body .l-wrapper .u-mt-23 {
  margin-top: 23px;
}
body .l-wrapper .u-mt-24 {
  margin-top: 24px;
}
body .l-wrapper .u-mt-25 {
  margin-top: 25px;
}
body .l-wrapper .u-mt-26 {
  margin-top: 26px;
}
body .l-wrapper .u-mt-27 {
  margin-top: 27px;
}
body .l-wrapper .u-mt-28 {
  margin-top: 28px;
}
body .l-wrapper .u-mt-29 {
  margin-top: 29px;
}
body .l-wrapper .u-mt-30 {
  margin-top: 30px;
}
body .l-wrapper .u-mt-31 {
  margin-top: 31px;
}
body .l-wrapper .u-mt-32 {
  margin-top: 32px;
}
body .l-wrapper .u-mt-33 {
  margin-top: 33px;
}
body .l-wrapper .u-mt-34 {
  margin-top: 34px;
}
body .l-wrapper .u-mt-35 {
  margin-top: 35px;
}
body .l-wrapper .u-mt-36 {
  margin-top: 36px;
}
body .l-wrapper .u-mt-37 {
  margin-top: 37px;
}
body .l-wrapper .u-mt-38 {
  margin-top: 38px;
}
body .l-wrapper .u-mt-39 {
  margin-top: 39px;
}
body .l-wrapper .u-mt-40 {
  margin-top: 40px;
}
body .l-wrapper .u-mt-41 {
  margin-top: 41px;
}
body .l-wrapper .u-mt-42 {
  margin-top: 42px;
}
body .l-wrapper .u-mt-43 {
  margin-top: 43px;
}
body .l-wrapper .u-mt-44 {
  margin-top: 44px;
}
body .l-wrapper .u-mt-45 {
  margin-top: 45px;
}
body .l-wrapper .u-mt-46 {
  margin-top: 46px;
}
body .l-wrapper .u-mt-47 {
  margin-top: 47px;
}
body .l-wrapper .u-mt-48 {
  margin-top: 48px;
}
body .l-wrapper .u-mt-49 {
  margin-top: 49px;
}
body .l-wrapper .u-mt-50 {
  margin-top: 50px;
}
body .l-wrapper .u-mt-51 {
  margin-top: 51px;
}
body .l-wrapper .u-mt-52 {
  margin-top: 52px;
}
body .l-wrapper .u-mt-53 {
  margin-top: 53px;
}
body .l-wrapper .u-mt-54 {
  margin-top: 54px;
}
body .l-wrapper .u-mt-55 {
  margin-top: 55px;
}
body .l-wrapper .u-mt-56 {
  margin-top: 56px;
}
body .l-wrapper .u-mt-57 {
  margin-top: 57px;
}
body .l-wrapper .u-mt-58 {
  margin-top: 58px;
}
body .l-wrapper .u-mt-59 {
  margin-top: 59px;
}
body .l-wrapper .u-mt-60 {
  margin-top: 60px;
}
body .l-wrapper .u-mt-61 {
  margin-top: 61px;
}
body .l-wrapper .u-mt-62 {
  margin-top: 62px;
}
body .l-wrapper .u-mt-63 {
  margin-top: 63px;
}
body .l-wrapper .u-mt-64 {
  margin-top: 64px;
}
body .l-wrapper .u-mt-65 {
  margin-top: 65px;
}
body .l-wrapper .u-mt-66 {
  margin-top: 66px;
}
body .l-wrapper .u-mt-67 {
  margin-top: 67px;
}
body .l-wrapper .u-mt-68 {
  margin-top: 68px;
}
body .l-wrapper .u-mt-69 {
  margin-top: 69px;
}
body .l-wrapper .u-mt-70 {
  margin-top: 70px;
}
body .l-wrapper .u-mt-71 {
  margin-top: 71px;
}
body .l-wrapper .u-mt-72 {
  margin-top: 72px;
}
body .l-wrapper .u-mt-73 {
  margin-top: 73px;
}
body .l-wrapper .u-mt-74 {
  margin-top: 74px;
}
body .l-wrapper .u-mt-75 {
  margin-top: 75px;
}
body .l-wrapper .u-mt-76 {
  margin-top: 76px;
}
body .l-wrapper .u-mt-77 {
  margin-top: 77px;
}
body .l-wrapper .u-mt-78 {
  margin-top: 78px;
}
body .l-wrapper .u-mt-79 {
  margin-top: 79px;
}
body .l-wrapper .u-mt-80 {
  margin-top: 80px;
}
body .l-wrapper .u-mt-81 {
  margin-top: 81px;
}
body .l-wrapper .u-mt-82 {
  margin-top: 82px;
}
body .l-wrapper .u-mt-83 {
  margin-top: 83px;
}
body .l-wrapper .u-mt-84 {
  margin-top: 84px;
}
body .l-wrapper .u-mt-85 {
  margin-top: 85px;
}
body .l-wrapper .u-mt-86 {
  margin-top: 86px;
}
body .l-wrapper .u-mt-87 {
  margin-top: 87px;
}
body .l-wrapper .u-mt-88 {
  margin-top: 88px;
}
body .l-wrapper .u-mt-89 {
  margin-top: 89px;
}
body .l-wrapper .u-mt-90 {
  margin-top: 90px;
}
body .l-wrapper .u-mt-91 {
  margin-top: 91px;
}
body .l-wrapper .u-mt-92 {
  margin-top: 92px;
}
body .l-wrapper .u-mt-93 {
  margin-top: 93px;
}
body .l-wrapper .u-mt-94 {
  margin-top: 94px;
}
body .l-wrapper .u-mt-95 {
  margin-top: 95px;
}
body .l-wrapper .u-mt-96 {
  margin-top: 96px;
}
body .l-wrapper .u-mt-97 {
  margin-top: 97px;
}
body .l-wrapper .u-mt-98 {
  margin-top: 98px;
}
body .l-wrapper .u-mt-99 {
  margin-top: 99px;
}
body .l-wrapper .u-mt-100 {
  margin-top: 100px;
}
body .l-wrapper .u-mt-101 {
  margin-top: 101px;
}
body .l-wrapper .u-mt-102 {
  margin-top: 102px;
}
body .l-wrapper .u-mt-103 {
  margin-top: 103px;
}
body .l-wrapper .u-mt-104 {
  margin-top: 104px;
}
body .l-wrapper .u-mt-105 {
  margin-top: 105px;
}
body .l-wrapper .u-mt-106 {
  margin-top: 106px;
}
body .l-wrapper .u-mt-107 {
  margin-top: 107px;
}
body .l-wrapper .u-mt-108 {
  margin-top: 108px;
}
body .l-wrapper .u-mt-109 {
  margin-top: 109px;
}
body .l-wrapper .u-mt-110 {
  margin-top: 110px;
}
body .l-wrapper .u-mt-111 {
  margin-top: 111px;
}
body .l-wrapper .u-mt-112 {
  margin-top: 112px;
}
body .l-wrapper .u-mt-113 {
  margin-top: 113px;
}
body .l-wrapper .u-mt-114 {
  margin-top: 114px;
}
body .l-wrapper .u-mt-115 {
  margin-top: 115px;
}
body .l-wrapper .u-mt-116 {
  margin-top: 116px;
}
body .l-wrapper .u-mt-117 {
  margin-top: 117px;
}
body .l-wrapper .u-mt-118 {
  margin-top: 118px;
}
body .l-wrapper .u-mt-119 {
  margin-top: 119px;
}
body .l-wrapper .u-mt-120 {
  margin-top: 120px;
}
body .l-wrapper .u-mt-121 {
  margin-top: 121px;
}
body .l-wrapper .u-mt-122 {
  margin-top: 122px;
}
body .l-wrapper .u-mt-123 {
  margin-top: 123px;
}
body .l-wrapper .u-mt-124 {
  margin-top: 124px;
}
body .l-wrapper .u-mt-125 {
  margin-top: 125px;
}
body .l-wrapper .u-mt-126 {
  margin-top: 126px;
}
body .l-wrapper .u-mt-127 {
  margin-top: 127px;
}
body .l-wrapper .u-mt-128 {
  margin-top: 128px;
}
body .l-wrapper .u-mt-129 {
  margin-top: 129px;
}
body .l-wrapper .u-mt-130 {
  margin-top: 130px;
}
body .l-wrapper .u-mt-131 {
  margin-top: 131px;
}
body .l-wrapper .u-mt-132 {
  margin-top: 132px;
}
body .l-wrapper .u-mt-133 {
  margin-top: 133px;
}
body .l-wrapper .u-mt-134 {
  margin-top: 134px;
}
body .l-wrapper .u-mt-135 {
  margin-top: 135px;
}
body .l-wrapper .u-mt-136 {
  margin-top: 136px;
}
body .l-wrapper .u-mt-137 {
  margin-top: 137px;
}
body .l-wrapper .u-mt-138 {
  margin-top: 138px;
}
body .l-wrapper .u-mt-139 {
  margin-top: 139px;
}
body .l-wrapper .u-mt-140 {
  margin-top: 140px;
}
body .l-wrapper .u-mt-141 {
  margin-top: 141px;
}
body .l-wrapper .u-mt-142 {
  margin-top: 142px;
}
body .l-wrapper .u-mt-143 {
  margin-top: 143px;
}
body .l-wrapper .u-mt-144 {
  margin-top: 144px;
}
body .l-wrapper .u-mt-145 {
  margin-top: 145px;
}
body .l-wrapper .u-mt-146 {
  margin-top: 146px;
}
body .l-wrapper .u-mt-147 {
  margin-top: 147px;
}
body .l-wrapper .u-mt-148 {
  margin-top: 148px;
}
body .l-wrapper .u-mt-149 {
  margin-top: 149px;
}
body .l-wrapper .u-mt-150 {
  margin-top: 150px;
}
body .l-wrapper .u-mt-151 {
  margin-top: 151px;
}
body .l-wrapper .u-mt-152 {
  margin-top: 152px;
}
body .l-wrapper .u-mt-153 {
  margin-top: 153px;
}
body .l-wrapper .u-mt-154 {
  margin-top: 154px;
}
body .l-wrapper .u-mt-155 {
  margin-top: 155px;
}
body .l-wrapper .u-mt-156 {
  margin-top: 156px;
}
body .l-wrapper .u-mt-157 {
  margin-top: 157px;
}
body .l-wrapper .u-mt-158 {
  margin-top: 158px;
}
body .l-wrapper .u-mt-159 {
  margin-top: 159px;
}
body .l-wrapper .u-mt-160 {
  margin-top: 160px;
}
body .l-wrapper .u-mt-161 {
  margin-top: 161px;
}
body .l-wrapper .u-mt-162 {
  margin-top: 162px;
}
body .l-wrapper .u-mt-163 {
  margin-top: 163px;
}
body .l-wrapper .u-mt-164 {
  margin-top: 164px;
}
body .l-wrapper .u-mt-165 {
  margin-top: 165px;
}
body .l-wrapper .u-mt-166 {
  margin-top: 166px;
}
body .l-wrapper .u-mt-167 {
  margin-top: 167px;
}
body .l-wrapper .u-mt-168 {
  margin-top: 168px;
}
body .l-wrapper .u-mt-169 {
  margin-top: 169px;
}
body .l-wrapper .u-mt-170 {
  margin-top: 170px;
}
body .l-wrapper .u-mt-171 {
  margin-top: 171px;
}
body .l-wrapper .u-mt-172 {
  margin-top: 172px;
}
body .l-wrapper .u-mt-173 {
  margin-top: 173px;
}
body .l-wrapper .u-mt-174 {
  margin-top: 174px;
}
body .l-wrapper .u-mt-175 {
  margin-top: 175px;
}
body .l-wrapper .u-mt-176 {
  margin-top: 176px;
}
body .l-wrapper .u-mt-177 {
  margin-top: 177px;
}
body .l-wrapper .u-mt-178 {
  margin-top: 178px;
}
body .l-wrapper .u-mt-179 {
  margin-top: 179px;
}
body .l-wrapper .u-mt-180 {
  margin-top: 180px;
}
body .l-wrapper .u-mt-181 {
  margin-top: 181px;
}
body .l-wrapper .u-mt-182 {
  margin-top: 182px;
}
body .l-wrapper .u-mt-183 {
  margin-top: 183px;
}
body .l-wrapper .u-mt-184 {
  margin-top: 184px;
}
body .l-wrapper .u-mt-185 {
  margin-top: 185px;
}
body .l-wrapper .u-mt-186 {
  margin-top: 186px;
}
body .l-wrapper .u-mt-187 {
  margin-top: 187px;
}
body .l-wrapper .u-mt-188 {
  margin-top: 188px;
}
body .l-wrapper .u-mt-189 {
  margin-top: 189px;
}
body .l-wrapper .u-mt-190 {
  margin-top: 190px;
}
body .l-wrapper .u-mt-191 {
  margin-top: 191px;
}
body .l-wrapper .u-mt-192 {
  margin-top: 192px;
}
body .l-wrapper .u-mt-193 {
  margin-top: 193px;
}
body .l-wrapper .u-mt-194 {
  margin-top: 194px;
}
body .l-wrapper .u-mt-195 {
  margin-top: 195px;
}
body .l-wrapper .u-mt-196 {
  margin-top: 196px;
}
body .l-wrapper .u-mt-197 {
  margin-top: 197px;
}
body .l-wrapper .u-mt-198 {
  margin-top: 198px;
}
body .l-wrapper .u-mt-199 {
  margin-top: 199px;
}
body .l-wrapper .u-mt-200 {
  margin-top: 200px;
}

.u-pt50 {
  padding-top: 50px;
}

.u-pt85 {
  padding-top: 85px;
}
@media screen and (max-width: 767px) {
  .u-pt85 {
    padding-top: 30px;
  }
}

.u-pt120 {
  padding-top: 120px;
}
@media screen and (max-width: 767px) {
  .u-pt120 {
    padding-top: 30px;
  }
}

.u-pt-half {
  padding-top: 0.6em;
}

.u-fwb {
  font-weight: bold;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}

.u-uppercase {
  text-transform: uppercase;
}

.u-uppercase-none {
  text-transform: none;
}

@media screen and (min-width: 10px) {
  .u-br-10 {
    display: none;
  }
}

@media screen and (max-width: 9px) {
  .u-br-10-down {
    display: none;
  }
}

@media screen and (min-width: 20px) {
  .u-br-20 {
    display: none;
  }
}

@media screen and (max-width: 19px) {
  .u-br-20-down {
    display: none;
  }
}

@media screen and (min-width: 30px) {
  .u-br-30 {
    display: none;
  }
}

@media screen and (max-width: 29px) {
  .u-br-30-down {
    display: none;
  }
}

@media screen and (min-width: 40px) {
  .u-br-40 {
    display: none;
  }
}

@media screen and (max-width: 39px) {
  .u-br-40-down {
    display: none;
  }
}

@media screen and (min-width: 50px) {
  .u-br-50 {
    display: none;
  }
}

@media screen and (max-width: 49px) {
  .u-br-50-down {
    display: none;
  }
}

@media screen and (min-width: 60px) {
  .u-br-60 {
    display: none;
  }
}

@media screen and (max-width: 59px) {
  .u-br-60-down {
    display: none;
  }
}

@media screen and (min-width: 70px) {
  .u-br-70 {
    display: none;
  }
}

@media screen and (max-width: 69px) {
  .u-br-70-down {
    display: none;
  }
}

@media screen and (min-width: 80px) {
  .u-br-80 {
    display: none;
  }
}

@media screen and (max-width: 79px) {
  .u-br-80-down {
    display: none;
  }
}

@media screen and (min-width: 90px) {
  .u-br-90 {
    display: none;
  }
}

@media screen and (max-width: 89px) {
  .u-br-90-down {
    display: none;
  }
}

@media screen and (min-width: 100px) {
  .u-br-100 {
    display: none;
  }
}

@media screen and (max-width: 99px) {
  .u-br-100-down {
    display: none;
  }
}

@media screen and (min-width: 110px) {
  .u-br-110 {
    display: none;
  }
}

@media screen and (max-width: 109px) {
  .u-br-110-down {
    display: none;
  }
}

@media screen and (min-width: 120px) {
  .u-br-120 {
    display: none;
  }
}

@media screen and (max-width: 119px) {
  .u-br-120-down {
    display: none;
  }
}

@media screen and (min-width: 130px) {
  .u-br-130 {
    display: none;
  }
}

@media screen and (max-width: 129px) {
  .u-br-130-down {
    display: none;
  }
}

@media screen and (min-width: 140px) {
  .u-br-140 {
    display: none;
  }
}

@media screen and (max-width: 139px) {
  .u-br-140-down {
    display: none;
  }
}

@media screen and (min-width: 150px) {
  .u-br-150 {
    display: none;
  }
}

@media screen and (max-width: 149px) {
  .u-br-150-down {
    display: none;
  }
}

@media screen and (min-width: 160px) {
  .u-br-160 {
    display: none;
  }
}

@media screen and (max-width: 159px) {
  .u-br-160-down {
    display: none;
  }
}

@media screen and (min-width: 170px) {
  .u-br-170 {
    display: none;
  }
}

@media screen and (max-width: 169px) {
  .u-br-170-down {
    display: none;
  }
}

@media screen and (min-width: 180px) {
  .u-br-180 {
    display: none;
  }
}

@media screen and (max-width: 179px) {
  .u-br-180-down {
    display: none;
  }
}

@media screen and (min-width: 190px) {
  .u-br-190 {
    display: none;
  }
}

@media screen and (max-width: 189px) {
  .u-br-190-down {
    display: none;
  }
}

@media screen and (min-width: 200px) {
  .u-br-200 {
    display: none;
  }
}

@media screen and (max-width: 199px) {
  .u-br-200-down {
    display: none;
  }
}

@media screen and (min-width: 210px) {
  .u-br-210 {
    display: none;
  }
}

@media screen and (max-width: 209px) {
  .u-br-210-down {
    display: none;
  }
}

@media screen and (min-width: 220px) {
  .u-br-220 {
    display: none;
  }
}

@media screen and (max-width: 219px) {
  .u-br-220-down {
    display: none;
  }
}

@media screen and (min-width: 230px) {
  .u-br-230 {
    display: none;
  }
}

@media screen and (max-width: 229px) {
  .u-br-230-down {
    display: none;
  }
}

@media screen and (min-width: 240px) {
  .u-br-240 {
    display: none;
  }
}

@media screen and (max-width: 239px) {
  .u-br-240-down {
    display: none;
  }
}

@media screen and (min-width: 250px) {
  .u-br-250 {
    display: none;
  }
}

@media screen and (max-width: 249px) {
  .u-br-250-down {
    display: none;
  }
}

@media screen and (min-width: 260px) {
  .u-br-260 {
    display: none;
  }
}

@media screen and (max-width: 259px) {
  .u-br-260-down {
    display: none;
  }
}

@media screen and (min-width: 270px) {
  .u-br-270 {
    display: none;
  }
}

@media screen and (max-width: 269px) {
  .u-br-270-down {
    display: none;
  }
}

@media screen and (min-width: 280px) {
  .u-br-280 {
    display: none;
  }
}

@media screen and (max-width: 279px) {
  .u-br-280-down {
    display: none;
  }
}

@media screen and (min-width: 290px) {
  .u-br-290 {
    display: none;
  }
}

@media screen and (max-width: 289px) {
  .u-br-290-down {
    display: none;
  }
}

@media screen and (min-width: 300px) {
  .u-br-300 {
    display: none;
  }
}

@media screen and (max-width: 299px) {
  .u-br-300-down {
    display: none;
  }
}

@media screen and (min-width: 310px) {
  .u-br-310 {
    display: none;
  }
}

@media screen and (max-width: 309px) {
  .u-br-310-down {
    display: none;
  }
}

@media screen and (min-width: 320px) {
  .u-br-320 {
    display: none;
  }
}

@media screen and (max-width: 319px) {
  .u-br-320-down {
    display: none;
  }
}

@media screen and (min-width: 330px) {
  .u-br-330 {
    display: none;
  }
}

@media screen and (max-width: 329px) {
  .u-br-330-down {
    display: none;
  }
}

@media screen and (min-width: 340px) {
  .u-br-340 {
    display: none;
  }
}

@media screen and (max-width: 339px) {
  .u-br-340-down {
    display: none;
  }
}

@media screen and (min-width: 350px) {
  .u-br-350 {
    display: none;
  }
}

@media screen and (max-width: 349px) {
  .u-br-350-down {
    display: none;
  }
}

@media screen and (min-width: 360px) {
  .u-br-360 {
    display: none;
  }
}

@media screen and (max-width: 359px) {
  .u-br-360-down {
    display: none;
  }
}

@media screen and (min-width: 370px) {
  .u-br-370 {
    display: none;
  }
}

@media screen and (max-width: 369px) {
  .u-br-370-down {
    display: none;
  }
}

@media screen and (min-width: 380px) {
  .u-br-380 {
    display: none;
  }
}

@media screen and (max-width: 379px) {
  .u-br-380-down {
    display: none;
  }
}

@media screen and (min-width: 390px) {
  .u-br-390 {
    display: none;
  }
}

@media screen and (max-width: 389px) {
  .u-br-390-down {
    display: none;
  }
}

@media screen and (min-width: 400px) {
  .u-br-400 {
    display: none;
  }
}

@media screen and (max-width: 399px) {
  .u-br-400-down {
    display: none;
  }
}

@media screen and (min-width: 410px) {
  .u-br-410 {
    display: none;
  }
}

@media screen and (max-width: 409px) {
  .u-br-410-down {
    display: none;
  }
}

@media screen and (min-width: 420px) {
  .u-br-420 {
    display: none;
  }
}

@media screen and (max-width: 419px) {
  .u-br-420-down {
    display: none;
  }
}

@media screen and (min-width: 430px) {
  .u-br-430 {
    display: none;
  }
}

@media screen and (max-width: 429px) {
  .u-br-430-down {
    display: none;
  }
}

@media screen and (min-width: 440px) {
  .u-br-440 {
    display: none;
  }
}

@media screen and (max-width: 439px) {
  .u-br-440-down {
    display: none;
  }
}

@media screen and (min-width: 450px) {
  .u-br-450 {
    display: none;
  }
}

@media screen and (max-width: 449px) {
  .u-br-450-down {
    display: none;
  }
}

@media screen and (min-width: 460px) {
  .u-br-460 {
    display: none;
  }
}

@media screen and (max-width: 459px) {
  .u-br-460-down {
    display: none;
  }
}

@media screen and (min-width: 470px) {
  .u-br-470 {
    display: none;
  }
}

@media screen and (max-width: 469px) {
  .u-br-470-down {
    display: none;
  }
}

@media screen and (min-width: 480px) {
  .u-br-480 {
    display: none;
  }
}

@media screen and (max-width: 479px) {
  .u-br-480-down {
    display: none;
  }
}

@media screen and (min-width: 490px) {
  .u-br-490 {
    display: none;
  }
}

@media screen and (max-width: 489px) {
  .u-br-490-down {
    display: none;
  }
}

@media screen and (min-width: 500px) {
  .u-br-500 {
    display: none;
  }
}

@media screen and (max-width: 499px) {
  .u-br-500-down {
    display: none;
  }
}

@media screen and (min-width: 510px) {
  .u-br-510 {
    display: none;
  }
}

@media screen and (max-width: 509px) {
  .u-br-510-down {
    display: none;
  }
}

@media screen and (min-width: 520px) {
  .u-br-520 {
    display: none;
  }
}

@media screen and (max-width: 519px) {
  .u-br-520-down {
    display: none;
  }
}

@media screen and (min-width: 530px) {
  .u-br-530 {
    display: none;
  }
}

@media screen and (max-width: 529px) {
  .u-br-530-down {
    display: none;
  }
}

@media screen and (min-width: 540px) {
  .u-br-540 {
    display: none;
  }
}

@media screen and (max-width: 539px) {
  .u-br-540-down {
    display: none;
  }
}

@media screen and (min-width: 550px) {
  .u-br-550 {
    display: none;
  }
}

@media screen and (max-width: 549px) {
  .u-br-550-down {
    display: none;
  }
}

@media screen and (min-width: 560px) {
  .u-br-560 {
    display: none;
  }
}

@media screen and (max-width: 559px) {
  .u-br-560-down {
    display: none;
  }
}

@media screen and (min-width: 570px) {
  .u-br-570 {
    display: none;
  }
}

@media screen and (max-width: 569px) {
  .u-br-570-down {
    display: none;
  }
}

@media screen and (min-width: 580px) {
  .u-br-580 {
    display: none;
  }
}

@media screen and (max-width: 579px) {
  .u-br-580-down {
    display: none;
  }
}

@media screen and (min-width: 590px) {
  .u-br-590 {
    display: none;
  }
}

@media screen and (max-width: 589px) {
  .u-br-590-down {
    display: none;
  }
}

@media screen and (min-width: 600px) {
  .u-br-600 {
    display: none;
  }
}

@media screen and (max-width: 599px) {
  .u-br-600-down {
    display: none;
  }
}

@media screen and (min-width: 610px) {
  .u-br-610 {
    display: none;
  }
}

@media screen and (max-width: 609px) {
  .u-br-610-down {
    display: none;
  }
}

@media screen and (min-width: 620px) {
  .u-br-620 {
    display: none;
  }
}

@media screen and (max-width: 619px) {
  .u-br-620-down {
    display: none;
  }
}

@media screen and (min-width: 630px) {
  .u-br-630 {
    display: none;
  }
}

@media screen and (max-width: 629px) {
  .u-br-630-down {
    display: none;
  }
}

@media screen and (min-width: 640px) {
  .u-br-640 {
    display: none;
  }
}

@media screen and (max-width: 639px) {
  .u-br-640-down {
    display: none;
  }
}

@media screen and (min-width: 650px) {
  .u-br-650 {
    display: none;
  }
}

@media screen and (max-width: 649px) {
  .u-br-650-down {
    display: none;
  }
}

@media screen and (min-width: 660px) {
  .u-br-660 {
    display: none;
  }
}

@media screen and (max-width: 659px) {
  .u-br-660-down {
    display: none;
  }
}

@media screen and (min-width: 670px) {
  .u-br-670 {
    display: none;
  }
}

@media screen and (max-width: 669px) {
  .u-br-670-down {
    display: none;
  }
}

@media screen and (min-width: 680px) {
  .u-br-680 {
    display: none;
  }
}

@media screen and (max-width: 679px) {
  .u-br-680-down {
    display: none;
  }
}

@media screen and (min-width: 690px) {
  .u-br-690 {
    display: none;
  }
}

@media screen and (max-width: 689px) {
  .u-br-690-down {
    display: none;
  }
}

@media screen and (min-width: 700px) {
  .u-br-700 {
    display: none;
  }
}

@media screen and (max-width: 699px) {
  .u-br-700-down {
    display: none;
  }
}

@media screen and (min-width: 710px) {
  .u-br-710 {
    display: none;
  }
}

@media screen and (max-width: 709px) {
  .u-br-710-down {
    display: none;
  }
}

@media screen and (min-width: 720px) {
  .u-br-720 {
    display: none;
  }
}

@media screen and (max-width: 719px) {
  .u-br-720-down {
    display: none;
  }
}

@media screen and (min-width: 730px) {
  .u-br-730 {
    display: none;
  }
}

@media screen and (max-width: 729px) {
  .u-br-730-down {
    display: none;
  }
}

@media screen and (min-width: 740px) {
  .u-br-740 {
    display: none;
  }
}

@media screen and (max-width: 739px) {
  .u-br-740-down {
    display: none;
  }
}

@media screen and (min-width: 750px) {
  .u-br-750 {
    display: none;
  }
}

@media screen and (max-width: 749px) {
  .u-br-750-down {
    display: none;
  }
}

@media screen and (min-width: 760px) {
  .u-br-760 {
    display: none;
  }
}

@media screen and (max-width: 759px) {
  .u-br-760-down {
    display: none;
  }
}

@media screen and (min-width: 770px) {
  .u-br-770 {
    display: none;
  }
}

@media screen and (max-width: 769px) {
  .u-br-770-down {
    display: none;
  }
}

@media screen and (min-width: 780px) {
  .u-br-780 {
    display: none;
  }
}

@media screen and (max-width: 779px) {
  .u-br-780-down {
    display: none;
  }
}

@media screen and (min-width: 790px) {
  .u-br-790 {
    display: none;
  }
}

@media screen and (max-width: 789px) {
  .u-br-790-down {
    display: none;
  }
}

@media screen and (min-width: 800px) {
  .u-br-800 {
    display: none;
  }
}

@media screen and (max-width: 799px) {
  .u-br-800-down {
    display: none;
  }
}

@media screen and (min-width: 810px) {
  .u-br-810 {
    display: none;
  }
}

@media screen and (max-width: 809px) {
  .u-br-810-down {
    display: none;
  }
}

@media screen and (min-width: 820px) {
  .u-br-820 {
    display: none;
  }
}

@media screen and (max-width: 819px) {
  .u-br-820-down {
    display: none;
  }
}

@media screen and (min-width: 830px) {
  .u-br-830 {
    display: none;
  }
}

@media screen and (max-width: 829px) {
  .u-br-830-down {
    display: none;
  }
}

@media screen and (min-width: 840px) {
  .u-br-840 {
    display: none;
  }
}

@media screen and (max-width: 839px) {
  .u-br-840-down {
    display: none;
  }
}

@media screen and (min-width: 850px) {
  .u-br-850 {
    display: none;
  }
}

@media screen and (max-width: 849px) {
  .u-br-850-down {
    display: none;
  }
}

@media screen and (min-width: 860px) {
  .u-br-860 {
    display: none;
  }
}

@media screen and (max-width: 859px) {
  .u-br-860-down {
    display: none;
  }
}

@media screen and (min-width: 870px) {
  .u-br-870 {
    display: none;
  }
}

@media screen and (max-width: 869px) {
  .u-br-870-down {
    display: none;
  }
}

@media screen and (min-width: 880px) {
  .u-br-880 {
    display: none;
  }
}

@media screen and (max-width: 879px) {
  .u-br-880-down {
    display: none;
  }
}

@media screen and (min-width: 890px) {
  .u-br-890 {
    display: none;
  }
}

@media screen and (max-width: 889px) {
  .u-br-890-down {
    display: none;
  }
}

@media screen and (min-width: 900px) {
  .u-br-900 {
    display: none;
  }
}

@media screen and (max-width: 899px) {
  .u-br-900-down {
    display: none;
  }
}

@media screen and (min-width: 910px) {
  .u-br-910 {
    display: none;
  }
}

@media screen and (max-width: 909px) {
  .u-br-910-down {
    display: none;
  }
}

@media screen and (min-width: 920px) {
  .u-br-920 {
    display: none;
  }
}

@media screen and (max-width: 919px) {
  .u-br-920-down {
    display: none;
  }
}

@media screen and (min-width: 930px) {
  .u-br-930 {
    display: none;
  }
}

@media screen and (max-width: 929px) {
  .u-br-930-down {
    display: none;
  }
}

@media screen and (min-width: 940px) {
  .u-br-940 {
    display: none;
  }
}

@media screen and (max-width: 939px) {
  .u-br-940-down {
    display: none;
  }
}

@media screen and (min-width: 950px) {
  .u-br-950 {
    display: none;
  }
}

@media screen and (max-width: 949px) {
  .u-br-950-down {
    display: none;
  }
}

@media screen and (min-width: 960px) {
  .u-br-960 {
    display: none;
  }
}

@media screen and (max-width: 959px) {
  .u-br-960-down {
    display: none;
  }
}

@media screen and (min-width: 970px) {
  .u-br-970 {
    display: none;
  }
}

@media screen and (max-width: 969px) {
  .u-br-970-down {
    display: none;
  }
}

@media screen and (min-width: 980px) {
  .u-br-980 {
    display: none;
  }
}

@media screen and (max-width: 979px) {
  .u-br-980-down {
    display: none;
  }
}

@media screen and (min-width: 990px) {
  .u-br-990 {
    display: none;
  }
}

@media screen and (max-width: 989px) {
  .u-br-990-down {
    display: none;
  }
}

@media screen and (min-width: 1000px) {
  .u-br-1000 {
    display: none;
  }
}

@media screen and (max-width: 999px) {
  .u-br-1000-down {
    display: none;
  }
}

.u-color-red {
  color: #ea371e;
}

strong.u-color-red {
  color: #ea371e;
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
}

.u-color-green {
  color: #21a154;
}

.noto-sans-jp-light {
  font-family: "Noto Sans JP", sans-serif;
  --ff: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  --aoto: "MFW-PAotoGothicStdN-Light";
  font-style: normal;
}

.noto-serif-jp-light {
  font-family: "Noto Serif JP", serif;
  --ff: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  --aoto: "MFW-PAotoGothicStdN-Light";
  font-style: normal;
}

.u-highlight {
  font-weight: 700;
  --aoto: "MFW-PAotoGothicStdN-Bold";
  background: linear-gradient(0deg, transparent 1%, #f5da0e 1%, #f5da0e 92%, transparent 92%);
  padding: 0.03125rem;
}
.u-highlight.--lh180 {
  background: linear-gradient(0deg, transparent 6%, #f5da0e 6%, #f5da0e 88%, transparent 88%);
}
.u-highlight .--lh190 {
  background: linear-gradient(0deg, transparent 1%, #f5da0e 1%, #f5da0e 92%, transparent 92%);
}

.u-w-10 {
  width: 0.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-10 {
    width: 0.6666666667rem;
  }
}

.u-w-20 {
  width: 1.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-20 {
    width: 1.3333333333rem;
  }
}

.u-w-30 {
  width: 1.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-30 {
    width: 2rem;
  }
}

.u-w-40 {
  width: 2.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-40 {
    width: 2.6666666667rem;
  }
}

.u-w-50 {
  width: 3.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-50 {
    width: 3.3333333333rem;
  }
}

.u-w-60 {
  width: 3.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-60 {
    width: 4rem;
  }
}

.u-w-70 {
  width: 4.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-70 {
    width: 4.6666666667rem;
  }
}

.u-w-80 {
  width: 5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-80 {
    width: 5.3333333333rem;
  }
}

.u-w-90 {
  width: 5.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-90 {
    width: 6rem;
  }
}

.u-w-100 {
  width: 6.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-100 {
    width: 6.6666666667rem;
  }
}

.u-w-110 {
  width: 6.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-110 {
    width: 7.3333333333rem;
  }
}

.u-w-120 {
  width: 7.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-120 {
    width: 8rem;
  }
}

.u-w-130 {
  width: 8.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-130 {
    width: 8.6666666667rem;
  }
}

.u-w-140 {
  width: 8.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-140 {
    width: 9.3333333333rem;
  }
}

.u-w-150 {
  width: 9.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-150 {
    width: 10rem;
  }
}

.u-w-160 {
  width: 10rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-160 {
    width: 10.6666666667rem;
  }
}

.u-w-170 {
  width: 10.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-170 {
    width: 11.3333333333rem;
  }
}

.u-w-180 {
  width: 11.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-180 {
    width: 12rem;
  }
}

.u-w-190 {
  width: 11.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-190 {
    width: 12.6666666667rem;
  }
}

.u-w-200 {
  width: 12.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-200 {
    width: 13.3333333333rem;
  }
}

.u-w-210 {
  width: 13.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-210 {
    width: 14rem;
  }
}

.u-w-220 {
  width: 13.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-220 {
    width: 14.6666666667rem;
  }
}

.u-w-230 {
  width: 14.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-230 {
    width: 15.3333333333rem;
  }
}

.u-w-240 {
  width: 15rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-240 {
    width: 16rem;
  }
}

.u-w-250 {
  width: 15.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-250 {
    width: 16.6666666667rem;
  }
}

.u-w-260 {
  width: 16.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-260 {
    width: 17.3333333333rem;
  }
}

.u-w-270 {
  width: 16.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-270 {
    width: 18rem;
  }
}

.u-w-280 {
  width: 17.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-280 {
    width: 18.6666666667rem;
  }
}

.u-w-290 {
  width: 18.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-290 {
    width: 19.3333333333rem;
  }
}

.u-w-300 {
  width: 18.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-300 {
    width: 20rem;
  }
}

.u-w-310 {
  width: 19.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-310 {
    width: 20.6666666667rem;
  }
}

.u-w-320 {
  width: 20rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-320 {
    width: 21.3333333333rem;
  }
}

.u-w-330 {
  width: 20.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-330 {
    width: 22rem;
  }
}

.u-w-340 {
  width: 21.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-340 {
    width: 22.6666666667rem;
  }
}

.u-w-350 {
  width: 21.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-350 {
    width: 23.3333333333rem;
  }
}

.u-w-360 {
  width: 22.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-360 {
    width: 24rem;
  }
}

.u-w-370 {
  width: 23.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-370 {
    width: 24.6666666667rem;
  }
}

.u-w-380 {
  width: 23.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-380 {
    width: 25.3333333333rem;
  }
}

.u-w-390 {
  width: 24.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-390 {
    width: 26rem;
  }
}

.u-w-400 {
  width: 25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-400 {
    width: 26.6666666667rem;
  }
}

.u-w-410 {
  width: 25.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-410 {
    width: 27.3333333333rem;
  }
}

.u-w-420 {
  width: 26.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-420 {
    width: 28rem;
  }
}

.u-w-430 {
  width: 26.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-430 {
    width: 28.6666666667rem;
  }
}

.u-w-440 {
  width: 27.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-440 {
    width: 29.3333333333rem;
  }
}

.u-w-450 {
  width: 28.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-450 {
    width: 30rem;
  }
}

.u-w-460 {
  width: 28.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-460 {
    width: 30.6666666667rem;
  }
}

.u-w-470 {
  width: 29.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-470 {
    width: 31.3333333333rem;
  }
}

.u-w-480 {
  width: 30rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-480 {
    width: 32rem;
  }
}

.u-w-490 {
  width: 30.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-490 {
    width: 32.6666666667rem;
  }
}

.u-w-500 {
  width: 31.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-500 {
    width: 33.3333333333rem;
  }
}

.u-w-510 {
  width: 31.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-510 {
    width: 34rem;
  }
}

.u-w-520 {
  width: 32.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-520 {
    width: 34.6666666667rem;
  }
}

.u-w-530 {
  width: 33.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-530 {
    width: 35.3333333333rem;
  }
}

.u-w-540 {
  width: 33.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-540 {
    width: 36rem;
  }
}

.u-w-550 {
  width: 34.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-550 {
    width: 36.6666666667rem;
  }
}

.u-w-560 {
  width: 35rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-560 {
    width: 37.3333333333rem;
  }
}

.u-w-570 {
  width: 35.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-570 {
    width: 38rem;
  }
}

.u-w-580 {
  width: 36.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-580 {
    width: 38.6666666667rem;
  }
}

.u-w-590 {
  width: 36.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-590 {
    width: 39.3333333333rem;
  }
}

.u-w-600 {
  width: 37.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-600 {
    width: 40rem;
  }
}

.u-w-610 {
  width: 38.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-610 {
    width: 40.6666666667rem;
  }
}

.u-w-620 {
  width: 38.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-620 {
    width: 41.3333333333rem;
  }
}

.u-w-630 {
  width: 39.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-630 {
    width: 42rem;
  }
}

.u-w-640 {
  width: 40rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-640 {
    width: 42.6666666667rem;
  }
}

.u-w-650 {
  width: 40.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-650 {
    width: 43.3333333333rem;
  }
}

.u-w-660 {
  width: 41.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-660 {
    width: 44rem;
  }
}

.u-w-670 {
  width: 41.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-670 {
    width: 44.6666666667rem;
  }
}

.u-w-680 {
  width: 42.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-680 {
    width: 45.3333333333rem;
  }
}

.u-w-690 {
  width: 43.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-690 {
    width: 46rem;
  }
}

.u-w-700 {
  width: 43.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-700 {
    width: 46.6666666667rem;
  }
}

.u-w-710 {
  width: 44.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-710 {
    width: 47.3333333333rem;
  }
}

.u-w-720 {
  width: 45rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-720 {
    width: 48rem;
  }
}

.u-w-730 {
  width: 45.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-730 {
    width: 48.6666666667rem;
  }
}

.u-w-740 {
  width: 46.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-740 {
    width: 49.3333333333rem;
  }
}

.u-w-750 {
  width: 46.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-750 {
    width: 50rem;
  }
}

.u-w-760 {
  width: 47.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-760 {
    width: 50.6666666667rem;
  }
}

.u-w-770 {
  width: 48.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-770 {
    width: 51.3333333333rem;
  }
}

.u-w-780 {
  width: 48.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-780 {
    width: 52rem;
  }
}

.u-w-790 {
  width: 49.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-790 {
    width: 52.6666666667rem;
  }
}

.u-w-800 {
  width: 50rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-800 {
    width: 53.3333333333rem;
  }
}

.u-w-810 {
  width: 50.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-810 {
    width: 54rem;
  }
}

.u-w-820 {
  width: 51.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-820 {
    width: 54.6666666667rem;
  }
}

.u-w-830 {
  width: 51.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-830 {
    width: 55.3333333333rem;
  }
}

.u-w-840 {
  width: 52.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-840 {
    width: 56rem;
  }
}

.u-w-850 {
  width: 53.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-850 {
    width: 56.6666666667rem;
  }
}

.u-w-860 {
  width: 53.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-860 {
    width: 57.3333333333rem;
  }
}

.u-w-870 {
  width: 54.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-870 {
    width: 58rem;
  }
}

.u-w-880 {
  width: 55rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-880 {
    width: 58.6666666667rem;
  }
}

.u-w-890 {
  width: 55.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-890 {
    width: 59.3333333333rem;
  }
}

.u-w-900 {
  width: 56.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-900 {
    width: 60rem;
  }
}

.u-w-910 {
  width: 56.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-910 {
    width: 60.6666666667rem;
  }
}

.u-w-920 {
  width: 57.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-920 {
    width: 61.3333333333rem;
  }
}

.u-w-930 {
  width: 58.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-930 {
    width: 62rem;
  }
}

.u-w-940 {
  width: 58.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-940 {
    width: 62.6666666667rem;
  }
}

.u-w-950 {
  width: 59.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-950 {
    width: 63.3333333333rem;
  }
}

.u-w-960 {
  width: 60rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-960 {
    width: 64rem;
  }
}

.u-w-970 {
  width: 60.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-970 {
    width: 64.6666666667rem;
  }
}

.u-w-980 {
  width: 61.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-980 {
    width: 65.3333333333rem;
  }
}

.u-w-990 {
  width: 61.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-990 {
    width: 66rem;
  }
}

.u-w-1000 {
  width: 62.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1000 {
    width: 66.6666666667rem;
  }
}

.u-w-1010 {
  width: 63.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1010 {
    width: 67.3333333333rem;
  }
}

.u-w-1020 {
  width: 63.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1020 {
    width: 68rem;
  }
}

.u-w-1030 {
  width: 64.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1030 {
    width: 68.6666666667rem;
  }
}

.u-w-1040 {
  width: 65rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1040 {
    width: 69.3333333333rem;
  }
}

.u-w-1050 {
  width: 65.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1050 {
    width: 70rem;
  }
}

.u-w-1060 {
  width: 66.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1060 {
    width: 70.6666666667rem;
  }
}

.u-w-1070 {
  width: 66.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1070 {
    width: 71.3333333333rem;
  }
}

.u-w-1080 {
  width: 67.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1080 {
    width: 72rem;
  }
}

.u-w-1090 {
  width: 68.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1090 {
    width: 72.6666666667rem;
  }
}

.u-w-1100 {
  width: 68.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1100 {
    width: 73.3333333333rem;
  }
}

.u-w-1110 {
  width: 69.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1110 {
    width: 74rem;
  }
}

.u-w-1120 {
  width: 70rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1120 {
    width: 74.6666666667rem;
  }
}

.u-w-1130 {
  width: 70.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1130 {
    width: 75.3333333333rem;
  }
}

.u-w-1140 {
  width: 71.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1140 {
    width: 76rem;
  }
}

.u-w-1150 {
  width: 71.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1150 {
    width: 76.6666666667rem;
  }
}

.u-w-1160 {
  width: 72.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1160 {
    width: 77.3333333333rem;
  }
}

.u-w-1170 {
  width: 73.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1170 {
    width: 78rem;
  }
}

.u-w-1180 {
  width: 73.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1180 {
    width: 78.6666666667rem;
  }
}

.u-w-1190 {
  width: 74.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1190 {
    width: 79.3333333333rem;
  }
}

.u-w-1200 {
  width: 75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1200 {
    width: 80rem;
  }
}

.u-w-1210 {
  width: 75.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1210 {
    width: 80.6666666667rem;
  }
}

.u-w-1220 {
  width: 76.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1220 {
    width: 81.3333333333rem;
  }
}

.u-w-1230 {
  width: 76.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1230 {
    width: 82rem;
  }
}

.u-w-1240 {
  width: 77.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1240 {
    width: 82.6666666667rem;
  }
}

.u-w-1250 {
  width: 78.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1250 {
    width: 83.3333333333rem;
  }
}

.u-w-1260 {
  width: 78.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1260 {
    width: 84rem;
  }
}

.u-w-1270 {
  width: 79.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1270 {
    width: 84.6666666667rem;
  }
}

.u-w-1280 {
  width: 80rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1280 {
    width: 85.3333333333rem;
  }
}

.u-w-1290 {
  width: 80.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1290 {
    width: 86rem;
  }
}

.u-w-1300 {
  width: 81.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1300 {
    width: 86.6666666667rem;
  }
}

.u-w-1310 {
  width: 81.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1310 {
    width: 87.3333333333rem;
  }
}

.u-w-1320 {
  width: 82.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1320 {
    width: 88rem;
  }
}

.u-w-1330 {
  width: 83.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1330 {
    width: 88.6666666667rem;
  }
}

.u-w-1340 {
  width: 83.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1340 {
    width: 89.3333333333rem;
  }
}

.u-w-1350 {
  width: 84.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1350 {
    width: 90rem;
  }
}

.u-w-1360 {
  width: 85rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1360 {
    width: 90.6666666667rem;
  }
}

.u-w-1370 {
  width: 85.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1370 {
    width: 91.3333333333rem;
  }
}

.u-w-1380 {
  width: 86.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1380 {
    width: 92rem;
  }
}

.u-w-1390 {
  width: 86.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1390 {
    width: 92.6666666667rem;
  }
}

.u-w-1400 {
  width: 87.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1400 {
    width: 93.3333333333rem;
  }
}

.u-w-1410 {
  width: 88.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1410 {
    width: 94rem;
  }
}

.u-w-1420 {
  width: 88.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1420 {
    width: 94.6666666667rem;
  }
}

.u-w-1430 {
  width: 89.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1430 {
    width: 95.3333333333rem;
  }
}

.u-w-1440 {
  width: 90rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1440 {
    width: 96rem;
  }
}

.u-w-1450 {
  width: 90.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1450 {
    width: 96.6666666667rem;
  }
}

.u-w-1460 {
  width: 91.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1460 {
    width: 97.3333333333rem;
  }
}

.u-w-1470 {
  width: 91.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1470 {
    width: 98rem;
  }
}

.u-w-1480 {
  width: 92.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1480 {
    width: 98.6666666667rem;
  }
}

.u-w-1490 {
  width: 93.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1490 {
    width: 99.3333333333rem;
  }
}

.u-w-1500 {
  width: 93.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1500 {
    width: 100rem;
  }
}

.u-w-1510 {
  width: 94.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1510 {
    width: 100.6666666667rem;
  }
}

.u-w-1520 {
  width: 95rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1520 {
    width: 101.3333333333rem;
  }
}

.u-w-1530 {
  width: 95.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1530 {
    width: 102rem;
  }
}

.u-w-1540 {
  width: 96.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1540 {
    width: 102.6666666667rem;
  }
}

.u-w-1550 {
  width: 96.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1550 {
    width: 103.3333333333rem;
  }
}

.u-w-1560 {
  width: 97.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1560 {
    width: 104rem;
  }
}

.u-w-1570 {
  width: 98.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1570 {
    width: 104.6666666667rem;
  }
}

.u-w-1580 {
  width: 98.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1580 {
    width: 105.3333333333rem;
  }
}

.u-w-1590 {
  width: 99.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1590 {
    width: 106rem;
  }
}

.u-w-1600 {
  width: 100rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1600 {
    width: 106.6666666667rem;
  }
}

.u-w-1610 {
  width: 100.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1610 {
    width: 107.3333333333rem;
  }
}

.u-w-1620 {
  width: 101.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1620 {
    width: 108rem;
  }
}

.u-w-1630 {
  width: 101.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1630 {
    width: 108.6666666667rem;
  }
}

.u-w-1640 {
  width: 102.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1640 {
    width: 109.3333333333rem;
  }
}

.u-w-1650 {
  width: 103.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1650 {
    width: 110rem;
  }
}

.u-w-1660 {
  width: 103.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1660 {
    width: 110.6666666667rem;
  }
}

.u-w-1670 {
  width: 104.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1670 {
    width: 111.3333333333rem;
  }
}

.u-w-1680 {
  width: 105rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1680 {
    width: 112rem;
  }
}

.u-w-1690 {
  width: 105.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1690 {
    width: 112.6666666667rem;
  }
}

.u-w-1700 {
  width: 106.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1700 {
    width: 113.3333333333rem;
  }
}

.u-w-1710 {
  width: 106.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1710 {
    width: 114rem;
  }
}

.u-w-1720 {
  width: 107.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1720 {
    width: 114.6666666667rem;
  }
}

.u-w-1730 {
  width: 108.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1730 {
    width: 115.3333333333rem;
  }
}

.u-w-1740 {
  width: 108.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1740 {
    width: 116rem;
  }
}

.u-w-1750 {
  width: 109.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1750 {
    width: 116.6666666667rem;
  }
}

.u-w-1760 {
  width: 110rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1760 {
    width: 117.3333333333rem;
  }
}

.u-w-1770 {
  width: 110.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1770 {
    width: 118rem;
  }
}

.u-w-1780 {
  width: 111.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1780 {
    width: 118.6666666667rem;
  }
}

.u-w-1790 {
  width: 111.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1790 {
    width: 119.3333333333rem;
  }
}

.u-w-1800 {
  width: 112.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1800 {
    width: 120rem;
  }
}

.u-w-1810 {
  width: 113.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1810 {
    width: 120.6666666667rem;
  }
}

.u-w-1820 {
  width: 113.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1820 {
    width: 121.3333333333rem;
  }
}

.u-w-1830 {
  width: 114.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1830 {
    width: 122rem;
  }
}

.u-w-1840 {
  width: 115rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1840 {
    width: 122.6666666667rem;
  }
}

.u-w-1850 {
  width: 115.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1850 {
    width: 123.3333333333rem;
  }
}

.u-w-1860 {
  width: 116.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1860 {
    width: 124rem;
  }
}

.u-w-1870 {
  width: 116.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1870 {
    width: 124.6666666667rem;
  }
}

.u-w-1880 {
  width: 117.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1880 {
    width: 125.3333333333rem;
  }
}

.u-w-1890 {
  width: 118.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1890 {
    width: 126rem;
  }
}

.u-w-1900 {
  width: 118.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1900 {
    width: 126.6666666667rem;
  }
}

.u-w-1910 {
  width: 119.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1910 {
    width: 127.3333333333rem;
  }
}

.u-w-1920 {
  width: 120rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1920 {
    width: 128rem;
  }
}

.u-w-1930 {
  width: 120.625rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1930 {
    width: 128.6666666667rem;
  }
}

.u-w-1940 {
  width: 121.25rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1940 {
    width: 129.3333333333rem;
  }
}

.u-w-1950 {
  width: 121.875rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1950 {
    width: 130rem;
  }
}

.u-w-1960 {
  width: 122.5rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1960 {
    width: 130.6666666667rem;
  }
}

.u-w-1970 {
  width: 123.125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1970 {
    width: 131.3333333333rem;
  }
}

.u-w-1980 {
  width: 123.75rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1980 {
    width: 132rem;
  }
}

.u-w-1990 {
  width: 124.375rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-1990 {
    width: 132.6666666667rem;
  }
}

.u-w-2000 {
  width: 125rem;
}

@media screen and (max-width: 767px) {
  .u-sp-w-2000 {
    width: 133.3333333333rem;
  }
}

.u-effect-shadow {
  box-shadow: 0.1875rem 0.1875rem 0.3125rem rgba(0, 0, 0, 0.25);
}

@media screen and (min-width: 10px) {
  .u-show-10 {
    display: none !important;
  }
}

@media screen and (max-width: 9px) {
  .u-show-10-up {
    display: none !important;
  }
}

@media screen and (min-width: 20px) {
  .u-show-20 {
    display: none !important;
  }
}

@media screen and (max-width: 19px) {
  .u-show-20-up {
    display: none !important;
  }
}

@media screen and (min-width: 30px) {
  .u-show-30 {
    display: none !important;
  }
}

@media screen and (max-width: 29px) {
  .u-show-30-up {
    display: none !important;
  }
}

@media screen and (min-width: 40px) {
  .u-show-40 {
    display: none !important;
  }
}

@media screen and (max-width: 39px) {
  .u-show-40-up {
    display: none !important;
  }
}

@media screen and (min-width: 50px) {
  .u-show-50 {
    display: none !important;
  }
}

@media screen and (max-width: 49px) {
  .u-show-50-up {
    display: none !important;
  }
}

@media screen and (min-width: 60px) {
  .u-show-60 {
    display: none !important;
  }
}

@media screen and (max-width: 59px) {
  .u-show-60-up {
    display: none !important;
  }
}

@media screen and (min-width: 70px) {
  .u-show-70 {
    display: none !important;
  }
}

@media screen and (max-width: 69px) {
  .u-show-70-up {
    display: none !important;
  }
}

@media screen and (min-width: 80px) {
  .u-show-80 {
    display: none !important;
  }
}

@media screen and (max-width: 79px) {
  .u-show-80-up {
    display: none !important;
  }
}

@media screen and (min-width: 90px) {
  .u-show-90 {
    display: none !important;
  }
}

@media screen and (max-width: 89px) {
  .u-show-90-up {
    display: none !important;
  }
}

@media screen and (min-width: 100px) {
  .u-show-100 {
    display: none !important;
  }
}

@media screen and (max-width: 99px) {
  .u-show-100-up {
    display: none !important;
  }
}

@media screen and (min-width: 110px) {
  .u-show-110 {
    display: none !important;
  }
}

@media screen and (max-width: 109px) {
  .u-show-110-up {
    display: none !important;
  }
}

@media screen and (min-width: 120px) {
  .u-show-120 {
    display: none !important;
  }
}

@media screen and (max-width: 119px) {
  .u-show-120-up {
    display: none !important;
  }
}

@media screen and (min-width: 130px) {
  .u-show-130 {
    display: none !important;
  }
}

@media screen and (max-width: 129px) {
  .u-show-130-up {
    display: none !important;
  }
}

@media screen and (min-width: 140px) {
  .u-show-140 {
    display: none !important;
  }
}

@media screen and (max-width: 139px) {
  .u-show-140-up {
    display: none !important;
  }
}

@media screen and (min-width: 150px) {
  .u-show-150 {
    display: none !important;
  }
}

@media screen and (max-width: 149px) {
  .u-show-150-up {
    display: none !important;
  }
}

@media screen and (min-width: 160px) {
  .u-show-160 {
    display: none !important;
  }
}

@media screen and (max-width: 159px) {
  .u-show-160-up {
    display: none !important;
  }
}

@media screen and (min-width: 170px) {
  .u-show-170 {
    display: none !important;
  }
}

@media screen and (max-width: 169px) {
  .u-show-170-up {
    display: none !important;
  }
}

@media screen and (min-width: 180px) {
  .u-show-180 {
    display: none !important;
  }
}

@media screen and (max-width: 179px) {
  .u-show-180-up {
    display: none !important;
  }
}

@media screen and (min-width: 190px) {
  .u-show-190 {
    display: none !important;
  }
}

@media screen and (max-width: 189px) {
  .u-show-190-up {
    display: none !important;
  }
}

@media screen and (min-width: 200px) {
  .u-show-200 {
    display: none !important;
  }
}

@media screen and (max-width: 199px) {
  .u-show-200-up {
    display: none !important;
  }
}

@media screen and (min-width: 210px) {
  .u-show-210 {
    display: none !important;
  }
}

@media screen and (max-width: 209px) {
  .u-show-210-up {
    display: none !important;
  }
}

@media screen and (min-width: 220px) {
  .u-show-220 {
    display: none !important;
  }
}

@media screen and (max-width: 219px) {
  .u-show-220-up {
    display: none !important;
  }
}

@media screen and (min-width: 230px) {
  .u-show-230 {
    display: none !important;
  }
}

@media screen and (max-width: 229px) {
  .u-show-230-up {
    display: none !important;
  }
}

@media screen and (min-width: 240px) {
  .u-show-240 {
    display: none !important;
  }
}

@media screen and (max-width: 239px) {
  .u-show-240-up {
    display: none !important;
  }
}

@media screen and (min-width: 250px) {
  .u-show-250 {
    display: none !important;
  }
}

@media screen and (max-width: 249px) {
  .u-show-250-up {
    display: none !important;
  }
}

@media screen and (min-width: 260px) {
  .u-show-260 {
    display: none !important;
  }
}

@media screen and (max-width: 259px) {
  .u-show-260-up {
    display: none !important;
  }
}

@media screen and (min-width: 270px) {
  .u-show-270 {
    display: none !important;
  }
}

@media screen and (max-width: 269px) {
  .u-show-270-up {
    display: none !important;
  }
}

@media screen and (min-width: 280px) {
  .u-show-280 {
    display: none !important;
  }
}

@media screen and (max-width: 279px) {
  .u-show-280-up {
    display: none !important;
  }
}

@media screen and (min-width: 290px) {
  .u-show-290 {
    display: none !important;
  }
}

@media screen and (max-width: 289px) {
  .u-show-290-up {
    display: none !important;
  }
}

@media screen and (min-width: 300px) {
  .u-show-300 {
    display: none !important;
  }
}

@media screen and (max-width: 299px) {
  .u-show-300-up {
    display: none !important;
  }
}

@media screen and (min-width: 310px) {
  .u-show-310 {
    display: none !important;
  }
}

@media screen and (max-width: 309px) {
  .u-show-310-up {
    display: none !important;
  }
}

@media screen and (min-width: 320px) {
  .u-show-320 {
    display: none !important;
  }
}

@media screen and (max-width: 319px) {
  .u-show-320-up {
    display: none !important;
  }
}

@media screen and (min-width: 330px) {
  .u-show-330 {
    display: none !important;
  }
}

@media screen and (max-width: 329px) {
  .u-show-330-up {
    display: none !important;
  }
}

@media screen and (min-width: 340px) {
  .u-show-340 {
    display: none !important;
  }
}

@media screen and (max-width: 339px) {
  .u-show-340-up {
    display: none !important;
  }
}

@media screen and (min-width: 350px) {
  .u-show-350 {
    display: none !important;
  }
}

@media screen and (max-width: 349px) {
  .u-show-350-up {
    display: none !important;
  }
}

@media screen and (min-width: 360px) {
  .u-show-360 {
    display: none !important;
  }
}

@media screen and (max-width: 359px) {
  .u-show-360-up {
    display: none !important;
  }
}

@media screen and (min-width: 370px) {
  .u-show-370 {
    display: none !important;
  }
}

@media screen and (max-width: 369px) {
  .u-show-370-up {
    display: none !important;
  }
}

@media screen and (min-width: 380px) {
  .u-show-380 {
    display: none !important;
  }
}

@media screen and (max-width: 379px) {
  .u-show-380-up {
    display: none !important;
  }
}

@media screen and (min-width: 390px) {
  .u-show-390 {
    display: none !important;
  }
}

@media screen and (max-width: 389px) {
  .u-show-390-up {
    display: none !important;
  }
}

@media screen and (min-width: 400px) {
  .u-show-400 {
    display: none !important;
  }
}

@media screen and (max-width: 399px) {
  .u-show-400-up {
    display: none !important;
  }
}

@media screen and (min-width: 410px) {
  .u-show-410 {
    display: none !important;
  }
}

@media screen and (max-width: 409px) {
  .u-show-410-up {
    display: none !important;
  }
}

@media screen and (min-width: 420px) {
  .u-show-420 {
    display: none !important;
  }
}

@media screen and (max-width: 419px) {
  .u-show-420-up {
    display: none !important;
  }
}

@media screen and (min-width: 430px) {
  .u-show-430 {
    display: none !important;
  }
}

@media screen and (max-width: 429px) {
  .u-show-430-up {
    display: none !important;
  }
}

@media screen and (min-width: 440px) {
  .u-show-440 {
    display: none !important;
  }
}

@media screen and (max-width: 439px) {
  .u-show-440-up {
    display: none !important;
  }
}

@media screen and (min-width: 450px) {
  .u-show-450 {
    display: none !important;
  }
}

@media screen and (max-width: 449px) {
  .u-show-450-up {
    display: none !important;
  }
}

@media screen and (min-width: 460px) {
  .u-show-460 {
    display: none !important;
  }
}

@media screen and (max-width: 459px) {
  .u-show-460-up {
    display: none !important;
  }
}

@media screen and (min-width: 470px) {
  .u-show-470 {
    display: none !important;
  }
}

@media screen and (max-width: 469px) {
  .u-show-470-up {
    display: none !important;
  }
}

@media screen and (min-width: 480px) {
  .u-show-480 {
    display: none !important;
  }
}

@media screen and (max-width: 479px) {
  .u-show-480-up {
    display: none !important;
  }
}

@media screen and (min-width: 490px) {
  .u-show-490 {
    display: none !important;
  }
}

@media screen and (max-width: 489px) {
  .u-show-490-up {
    display: none !important;
  }
}

@media screen and (min-width: 500px) {
  .u-show-500 {
    display: none !important;
  }
}

@media screen and (max-width: 499px) {
  .u-show-500-up {
    display: none !important;
  }
}

@media screen and (min-width: 510px) {
  .u-show-510 {
    display: none !important;
  }
}

@media screen and (max-width: 509px) {
  .u-show-510-up {
    display: none !important;
  }
}

@media screen and (min-width: 520px) {
  .u-show-520 {
    display: none !important;
  }
}

@media screen and (max-width: 519px) {
  .u-show-520-up {
    display: none !important;
  }
}

@media screen and (min-width: 530px) {
  .u-show-530 {
    display: none !important;
  }
}

@media screen and (max-width: 529px) {
  .u-show-530-up {
    display: none !important;
  }
}

@media screen and (min-width: 540px) {
  .u-show-540 {
    display: none !important;
  }
}

@media screen and (max-width: 539px) {
  .u-show-540-up {
    display: none !important;
  }
}

@media screen and (min-width: 550px) {
  .u-show-550 {
    display: none !important;
  }
}

@media screen and (max-width: 549px) {
  .u-show-550-up {
    display: none !important;
  }
}

@media screen and (min-width: 560px) {
  .u-show-560 {
    display: none !important;
  }
}

@media screen and (max-width: 559px) {
  .u-show-560-up {
    display: none !important;
  }
}

@media screen and (min-width: 570px) {
  .u-show-570 {
    display: none !important;
  }
}

@media screen and (max-width: 569px) {
  .u-show-570-up {
    display: none !important;
  }
}

@media screen and (min-width: 580px) {
  .u-show-580 {
    display: none !important;
  }
}

@media screen and (max-width: 579px) {
  .u-show-580-up {
    display: none !important;
  }
}

@media screen and (min-width: 590px) {
  .u-show-590 {
    display: none !important;
  }
}

@media screen and (max-width: 589px) {
  .u-show-590-up {
    display: none !important;
  }
}

@media screen and (min-width: 600px) {
  .u-show-600 {
    display: none !important;
  }
}

@media screen and (max-width: 599px) {
  .u-show-600-up {
    display: none !important;
  }
}

@media screen and (min-width: 610px) {
  .u-show-610 {
    display: none !important;
  }
}

@media screen and (max-width: 609px) {
  .u-show-610-up {
    display: none !important;
  }
}

@media screen and (min-width: 620px) {
  .u-show-620 {
    display: none !important;
  }
}

@media screen and (max-width: 619px) {
  .u-show-620-up {
    display: none !important;
  }
}

@media screen and (min-width: 630px) {
  .u-show-630 {
    display: none !important;
  }
}

@media screen and (max-width: 629px) {
  .u-show-630-up {
    display: none !important;
  }
}

@media screen and (min-width: 640px) {
  .u-show-640 {
    display: none !important;
  }
}

@media screen and (max-width: 639px) {
  .u-show-640-up {
    display: none !important;
  }
}

@media screen and (min-width: 650px) {
  .u-show-650 {
    display: none !important;
  }
}

@media screen and (max-width: 649px) {
  .u-show-650-up {
    display: none !important;
  }
}

@media screen and (min-width: 660px) {
  .u-show-660 {
    display: none !important;
  }
}

@media screen and (max-width: 659px) {
  .u-show-660-up {
    display: none !important;
  }
}

@media screen and (min-width: 670px) {
  .u-show-670 {
    display: none !important;
  }
}

@media screen and (max-width: 669px) {
  .u-show-670-up {
    display: none !important;
  }
}

@media screen and (min-width: 680px) {
  .u-show-680 {
    display: none !important;
  }
}

@media screen and (max-width: 679px) {
  .u-show-680-up {
    display: none !important;
  }
}

@media screen and (min-width: 690px) {
  .u-show-690 {
    display: none !important;
  }
}

@media screen and (max-width: 689px) {
  .u-show-690-up {
    display: none !important;
  }
}

@media screen and (min-width: 700px) {
  .u-show-700 {
    display: none !important;
  }
}

@media screen and (max-width: 699px) {
  .u-show-700-up {
    display: none !important;
  }
}

@media screen and (min-width: 710px) {
  .u-show-710 {
    display: none !important;
  }
}

@media screen and (max-width: 709px) {
  .u-show-710-up {
    display: none !important;
  }
}

@media screen and (min-width: 720px) {
  .u-show-720 {
    display: none !important;
  }
}

@media screen and (max-width: 719px) {
  .u-show-720-up {
    display: none !important;
  }
}

@media screen and (min-width: 730px) {
  .u-show-730 {
    display: none !important;
  }
}

@media screen and (max-width: 729px) {
  .u-show-730-up {
    display: none !important;
  }
}

@media screen and (min-width: 740px) {
  .u-show-740 {
    display: none !important;
  }
}

@media screen and (max-width: 739px) {
  .u-show-740-up {
    display: none !important;
  }
}

@media screen and (min-width: 750px) {
  .u-show-750 {
    display: none !important;
  }
}

@media screen and (max-width: 749px) {
  .u-show-750-up {
    display: none !important;
  }
}

@media screen and (min-width: 760px) {
  .u-show-760 {
    display: none !important;
  }
}

@media screen and (max-width: 759px) {
  .u-show-760-up {
    display: none !important;
  }
}

@media screen and (min-width: 770px) {
  .u-show-770 {
    display: none !important;
  }
}

@media screen and (max-width: 769px) {
  .u-show-770-up {
    display: none !important;
  }
}

@media screen and (min-width: 780px) {
  .u-show-780 {
    display: none !important;
  }
}

@media screen and (max-width: 779px) {
  .u-show-780-up {
    display: none !important;
  }
}

@media screen and (min-width: 790px) {
  .u-show-790 {
    display: none !important;
  }
}

@media screen and (max-width: 789px) {
  .u-show-790-up {
    display: none !important;
  }
}

@media screen and (min-width: 800px) {
  .u-show-800 {
    display: none !important;
  }
}

@media screen and (max-width: 799px) {
  .u-show-800-up {
    display: none !important;
  }
}

@media screen and (min-width: 810px) {
  .u-show-810 {
    display: none !important;
  }
}

@media screen and (max-width: 809px) {
  .u-show-810-up {
    display: none !important;
  }
}

@media screen and (min-width: 820px) {
  .u-show-820 {
    display: none !important;
  }
}

@media screen and (max-width: 819px) {
  .u-show-820-up {
    display: none !important;
  }
}

@media screen and (min-width: 830px) {
  .u-show-830 {
    display: none !important;
  }
}

@media screen and (max-width: 829px) {
  .u-show-830-up {
    display: none !important;
  }
}

@media screen and (min-width: 840px) {
  .u-show-840 {
    display: none !important;
  }
}

@media screen and (max-width: 839px) {
  .u-show-840-up {
    display: none !important;
  }
}

@media screen and (min-width: 850px) {
  .u-show-850 {
    display: none !important;
  }
}

@media screen and (max-width: 849px) {
  .u-show-850-up {
    display: none !important;
  }
}

@media screen and (min-width: 860px) {
  .u-show-860 {
    display: none !important;
  }
}

@media screen and (max-width: 859px) {
  .u-show-860-up {
    display: none !important;
  }
}

@media screen and (min-width: 870px) {
  .u-show-870 {
    display: none !important;
  }
}

@media screen and (max-width: 869px) {
  .u-show-870-up {
    display: none !important;
  }
}

@media screen and (min-width: 880px) {
  .u-show-880 {
    display: none !important;
  }
}

@media screen and (max-width: 879px) {
  .u-show-880-up {
    display: none !important;
  }
}

@media screen and (min-width: 890px) {
  .u-show-890 {
    display: none !important;
  }
}

@media screen and (max-width: 889px) {
  .u-show-890-up {
    display: none !important;
  }
}

@media screen and (min-width: 900px) {
  .u-show-900 {
    display: none !important;
  }
}

@media screen and (max-width: 899px) {
  .u-show-900-up {
    display: none !important;
  }
}

@media screen and (min-width: 910px) {
  .u-show-910 {
    display: none !important;
  }
}

@media screen and (max-width: 909px) {
  .u-show-910-up {
    display: none !important;
  }
}

@media screen and (min-width: 920px) {
  .u-show-920 {
    display: none !important;
  }
}

@media screen and (max-width: 919px) {
  .u-show-920-up {
    display: none !important;
  }
}

@media screen and (min-width: 930px) {
  .u-show-930 {
    display: none !important;
  }
}

@media screen and (max-width: 929px) {
  .u-show-930-up {
    display: none !important;
  }
}

@media screen and (min-width: 940px) {
  .u-show-940 {
    display: none !important;
  }
}

@media screen and (max-width: 939px) {
  .u-show-940-up {
    display: none !important;
  }
}

@media screen and (min-width: 950px) {
  .u-show-950 {
    display: none !important;
  }
}

@media screen and (max-width: 949px) {
  .u-show-950-up {
    display: none !important;
  }
}

@media screen and (min-width: 960px) {
  .u-show-960 {
    display: none !important;
  }
}

@media screen and (max-width: 959px) {
  .u-show-960-up {
    display: none !important;
  }
}

@media screen and (min-width: 970px) {
  .u-show-970 {
    display: none !important;
  }
}

@media screen and (max-width: 969px) {
  .u-show-970-up {
    display: none !important;
  }
}

@media screen and (min-width: 980px) {
  .u-show-980 {
    display: none !important;
  }
}

@media screen and (max-width: 979px) {
  .u-show-980-up {
    display: none !important;
  }
}

@media screen and (min-width: 990px) {
  .u-show-990 {
    display: none !important;
  }
}

@media screen and (max-width: 989px) {
  .u-show-990-up {
    display: none !important;
  }
}

@media screen and (min-width: 1000px) {
  .u-show-1000 {
    display: none !important;
  }
}

@media screen and (max-width: 999px) {
  .u-show-1000-up {
    display: none !important;
  }
}

@media screen and (min-width: 1010px) {
  .u-show-1010 {
    display: none !important;
  }
}

@media screen and (max-width: 1009px) {
  .u-show-1010-up {
    display: none !important;
  }
}

@media screen and (min-width: 1020px) {
  .u-show-1020 {
    display: none !important;
  }
}

@media screen and (max-width: 1019px) {
  .u-show-1020-up {
    display: none !important;
  }
}

@media screen and (min-width: 1030px) {
  .u-show-1030 {
    display: none !important;
  }
}

@media screen and (max-width: 1029px) {
  .u-show-1030-up {
    display: none !important;
  }
}

@media screen and (min-width: 1040px) {
  .u-show-1040 {
    display: none !important;
  }
}

@media screen and (max-width: 1039px) {
  .u-show-1040-up {
    display: none !important;
  }
}

@media screen and (min-width: 1050px) {
  .u-show-1050 {
    display: none !important;
  }
}

@media screen and (max-width: 1049px) {
  .u-show-1050-up {
    display: none !important;
  }
}

@media screen and (min-width: 1060px) {
  .u-show-1060 {
    display: none !important;
  }
}

@media screen and (max-width: 1059px) {
  .u-show-1060-up {
    display: none !important;
  }
}

@media screen and (min-width: 1070px) {
  .u-show-1070 {
    display: none !important;
  }
}

@media screen and (max-width: 1069px) {
  .u-show-1070-up {
    display: none !important;
  }
}

@media screen and (min-width: 1080px) {
  .u-show-1080 {
    display: none !important;
  }
}

@media screen and (max-width: 1079px) {
  .u-show-1080-up {
    display: none !important;
  }
}

@media screen and (min-width: 1090px) {
  .u-show-1090 {
    display: none !important;
  }
}

@media screen and (max-width: 1089px) {
  .u-show-1090-up {
    display: none !important;
  }
}

@media screen and (min-width: 1100px) {
  .u-show-1100 {
    display: none !important;
  }
}

@media screen and (max-width: 1099px) {
  .u-show-1100-up {
    display: none !important;
  }
}

@media screen and (min-width: 1110px) {
  .u-show-1110 {
    display: none !important;
  }
}

@media screen and (max-width: 1109px) {
  .u-show-1110-up {
    display: none !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-show-1120 {
    display: none !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-show-1120-up {
    display: none !important;
  }
}

@media screen and (min-width: 1130px) {
  .u-show-1130 {
    display: none !important;
  }
}

@media screen and (max-width: 1129px) {
  .u-show-1130-up {
    display: none !important;
  }
}

@media screen and (min-width: 1140px) {
  .u-show-1140 {
    display: none !important;
  }
}

@media screen and (max-width: 1139px) {
  .u-show-1140-up {
    display: none !important;
  }
}

@media screen and (min-width: 1150px) {
  .u-show-1150 {
    display: none !important;
  }
}

@media screen and (max-width: 1149px) {
  .u-show-1150-up {
    display: none !important;
  }
}

@media screen and (min-width: 1160px) {
  .u-show-1160 {
    display: none !important;
  }
}

@media screen and (max-width: 1159px) {
  .u-show-1160-up {
    display: none !important;
  }
}

@media screen and (min-width: 1170px) {
  .u-show-1170 {
    display: none !important;
  }
}

@media screen and (max-width: 1169px) {
  .u-show-1170-up {
    display: none !important;
  }
}

@media screen and (min-width: 1180px) {
  .u-show-1180 {
    display: none !important;
  }
}

@media screen and (max-width: 1179px) {
  .u-show-1180-up {
    display: none !important;
  }
}

@media screen and (min-width: 1190px) {
  .u-show-1190 {
    display: none !important;
  }
}

@media screen and (max-width: 1189px) {
  .u-show-1190-up {
    display: none !important;
  }
}

@media screen and (min-width: 1200px) {
  .u-show-1200 {
    display: none !important;
  }
}

@media screen and (max-width: 1199px) {
  .u-show-1200-up {
    display: none !important;
  }
}

@media screen and (min-width: 1210px) {
  .u-show-1210 {
    display: none !important;
  }
}

@media screen and (max-width: 1209px) {
  .u-show-1210-up {
    display: none !important;
  }
}

@media screen and (min-width: 1220px) {
  .u-show-1220 {
    display: none !important;
  }
}

@media screen and (max-width: 1219px) {
  .u-show-1220-up {
    display: none !important;
  }
}

@media screen and (min-width: 1230px) {
  .u-show-1230 {
    display: none !important;
  }
}

@media screen and (max-width: 1229px) {
  .u-show-1230-up {
    display: none !important;
  }
}

@media screen and (min-width: 1240px) {
  .u-show-1240 {
    display: none !important;
  }
}

@media screen and (max-width: 1239px) {
  .u-show-1240-up {
    display: none !important;
  }
}

@media screen and (min-width: 1250px) {
  .u-show-1250 {
    display: none !important;
  }
}

@media screen and (max-width: 1249px) {
  .u-show-1250-up {
    display: none !important;
  }
}

@media screen and (min-width: 1260px) {
  .u-show-1260 {
    display: none !important;
  }
}

@media screen and (max-width: 1259px) {
  .u-show-1260-up {
    display: none !important;
  }
}

@media screen and (min-width: 1270px) {
  .u-show-1270 {
    display: none !important;
  }
}

@media screen and (max-width: 1269px) {
  .u-show-1270-up {
    display: none !important;
  }
}

@media screen and (min-width: 1280px) {
  .u-show-1280 {
    display: none !important;
  }
}

@media screen and (max-width: 1279px) {
  .u-show-1280-up {
    display: none !important;
  }
}

@media screen and (min-width: 1290px) {
  .u-show-1290 {
    display: none !important;
  }
}

@media screen and (max-width: 1289px) {
  .u-show-1290-up {
    display: none !important;
  }
}

@media screen and (min-width: 1300px) {
  .u-show-1300 {
    display: none !important;
  }
}

@media screen and (max-width: 1299px) {
  .u-show-1300-up {
    display: none !important;
  }
}

@media screen and (min-width: 1310px) {
  .u-show-1310 {
    display: none !important;
  }
}

@media screen and (max-width: 1309px) {
  .u-show-1310-up {
    display: none !important;
  }
}

@media screen and (min-width: 1320px) {
  .u-show-1320 {
    display: none !important;
  }
}

@media screen and (max-width: 1319px) {
  .u-show-1320-up {
    display: none !important;
  }
}

@media screen and (min-width: 1330px) {
  .u-show-1330 {
    display: none !important;
  }
}

@media screen and (max-width: 1329px) {
  .u-show-1330-up {
    display: none !important;
  }
}

@media screen and (min-width: 1340px) {
  .u-show-1340 {
    display: none !important;
  }
}

@media screen and (max-width: 1339px) {
  .u-show-1340-up {
    display: none !important;
  }
}

@media screen and (min-width: 1350px) {
  .u-show-1350 {
    display: none !important;
  }
}

@media screen and (max-width: 1349px) {
  .u-show-1350-up {
    display: none !important;
  }
}

@media screen and (min-width: 1360px) {
  .u-show-1360 {
    display: none !important;
  }
}

@media screen and (max-width: 1359px) {
  .u-show-1360-up {
    display: none !important;
  }
}

@media screen and (min-width: 1370px) {
  .u-show-1370 {
    display: none !important;
  }
}

@media screen and (max-width: 1369px) {
  .u-show-1370-up {
    display: none !important;
  }
}

@media screen and (min-width: 1380px) {
  .u-show-1380 {
    display: none !important;
  }
}

@media screen and (max-width: 1379px) {
  .u-show-1380-up {
    display: none !important;
  }
}

@media screen and (min-width: 1390px) {
  .u-show-1390 {
    display: none !important;
  }
}

@media screen and (max-width: 1389px) {
  .u-show-1390-up {
    display: none !important;
  }
}

@media screen and (min-width: 1400px) {
  .u-show-1400 {
    display: none !important;
  }
}

@media screen and (max-width: 1399px) {
  .u-show-1400-up {
    display: none !important;
  }
}

@media screen and (min-width: 1410px) {
  .u-show-1410 {
    display: none !important;
  }
}

@media screen and (max-width: 1409px) {
  .u-show-1410-up {
    display: none !important;
  }
}

@media screen and (min-width: 1420px) {
  .u-show-1420 {
    display: none !important;
  }
}

@media screen and (max-width: 1419px) {
  .u-show-1420-up {
    display: none !important;
  }
}

@media screen and (min-width: 1430px) {
  .u-show-1430 {
    display: none !important;
  }
}

@media screen and (max-width: 1429px) {
  .u-show-1430-up {
    display: none !important;
  }
}

@media screen and (min-width: 1440px) {
  .u-show-1440 {
    display: none !important;
  }
}

@media screen and (max-width: 1439px) {
  .u-show-1440-up {
    display: none !important;
  }
}

@media screen and (min-width: 1450px) {
  .u-show-1450 {
    display: none !important;
  }
}

@media screen and (max-width: 1449px) {
  .u-show-1450-up {
    display: none !important;
  }
}

@media screen and (min-width: 1460px) {
  .u-show-1460 {
    display: none !important;
  }
}

@media screen and (max-width: 1459px) {
  .u-show-1460-up {
    display: none !important;
  }
}

@media screen and (min-width: 1470px) {
  .u-show-1470 {
    display: none !important;
  }
}

@media screen and (max-width: 1469px) {
  .u-show-1470-up {
    display: none !important;
  }
}

@media screen and (min-width: 1480px) {
  .u-show-1480 {
    display: none !important;
  }
}

@media screen and (max-width: 1479px) {
  .u-show-1480-up {
    display: none !important;
  }
}

@media screen and (min-width: 1490px) {
  .u-show-1490 {
    display: none !important;
  }
}

@media screen and (max-width: 1489px) {
  .u-show-1490-up {
    display: none !important;
  }
}

@media screen and (min-width: 1500px) {
  .u-show-1500 {
    display: none !important;
  }
}

@media screen and (max-width: 1499px) {
  .u-show-1500-up {
    display: none !important;
  }
}

@media screen and (min-width: 1510px) {
  .u-show-1510 {
    display: none !important;
  }
}

@media screen and (max-width: 1509px) {
  .u-show-1510-up {
    display: none !important;
  }
}

@media screen and (min-width: 1520px) {
  .u-show-1520 {
    display: none !important;
  }
}

@media screen and (max-width: 1519px) {
  .u-show-1520-up {
    display: none !important;
  }
}

@media screen and (min-width: 1530px) {
  .u-show-1530 {
    display: none !important;
  }
}

@media screen and (max-width: 1529px) {
  .u-show-1530-up {
    display: none !important;
  }
}

@media screen and (min-width: 1540px) {
  .u-show-1540 {
    display: none !important;
  }
}

@media screen and (max-width: 1539px) {
  .u-show-1540-up {
    display: none !important;
  }
}

@media screen and (min-width: 1550px) {
  .u-show-1550 {
    display: none !important;
  }
}

@media screen and (max-width: 1549px) {
  .u-show-1550-up {
    display: none !important;
  }
}

@media screen and (min-width: 1560px) {
  .u-show-1560 {
    display: none !important;
  }
}

@media screen and (max-width: 1559px) {
  .u-show-1560-up {
    display: none !important;
  }
}

@media screen and (min-width: 1570px) {
  .u-show-1570 {
    display: none !important;
  }
}

@media screen and (max-width: 1569px) {
  .u-show-1570-up {
    display: none !important;
  }
}

@media screen and (min-width: 1580px) {
  .u-show-1580 {
    display: none !important;
  }
}

@media screen and (max-width: 1579px) {
  .u-show-1580-up {
    display: none !important;
  }
}

@media screen and (min-width: 1590px) {
  .u-show-1590 {
    display: none !important;
  }
}

@media screen and (max-width: 1589px) {
  .u-show-1590-up {
    display: none !important;
  }
}

@media screen and (min-width: 1600px) {
  .u-show-1600 {
    display: none !important;
  }
}

@media screen and (max-width: 1599px) {
  .u-show-1600-up {
    display: none !important;
  }
}

@media screen and (min-width: 1610px) {
  .u-show-1610 {
    display: none !important;
  }
}

@media screen and (max-width: 1609px) {
  .u-show-1610-up {
    display: none !important;
  }
}

@media screen and (min-width: 1620px) {
  .u-show-1620 {
    display: none !important;
  }
}

@media screen and (max-width: 1619px) {
  .u-show-1620-up {
    display: none !important;
  }
}

@media screen and (min-width: 1630px) {
  .u-show-1630 {
    display: none !important;
  }
}

@media screen and (max-width: 1629px) {
  .u-show-1630-up {
    display: none !important;
  }
}

@media screen and (min-width: 1640px) {
  .u-show-1640 {
    display: none !important;
  }
}

@media screen and (max-width: 1639px) {
  .u-show-1640-up {
    display: none !important;
  }
}

@media screen and (min-width: 1650px) {
  .u-show-1650 {
    display: none !important;
  }
}

@media screen and (max-width: 1649px) {
  .u-show-1650-up {
    display: none !important;
  }
}

@media screen and (min-width: 1660px) {
  .u-show-1660 {
    display: none !important;
  }
}

@media screen and (max-width: 1659px) {
  .u-show-1660-up {
    display: none !important;
  }
}

@media screen and (min-width: 1670px) {
  .u-show-1670 {
    display: none !important;
  }
}

@media screen and (max-width: 1669px) {
  .u-show-1670-up {
    display: none !important;
  }
}

@media screen and (min-width: 1680px) {
  .u-show-1680 {
    display: none !important;
  }
}

@media screen and (max-width: 1679px) {
  .u-show-1680-up {
    display: none !important;
  }
}

@media screen and (min-width: 1690px) {
  .u-show-1690 {
    display: none !important;
  }
}

@media screen and (max-width: 1689px) {
  .u-show-1690-up {
    display: none !important;
  }
}

@media screen and (min-width: 1700px) {
  .u-show-1700 {
    display: none !important;
  }
}

@media screen and (max-width: 1699px) {
  .u-show-1700-up {
    display: none !important;
  }
}

@media screen and (min-width: 1710px) {
  .u-show-1710 {
    display: none !important;
  }
}

@media screen and (max-width: 1709px) {
  .u-show-1710-up {
    display: none !important;
  }
}

@media screen and (min-width: 1720px) {
  .u-show-1720 {
    display: none !important;
  }
}

@media screen and (max-width: 1719px) {
  .u-show-1720-up {
    display: none !important;
  }
}

@media screen and (min-width: 1730px) {
  .u-show-1730 {
    display: none !important;
  }
}

@media screen and (max-width: 1729px) {
  .u-show-1730-up {
    display: none !important;
  }
}

@media screen and (min-width: 1740px) {
  .u-show-1740 {
    display: none !important;
  }
}

@media screen and (max-width: 1739px) {
  .u-show-1740-up {
    display: none !important;
  }
}

@media screen and (min-width: 1750px) {
  .u-show-1750 {
    display: none !important;
  }
}

@media screen and (max-width: 1749px) {
  .u-show-1750-up {
    display: none !important;
  }
}

@media screen and (min-width: 1760px) {
  .u-show-1760 {
    display: none !important;
  }
}

@media screen and (max-width: 1759px) {
  .u-show-1760-up {
    display: none !important;
  }
}

@media screen and (min-width: 1770px) {
  .u-show-1770 {
    display: none !important;
  }
}

@media screen and (max-width: 1769px) {
  .u-show-1770-up {
    display: none !important;
  }
}

@media screen and (min-width: 1780px) {
  .u-show-1780 {
    display: none !important;
  }
}

@media screen and (max-width: 1779px) {
  .u-show-1780-up {
    display: none !important;
  }
}

@media screen and (min-width: 1790px) {
  .u-show-1790 {
    display: none !important;
  }
}

@media screen and (max-width: 1789px) {
  .u-show-1790-up {
    display: none !important;
  }
}

@media screen and (min-width: 1800px) {
  .u-show-1800 {
    display: none !important;
  }
}

@media screen and (max-width: 1799px) {
  .u-show-1800-up {
    display: none !important;
  }
}

@media screen and (min-width: 1810px) {
  .u-show-1810 {
    display: none !important;
  }
}

@media screen and (max-width: 1809px) {
  .u-show-1810-up {
    display: none !important;
  }
}

@media screen and (min-width: 1820px) {
  .u-show-1820 {
    display: none !important;
  }
}

@media screen and (max-width: 1819px) {
  .u-show-1820-up {
    display: none !important;
  }
}

@media screen and (min-width: 1830px) {
  .u-show-1830 {
    display: none !important;
  }
}

@media screen and (max-width: 1829px) {
  .u-show-1830-up {
    display: none !important;
  }
}

@media screen and (min-width: 1840px) {
  .u-show-1840 {
    display: none !important;
  }
}

@media screen and (max-width: 1839px) {
  .u-show-1840-up {
    display: none !important;
  }
}

@media screen and (min-width: 1850px) {
  .u-show-1850 {
    display: none !important;
  }
}

@media screen and (max-width: 1849px) {
  .u-show-1850-up {
    display: none !important;
  }
}

@media screen and (min-width: 1860px) {
  .u-show-1860 {
    display: none !important;
  }
}

@media screen and (max-width: 1859px) {
  .u-show-1860-up {
    display: none !important;
  }
}

@media screen and (min-width: 1870px) {
  .u-show-1870 {
    display: none !important;
  }
}

@media screen and (max-width: 1869px) {
  .u-show-1870-up {
    display: none !important;
  }
}

@media screen and (min-width: 1880px) {
  .u-show-1880 {
    display: none !important;
  }
}

@media screen and (max-width: 1879px) {
  .u-show-1880-up {
    display: none !important;
  }
}

@media screen and (min-width: 1890px) {
  .u-show-1890 {
    display: none !important;
  }
}

@media screen and (max-width: 1889px) {
  .u-show-1890-up {
    display: none !important;
  }
}

@media screen and (min-width: 1900px) {
  .u-show-1900 {
    display: none !important;
  }
}

@media screen and (max-width: 1899px) {
  .u-show-1900-up {
    display: none !important;
  }
}

@media screen and (min-width: 1910px) {
  .u-show-1910 {
    display: none !important;
  }
}

@media screen and (max-width: 1909px) {
  .u-show-1910-up {
    display: none !important;
  }
}

@media screen and (min-width: 1920px) {
  .u-show-1920 {
    display: none !important;
  }
}

@media screen and (max-width: 1919px) {
  .u-show-1920-up {
    display: none !important;
  }
}

@media screen and (min-width: 1930px) {
  .u-show-1930 {
    display: none !important;
  }
}

@media screen and (max-width: 1929px) {
  .u-show-1930-up {
    display: none !important;
  }
}

@media screen and (min-width: 1940px) {
  .u-show-1940 {
    display: none !important;
  }
}

@media screen and (max-width: 1939px) {
  .u-show-1940-up {
    display: none !important;
  }
}

@media screen and (min-width: 1950px) {
  .u-show-1950 {
    display: none !important;
  }
}

@media screen and (max-width: 1949px) {
  .u-show-1950-up {
    display: none !important;
  }
}

@media screen and (min-width: 1960px) {
  .u-show-1960 {
    display: none !important;
  }
}

@media screen and (max-width: 1959px) {
  .u-show-1960-up {
    display: none !important;
  }
}

@media screen and (min-width: 1970px) {
  .u-show-1970 {
    display: none !important;
  }
}

@media screen and (max-width: 1969px) {
  .u-show-1970-up {
    display: none !important;
  }
}

@media screen and (min-width: 1980px) {
  .u-show-1980 {
    display: none !important;
  }
}

@media screen and (max-width: 1979px) {
  .u-show-1980-up {
    display: none !important;
  }
}

@media screen and (min-width: 1990px) {
  .u-show-1990 {
    display: none !important;
  }
}

@media screen and (max-width: 1989px) {
  .u-show-1990-up {
    display: none !important;
  }
}

@media screen and (min-width: 2000px) {
  .u-show-2000 {
    display: none !important;
  }
}

@media screen and (max-width: 1999px) {
  .u-show-2000-up {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  html {
    --side: max(0px, (100vw - 90rem) / 2);
  }
}

@media screen and (min-width: 768px) {
  .l-main > :not(.c-outro, script, template, style) {
    border-inline: var(--side, 0px) solid transparent;
    background-origin: border-box;
  }
}
@media screen and (min-width: 768px) {
  .p-ppl-strip,
  .p-biz-flow__track,
  .p-intern-voice,
  .p-intern-hero__visual,
  .p-co-top__hero,
  .p-top-activity__strip,
  .p-co-top__hero-img,
  .p-phil-vision__photo,
  .p-rec-intro__img,
  .p-talk__main {
    width: calc(100% + var(--side, 0px) * 2);
    margin-inline: calc(var(--side, 0px) * -1);
  }
  .l-main > .p-learn-map,
  .l-main > .p-top-fv,
  .l-main > .pin-spacer:has(> .p-top-fv),
  .l-main > .p-top-works,
  .l-main > .pin-spacer:has(> .p-top-works),
  .l-main > .p-rec-fv,
  .l-main > .p-rec-office,
  .l-main > .pin-spacer:has(> .p-rec-fv),
  .l-main > .p-ci,
  .l-main > .p-hist {
    border-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-main {
    overflow-x: clip;
  }
}
@media screen and (min-width: 768px) {
  .l-main {
    overflow-x: clip;
  }
  .l-main > .p-play-sec {
    overflow-x: visible;
  }
  .l-main > :is(.p-top-blue, .p-rec-branch, .p-top-recruit, .p-rec-work) {
    overflow: visible;
    clip-path: inset(0);
  }
}
@media screen and (min-width: 768px) {
  .p-rec-staff__track {
    margin-inline: calc(var(--side, 0px) * -1);
    padding-inline: var(--side, 0px);
    scroll-padding-inline: var(--side, 0px);
  }
  .p-rec-branch__track {
    margin-inline: calc(var(--side, 0px) * -1);
    padding-inline: calc(9rem + var(--side, 0px));
    scroll-padding-inline: calc(9rem + var(--side, 0px));
  }
}
@media screen and (min-width: 768px) {
  .p-intern-voice__track {
    translate: var(--side, 0px) 0;
  }
  .p-intern-voice__nav.--prev,
  .p-intern-voice [data-intern-voice-prev] {
    margin-left: var(--side, 0px);
  }
  .p-intern-voice__nav.--next,
  .p-intern-voice [data-intern-voice-next] {
    margin-right: var(--side, 0px);
  }
}
@media screen and (min-width: 768px) {
  .l-main > :is(.p-dv-field, .p-learn-sec, .p-env-sec, .p-rec-num, .p-iv, .p-hist-totop, .p-res-nav, .u-visually-hidden, .p-req, .p-news) {
    border-inline: 0;
  }
  html:has([data-co-fluid]) .l-main > :is(.p-co-head, .p-co-body, .p-co-principle, .p-co-message__main, .p-co-message__body) {
    border-inline: 0;
  }
  .l-main > :is(.p-req, .p-news) {
    margin-left: calc(9rem + var(--side, 0px));
  }
  .l-main > .p-co-body {
    border-inline: 0;
    margin-left: calc(9rem + var(--side, 0px));
  }
}
@media screen and (min-width: 768px) {
  .p-biz-band,
  .p-biz-sub__others,
  .p-eff-band {
    width: calc(100% + var(--side, 0px) * 2);
    margin-inline: calc(var(--side, 0px) * -1);
    border-inline: var(--side, 0px) solid transparent;
  }
}
@media screen and (min-width: 768px) {
  .p-play-slider,
  .p-play-strip {
    width: calc(100% + var(--side, 0px) * 2);
    margin-inline: calc(var(--side, 0px) * -1);
  }
  .p-play-slider__track {
    translate: var(--side, 0px) 0;
  }
  .p-play-strip__ttl {
    margin-left: calc(9rem + var(--side, 0px));
  }
}
@media screen and (min-width: 768px) {
  .p-play-sports__card {
    margin-right: calc(var(--side, 0px) * -1);
  }
}
@media screen and (min-width: 768px) {
  .p-rec-fv__catch,
  .p-rec-fv__copy {
    translate: var(--side, 0px) 0;
  }
  .p-rec-fv__people {
    margin-left: var(--side, 0px);
  }
}
/*# sourceMappingURL=maps/style.css.map */
