@charset "UTF-8";
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
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;
}

h1.wp-block-heading,
h2.wp-block-heading,
h3.wp-block-heading,
h4.wp-block-heading,
h5.wp-block-heading,
h6.wp-block-heading {
  font-size: revert;
  font-weight: revert;
  margin: 0;
}

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

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          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; /* 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;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  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;
  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; /* 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;
}

/********************************
* インナー
********************************/
/********************************
* フォント
********************************/
/********************************
* カラー
********************************/
html {
  scroll-behavior: smooth;
  scroll-padding-top: 5rem;
  font-size: 16px;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.6vw;
    scroll-padding-top: 6.25rem;
  }
}
@media screen and (min-width: 1120px) {
  html {
    font-size: 16px;
  }
}

body {
  font-family: "Scheherazade New", "Shippori Mincho", serif;
  font-weight: 400;
  color: #1B1D52;
  background-color: #FAF9E8;
  font-size: 1rem;
  line-height: 2;
  position: relative;
}

/* link */
/* ============================================ */
a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
  cursor: pointer;
}
@media (hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}

/* img */
/* ============================================ */
img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.home .l-header,
.home .p-top-fv__news,
.home .p-top-fv__img,
.home .c-floating,
.home .p-top-fv__catch {
  opacity: 0;
  visibility: hidden;
}

.js-fadeIN {
  opacity: 0;
  visibility: hidden;
}

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev,
.swiper-button-next {
  position: static;
  height: 4.125rem;
  width: 4.125rem;
  margin: 0;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
  height: 0;
  width: 0;
}

.swiper-button-prev .prev--default,
.swiper-button-next .prev--default {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
}
.swiper-button-prev .next--hover,
.swiper-button-next .next--hover {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
}
.swiper-button-prev circle,
.swiper-button-next circle {
  -webkit-transform-origin: center;
          transform-origin: center;
}

@media (hover: hover) {
  .swiper-button-prev:hover .prev--default,
  .swiper-button-next:hover .prev--default {
    opacity: 0;
    visibility: hidden;
  }
  .swiper-button-prev:hover .next--hover,
  .swiper-button-next:hover .next--hover {
    opacity: 1;
    visibility: visible;
  }
  .swiper-button-prev:hover circle,
  .swiper-button-next:hover circle {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.l-inner {
  margin: 0 auto;
  width: 100%;
  height: inherit;
  max-width: 30rem;
  padding-right: 25px;
  padding-left: 25px;
}
@media screen and (min-width: 768px) {
  .l-inner {
    padding-right: 56px;
    padding-left: 56px;
    max-width: 1112px;
  }
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  width: 100%;
  padding-block: 1.625rem 1.375rem;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .l-header {
    padding-block: 2.375rem 2rem;
  }
}

.l-header__inner {
  max-width: 37.5rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 25px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .l-header__inner {
    max-width: 1320px;
    padding-inline: 20px;
  }
}

.l-header__logo {
  width: 9.3125rem;
  position: relative;
  z-index: 1001;
  -webkit-transform-origin: top left;
          transform-origin: top left;
  pointer-events: all;
}
@media screen and (min-width: 768px) {
  .l-header__logo {
    width: 12.9375rem;
  }
}

.l-header__logo img {
  aspect-ratio: 207/45;
}

.l-header__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.l-header__nav {
  pointer-events: all;
}
@media screen and (min-width: 768px) {
  .l-header__nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.5rem;
  }
}

.l-header__items {
  pointer-events: all;
}
@media screen and (min-width: 768px) {
  .l-header__items {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.l-header__item {
  font-weight: 700;
}
.l-header__item.is-active {
  pointer-events: all !important;
}

.l-header__item-link {
  position: relative;
  z-index: 0;
}

.l-header__item-link--blank::after {
  content: "";
  display: inline-block;
  width: 0.8125rem;
  height: 0.9375rem;
  background-image: url(../images/00_common/icon-blank-nb.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: 2em;
}
@media screen and (min-width: 768px) {
  .l-header__item-link--blank::after {
    bottom: 0.5em;
    right: -1em;
  }
}

.l-header__menu-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  height: 2rem;
  position: relative;
  z-index: 1003;
  pointer-events: all;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .l-header__menu-btn {
    margin-left: 5rem;
  }
}

.l-header__menu-bar {
  display: inline-block;
  height: 0.5rem;
  width: 1.25rem;
  position: relative;
  z-index: 0;
}
.l-header__menu-bar::before {
  content: "";
  position: absolute;
  display: block;
  height: 1px;
  width: 1.25rem;
  background-color: #1B1D52;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}
.l-header__menu-bar::after {
  content: "";
  position: absolute;
  display: block;
  height: 1px;
  width: 1.25rem;
  background-color: #1B1D52;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}

.l-header__menu-text {
  text-transform: uppercase;
  display: block;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
.l-header__menu-text.is-open {
  opacity: 1;
}
.l-header__menu-text.is-close {
  opacity: 0;
  margin-top: -2em;
}

.l-header__bg {
  position: fixed;
  z-index: 1001;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  height: 100vh;
  background: -webkit-gradient(linear, left top, left bottom, from(#f6e6cc), to(#e8f0ff));
  background: -webkit-linear-gradient(top, #f6e6cc 0%, #e8f0ff 100%);
  background: linear-gradient(180deg, #f6e6cc 0%, #e8f0ff 100%);
  -webkit-clip-path: inset(0% 0% calc(100% - 6.25rem) 0%);
          clip-path: inset(0% 0% calc(100% - 6.25rem) 0%);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0s ease 0.6s;
  transition: opacity 0.6s ease, visibility 0s ease 0.6s;
}
@media screen and (min-width: 768px) {
  .l-header__bg {
    -webkit-clip-path: inset(0% 0% calc(100% - 7.75rem) 0%);
            clip-path: inset(0% 0% calc(100% - 7.75rem) 0%);
  }
}

.l-header-nav {
  pointer-events: all;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(246, 230, 204, 0.99)), to(rgba(232, 240, 255, 0.99)));
  background: -webkit-linear-gradient(top, rgba(246, 230, 204, 0.99) 0%, rgba(232, 240, 255, 0.99) 100%);
  background: linear-gradient(180deg, rgba(246, 230, 204, 0.99) 0%, rgba(232, 240, 255, 0.99) 100%);
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 100%;
  height: inherit;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: auto;
  height: 100dvh;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0s ease 0.6s;
  transition: opacity 0.6s ease, visibility 0s ease 0.6s;
}
@media screen and (min-width: 768px) {
  .l-header-nav {
    bottom: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.l-header-nav::-webkit-scrollbar {
  display: none;
}
.l-header-nav .simplebar-track.simplebar-horizontal,
.l-header-nav .simplebar-track.simplebar-vertical {
  width: 0.25rem;
  background: transparent;
  border-radius: 5px;
  margin: 7.5rem 0.5rem 2.5rem auto;
}
.l-header-nav .simplebar-scrollbar {
  height: 15rem;
  background: rgba(27, 29, 82, 0.5);
  border-radius: 5px;
  top: 0;
}
.l-header-nav .simplebar-scrollbar::before {
  content: "";
  display: none;
}

.l-header-nav__container {
  max-width: 30rem;
  margin-inline: auto;
  padding-right: 25px;
  padding-left: 25px;
  padding-bottom: 2.5rem;
  margin-block: 7.5rem 4.0625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__container {
    padding-right: 56px;
    padding-left: 56px;
    padding-bottom: 5rem;
    margin-block: 10rem 0;
    max-width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.5rem;
  }
}

.l-header-nav__wrap {
  display: contents;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__wrap {
    display: block;
  }
}

.l-header-nav__contact {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__contact {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}

.l-header-nav__menu {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__menu {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}

.l-header-nav__info {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__info {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}

.l-header-nav__address {
  margin-top: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__address {
    margin-top: 0;
  }
}

.l-header-nav__post-num {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .l-header-nav__post-num {
    font-size: 1rem;
  }
}

.l-header-nav__place {
  font-size: 0.9375rem;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__place {
    font-size: 1rem;
  }
}

.l-header-nav__map {
  margin-top: 1.5rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__map {
    margin-top: 1.25rem;
  }
}

.l-header-nav__map-pin {
  display: inline-block;
  width: 1.5rem;
}

.l-header-nav__map-pin img {
  aspect-ratio: 24/24;
}

.l-header-nav__map-text {
  font-size: 0.9375rem;
  margin-left: 0.5rem;
  border-bottom: 1px solid #1B1D52;
  text-wrap: nowrap;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__map-text {
    font-size: 1rem;
  }
}

.l-header-nav__tel {
  margin-top: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__tel {
    margin-top: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.l-header-nav__tel-label {
  font-size: 0.9375rem;
  line-height: 1;
  font-weight: 500;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__tel-label {
    font-size: 1rem;
  }
}

.l-header-nav__tel-num {
  line-height: 1;
  font-size: 2rem;
}

.l-header-nav__menu {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 2.25rem;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__menu {
    grid-template-columns: repeat(3, 1fr);
    gap: min(2.7777777778vw, 40px);
    margin-top: 0;
  }
}

.l-header-nav__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l-header-nav__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(27, 29, 82, 0.4);
}
@media screen and (min-width: 1024px) {
  .l-header-nav__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 2rem;
  }
  .l-header-nav__item:first-of-type {
    margin-top: 0;
  }
}

.l-header-nav__item:first-of-type {
  padding-top: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__item:first-of-type {
    padding-top: 0;
    border-top: none;
  }
}

.l-header-nav__item + .l-header-nav__item {
  margin-top: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__item + .l-header-nav__item {
    margin-top: 2rem;
  }
}

.l-header-nav__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 7.5rem;
}

.l-header-nav__head--blank {
  position: relative;
  z-index: 0;
}
.l-header-nav__head--blank::after {
  content: "";
  display: inline-block;
  width: 0.8125rem;
  height: 0.9375rem;
  background-image: url(../images/00_common/icon-blank-nb.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: 2em;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__head--blank::after {
    bottom: 0;
    right: 1em;
  }
}

.l-header-nav__heading-en {
  font-size: 0.875rem;
  line-height: 1;
  color: rgba(27, 29, 82, 0.4);
  letter-spacing: 0.1em;
}

.l-header-nav__heading-ja {
  font-size: 1rem;
  line-height: 1.2;
  margin-top: 0.75rem;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__heading-ja {
    font-size: 1.25rem;
  }
}

@media screen and (min-width: 1024px) {
  .l-header-nav__body {
    margin-top: 1.5rem;
  }
}

.l-header-nav__link {
  display: block;
  font-size: 0.9375rem;
  padding-left: 1em;
  position: relative;
  z-index: 0;
  letter-spacing: 0;
}
.l-header-nav__link::before {
  content: "";
  position: absolute;
  display: inline-block;
  height: 1px;
  width: 0.5rem;
  left: 0;
  background-color: rgba(27, 29, 82, 0.4);
  top: 1em;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__link {
    font-size: min(1.1111111111vw, 16px);
  }
}

.l-header-nav__link--services::before {
  content: attr(data-num);
  width: 1em;
  left: -0.25rem;
  top: 0;
  background-color: transparent;
}

.l-header-nav__link--blank {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.5rem;
}
.l-header-nav__link--blank::after {
  content: "";
  display: inline-block;
  width: 0.8125rem;
  height: 0.9375rem;
  background-image: url(../images/00_common/icon-blank-nb.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-bottom: 0.3em;
}

.l-header-nav__btns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .l-header-nav__btns {
    gap: 1.25rem;
    margin-top: 3.875rem;
  }
}

.l-header-nav__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-block: 0.375rem;
  gap: 1rem;
  color: #fff;
  background-color: #1B1D52;
  text-transform: uppercase;
  width: 100%;
  max-width: 20.3125rem;
  border-radius: 0.5rem;
}
@media screen and (min-width: 1024px) {
  .l-header-nav__btn {
    padding-left: 1.3125rem;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 15.0625rem;
  }
}

.l-header-nav__btn span {
  display: block;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 1.6875rem;
  position: relative;
  z-index: 0;
  pointer-events: none;
}

.l-header-nav__btn span img {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 1.6875rem;
  aspect-ratio: 27/29;
}

.l-header-nav__btn-default {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.l-header-nav__btn-hover {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

@media (hover: hover) {
  .l-header-nav__btn {
    -webkit-transition: color 0.4s ease, background-color 0.4s ease;
    transition: color 0.4s ease, background-color 0.4s ease;
  }
  .l-header-nav__btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #1B1D52;
  }
  .l-header-nav__btn:hover .l-header-nav__btn-default {
    opacity: 0;
    visibility: hidden;
  }
  .l-header-nav__btn:hover .l-header-nav__btn-hover {
    opacity: 1;
    visibility: visible;
  }
}
.l-header-mega {
  pointer-events: all;
}

@media screen and (min-width: 768px) {
  .l-header-mega__content {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }
}

@media screen and (min-width: 768px) {
  .l-header-mega__inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 31.375rem;
    padding-block: 12.875rem 6.125rem;
    border-radius: 0 0 1rem 1rem;
    background-color: #FAF9E8;
    padding-inline: 56px;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }
}

@media screen and (min-width: 768px) {
  .l-header-mega__wrap {
    width: 100%;
    max-width: 1112px;
    margin-inline: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: min(13.8888888889vw, 200px);
  }
}

@media screen and (min-width: 768px) {
  .l-header-mega__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 3.625rem;
  }
}

.l-header-mega__item--services {
  position: relative;
  z-index: 0;
  padding-left: 1.2em;
}
.l-header-mega__item--services::before {
  content: attr(data-num);
  position: absolute;
  display: inline-block;
  font-size: 1.2em;
  width: 1em;
  height: 1em;
  left: 0;
  top: -0.3em;
}

@media screen and (min-width: 768px) {
  .l-header-mega__item + .l-header-mega__item {
    margin-top: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .l-header-mega__link {
    font-size: 1.125rem;
    line-height: 1.5;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

@media screen and (min-width: 768px) {
  .l-header-mega__link-icon {
    width: 1.5rem;
    display: inline-block;
    margin-left: 1rem;
    position: relative;
    z-index: 0;
    top: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-header-mega__link-icon img {
    aspect-ratio: 1;
    height: auto;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    -webkit-transition: opacity 0.6s ease;
    transition: opacity 0.6s ease;
  }
}

@media screen and (min-width: 768px) {
  .l-header-mega__link-icon--default {
    opacity: 1;
  }
}

@media screen and (min-width: 768px) {
  .l-header-mega__link-icon--hover {
    opacity: 0;
  }
}

@media (hover: hover) {
  .l-header-mega__item:hover .l-header-mega__link-icon--default {
    opacity: 0;
  }
  .l-header-mega__item:hover .l-header-mega__link-icon--hover,
  .l-header-mega__item:hover .l-header-mega__link {
    opacity: 1;
  }
  .l-header__item.is-active .u-text-gradation__base {
    opacity: 0;
  }
  .l-header__item.is-active .u-text-gradation {
    opacity: 1;
  }
  .l-header-mega__content.is-active {
    opacity: 1;
    visibility: visible;
  }
  .l-header-mega__inner.is-active {
    opacity: 1;
    visibility: visible;
  }
}
body.is-fixed {
  width: 100%;
  height: 100%;
  overflow: hidden !important;
}

.l-header.is-open .l-header__bg {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.6s ease, visibility 0s ease;
  transition: opacity 0.6s ease, visibility 0s ease;
}
.l-header.is-open .l-header-nav {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.6s ease, visibility 0s ease;
  transition: opacity 0.6s ease, visibility 0s ease;
}
.l-header.is-open .l-header__menu-text.is-open {
  opacity: 0;
}
.l-header.is-open .l-header__menu-text.is-close {
  opacity: 1;
}
.l-header.is-open .l-header__menu-btn,
.l-header.is-open .l-header__logo {
  -webkit-filter: brightness(1) invert(0) !important;
          filter: brightness(1) invert(0) !important;
}
.l-header.is-open .l-header__menu-bar::before {
  -webkit-transform: translate(-50%, 0.1875rem) rotate(30deg);
          transform: translate(-50%, 0.1875rem) rotate(30deg);
}
.l-header.is-open .l-header__menu-bar::after {
  -webkit-transform: translate(-50%, -0.1875rem) rotate(-30deg);
          transform: translate(-50%, -0.1875rem) rotate(-30deg);
}

.l-footer {
  color: #fff;
  background-color: #1B1D52;
}

.l-footer__inner {
  margin: 0 auto;
  width: 100%;
  height: inherit;
  max-width: 30rem;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  padding-block: 3.75rem;
}
@media screen and (min-width: 768px) {
  .l-footer__inner {
    padding-block: 6rem 5.5625rem;
    max-width: 1352px;
  }
}

@media screen and (min-width: 768px) {
  .l-footer__container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 5rem;
  }
}

.l-footer__logo {
  width: 13.375rem;
}

.l-footer__logo img {
  aspect-ratio: 214/44;
}

.l-footer__address {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .l-footer__address {
    margin-top: 3.25rem;
  }
}

.l-footer__post-num {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .l-footer__post-num {
    font-size: 1rem;
  }
}

.l-footer__place {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .l-footer__place {
    font-size: 1rem;
  }
}

.l-footer__map {
  margin-top: 1.5rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .l-footer__map {
    margin-top: 1.25rem;
  }
}

.l-footer__map-pin {
  display: inline-block;
  width: 1.5rem;
}

.l-footer__map-pin img {
  aspect-ratio: 24/24;
}

.l-footer__map-text {
  font-size: 0.9375rem;
  margin-left: 0.5rem;
  border-bottom: 1px solid #fff;
  position: relative;
  z-index: 0;
  text-wrap: nowrap;
}
@media screen and (min-width: 768px) {
  .l-footer__map-text {
    font-size: 1rem;
  }
}

.l-footer__menu {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .l-footer__menu {
    grid-template-columns: repeat(3, 1fr);
    gap: min(2.7777777778vw, 40px);
    margin-top: 0;
  }
}

.l-footer__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l-footer__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: 1.25rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .l-footer__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    padding-top: 2rem;
  }
  .l-footer__item:first-of-type {
    margin-top: 0;
  }
}

.l-footer__item:first-of-type {
  padding-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .l-footer__item:first-of-type {
    padding-top: 0;
    border-top: none;
  }
}

.l-footer__item + .l-footer__item {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .l-footer__item + .l-footer__item {
    margin-top: 2rem;
  }
}

.l-footer__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 7.5rem;
}

.l-footer__head--blank {
  position: relative;
  z-index: 0;
}
.l-footer__head--blank::after {
  content: "";
  display: inline-block;
  width: 0.8125rem;
  height: 0.9375rem;
  background-image: url(../images/00_common/icon-blank-wt.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: 2em;
}
@media screen and (min-width: 768px) {
  .l-footer__head--blank::after {
    bottom: 0.5em;
    right: 1em;
  }
}

.l-footer__heading-en {
  font-size: 0.875rem;
  line-height: 1;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 0.1em;
}

.l-footer__heading-ja {
  font-size: 1rem;
  line-height: 1.2;
  margin-top: 0.75rem;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .l-footer__heading-ja {
    font-size: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .l-footer__body {
    margin-top: 1.5rem;
  }
}

.l-footer__link {
  display: block;
  font-size: 0.9375rem;
  padding-left: 1em;
  position: relative;
  z-index: 0;
  letter-spacing: 0;
}
.l-footer__link::before {
  content: "";
  position: absolute;
  display: inline-block;
  height: 1px;
  width: 0.5rem;
  left: 0;
  top: 1em;
  background-color: rgba(255, 255, 255, 0.4);
}
@media screen and (min-width: 768px) {
  .l-footer__link {
    font-size: 0.9375rem;
  }
}

.l-footer__link--services::before {
  content: attr(data-num);
  width: 1em;
  left: -0.25rem;
  top: 0;
  background-color: transparent;
}

.l-footer__link--blank {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.5rem;
}
.l-footer__link--blank::after {
  content: "";
  display: inline-block;
  width: 0.8125rem;
  height: 0.9375rem;
  background-image: url(../images/00_common/icon-blank-wt.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 768px) {
  .l-footer__link--blank {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .l-footer__link--blank::after {
    margin-bottom: 0;
  }
}

.l-footer__privacy {
  display: inline-block;
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  margin-top: 3.75rem;
  font-size: 0.875rem;
}

.l-footer__copy {
  font-size: 0.875rem;
  margin-top: 0.5rem;
}

.c-loading-anim {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  overflow: hidden;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
}

.c-loading-anim__bg-grade {
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  margin: auto;
  background: -webkit-linear-gradient(340deg, rgb(180, 144, 58) 0%, rgb(183, 88, 189) 50%, rgb(0, 176, 201) 100%);
  background: linear-gradient(110deg, rgb(180, 144, 58) 0%, rgb(183, 88, 189) 50%, rgb(0, 176, 201) 100%);
  opacity: 0;
  visibility: hidden;
}

.c-loading-anim__content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .c-loading-anim__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.c-loading-anim__text {
  display: block;
  font-weight: 400;
  letter-spacing: -0.06em;
  font-size: 2rem;
  color: #fff;
  opacity: 0;
  visibility: hidden;
}
@media screen and (min-width: 768px) {
  .c-loading-anim__text {
    display: inline-block;
    font-size: min(3.8888888889vw, 56px);
    line-height: 2.1428571429;
  }
}

.c-loading-anim__text span {
  letter-spacing: -0.06em;
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-loading-anim__text span {
    font-size: min(2.2222222222vw, 32px);
    line-height: 3.75;
  }
}

.c-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  padding: 0.75rem;
  color: #fff;
  background-color: #1B1D52;
  text-transform: uppercase;
  width: 100%;
  max-width: 20rem;
  border-radius: 0.25rem;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .c-btn {
    width: 20rem;
  }
}

.c-btn span {
  display: block;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 4.0625rem;
  height: 1rem;
  margin-right: -2rem;
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.c-btn span img {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 4.0625rem;
  aspect-ratio: 65/16;
}

.c-btn__default {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease, -webkit-transform 0.4s ease;
  transition: transform 0.4s ease, opacity 0.4s ease, visibility 0.4s ease;
  transition: transform 0.4s ease, opacity 0.4s ease, visibility 0.4s ease, -webkit-transform 0.4s ease;
}

.c-btn__hover {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease, -webkit-transform 0.4s ease;
  transition: transform 0.4s ease, opacity 0.4s ease, visibility 0.4s ease;
  transition: transform 0.4s ease, opacity 0.4s ease, visibility 0.4s ease, -webkit-transform 0.4s ease;
}

@media (hover: hover) {
  .c-btn {
    -webkit-transition: color 0.4s ease, background-color 0.4s ease;
    transition: color 0.4s ease, background-color 0.4s ease;
  }
  .c-btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #1B1D52;
  }
  .c-btn:hover .c-btn__default {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  .c-btn:hover .c-btn__hover {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}
.c-btn--large {
  max-width: 22.5rem;
  line-height: 1.4;
  padding-block: 1rem;
}
@media screen and (min-width: 768px) {
  .c-btn--large {
    width: 22.5rem;
  }
}

.c-btn--white {
  color: #1B1D52;
  background-color: #fff;
  border: 1px solid #1B1D52;
}
@media (hover: hover) {
  .c-btn--white {
    -webkit-transition: color 0.4s ease, background-color 0.4s ease, border 0.4s ease;
    transition: color 0.4s ease, background-color 0.4s ease, border 0.4s ease;
  }
  .c-btn--white:hover {
    background-color: #dcdcdc;
    color: #fff;
    border: 1px solid #dcdcdc;
  }
  .c-btn--white:hover .c-btn__default {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  .c-btn--white:hover .c-btn__hover {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}

.c-btn--inversion {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  color: #1B1D52;
  background-color: #fff;
  padding: 0.6875rem;
  border: 1px solid #1B1D52;
}
.c-btn--inversion span {
  margin-left: -2rem;
  margin-right: 0;
}
.c-btn--inversion .c-btn__default {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translate(50%, -50%) scaleX(-1);
          transform: translate(50%, -50%) scaleX(-1);
}
.c-btn--inversion .c-btn__hover {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translate(50%, -50%) scaleX(-1);
          transform: translate(50%, -50%) scaleX(-1);
}
@media (hover: hover) {
  .c-btn--inversion {
    -webkit-transition: color 0.4s ease, background-color 0.4s ease, border 0.4s ease;
    transition: color 0.4s ease, background-color 0.4s ease, border 0.4s ease;
  }
  .c-btn--inversion:hover {
    background-color: #dcdcdc;
    color: #fff;
    border: 1px solid #dcdcdc;
  }
  .c-btn--inversion:hover .c-btn__default {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate(0, -50%) scaleX(-1);
            transform: translate(0, -50%) scaleX(-1);
  }
  .c-btn--inversion:hover .c-btn__hover {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translate(0, -50%) scaleX(-1);
            transform: translate(0, -50%) scaleX(-1);
  }
}

.c-floating {
  position: fixed;
  z-index: 900;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  bottom: 0;
  right: 0;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .c-floating {
    bottom: 1.6875rem;
  }
}

.c-floating__inner {
  pointer-events: all;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
  padding: 0.75rem 0.8125rem 1.125rem 1.6875rem;
  background-color: #1B1D52;
  border-radius: 1rem 0 0 0;
  border: solid #fff;
  border-width: 1px 0 0 1px;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  -webkit-transform: translate(0, calc(100% - 4rem));
          transform: translate(0, calc(100% - 4rem));
}
@media screen and (min-width: 768px) {
  .c-floating__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1.125rem 2rem 1.5rem 1.25rem;
    -webkit-transform: translate(calc(100% - 4.5rem), 0);
            transform: translate(calc(100% - 4.5rem), 0);
    border-radius: 1rem 0 0 1rem;
    border-width: 1px 0 1px 1px;
  }
}

.c-floating__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .c-floating__head {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
}

.c-floating__head-icon {
  width: 1.625rem;
}

.c-floating__head-text {
  color: #fff;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media screen and (min-width: 768px) {
  .c-floating__head-text {
    font-size: 1.25rem;
    line-height: 1;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}

.c-floating__item:not(:last-of-type) {
  border-bottom: 1px solid #fff;
}

.c-floating__link-icon {
  display: inline-block;
  width: 1.5rem;
  margin-left: 0.75rem;
}

.c-floating__link-icon img {
  aspect-ratio: 1;
  height: auto;
}
.c-floating__link {
  display: inline-block;
  padding-block: 1.0625rem;
  color: #fff;
  font-size: 0.9375rem;
  line-height: 1.4666666667;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .c-floating__link {
    font-size: 1rem;
    line-height: 1.375;
  }
}

@media (hover: hover) {
  .c-floating:hover .c-floating__inner {
    -webkit-transform: translate(1px, 0);
            transform: translate(1px, 0);
  }
}
.c-floating.is-open .c-floating__inner {
  -webkit-transform: translate(0, 1px);
          transform: translate(0, 1px);
}

.c-scroll-icon {
  pointer-events: none;
  position: absolute;
  bottom: 0;
  left: 0.25rem;
  z-index: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  opacity: 0;
  visibility: hidden;
}
@media screen and (min-width: 768px) {
  .c-scroll-icon {
    bottom: unset;
    top: min(33.3333333333vw, 600px);
    left: 2.5rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.c-scroll-icon__stroke {
  width: 0.0625rem;
  height: 9.625rem;
  background-color: rgba(27, 29, 82, 0.2);
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.c-scroll-icon__line {
  display: block;
  width: 0.0625rem;
  height: 18.75rem;
  background-color: #1B1D52;
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 50%;
  -webkit-animation-name: scrollDown;
          animation-name: scrollDown;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@-webkit-keyframes scrollDown {
  0% {
    -webkit-transform: translate(-50%, -101%);
            transform: translate(-50%, -101%);
  }
  100% {
    -webkit-transform: translate(-50%, 101%);
            transform: translate(-50%, 101%);
  }
}
@keyframes scrollDown {
  0% {
    -webkit-transform: translate(-50%, -101%);
            transform: translate(-50%, -101%);
  }
  100% {
    -webkit-transform: translate(-50%, 101%);
            transform: translate(-50%, 101%);
  }
}

.c-scroll-icon__text {
  font-size: 0.875rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .c-scroll-icon__text {
    font-size: 1rem;
    margin-bottom: 0;
  }
}

.c-philosophy__img {
  max-width: 20.3125rem;
  width: 100%;
  margin-inline: auto;
}
.c-philosophy__img svg {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-philosophy__img {
    max-width: 60.625rem;
    width: 100%;
  }
}

.c-heading-horizontal__en {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 0;
}
.c-heading-horizontal__en::before {
  content: "";
  display: inline-block;
  height: 1px;
  width: 0.75rem;
  background-color: currentColor;
}
@media screen and (min-width: 768px) {
  .c-heading-horizontal__en::before {
    width: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .c-heading-horizontal__en {
    gap: 0.75rem;
  }
}
.c-heading-horizontal__en.c-heading-horizontal__en--single::before {
  display: none;
}

.c-heading-horizontal__ja {
  margin-top: 1rem;
  display: block;
  font-size: 1.375rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .c-heading-horizontal__ja {
    font-size: 1.75rem;
  }
}

.c-heading-horizontal--small .c-heading-horizontal__en::before {
  display: none;
}
.c-heading-horizontal--small .c-heading-horizontal__ja {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .c-heading-horizontal--small .c-heading-horizontal__ja {
    font-size: 1.5625rem;
  }
}

.c-heading-vertical {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem;
}

.c-heading-vertical__en {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  position: relative;
  z-index: 0;
}
.c-heading-vertical__en::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 0.8125rem;
  background-color: currentColor;
}
@media screen and (min-width: 768px) {
  .c-heading-vertical__en::before {
    height: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .c-heading-vertical__en {
    gap: 0.75rem;
    font-size: 0.8125rem;
  }
}

.c-heading-vertical__ja {
  display: block;
  font-size: 1.375rem;
  line-height: 1.1818181818;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .c-heading-vertical__ja {
    font-size: 2rem;
    line-height: 1.6875;
  }
}

.c-page-heading {
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .c-page-heading {
    margin-top: 11.25rem;
  }
}

.c-page-heading__title {
  font-size: 1.75rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .c-page-heading__title {
    font-size: 3.5rem;
    line-height: 1.59375;
  }
}

.c-bg-gradation {
  background: -webkit-gradient(linear, left top, left bottom, from(#FAF9E8), to(#FAF9E8));
  background: -webkit-linear-gradient(top, #FAF9E8 0%, #FAF9E8 100%);
  background: linear-gradient(180deg, #FAF9E8 0%, #FAF9E8 100%);
  position: relative;
  z-index: 0;
}

.p-top-services,
.p-top-customers-voice {
  position: relative;
  z-index: 0;
}
.p-top-services .c-bg__line,
.p-top-customers-voice .c-bg__line {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}

.p-top-customers-voice .c-bg__line {
  padding-top: 24.75rem;
}

.p-service-services,
.p-staff-content,
.p-voice-content,
.p-training-reasons,
.p-consulting-program,
.p-consulting-service {
  position: relative;
  z-index: 0;
}
.p-service-services .c-bg__line,
.p-staff-content .c-bg__line,
.p-voice-content .c-bg__line,
.p-training-reasons .c-bg__line,
.p-consulting-program .c-bg__line,
.p-consulting-service .c-bg__line {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.p-service-services .c-bg__line svg,
.p-staff-content .c-bg__line svg,
.p-voice-content .c-bg__line svg,
.p-training-reasons .c-bg__line svg,
.p-consulting-program .c-bg__line svg,
.p-consulting-service .c-bg__line svg {
  height: 100%;
}

.c-customers-voice__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__wrap {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: min(5.5555555556vw, 120px);
  }
}

.c-customers-voice__slider-btn {
  margin-top: 1.25rem;
  max-width: 30rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__slider-btn {
    max-width: 100%;
  }
}

.c-customers-voice__slider-btn-wrap {
  position: relative;
  z-index: 0;
  max-width: 190px;
  height: 3.75rem;
  gap: 1.25rem;
  padding-inline: 25px;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__slider-btn-wrap {
    padding-inline: 0;
  }
}

.c-customers-voice__slider {
  margin-top: 1.75rem;
  max-width: 30rem;
  margin-inline: auto;
  padding-inline: 25px;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__slider {
    max-width: 100%;
    margin-top: 3.75rem;
    padding-inline: 56px;
  }
}

.c-customers-voice__item {
  background-color: #fff;
  border-radius: 0.5rem;
  max-width: 20.3125rem;
  height: auto;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__item {
    max-width: 31.25rem;
    border-radius: 1rem;
  }
}

.c-customers-voice__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1.125rem 0 1.125rem 1.125rem;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__link {
    padding: min(1.9444444444vw, 28px) 0 min(1.9444444444vw, 28px) min(1.9444444444vw, 28px);
  }
}

.c-customers-voice__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.c-customers-voice__user {
  max-width: 11.75rem;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__user {
    max-width: 16rem;
  }
}

.c-customers-voice__img {
  border-radius: 0.5rem;
  overflow: hidden;
}

.c-customers-voice__img img {
  aspect-ratio: 240/158;
}

.c-customers-voice__company {
  margin-top: 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.6666666667;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__company {
    margin-top: 1.125rem;
    font-size: 1rem;
    line-height: 1.5555555556;
  }
}

.c-customers-voice__name {
  font-size: 0.8125rem;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__name {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
  }
}

.c-customers-voice__hush {
  margin-top: 1rem;
  font-size: 0.625rem;
  line-height: 1.6;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__hush {
    font-size: 0.75rem;
  }
}
.c-customers-voice__hush span {
  word-break: keep-all;
}

.c-customers-voice__item-voice {
  font-size: 0.875rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  line-height: 1.5;
  margin-block: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 40%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__item-voice {
    width: 45%;
    font-size: 1.25rem;
  }
}

.c-customers-voice__item-footer {
  text-align: center;
  padding-right: 1.125rem;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__item-footer {
    padding-right: 1.75rem;
  }
}

.c-customers-voice__item-more {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25rem;
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__item-more {
    gap: 0.375rem;
  }
}
.c-customers-voice__item-more::after {
  content: "";
  width: 0.625rem;
  height: 0.6875rem;
  background-image: url(../images/00_common/btn-readmore.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .c-customers-voice__item-more::after {
    width: 0.75rem;
    height: 0.875rem;
  }
}

.c-customers-voice__btn {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media (hover: hover) {
  .c-customers-voice__img img {
    -webkit-transition: -webkit-transform 0.6s ease;
    transition: -webkit-transform 0.6s ease;
    transition: transform 0.6s ease;
    transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
  .c-customers-voice__item:hover .c-customers-voice__link {
    opacity: 1;
  }
  .c-customers-voice__item:hover .c-customers-voice__img img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.c-relation-coutents__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-relation-coutents__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: min(8.3333333333vw, 120px);
  }
}

.c-relation-coutents__link {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.c-relation-coutents__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2.5rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-relation-coutents__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    max-width: 57.25rem;
  }
}

.c-relation-coutents__img {
  max-width: 24.25rem;
  height: auto;
  aspect-ratio: 388/244;
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: relative;
  z-index: 0;
  -webkit-transition: background-size 0.6s ease;
  transition: background-size 0.6s ease;
  will-change: background-size;
}

.c-relation-coutents__img img {
  aspect-ratio: 60/60;
}

.c-relation-coutents__link-btn {
  width: 3.75rem;
  height: 3.75rem;
  position: absolute;
  z-index: 0;
  right: 1rem;
  bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .c-relation-coutents__link-btn {
    right: 1.25rem;
    bottom: 1.25rem;
  }
}

.c-relation-coutents__link-default {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.c-relation-coutents__link-hover {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.c-relation-coutents__text {
  margin-top: 1.25rem;
  font-size: 1.25rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .c-relation-coutents__text {
    font-size: 1.5625rem;
  }
}

.c-relation-coutents__en-text {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .c-relation-coutents__en-text {
    margin-top: 0.3125rem;
    font-size: 1rem;
  }
}

@media (hover: hover) {
  .c-relation-coutents__link:hover {
    opacity: 1;
  }
}
@media screen and (hover: hover) and (min-width: 768px) {
  .c-relation-coutents__img:hover {
    background-size: 105% auto;
  }
}
@media (hover: hover) {
  .c-relation-coutents__img:hover .c-relation-coutents__link-hover {
    opacity: 1;
    visibility: visible;
  }
}
.c-contact-area {
  padding-block: 6.25rem;
}
@media screen and (min-width: 768px) {
  .c-contact-area {
    padding-block: 8.75rem;
  }
}

.c-contact-area__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-contact-area__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: min(4.8611111111vw, 112px);
    max-width: 1152px;
  }
}

.c-contact__blank {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
}

.c-contact__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.375rem;
  padding: 1.5rem 1.3125rem 1.5rem 1.5rem;
  border-radius: 0.5rem;
  background-color: #1B1D52;
}
@media screen and (min-width: 768px) {
  .c-contact__link {
    gap: min(0.9722222222vw, 14px);
    padding: min(1.9444444444vw, 28px) min(1.9444444444vw, 28px) min(1.9444444444vw, 28px) min(2.5vw, 36px);
  }
}

.c-contact__link + .c-contact__link {
  margin-top: 1.25rem;
}

.c-contact__heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1.4375;
  width: 120%;
}
@media screen and (min-width: 768px) {
  .c-contact__heading {
    font-size: 1.75rem;
    line-height: 1.5;
    width: auto;
  }
}

.c-contact__text {
  font-size: 0.9375rem;
  margin-top: 1rem;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .c-contact__text {
    font-size: 1rem;
    margin-top: 0.875rem;
    word-break: keep-all;
  }
}

.c-contact__icon {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  position: relative;
  z-index: 0;
  display: inline-block;
  width: 3.75rem;
  height: 3.875rem;
}
@media screen and (min-width: 768px) {
  .c-contact__icon {
    width: 4.5rem;
    height: 4.1875rem;
  }
}

.c-contact__icon-default {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.c-contact__icon-hover {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.c-contact__tel {
  margin-top: 1.75rem;
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .c-contact__tel {
    margin-top: 2.5rem;
    margin-right: -2em;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.c-contact__tel-num {
  display: block;
  font-size: 2rem;
  line-height: 1.75;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .c-contact__tel-num {
    display: inline-block;
    font-size: 3.375rem;
    line-height: 1;
    margin-left: min(1.6666666667vw, 24px);
  }
}

@media (hover: hover) {
  .c-contact__link {
    -webkit-transition: background-color 0.6s ease;
    transition: background-color 0.6s ease;
  }
  .c-contact__heading,
  .c-contact__text {
    -webkit-transition: color 0.6s ease;
    transition: color 0.6s ease;
  }
  .c-contact__link:hover {
    opacity: 1;
    background-color: #fff;
  }
  .c-contact__link:hover .c-contact__heading,
  .c-contact__link:hover .c-contact__text {
    color: #1B1D52;
  }
  .c-contact__link:hover .c-contact__icon-hover {
    opacity: 1;
    visibility: visible;
  }
}
.c-follow {
  margin-top: 2.25rem;
}
@media screen and (min-width: 768px) {
  .c-follow {
    margin-top: 0;
    max-width: 20.1875rem;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
}

.c-follow__heading {
  font-size: 2.25rem;
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
  border-bottom: 1px dashed #1B1D52;
}
@media screen and (min-width: 768px) {
  .c-follow__heading {
    line-height: 1;
    font-size: 3.5rem;
  }
}

.c-follow__items {
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .c-follow__items {
    margin-top: 2.5rem;
  }
}

.c-follow__item + .c-follow__item {
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .c-follow__item + .c-follow__item {
    margin-top: 1.875rem;
  }
}

.c-follow__link {
  position: relative;
  z-index: 0;
  font-size: 1rem;
  line-height: 1.5;
  gap: 0.625rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .c-follow__link {
    font-size: 1.75rem;
    line-height: 1.4285714286;
    gap: 1.125rem;
  }
}
.c-follow__link::after {
  content: "";
  display: inline-block;
  width: 0.75rem;
  height: 0.875rem;
  background-image: url(../images/00_common/icon-blank-nb.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .c-follow__link::after {
    width: 1.125rem;
    height: 1.625rem;
  }
}

.c-breadcrumb {
  font-size: 0.875rem;
  gap: 0.25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .c-breadcrumb {
    gap: 0.5rem;
  }
}
.c-breadcrumb span {
  display: inline-block;
}

.c-breadcrumb__arrow {
  width: 6px;
  height: 3px;
  background-image: url(../images/00_common/btn-arrow-tri-nb.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

/* ===============================================
# 404
=============================================== */
.c-404 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
  font-weight: 400;
}

.c-404__404 {
  font-size: 3rem;
}
@media screen and (min-width: 768px) {
  .c-404__404 {
    font-size: 7.5rem;
  }
}

.c-404__text {
  font-size: 1rem;
}

.c-404__btn {
  margin-top: 2.5rem;
  margin-inline: auto;
}

/* ===============================================
# Infinite Scroll
=============================================== */
.c-infinite-scroll {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 1.875rem;
  margin-inline: auto;
}

.c-infinite-scroll__status {
  margin-top: 2.5rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-infinite-scroll__request {
  display: block;
  -webkit-animation: scrollRequest 1s infinite linear;
          animation: scrollRequest 1s infinite linear;
  border: 0.25rem solid #1B1D52;
  border-left: 0.25rem solid transparent;
  border-radius: 50%;
  height: 2rem;
  width: 2rem;
  margin-inline: auto;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@-webkit-keyframes scrollRequest {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes scrollRequest {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.c-infinite-scroll__last {
  color: #333;
  text-align: center;
  text-transform: capitalize;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

/* ============================ */
/*  infinite scrollの為のスタイル */
/* ============================ */
.c-infinite-scroll__last,
.c-infinite-scroll__request {
  display: none;
}

.p-top-fv {
  overflow: hidden;
}

.p-top-fv__inner {
  position: relative;
  z-index: 0;
  margin-inline: auto;
  max-width: 37.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-fv__inner {
    max-width: 1552px;
    max-height: 48rem;
  }
}

.p-top-fv__movie {
  margin-top: 11.25rem;
  margin-inline: calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .p-top-fv__movie {
    height: min(53.4722222222vw, 770px);
    margin-top: min(13.8888888889vw, 200px);
    margin-inline: unset;
  }
}

.p-top-fv__movie-inner {
  display: block;
  height: 100%;
  width: 125%;
  margin-inline: auto;
  -webkit-transform: translate(-16%, 0%);
          transform: translate(-16%, 0%);
}
@media screen and (min-width: 420px) {
  .p-top-fv__movie-inner {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}
@media screen and (min-width: 768px) {
  .p-top-fv__movie-inner {
    margin-inline: auto 0;
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}

.p-top-fv__movie video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
          filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
  outline: none;
  border: none;
}

.p-top-fv__catch {
  position: absolute;
  top: -6.875rem;
  left: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-fv__catch {
    top: min(2.7777777778vw, 40px);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    max-width: 1440px;
    padding-left: min(8.3333333333vw, 120px);
  }
}

.p-top-fv__text {
  font-size: min(11.9444444444vw, 48px);
  overflow: hidden;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .p-top-fv__text {
    font-size: min(6.5277777778vw, 94px);
  }
}

.p-top-fv__text span {
  display: inline-block;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.p-top-fv__text span:nth-of-type(1) {
  background-image: -webkit-gradient(linear, left top, right top, from(#b4903a), to(#bc8b70));
  background-image: -webkit-linear-gradient(left, #b4903a, #bc8b70);
  background-image: linear-gradient(90deg, #b4903a, #bc8b70);
}

.p-top-fv__text span:nth-of-type(2) {
  background-image: -webkit-gradient(linear, left top, right top, from(#bc8b70), to(#c78ea7));
  background-image: -webkit-linear-gradient(left, #bc8b70, #c78ea7);
  background-image: linear-gradient(90deg, #bc8b70, #c78ea7);
  margin-left: -0.4em;
}

.p-top-fv__text span:nth-of-type(3) {
  background-image: -webkit-gradient(linear, left top, right top, from(#c78ea7), to(#b35abd));
  background-image: -webkit-linear-gradient(left, #c78ea7, #b35abd);
  background-image: linear-gradient(90deg, #c78ea7, #b35abd);
  margin-left: -0.4em;
}

.p-top-fv__text span:nth-of-type(4) {
  background-image: -webkit-gradient(linear, left top, right top, from(#b35abd), to(#9c7bc4));
  background-image: -webkit-linear-gradient(left, #b35abd, #9c7bc4);
  background-image: linear-gradient(90deg, #b35abd, #9c7bc4);
  margin-left: -0.4em;
}

.p-top-fv__text span:nth-of-type(5) {
  background-image: -webkit-gradient(linear, left top, right top, from(#9c7bc4), to(#47b5cd));
  background-image: -webkit-linear-gradient(left, #9c7bc4, #47b5cd);
  background-image: linear-gradient(90deg, #9c7bc4, #47b5cd);
  margin-left: -0.4em;
}

.p-top-fv__text--fzS {
  font-size: 0.7em;
  line-height: 1.3;
}

.p-top-fv__news {
  width: 19.0625rem;
  background-color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 1.375rem 1.375rem 1.375rem 1.875rem;
  border-radius: 1rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-top-fv__news {
    width: min(29.1666666667vw, 340px);
    position: absolute;
    margin-top: 0;
    top: min(33.3333333333vw, 600px);
    left: min(8.3333333333vw, 120px);
  }
}

.p-top-fv__news-head {
  font-size: 1rem;
  line-height: 1.125;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-weight: 500;
  padding-right: 1.375rem;
}
@media screen and (min-width: 768px) {
  .p-top-fv__news-head {
    font-size: 1.125rem;
    line-height: 1.1111111111;
  }
}

.p-top-fv__news-body {
  position: relative;
  z-index: 0;
  padding-left: 1.375rem;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
.p-top-fv__news-body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1px;
  height: 80%;
  background-color: #1B1D52;
}

.p-top-fv__news-date {
  display: block;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}

.p-top-fv__news-content {
  font-size: 0.9375rem;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-top-fv__news-content {
    font-size: 1rem;
  }
}

@media (hover: hover) {
  .p-top-fv__news:hover {
    opacity: 1;
    visibility: visible;
  }
  .p-top-fv__news:hover .p-top-fv__news-body {
    opacity: 0.7;
  }
}
.p-top-message.pin-spacer {
  pointer-events: none;
}

.p-top-message__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-top-message__container {
    padding-top: 14.1875rem;
    padding-bottom: 22.5rem;
  }
}

.p-top-message__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-top-message__heading {
  font-size: 2rem;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-top-message__heading {
    font-size: 2.625rem;
  }
}

.p-top-message__text {
  margin-top: 2rem;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-top-message__text {
    font-size: 1rem;
    margin-top: 3.75rem;
  }
}

.p-top-message__btn {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-top-message__btn {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.p-top-message__anim {
  opacity: 0.05;
  width: 20rem;
  position: absolute;
  top: 20%;
  right: -20%;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-top-message__anim {
    opacity: 1;
    width: 23.25rem;
    right: 10%;
  }
}

.p-top-we-do__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-top-we-do__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-top-we-do__lead {
  font-size: 0.9375rem;
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-we-do__lead {
    font-size: 1rem;
  }
}

.p-top-we-do__btns {
  margin-top: 2.5rem;
  width: 20rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-we-do__btns {
    margin-top: 0;
  }
}

.p-top-we-do__btn {
  width: 100%;
}

.p-top-philosophy {
  padding-block: 3.75rem 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-philosophy {
    padding-block: 6.6875rem 7.5rem;
  }
}

.p-top-service {
  padding-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-service {
    padding-top: 8.75rem;
  }
}

.p-top-service__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-service__link {
    gap: min(8.3333333333vw, 120px);
  }
}

.p-top-service__body {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-top-service__body {
    max-width: 57.875rem;
  }
}

.p-top-service__img {
  height: 15.25rem;
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
  background-image: url(../images/01_top/bg-service.jpg);
  background-position: center top 45%;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 0;
  -webkit-transition: height 0.6s ease;
  transition: height 0.6s ease;
  will-change: height;
}
@media screen and (min-width: 768px) {
  .p-top-service__img {
    height: 15.75rem;
  }
}

.p-top-service__img img {
  aspect-ratio: 60/60;
}

.p-top-service__link-btn {
  width: 3.75rem;
  height: 3.75rem;
  position: absolute;
  z-index: 0;
  right: 1rem;
  bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-service__link-btn {
    right: 1.25rem;
    bottom: 1.25rem;
  }
}

.p-top-service__link-default {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.p-top-service__link-hover {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

@media screen and (hover: hover) and (min-width: 768px) {
  .p-top-service__link:hover .p-top-service__img {
    height: 21.25rem;
  }
}
@media (hover: hover) {
  .p-top-service__link:hover .p-top-service__img .p-top-service__link-hover {
    opacity: 1;
    visibility: visible;
  }
}
.p-top-company {
  margin-top: 3.75rem;
  padding-bottom: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-company {
    margin-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
}

.p-top-company__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (min-width: 768px) {
  .p-top-company__link {
    gap: min(8.3333333333vw, 120px);
  }
}

.p-top-company__body {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-top-company__body {
    max-width: 57.875rem;
  }
}

.p-top-company__img {
  height: 15.25rem;
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
  background-image: url(../images/01_top/bg-company.jpg);
  background-position: center top 45%;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 0;
  -webkit-transition: height 0.6s ease;
  transition: height 0.6s ease;
  will-change: height;
}
@media screen and (min-width: 768px) {
  .p-top-company__img {
    height: 15.75rem;
  }
}

.p-top-company__img img {
  aspect-ratio: 60/60;
}

.p-top-company__link-btn {
  width: 3.75rem;
  height: 3.75rem;
  position: absolute;
  z-index: 0;
  right: 1rem;
  bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-company__link-btn {
    right: 1.25rem;
    bottom: 1.25rem;
  }
}

.p-top-company__link-default {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.p-top-company__link-hover {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

@media screen and (hover: hover) and (min-width: 768px) {
  .p-top-company__link:hover .p-top-company__img {
    height: 21.25rem;
  }
}
@media (hover: hover) {
  .p-top-company__link:hover .p-top-company__link-hover {
    opacity: 1;
    visibility: visible;
  }
}
.p-top-services {
  background-color: #1B1D52;
  padding-block: 6.25rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-top-services {
    padding-block: 8.375rem;
  }
}

.p-top-services__heading {
  color: #fff;
}

.p-top-services__slider-btn {
  margin-top: 1.25rem;
  max-width: 30rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-top-services__slider-btn {
    max-width: 100%;
  }
}

.p-top-services__slider-btn-wrap {
  position: relative;
  z-index: 0;
  max-width: 140px;
  height: 3.75rem;
  gap: 1.25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-top-services__slider-btn-wrap {
    max-width: 190px;
  }
}

.p-top-services__wrap {
  margin-inline: calc(50% - 50vw);
  padding-inline: calc(50vw - 50%);
}

.p-top-services__items {
  counter-reset: servicesNum 0;
  padding-top: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-top-services__items {
    padding-top: 3.75rem;
  }
}

.p-top-services__item {
  counter-increment: servicesNum 1;
  border-radius: 0.5rem;
  height: auto;
  max-width: 16.625rem;
  width: 100%;
  position: relative;
  z-index: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#F6E6CC), to(#E8F0FF));
  background: -webkit-linear-gradient(top, #F6E6CC 0%, #E8F0FF 100%);
  background: linear-gradient(180deg, #F6E6CC 0%, #E8F0FF 100%);
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-top-services__item {
    max-width: 20.25rem;
  }
}

.p-top-services__item-bg {
  background-color: #fff;
  border-radius: 0.5rem;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: -1;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.p-top-services__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
  padding: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-services__link {
    padding: 1.75rem;
  }
}

.p-top-services__item-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 0.9375rem;
  line-height: 1.5714285714;
}
.p-top-services__item-head::after {
  content: counter(servicesNum, decimal-leading-zero);
  font-size: 2rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-top-services__item-head::after {
    font-size: 2.8125rem;
  }
}
@media screen and (min-width: 768px) {
  .p-top-services__item-head {
    font-size: 1.125rem;
    line-height: 1.5555555556;
  }
}

.p-top-services__item-catch {
  padding-top: 1.375rem;
  height: 13.75rem;
  font-size: 1.375rem;
  line-height: 1.5;
  margin-block: auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-services__item-catch {
    padding-top: 1.75rem;
    font-size: 1.75rem;
    height: 17.75rem;
  }
}
.p-top-services__item-catch span {
  display: inline-block;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-align: left;
}

.p-top-services__item-body {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.p-top-services__item-more {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.375rem;
  font-size: 0.9375rem;
  margin-top: 1rem;
}
.p-top-services__item-more::after {
  content: "";
  width: 0.625rem;
  height: 0.6875rem;
  background-image: url(../images/00_common/btn-readmore.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p-top-services__item-more::after {
    width: 0.75rem;
    height: 0.875rem;
  }
}

@media (hover: hover) {
  .p-top-services__item:hover {
    -webkit-transform: translateY(-1.5rem);
            transform: translateY(-1.5rem);
  }
  .p-top-services__item:hover .p-top-services__link {
    opacity: 1;
  }
  .p-top-services__item:hover .p-top-services__item-bg {
    opacity: 0;
    visibility: hidden;
  }
}
.p-top-customers {
  padding-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-customers {
    padding-top: 8.75rem;
  }
}

.p-top-customers__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: min(8.3333333333vw, 120px);
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.p-top-customers__body {
  height: auto;
  margin-left: calc(50% - 50vw);
  border-radius: 0 1rem 1rem 0;
  overflow: hidden;
  background-color: #fff;
  padding-block: 1rem 1.5625rem;
}
@media screen and (min-width: 768px) {
  .p-top-customers__body {
    padding-block: 2.8125rem;
  }
}

.p-top-customers__scroll {
  overflow: hidden;
}
.p-top-customers__scroll .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.p-top-customers__scroll + .p-top-customers__scroll {
  margin-top: 1.8125rem;
}

.p-top-customers__items {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  list-style: none;
  padding: 0;
  width: 200%;
}

.p-top-customers__item {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 100%;
  max-width: 7.5rem;
  padding-inline: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-customers__item {
    max-width: 9.375rem;
  }
}

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

.p-top-voice {
  padding-top: 3.75rem;
  padding-bottom: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-voice {
    padding-top: 6.25rem;
    padding-bottom: 8.75rem;
  }
}

.p-top-horizontal {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-horizontal {
    padding-top: 9.375rem;
    padding-bottom: 8.75rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top-horizontal__inner {
    display: grid;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
  }
}

.p-top-post {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-top-post {
    height: 36.9375rem;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-top-post + .p-top-post {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-post + .p-top-post {
    margin-top: 0;
  }
}

.p-top-post__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-post__wrap {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: min(5.5555555556vw, 90px);
  }
}

.p-top-post__body {
  width: 100%;
  max-width: 74.7692307692%;
}
@media screen and (min-width: 768px) {
  .p-top-post__body {
    max-width: 20rem;
  }
}

.p-top-post__item {
  border-bottom: 1px dashed #1B1D52;
  position: relative;
  z-index: 0;
}

.p-top-post__item + .p-top-post__item {
  margin-top: 1.5rem;
}

@media screen and (min-width: 768px) {
  .p-top-post__item-bg {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0.5rem;
    background: -webkit-gradient(linear, left top, left bottom, from(#F6E6CC), to(#E8F0FF));
    background: -webkit-linear-gradient(top, #F6E6CC 0%, #E8F0FF 100%);
    background: linear-gradient(180deg, #F6E6CC 0%, #E8F0FF 100%);
    opacity: 0;
    visibility: hidden;
    -webkit-filter: blur(8px);
            filter: blur(8px);
    will-change: filter;
    -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
    transition: opacity 0.6s ease, visibility 0.6s ease;
  }
}

@media (hover: hover) {
  .p-top-post__item:hover .p-top-post__link {
    opacity: 1;
  }
  .p-top-post__item:hover .p-top-post__item-bg {
    opacity: 1;
    visibility: visible;
  }
}
.p-top-post__link {
  display: block;
  padding-bottom: 2rem;
  height: 100%;
  min-height: 8.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-post__link {
    padding-bottom: 1.25rem;
  }
}

.p-top-post__date {
  display: block;
  font-size: 0.875rem;
  line-height: 1.6153846154;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}

.p-top-post__content {
  margin-top: 0.9375rem;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 0;
}
@media screen and (min-width: 768px) {
  .p-top-post__content {
    margin-top: 0.6875rem;
    -webkit-line-clamp: 3;
  }
}

.p-top-post__btn {
  margin-top: 2.5rem;
  width: 20rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-top-post__btn {
    margin-inline: auto 0;
  }
}

.p-top-post__empty {
  font-size: 0.875rem;
  padding-block: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-post__empty {
    font-size: rm(16);
  }
}

@media screen and (min-width: 768px) {
  .p-top-recruit {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0.4))), url(../images/01_top/bg-recruit.jpg);
    background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.4)), url(../images/01_top/bg-recruit.jpg);
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.4)), url(../images/01_top/bg-recruit.jpg);
    background-position: center top 45%;
    background-repeat: no-repeat;
    background-size: 105%;
    -webkit-transition: background-size 0.6s ease;
    transition: background-size 0.6s ease;
  }
}

.p-top-recruit__link {
  position: relative;
  z-index: 0;
  display: block;
}

.p-top-recruit__bg-grade {
  background: -webkit-gradient(linear, left top, left bottom, from(#F6E6CC), to(#E8F0FF));
  background: -webkit-linear-gradient(top, #F6E6CC 0%, #E8F0FF 100%);
  background: linear-gradient(180deg, #F6E6CC 0%, #E8F0FF 100%);
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 0;
}

.p-top-recruit__inner {
  text-align: center;
  padding-block: 3.375rem;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-top-recruit__inner {
    text-align: left;
    padding-block: 4.5rem;
  }
}

.p-top-recruit__heading {
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-top-recruit__heading {
    font-size: 7.25rem;
  }
}

.p-top-recruit__lead {
  font-size: 1.375rem;
  line-height: 1.4545454545;
  margin-top: 1.375rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-top-recruit__lead {
    margin-top: 2rem;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.p-top-recruit__blank {
  display: inline-block;
  width: 1.125rem;
  height: 1.375rem;
  margin-left: 0.875rem;
  position: relative;
  z-index: 0;
}

.p-top-recruit__blank-default {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.p-top-recruit__blank-hover {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}

.p-top-recruit__link-btn {
  display: block;
  width: 5rem;
  margin-inline: auto;
  height: 5rem;
  margin-top: 4rem;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-top-recruit__link-btn {
    margin-top: 0;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
  }
}

@media screen and (min-width: 768px) {
  .p-top-recruit__link-default {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.p-top-recruit__link-hover {
  display: block;
  width: inherit;
  height: inherit;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}

@media (hover: hover) {
  .p-top-recruit__bg-grade,
  .p-top-recruit__link-hover,
  .p-top-recruit__blank-hover {
    -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
    transition: opacity 0.6s ease, visibility 0.6s ease;
  }
  .p-top-recruit__heading,
  .p-top-recruit__lead {
    -webkit-transition: color 0.6s ease;
    transition: color 0.6s ease;
  }
  .p-top-recruit:hover {
    background-size: 100%;
  }
  .p-top-recruit:hover .p-top-recruit__bg-grade {
    opacity: 0;
    visibility: hidden;
  }
  .p-top-recruit:hover .p-top-recruit__heading,
  .p-top-recruit:hover .p-top-recruit__lead {
    color: #fff;
  }
  .p-top-recruit:hover .p-top-recruit__blank-hover,
  .p-top-recruit:hover .p-top-recruit__link-hover {
    opacity: 1;
    visibility: visible;
  }
  .p-top-recruit__link:hover {
    opacity: 1;
    visibility: visible;
  }
}
.p-about-fv {
  padding-bottom: 3.75rem;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-about-fv {
    padding-bottom: 7.5rem;
  }
}

.p-about-fv__bg {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 36.3125rem;
  display: block;
  width: 100%;
  z-index: -1;
  -webkit-filter: blur(40px);
          filter: blur(40px);
  opacity: 0.8;
  will-change: filter;
}
@media screen and (min-width: 768px) {
  .p-about-fv__bg {
    height: 29rem;
  }
}

.p-about-fv__container {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-fv__container {
    padding-inline: 2.5rem;
  }
}

.p-about-fv__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.75rem;
  margin-top: 2.5rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-about-fv__content {
    margin-top: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-about-fv__gradation {
  position: absolute;
  display: block;
  width: 99vw;
  height: 15rem;
  right: 2.5rem;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  z-index: -1;
  border-radius: 0 0.5rem 0.5rem 0;
}
@media screen and (min-width: 768px) {
  .p-about-fv__gradation {
    height: 21.9375rem;
    right: 10.9375rem;
    border-radius: 0 1rem 1rem 0;
  }
}

.p-about-fv__catch {
  margin-top: 1.5rem;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-about-fv__catch {
    margin-top: 3.125rem;
    margin-left: -0.5em;
  }
}

.p-about-fv__text {
  font-size: 3rem;
  overflow: hidden;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .p-about-fv__text {
    font-size: 4rem;
  }
}

.p-about-fv__lead {
  margin-top: 1.25rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-about-fv__lead {
    margin-top: 2.5rem;
    font-size: 1rem;
    word-break: keep-all;
  }
}

.p-about-vis {
  overflow: hidden;
  height: 22.5rem;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-about-vis {
    height: 28.4375rem;
  }
}

.p-about-vis__inner {
  -webkit-transform-origin: center center;
          transform-origin: center center;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-70%, -100%) rotate(-30deg);
          transform: translate(-70%, -100%) rotate(-30deg);
  width: 120%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .p-about-vis__inner {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    -webkit-transform: translate(-63%, -100%) rotate(-30deg);
            transform: translate(-63%, -100%) rotate(-30deg);
    width: 105%;
  }
}

.p-about-vis__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
.p-about-vis__items:nth-of-type(1) {
  -webkit-transform: translateY(-20%);
          transform: translateY(-20%);
}
.p-about-vis__items:nth-of-type(2) {
  -webkit-transform: translateY(-20%);
          transform: translateY(-20%);
}
.p-about-vis__items:nth-of-type(3) {
  -webkit-transform: translateY(-20%);
          transform: translateY(-20%);
}
@media screen and (min-width: 768px) {
  .p-about-vis__items {
    gap: 2rem;
  }
}

.p-about-vis__item {
  overflow: hidden;
  border-radius: 1rem;
}
.p-about-vis__item img {
  aspect-ratio: 469/317;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}
.p-about-mission {
  padding-top: 6.25rem;
  padding-bottom: 5rem;
  position: relative;
  z-index: 0;
  max-width: 1440px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-about-mission {
    padding-top: 8.75rem;
    padding-bottom: 10.75rem;
  }
}
.p-about-mission .c-bg-line-page {
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 10%);
          transform: translate(-50%, 10%);
  width: 100%;
  height: 100%;
}
.p-about-mission .c-bg-line-page svg {
  position: absolute;
  bottom: 0;
  width: 100%;
}

.p-about-mission__catch {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-mission__catch {
    margin-top: 3.125rem;
  }
}

.p-about-mission__text {
  font-size: 1.75rem;
  overflow: hidden;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .p-about-mission__text {
    font-size: 3rem;
  }
}

.p-about-mission__lead {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-about-mission__lead {
    margin-top: 2.5rem;
    font-size: 1.125rem;
  }
}

.p-about-value {
  margin-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .p-about-value {
    margin-top: 13.75rem;
    padding-bottom: 10.75rem;
  }
}

.p-about-value__heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-about-value__heading {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-about-value__lead {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-about-value__lead {
    font-size: 0.9375rem;
    width: 50%;
    margin-left: auto;
  }
}

.p-about-value__items {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  counter-reset: Num 0;
}
@media screen and (min-width: 768px) {
  .p-about-value__items {
    margin-top: 5rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.25rem;
  }
}

.p-about-value__item {
  position: relative;
  z-index: 0;
  counter-increment: Num 1;
}
.p-about-value__item::before {
  content: counter(Num, decimal-leading-zero);
  position: absolute;
  top: 2rem;
  left: 0;
  font-size: 1.375rem;
  line-height: 1.4545454545;
  z-index: 2;
}

.p-about-value__img {
  width: 100%;
  margin-top: 0;
  position: relative;
  z-index: 0;
  -webkit-filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
          filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
  outline: none;
  border: none;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-about-value__img {
    margin-top: 1.875rem;
  }
}
.p-about-value__img img {
  aspect-ratio: 312/180;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-about-value__head {
  margin-top: 1.125rem;
  font-size: 1.125rem;
  line-height: 1.6;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-about-value__head {
    font-size: min(2.0833333333vw, 24px);
  }
}

.p-about-value__text {
  margin-top: 0.75rem;
  font-size: 0.9375rem;
}

.p-about-voice {
  padding-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-about-voice {
    padding-top: 8.75rem;
  }
}

.p-about-relations {
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-about-relations {
    padding-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
}

.p-approach-fv {
  padding-bottom: 6.25rem;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-approach-fv {
    padding-bottom: 10.25rem;
  }
}

.p-approach-fv__container {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .p-approach-fv__container {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-approach-fv__vis {
  width: 100%;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-approach-fv__vis {
    margin-left: min(4.6527777778vw, 67px);
  }
}

.p-approach-fv__gradation {
  position: absolute;
  display: block;
  width: 99vw;
  top: 3.75rem;
  left: 2.5rem;
  border-radius: 0.5rem 0 0 0.5rem;
  height: 95%;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-approach-fv__gradation {
    height: min(24.3055555556vw, 350px);
    top: 50%;
    left: 4.5rem;
    top: 4.5rem;
    border-radius: 1rem 0 0 1rem;
  }
}

.p-approach-fv__img {
  width: 100%;
  margin-inline: auto;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-approach-fv__img {
    width: min(30.2777777778vw, 436px);
    margin-inline: 0 auto;
    margin-top: 0;
  }
}

.p-approach-fv__img img {
  aspect-ratio: 436/290;
  border-radius: 1rem;
}
.p-approach-fv__lead {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-approach-fv__lead {
    margin-top: 2.5rem;
    font-size: 1.125rem;
  }
}

.p-approach-about {
  background-color: #1B1D52;
  padding-block: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-approach-about {
    padding-block: 8.75rem;
  }
}

.p-approach-about__heading {
  font-size: 1.125rem;
  line-height: 1.4444444444;
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1rem;
  color: #fff;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (min-width: 768px) {
  .p-approach-about__heading {
    font-size: 1.75rem;
    line-height: 1.6071428571;
    gap: 2rem;
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}

.p-approach-about__heading-num {
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-approach-about__heading-num {
    font-size: 1.375rem;
  }
}

.p-approach-about__body {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 768px) {
  .p-approach-about__body {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}

.p-approach-about__item + .p-approach-about__item {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-approach-about__item + .p-approach-about__item {
    margin-top: 5rem;
  }
}

.p-approach-about__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-approach-about__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 3.75rem;
  }
}

.p-approach-about__mind {
  background-color: #fff;
  border-radius: 1rem;
  padding: 1.25rem;
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .p-approach-about__mind {
    padding: 2.25rem;
    margin-top: 5rem;
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-approach-about__mind-img {
  margin-top: 1.25rem;
}
.p-approach-about__mind-img img {
  aspect-ratio: 275/370;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-approach-about__mind-img {
    margin-right: 3.125rem;
    margin-top: 0;
  }
  .p-approach-about__mind-img img {
    aspect-ratio: 425/353;
  }
}

.p-approach-about__mind-wrap {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-approach-about__mind-wrap {
    margin-top: 0;
  }
}

.p-approach-about__mind-head {
  font-size: 1.125rem;
  line-height: 1.2727272727;
}
@media screen and (min-width: 768px) {
  .p-approach-about__mind-head {
    font-size: 1.375rem;
  }
}

.p-approach-about__mind-text {
  font-size: 0.9375rem;
  font-weight: 500;
  margin-top: 1.875rem;
}
.p-approach-about__texts {
  font-size: 0.9375rem;
  font-weight: 500;
  color: #fff;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-approach-about__texts {
    display: block;
  }
}

.p-approach-about__text {
  margin-top: 1.5rem;
}

.p-approach-about__img {
  width: 100%;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 768px) {
  .p-approach-about__img {
    width: 25.4375rem;
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}

.p-approach-about__img--rainbow {
  margin-top: -2.5rem;
}
@media screen and (min-width: 768px) {
  .p-approach-about__img--rainbow {
    margin-top: 0;
  }
}

.p-approach-about__img--rainbow img {
  aspect-ratio: 407/275;
}

.p-approach-about__img--flow picture {
  display: block;
}

.p-approach-about__img--flow img {
  aspect-ratio: 325/350;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-approach-about__img--flow img {
    aspect-ratio: 407/423;
  }
}

.p-approach-about__img--rainbow {
  overflow: hidden;
}
.p-approach-about__img--rainbow img {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.p-approach-origin {
  padding-block: 4.375rem;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-approach-origin {
    padding-block: 8.75rem;
  }
}

.p-approach-origin__head {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-top: 1.875rem;
  font-size: 1.125rem;
  line-height: 1.4444444444;
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-approach-origin__head {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    padding-top: 6.25rem;
    font-size: 1.5625rem;
    line-height: 1.8;
    gap: 1.5rem;
  }
}

.p-approach-origin__head-num {
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-approach-origin__head-num {
    font-size: 1.375rem;
    line-height: 2.0454545455;
  }
}

.p-approach-origin__item {
  padding-bottom: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-approach-origin__item {
    padding-bottom: 5rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-approach-origin__item:first-of-type {
  border-bottom: 1px dashed #1B1D52;
}

.p-approach-origin__body {
  width: 100%;
  padding-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-approach-origin__body {
    max-width: 52%;
    padding-top: 6.25rem;
  }
}

.p-approach-origin__text {
  font-size: 0.9375rem;
  font-weight: 500;
}

.p-approach-origin__text + .p-approach-origin__text {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-approach-origin__text + .p-approach-origin__text {
    margin-top: 1.875rem;
  }
}

.p-approach-origin__thought {
  background-color: #fff;
  border-radius: 1rem;
  padding: 1.25rem;
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .p-approach-origin__thought {
    padding: 2.5rem;
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-approach-origin__thought-wrap {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-approach-origin__thought-wrap {
    display: block;
  }
}

.p-approach-origin__thought-head {
  font-size: 1.375rem;
  line-height: 1.2727272727;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (min-width: 768px) {
  .p-approach-origin__thought-head {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}

.p-approach-origin__thought-body {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 768px) {
  .p-approach-origin__thought-body {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}

.p-approach-origin__thought-text {
  margin-top: 1.5rem;
  font-size: 0.9375rem;
}

.p-approach-origin__thought-logo {
  width: 16.3125rem;
  margin-inline: auto;
  margin-top: 2.5rem;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 768px) {
  .p-approach-origin__thought-logo {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    width: 18.5rem;
    margin-top: 0;
  }
}
.p-approach-origin__thought-logo img {
  aspect-ratio: 296/65;
}

.p-approach-relations {
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-approach-relations {
    padding-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
}

.p-company-voice {
  padding-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-company-voice {
    padding-top: 8.75rem;
  }
}

.p-company-relations {
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-company-relations {
    padding-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
}

.p-conmpany-message {
  overflow: hidden;
}

.p-conmpany-message__container {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
  padding-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-conmpany-message__container {
    margin-top: 5rem;
    grid-template-columns: repeat(2, 1fr);
    padding-bottom: 2.25rem;
  }
}

.p-conmpany-message__content {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-conmpany-message__content {
    display: block;
  }
}

.p-conmpany-message__catch {
  margin-top: 1.5rem;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 768px) {
  .p-conmpany-message__catch {
    margin-top: 3.125rem;
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}

.p-conmpany-message__text {
  font-size: 1.25rem;
  overflow: hidden;
  line-height: 1.3;
  word-break: auto-phrase;
}
@media screen and (min-width: 768px) {
  .p-conmpany-message__text {
    font-size: 2rem;
  }
}

.p-conmpany-message__vis {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
  width: 100%;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-conmpany-message__vis {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    margin-left: min(4.6527777778vw, 67px);
  }
}

.p-conmpany-message__gradation {
  position: absolute;
  display: block;
  width: 99vw;
  height: min(55.5555555556vw, 296px);
  top: 3.125rem;
  left: 2.5rem;
  border-radius: 0.5rem 0 0 0.5rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-conmpany-message__gradation {
    top: 10%;
    height: 20.25rem;
    left: 4.5rem;
    border-radius: 1rem 0 0 1rem;
  }
}

.p-conmpany-message__img {
  width: 100%;
  margin-inline: auto;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-conmpany-message__img {
    width: 27.25rem;
    margin-inline: 0 auto;
    margin-top: 8.125rem;
  }
}

.p-conmpany-message__img img {
  aspect-ratio: 436/290;
  border-radius: 1rem;
}

.p-conmpany-message__lead {
  margin-top: 1.25rem;
  font-size: 0.9375rem;
  -webkit-box-ordinal-group: 5;
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4;
}
@media screen and (min-width: 768px) {
  .p-conmpany-message__lead {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    margin-top: 2.5rem;
    font-size: 1rem;
  }
}

.p-conmpany-message__info {
  margin-top: 1.5rem;
}
.p-conmpany-message__ceo {
  font-size: 0.9375rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-conmpany-message__ceo {
    font-size: 1rem;
  }
}

.p-conmpany-message__name {
  display: block;
  font-weight: 500;
  font-size: 1.75rem;
  line-height: 1.6111111111;
}
@media screen and (min-width: 768px) {
  .p-conmpany-message__name {
    font-size: 2.25rem;
  }
}

.p-conmpany-message__name-en {
  font-size: 0.875rem;
  margin-left: 1rem;
}
@media screen and (min-width: 768px) {
  .p-conmpany-message__name-en {
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
}

.p-conmpany-message__link {
  font-size: 0.875rem;
  margin-top: 0.25rem;
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.5rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
@media screen and (min-width: 768px) {
  .p-conmpany-message__link {
    font-size: 1rem;
  }
}

.p-conmpany-message__btn {
  margin-top: 2.5rem;
  -webkit-box-ordinal-group: 6;
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5;
}
@media screen and (min-width: 768px) {
  .p-conmpany-message__btn {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}

.p-conmpany-value {
  padding-block: 4.375rem;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-conmpany-value {
    padding-block: 8.75rem;
  }
}

.p-conmpany-value__container {
  background-color: #fff;
  border-radius: 0.875rem;
  padding: 1.25rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-conmpany-value__container {
    border-radius: 1rem;
    padding: 3.75rem;
  }
}

.p-conmpany-value__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-bottom: 1.25rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-conmpany-value__items {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    border-bottom: 1px solid rgba(27, 29, 82, 0.15);
  }
}
.p-conmpany-value__items:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.p-conmpany-value__items + .p-conmpany-value__items {
  margin-top: 1.25rem;
}

.p-conmpany-value__head {
  width: 11.25rem;
  font-weight: 400;
}

.p-conmpany-value__body {
  padding-left: 1em;
  font-weight: 400;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 768px) {
  .p-conmpany-value__body {
    padding-left: 0;
  }
}

.p-conmpany-value__body-items {
  margin-top: 1em;
}

.p-conmpany-value__body--access {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-conmpany-value__body--access {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-conmpany-value__map {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.p-conmpany-value__map-pin {
  display: inline-block;
  width: 1.5rem;
}
.p-conmpany-value__map-pin img {
  aspect-ratio: 24/24;
}

.p-conmpany-value__map-text {
  font-size: 0.9375rem;
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

.p-conmpany-history {
  background-color: #1B1D52;
  padding-block: 6.25rem;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-conmpany-history {
    padding-block: 8.375rem;
  }
}

.p-conmpany-history__heading {
  color: #fff;
}

.p-conmpany-history__slider-btn {
  margin-top: 1.25rem;
  max-width: 30rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-conmpany-history__slider-btn {
    max-width: 100%;
  }
}

.p-conmpany-history__slider-btn-wrap {
  position: relative;
  z-index: 0;
  max-width: 140px;
  height: 3.75rem;
  gap: 1.25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-conmpany-history__slider-btn-wrap {
    max-width: 190px;
  }
}

.p-conmpany-history__wrap {
  margin-inline: calc(50% - 50vw);
  padding-inline: calc(50vw - 50%);
}

.p-conmpany-history__items {
  padding-top: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-conmpany-history__items {
    padding-top: 3.75rem;
  }
}

.p-conmpany-history__item {
  padding-inline: 1rem 1.5rem;
  color: #fff;
  border-left: 1px dashed currentColor;
  min-width: 16.875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 15.25rem;
}
@media screen and (min-width: 768px) {
  .p-conmpany-history__item {
    padding-inline: 1.4375rem 2.5rem;
  }
}
.p-conmpany-history__item:first-of-type {
  border-left: none;
}

.p-conmpany-history__head {
  font-size: 1.5rem;
  font-weight: 0;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-conmpany-history__head {
    font-size: 2rem;
  }
}

.p-conmpany-history__body {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-conmpany-history__body {
    margin-top: 2.25rem;
  }
}

.p-conmpany-history__text {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-conmpany-history__text {
    font-size: 1rem;
  }
}

.p-conmpany-history__img {
  width: 11.8125rem;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-conmpany-history__img {
    margin-top: 1.25rem;
  }
}

.p-conmpany-history__img img {
  aspect-ratio: 189/124;
  border-radius: 0.875rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-conmpany-history__img img {
    border-radius: 1rem;
  }
}

.p-company-services {
  padding-top: 4.375rem;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-company-services {
    padding-top: 8.75rem;
  }
}

.p-company-services__heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.p-company-services__container {
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-company-services__container {
    margin-top: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-company-services__items {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-company-services__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-company-services__img {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.p-company-services__img img {
  aspect-ratio: 347/237;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-company-services__img img {
    border-radius: 1rem;
  }
}

.p-company-services__title {
  font-size: 1.25rem;
  line-height: 1.6;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .p-company-services__title {
    font-size: 1.375rem;
  }
}

.p-company-services__body {
  margin-top: 1rem;
}
.p-company-services__text {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-company-services__text {
    font-size: 1rem;
  }
}

.p-company-services__blank {
  position: relative;
  z-index: 0;
  font-size: 0.875rem;
  gap: 0.625rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-company-services__blank {
    font-size: 1rem;
    margin-top: 1.25rem;
  }
}
.p-company-services__blank::after {
  content: "";
  display: inline-block;
  width: 0.75rem;
  height: 0.875rem;
  background-image: url(../images/00_common/icon-blank-nb.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p-company-services__blank::after {
    width: 1rem;
    height: 1.5rem;
  }
}

.p-company-services__slider-btn {
  position: relative;
  z-index: 0;
  max-width: 8.75rem;
  height: 3.75rem;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-company-services__slider-btn {
    padding-inline: 0;
  }
}

.p-company-csr {
  padding-block: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-company-csr {
    padding-block: 8.75rem;
  }
}

.p-company-csr__heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.p-company-csr__container {
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-company-csr__container {
    margin-top: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-company-csr__items {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-company-csr__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-company-csr__img {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.p-company-csr__img img {
  aspect-ratio: 347/237;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-company-csr__img img {
    border-radius: 1rem;
  }
}

.p-company-csr__title {
  font-size: 1.25rem;
  line-height: 1.6;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .p-company-csr__title {
    font-size: 1.375rem;
  }
}

.p-company-csr__text {
  margin-top: 1rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-company-csr__text {
    font-size: 1rem;
  }
}

.p-company-csr__btn {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-company-csr__slider-btn {
  position: relative;
  z-index: 0;
  max-width: 8.75rem;
  height: 3.75rem;
  gap: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-company-csr__slider-btn {
    padding-inline: 0;
  }
}

.p-service-fv {
  padding-bottom: 5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-service-fv {
    padding-bottom: 10.25rem;
  }
}

.p-service-fv__inner {
  overflow: hidden;
}
.p-service-fv__container {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .p-service-fv__container {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-service-fv__lead {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-service-fv__lead {
    margin-top: 2.5rem;
    font-size: 1.125rem;
  }
}

.p-service-fv__vis {
  width: 100%;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-service-fv__vis {
    margin-left: min(4.6527777778vw, 67px);
  }
}

.p-service-fv__gradation {
  position: absolute;
  display: block;
  width: 99vw;
  top: 0;
  left: 50%;
  border-radius: 0.5rem 0 0 0.5rem;
  height: 100%;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-service-fv__gradation {
    height: 21.9375rem;
    top: 50%;
    left: 4.5rem;
    top: 4.5rem;
    border-radius: 1rem 0 0 1rem;
  }
}

.p-service-fv__img {
  width: 100%;
  margin-inline: auto;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-service-fv__img {
    width: 27.25rem;
    margin-inline: 0 auto;
    margin-top: 0;
  }
}

.p-service-fv__img img {
  aspect-ratio: 436/290;
  border-radius: 1rem;
}
.p-service-philosophy {
  padding-block: 0 6.25rem;
  position: relative;
  z-index: 0;
}
.p-service-philosophy img {
  max-width: 60.625rem;
  margin-inline: auto;
  aspect-ratio: 325/535;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-service-philosophy {
    padding-block: 3.75rem 7.5rem;
  }
  .p-service-philosophy img {
    aspect-ratio: 970/564;
  }
}

.p-service-services {
  background-color: #1B1D52;
  padding-block: 6.25rem;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-service-services {
    padding-block: 8.375rem;
  }
}

.p-service-services__heading {
  color: #fff;
}

.p-service-business__items {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-service-business__items {
    margin-top: 2.5rem;
  }
}

.p-service-business__item {
  border-radius: 0.875rem;
  width: 100%;
  position: relative;
  z-index: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#F6E6CC), to(#E8F0FF));
  background: -webkit-linear-gradient(top, #F6E6CC 0%, #E8F0FF 100%);
  background: linear-gradient(180deg, #F6E6CC 0%, #E8F0FF 100%);
}

.p-service-business__item + .p-service-business__item {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-service-business__item + .p-service-business__item {
    margin-top: 1.125rem;
  }
}

.p-service-business__item-bg {
  background-color: #fff;
  border-radius: 0.875rem;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: -1;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.p-service-business__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  height: 100%;
  padding: 1.25rem 1.25rem 6.25rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-service-business__link {
    padding: 2.25rem min(9.3055555556vw, 134px) 2.25rem 2.25rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.25rem;
  }
}

.p-service-business__link-btn {
  display: block;
  width: 3.375rem;
  height: 3.375rem;
  position: absolute;
  top: calc(100% - 3.375rem);
  right: 1.25rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (min-width: 768px) {
  .p-service-business__link-btn {
    padding: 1px;
    width: 3.75vw, 54px;
    height: 3.75vw, 54px;
    right: min(2.5vw, 36px);
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}

.p-service-business__vis {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 0.875rem;
  overflow: hidden;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-service-business__vis {
    width: min(23.9583333333vw, 345px);
  }
}

.p-service-business__vis img {
  aspect-ratio: 349/233;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-service-business__head {
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-service-business__head {
    font-size: 1.125rem;
    line-height: 1.5555555556;
  }
}

.p-service-business__catch {
  font-size: 1.25rem;
  line-height: 1.6;
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-service-business__catch {
    font-size: 1.5625rem;
    line-height: 1.6;
  }
}

.p-service-business__text {
  font-size: 0.9375rem;
  margin-top: 1.125rem;
}

@media (hover: hover) {
  .p-service-business__vis img {
    -webkit-transition: -webkit-transform 0.6s ease;
    transition: -webkit-transform 0.6s ease;
    transition: transform 0.6s ease;
    transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
  .p-service-business__item:hover .p-service-business__link {
    opacity: 1;
  }
  .p-service-business__item:hover .p-service-business__item-bg {
    opacity: 0;
    visibility: hidden;
  }
  .p-service-business__item:hover .p-service-business__vis img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.p-service-customers {
  margin-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-service-customers {
    margin-top: 8.75rem;
  }
}

.p-service-customers__items {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-service-customers__items {
    margin-top: 2.5rem;
  }
}

.p-service-strength {
  padding-top: 4.375rem;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-service-strength {
    padding-top: 8.75rem;
  }
}

.p-service-strength__heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.p-service-strength__container {
  margin-top: -0.75rem;
}

@media screen and (min-width: 768px) {
  .p-service-strength__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.375rem 2.25rem;
  }
}

.p-service-strength__item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
@media screen and (min-width: 768px) {
  .p-service-strength__item {
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
}

.p-service-strength__img {
  width: 15rem;
  margin-inline: auto;
  position: relative;
  z-index: 0;
  margin-top: 1rem;
  -webkit-filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
          filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
  outline: none;
  border: none;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-service-strength__img {
    margin-top: 1.875rem;
  }
}
.p-service-strength__img img {
  aspect-ratio: 312/180;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
}

.p-service-strength__head {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-service-strength__head {
    font-size: min(2.0833333333vw, 24px);
  }
}

.p-service-strength__body {
  margin-top: 1.5rem;
  font-size: 0.9375rem;
}

.p-service-strength__slider-btn {
  position: relative;
  z-index: 0;
  max-width: 8.75rem;
  height: 3.75rem;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-service-strength__slider-btn {
    padding-inline: 0;
  }
}

.p-service-compare {
  padding-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-service-compare {
    padding-top: 8.75rem;
  }
}

.p-service-compare__icon {
  width: 1rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-service-compare__icon {
    width: 1.75rem;
  }
}

.p-service-compare__content {
  margin-inline: -1.5625rem;
}
@media screen and (min-width: 768px) {
  .p-service-compare__content {
    margin-inline: 0;
  }
}
.p-service-compare__content .scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  -webkit-animation: scroll-hint-appear 2s linear;
          animation: scroll-hint-appear 2s linear;
  -webkit-animation-iteration-count: 4;
          animation-iteration-count: 4;
}

.p-service-compare__table {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-service-compare__table {
    width: 100%;
  }
}

.p-service-compare__head.u-lt14 {
  border-radius: 0.875rem 0 0 0;
}

.p-service-compare__head.u-tr14 {
  border-radius: 0 0.875rem 0 0;
}

.p-service-compare__row-cell.u-br14 {
  border-radius: 0 0 0.875rem 0;
}

.p-service-compare__row-head.u-lb14 {
  border-radius: 0 0 0 0.875rem;
}

.p-service-compare__cols {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 11.25rem;
}
@media screen and (min-width: 768px) {
  .p-service-compare__cols {
    width: unset;
  }
}

.p-service-compare__cols + .p-service-compare__cols {
  border-left: 1px solid #dcddeb;
}
.p-service-compare__head {
  font-size: 0.875rem;
  text-align: center;
  padding-block: 1rem;
  padding-inline: 0;
  border-bottom: 1px solid #dcddeb;
}
@media screen and (min-width: 768px) {
  .p-service-compare__head {
    padding-block: 1.125rem;
  }
}

.p-service-compare__head--bgGray {
  background-color: #f0f1f6;
}

.p-service-compare__row-head {
  background-color: #fff;
  font-size: 0.875rem;
  text-align: center;
  padding-block: 0.875rem;
  padding-inline: 0;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 768px) {
  .p-service-compare__row-head {
    padding-block: 0.75rem;
  }
}

.p-service-compare__row-cell {
  background-color: #fff;
  padding-block: 0.75rem;
  padding-inline: 0.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-service-compare__row-cell {
    padding-inline: 0;
  }
}

.p-service-compare__col--grad {
  background: -webkit-gradient(linear, left top, left bottom, from(#F6E6CC), to(#E8F0FF));
  background: -webkit-linear-gradient(top, #F6E6CC 0%, #E8F0FF 100%);
  background: linear-gradient(180deg, #F6E6CC 0%, #E8F0FF 100%);
}
.p-service-compare__col--grad * {
  background-color: transparent;
}

.p-service-compare__row-head:not(:last-of-type),
.p-service-compare__row-cell:not(:last-of-type) {
  min-height: 10rem;
  border-bottom: 1px solid #dcddeb;
}

.p-service-compare__row-head:last-of-type {
  min-height: 4rem;
  padding-block: 1.375rem;
}

.p-service-compare__row-cell:last-of-type {
  min-height: 4rem;
  padding-block: 1rem 1.25rem;
}

.p-service-compare__row-cell--flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.125rem;
}

.p-service-compare__icon {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  width: 1.75rem;
}
.p-service-compare__icon {
  aspect-ratio: 28/28;
}

.p-service-compare__text {
  font-size: 0.8125rem;
  text-align: left;
  margin-top: 1rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-service-compare__text {
    text-align: center;
    margin-top: 1.125rem;
  }
}

.p-service-flow {
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-service-flow {
    padding-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
}

.p-service-flow__items {
  counter-reset: flowNum 0;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-service-flow__items {
    margin-top: 2.25rem;
  }
}

.p-service-flow__item {
  counter-increment: flowNum 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #1B1D52;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-service-flow__item {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.25rem;
    padding-right: 3.25rem;
    padding-bottom: 2.25rem;
  }
}
.p-service-flow__item::after {
  content: "";
  position: absolute;
  top: 0.625rem;
  right: 0;
  display: block;
  width: 1.25rem;
  height: 0.625rem;
  background-image: url(../images/00_common/btn-arrow-tri-nb.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (min-width: 768px) {
  .p-service-flow__item::after {
    display: none;
  }
}
.p-service-flow__item.is-open::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-service-flow__item + .p-service-flow__item {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-service-flow__item + .p-service-flow__item {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .p-service-flow__item:last-of-type {
    border-bottom: none;
  }
}

.p-service-flow__content {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-service-flow__content {
    display: block;
  }
}

.p-service-flow__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-right: auto;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  position: relative;
  z-index: 0;
  padding-left: 2em;
}
@media screen and (min-width: 768px) {
  .p-service-flow__head {
    margin-right: 0;
    padding-left: 0;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-service-flow__head::before {
  content: counter(flowNum, decimal-leading-zero);
  font-size: 1.25rem;
  line-height: 1.6;
  top: 0;
  left: 0;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .p-service-flow__head::before {
    position: static;
  }
}

.p-service-flow__title {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-service-flow__title {
    font-size: min(2.2222222222vw, 25px);
    margin-left: 1.625rem;
  }
}

.p-service-flow__span {
  font-size: 0.8125rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 1px dashed #1B1D52;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-service-flow__span {
    margin-left: 1.5rem;
  }
}

.p-service-flow__body {
  margin-top: 1rem;
  font-size: 0.9375rem;
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 768px) {
  .p-service-flow__body {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    padding-left: 2.875rem;
  }
}

.p-service-flow__img {
  width: 10rem;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  margin-inline: auto;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-service-flow__img {
    width: 11.25rem;
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    margin-top: 0;
    margin-inline: 0;
  }
}

.p-service-flow__img img {
  aspect-ratio: 180/140;
}
.p-staff-archive {
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-staff-archive {
    padding-bottom: 8.75rem;
  }
}
.p-staff-archive .c-page-heading__title {
  line-height: 1.6;
}

.p-staff-archive__container {
  margin-top: 2.5rem;
}

.p-staff-archive__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-staff-archive__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-staff-archive__lead {
  margin-top: 1.25rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-staff-archive__lead {
    font-size: 1.125rem;
    width: 50%;
  }
}

.p-staff-archive__items {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 5rem;
}
@media screen and (min-width: 768px) {
  .p-staff-archive__items {
    margin-top: 5rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem 2.5rem;
  }
}

.p-staff-archive__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
}

.p-staff-archive__img {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  position: relative;
  z-index: 0;
  border-radius: 0.875rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-staff-archive__img {
    border-radius: 1rem;
  }
}

.p-staff-archive__img img {
  aspect-ratio: 540/360;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.p-staff-archive__img--smile {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}

@media (hover: hover) {
  .p-staff-archive__link:hover {
    opacity: 1;
  }
  .p-staff-archive__link:hover .p-staff-archive__img--formal {
    opacity: 0;
    visibility: hidden;
  }
  .p-staff-archive__link:hover .p-staff-archive__img--smile {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 1;
    visibility: visible;
  }
}

.p-staff-archive__name {
  font-size: 1.75rem;
  line-height: 1.6;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-staff-archive__name {
    font-size: 2.25rem;
    margin-top: 2rem;
  }
}

.p-staff-archive__name-en {
  font-size: 0.875rem;
  margin-left: 1rem;
}
@media screen and (min-width: 768px) {
  .p-staff-archive__name-en {
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
}

.p-staff-archive__text {
  font-size: 0.9375rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-staff-archive__text {
    font-size: 1rem;
  }
}

.p-staff-archive__btn {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-staff-archive__btn {
    margin-top: 1.25rem;
  }
}

.p-staff-archive__btn-more {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-staff-archive__btn-more {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0.375rem;
  }
}
.p-staff-archive__btn-more::after {
  content: "";
  width: 0.625rem;
  height: 0.6875rem;
  background-image: url(../images/00_common/btn-readmore.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p-staff-archive__btn-more::after {
    width: 0.75rem;
    height: 0.875rem;
  }
}

.p-staff-archive__relations {
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-staff-archive__relations {
    padding-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
}

.p-staff-single {
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-staff-single {
    padding-bottom: 8.75rem;
  }
}

.p-staff-single__vis {
  margin-top: 3.75rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-staff-single__vis {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 11.25rem;
    gap: min(5.5555555556vw, 80px);
  }
}

.p-staff-single__position {
  font-size: 0.9375rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-staff-single__position {
    font-size: 1rem;
  }
}

.p-staff-single__name {
  display: block;
  font-weight: 500;
  font-size: 1.75rem;
  line-height: 1.6111111111;
}
@media screen and (min-width: 768px) {
  .p-staff-single__name {
    font-size: 2.25rem;
  }
}

.p-staff-single__name-en {
  font-size: 0.875rem;
  margin-left: 1rem;
}
@media screen and (min-width: 768px) {
  .p-staff-single__name-en {
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
}

.p-staff-single__img {
  width: 100%;
  margin-inline: auto;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-staff-single__img {
    width: 26.875rem;
    margin-inline: 0 auto;
    margin-top: 2.625rem;
  }
}

.p-staff-single__img img {
  aspect-ratio: 430/286;
  border-radius: 1rem;
}
.p-staff-single__links {
  margin-top: 1.25rem;
}

.p-staff-single__links-body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 2.5rem;
}

.p-staff-single__link {
  font-size: 0.875rem;
  margin-top: 0.25rem;
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.5rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

.p-staff-single__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-staff-single__body {
    margin-top: 2.5rem;
    font-size: 1rem;
  }
}

.p-staff-content {
  background-color: #1B1D52;
  padding-block: 6.25rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-staff-content {
    padding-block: 8.375rem;
  }
}

.p-staff-content__container {
  background-color: #fff;
  border-radius: 1rem;
  padding-block: 2.5rem;
  padding-inline: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-staff-content__container {
    padding-block: 5rem 6.25rem;
    padding-inline: 5rem 6.25rem;
  }
}

.p-staff-content__content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-staff-content__content {
    margin-top: 5rem;
  }
}

.p-staff-content__head {
  font-size: 1.25rem;
  line-height: 1.6;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #1B1D52;
}
@media screen and (min-width: 768px) {
  .p-staff-content__head {
    font-size: 1.75rem;
    padding-bottom: 2rem;
  }
}

.p-staff-content__body {
  margin-top: 2rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-staff-content__body {
    padding-left: 1em;
    font-size: 1rem;
  }
}

.p-staff-service {
  padding-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-staff-service {
    padding-top: 8.75rem;
  }
}

.p-staff__heading {
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-staff__heading {
    font-size: 1.75rem;
  }
}

.p-staff-service__items {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-staff-service__items {
    margin-top: 2.5rem;
  }
}

.p-staff-service__item {
  border-radius: 0.875rem;
  width: 100%;
  position: relative;
  z-index: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#F6E6CC), to(#E8F0FF));
  background: -webkit-linear-gradient(top, #F6E6CC 0%, #E8F0FF 100%);
  background: linear-gradient(180deg, #F6E6CC 0%, #E8F0FF 100%);
  padding: 1.25rem 1.25rem 6.25rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-staff-service__item {
    padding: 2.25rem min(8.75vw, 126px) 2.25rem 2.25rem;
  }
}

.p-staff-service__item + .p-staff-service__item {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-staff-service__item + .p-staff-service__item {
    margin-top: 1.25rem;
  }
}

.p-staff-service__item-bg {
  background-color: #fff;
  border-radius: 0.875rem;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: -1;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.p-staff-service__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .p-staff-service__link {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.25rem;
  }
}

.p-staff-service__link-btn {
  display: block;
  width: 3.375rem;
  height: 3.375rem;
  position: absolute;
  top: calc(100% - 3.375rem);
  right: 1.25rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (min-width: 768px) {
  .p-staff-service__link-btn {
    width: 3.75vw, 54px;
    height: 3.75vw, 54px;
    right: 2.25rem;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}

@media screen and (min-width: 768px) {
  .p-staff-service__link-default {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.p-staff-service__vis {
  width: 100%;
  border-radius: 0.875rem;
  overflow: hidden;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (min-width: 768px) {
  .p-staff-service__vis {
    width: 21.8125rem;
  }
}

.p-staff-service__vis img {
  aspect-ratio: 349/233;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-staff-service__head {
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-staff-service__head {
    font-size: 1.125rem;
    line-height: 1.5555555556;
  }
}

.p-staff-service__catch {
  font-size: 1.25rem;
  line-height: 1.6;
  margin-top: 1.125rem;
  word-break: auto-phrase;
}
@media screen and (min-width: 768px) {
  .p-staff-service__catch {
    font-size: 1.5625rem;
    line-height: 1.6;
  }
}

.p-staff-service__text {
  font-size: 0.9375rem;
  margin-top: 1.125rem;
}

@media (hover: hover) {
  .p-staff-service__vis img {
    -webkit-transition: -webkit-transform 0.6s ease;
    transition: -webkit-transform 0.6s ease;
    transition: transform 0.6s ease;
    transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
  .p-staff-service__item:hover .p-staff-service__link {
    opacity: 1;
  }
  .p-staff-service__item:hover .p-staff-service__item-bg {
    opacity: 0;
    visibility: hidden;
  }
  .p-staff-service__item:hover .p-staff-service__vis img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.p-staff-blog {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-staff-blog {
    margin-top: 5rem;
  }
}

.p-staff-blog__items {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-staff-blog__items {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
  }
}

.p-staff-blog__img {
  width: 100%;
}

.p-staff-blog__img img {
  aspect-ratio: 360/205;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-staff-blog__title {
  margin-top: 1.5rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-staff-blog__title {
    font-size: 1rem;
  }
}

.p-staff-others {
  overflow: hidden;
  width: 100%;
  padding-block: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-staff-others {
    padding-block: 8.75rem;
  }
}

.p-staff-others__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-staff-others__wrap {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: min(2.7777777778vw, 40px);
  }
}

.p-staff-others__slider-btn {
  margin-top: 1.25rem;
  position: relative;
  z-index: 0;
  max-width: 190px;
  height: 3.75rem;
  gap: 1.25rem;
  padding-inline: 25px;
}
@media screen and (min-width: 768px) {
  .p-staff-others__slider-btn {
    padding-inline: 0;
  }
}

.p-staff-others__slider {
  margin-top: 1.75rem;
  overflow: visible;
}
@media screen and (min-width: 768px) {
  .p-staff-others__slider {
    margin-top: 3.75rem;
  }
}

@media screen and (min-width: 768px) {
  .p-staff-others__items {
    max-width: 1000px;
    margin-inline: auto;
  }
}

.p-staff-others__item {
  background-color: #fff;
  border-radius: 0.5rem;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-staff-others__item {
    border-radius: 1rem;
  }
}

.p-staff-others__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1.25rem;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-staff-others__link {
    padding: 2rem;
  }
}

.p-staff-others__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.p-staff-others__img {
  border-radius: 0.5rem;
  position: relative;
  z-index: 0;
  overflow: hidden;
  border-radius: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-staff-others__img {
    border-radius: 1rem;
  }
}

.p-staff-others__img img {
  aspect-ratio: 324/216;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.p-staff-others__img--smile {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}

@media (hover: hover) {
  .p-staff-others__link:hover {
    opacity: 1;
  }
  .p-staff-others__link:hover .p-staff-others__img--formal {
    opacity: 0;
    visibility: hidden;
  }
  .p-staff-others__link:hover .p-staff-others__img--smile {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 1;
    visibility: visible;
  }
}

.p-staff-others__name {
  font-size: 1.25rem;
  line-height: 1.6;
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: min(0.9722222222vw, 14px);
}
@media screen and (min-width: 768px) {
  .p-staff-others__name {
    margin-top: 2.25rem;
    font-size: 1.75rem;
  }
}

.p-staff-others__name-en {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-staff-others__name-en {
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
}

.p-staff-others__text {
  margin-top: 1rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-staff-others__text {
    margin-top: 1.25rem;
    font-size: 1rem;
  }
}

.p-staff-others__item-footer {
  text-align: center;
  padding-right: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-staff-others__item-footer {
    padding-right: 1.75rem;
  }
}

.p-staff-others__btn {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-staff-others__item-more {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-staff-others__item-more {
    gap: 0.375rem;
  }
}
.p-staff-others__item-more::after {
  content: "";
  width: 0.625rem;
  height: 0.6875rem;
  background-image: url(../images/00_common/btn-readmore.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p-staff-others__item-more::after {
    width: 0.75rem;
    height: 0.875rem;
  }
}

.p-staff-single__relations {
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-staff-single__relations {
    padding-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
}

.p-voice-archive {
  overflow: hidden;
}

.p-voice-heading__container {
  margin-top: 2.5rem;
}

.p-voice-heading__tags {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  overflow: scroll;
  margin-inline: calc(50% - 50vw + 10px);
  padding-inline: calc(50vw - 50%);
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-voice-heading__tags {
    margin-top: 7.5rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.5rem;
  }
}
.p-voice-heading__tags::-webkit-scrollbar {
  display: none;
}

.p-voice-heading__tag-head {
  font-size: 1.25rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-voice-heading__tag-head {
    font-size: 1.5625rem;
  }
}

.p-voice-heading__tag-items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-voice-heading__tag-items {
    gap: 1rem;
  }
}

.p-voice-heading__tag-item {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 0.5rem;
  border: 1px solid #1B1D52;
  background-color: transparent;
  color: #1B1D52;
  -webkit-transition: background-color 0.6s ease, color 0.6s ease;
  transition: background-color 0.6s ease, color 0.6s ease;
}
.p-voice-heading__tag-item.programs-mixitup-btn-active, .p-voice-heading__tag-item.programs-control-active, .p-voice-heading__tag-item.programs-filter-btn-active {
  background-color: #1B1D52;
  color: #fff;
  cursor: pointer;
}
.p-voice-heading__tag-item.programs-mixitup-btn-active .p-voice-heading__tag-link, .p-voice-heading__tag-item.programs-control-active .p-voice-heading__tag-link, .p-voice-heading__tag-item.programs-filter-btn-active .p-voice-heading__tag-link {
  pointer-events: none;
}

.p-voice-heading__tag-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 9.375rem;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-voice-heading__tag-link {
    padding: 0.25rem 1.5rem;
    font-size: 0.9375rem;
    max-width: 100%;
  }
}

@media (hover: hover) {
  .p-voice-heading__tag-item:hover {
    background-color: #1B1D52;
    color: #fff;
  }
  .p-voice-heading__tag-item:hover .p-voice-heading__tag-link {
    opacity: 1;
    visibility: visible;
  }
}
.p-voice-main__container {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-voice-main__container {
    margin-top: 4rem;
  }
}

.p-voice-main__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-voice-main__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}

.p-voice-archive-other {
  margin-top: 6.25rem;
  padding-bottom: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-voice-archive-other {
    margin-top: 8.75rem;
  }
}

.p-voice-archive-other__container {
  margin-top: 3.375rem;
}
@media screen and (min-width: 768px) {
  .p-voice-archive-other__container {
    margin-top: 2.5rem;
  }
}

.p-voice-archive-other__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-voice-archive-other__items {
    gap: 1.25rem;
    max-width: 600px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1024px) {
  .p-voice-archive-other__items {
    grid-template-columns: repeat(3, 1fr);
    max-width: 100%;
  }
}

.p-voice-archive-other__item {
  background-color: #fff;
  border-radius: 0.875rem;
  padding: 0.5rem;
  text-align: center;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0.75rem;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-voice-archive-other__item {
    padding: min(1.6666666667vw, 24px);
    border-radius: 1rem;
    gap: 1.625rem;
  }
}

.p-voice-archive-other__item {
  display: none;
}

.p-voice-archive-other__item:nth-of-type(-n + 10) {
  display: grid;
}

@media screen and (min-width: 768px) {
  .p-voice-archive-other__item:nth-of-type(-n + 12) {
    display: grid;
  }
}
.p-voice-archive-other__head {
  padding-bottom: 0.5rem;
  border-bottom: 1px solid currentColor;
  line-height: 1.4;
  padding-left: 0.5em;
}
@media screen and (min-width: 768px) {
  .p-voice-archive-other__head {
    padding-bottom: min(1.3888888889vw, 20px);
    padding-left: 0;
  }
}

.p-voice-archive-other__tag {
  font-size: 0.625rem;
  line-height: 1.4;
  display: inline-block;
  position: relative;
  z-index: 0;
  text-align: left;
}
.p-voice-archive-other__tag::before {
  content: "#";
  position: absolute;
  top: 0;
  left: -0.5em;
}
@media screen and (min-width: 768px) {
  .p-voice-archive-other__tag {
    font-size: 0.9375rem;
    text-align: center;
  }
}

.p-voice-archive-other__text {
  margin-top: 0.5rem;
  line-height: 1.6;
  font-size: 0.875rem;
  max-width: 11.25rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-voice-archive-other__text {
    margin-top: min(1.3888888889vw, 20px);
    font-size: 1.25rem;
    max-width: 15rem;
  }
}

.p-voice-archive-other__name {
  font-size: 0.625rem;
  margin-top: 0.5rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-voice-archive-other__name {
    font-size: 0.9375rem;
    margin-top: 1rem;
  }
}

.p-voice-archive-other__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25rem;
  font-size: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-voice-archive-other__btn {
    gap: 0.375rem;
    font-size: 0.875rem;
  }
}
.p-voice-archive-other__btn::after {
  content: "";
  width: 0.5rem;
  height: 0.5625rem;
  background-image: url(../images/00_common/btn-readmore-plus.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p-voice-archive-other__btn::after {
    width: 0.75rem;
    height: 0.875rem;
  }
}

.p-voice-modal {
  width: 100%;
  height: 100dvh;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2000;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.p-voice-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.p-voice-modal__overlay {
  width: inherit;
  height: inherit;
  background: rgba(0, 0, 0, 0.2);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 1;
}

.p-voice-modal__container {
  max-width: calc(100% - 1.5rem);
  width: 100%;
  height: auto;
  max-height: 90%;
  position: relative;
  z-index: 2;
  background-color: #fff;
  padding: 1.5625rem;
  padding-right: 0.75rem;
  border-radius: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-voice-modal__container {
    max-height: 80%;
    max-width: 55rem;
    padding: 2rem min(1.1111111111vw, 16px) 2rem min(4.1666666667vw, 60px);
  }
}

.p-voice-modal__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.5rem;
  height: 2rem;
  position: relative;
  z-index: 1003;
  pointer-events: all;
  cursor: pointer;
}

.p-voice-modal__btn-bar {
  display: inline-block;
  height: 0.5rem;
  width: 1.25rem;
  position: relative;
  z-index: 0;
}
.p-voice-modal__btn-bar::before {
  content: "";
  position: absolute;
  display: block;
  height: 1px;
  width: 1.25rem;
  background-color: #1B1D52;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0.1875rem) rotate(30deg);
          transform: translate(-50%, 0.1875rem) rotate(30deg);
}
.p-voice-modal__btn-bar::after {
  content: "";
  position: absolute;
  display: block;
  height: 1px;
  width: 1.25rem;
  background-color: #1B1D52;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -0.1875rem) rotate(-30deg);
          transform: translate(-50%, -0.1875rem) rotate(-30deg);
}

.p-voice-modal__btn-text {
  text-transform: uppercase;
  display: block;
}

.p-voice-modal__content {
  width: 100%;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-y: scroll;
  padding-bottom: 1.5rem;
  padding-right: 0.75rem;
  scrollbar-width: thin;
  scrollbar-color: #d9d9d9 transparent;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media screen and (min-width: 768px) {
  .p-voice-modal__content {
    padding-bottom: 2rem;
    padding-right: min(3.125vw, 45px);
  }
}
.p-voice-modal__content::-webkit-scrollbar {
  height: 0;
  width: 0.3125rem;
}
.p-voice-modal__content::-webkit-scrollbar-track {
  background-color: transparent;
}
.p-voice-modal__content::-webkit-scrollbar-thumb {
  background-color: #d9d9d9;
  border-radius: 0.3125rem;
}

.p-voice-modal__head {
  padding-bottom: 2rem;
  border-bottom: 1px solid #dcddeb;
}
@media screen and (min-width: 768px) {
  .p-voice-modal__head {
    margin-inline: min(1.3888888889vw, 20px);
  }
}

.p-voice-modal__tag {
  font-size: 0.875rem;
  line-height: 1.6;
}

.p-voice-modal__comment {
  margin-top: 0.75rem;
  font-size: 1.25rem;
  word-break: auto-phrase;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-voice-modal__comment {
    margin-top: 0.5rem;
    font-size: 1.625rem;
  }
}

.p-voice-modal__name {
  display: block;
  margin-top: 1.125rem;
  font-size: 0.875rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-voice-modal__name {
    font-size: 1rem;
    margin-top: 1.5rem;
  }
}

.p-voice-modal__body {
  margin-top: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #dcddeb;
}
@media screen and (min-width: 768px) {
  .p-voice-modal__body {
    margin-inline: min(1.3888888889vw, 20px);
  }
}

.p-voice-modal__text {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-voice-modal__text {
    font-size: 1rem;
  }
}

.p-voice-modal__relation {
  margin-top: 2rem;
}

.p-voice-modal__relation-head {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-voice-modal__relation-head {
    font-size: 1.25rem;
    padding-inline: min(1.3888888889vw, 20px);
  }
}

.p-voice-modal__relation-body {
  position: relative;
  z-index: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#F6E6CC), to(#E8F0FF));
  background: -webkit-linear-gradient(top, #F6E6CC 0%, #E8F0FF 100%);
  background: linear-gradient(180deg, #F6E6CC 0%, #E8F0FF 100%);
  border-radius: 0.875rem;
  overflow: hidden;
  margin-top: 0.75rem;
}

.p-voice-modal__relation-bg {
  background-color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: -1;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.p-voice-modal__relation-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  height: 100%;
  padding-block: 1.25rem 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-voice-modal__relation-link {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.25rem;
    padding-inline: min(1.3888888889vw, 20px);
    padding-block: min(1.3888888889vw, 20px);
  }
}

.p-voice-modal__relation-link-btn {
  display: block;
  width: 3.375rem;
  height: 3.375rem;
  position: absolute;
  top: calc(100% - 3.375rem);
  right: 1.25rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (min-width: 768px) {
  .p-voice-modal__relation-link-btn {
    width: 3.75vw, 54px;
    height: 3.75vw, 54px;
    right: 2.25rem;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}

@media screen and (min-width: 768px) {
  .p-voice-modal__link-default {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.p-voice-modal__relation-vis {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 0.875rem;
  overflow: hidden;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-voice-modal__relation-vis {
    width: min(20.8333333333vw, 258px);
  }
}

.p-voice-modal__relation-vis img {
  aspect-ratio: 349/233;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-voice-modal__relation-content {
    padding-right: min(8.3333333333vw, 120px);
  }
}

.p-voice-modal__relation-title {
  font-size: 1.125rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-voice-modal__relation-title {
    font-size: 1.25rem;
  }
}

.p-voice-modal__relation-text {
  font-size: 0.9375rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-voice-modal__relation-text {
    font-size: 1rem;
  }
}

@media (hover: hover) {
  .p-voice-modal__relation-vis img {
    -webkit-transition: -webkit-transform 0.6s ease;
    transition: -webkit-transform 0.6s ease;
    transition: transform 0.6s ease;
    transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
  .p-voice-modal__relation-body:hover .p-voice-modal__relation-link {
    opacity: 1;
  }
  .p-voice-modal__relation-body:hover .p-voice-modal__relation-bg {
    opacity: 0;
    visibility: hidden;
  }
  .p-voice-modal__relation-body:hover .p-voice-modal__relation-vis img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.p-voice-relations {
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-voice-relations {
    padding-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
}

.p-voice-single {
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-voice-single {
    padding-bottom: 8.75rem;
  }
}

.p-voice-single__vis {
  margin-top: 3.75rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-voice-single__vis {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 11.25rem;
    gap: min(5.5555555556vw, 80px);
  }
}

.p-voice-single__company {
  font-weight: 500;
  font-size: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-voice-single__company {
    font-size: 2rem;
  }
}

.p-voice-single__name {
  display: block;
  font-weight: 500;
  line-height: 1.6111111111;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-voice-single__name {
    font-size: 1rem;
  }
}

.p-voice-single__img {
  width: 100%;
  margin-inline: auto;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-voice-single__img {
    width: 26.875rem;
    margin-inline: 0 auto;
    margin-top: 2.625rem;
  }
}

.p-voice-single__img img {
  aspect-ratio: 430/286;
  border-radius: 1rem;
}

.p-voice-single__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-voice-single__body {
    margin-top: 2.5rem;
    font-size: 1rem;
  }
}

.p-voice-single__summary {
  margin-top: 1.25rem;
  font-size: 1rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-voice-single__summary {
    margin-top: 2.5rem;
    font-size: 1.125rem;
  }
}

.p-voice-single__summary-text {
  margin-top: 1.5rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-voice-single__summary-text {
    font-size: 1rem;
  }
}

.p-voice-single__link {
  display: inline-block;
  margin-top: 2rem;
  font-size: 0.875rem;
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.5rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
@media screen and (min-width: 768px) {
  .p-voice-single__link {
    margin-top: 1.25rem;
    font-size: 1rem;
  }
}

.p-voice-single__comment {
  margin-top: 2.5rem;
  padding: 1.75rem;
  background-color: #fff;
  border-radius: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-voice-single__comment {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 5rem;
    padding: 2.5rem;
  }
}

.p-voice-single__comment-head {
  font-size: 1.25rem;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .p-voice-single__comment-head {
    padding-right: 2rem;
    padding-bottom: 0;
    font-size: 1.5rem;
  }
}

.p-voice-single__comment-text {
  padding-top: 1.25rem;
  border-bottom: solid #1B1D52;
  border-width: 1px 0 0 0;
}
@media screen and (min-width: 768px) {
  .p-voice-single__comment-text {
    padding-top: 0;
    padding-left: 2rem;
    border-width: 0 0 0 1px;
  }
}

.p-voice-content {
  background-color: #1B1D52;
  padding-block: 6.25rem;
  overflow: hidden;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .p-voice-content {
    padding-block: 8.375rem;
  }
}

.p-voice-content__content {
  background-color: #fff;
  border-radius: 1rem 0 0 1rem;
  padding-block: 3rem;
  padding-inline: 2rem calc(50vw - 50%);
  margin-inline: 0 calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .p-voice-content__content {
    padding-block: 4.5rem;
    padding-inline: 4.5rem calc(50vw - 50%);
  }
}

.p-voice-content__wrap {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-voice-content__wrap {
    margin-top: 5rem;
  }
}
.p-voice-content__wrap:first-of-type {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .p-voice-content__wrap:first-of-type {
    margin-top: 0;
  }
}

.p-voice-content__head {
  padding-bottom: 2rem;
  border-bottom: 1px solid #1B1D52;
  font-size: 1.25rem;
  line-height: 1.6;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-voice-content__head {
    font-size: 1.5625rem;
    line-height: 1.6;
  }
}

.p-voice-content__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 0.9375rem;
  padding-inline: 1em;
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-voice-content__body {
    font-size: 1rem;
  }
}

.p-voice-content__img {
  display: block;
  margin-top: 2.5rem;
  max-width: 40rem;
  margin-inline: auto;
  border-radius: 1rem;
  overflow: hidden;
}
.p-voice-content__img img {
  border-radius: 1rem;
  aspect-ratio: 640/360;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-voice-content__img {
    margin-top: 3.75rem;
  }
}

.p-voice-other {
  padding-block: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-voice-other {
    padding-block: 8.75rem;
  }
}

.p-staff__heading {
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-staff__heading {
    font-size: 1.75rem;
  }
}

.p-voice-other__items {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-voice-other__items {
    margin-top: 2.5rem;
  }
}

.p-voice-other__item {
  border-radius: 0.875rem;
  width: 100%;
  position: relative;
  z-index: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#F6E6CC), to(#E8F0FF));
  background: -webkit-linear-gradient(top, #F6E6CC 0%, #E8F0FF 100%);
  background: linear-gradient(180deg, #F6E6CC 0%, #E8F0FF 100%);
}
.p-voice-other__item + .p-voice-other__item {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-voice-other__item + .p-voice-other__item {
    margin-top: 1.25rem;
  }
}

.p-voice-other__item-bg {
  background-color: #fff;
  border-radius: 0.875rem;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: -1;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.p-voice-other__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  height: 100%;
  padding: 1.25rem 1.25rem 6.25rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-voice-other__link {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.25rem;
    padding: 2.25rem min(8.75vw, 126px) 2.25rem 2.25rem;
  }
}

.p-voice-other__link-btn {
  display: block;
  width: 3.375rem;
  height: 3.375rem;
  position: absolute;
  top: calc(100% - 3.375rem);
  right: 1.25rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (min-width: 768px) {
  .p-voice-other__link-btn {
    width: 3.75vw, 54px;
    height: 3.75vw, 54px;
    right: min(2.5vw, 36px);
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}

@media screen and (min-width: 768px) {
  .p-voice-other__link-default {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.p-voice-other__vis {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 0.875rem;
  overflow: hidden;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-voice-other__vis {
    width: 21.8125rem;
  }
}

.p-voice-other__vis img {
  aspect-ratio: 349/233;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-voice-other__head {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-voice-other__head {
    font-size: 1.75rem;
  }
}

.p-voice-other__name {
  font-size: 0.875rem;
  line-height: 1.6;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-voice-other__name {
    font-size: 1rem;
  }
}

.p-voice-other__text {
  font-size: 0.875rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-voice-other__text {
    font-size: 0.875rem;
    margin-top: 1.5rem;
  }
}

.p-voice-other__btn {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media (hover: hover) {
  .p-voice-other__vis img {
    -webkit-transition: -webkit-transform 0.6s ease;
    transition: -webkit-transform 0.6s ease;
    transition: transform 0.6s ease;
    transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
  .p-voice-other__item:hover .p-voice-other__link {
    opacity: 1;
  }
  .p-voice-other__item:hover .p-voice-other__item-bg {
    opacity: 0;
    visibility: hidden;
  }
  .p-voice-other__item:hover .p-voice-other__vis img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.p-voice-single__voice {
  padding-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-voice-single__voice {
    padding-top: 8.75rem;
  }
}

.p-voice-single__relations {
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-voice-single__relations {
    padding-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
}

.p-training-archive {
  overflow: hidden;
}

.p-training-archive__container {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .p-training-archive__container {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-training-archive__vis {
  width: 100%;
  position: relative;
  z-index: 0;
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .p-training-archive__vis {
    margin-left: min(4.6527777778vw, 67px);
    padding-bottom: 0;
  }
}

.p-training-archive__gradation {
  position: absolute;
  display: block;
  width: 99vw;
  height: calc(100% - 4.5rem);
  left: 2.5rem;
  bottom: 0;
  border-radius: 0.5rem 0 0 0.5rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-training-archive__gradation {
    width: 99vw;
    height: 20rem;
    left: 4.5rem;
    top: 4.5rem;
    bottom: unset;
    border-radius: 1rem 0 0 1rem;
  }
}

.p-training-archive__img {
  width: 100%;
  margin-inline: auto;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-training-archive__img {
    width: 27.25rem;
    margin-inline: 0 auto;
    margin-top: 0;
  }
}

.p-training-archive__img img {
  aspect-ratio: 436/290;
  border-radius: 1rem;
}

.p-training-archive__lead {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-training-archive__lead {
    margin-top: 2.5rem;
    font-size: 1.125rem;
  }
}

.p-training-hierarchy {
  padding-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-training-hierarchy {
    padding-top: 8.75rem;
  }
}

.p-training-theme {
  padding-top: 5rem;
  padding-bottom: 4.375rem;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-training-theme {
    padding-bottom: 8.75rem;
  }
}

.p-training-service__items {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-training-service__items {
    margin-top: 3.75rem;
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-training-service__item {
  border-radius: 0.875rem;
  width: 100%;
  position: relative;
  z-index: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#F6E6CC), to(#E8F0FF));
  background: -webkit-linear-gradient(top, #F6E6CC 0%, #E8F0FF 100%);
  background: linear-gradient(180deg, #F6E6CC 0%, #E8F0FF 100%);
}
@media screen and (min-width: 768px) {
  .p-training-service__item {
    border-radius: 1rem;
    height: 31.25rem;
  }
}

.p-training-service__item-bg {
  background-color: #fff;
  border-radius: 0.875rem;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: -1;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
@media screen and (min-width: 768px) {
  .p-training-service__item-bg {
    border-radius: 1rem;
  }
}

.p-top-services__link {
  height: 100%;
  padding: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-services__link {
    padding: min(1.9444444444vw, 28px);
  }
}

.p-training-service__item-catch {
  font-size: 1.25rem;
  line-height: 1.6;
  height: 7.5rem;
}
@media screen and (min-width: 768px) {
  .p-training-service__item-catch {
    font-size: clamp(17px, 2.2222222222vw, 26px);
  }
}

.p-training-service__item-head {
  font-size: 1.125rem;
  line-height: 1.6;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-training-service__item-head {
    font-size: clamp(16px, 1.3888888889vw, 20px);
  }
}

.p-training-service__item-body {
  font-size: 0.9375rem;
  margin-top: 1.25rem;
}

.p-training-service__item-more {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.375rem;
  font-size: 0.9375rem;
}
.p-training-service__item-more::after {
  content: "";
  width: 0.625rem;
  height: 0.6875rem;
  background-image: url(../images/00_common/btn-readmore.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p-training-service__item-more::after {
    width: 0.75rem;
    height: 0.875rem;
  }
}

@media (hover: hover) {
  .p-training-service__item:hover .p-top-services__link {
    opacity: 1;
  }
  .p-training-service__item:hover .p-training-service__item-bg {
    opacity: 0;
    visibility: hidden;
  }
}
.p-training-reasons {
  background-color: #1B1D52;
  padding-block: 6.25rem;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-training-reasons {
    padding-block: 8.375rem;
  }
}

.p-training-reasons__heading {
  color: #fff;
}

.p-training-reasons__items {
  margin-top: 2.5rem;
  counter-reset: consultingNum 0;
}
@media screen and (min-width: 768px) {
  .p-training-reasons__items {
    margin-top: 3.75rem;
  }
}

.p-training-reasons__item {
  counter-increment: consultingNum 1;
  background-color: #fff;
  border-radius: 1rem 0 0 1rem;
  padding-block: 3rem 0;
  padding-inline: 2rem calc(50vw - 50%);
  margin-inline: 0 calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .p-training-reasons__item {
    padding-block: 4.5rem 0;
    padding-inline: 4.5rem calc(50vw - 50%);
  }
}

.p-training-reasons__item + .p-training-reasons__item {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-training-reasons__item + .p-training-reasons__item {
    margin-top: 2.25rem;
  }
}

.p-training-reasons__content {
  border-top: 1px solid #1B1D52;
  padding-block: 3.75rem 3rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  z-index: 0;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-training-reasons__content {
    padding-block: 5.625rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0;
  }
}
.p-training-reasons__content::before {
  content: "Reason " counter(consultingNum, decimal-leading-zero);
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.25rem;
}

.p-training-reasons__head {
  font-size: 1.25rem;
  line-height: 1.6;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-training-reasons__head {
    font-size: 1.5625rem;
    line-height: 1.6;
    width: 25rem;
  }
}

.p-training-reasons__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 0.9375rem;
}

.p-training-process {
  padding-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-training-process {
    padding-top: 8.75rem;
  }
}

.p-training-process__items {
  counter-reset: flowNum 0;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-training-process__items {
    margin-top: 2.25rem;
  }
}

.p-training-process__item {
  counter-increment: flowNum 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #1B1D52;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-training-process__item {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.25rem;
    padding-right: 3.25rem;
    padding-bottom: 2.25rem;
  }
}
.p-training-process__item::after {
  content: "";
  position: absolute;
  top: 0.625rem;
  right: 0;
  display: block;
  width: 1.25rem;
  height: 0.625rem;
  background-image: url(../images/00_common/btn-arrow-tri-nb.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (min-width: 768px) {
  .p-training-process__item::after {
    display: none;
  }
}
.p-training-process__item.is-open::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-training-process__item + .p-training-process__item {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-training-process__item + .p-training-process__item {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .p-training-process__item:last-of-type {
    border-bottom: none;
  }
}

.p-training-process__content {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-training-process__content {
    display: block;
  }
}

.p-training-process__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-right: auto;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  position: relative;
  z-index: 0;
  padding-left: 2em;
}
@media screen and (min-width: 768px) {
  .p-training-process__head {
    margin-right: 0;
    padding-left: 0;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-training-process__head::before {
  content: counter(flowNum, decimal-leading-zero);
  font-size: 1.25rem;
  line-height: 1.6;
  top: 0;
  left: 0;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .p-training-process__head::before {
    position: static;
  }
}

.p-training-process__title {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-training-process__title {
    font-size: min(1.7361111111vw, 25px);
    margin-left: 1.625rem;
  }
}

.p-training-process__span {
  font-size: 0.8125rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 1px dashed #1B1D52;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-training-process__span {
    margin-left: 1.5rem;
  }
}

.p-training-process__body {
  margin-top: 1rem;
  font-size: 0.9375rem;
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 768px) {
  .p-training-process__body {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    padding-left: 2.875rem;
  }
}

.p-training-process__img {
  width: 10rem;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  margin-inline: auto;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-training-process__img {
    width: 11.25rem;
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    margin-top: 0;
    margin-inline: 0;
  }
}

.p-training-process__img img {
  aspect-ratio: 180/140;
}

.p-training-voice {
  padding-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-training-voice {
    padding-top: 8.75rem;
  }
}

.p-training-relations {
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-training-relations {
    padding-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
}

.p-training-detail__wrapper {
  overflow: clip;
}

.p-training-detail__head {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-training-detail__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-training-detail__content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-training-detail__content {
    display: block;
  }
}

.p-training-detail__lead {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-training-detail__lead {
    font-size: 1.125rem;
  }
}

.p-training-detail__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 4.375rem;
  margin-inline: auto;
  padding-bottom: 4.375rem;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 30rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-training-detail__container {
    max-width: 1440px;
    margin-top: 8.75rem;
    padding-bottom: 8.75rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-training-detail__main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-training-detail__main {
    margin-top: 0;
  }
}

.p-training-detail__aside {
  position: relative;
  z-index: 0;
  width: 100%;
  max-width: 30rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-training-detail__aside {
    width: 15rem;
    margin-inline: auto 0;
  }
}

.p-training-detail__menu {
  padding-inline: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 1.5625rem 1.875rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-training-detail__menu {
    display: block;
    left: 0;
    position: -webkit-sticky;
    position: sticky;
    top: 6.25rem;
    padding-inline: 2rem;
    height: calc(100dvh - 6.25rem);
    padding-bottom: 2.5rem;
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .p-training-detail__menu::-webkit-scrollbar {
    display: none;
  }
  .p-training-detail__menu .simplebar-track.simplebar-horizontal,
  .p-training-detail__menu .simplebar-track.simplebar-vertical {
    width: 0.25rem;
    background: transparent;
    border-radius: 5px;
    margin: 0 0.5rem 2.5rem auto;
  }
  .p-training-detail__menu .simplebar-scrollbar {
    height: 15rem;
    background: rgba(27, 29, 82, 0.5);
    border-radius: 5px;
    top: 0;
  }
  .p-training-detail__menu .simplebar-scrollbar::before {
    content: "";
    display: none;
  }
}

.p-training-detail__menu-item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-training-detail__menu-item {
    width: 100%;
    padding-block: 0.625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-training-detail__menu-item + .p-training-detail__menu-item {
    border-top: 1px solid #dcddeb;
  }
}

.p-training-detail__menu-link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  opacity: 1;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
  position: relative;
  z-index: 0;
  line-height: 1;
  font-size: 0.875rem;
  padding-left: 1em;
}
.p-training-detail__menu-link::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -0.5em;
  width: 1em;
  height: 1em;
  background-image: url(../images/00_common/btn-link-nb-sp.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (hover: hover) {
  .p-training-detail__menu-link:hover {
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-training-detail__menu-link {
    width: 100%;
    opacity: 0.4;
    font-size: 1rem;
    line-height: 2;
    padding-left: 0;
  }
  .p-training-detail__menu-link::before {
    top: 1em;
    left: -1em;
    width: 8px;
    height: 1px;
    background-color: #1B1D52;
    opacity: 0;
    -webkit-transition: opacity 0.6s ease;
    transition: opacity 0.6s ease;
  }
  .p-training-detail__menu-link.is-active {
    opacity: 1;
  }
  .p-training-detail__menu-link.is-active::before {
    opacity: 1;
    visibility: visible;
  }
}

.p-training-detail__index {
  border-radius: 0 0 1rem 1rem;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.5625rem 1fr;
  background-color: #fff;
  width: 100%;
  max-width: 30rem;
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 900;
  margin-top: 5rem;
  -webkit-transform: translateX(-50%) translateY(-110%);
          transform: translateX(-50%) translateY(-110%);
  will-change: height;
  opacity: 0;
  visibility: hidden;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

.p-training-detail__index-btn {
  background-color: #1B1D52;
  height: inherit;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
}

.p-training-detail__index-btn-arrow {
  width: 0.875rem;
  height: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.p-training-detail__index-btn-arrow img {
  aspect-ratio: 14/8;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
}

.p-training-detail__index-items {
  padding-inline: 1.0625rem;
  padding-block: 1.0625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 1.5625rem 1.875rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.p-training-detail__index-item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-training-detail__index-link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  opacity: 1;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  position: relative;
  z-index: 0;
  line-height: 1;
  font-size: 0.875rem;
  padding-left: 1em;
}
.p-training-detail__index-link::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -0.5em;
  width: 1em;
  height: 1em;
  background-image: url(../images/00_common/btn-link-nb-sp.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.p-training-detail__index-link::after {
  content: "";
  position: absolute;
  width: calc(100% - 1em);
  height: 1px;
  display: block;
  background-color: #1B1D52;
  right: 0;
  bottom: -0.1875rem;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
.p-training-detail__index-link.is-active {
  opacity: 1;
}
.p-training-detail__index-link.is-active::after {
  opacity: 1;
  visibility: visible;
}
@media (hover: hover) {
  .p-training-detail__index-link:hover {
    opacity: 1;
  }
}

.p-training-detail__index--head {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% - 1.5625rem);
  height: inherit;
  padding-inline: 1.0625rem;
  padding-block: 1.0625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 1.5625rem 1.875rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.p-training-detail__index--head .p-training-detail__index-item {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  left: 1.0625rem;
}
.p-training-detail__index--head .p-training-detail__index-link {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.p-training-detail__index--head .p-training-detail__index-link.is-active {
  opacity: 1;
  visibility: visible;
}

.p-training-detail__index.is-open {
  height: auto;
}
.p-training-detail__index.is-open .p-training-detail__index-btn-arrow {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.p-training-section {
  background-color: #fff;
  padding: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-training-section {
    border-radius: 1rem 0 0 1rem;
    margin-inline: 0 calc(50% - 50vw);
    padding: 3.75rem;
  }
}

.p-training-section + .p-training-section {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-training-section + .p-training-section {
    margin-top: 5rem;
  }
}

.p-training-section__inner {
  margin: 0 auto;
  width: 100%;
  height: inherit;
}
@media screen and (min-width: 768px) {
  .p-training-section__inner {
    margin-inline: 0 auto;
    max-width: 1260px;
    padding-right: min(12.5vw, 180px);
  }
}

.p-training-section__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-training-section__head {
    gap: 2.5rem;
  }
}

.p-training-section__container {
  margin-top: 2rem;
}

.p-training-section__lead {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-training-section__lead {
    font-size: 1rem;
  }
}

.p-training-section__be-af {
  margin-top: 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.5625rem;
}
@media screen and (min-width: 768px) {
  .p-training-section__be-af {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-training-section__be-head,
.p-training-section__af-head {
  font-size: 1.25rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-training-section__be-head,
  .p-training-section__af-head {
    font-size: 1.25rem;
  }
}

.p-training-section__be-body,
.p-training-section__af-body {
  padding-inline: 1em;
  margin-top: 1.25rem;
}

.p-training-section__be-text,
.p-training-section__af-text {
  position: relative;
  z-index: 0;
}
.p-training-section__be-text::before,
.p-training-section__af-text::before {
  display: inline-block;
  content: "・";
  position: absolute;
  left: -1em;
  top: 1em;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

.p-training-section__before {
  background-color: #fbf9f7;
  padding: 1.0625rem 0 1.25rem 1.0625rem;
  border-radius: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-training-section__before {
    max-width: 50%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.p-training-section__after {
  background: -webkit-gradient(linear, left top, left bottom, from(#f6e6cc), to(#e8f0ff));
  background: -webkit-linear-gradient(top, #f6e6cc 0%, #e8f0ff 100%);
  background: linear-gradient(180deg, #f6e6cc 0%, #e8f0ff 100%);
  padding: 1.0625rem 0 1.25rem 1.0625rem;
  border-radius: 0.5rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  width: 100%;
  position: relative;
  z-index: 0;
}
.p-training-section__after::before {
  content: "";
  position: absolute;
  display: block;
  width: 1.0625rem;
  height: 1.25rem;
  background-image: url(../images/00_common/btn-readmore.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 50%;
  -webkit-transform: translate(0, -2.375rem) rotate(90deg);
          transform: translate(0, -2.375rem) rotate(90deg);
}
@media screen and (min-width: 768px) {
  .p-training-section__after {
    max-width: 50%;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .p-training-section__after::before {
    top: 50%;
    left: 0;
    -webkit-transform: translate(-2.375rem, 0);
            transform: translate(-2.375rem, 0);
  }
}

.p-training-section__af-body {
  padding-left: 1em;
}

.p-training-section__cost {
  margin-top: 1.25rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-training-section__cost {
    font-size: 1rem;
  }
}

.p-training-section__img {
  width: 6.25rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-training-section__img {
    width: 8.125rem;
  }
}

.p-training-section__img img {
  aspect-ratio: 1/1;
}

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

.p-training-works__heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-training-works__slider-btn {
  position: relative;
  z-index: 0;
  max-width: 8.75rem;
  height: 3.75rem;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-training-works__slider-btn {
    padding-inline: 0;
  }
}

.p-training-works__items {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-training-works__items {
    margin-inline: -1.5rem;
    padding-inline: 1.5rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 2.5rem;
    overflow: auto;
  }
}
@media screen and (min-width: 1120px) {
  .p-training-works__items {
    overflow: visible;
    margin-inline: 0;
    padding-inline: 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
  }
}

.p-training-works__item {
  background-color: #fbf9f7;
  padding: 1.25rem;
  border-radius: 0.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2rem;
  width: 100%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-training-works__item {
    padding: 2rem;
  }
}

.p-training-works__voice {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-training-works__voice {
    font-size: 1.5rem;
  }
}

.p-training-works__text {
  margin-top: 2rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-training-works__text {
    font-size: 1rem;
  }
}

.p-training-works__name {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-training-works__name {
    font-size: 1rem;
  }
}

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

.p-training-blog__heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-training-blog__slider-btn {
  position: relative;
  z-index: 0;
  max-width: 8.75rem;
  height: 3.75rem;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-training-blog__slider-btn {
    padding-inline: 0;
  }
}

.p-training-blog__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-training-blog__items {
    overflow: visible;
    margin-inline: 0;
    padding-inline: 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
  }
}

.p-training-blog__item {
  width: 100%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}

.p-training-blog__img {
  width: 100%;
}

.p-training-blog__img img {
  aspect-ratio: 333/205;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-training-blog__title {
  margin-top: 1.5rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-training-blog__title {
    font-size: 1rem;
  }
}

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

.p-training-relation__items {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-training-relation__items {
    margin-top: 2.5rem;
  }
}

.p-training-relation__item {
  border-radius: 0.875rem;
  width: 100%;
  position: relative;
  z-index: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#F6E6CC), to(#E8F0FF));
  background: -webkit-linear-gradient(top, #F6E6CC 0%, #E8F0FF 100%);
  background: linear-gradient(180deg, #F6E6CC 0%, #E8F0FF 100%);
}

.p-training-relation__item + .p-training-relation__item {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-training-relation__item + .p-training-relation__item {
    margin-top: 1.25rem;
  }
}

.p-training-relation__item-bg {
  background-color: #fff;
  border-radius: 0.875rem;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: -1;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.p-training-relation__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  height: 100%;
  padding: 1.25rem 0 6.25rem 0;
}
@media screen and (min-width: 768px) {
  .p-training-relation__link {
    padding: 2.25rem min(8.75vw, 126px) 2.25rem 2.25rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.25rem;
  }
}

.p-training-relation__link-btn {
  display: block;
  width: 3.375rem;
  height: 3.375rem;
  position: absolute;
  top: calc(100% - 3.375rem);
  right: 1.25rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (min-width: 768px) {
  .p-training-relation__link-btn {
    width: 3.75vw, 54px;
    height: 3.75vw, 54px;
    right: 2.25rem;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}

.p-training-relation__vis {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 0.875rem;
  overflow: hidden;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-training-relation__vis {
    width: min(23.9583333333vw, 345px);
  }
}

.p-training-relation__vis img {
  aspect-ratio: 345/230;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-training-relation__head {
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-training-relation__head {
    font-size: 1.125rem;
    line-height: 1.5555555556;
  }
}

.p-training-relation__text {
  font-size: 0.9375rem;
  margin-top: 1.125rem;
}

@media (hover: hover) {
  .p-training-relation__vis img {
    -webkit-transition: -webkit-transform 0.6s ease;
    transition: -webkit-transform 0.6s ease;
    transition: transform 0.6s ease;
    transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
  .p-training-relation__item:hover .p-training-relation__link {
    opacity: 1;
  }
  .p-training-relation__item:hover .p-training-relation__item-bg {
    opacity: 0;
    visibility: hidden;
  }
  .p-training-relation__item:hover .p-training-relation__vis img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.p-consulting-fv {
  overflow: hidden;
}

.p-consulting-fv--school {
  position: relative;
  z-index: 0;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-fv--school {
    padding-bottom: 5rem;
  }
}

.p-consulting-fv__container {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .p-consulting-fv__container {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-consulting-fv__vis {
  width: 100%;
  position: relative;
  z-index: 0;
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-fv__vis {
    margin-left: min(4.6527777778vw, 67px);
    padding-bottom: 0;
  }
}

.p-consulting-fv__gradation {
  position: absolute;
  display: block;
  width: 99vw;
  height: calc(100% - 4.5rem);
  left: 2.5rem;
  bottom: 0;
  border-radius: 0.5rem 0 0 0.5rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-consulting-fv__gradation {
    height: 20rem;
    left: 4.5rem;
    top: 4.5rem;
    bottom: unset;
    border-radius: 1rem 0 0 1rem;
  }
}

.p-consulting-fv__navy {
  position: absolute;
  display: block;
  width: 200vw;
  height: 20rem;
  left: -12.5rem;
  top: -5rem;
  z-index: -1;
  background-color: #1B1D52;
}
@media screen and (min-width: 768px) {
  .p-consulting-fv__navy {
    left: -6.25rem;
    top: 4.5rem;
  }
}

.p-consulting-fv__img {
  width: 100%;
  margin-inline: auto;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-fv__img {
    width: 27.25rem;
    margin-inline: 0 auto;
    margin-top: 0;
  }
}

.p-consulting-fv__img img {
  aspect-ratio: 436/290;
  border-radius: 1rem;
}

.p-consulting-fv__lead {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-fv__lead {
    margin-top: 2.5rem;
    font-size: 1.125rem;
  }
}

.p-consulting-fv__img--square {
  margin-top: 5rem;
}
.p-consulting-fv__img--square img {
  border-radius: 0;
}
@media screen and (min-width: 768px) {
  .p-consulting-fv__img--square {
    margin-top: 0;
  }
}

.p-consulting-fv__lead--white {
  background-color: #fff;
  padding: 1.5625rem;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-consulting-fv__lead--white {
    padding: 2.25rem;
    margin-right: -2rem;
  }
}

.p-consulting-recommend {
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-consulting-recommend {
    padding-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
}

.p-consulting-recommend__items {
  margin-top: 1.25rem;
  padding: 1.5rem 1.25rem;
  background-color: #fff;
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-recommend__items {
    padding: 2.625rem 2.5rem;
  }
}

.p-consulting-recommend__item {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.p-consulting-recommend__item::before {
  content: "";
  position: absolute;
  background-image: url(../images/00_common/icon-check-nb.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.375rem;
  height: 1.5625rem;
  display: inline-block;
}

.p-consulting-recommend__item + .p-consulting-recommend__item {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-recommend__item + .p-consulting-recommend__item {
    margin-top: 2rem;
  }
}

.p-consulting-recommend__item:not(:last-of-type) {
  padding-bottom: 1.5rem;
  border-bottom: 1px dashed #1B1D52;
}
@media screen and (min-width: 768px) {
  .p-consulting-recommend__item:not(:last-of-type) {
    padding-bottom: 2rem;
  }
}

.p-consulting-recommend__text {
  font-size: 1.125rem;
  line-height: 1.5555555556;
  padding-left: 2rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-recommend__text {
    padding-left: 2.875rem;
  }
}

.p-consulting-service {
  background-color: #1B1D52;
  padding-block: 6.25rem;
  overflow: hidden;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .p-consulting-service {
    padding-block: 8.375rem;
  }
}

.p-consulting-service__heading {
  color: #fff;
}

.p-consulting-service__heading--navy {
  color: #1B1D52;
}

.p-consulting-service__lead {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-service__lead {
    margin-top: 2.5rem;
    font-size: 1.125rem;
  }
}

.p-consulting-service__items {
  margin-top: 2.5rem;
  counter-reset: consultingNum 0;
}
@media screen and (min-width: 768px) {
  .p-consulting-service__items {
    margin-top: 3.75rem;
  }
}

.p-consulting-service__item {
  counter-increment: consultingNum 1;
  background-color: #fff;
  border-radius: 1rem 0 0 1rem;
  padding-block: 3rem 0;
  padding-inline: 2rem calc(50vw - 50%);
  margin-inline: 0 calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .p-consulting-service__item {
    padding-block: 4.5rem 0;
    padding-inline: 4.5rem calc(50vw - 50%);
  }
}

.p-consulting-service__item + .p-consulting-service__item {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-service__item + .p-consulting-service__item {
    margin-top: 2.25rem;
  }
}

.p-consulting-service__content {
  border-top: 1px solid #1B1D52;
  padding-block: 3.75rem 3rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  z-index: 0;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-service__content {
    padding-block: 5.625rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0;
  }
}
.p-consulting-service__content::before {
  content: "Outcome " counter(consultingNum, decimal-leading-zero);
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.25rem;
}

.p-consulting-service__head {
  font-size: 1.25rem;
  line-height: 1.6;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-consulting-service__head {
    font-size: 1.5625rem;
    line-height: 1.6;
    width: 25rem;
  }
}

.p-consulting-service__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 0.9375rem;
}

.p-consulting-program {
  background-color: #1B1D52;
  padding-block: 6.25rem;
  overflow: hidden;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .p-consulting-program {
    padding-block: 8.375rem;
  }
}

.p-consulting-program__heading {
  color: #fff;
}

.p-consulting-program__lead {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-program__lead {
    margin-top: 2.5rem;
    font-size: 1.125rem;
  }
}

.p-consulting-program__lead-link {
  color: #fff;
  font-size: 0.9375rem;
  font-size: 1rem;
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.5rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

.p-consulting-program__sub-head {
  color: #fff;
  margin-top: 2.5rem;
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-program__sub-head {
    margin-top: 3.75rem;
    font-size: 1.75rem;
  }
}

.p-consulting-program__items {
  margin-top: 2rem;
  counter-reset: consultingNum 0;
}

.p-consulting-program__item {
  counter-increment: consultingNum 1;
  background-color: #fff;
  padding-inline: 1rem;
  padding-block: 5rem 1.5625rem;
  border-radius: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-consulting-program__item {
    padding-inline: min(11.1111111111vw, 160px) min(2.7777777778vw, 40px);
    padding-block: min(2.7777777778vw, 40px);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .p-consulting-program__item::before {
    content: "";
    position: absolute;
    z-index: 1;
    display: block;
    left: min(9.0277777778vw, 130px);
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    width: 1px;
    height: calc(100% - min(5.5555555556vw, 80px));
    background-color: #dcddeb;
  }
}

.p-consulting-program__item + .p-consulting-program__item {
  margin-top: 2rem;
}
.p-consulting-program__item + .p-consulting-program__item::after {
  content: "";
  position: absolute;
  display: block;
  width: 0.875rem;
  height: auto;
  aspect-ratio: 14/16;
  background-image: url(../images/00_common/btn-arrow-wt.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  top: -1.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(90deg);
          transform: translateX(-50%) rotate(90deg);
}
@media screen and (min-width: 768px) {
  .p-consulting-program__item + .p-consulting-program__item {
    margin-top: 2.25rem;
  }
}

.p-consulting-program__head {
  font-size: 1.25rem;
  line-height: 1.6;
  width: 100%;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  position: relative;
  z-index: 0;
}
.p-consulting-program__head::before {
  content: counter(consultingNum) "日目";
  position: absolute;
  top: -3.125rem;
  left: 0;
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-program__head {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    font-size: 1.5625rem;
    line-height: 1.6;
    width: 23rem;
  }
  .p-consulting-program__head::before {
    top: 0;
    left: max(-8.3333333333vw, -120px);
  }
}

.p-consulting-program__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 0.9375rem;
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-program__body {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    margin-top: 0;
  }
}

.p-consulting-program__foot {
  margin-top: 1.25rem;
  font-size: 0.9375rem;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-consulting-program__foot {
    margin-top: 2.5rem;
    font-size: 1rem;
  }
}

.p-consulting-program__foot-link {
  font-size: 0.9375rem;
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.5rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
@media screen and (min-width: 768px) {
  .p-consulting-program__foot-link {
    font-size: 1rem;
  }
}

.p-consulting-process {
  padding-top: 4.375rem;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-consulting-process {
    padding-top: 8.75rem;
  }
}

.p-consulting-process__items {
  counter-reset: flowNum 0;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-process__items {
    margin-top: 2.25rem;
  }
}

.p-consulting-process__item {
  counter-increment: flowNum 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #1B1D52;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-consulting-process__item {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.25rem;
    padding-right: 3.25rem;
    padding-bottom: 2.25rem;
  }
}
.p-consulting-process__item::after {
  content: "";
  position: absolute;
  top: 0.625rem;
  right: 0;
  display: block;
  width: 1.25rem;
  height: 0.625rem;
  background-image: url(../images/00_common/btn-arrow-tri-nb.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (min-width: 768px) {
  .p-consulting-process__item::after {
    display: none;
  }
}
.p-consulting-process__item.is-open::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-consulting-process__item + .p-consulting-process__item {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-process__item + .p-consulting-process__item {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .p-consulting-process__item:last-of-type {
    border-bottom: none;
  }
}

.p-consulting-process__content {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-consulting-process__content {
    display: block;
  }
}

.p-consulting-process__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-right: auto;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  position: relative;
  z-index: 0;
  padding-left: 2em;
}
@media screen and (min-width: 768px) {
  .p-consulting-process__head {
    margin-right: 0;
    padding-left: 0;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-consulting-process__head::before {
  content: counter(flowNum, decimal-leading-zero);
  font-size: 1.25rem;
  line-height: 1.6;
  top: 0;
  left: 0;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .p-consulting-process__head::before {
    position: static;
  }
}

.p-consulting-process__title {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-consulting-process__title {
    font-size: min(2.2222222222vw, 25px);
    margin-left: 1.625rem;
  }
}

.p-consulting-process__span {
  font-size: 0.8125rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 1px dashed #1B1D52;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-consulting-process__span {
    margin-left: 1.5rem;
  }
}

.p-consulting-process__body {
  margin-top: 1rem;
  font-size: 0.9375rem;
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 768px) {
  .p-consulting-process__body {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    padding-left: 2.875rem;
  }
}

.p-consulting-process__img {
  width: 10rem;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  margin-inline: auto;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-process__img {
    width: 11.25rem;
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    margin-top: 0;
    margin-inline: 0;
  }
}

.p-consulting-process__img img {
  aspect-ratio: 180/140;
}

.p-consulting-schedule {
  padding-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-schedule {
    padding-top: 8.75rem;
  }
}

.p-consulting-schedule__container {
  margin-top: 2.5rem;
}

.p-consulting-schedule__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-schedule__head {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.p-consulting-schedule__tab {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 10.875rem;
  padding: 0.3125rem;
  background-color: #bfc0ce;
  font-size: 1.125rem;
  color: #fff;
  border-radius: 0.5rem 0.5rem 0 0;
  -webkit-transition: color 0.6s ease, background-color 0.6s ease;
  transition: color 0.6s ease, background-color 0.6s ease;
  cursor: pointer;
}
.p-consulting-schedule__tab.is-active {
  background-color: #fff;
  color: #1B1D52;
}
.p-consulting-schedule__body {
  background-color: #fff;
  margin-inline: -1.5625rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-schedule__body {
    margin-inline: 0;
    border-radius: 0 0.875rem 0.875rem 0.875rem;
  }
}

.p-consulting-schedule__body-inner {
  position: relative;
  z-index: 0;
  padding-inline: 1.5625rem;
  padding-block: 3.375rem 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-consulting-schedule__body-inner {
    padding-inline: 3.375rem;
    padding-block: 3.375rem;
  }
}

.p-consulting-schedule__img {
  height: 34.375rem;
  width: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
.p-consulting-schedule__img.is-active {
  opacity: 1;
  visibility: visible;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-consulting-schedule__img {
    height: auto;
  }
}

.p-consulting-schedule__img--support {
  max-width: 20rem;
  margin-inline: auto;
}
.p-consulting-schedule__img--support img {
  aspect-ratio: 316/538;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-consulting-schedule__img--support {
    max-width: 56.25rem;
  }
  .p-consulting-schedule__img--support img {
    aspect-ratio: 900/361;
  }
}

.p-consulting-schedule__img--schedule {
  overflow: scroll;
}
.p-consulting-schedule__img--schedule img {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  width: auto;
  aspect-ratio: 900/475;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-consulting-schedule__img--schedule {
    overflow: visible;
    aspect-ratio: 900/475;
  }
  .p-consulting-schedule__img--schedule img {
    max-width: 100%;
  }
}

.p-consulting-related {
  padding-block: 6.25rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-consulting-related {
    padding-block: 8.375rem;
  }
}

.p-consulting-related--pt0 {
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  .p-consulting-related--pt0 {
    padding-top: 0;
  }
}

.p-consulting-related__items {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-related__items {
    margin-top: 2.5rem;
  }
}

.p-consulting-related__item {
  border-radius: 0.875rem;
  width: 100%;
  position: relative;
  z-index: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#F6E6CC), to(#E8F0FF));
  background: -webkit-linear-gradient(top, #F6E6CC 0%, #E8F0FF 100%);
  background: linear-gradient(180deg, #F6E6CC 0%, #E8F0FF 100%);
}

.p-consulting-related__item + .p-consulting-related__item {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-related__item + .p-consulting-related__item {
    margin-top: 1.125rem;
  }
}

.p-consulting-related__item-bg {
  background-color: #fff;
  border-radius: 0.875rem;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: -1;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.p-consulting-related__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  height: 100%;
  padding: 1.25rem 1.25rem 6.25rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-related__link {
    padding: 2.25rem min(9.5833333333vw, 138px) 2.25rem 2.25rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.25rem;
  }
}

.p-consulting-related__link-btn {
  display: block;
  width: 3.375rem;
  height: 3.375rem;
  position: absolute;
  top: calc(100% - 3.375rem);
  right: 1.25rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (min-width: 768px) {
  .p-consulting-related__link-btn {
    width: 3.75vw, 54px;
    height: 3.75vw, 54px;
    right: 2.25rem;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}

@media screen and (min-width: 768px) {
  .p-consulting-related__link-default {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.p-consulting-related__vis {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 0.875rem;
  overflow: hidden;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-consulting-related__vis {
    width: 21.8125rem;
  }
}

.p-consulting-related__vis img {
  aspect-ratio: 349/233;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-consulting-related__head {
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-consulting-related__head {
    font-size: 1.125rem;
    line-height: 1.5555555556;
  }
}

.p-consulting-related__catch {
  font-size: 1.25rem;
  line-height: 1.6;
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-related__catch {
    font-size: 1.5625rem;
    line-height: 1.6;
  }
}

.p-consulting-related__text {
  font-size: 0.9375rem;
  margin-top: 1.125rem;
}

.p-consulting-related__item--navy {
  background: transparent;
  background-color: #1B1D52;
}
.p-consulting-related__item--navy .p-consulting-related__link {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2.5rem 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-related__item--navy .p-consulting-related__link {
    padding: 4.5rem 2.25rem;
  }
}
.p-consulting-related__item--navy .p-consulting-related__catch {
  color: #fff;
  margin-top: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-consulting-related__item--navy .p-consulting-related__catch {
    text-align: left;
  }
}
.p-consulting-related__item--navy .p-consulting-related__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-related__item--navy .p-consulting-related__btn {
    margin-top: 2.25rem;
  }
}

@media (hover: hover) {
  .p-consulting-related__vis img {
    -webkit-transition: -webkit-transform 0.6s ease;
    transition: -webkit-transform 0.6s ease;
    transition: transform 0.6s ease;
    transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
  .p-consulting-related__item:hover .p-consulting-related__link {
    opacity: 1;
  }
  .p-consulting-related__item:hover .p-consulting-related__item-bg {
    opacity: 0;
    visibility: hidden;
  }
  .p-consulting-related__item:hover .p-consulting-related__vis img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .p-consulting-related__item--navy {
    -webkit-transition: background-color 0.6s ease;
    transition: background-color 0.6s ease;
  }
  .p-consulting-related__catch {
    -webkit-transition: color 0.6s ease;
    transition: color 0.6s ease;
  }
  .p-consulting-related__item--navy:hover {
    background-color: #dcdcdc;
  }
  .p-consulting-related__item--navy:hover .p-consulting-related__catch {
    color: #1B1D52;
  }
  .p-consulting-related__item--navy:hover .c-btn--white {
    background-color: #1B1D52;
    color: #fff;
    border: 1px solid #1B1D52;
  }
  .p-consulting-related__item--navy:hover .c-btn--white .c-btn__default {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  .p-consulting-related__item--navy:hover .c-btn--white .c-btn__hover {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}
.p-consulting-voice {
  padding-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-voice {
    padding-top: 8.75rem;
  }
}

.p-consulting-relations {
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-consulting-relations {
    padding-top: 8.75rem;
    padding-bottom: 8.75rem;
  }
}

.p-doctor-about {
  padding-block: 3.75rem;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-doctor-about {
    padding-block: 7.5rem;
  }
}

.p-doctor-about__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-inline: 1.75rem;
  padding-block: 1.75rem;
  gap: 1.75rem;
  background-color: #fff;
  border-radius: 1rem;
  border: 1px solid #1B1D52;
}
@media screen and (min-width: 768px) {
  .p-doctor-about__content {
    gap: 5rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    padding-inline: 6.25rem;
    padding-block: 5rem;
  }
}

.p-doctor-about__content-head {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}

.p-doctor-about__content-sub {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-doctor-about__content-sub {
    font-size: 1.625rem;
  }
}

.p-doctor-about__content-main {
  display: block;
  font-size: 1.625rem;
  line-height: 1.6;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-doctor-about__content-main {
    margin-top: 1rem;
    font-size: 2rem;
  }
}

.p-doctor-about__content-main--ul {
  display: inline-block;
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.5rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

.p-doctor-about__content-body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-doctor-about__content-text {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-doctor-about__content-text {
    font-size: 1rem;
  }
}

.p-doctor-about__content-link {
  margin-top: 0.25rem;
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.5rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  display: inline-block;
  margin-top: 2em;
}

.p-doctor-about__heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.p-doctor-about__container {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-doctor-about__container {
    margin-top: 4.375rem;
  }
}

.p-doctor-about__items {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-doctor-about__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.375rem 2.25rem;
  }
}

.p-doctor-about__item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
@media screen and (min-width: 768px) {
  .p-doctor-about__item {
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
}

.p-doctor-about__img {
  width: 15rem;
  margin-inline: auto;
  position: relative;
  z-index: 0;
  -webkit-filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
          filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
  outline: none;
  border: none;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-doctor-about__img {
    margin-top: 1.875rem;
  }
}
.p-doctor-about__img img {
  aspect-ratio: 312/180;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-doctor-about__head {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-doctor-about__head {
    font-size: min(2.0833333333vw, 24px);
  }
}

.p-doctor-about__body {
  margin-top: 1.5rem;
  font-size: 0.9375rem;
}

.p-doctor-motivation {
  background-color: #fff;
  border-radius: 1rem 1rem 0 0;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.p-doctor-motivation .c-bg-line-page {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 7.5rem;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 100%;
  height: 100%;
}
.p-doctor-motivation .c-bg-line-page svg {
  position: absolute;
  bottom: 0;
  width: 100%;
}

.p-doctor-motivation__bg {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 80%;
  display: block;
  width: 100%;
  z-index: -2;
  -webkit-filter: blur(40px);
          filter: blur(40px);
  opacity: 0.8;
  will-change: filter;
}
@media screen and (min-width: 768px) {
  .p-doctor-motivation__bg {
    height: 46.1875rem;
  }
}

.p-doctor-motivation__wrapper {
  position: relative;
  z-index: 0;
  padding-block: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-doctor-motivation__wrapper {
    padding-block: 7.5rem;
  }
}

.p-doctor-motivation__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.75rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-doctor-motivation__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-inline: 2.5rem;
  }
}

.p-doctor-motivation__content {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-doctor-motivation__content {
    width: 52%;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
}

.p-doctor-motivation__lead {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-doctor-motivation__lead {
    font-size: 1rem;
  }
}
.p-doctor-motivation__lead + .p-doctor-motivation__lead {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-doctor-motivation__lead + .p-doctor-motivation__lead {
    margin-top: 2.5rem;
  }
}

.p-university-bg {
  background-color: #FAF9E8;
  z-index: 10;
  position: relative;
}

.p-university-index {
  margin-top: 4.375rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-university-index {
    margin-top: 8.75rem;
    padding-bottom: 4.375rem;
  }
}

.p-university-index__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-university-index__inner {
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-university-index__link {
  line-height: 1.6;
  display: inline-block;
  background-color: #fff;
  border-radius: 0.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.5rem;
  height: 4.375rem;
  padding-inline: 1rem;
  padding-block: 0.5rem;
}
.p-university-index__link::before {
  content: "";
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  display: inline-block;
  width: 1.5rem;
  height: 1.4375rem;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  background-image: url(../images/00_common/btn-link-nb.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p-university-index__link {
    word-break: keep-all;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: auto;
    font-size: 0.9375rem;
  }
}

.p-university--consultant {
  background-color: #fbefdc;
}
.p-university--consultant .p-university__marquee-text {
  color: #856128;
}

.p-university--instructor {
  background-color: #efebe6;
}
.p-university--instructor .p-university__marquee-text {
  color: #8d6028;
}

.p-university--counselor {
  background-color: #dee2eb;
}
.p-university--counselor .p-university__marquee-text {
  color: #2c4675;
}

.p-university {
  padding-block: 2.5rem 7.5rem;
  border-radius: 1rem 0 0 1rem;
}
@media screen and (min-width: 768px) {
  .p-university {
    padding-block: 2rem 10rem;
    border-radius: 1rem 0 0 0;
  }
}
.p-university .p-university__marquee {
  overflow: hidden;
}
.p-university .p-university__marquee .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.p-university .p-university__marquee-text {
  font-size: 5rem;
  line-height: 1;
  opacity: 0.1;
  width: 55rem;
}
@media screen and (min-width: 768px) {
  .p-university .p-university__marquee-text {
    width: 90rem;
    font-size: 8.125rem;
  }
}
.p-university .p-university__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.75rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-university .p-university__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 1.25rem;
  }
}
.p-university .p-university__content {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-university .p-university__content {
    width: 52%;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
}
.p-university .p-university__lead {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-university .p-university__lead {
    font-size: 1rem;
  }
}
.p-university .p-university__lead + .p-university .p-university__lead {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-university .p-university__lead + .p-university .p-university__lead {
    margin-top: 2.5rem;
  }
}
.p-university .p-consulting-recommend {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-university .p-consulting-recommend {
    padding-top: 0;
    padding-bottom: 0;
  }
}
.p-university .p-consulting-recommend__items {
  padding-inline: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-university .p-consulting-recommend__items {
    padding-inline: 1.5rem;
  }
}
.p-university .p-university-study {
  position: relative;
  z-index: 0;
  margin-top: 3.75rem;
}
.p-university .p-university-study__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1.25rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #fff;
  border-radius: 1rem;
  padding-block: 1.5rem;
  padding-inline: 1.25rem;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-university .p-university-study__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2rem;
    padding-block: 2.5rem;
    padding-inline: 1.5rem;
  }
}
.p-university .p-university-study__items {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .p-university .p-university-study__items {
    max-width: 50%;
  }
}
.p-university .p-university-study__item {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.p-university .p-university-study__item::before {
  content: "・";
}
.p-university .p-university-program {
  position: relative;
  z-index: 0;
  margin-top: 3.75rem;
}
.p-university .p-university-program__heading {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-university .p-university-program__heading {
    margin-top: 1.25rem;
  }
}
.p-university .p-university-program__container {
  margin-top: 1.25rem;
  background-color: #fff;
  border-radius: 1rem;
  padding-block: 1.5rem;
  padding-inline: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-university .p-university-program__container {
    padding-block: 1.5rem;
    padding-inline: 1.5rem;
  }
}
.p-university .p-university-program__text {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-university .p-university-program__text {
    font-size: 1rem;
  }
}
.p-university .p-university-program__text + .p-university-program__text {
  margin-top: 0.75rem;
}
.p-university .p-consulting-related {
  padding-block: 0;
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-university .p-consulting-related {
    padding-block: 0;
    margin-top: 3.75rem;
  }
}
.p-university .p-consulting-related__item {
  background: none;
}
.p-university .p-consulting-related__link {
  padding: 0 0 6.25rem 0;
}
@media screen and (min-width: 768px) {
  .p-university .p-consulting-related__link {
    padding: 0 min(9.5833333333vw, 138px) 0 0;
  }
}
.p-university .p-consulting-related__link-hover {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
@media (hover: hover) {
  .p-university .p-consulting-related__link:hover .p-consulting-related__link-hover {
    opacity: 1;
    visibility: visible;
  }
}
.p-university:last-of-type {
  padding-bottom: 10rem;
}
@media screen and (min-width: 768px) {
  .p-university:last-of-type {
    padding-bottom: 12.5rem;
  }
}

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

.p-document-service__items {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-document-service__items {
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-document-service__item {
  display: grid;
}

.p-document-service__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (hover: hover) {
  .p-document-service__link:hover {
    opacity: 1;
  }
  .p-document-service__link:hover .c-btn {
    opacity: 1;
    background-color: #fff;
    color: #1B1D52;
  }
  .p-document-service__link:hover .c-btn .c-btn__default {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  .p-document-service__link:hover .c-btn .c-btn__hover {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}

.p-document-service__img {
  width: 100%;
}

.p-document-service__img img {
  aspect-ratio: 347/237;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-document-service__img img {
    border-radius: 1rem;
  }
}

.p-document-service__title {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .p-document-service__title {
    font-size: min(1.9444444444vw, 24px);
  }
}

.p-document-service__btn {
  margin-top: 1.5rem;
}
.p-document-service__btn .c-btn {
  width: 100%;
  max-width: 100%;
}

.p-document-single {
  margin-top: 2.5rem;
  padding-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .p-document-single {
    margin-top: 3.75rem;
    padding-bottom: 8.3125rem;
  }
}

.p-document-single__container {
  margin-top: 3.125rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 5rem;
}
@media screen and (min-width: 768px) {
  .p-document-single__container {
    margin-top: 6.25rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-document-single__content {
    max-width: 31.25rem;
    margin-right: min(4.1666666667vw, 60px);
  }
}

.p-document-single__content-img img {
  aspect-ratio: 500/341;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-document-single__content-img img {
    border-radius: 1.5rem;
  }
}

.p-document-single__content-head {
  margin-top: 2.5rem;
  line-height: 1.6;
  font-size: 1.75rem;
  font-weight: 500;
}

.p-document-single__content-body {
  margin-top: 2rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-document-single__content-body {
    font-size: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .p-document-single__form-wrap {
    max-width: 33.75rem;
  }
}

.p-document-single__form {
  background-color: #fbf9f7;
  border-radius: 0.5rem;
  padding: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-document-single__form {
    border-radius: 1rem 0 0 1rem;
    padding: 5rem 3.75rem;
  }
}

.p-document-single__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.p-document-single__row + .p-document-single__row {
  margin-top: 2.25rem;
}

.p-document-single__label {
  font-size: 0.9375rem;
  font-weight: 500;
}

.p-document-single__required {
  color: #F11F66;
  vertical-align: super;
  line-height: 1;
}

.p-document-single__body {
  position: relative;
  z-index: 0;
  width: 100%;
}
.p-document-single__body::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: calc(100% + 1px);
  height: calc(100% + 1px);
  background: -webkit-linear-gradient(350deg, #f6e6cc 0%, #e8f0ff 100%);
  background: linear-gradient(100deg, #f6e6cc 0%, #e8f0ff 100%);
  pointer-events: none;
  border-radius: 0.3125rem;
  z-index: -1;
}

.p-document-single__validation {
  position: absolute;
  top: 100%;
  left: 0;
  color: #F11F66;
  font-size: 0.8125rem;
}
.p-document-single__validation.--other {
  top: calc(100% + 2.75rem);
}

.p-document-single__input,
.p-document-single__textarea {
  padding: 0.125rem 1.25rem;
  width: 100%;
  outline: 1px solid #dfe0f6;
  -webkit-transition: outline 0.3s ease;
  transition: outline 0.3s ease;
  border-radius: 0.25rem;
  background-color: #fff;
}
.p-document-single__input::-webkit-input-placeholder, .p-document-single__textarea::-webkit-input-placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-document-single__input::-moz-placeholder, .p-document-single__textarea::-moz-placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-document-single__input:-ms-input-placeholder, .p-document-single__textarea:-ms-input-placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-document-single__input::-ms-input-placeholder, .p-document-single__textarea::-ms-input-placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-document-single__input::placeholder,
.p-document-single__textarea::placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-document-single__input:focus,
.p-document-single__textarea:focus {
  outline: 1px solid rgba(255, 255, 255, 0);
}

.p-document-single__textarea {
  padding: 0.625rem 1.25rem;
}

.p-document-single__row--agreement {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  font-size: 0.9375rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-document-single__row--agreement {
    font-size: 1rem;
  }
}
.p-document-single__row--agreement .wpcf7-list-item {
  margin: 0;
}
.p-document-single__row--agreement .wpcf7-list-item-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  position: relative;
  z-index: 0;
  cursor: pointer;
}
.p-document-single__row--agreement .wpcf7-list-item-label::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background: #fff;
  outline: 1px solid #dfe0f6;
  -webkit-transition: outline 0.6s ease;
  transition: outline 0.6s ease;
  z-index: 0;
  border-radius: 0.25rem;
}
.p-document-single__row--agreement .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.5rem;
  height: 0.3125rem;
  -webkit-transform: translate(40%, -70%) rotate(-45deg);
          transform: translate(40%, -70%) rotate(-45deg);
  background: none;
  border-radius: 1px;
  border: solid #F11F66;
  border-width: 0 0 1px 1px;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.2s ease, visibility 0.2s ease;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.p-document-single__row--agreement input {
  position: absolute;
}
.p-document-single__row--agreement input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
  visibility: visible;
}

.p-document-single__row--noGrad .p-document-single__body::before {
  display: none;
}

.p-document-single__btn {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-document-single__btn .wpcf7-submit:disabled {
  cursor: not-allowed;
  background-color: #dcdcdc;
  color: #fff;
  border: 1px solid #dcdcdc;
}
.p-document-single__btn .wpcf7-submit:disabled:hover .c-btn__default {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-document-single__btn .wpcf7-submit:disabled:hover .c-btn__hover {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
  display: none;
}

.p-document-single__privacy-link {
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

.p-contact__container {
  margin-top: 2.5rem;
}

.p-contact__form {
  background-color: #fbf9f7;
  border-radius: 0.5rem;
  padding: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-contact__form {
    border-radius: 1rem;
    padding: 4.5rem;
  }
}

.p-contact__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-contact__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.5rem;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.p-contact__row + .p-contact__row {
  margin-top: 2.25rem;
}

@media screen and (min-width: 768px) {
  .p-contact__head {
    width: 11.875rem;
  }
}

.p-contact__label {
  font-size: 0.9375rem;
  font-weight: 500;
}

.p-contact__required {
  color: #F11F66;
  vertical-align: super;
  line-height: 1;
}

.p-contact__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
  z-index: 0;
}
.p-contact__body::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: calc(100% + 1px);
  height: calc(100% + 1px);
  background: -webkit-linear-gradient(350deg, #f6e6cc 0%, #e8f0ff 100%);
  background: linear-gradient(100deg, #f6e6cc 0%, #e8f0ff 100%);
  pointer-events: none;
  border-radius: 0.3125rem;
  z-index: -1;
}

.p-contact__select-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  right: 1.125rem;
  pointer-events: none;
}

.p-contact__validation {
  position: absolute;
  top: 100%;
  left: 0;
  color: #F11F66;
  font-size: 0.875rem;
}

.p-contact__select,
.p-contact__input,
.p-contact__textarea {
  padding: 0.125rem 1.25rem;
  width: 100%;
  outline: 1px solid #dfe0f6;
  -webkit-transition: outline 0.3s ease;
  transition: outline 0.3s ease;
  border-radius: 0.25rem;
  background-color: #fff;
}
.p-contact__select::-webkit-input-placeholder, .p-contact__input::-webkit-input-placeholder, .p-contact__textarea::-webkit-input-placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-contact__select::-moz-placeholder, .p-contact__input::-moz-placeholder, .p-contact__textarea::-moz-placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-contact__select:-ms-input-placeholder, .p-contact__input:-ms-input-placeholder, .p-contact__textarea:-ms-input-placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-contact__select::-ms-input-placeholder, .p-contact__input::-ms-input-placeholder, .p-contact__textarea::-ms-input-placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-contact__select::placeholder,
.p-contact__input::placeholder,
.p-contact__textarea::placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-contact__select:focus,
.p-contact__input:focus,
.p-contact__textarea:focus {
  outline: 1px solid rgba(255, 255, 255, 0);
}

.p-contact__select {
  font-size: 0.9375rem;
  line-height: 2.2857142857;
}

.p-contact__textarea {
  padding: 0.625rem 1.25rem;
}

.p-contact__row--agreement {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-contact__row--agreement {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    font-size: 1rem;
  }
}
.p-contact__row--agreement .wpcf7-list-item {
  margin-left: 0;
}
.p-contact__row--agreement .wpcf7-list-item-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  position: relative;
  z-index: 0;
  cursor: pointer;
}
.p-contact__row--agreement .wpcf7-list-item-label::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background: #fff;
  outline: 1px solid #dfe0f6;
  -webkit-transition: outline 0.6s ease;
  transition: outline 0.6s ease;
  z-index: 0;
  border-radius: 0.25rem;
}
.p-contact__row--agreement .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.5rem;
  height: 0.3125rem;
  -webkit-transform: translate(40%, -70%) rotate(-45deg);
          transform: translate(40%, -70%) rotate(-45deg);
  background: none;
  border-radius: 1px;
  border: solid #F11F66;
  border-width: 0 0 1px 1px;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.2s ease, visibility 0.2s ease;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.p-contact__row--agreement input {
  position: absolute;
}
.p-contact__row--agreement input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
  visibility: visible;
}

.p-contact__btn {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background-color 0.6s ease, color 0.6s ease, border 0.6s ease;
  transition: background-color 0.6s ease, color 0.6s ease, border 0.6s ease;
}
.p-contact__btn .wpcf7-submit:disabled {
  cursor: not-allowed;
  background-color: #dcdcdc;
  color: #fff;
  border: 1px solid #dcdcdc;
}
.p-contact__btn .wpcf7-submit:disabled:hover .c-btn__default {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-contact__btn .wpcf7-submit:disabled:hover .c-btn__hover {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-contact__btn .c-btn.is-noValid {
  cursor: not-allowed;
  color: #1B1D52;
  background-color: #dcdcdc;
  -webkit-transition: color 0.4s ease, background-color 0.4s ease;
  transition: color 0.4s ease, background-color 0.4s ease;
}
.p-contact__btn .c-btn.is-noValid .c-btn__hover {
  opacity: 1;
  visibility: visible;
}

.wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
  display: none;
}

.wpcf7 .wpcf7-response-output {
  display: none;
}

.p-contact__privacy-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  line-height: 1.4;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media screen and (min-width: 768px) {
  .p-contact__privacy-link {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-contact__privacy-link a {
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

.p-contact-confirm__container {
  margin-top: 2.5rem;
}

.p-contact-confirm__form {
  background-color: #fbf9f7;
  border-radius: 0.5rem;
  padding: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-contact-confirm__form {
    border-radius: 1rem;
    padding: 4.5rem;
  }
}

.p-contact-confirm__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-contact-confirm__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.5rem;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.p-contact-confirm__row + .p-contact-confirm__row {
  margin-top: 2.25rem;
  position: relative;
  z-index: 0;
}
.p-contact-confirm__row + .p-contact-confirm__row::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: rgba(27, 29, 82, 0.2);
  left: 0;
  top: -1.125rem;
}

@media screen and (min-width: 768px) {
  .p-contact-confirm__head {
    width: 11.875rem;
  }
}

.p-contact-confirm__label {
  font-size: 0.9375rem;
  font-weight: 500;
}

.p-contact-confirm__required {
  color: #F11F66;
  vertical-align: super;
  line-height: 1;
}

.p-contact-confirm__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-contact-confirm__row--agreement {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.9375rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.p-contact-confirm__row--agreement .wpcf7-list-item-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  position: relative;
  z-index: 0;
}
.p-contact-confirm__row--agreement .wpcf7-list-item-label::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background: #fff;
  outline: 1px solid #dfe0f6;
  -webkit-transition: outline 0.6s ease;
  transition: outline 0.6s ease;
  z-index: 0;
  border-radius: 0.25rem;
}
.p-contact-confirm__row--agreement .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.5rem;
  height: 0.3125rem;
  -webkit-transform: translate(40%, -70%) rotate(-45deg);
          transform: translate(40%, -70%) rotate(-45deg);
  background: none;
  border-radius: 1px;
  border: solid #F11F66;
  border-width: 0 0 1px 1px;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.2s ease, visibility 0.2s ease;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.p-contact-confirm__row--agreement input {
  position: absolute;
}
.p-contact-confirm__row--agreement input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
  visibility: visible;
}

.p-contact-confirm__btn {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-contact-confirm__btn button:disabled {
  cursor: not-allowed;
}

.wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
  display: none;
}

.p-contact-thanks__container {
  margin-top: 2.5rem;
  padding-bottom: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-contact-thanks__container {
    padding-bottom: 5rem;
  }
}

.p-contact-thanks__head {
  font-size: 1.5rem;
  line-height: 1.5;
  word-break: auto-phrase;
}
@media screen and (min-width: 768px) {
  .p-contact-thanks__head {
    font-size: 1.75rem;
  }
}

.p-contact-thanks__text {
  margin-top: 1.25rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-contact-thanks__text {
    font-size: 1rem;
  }
}

.p-contact-thanks__btn {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-news-home__container {
  margin-top: 3.125rem;
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-news-home__container {
    margin-top: 1.25rem;
    padding-bottom: 8.75rem;
  }
}

.p-news-home__tags {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
  overflow: scroll;
  margin-inline: calc(50% - 50vw + 10px);
  padding-inline: calc(50vw - 50%);
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-news-home__tags {
    gap: 1.5rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-news-home__tags::-webkit-scrollbar {
  display: none;
}

.p-news-home__tag-head {
  font-size: 1.25rem;
  line-height: 1;
  margin-top: 0.3em;
}
@media screen and (min-width: 768px) {
  .p-news-home__tag-head {
    font-size: 1.5625rem;
    margin-top: 0;
  }
}

.p-news-home__tag-items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-news-home__tag-items {
    gap: 1rem;
  }
}

.p-news-home__tag-item {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 0.5rem;
  border: 1px solid #1B1D52;
  background-color: transparent;
  color: #1B1D52;
  -webkit-transition: background-color 0.6s ease, color 0.6s ease;
  transition: background-color 0.6s ease, color 0.6s ease;
}
.p-news-home__tag-item.is-current {
  background-color: #1B1D52;
  color: #fff;
}
.p-news-home__tag-item.is-current .p-news-home__tag-link {
  pointer-events: none;
}

.p-news-home__tag-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 9.375rem;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-news-home__tag-link {
    padding: 0.25rem 1.5rem;
    font-size: 0.9375rem;
    max-width: 100%;
  }
}

@media (hover: hover) {
  .p-news-home__tag-item:hover {
    background-color: #1B1D52;
    color: #fff;
  }
  .p-news-home__tag-item:hover .p-news-home__tag-link {
    opacity: 1;
    visibility: visible;
  }
}
.p-news-home__items {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-news-home__items {
    margin-top: 2.5rem;
  }
}

.p-news-home__item {
  width: 100%;
  border-bottom: 1px dashed #1B1D52;
  padding-bottom: 1.75rem;
}

.p-news-home__item + .p-news-home__item {
  margin-top: 1.75rem;
}
.p-news-home__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-news-home__link {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3.75rem;
  }
}

.p-news-home__img {
  width: 100%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-news-home__img {
    width: 17.5rem;
  }
}

.p-news-home__img img {
  aspect-ratio: 280/187;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.875rem;
}

.p-news-home__date {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.6666666667;
}
@media screen and (min-width: 768px) {
  .p-news-home__date {
    font-size: 0.9375rem;
  }
}

.p-news-home__title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-news-home__title {
    -webkit-line-clamp: 2;
    font-size: 1.5625rem;
  }
}

.p-news-home__category {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #1B1D52;
  border-radius: 0.5rem;
  padding: 0.125rem 1.25rem;
  margin-top: 1rem;
  font-size: 0.875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-news-home__category {
    font-size: 0.9375rem;
  }
}

.p-news-home__empty {
  font-size: 1.25rem;
  text-align: center;
  padding-block: 6.25rem;
}

.p-news-home__pagination {
  margin-top: 2.5rem;
}

.c-pagination-wrap {
  width: 100%;
}

.c-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .c-pagination {
    gap: 1.25rem;
  }
}

.page-numbers {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1rem;
  line-height: 1;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 0.25rem;
  border: 1px solid #1B1D52;
  -webkit-transition: background-color 0.6s ease, color 0.6s ease;
  transition: background-color 0.6s ease, color 0.6s ease;
}
@media screen and (min-width: 768px) {
  .page-numbers {
    font-size: 1.25rem;
  }
}

.page-numbers.current {
  background-color: #1B1D52;
  opacity: 1;
  color: #fff;
}

@media (hover: hover) {
  .page-numbers:hover {
    background-color: #1B1D52;
    opacity: 1;
    color: #fff;
  }
  .dots:hover {
    background-color: transparent;
    opacity: 1;
    color: #1B1D52;
  }
}
.p-news-single {
  margin-top: 6.25rem;
  padding-bottom: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-news-single {
    margin-top: 12.5rem;
    padding-bottom: 8.75rem;
  }
}

.p-news-single__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-news-single__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: min(5.5555555556vw, 80px);
  }
}

.p-news-single__content {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-news-single__content {
    display: block;
  }
}

.p-news-single__head {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (min-width: 768px) {
  .p-news-single__head {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}

.p-news-single__date {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.6666666667;
}
@media screen and (min-width: 768px) {
  .p-news-single__date {
    font-size: 0.9375rem;
  }
}

.p-news-single__title {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 0.25rem;
  line-height: 1.5;
  word-break: break-all;
}
@media screen and (min-width: 768px) {
  .p-news-single__title {
    font-size: 2rem;
  }
}

.p-news-single__category {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #1B1D52;
  border-radius: 0.5rem;
  padding: 0.125rem 1.25rem;
  margin-top: 1rem;
  margin-right: 1rem;
  font-size: 0.875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-news-single__category {
    font-size: 0.9375rem;
  }
}

.p-news-single__body {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
  margin-top: 1.25rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-news-single__body {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    margin-top: 2.5rem;
  }
}
.p-news-single__body > * + * {
  margin-top: 2em !important;
}
.p-news-single__body ul {
  list-style: none;
}
.p-news-single__body li {
  word-break: break-all;
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.p-news-single__body li::before {
  content: "・";
}
.p-news-single__body > ol {
  counter-reset: olNum 0;
}
.p-news-single__body > ol > li {
  counter-increment: olNum 1;
}
.p-news-single__body > ol > li::before {
  content: counter(olNum) ".";
}
.p-news-single__body > ol > li > ol {
  counter-reset: olNumNest 0;
}
.p-news-single__body > ol > li > ol > li {
  counter-increment: olNumNest 1;
}
.p-news-single__body > ol > li > ol > li::before {
  content: counter(olNum) "-" counter(olNumNest) ".";
}
.p-news-single__body h1,
.p-news-single__body h2,
.p-news-single__body h3,
.p-news-single__body h4,
.p-news-single__body h5,
.p-news-single__body h6 {
  line-height: 1.6;
}
.p-news-single__body h4,
.p-news-single__body h5,
.p-news-single__body h6 {
  font-size: 1rem;
}
.p-news-single__body a {
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.5rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
@media (hover: hover) {
  .p-news-single__body a:hover {
    text-decoration: underline;
    opacity: 0.8;
  }
}
.p-news-single__body .wp-block-media-text__content > * + * {
  margin-top: 2em;
}

.p-news-single__wrap {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-news-single__wrap {
    display: block;
  }
}

.p-news-single__wrap--sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  right: 0;
  padding-top: 10rem;
  margin-top: -10rem;
}

.p-news-single__img {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  width: 100%;
  margin-top: 1.25rem;
  display: block;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (min-width: 768px) {
  .p-news-single__img {
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    width: 27.5rem;
    margin-top: 0;
  }
}

.p-news-single__img--mt {
  margin-top: 1.5rem;
  width: auto;
}

.p-news-single__img img {
  aspect-ratio: 387/258;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.875rem;
}

.p-news-single__form {
  -webkit-box-ordinal-group: 5;
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4;
  width: 100%;
  margin-top: 2.5rem;
  /* radio */
  /* checkbox */
  /* select */
}
@media screen and (min-width: 768px) {
  .p-news-single__form {
    width: 27.5rem;
    -webkit-box-ordinal-group: unset;
    -webkit-order: unset;
        -ms-flex-order: unset;
            order: unset;
    margin-top: 0;
  }
}
.p-news-single__form .p-document-single__head--wrap {
  line-height: 1;
  padding-bottom: 0.5rem;
}
.p-news-single__form .p-document-single__radio {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 1.25rem;
}
.p-news-single__form .p-document-single__radio .wpcf7-list-item {
  margin-left: 0;
}
.p-news-single__form .p-document-single__radio label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
}
.p-news-single__form .p-document-single__radio input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  border: 1px solid #1B1D52;
  border-radius: 50%;
  width: 1em;
  height: auto;
  aspect-ratio: 1/1;
  margin-right: 0.5em;
}
.p-news-single__form .p-document-single__radio input + span {
  position: relative;
  z-index: 0;
}
.p-news-single__form .p-document-single__radio input + span::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 0.5rem;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  left: -1.25rem;
  border-radius: 50%;
  height: auto;
  aspect-ratio: 1/1;
  background-color: #1B1D52;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.2s ease, visibility 0.2s ease;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.p-news-single__form .p-document-single__radio input:checked + span::before {
  opacity: 1;
  visibility: visible;
}
.p-news-single__form .p-document-single__checkbox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0.625rem 1.5rem;
}
.p-news-single__form .p-document-single__checkbox .wpcf7-list-item {
  margin-left: 0;
}
.p-news-single__form .p-document-single__checkbox label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
}
.p-news-single__form .p-document-single__checkbox input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  border: 1px solid #1B1D52;
  border-radius: 0.125rem;
  width: 1em;
  height: auto;
  aspect-ratio: 1/1;
  margin-right: 0.5em;
}
.p-news-single__form .p-document-single__checkbox input + span {
  position: relative;
  z-index: 0;
}
.p-news-single__form .p-document-single__checkbox input + span::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 0.375rem;
  top: 50%;
  -webkit-transform: translate(0%, -75%) rotate(45deg);
          transform: translate(0%, -75%) rotate(45deg);
  left: -1.1875rem;
  height: auto;
  aspect-ratio: 1/1.5;
  border: solid #1B1D52;
  border-width: 0 1px 1px 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.2s ease, visibility 0.2s ease;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.p-news-single__form .p-document-single__checkbox input:checked + span::before {
  opacity: 1;
  visibility: visible;
}
.p-news-single__form .p-document-single__checkbox--column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-news-single__form .p-document-single__select-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  right: 1.125rem;
  pointer-events: none;
}
.p-news-single__form .p-document-single__select {
  padding: 0.125rem 1.25rem;
  width: 100%;
  outline: 1px solid #dfe0f6;
  -webkit-transition: outline 0.3s ease;
  transition: outline 0.3s ease;
  border-radius: 0.25rem;
  background-color: #fff;
  font-size: 0.9375rem;
  line-height: 2.2857142857;
}
.p-news-single__form .p-document-single__select::-webkit-input-placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-news-single__form .p-document-single__select::-moz-placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-news-single__form .p-document-single__select:-ms-input-placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-news-single__form .p-document-single__select::-ms-input-placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-news-single__form .p-document-single__select::placeholder {
  color: #c7c8e0;
  font-size: 0.9375rem;
}
.p-news-single__form .p-document-single__select:focus {
  outline: 1px solid rgba(255, 255, 255, 0);
}
.p-news-single__form .p-document-single__caption {
  font-size: 0.875rem;
  margin-top: 1.5rem;
}
.p-news-single__form .p-document-single__row--agreement .wpcf7-list-item-label {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-news-single__form .p-document-single__row--agreement .wpcf7-list-item-label::before {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin-top: 0.5rem;
}
.p-news-single__form .p-document-single__row--agreement .wpcf7-list-item-label::after {
  top: 0.875rem;
}

.p-news-single__Share {
  margin-top: 3.75rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-news-single__Share-head {
  font-size: 0.9375rem;
}

.p-news-single__sns-items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-news-single__sns-item {
  margin-left: 1rem;
}

.p-news-single__sns-item + .p-news-single__sns-item {
  margin-left: 0.5rem;
}

.p-news-single__sns-img {
  width: 5.0625rem;
}

.p-news-single__sns-img img {
  aspect-ratio: 81/54;
}

.p-news-single__btn {
  margin-top: 3.75rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-privacy__container {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-privacy__container {
    margin-top: 6.25rem;
  }
}

.p-privacy__lead {
  font-size: 0.9375rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-privacy__lead {
    font-size: 1rem;
  }
}

.p-privacy__items {
  counter-reset: privacyNum 0;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-privacy__items {
    margin-top: 5rem;
  }
}

.p-privacy__item {
  counter-increment: privacyNum 1;
}

.p-privacy__head {
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-privacy__head {
    font-size: 1.75rem;
    margin-top: 5rem;
  }
}
.p-privacy__head::before {
  content: counter(privacyNum) ". ";
  font-size: 1.75rem;
  color: currentColor;
}
@media screen and (min-width: 768px) {
  .p-privacy__head::before {
    font-size: 2rem;
  }
}

.p-privacy__head--noNum::before {
  content: "";
}

.p-privacy__body {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-privacy__body {
    margin-top: 2rem;
  }
}

.p-privacy__link {
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.125rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

.p-privacy__body-items {
  counter-reset: privacyBodyNum 0;
}

.p-privacy__body-item {
  counter-increment: privacyBodyNum 1;
  padding-left: 1em;
  position: relative;
  z-index: 0;
}
.p-privacy__body-item::before {
  content: counter(privacyBodyNum) ". ";
  position: absolute;
  left: 0;
  top: 0;
}

.p-privacy__enactment {
  margin-top: 2rem;
}

.u-mt-20 {
  margin-top: 1.25rem;
}

.u-pl1em {
  padding-left: 1em;
}

.u-hidden-mobile {
  display: none !important;
}
@media screen and (min-width: 768px) {
  .u-hidden-mobile {
    display: inline-block !important;
  }
}

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

.u-grid-hidden-mobile {
  display: none !important;
}
@media screen and (min-width: 768px) {
  .u-grid-hidden-mobile {
    display: grid !important;
  }
}

.u-flex-hidden-mobile {
  display: none !important;
}
@media screen and (min-width: 768px) {
  .u-flex-hidden-mobile {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

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

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

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

.u-flex-hidden-pc {
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
@media screen and (min-width: 768px) {
  .u-flex-hidden-pc {
    display: none !important;
  }
}

.u-hidden {
  visibility: hidden;
  display: none;
}

.u-visible {
  visibility: visible !important;
  opacity: 1 !important;
}

.u-bold {
  font-weight: 700 !important;
}

.u-fz12 {
  font-size: myrem(12) !important;
}

.display-xl {
  display: none;
}
@media screen and (min-width: 1449px) {
  .display-xl {
    display: block;
  }
}

.display-xl-over {
  display: block;
}
@media screen and (min-width: 1449px) {
  .display-xl-over {
    display: none;
  }
}

.u-inner-break {
  display: block;
}
@media screen and (min-width: 1120px) {
  .u-inner-break {
    display: none;
  }
}

/* ===============================================
# リストのドット
=============================================== */
.u-dot-text {
  display: inline-block;
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.u-dot-text::before {
  content: "・ ";
}

.u-dot-text--large::before {
  content: "　";
  position: absolute;
  top: -0.1em;
  left: 0;
  line-height: inherit;
  background: -webkit-radial-gradient(circle farthest-side, currentColor 20%, transparent 20%);
  background: radial-gradient(circle farthest-side, currentColor 20%, transparent 20%);
}

/* ===============================================
# ナンバリング
=============================================== */
.u-num-text {
  display: inline-block;
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.u-num-text.--01::before {
  content: "(1) ";
}
.u-num-text.--02::before {
  content: "(2) ";
}
.u-num-text.--03::before {
  content: "(3) ";
}
.u-num-text.--04::before {
  content: "(4) ";
}
.u-num-text.--05::before {
  content: "(5) ";
}
.u-num-text.--06::before {
  content: "(6) ";
}
.u-num-text.--07::before {
  content: "(7) ";
}
.u-num-text.--08::before {
  content: "(8) ";
}
.u-num-text.--09::before {
  content: "(9) ";
}
.u-num-text.--10::before {
  content: "(10) ";
}
.u-num-text.--11::before {
  content: "(11) ";
}
.u-num-text.--12::before {
  content: "(12) ";
}
.u-num-text.--13::before {
  content: "(13) ";
}

.u-op0 {
  opacity: 0;
}

.u-lh3_2 {
  line-height: 3.2;
}

.u-pr05em {
  padding-right: 0.5em;
}

.u-text-gradation {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  z-index: 1;
  font-weight: 500;
  background-image: -webkit-linear-gradient(353deg, #aac0eb 37.79%, #dfc7a2 72.58%);
  background-image: linear-gradient(97deg, #aac0eb 37.79%, #dfc7a2 72.58%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  opacity: 0;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}

.u-text-gradation__base {
  opacity: 1;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
  font-weight: 500;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.l-header__item,
.l-footer__map,
.l-footer__link,
.l-footer__heading-ja,
.c-follow__link,
.c-floating__link,
.c-contact__tel-num {
  text-wrap: nowrap;
}

@media (hover: hover) {
  .l-header__item:hover,
  .l-footer__map:hover,
  .l-footer__link:hover,
  .l-footer__head:hover,
  .c-follow__link:hover,
  .c-floating__link:hover,
  .c-contact__tel-num:hover {
    opacity: 1;
  }
  .l-header__item:hover .u-text-gradation__base,
  .l-footer__map:hover .u-text-gradation__base,
  .l-footer__link:hover .u-text-gradation__base,
  .l-footer__head:hover .u-text-gradation__base,
  .c-follow__link:hover .u-text-gradation__base,
  .c-floating__link:hover .u-text-gradation__base,
  .c-contact__tel-num:hover .u-text-gradation__base {
    opacity: 0;
  }
  .l-header__item:hover .u-text-gradation,
  .l-footer__map:hover .u-text-gradation,
  .l-footer__link:hover .u-text-gradation,
  .l-footer__head:hover .u-text-gradation,
  .c-follow__link:hover .u-text-gradation,
  .c-floating__link:hover .u-text-gradation,
  .c-contact__tel-num:hover .u-text-gradation {
    opacity: 1;
  }
  .l-footer__head.u-no-hover:hover .u-text-gradation__base {
    opacity: 1;
  }
  .l-footer__head.u-no-hover:hover .u-text-gradation {
    opacity: 0;
  }
}
.u-horizontal {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  -moz-text-combine-upright: all;
  text-combine-upright: all;
  display: inline-block;
}

.u-transform-x01 {
  -webkit-transform: translateX(0.1em);
          transform: translateX(0.1em);
}

.u-transform-x01--neg {
  -webkit-transform: translateX(-0.1em);
          transform: translateX(-0.1em);
}

.u-vertical {
  display: inline-block;
  -webkit-transform: translateX(0.15em) rotate(-90deg);
          transform: translateX(0.15em) rotate(-90deg);
}