@charset "UTF-8";
/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

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

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  border: none;
  padding: 0;
  background-color: transparent;
  background-color: initial;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
html {
  font-size: 100%;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.28vw;
  }
}
@media (min-width: 1250px) {
  html {
    font-size: 100%;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  font-size: 1rem;
  line-height: 1.875;
  padding-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1.125rem;
    line-height: 1.6666666667;
    padding-top: 0;
  }
}

body.is-fixed {
  position: fixed;
  width: 100%;
  overflow: hidden;
}

body.is-fixed::before {
  content: "";
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, .4);
  z-index: 100;
}

html.is-modal-open {
  position: fixed;
  width: 100%;
  overflow: hidden;
  -ms-touch-action: none;
      touch-action: none;
}

@media screen and (min-width: 768px) {
  a,
  button {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    cursor: pointer;
  }
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

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

:focus-visible {
  outline: 2px solid #007acc;
  outline-offset: 2px;
}

.modaal-content img {
  display: block;
  max-width: 100%;
  max-height: 90vh;
  /* 画面からはみ出ないように制限 */
  width: auto;
  height: auto;
  margin-inline: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

@media screen and (min-width: 768px) {
  .l-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 3.125rem;
  }
}

@media screen and (min-width: 768px) {
  .l-column__main {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
  }
}

.l-column__sidebar {
  background-color: #F6F6F6;
  padding: 1.875rem 1.25rem;
  margin-inline: calc(50% - 50vw);
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .l-column__sidebar {
    width: 18.75rem;
    position: sticky;
    top: 9.375rem;
    -ms-flex-item-align: start;
        align-self: flex-start;
    padding: 1.25rem;
    max-height: calc(100vh - 11.875rem);
    overflow-y: auto;
    margin-inline: auto;
    margin-top: 0;
  }
}

.l-inner {
  width: 100%;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 1250px;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .l-inner--s {
    max-width: 1050px;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
    margin-inline: auto;
  }
}

.l-inner--news {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  margin-inline: auto;
  padding-block: 1.25rem;
}
@media screen and (min-width: 768px) {
  .l-inner--news {
    max-width: 1000px;
    padding-right: 1.875rem;
    padding-left: 1.875rem;
    margin-inline: auto;
    padding-block: 1.875rem;
  }
}

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

.l-section--s {
  margin-top: 2.1875rem;
}
@media screen and (min-width: 768px) {
  .l-section--s {
    margin-top: 4.0625rem;
  }
}

.c-breadcrumb-sp {
  font-size: 0.8125rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 3.4375rem;
}

.c-breadcrumb-sp .breadcrumb {
  overflow: hidden;
}

.c-breadcrumb-sp span:not(:first-child) {
  padding-inline: 0.125rem;
}

.c-breadcrumb-sp span:first-child {
  padding-right: 0.125rem;
}

.c-breadcrumb {
  position: absolute;
  top: 0;
  right: 1.5625rem;
  font-size: 0.8125rem;
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .c-breadcrumb {
    text-align: right;
    margin-top: 1.25rem;
  }
}

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

.c-contact-button {
  width: 18.125rem;
  height: 3.125rem;
  display: grid;
  place-items: center;
  font-weight: 600;
  border-radius: 3.75rem;
  border: 1px solid #fff;
  position: relative;
  text-decoration: none;
  overflow: hidden;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .c-contact-button {
    width: 21.875rem;
    height: 3.75rem;
  }
}

.c-contact-button--white {
  background-color: #fff;
}

.c-contact-button__text {
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .c-contact-button__text {
    font-size: 1.125rem;
  }
}

.c-contact-button--white .c-contact-button__text {
  color: #000;
}

/* 矢印の円 */
.c-contact-button::before {
  content: "";
  position: absolute;
  right: 0.625rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  background-color: #fff;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .c-contact-button::before {
    width: 2.5rem;
    height: 2.5rem;
  }
}

/* 矢印画像（hoverで切り替え＆移動） */
.c-contact-button::after {
  content: "";
  position: absolute;
  right: 1.375rem;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(0);
          transform: translateY(-50%) translateX(0);
  width: 0.4375rem;
  height: 0.75rem;
  background-image: url("../images/icon_more-arrow@2x.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-transition: background-image 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-image 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, background-image 0.3s ease;
  transition: transform 0.3s ease, background-image 0.3s ease, -webkit-transform 0.3s ease;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .c-contact-button::after {
    right: 1.5625rem;
    width: 0.625rem;
    height: 1.125rem;
  }
}

@media (any-hover: hover) {
  .c-contact-button:hover {
    background-color: #1886CC;
  }
  .c-contact-button:hover::after {
    -webkit-transform: translateY(-50%) translateX(0.3125rem);
            transform: translateY(-50%) translateX(0.3125rem);
    background-image: url("../images/icon_more-arrow_hover@2x.png");
  }
}
.c-go-top-button {
  width: 18.125rem;
  height: 3.125rem;
  display: grid;
  place-items: center;
  color: #000;
  font-weight: 700;
  background-color: #fff;
  border-radius: 3.75rem;
  border: 1px solid #AEAEAE;
  position: relative;
  text-decoration: none;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .c-go-top-button {
    height: 3.75rem;
    margin-inline: auto;
  }
}

/* 矢印の円 */
.c-go-top-button::before {
  content: "";
  position: absolute;
  right: 0.625rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  background-color: rgba(177, 177, 177, .12);
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .c-go-top-button::before {
    width: 2.5rem;
    height: 2.5rem;
  }
}

/* 矢印画像（hoverで切り替え＆移動） */
.c-go-top-button::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(0);
          transform: translateY(-50%) translateX(0);
  right: 1.375rem;
  width: 0.4375rem;
  height: 0.75rem;
  background: url("../images/icon_more-arrow@2x.png") no-repeat center/contain;
  -webkit-transition: background-image 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-image 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, background-image 0.3s ease;
  transition: transform 0.3s ease, background-image 0.3s ease, -webkit-transform 0.3s ease;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .c-go-top-button::after {
    right: 1.5625rem;
    width: 0.625rem;
    height: 1.125rem;
  }
}

@media (any-hover: hover) {
  .c-go-top-button:hover {
    background-color: #F3FAFF;
    border: 1px solid #1886CC;
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, .16);
            box-shadow: 0px 0px 5px rgba(0, 0, 0, .16);
  }
  .c-go-top-button:hover::after {
    -webkit-transform: translateY(-50%) translateX(0.3125rem);
            transform: translateY(-50%) translateX(0.3125rem);
    background: url("../images/icon_more-arrow_hover@2x.png") no-repeat center/contain;
    width: 0.625rem;
    height: 1.125rem;
  }
}
.c-hamburger-btn {
  display: inline-block;
  position: relative;
  width: 1.6875rem;
  height: 1.6875rem;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  margin-right: 9.375rem;
  transition: all 0.3s ease-in-out;
  z-index: 9999;
}
@media screen and (min-width: 768px) {
  .c-hamburger-btn {
    display: none;
  }
}

.c-hamburger-btn.c-hamburger-btn.is-open {
  margin-right: 1.25rem;
}

.c-hamburger-btn__line {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 27px;
  height: 2px;
  background-color: #000;
  -webkit-transition: inherit;
  transition: inherit;
}

.c-hamburger-btn__line::before,
.c-hamburger-btn__line::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: inherit;
  content: "";
  -webkit-transition: inherit;
  transition: inherit;
}

.c-hamburger-btn__line::before {
  top: -8px;
}

.c-hamburger-btn__line::after {
  top: 8px;
}

.c-hamburger-btn.is-open .c-hamburger-btn__line {
  background-color: transparent;
}

.c-hamburger-btn.is-open .c-hamburger-btn__line::before {
  top: 0;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
  background-color: #000;
}

.c-hamburger-btn.is-open .c-hamburger-btn__line::after {
  top: 0;
  -webkit-transform: rotate(-35deg);
          transform: rotate(-35deg);
  background-color: #000;
}

.c-hamburger__text {
  position: absolute;
  bottom: -0.625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 0.5rem;
  text-transform: uppercase;
  color: #000 !important;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

/* closeを初期状態で非表示にする */
.c-hamburger__text--close {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

/* is-open になったときに close を表示 */
.c-hamburger-btn.is-open .c-hamburger__text--close {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

/* is-open になったときに open を非表示 */
.c-hamburger-btn.is-open .c-hamburger__text--open {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.c-modal__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  margin-bottom: 1.25rem;
}

.c-modal__body {
  margin-top: 1.25rem;
}

.c-more {
  width: 18.125rem;
  height: 3.125rem;
  display: grid;
  place-items: center;
  color: #000;
  font-weight: 700;
  background-color: #fff;
  border-radius: 3.75rem;
  border: 2px solid #004099;
  position: relative;
  text-decoration: none;
  overflow: hidden;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .c-more {
    height: 3.75rem;
    margin-inline: 0;
  }
}

.c-more--shadow {
  /*border: none;*/
  -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, .16);
          box-shadow: 0px 0px 5px rgba(0, 0, 0, .16);
}

.c-more--center {
  margin-inline: auto;
}

.p-case__more--pc-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-case__more--pc-only {
    display: grid;
  }
}

.c-more--top-column {
  width: 18.0625rem;
  height: 3.125rem;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .c-more--top-column {
    width: 15.625rem;
    height: 3.75rem;
    font-size: 1.125rem;
  }
}

/* 矢印の円 */
.c-more::before {
  content: "";
  position: absolute;
  right: 0.625rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  background-color: rgba(177, 177, 177, .12);
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .c-more::before {
    width: 2.5rem;
    height: 2.5rem;
  }
}

/* 矢印画像（hoverで切り替え＆移動） */
.c-more::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(0);
          transform: translateY(-50%) translateX(0);
  right: 1.375rem;
  width: 0.4375rem;
  height: 0.75rem;
  background: url("../images/icon_more-arrow@2x.png") no-repeat center/contain;
  -webkit-transition: background-image 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-image 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, background-image 0.3s ease;
  transition: transform 0.3s ease, background-image 0.3s ease, -webkit-transform 0.3s ease;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .c-more::after {
    right: 1.5625rem;
    width: 0.625rem;
    height: 1.125rem;
  }
}

@media (any-hover: hover) {
  .c-more:hover {
    background-color: #F3FAFF;
    border: 1px solid #1886CC;
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, .16);
            box-shadow: 0px 0px 5px rgba(0, 0, 0, .16);
  }
  .c-more:hover::after {
    -webkit-transform: translateY(-50%) translateX(0.3125rem);
            transform: translateY(-50%) translateX(0.3125rem);
    background: url("../images/icon_more-arrow_hover@2x.png") no-repeat center/contain;
    width: 0.625rem;
    height: 1.125rem;
  }
  .c-more--shadow:hover {
    background-color: #F3FAFF;
    border: 1px solid #1886CC;
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, .16);
            box-shadow: 0px 0px 5px rgba(0, 0, 0, .16);
  }
}
.c-privacy-note {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .c-privacy-note {
    font-size: 1rem;
  }
}

.c-section-title {
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-section-title {
    font-size: 1.75rem;
    font-weight: 800;
  }
}

.c-section-title::before {
  content: attr(data-en);
  font-family: "Oswald", sans-serif;
  font-size: 3.75rem;
  line-height: 1;
  font-weight: 500;
  color: #ECECEC;
  text-transform: uppercase;
  margin-top: -0.4375rem;
  margin-bottom: -0.3125rem;
}
@media screen and (min-width: 768px) {
  .c-section-title::before {
    font-size: 7.625rem;
    margin-top: -1rem;
    margin-left: -1.25rem;
  }
}

.c-section-title--service::before {
  color: #F5F5F5;
}

.c-section-title::after {
  content: "";
  display: block;
  width: 3.125rem;
  height: 0.1875rem;
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, #014099), color-stop(50%, #FDCB00));
  background: linear-gradient(to right, #014099 50%, #FDCB00 50%);
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .c-section-title::after {
    width: 5rem;
    height: 0.3125rem;
    margin-top: 1.5625rem;
  }
}

.c-section-title--white {
  color: #fff;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-section-title--white::before {
  color: rgba(245, 245, 245, .13);
}

@media screen and (min-width: 768px) {
  .c-section-title--center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.c-terms {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.3125rem;
}

.c-terms--case {
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .c-terms--wide {
    gap: 0.625rem;
  }
}

.c-terms__term {
  background-color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1;
  display: grid;
  place-items: center;
  border: 1px solid #000;
  border-radius: 0.1875rem;
  padding: 0.25rem 0.9375rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-terms__term--gray {
  color: #000;
  font-weight: 400;
  background-color: #F2F2F2;
  border: 1px solid #D2D2D2;
}

@media (any-hover: hover) {
  .c-terms__term:hover {
    color: #fff;
    background-color: #000;
    border: 1px solid #000;
  }
  .c-terms__term--gray:hover {
    color: #000;
    background-color: #F2F2F2;
    border: 1px solid #D2D2D2;
  }
  .c-terms__term--no-link:hover {
    color: #000;
    background-color: inherit;
    border: 1px solid inherit;
  }
}
.c-terms__term.current-cat {
  background-color: #000;
  color: #fff;
  border: 1px solid #000;
}

.c-terms__term--l {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .c-terms__term--l {
    font-size: 0.9375rem;
    height: 1.6875rem;
  }
}

.c-text {
  padding-top: 0.9375rem;
  line-height: 1.5625;
}
@media screen and (min-width: 768px) {
  .c-text {
    line-height: 1.6666666667;
  }
}

@media screen and (min-width: 768px) {
  .c-text:not(:first-child) {
    padding-top: 1.25rem;
  }
}

.c-text--bold {
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .p-404__content {
    text-align: center;
  }
}

.p-about__message-wrap {
  display: grid;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-about__message-wrap {
    gap: 1.875rem;
  }
}

.p-about__message-lists {
  list-style-type: disc;
  margin-left: 1.25rem;
}

.p-about__message-text:last-child {
  margin-top: 1.25rem;
}

.p-about__company-table {
  display: block;
  width: 100%;
  border-spacing: 0;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-about__company-table {
    display: table;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.p-about__company-table tbody {
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-about__company-table tbody {
    display: table-row-group;
  }
}

.p-about__company-table tr {
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-about__company-table tr {
    display: table-row;
  }
}

.p-about__company-table th,
.p-about__company-table td {
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: none;
  border-bottom: 1px solid #C8C8C8;
  padding: 0.5rem 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-about__company-table th,
  .p-about__company-table td {
    display: table-cell;
    padding: 0.625rem 1.25rem;
  }
}

.p-about__company-table tr:first-child td {
  border-top: 1px solid #C8C8C8;
}

.p-about__company-table th {
  background-color: #014099;
  color: #fff;
  font-weight: 500;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-about__company-table th {
    width: 13.75rem;
  }
}

@media screen and (min-width: 768px) {
  .p-about__company-table td {
    width: 39.375rem;
  }
}

.p-about__access {
  border: 1px solid #C8C8C8;
  padding: 1.25rem 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-about__access {
    padding: 1.875rem;
  }
}

.p-about__access-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: #014099;
}

.p-about__access-wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-about__access-wrap {
    margin-inline: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.875rem;
    margin-top: 1.25rem;
  }
}

.p-about__access-map {
  width: 100%;
  aspect-ratio: 4/3;
}
@media screen and (min-width: 768px) {
  .p-about__access-map {
    aspect-ratio: 750/450;
  }
}

.p-about__access-map iframe {
  width: 100%;
  height: 100%;
}

.p-about__access-lists {
  list-style-type: disc;
  margin-left: 1.25rem;
}

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

.p-about__history-items {
  margin-left: 1.25rem;
}

.p-about__history-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-about__history-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-about__history-year {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-about__history-year {
    width: 15%;
  }
}

.p-about__history-item {
  padding-left: 1.25rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-about__history-item {
    padding-left: 1.875rem;
  }
}

.p-about__history-item::before,
.p-about__history-item::after {
  content: "";
  position: absolute;
  top: 0.5625rem;
}

.p-about__history-item::before {
  left: 0;
  width: 1px;
  height: 100%;
  background: #C8C8C8;
}

.p-about__history-item::after {
  left: -0.3125rem;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background: #014099;
}

.p-about__history-description {
  padding-bottom: 0.9375rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-about__history-description {
    width: 85%;
  }
}

.p-case {
  margin-top: 3.125rem;
  position: relative;
  overflow: hidden;
  padding-bottom: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-case {
    margin-top: 6.25rem;
    padding-bottom: 3.125rem;
  }
}

@media screen and (min-width: 768px) {
  .home .p-case {
    margin-top: 8.125rem;
  }
}

.p-case::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 11.875rem;
  background-color: #F6F6F6;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-case::before {
    height: 42%;
  }
}
@media screen and (min-width: 1024px) {
  .p-case::before {
    height: 19.1875rem;
  }
}

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

.p-case__head {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-case__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

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

.p-case__swiper {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 1.875rem;
  margin-inline: calc(50% - 50vw);
  margin-bottom: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-case__swiper {
    margin-top: 3.125rem;
    margin-bottom: 0;
  }
}

.p-case__more {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.p-case__swiper .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.p-case__swiper .slide-img img {
  aspect-ratio: 320/180;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 5px solid transparent;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.p-case__swiper .slide-company-name {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 0.9375rem;
}

.p-case__swiper .c-terms--top {
  margin-top: 0.3125rem;
}

.p-case__swiper .slide-excerpt {
  line-height: 1.5625;
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-case__swiper .slide-excerpt {
    line-height: 1.5555555556;
  }
}

.p-case__swiper .slide-excerpt {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  margin-top: 0.9375rem;
}

.p-case__swiper .swiper-button-next,
.p-case__swiper .swiper-button-prev {
  text-rendering: auto;
  color: rgba(0, 0, 0, .5);
}
@media screen and (min-width: 768px) {
  .p-case__swiper .swiper-button-next,
  .p-case__swiper .swiper-button-prev {
    display: none;
  }
}

.p-case__swiper .swiper-button-next::after,
.p-case__swiper .swiper-button-prev::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
}

/* 右向き（三角） */
.p-case__swiper .swiper-button-next::after {
  border-width: 1.25rem 0 1.25rem 1.5625rem;
  border-color: transparent transparent transparent rgba(0, 0, 0, .5);
}

/* 左向き（三角） */
.p-case__swiper .swiper-button-prev::after {
  border-width: 1.25rem 1.5625rem 1.25rem 0;
  border-color: transparent rgba(0, 0, 0, .5) transparent transparent;
}

@media (any-hover: hover) {
  .p-case__swiper .swiper-slide:hover .slide-img img {
    opacity: 0.8;
    border: 5px solid #1886CC;
  }
}
.p-categories-area {
  background-color: #F1F1F1;
  padding: 0.9375rem 0.9375rem 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.125rem;
}
@media screen and (min-width: 768px) {
  .p-categories-area {
    padding: 1.25rem 1.5625rem;
    gap: 0.3125rem;
  }
}

.p-categories-area--solution {
  padding: 0.8125rem 0.9375rem 0.9375rem;
  gap: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-categories-area--solution {
    padding: 0.9375rem 1.5625rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.9375rem;
  }
}

.p-categories-area__title {
  font-size: 1rem;
  line-height: 1.25;
  color: #014099;
  font-weight: 800;
  padding-block: 0.3125rem;
  border-bottom: 1px solid #A5A5A5;
}
@media screen and (min-width: 768px) {
  .p-categories-area__title {
    font-size: 1.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-bottom: none;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-categories-area__title::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #A5A5A5;
    margin-left: 2.0625rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.p-categories-area__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-categories-area__form {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.1875rem;
  }
}

.p-categories-area__text {
  font-size: 0.9375rem;
  font-weight: 800;
  padding-bottom: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-categories-area__text {
    font-size: 1.25rem;
    padding-right: 0.9375rem;
    padding-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0.9375rem;
  }
}

.p-categories-area__text--solution {
  border-bottom: 1px solid #A5A5A5;
}
@media screen and (min-width: 768px) {
  .p-categories-area__text--solution {
    border-bottom: none;
    border-right: 1px solid #A5A5A5;
  }
}

@media screen and (min-width: 768px) {
  .p-categories-area__text label {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.p-categories-area__select-box {
  position: relative;
}

/* select自体の矢印を非表示にする */
.p-categories-area__select-box select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  padding: 0.3125rem 0.625rem;
  width: 100%;
  border: 1px solid #A5A5A5;
  border-radius: 0.1875rem;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-categories-area__select-box select {
    width: 22.25rem;
    cursor: pointer;
  }
}

/* カスタムアイコン */
.p-categories-area__select-box::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0.625rem;
  width: 1.25rem;
  height: 0.625rem;
  background-image: url("../images/icon_column-arrow@2x.png");
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-categories-area__select-box::after {
    right: 0.9375rem;
    width: 1.5rem;
    height: 0.75rem;
  }
}

.p-categories-area__text select {
  font-size: 0.9375rem;
  font-weight: 500;
}

.p-column-archive__mv::before {
  background: url(../images/eyecatch_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .p-column-archive__mv::before {
    background: url(../images/eyecatch_pc.jpg) no-repeat center center/cover;
  }
}

.p-column-archive__content {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-column-archive__content {
    margin-top: 3.75rem;
  }
}

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

.p-column__head-text {
  font-size: 1.125rem;
  color: #014099;
  font-weight: 800;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.p-column__head-text::after {
  content: "";
  display: block;
  width: 6.125rem;
  height: 0.1875rem;
  background-color: #ABABAB;
  margin-left: 1.1875rem;
}

.p-column__title {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2727272727;
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-column__title {
    font-size: 1.5625rem;
    line-height: 1.44;
    margin-top: 1.5625rem;
  }
}

.p-column__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5625rem;
  font-size: 0.8125rem;
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-column__meta {
    font-size: 0.9375rem;
    margin-top: 1.5625rem;
  }
}

.p-column__category {
  margin-top: 1.5625rem;
}

.p-column__author {
  margin-top: 1.5625rem;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p-column__author {
    font-size: 1.125rem;
  }
}

.p-column__author a {
  display: inline-block;
  color: #014099;
  position: relative;
}

.p-column__author a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 3px;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #014099;
}

.p-column__eyecatch {
  width: 100%;
  margin-top: 1.875rem;
}

.p-column__eyecatch img {
  aspect-ratio: 850/478;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-column__author-profile {
  max-width: 28.125rem;
  width: 100%;
  margin-inline: auto;
  border: 1px solid #707070;
  padding: 0.625rem 0.9375rem 0.9375rem;
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-column__author-profile {
    min-width: 100%;
    padding: 1.875rem;
    margin-top: 6.25rem;
  }
}

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

.p-column__author-profile-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: #014099;
}

.p-column__author-profile-position {
  font-size: 1.125rem;
  font-weight: 700;
}

.p-column__author-profile-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.1875rem;
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .p-column__author-profile-body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 1.25rem;
  }
}

.p-column__author-profile-image {
  width: 11.25rem;
  margin-inline: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-column__author-profile-image img {
  aspect-ratio: 225/250;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-column__author-profile-name {
  font-size: 1.375rem;
  font-weight: 700;
}

.p-column__author-profile-text {
  font-size: 1rem;
  line-height: 1.875;
  margin-top: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-column__author-profile-text {
    font-size: 1.125rem;
    line-height: 1.6666666667;
    margin-top: 0.625rem;
  }
}

.p-column__author-profile-button {
  width: 18.125rem;
  height: 3.75rem;
  display: grid;
  place-items: center;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
  border-radius: 3.75rem;
  border: 1px solid #AEAEAE;
  text-align: center;
  position: relative;
  text-decoration: none;
  overflow: hidden;
  margin-inline: auto;
  margin-top: 1.25rem;
  padding-bottom: 0.1875rem;
}
@media screen and (min-width: 768px) {
  .p-column__author-profile-button {
    width: 25rem;
    height: 3.75rem;
    font-size: 1.125rem;
    padding-bottom: 0;
  }
}

.p-column__author-profile-button::before {
  content: "";
  position: absolute;
  right: 0.625rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  background-color: rgba(177, 177, 177, .12);
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-column__author-profile-button::before {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.p-column__author-profile-button::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(0);
          transform: translateY(-50%) translateX(0);
  width: 0.5rem;
  height: 1rem;
  background: url("../images/icon_more-arrow@2x.png") no-repeat center/contain;
  -webkit-transition: background-image 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-image 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, background-image 0.3s ease;
  transition: transform 0.3s ease, background-image 0.3s ease, -webkit-transform 0.3s ease;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-column__author-profile-button::after {
    right: 1.5625rem;
    width: 0.625rem;
    height: 1.125rem;
  }
}

@media (any-hover: hover) {
  .p-column__author-profile-button:hover {
    background-color: #F3FAFF;
    border: 1px solid #1886CC;
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, .16);
            box-shadow: 0px 0px 5px rgba(0, 0, 0, .16);
  }
  .p-column__author-profile-button:hover::after {
    -webkit-transform: translateY(-50%) translateX(0.3125rem);
            transform: translateY(-50%) translateX(0.3125rem);
    background: url("../images/icon_more-arrow_hover@2x.png") no-repeat center/contain;
    width: 0.625rem;
    height: 1.125rem;
  }
}
@media screen and (min-width: 768px) {
  .p-column .p-cta {
    gap: 2.6041666667vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-column .p-cta {
    gap: 3.125rem;
  }
}

.p-column__sidebar-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #014099;
  text-align: center;
  padding-bottom: 0.3125rem;
  border-bottom: 2px solid #014099;
}
@media screen and (min-width: 768px) {
  .p-column__sidebar-title {
    padding-bottom: 0.625rem;
  }
}

.p-column__sidebar-title--category {
  margin-top: 2.5rem;
}

.p-column__sidebar-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
  margin-top: 1.25rem;
}

.p-column__sidebar-image img {
  aspect-ratio: 334/169;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border: 5px solid transparent;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .p-column__sidebar-image img {
    aspect-ratio: 260/146;
  }
}

@media (any-hover: hover) {
  .p-column__sidebar-item a:hover .p-column__sidebar-image img {
    opacity: 0.8;
    border: 5px solid #1886CC;
  }
}
.p-column__sidebar-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.3125rem;
  margin-top: 0.9375rem;
}

.p-column__sidebar-post-title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.1111111111;
}

.p-column__sidebar-meta {
  margin-top: 0.3125rem;
}

.p-column__sidebar-author {
  font-size: 0.9375rem;
  font-weight: 700;
}

.p-column__sidebar .c-terms--column {
  gap: 0.625rem;
}

.p-column__sidebar .c-terms__term {
  background-color: transparent;
}

@media (any-hover: hover) {
  .p-column__sidebar .c-terms__term--link:hover {
    background-color: #000;
  }
}
.p-column__recommend__inner {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-column__recommend__inner {
    display: block;
  }
}

.p-column__recommend-title {
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-column__recommend-title {
    font-size: 1.75rem;
    font-weight: 800;
    margin-top: 6.25rem;
  }
}

.p-column__recommend-title::after {
  content: "";
  display: block;
  width: 5rem;
  height: 0.3125rem;
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, #014099), color-stop(50%, #FDCB00));
  background: linear-gradient(to right, #014099 50%, #FDCB00 50%);
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .p-column__recommend-title::after {
    margin-top: 25px;
  }
}

.p-column__recommend .p-grid-items {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-column__recommend .p-grid-items {
    margin-top: 1.875rem;
  }
}

.p-column__recommend .p-grid-items__image img {
  aspect-ratio: 334/169;
}
@media screen and (min-width: 768px) {
  .p-column__recommend .p-grid-items__image img {
    aspect-ratio: 260/146;
  }
}

.p-column__recommend .p-grid-items__title {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-column__recommend .p-grid-items__title {
    font-size: 1.25rem;
  }
}

.p-consulting__step-img {
  width: 100%;
  margin-inline: auto;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-consulting__step-img {
    margin-top: 1.25rem;
  }
}

.p-consulting__step-img img {
  aspect-ratio: 957/561;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-consulting__step-list-body {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-consulting__step-list-body {
    margin-top: 3.75rem;
  }
}

.p-consulting__step-list-body--first {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-consulting__step-list-body--first {
    margin-top: 6.25rem;
  }
}

.p-consulting__step-sub-title {
  font-size: 1.375rem;
  margin-block: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-consulting__step-sub-title {
    font-size: 1.625rem;
  }
}

.p-contact-download__section-title {
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-contact-download__section-title {
    margin-bottom: 2.25rem;
  }
}

.p-contact-download__section-description {
  padding-inline: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-contact-download__section-description {
    padding-inline: 2rem;
  }
}

.p-contact {
  padding-bottom: 1.875rem;
}

.p-contact__content-text + .p-contact__content-text {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-contact__content-text + .p-contact__content-text {
    margin-top: 1.875rem;
  }
}

/*確認画面と完了画面を非表示*/
.p-contact__confirm-area,
.p-contact__thanks-area {
  display: none;
}

/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output {
  display: none;
}

.p-cta {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.875rem;
  width: 100%;
  margin-inline: auto;
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-cta {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.125rem;
    margin-top: 6.25rem;
  }
}

.p-cta-item {
  max-width: 29.6875rem;
  width: 100%;
  margin-inline: auto;
  border: 0.3125rem solid #EEEEEE;
  padding: 1.5625rem 1.25rem 1.875rem;
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-cta-item {
    max-width: 100%;
    padding: 1.5625rem 1.25rem 1.875rem;
  }
}

.p-cta-item::before {
  width: 1.25rem;
  height: 1.5625rem;
  position: absolute;
  content: "";
  top: -0.3125rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.p-cta-item--download::before {
  background-color: #FDCB00;
}

.p-cta-item--contact::before {
  background-color: #1886CC;
}

.p-cta-item__title {
  font-size: 1.25rem;
  font-weight: 800;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-cta-item__title {
    font-size: 1.4375rem;
  }
}

.p-cta-item__text {
  margin-top: 0.625rem;
  line-height: 1.5625;
}
@media screen and (min-width: 768px) {
  .p-cta-item__text {
    margin-top: 0.9375rem;
  }
}

.p-cta-item__button {
  width: 100%;
  height: 3.75rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.625rem;
  border-radius: 0.3125rem;
  font-size: 1.125rem;
  font-weight: 800;
  color: #fff;
  position: relative;
  margin-top: 1.0625rem;
  margin-inline: auto;
}

.p-cta-item__button--s {
  width: 9.375rem;
  height: 3.125rem;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-cta-item__button--s {
    width: 15.625rem;
    height: 3.75rem;
    font-size: 1.125rem;
  }
}

.p-cta-item__button--download {
  background: radial-gradient(ellipse at 0% -10%, #FFF4C9 0%, #FDCB00 20%, #D9AE00 75%);
}

.p-cta-item__button--download::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 0% 0%, #FDCB00 0%, #FDCB00 22%, #E28636 100%);
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
}

.p-cta-item__button--contact {
  background: radial-gradient(ellipse at 0% -10%, #E8FCD7 0%, #7FE5DA 20%, #1886CC 100%);
}

.p-cta-item__button--contact::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 0% 0%, #E8FCD7 0%, #7FE5DA 22%, #1886CC 100%);
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
}

.p-cta-item__button:hover::after {
  opacity: 0.25;
}

.p-cta-item__button-text {
  position: relative;
  z-index: 2;
}

/* 資料ダウンロードセクション */
.p-download__list {
  margin-inline: auto;
  max-width: 23.75rem;
  margin-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-download__list {
    max-width: unset;
  }
}

.p-download__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-download__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 1.875rem;
       -moz-column-gap: 1.875rem;
            column-gap: 1.875rem;
  }
}

.p-download__image {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-download__image {
    width: 40%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.p-download__image img {
  width: 100%;
  aspect-ratio: 3/2;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-download__title {
  margin-top: 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-download__title {
    margin-top: unset;
  }
}

.p-download__description {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-download__description {
    margin-top: unset;
  }
}

.p-download__link-area {
  margin-top: 0.5rem;
}

.p-download__link {
  color: #1886CC;
  text-decoration: underline;
  text-underline-offset: 2px;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.p-download__link:hover {
  opacity: 0.7;
}

.p-download__select .wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
}

@media screen and (min-width: 768px) {
  .p-form__item.p-download__form-item {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.p-download__pagination {
  margin-top: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-download__pagination {
    margin-top: 4rem;
  }
}

.p-download__pagination .page-numbers {
  width: 2rem;
  height: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #f2f2f2;
  font-size: 0.8em;
}

.p-download__pagination .page-numbers.current {
  background-color: #1f1f1f;
  color: #fff;
}

.p-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  background-color: #fff;
  z-index: 300;
  overflow-y: auto;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.p-drawer.is-open {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.p-drawer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 3.75rem 1.25rem 1.875rem;
}

.p-drawer__nav {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.p-drawer__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.p-drawer__item {
  position: relative;
}

.p-drawer__item:first-child::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  height: 0.0625rem;
  background-color: #CECECE;
}

.p-drawer__item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  height: 0.0625rem;
  background-color: #CECECE;
}

.p-drawer__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem 0;
  color: #000;
  text-decoration: none;
  font-weight: 600;
}

.p-drawer__link::after {
  content: "";
  margin-right: 0.3125rem;
  width: 0.625rem;
  height: 1.125rem;
  background: url("../images/icon_more-arrow_hover@2x.png") no-repeat center/contain;
}

.p-drawer__link--no-link::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.p-drawer__link--no-link.is-open::after {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.p-drawer__sub-list {
  display: none;
  margin: 0;
  background-color: #f5faff;
  margin-inline: calc(50% - 50vw);
  padding-inline: 1.25rem;
}

.p-drawer__sub-list.is-open {
  display: block;
}

.p-drawer__sub-item {
  position: relative;
}

.p-drawer__sub-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  height: 0.0625rem;
  background-color: #CECECE;
}

.p-drawer__sub-link {
  display: block;
  padding: 0.75rem 0;
}

.p-drawer__buttons {
  max-width: 25rem;
  width: 100%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 0.625rem;
  margin-top: 1.875rem;
}

.p-drawer__button {
  display: block;
  width: 100%;
  height: 3.125rem;
  display: grid;
  place-items: center;
  font-weight: bold;
  border-radius: 0.3125rem;
}

.p-drawer__button--contact {
  background: radial-gradient(ellipse 140% 180% at -40px -40px, #E8FCD7 0%, #7FE5DA 50%, #1886CC 100%);
  color: #fff;
}

.p-drawer__button--recruit {
  background: radial-gradient(ellipse 90% 100% at 0 0, #FDCB00 0%, #E28636 100%);
  color: #fff;
}

.p-footer-cta {
  background: radial-gradient(ellipse 150% 100% at -50% 0%, #F8FFE9 0%, #E8FCD7 12%, #ABFFDB 25%, #38EFE9 45%, #21A9DC 60%, #1479C6 100%);
  color: #fff;
  text-align: center;
  padding: 2.8125rem 1.25rem 3.75rem;
  margin-top: 0.3125rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-footer-cta {
    margin-top: 6.25rem;
    padding: 5.3125rem 1.25rem 5rem;
  }
}

.home .p-footer-cta {
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .home .p-footer-cta {
    margin-top: 5.125rem;
  }
}

.p-footer-cta__title {
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: -1.5rem;
}
@media screen and (min-width: 768px) {
  .p-footer-cta__title {
    font-size: 1.75rem;
    font-weight: 800;
    margin-top: -0.3125rem;
  }
}

.p-footer-cta__title::before {
  content: attr(data-en);
  position: absolute;
  top: -1.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: "Oswald", sans-serif;
  font-size: 3.75rem;
  line-height: 1;
  font-weight: 500;
  color: #fff;
  opacity: 0.08;
  text-transform: uppercase;
  margin-top: -1.875rem;
  margin-bottom: -0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-footer-cta__title::before {
    font-size: 7.625rem;
    margin-top: -4.6875rem;
  }
}

.p-footer-cta__lead {
  margin: 1.5625rem 0 1.6875rem;
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-footer-cta__lead {
    margin: 0.9375rem 0 1.875rem;
    font-size: 1rem;
  }
}

.c-button--contact-outline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border: 1px solid #fff;
  border-radius: 62.4375rem;
  color: #fff;
  background: transparent;
  font-weight: 700;
  text-decoration: none;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.c-button--contact-outline:hover {
  background-color: rgba(255, 255, 255, .1);
}

.c-button__icon {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background: url("./assets/images/icon_arrow-right.svg") no-repeat center/contain;
}

.p-footer-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  padding-block: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-footer-main {
    gap: 2.5rem;
    padding-block: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-footer-main {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 5rem;
  }
}
.p-footer-main__logo-area {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-footer-main__logo-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.875rem;
  }
}

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

.p-footer-logo img {
  aspect-ratio: 131/52;
  max-width: 8.1875rem;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-footer-logo__text {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 700;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-footer-logo__text {
    margin-top: 0.8125rem;
  }
}

.p-footer-address {
  line-height: 1.5;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.p-footer-privacy-badge {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}

.p-footer-privacy-badge img {
  aspect-ratio: 1/1;
  max-width: 6.875rem;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

/* フッターメインブロック */
.p-footer-body {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-footer-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
}

/* フッター ナビ全体 */
.p-footer-nav {
  font-size: 1rem;
  line-height: 1.6875;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.9375rem;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 768px) {
  .p-footer-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 3.125rem;
  }
}

/* カラム単位のグループ */
.p-footer-nav__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}

/* 見出し or リンク（共通） */
.p-footer-nav__title {
  font-weight: 700;
  position: relative;
  padding-left: 2.1875rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-footer-nav__title::before {
  content: "";
  position: absolute;
  left: 0;
  width: 1.25rem;
  height: 0.125rem;
  background-color: #000;
}

@media (any-hover: hover) {
  .p-footer-nav__title:not(.p-footer-nav__title--no-link):hover {
    text-decoration: underline;
  }
}
/* 事業案内（子メニュー） */
.p-footer-nav__child {
  max-width: 12.5rem;
  width: 100%;
  border-radius: 0.1875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.3125rem;
  margin-top: -0.625rem;
  margin-left: 2.1875rem;
}

/* コピーライト */
.p-footer-copy {
  font-size: 0.8125rem;
  margin-top: 5rem;
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}
@media screen and (min-width: 768px) {
  .p-footer-copy {
    margin-top: 0;
    text-align: right;
  }
}

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

.p-form__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 0.9375rem 0;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-form__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-inline: auto;
    padding: 1.25rem 0;
    gap: 0 0.625rem;
  }
}

.p-form__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 0 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-form__title {
    width: 30%;
    gap: 0.625rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-form__title span {
  display: inline-block;
  padding: 0.125rem 0.3125rem;
  color: #fff;
  font-size: 0.75rem;
  background-color: #D00000;
}

.p-form__title--type02 {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-form__title--aiStart {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.p-form__input {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-form__input {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.p-formInput input::-webkit-input-placeholder,
.p-formTextarea textarea::-webkit-input-placeholder {
  color: #D2D2D2;
}

.p-formInput input::-moz-placeholder,
.p-formTextarea textarea::-moz-placeholder {
  color: #D2D2D2;
}

.p-formInput input::-ms-input-placeholder,
.p-formTextarea textarea::-ms-input-placeholder {
  color: #D2D2D2;
}

.p-formInput input::placeholder,
.p-formTextarea textarea::placeholder {
  color: #D2D2D2;
}

.p-formInput input {
  width: 100%;
  height: 2.5rem;
  border: 1px solid #A5A5A5;
  padding-inline: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-formInput input {
    height: 3.75rem;
    padding-inline: 1.25rem;
  }
}

.p-formInput input:focus,
.p-formTextarea textarea:focus {
  outline: 2px solid #A5A5A5;
}

.p-formInput__post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-formInput__post input {
  max-width: 20rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-formInput__post input {
    margin-inline: auto;
  }
}

.p-formSelect select {
  width: 100%;
  height: 2.5rem;
  color: #000;
  padding-left: 1.25rem;
  border: 1px solid #A5A5A5;
  background: url(../images/icon_news-arrow@2x.png) right 16px center/16px no-repeat;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media screen and (min-width: 768px) {
  .p-formSelect select {
    height: 3.75rem;
  }
}

.p-formSelect select:focus {
  outline: 2px solid #A5A5A5;
}

.p-formCalendar input::-webkit-date-and-time-value {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .Android .p-formCalendar input {
    padding-left: 0.9375rem;
  }
}

.p-formCalendar input:focus {
  outline: 2px solid #A5A5A5;
}

@media screen and (min-width: 768px) {
  .p-form__dataBlockSelect {
    width: 100%;
  }
}

.p-formCheckbox input {
  display: none;
}

.p-formCheckbox .wpcf7-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25rem;
}

.p-formCheckbox .wpcf7-list-item {
  margin-left: 0;
}

.p-formCheckbox--vertical .wpcf7-checkbox {
  display: block;
}

.p-formCheckbox--vertical .wpcf7-list-item {
  display: block;
  margin: 0;
}

.p-formCheckbox--vertical .wpcf7-list-item + .wpcf7-list-item {
  margin-top: 1.25rem;
}

.p-formCheckbox input + span {
  position: relative;
  display: inline-block;
  width: auto;
  padding: 0 0 0 1.5625rem;
  font-size: 0.875rem;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-formCheckbox input + span {
    padding: 0 0 0 2.1875rem;
    font-size: 1.125rem;
  }
}

.p-formCheckbox input + span::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid #A5A5A5;
  background-color: #fff;
}

.p-formCheckbox input + span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 6px;
  display: block;
  width: 8px;
  height: 13px;
  margin-top: -8px;
  border-right: 3px solid #014099;
  border-bottom: 3px solid #014099;
  opacity: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.p-formCheckbox input:checked + span::after {
  opacity: 1;
}

.p-formRadio input + span::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  margin-top: auto;
  margin-right: 0.5em;
  margin-bottom: auto;
  border: 1px solid #A5A5A5;
  border-radius: 100%;
  background: #fff;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}

.p-formRadio input:checked + span::before {
  background-color: #014099;
  -webkit-box-shadow: inset 0 0 0 3px #fff;
          box-shadow: inset 0 0 0 3px #fff;
}

.p-formTextarea textarea {
  width: 100%;
  min-height: 9.375rem;
  padding-top: 10px;
  padding-left: 0.9375rem;
  border: 1px solid #A5A5A5;
  border-radius: 0;
  resize: vertical;
}
@media screen and (min-width: 768px) {
  .p-formTextarea textarea {
    width: 100% !important;
    min-height: 12.5rem;
    padding-left: 1.25rem;
  }
}

.p-form__submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625rem;
  margin-top: 1.875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-form__submit {
    margin-top: 3.125rem;
  }
}

.p-form__submit input {
  width: 50%;
  padding: 0.9375rem 0;
  border: none;
  color: #fff;
  text-align: center;
  border-radius: 0;
  background-color: #014099;
  cursor: pointer;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
}
@media screen and (min-width: 768px) {
  .p-form__submit input {
    width: 18.75rem;
    padding: 1.25rem 0;
  }
}

.p-form__submit input:disabled {
  color: #fff;
  background-color: #eee;
  border-color: #eee;
}

@media (any-hover: hover) {
  .p-form__submit input:hover {
    opacity: 0.7;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .p-form__submit:disabled input:hover {
    cursor: not-allowed;
  }
}
.p-formInput {
  padding-inline: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-formInput {
    padding-inline: 0;
  }
}

.wpcf7 form.sent .wpcf7-response-output {
  padding: 15px 10px;
  border-color: #2C94DE;
  font-size: 24px;
}
@media screen and (min-width: 768px) {
  .wpcf7 form.sent .wpcf7-response-output {
    font-size: 16px;
  }
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  padding: 15px 10px;
  border-color: red;
  font-size: 24px;
}
@media screen and (min-width: 768px) {
  .wpcf7 form.invalid .wpcf7-response-output,
  .wpcf7 form.unaccepted .wpcf7-response-output,
  .wpcf7 form.payment-required .wpcf7-response-output {
    font-size: 16px;
  }
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-not-valid-tip {
  display: block;
  color: red;
  font-size: 16px;
  font-weight: normal;
}

.wpcf7-form.hide_error_message .wpcf7-not-valid-tip {
  display: none;
}

.p-formValidation .wpcf7-not-valid-tip {
  display: none;
}

.p-formValidation__error {
  display: none;
  margin-top: 10px;
  color: red;
  font-size: 16px;
  font-weight: normal;
}

.wpcf7-form:not(.hide_error_message) .p-formValidation:has(.wpcf7-not-valid-tip) .p-formValidation__error {
  display: block;
}

.p-form__privacy-box {
  max-height: 12.5rem;
  overflow-y: auto;
  padding: 1em;
  border: 1px solid #ccc;
  font-size: 0.875rem;
  line-height: 1.6;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-form__privacy-box {
    max-height: 18.75rem;
    font-size: 1rem;
    margin-top: 1.875rem;
  }
}

/* スクロールバーを少しカスタマイズ（Chrome, Edge, Safari用） */
.p-form__privacy-box::-webkit-scrollbar {
  width: 0.5rem;
}

.p-form__privacy-box::-webkit-scrollbar-thumb {
  background-color: #bbb;
  border-radius: 0.25rem;
}

.p-form__privacy-box::-webkit-scrollbar-track {
  background-color: #eee;
}

.p-form__privacy-box-title {
  font-weight: 700;
  background-color: rgba(24, 134, 204, .05);
  padding: 0.625rem;
  border-left: 5px solid #014099;
}

/* 見出し（番号部分）を太字にする */
.p-form__privacy-list > li > strong {
  display: block;
  margin-bottom: 0.3125rem;
  font-weight: bold;
}

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

.p-form__acceptance {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-form__acceptance {
    text-align: center;
    margin-top: 3.125rem;
  }
}

.p-global-nav {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-global-nav {
    display: block;
    margin-right: 21.25rem;
    font-size: 1rem;
    height: inherit;
  }
}
@media screen and (min-width: 1250px) {
  .p-global-nav {
    margin-right: 21.875rem;
  }
}

.p-global-nav__list {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.0833333333vw;
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}

.p-global-nav__item {
  position: relative;
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-global-nav__link {
  font-weight: 500;
  color: #000;
  text-decoration: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: inherit;
}
@media screen and (min-width: 768px) {
  .p-global-nav__link {
    padding: 0.5rem 0;
    position: relative;
  }
}

.p-global-nav__modal {
  position: absolute;
  top: 4.6875rem;
  left: 0.3125rem;
  max-width: 13.75rem;
  width: 100%;
  background-color: #fff;
  border-radius: 0.1875rem;
  -webkit-box-shadow: 0 0.3125rem 0.625rem rgba(0, 0, 0, .16);
          box-shadow: 0 0.3125rem 0.625rem rgba(0, 0, 0, .16);
  padding: 0.625rem;
  opacity: 0;
  visibility: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.3125rem;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.p-global-nav__modal-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-global-nav__modal-wrap:hover > .p-global-nav__modal {
  opacity: 1;
  visibility: visible;
}

.p-global-nav__modal-item {
  background-color: #EFF8FF;
  padding: 0.1875rem 0.4375rem 0.1875rem 2.125rem;
  border-radius: 0.1875rem;
  border: 1px solid #EFF8FF;
}

.p-global-nav__modal-item a {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.9285714286;
}

.p-global-nav__modal-item:has(a:hover) {
  border: 1px solid rgba(69, 163, 235, .69);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-global-nav__modal-item a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1.25rem;
  width: 0.375rem;
  height: 0.375rem;
  border-top: 0.125rem solid #000;
  border-left: 0.125rem solid #000;
  -webkit-transform: translateY(-50%) rotate(135deg);
          transform: translateY(-50%) rotate(135deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-global-nav__modal-item a::before {
    width: 0.5rem;
    height: 0.5rem;
  }
}

.p-global-nav__modal-item a:hover::before {
  left: -1.0625rem;
}

.p-global-nav__link:hover {
  color: #1886CC;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-global-nav__link::after {
  content: "";
  position: absolute;
  bottom: 1.25rem;
  left: 50%;
  width: 0.3125rem;
  height: 0.3125rem;
  background-color: #1886CC;
  border-radius: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-global-nav__link:hover::after {
  opacity: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-global-nav__link--no-link {
  position: relative;
  z-index: 50;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}

.p-global-nav__link--no-link::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0.125rem;
  width: 0.375rem;
  height: 0.375rem;
  border-top: 0.125rem solid #000;
  border-right: 0.125rem solid #000;
  -webkit-transform: translateX(-50%) rotate(135deg);
          transform: translateX(-50%) rotate(135deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-global-nav__modal-wrap:hover .p-global-nav__link--no-link {
  color: #1886CC;
}

.p-global-nav__modal-wrap:hover .p-global-nav__link--no-link::before {
  border-top: 0.125rem solid #1886CC;
  border-right: 0.125rem solid #1886CC;
  bottom: -0.0625rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-global-nav__link--no-link:hover::after {
  opacity: 0;
}

@media screen and (min-width: 768px) {
  .p-global-nav__modal-item a:hover::before {
    opacity: 0.8;
  }
}

.p-grid-items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.875rem;
  max-width: 23.75rem;
  width: 100%;
  margin-top: 1.875rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-grid-items {
    grid-template-columns: repeat(3, 1fr);
    gap: 3.125rem 1.875rem;
    max-width: none;
    max-width: initial;
    margin-top: 2.5rem;
  }
}

.p-grid-items__item {
  width: 100%;
  overflow: hidden;
}

.p-grid-items__image {
  max-width: 23.75rem;
  width: 100%;
}

.p-grid-items__image img {
  aspect-ratio: 380/213;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border: 5px solid transparent;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

@media (any-hover: hover) {
  .p-grid-items__item a:hover .p-grid-items__image img {
    opacity: 0.8;
    border: 5px solid #1886CC;
  }
}
.p-grid-items__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-grid-items__title {
    -webkit-line-clamp: 1;
    line-clamp: 1;
  }
}

.p-grid-items__category {
  margin-top: 0.625rem;
}

.p-grid-items__author {
  font-size: 0.9375rem;
  font-weight: 700;
  margin-top: 0.3125rem;
}

.p-grid-items__author a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

@media (any-hover: hover) {
  .p-grid-items__author a:hover {
    color: #1886CC;
  }
}
.p-grid-items__description {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  margin-top: 0.9375rem;
  line-height: 1.5625;
}
@media screen and (min-width: 768px) {
  .p-grid-items__description {
    line-height: 1.5555555556;
  }
}

.p-header {
  background-color: #fff;
  z-index: 500;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .p-header {
    height: 6.875rem;
    padding-block: 0.9375rem;
    position: relative;
  }
}

.p-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-header__inner {
    height: 5rem;
  }
}

.p-header-logo__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-header-logo__link {
    gap: 2.1875rem;
  }
}

.p-header-logo {
  padding-left: 1.25rem;
  z-index: 1000;
}
@media screen and (min-width: 768px) {
  .p-header-logo {
    padding-left: 3.125rem;
  }
}

.p-header-logo__link img {
  max-width: 4.5625rem;
  aspect-ratio: 131/52;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-header-logo__link img {
    max-width: 8.1875rem;
  }
}

.p-header-logo__text {
  font-size: 1rem;
  font-weight: 700;
}

.p-header-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
  height: inherit;
}

.p-header-cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  z-index: 5;
}

.p-header-cta.is-open {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.p-header-cta__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  width: 4.375rem;
  height: 4.375rem;
  color: #fff;
  position: relative;
}
.p-header-cta__item--recruit {
  background: #000;
}
@media screen and (min-width: 768px) {
  .p-header-cta__item {
    width: 9.375rem;
    height: 8.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-header-cta__item::after {
    content: "";
    position: absolute;
    right: 0.5rem;
    bottom: 0.5rem;
    background: url(../images/icon_header-cta-arrow.png) no-repeat center center/contain;
    width: 0.5625rem;
    height: 0.5625rem;
  }
}

.p-header-cta__item--contact {
  background: radial-gradient(ellipse 120% 170% at -60px -60px, #E8FCD7 0%, #7FE5DA 50%, #1886CC 100%);
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .p-header-cta__item--contact:hover .p-header-cta__label {
    color: #59D4F3;
  }
}

.p-header-cta__item--contact::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #1886CC;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
}

.p-header-cta__item--recruit {
  background: radial-gradient(ellipse 100% 100% at 0 0, #FDCB00 0%, #E28636 100%);
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.p-header-cta__item--recruit::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 0% 0%, #FDCB00 0%, #FDCB00 22%, #E28636 100%);
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-header-cta__item--recruit:hover .p-header-cta__label {
    color: #FFF4C9;
  }
}

.p-header-cta__item--contact:hover::before {
  opacity: 0.2;
}

.p-header-cta__item--recruit:hover::before {
  opacity: 0.4;
}

.p-header-cta__label {
  font-family: "Oswald", sans-serif;
  font-size: 0.5625rem;
  font-weight: 600;
  color: #fff;
  z-index: 2;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
@media screen and (min-width: 768px) {
  .p-header-cta__label {
    font-size: 0.9375rem;
  }
}

.p-header-cta__text {
  font-size: 0.625rem;
  font-weight: 600;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-header-cta__text {
    font-size: 0.9375rem;
  }
}

.p-header2 {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-header2 {
    display: block;
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}

@media screen and (min-width: 768px) {
  .p-header2 .p-header__inner {
    width: 100%;
    height: 5rem;
    margin-inline: auto;
    background-color: #fff;
    padding-inline: 1.875rem;
    border-radius: 0 0 0.625rem 0.625rem;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
            box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  }
}

@media screen and (min-width: 768px) {
  .p-header2.is_fixed {
    display: block;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
  }
}

@media screen and (min-width: 768px) {
  .p-header2 .p-header-logo__link img {
    max-width: 7.4375rem;
  }
}

@media screen and (min-width: 768px) {
  .p-header2 .p-header-body {
    gap: 3.125rem;
  }
}

.p-header2 .p-global-nav {
  margin-right: 0;
}

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

@media screen and (min-width: 768px) {
  .p-header2-cta__item {
    width: 12.5rem;
    height: 3.125rem;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0.625rem;
    border-radius: 0.3125rem;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    position: relative;
  }
}

.p-header2-cta__item--contact {
  background: radial-gradient(ellipse 120% 150% at -20% -10%, #E8FCD7 0%, #7FE5DA 20%, #1886CC 100%);
}

.p-header2-cta__item--contact::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #1886CC;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  mix-blend-mode: multiply;
  pointer-events: none;
  border-radius: 0.3125rem;
  z-index: 1;
}

.p-header2-cta__item--contact:hover::after {
  opacity: 0.65;
}

.p-header2-cta__item--recruit {
  background: radial-gradient(ellipse 100% 100% at 0 0, #FDCB00 0%, #E28636 100%);
}

.p-header2-cta__item--recruit::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 0% 0%, #FDCB00 0%, #FDCB00 22%, #E28636 100%);
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
}

.p-header2-cta__item--recruit:hover::after {
  opacity: 0.4;
}

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

@media screen and (min-width: 768px) {
  .p-media:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.p-media:first-of-type {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-media:first-of-type {
    margin-top: 1.875rem;
  }
}

.p-media:not(:first-of-type) {
  margin-top: 1.875rem;
}

@media screen and (min-width: 768px) {
  .p-media__body {
    width: 34.375rem;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}

.p-media__head {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.1363636364;
  background-color: rgba(24, 134, 204, .05);
  padding: 0.9375rem;
  border-left: 5px solid #014099;
}
@media screen and (min-width: 768px) {
  .p-media__head {
    font-size: 1.375rem;
  }
}

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

@media screen and (min-width: 768px) {
  .p-media__img {
    width: 25rem;
    margin-right: auto;
    margin-left: auto;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.p-media__img img {
  aspect-ratio: 400/225;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-modaal-box {
  display: none;
}

.p-mv {
  width: 100%;
  height: 9.375rem;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-mv {
    height: 21.875rem;
  }
}

.p-mv--wide {
  height: 14.375rem;
}
@media screen and (min-width: 768px) {
  .p-mv--wide {
    height: 21.875rem;
  }
}

.p-mv::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  height: 9.375rem;
  left: 3.125rem;
  right: 1.25rem;
  background: url(../images/eyecatch_sp.jpg) no-repeat center center/cover;
  width: calc(100% - 4.375rem);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-mv::before {
    left: calc(50vw - 31.25rem);
    right: 0;
    background: url(../images/eyecatch_pc.jpg) no-repeat right center/cover;
    width: auto;
    height: 21.875rem;
  }
}

.p-mv--wide::before {
  height: 14.375rem;
  right: 0;
  width: calc(100% - 3.125rem);
}
@media screen and (min-width: 768px) {
  .p-mv--wide::before {
    width: auto;
    height: 21.875rem;
  }
}

.p-mv__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: inherit;
}

.p-mv__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-mv__content {
    margin-top: 0rem;
  }
}

.p-mv__title {
  color: #014099;
  font-size: 1.5625rem;
  color: #014099;
  font-weight: 800;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-mv__title {
    font-size: 3.125rem;
  }
}

.p-mv__title span::after {
  content: attr(data-ja);
  font-size: 1.125rem;
  font-weight: 600;
  color: #000;
  margin-left: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-mv__title span::after {
    font-size: 2.1875rem;
    margin-left: 2.5rem;
  }
}

.p-mv__title::after {
  content: "";
  display: block;
  width: 5rem;
  height: 1px;
  background: #ABABAB;
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .p-mv__title::after {
    width: 6.25rem;
    height: 3px;
    margin-top: 1.25rem;
  }
}

.p-mv__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-mv__cta {
    gap: 1.25rem;
    margin-top: 1.875rem;
  }
}

.p-news__lists {
  background-color: #F6F6F6;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-news__lists {
    margin-top: 3.75rem;
  }
}

.p-news__list {
  background-color: #fff;
  padding: 0.9375rem;
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, .16);
          box-shadow: 0 0 6px rgba(0, 0, 0, .16);
}
@media screen and (min-width: 768px) {
  .p-news__list {
    padding: 1.5625rem 1.25rem;
  }
}

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

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

.p-news__category {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-news__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  line-height: 1.375;
  gap: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-news__body {
    line-height: 1.2222222222;
    gap: 0.625rem;
  }
}

.p-news__title {
  font-size: 1rem;
  font-weight: 400;
  margin-top: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-news__title {
    font-size: 1.125rem;
  }
}

.p-news__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.1875rem;
  height: 100%;
  margin-top: 0.3125rem;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .p-news__arrow {
    width: 1.6875rem;
    margin-top: 1.0625rem;
  }
}

.p-news__head.is-open .p-news__arrow {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-news__arrow img {
  aspect-ratio: 27/15;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-news__content {
  display: none;
  margin-top: 1.25rem;
  line-height: 1.375;
}
@media screen and (min-width: 768px) {
  .p-news__content {
    margin-top: 0.9375rem;
    padding-inline: 6.4375rem 2.3125rem;
    line-height: 1.2222222222;
  }
}

.p-page-about__text {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-about__text {
    margin-top: 1.875rem;
  }
}

.p-page-support__lists {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
  max-width: 37.5rem;
  width: 100%;
  margin-inline: auto;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-support__lists {
    gap: 1.875rem 2.6041666667vw;
    max-width: none;
    max-width: initial;
    margin-top: 1.875rem;
  }
}

.p-page-support__list {
  -webkit-box-shadow: 0 0 0.3125rem rgba(0, 0, 0, .16);
          box-shadow: 0 0 0.3125rem rgba(0, 0, 0, .16);
  padding: 0.625rem 0.9375rem 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-page-support__list {
    padding: 1.5625rem 1.25rem;
  }
}

.p-page-support__list-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #014099;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid #D9D9D9;
}

.p-page-support__list-imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.25rem;
  margin-top: 1.25rem;
  padding-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-support__list-imgs {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 2.5rem;
  }
}

.p-page-support__list-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  background-color: #fff;
}

.p-page-support__list-img:nth-child(1) img {
  aspect-ratio: 295/160;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-page-support__list-img:nth-child(2) img {
  aspect-ratio: 310/125;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-page-support__list-img:nth-child(3) img {
  aspect-ratio: 263/122;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-page-support__list-img-text {
  font-weight: 700;
}

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

.p-page-support__list-media-img {
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-bottom: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-page-support__list-media-img {
    width: 44.0337909187%;
    margin-top: 0.625rem;
    padding-bottom: 0;
  }
}

.p-page-support__list-media-img img {
  aspect-ratio: 417/229;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-page-support__list-media-img--l img {
  aspect-ratio: 417/245;
}

.p-page-support__list-media-img--s {
  aspect-ratio: 417/179;
}

.p-page-worries__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  max-width: 28.125rem;
  width: 100%;
  margin-inline: auto;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-worries__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 3.125rem;
    max-width: none;
    max-width: initial;
    margin-top: 1.875rem;
  }
}

@media screen and (min-width: 768px) {
  .p-page-worries__body:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

.p-page-worries__img {
  max-width: 28.125rem;
  width: 100%;
  margin-inline: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-page-worries__img {
    max-width: 25rem;
    margin-inline: initial;
  }
}

.p-page-worries__img img {
  aspect-ratio: 400/225;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-page-worries {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-page-worries {
    gap: 2.5rem;
  }
}

.p-page-worries__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}

.p-page-worries__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  line-height: 1.375;
}
@media screen and (min-width: 768px) {
  .p-page-worries__list {
    line-height: 1.3888888889;
  }
}

.p-page-worries__list::before {
  content: "";
  width: 0.625rem;
  height: 0.3125rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  border-left: 2px solid #014099;
  border-bottom: 2px solid #014099;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-worries__list::before {
    margin-top: 0.625rem;
  }
}

.p-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.3125rem;
  margin-top: 2.5rem;
}

.p-pagination .page-numbers {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 0.25rem;
  background-color: #F2F2F2;
  color: #1F1F1F;
  font-size: 0.875rem;
  text-decoration: none;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.p-pagination .page-numbers:hover {
  background-color: #ddd;
}

.p-pagination .page-numbers.current {
  background-color: #1F1F1F;
  color: #fff;
  pointer-events: none;
}

.p-privacy__content {
  display: grid;
  gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-privacy__content {
    gap: 3.125rem;
  }
}

.p-privacy__policy-meta-company {
  word-break: keep-all;
}

.p-privacy__policy-content {
  margin-top: 3.125rem;
}

.p-privacy__policy-lists {
  list-style-type: decimal;
  margin-left: 1em;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-privacy__policy-lists {
    margin-top: 2.5rem;
  }
}

.p-privacy__policy-list + .p-privacy__policy-list {
  margin-top: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-privacy__policy-list + .p-privacy__policy-list {
    margin-top: 0.625rem;
  }
}

.p-privacy__contact-title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.1363636364;
  background-color: rgba(24, 134, 204, .05);
  padding: 0.9375rem;
  border-left: 5px solid #014099;
}
@media screen and (min-width: 768px) {
  .p-privacy__contact-title {
    font-size: 1.25rem;
  }
}

.p-privacy__contact-note {
  margin-top: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-privacy__contact-note {
    margin-top: 0.625rem;
  }
}

.p-privacy__handling-items {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
  max-width: 37.5rem;
  width: 100%;
  margin-inline: auto;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-privacy__handling-items {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.875rem 3.125rem;
    max-width: none;
    max-width: initial;
    margin-top: 1.875rem;
  }
}

.p-privacy-handling__item {
  -webkit-box-shadow: 0 0 0.3125rem rgba(0, 0, 0, .16);
          box-shadow: 0 0 0.3125rem rgba(0, 0, 0, .16);
  padding: 0.625rem 0.9375rem 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-privacy-handling__item {
    padding: 1.5625rem 1.25rem;
  }
}

.p-privacy-handling__term {
  font-weight: 700;
  color: #014099;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid #D9D9D9;
}

.p-privacy-handling__content {
  display: grid;
  gap: 0.3125rem;
}

.p-privacy-handling__label {
  font-weight: 700;
  margin-top: 0.625rem;
}

.p-privacy-handling__lists {
  padding-left: 1em;
}

.p-privacy-handling__list {
  list-style-type: disc;
  font-size: 0.875rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-privacy-handling__list {
    font-size: 1rem;
  }
}

.p-privacy-handling__status {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25rem 0.625rem;
  font-size: 0.8125rem;
  color: #fff;
  background-color: #014099;
  border-radius: 0.3125rem;
}

.p-privacy-notice__label {
  font-weight: 700;
  margin-top: 0.625rem;
  padding-left: 1.5em;
  text-indent: -1.5em;
}

.p-privacy-notice__desc {
  margin-left: 1.25rem;
}

.p-privacy-notice__sub-items {
  margin-left: 1.25rem;
}

.p-privacy-notice__sub-label {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

.p-privacy-notice__sub-items2 {
  margin-left: 1.25rem;
  padding-left: 1.2em;
  text-indent: -1.2em;
}

.p-recruit__items {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  /* 上端ボーダー追加（最初のddに） */
}
@media screen and (min-width: 768px) {
  .p-recruit__items {
    display: grid;
    grid-template-columns: 13.75rem 39.375rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
.p-recruit__items .p-recruit__term,
.p-recruit__items .p-recruit__description {
  border-bottom: 1px solid #C8C8C8;
  padding: 0.5rem 0.9375rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .p-recruit__items .p-recruit__term,
  .p-recruit__items .p-recruit__description {
    padding: 0.625rem 1.25rem;
  }
}
.p-recruit__items .p-recruit__term {
  background-color: #014099;
  color: #fff;
  font-weight: 500;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-recruit__items .p-recruit__term {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.p-recruit__items .p-recruit__description {
  width: 100%;
}
.p-recruit__items .p-recruit__description:first-of-type {
  border-top: 1px solid #C8C8C8;
}

.p-service__mv::before {
  background: url(../images/eyecatch_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .p-service__mv::before {
    background: url(../images/eyecatch_pc.jpg) no-repeat center center/cover;
  }
}

.p-service__strengths-body {
  margin-top: 1.25rem;
  color: #014099;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-service__strengths-body {
    max-width: 56.25rem;
    width: 100%;
    margin-inline: auto;
    margin-top: 1.875rem;
  }
}

.p-service__strengths-img {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-service__strengths-img {
    margin-top: 1.875rem;
  }
}

.p-service__strengths-img img {
  aspect-ratio: 900/506;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-service__strengths-img img {
    aspect-ratio: 998/374;
  }
}

.p-service__introduction-body {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-service__introduction-body {
    margin-top: 1.875rem;
  }
}

.p-service__introduction-sub-title {
  font-size: 1.25rem;
  font-weight: 800;
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .p-service__introduction-sub-title {
    font-size: 1.5625rem;
    margin-top: 1.875rem;
  }
}

.p-service__introduction-text {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-service__introduction-text {
    margin-top: 2.1875rem;
  }
}

.p-service__introduction-text + .p-service__introduction-text {
  margin-top: 1em;
}

.p-service__introduction-body:last-of-type {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-service__introduction-body:last-of-type {
    margin-top: 6.25rem;
  }
}

.p-service__introduction-img {
  max-width: 28.125rem;
  width: calc(100% + 2.5rem);
  margin-inline: -1.25rem;
}
@media screen and (min-width: 768px) {
  .p-service__introduction-img {
    max-width: 62.375rem;
    width: 100%;
    margin-inline: auto;
  }
}

.p-service__introduction-img img {
  aspect-ratio: 681/692;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-service__introduction-img img {
    aspect-ratio: 998/374;
  }
}

.p-service__introduction-more {
  margin-top: 1.875rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-service__introduction-more {
    margin-top: 2.8125rem;
  }
}

.single .p-solution [class^=wp-block] {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .single .p-solution [class^=wp-block] {
    margin-top: 6.25rem;
  }
}

.single .p-solution .wp-block-group [class^=wp-block] {
  margin-top: 0;
}

.single .p-column [class^=wp-block] {
  margin-top: 1.875rem;
}

.single .p-column .wp-block-heading {
  margin-top: 3.125rem;
}

.single .p-solution .wp-block-heading + *,
.single .p-column .wp-block-heading + * {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .single .p-solution .wp-block-heading + *,
  .single .p-column .wp-block-heading + * {
    margin-top: 1.875rem;
  }
}

.single h2.wp-block-heading {
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
}
@media screen and (min-width: 768px) {
  .single h2.wp-block-heading {
    font-size: 1.75rem;
    font-weight: 800;
  }
}

.single h2.wp-block-heading:first-of-type {
  margin-top: 2.1875rem;
}
@media screen and (min-width: 768px) {
  .single h2.wp-block-heading:first-of-type {
    margin-top: 3.125rem;
  }
}

.single h2.wp-block-heading::after {
  content: "";
  display: block;
  width: 3.125rem;
  height: 0.1875rem;
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, #014099), color-stop(50%, #FDCB00));
  background: linear-gradient(to right, #014099 50%, #FDCB00 50%);
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .single h2.wp-block-heading::after {
    width: 5rem;
    height: 0.3125rem;
    margin-top: 25px;
  }
}

.single h3.wp-block-heading {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.1363636364;
  background-color: rgba(24, 134, 204, .05);
  padding: 0.625rem 1.25rem;
  border-left: 5px solid #014099;
}
@media screen and (min-width: 768px) {
  .single h3.wp-block-heading {
    font-size: 1.375rem;
  }
}

.single h4.wp-block-heading {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.1;
  color: #014099;
  padding-block: 0.9375rem;
  border-bottom: 1px solid #D9D9D9;
}

.single .wp-block-media-text {
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .single .wp-block-media-text {
    grid-template-columns: 25rem 1fr;
    gap: 3.125rem;
  }
}

.single .wp-block-media-text + .wp-block-media-text {
  margin-top: 1.875rem;
}

@media screen and (min-width: 768px) {
  .single .wp-block-media-text.has-media-on-the-right {
    grid-template-columns: 1fr 25rem;
  }
}

.single .wp-block-media-text > .wp-block-media-text__media img {
  aspect-ratio: 400/225;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.single .wp-block-media-text > .wp-block-media-text__content {
  padding: 0;
  -ms-flex-item-align: start;
      align-self: start;
}

.single .wp-block-media-text > * {
  margin-top: 0 !important;
}

.single .wp-block-image.size-full {
  max-width: 50rem;
  width: 100%;
  margin-inline: auto;
}

.single .wp-block-image.size-full img {
  aspect-ratio: 800/450;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.single .wp-block-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .single .wp-block-list {
    gap: 0.3125rem;
  }
}

.single .wp-block-list li {
  font-size: 1rem;
  line-height: 1.5625;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .single .wp-block-list li {
    font-size: 1.125rem;
    line-height: 1.6666666667;
  }
}

.single .wp-block-list li::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, #014099), color-stop(50%, #1886CC));
  background: linear-gradient(to right, #014099 50%, #1886CC 50%);
  margin-top: 0.375rem;
}
@media screen and (min-width: 768px) {
  .single .wp-block-list li::before {
    margin-top: 0.5rem;
  }
}

.single .p-column .wp-block-table table {
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .single .p-column .wp-block-table table {
    display: table;
  }
}

.single .p-column .wp-block-table tbody,
.single .p-column .wp-block-table tr,
.single .p-column .wp-block-table td {
  display: block;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .single .p-column .wp-block-table tbody,
  .single .p-column .wp-block-table tr {
    display: table-row;
  }
}

@media screen and (min-width: 768px) {
  .single .p-column .wp-block-table td {
    display: table-cell;
  }
}

.single .p-column .wp-block-table td,
.single .p-column .wp-block-table th {
  border: none;
  border-bottom: 1px solid #C8C8C8;
  font-size: 1rem;
  line-height: 1.375;
  padding: 0.5rem 0.9375rem;
}
@media screen and (min-width: 768px) {
  .single .p-column .wp-block-table td,
  .single .p-column .wp-block-table th {
    font-size: 1.125rem;
    line-height: 1.6666666667;
    padding: 0.625rem 1.25rem;
    width: 39.375rem;
  }
}

.single .p-column .wp-block-table tr:first-child td,
.single .p-column .wp-block-table th:first-child {
  border-top: 1px solid #C8C8C8;
}

.single .p-column .wp-block-table td:first-child {
  background-color: #014099;
  color: #fff;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .single .p-column .wp-block-table td:first-child {
    width: 13.75rem;
  }
}

.single .p-solution .wp-block-group {
  border: 1px solid #707070;
  padding: 0.9375rem;
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .single .p-solution .wp-block-group {
    max-width: 80%;
    width: 100%;
    margin-inline: auto;
    padding: 1.875rem;
    margin-top: 6.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .single .p-solution .wp-block-group {
    max-width: 100%;
  }
}

.single .p-solution .wp-block-table {
  border-spacing: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .single .p-solution .wp-block-table {
    max-width: 31.25rem;
    width: 100%;
  }
}

.single .wp-block-group .wp-block-heading {
  margin-top: 0rem;
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  color: #014099;
  font-weight: 500;
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.875rem;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .single .wp-block-group .wp-block-heading {
    font-size: 1.25rem;
  }
}

.single .wp-block-group .wp-block-heading::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #E1E1E1;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .single .wp-block-group .wp-block-media-text__content {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}

.single .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media {
  max-width: 20.9375rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .single .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media {
    max-width: 25rem;
    -ms-flex-item-align: start;
        align-self: start;
  }
}

.single .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media img {
  aspect-ratio: 335/189;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .single .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media img {
    aspect-ratio: 400/225;
  }
}

.single .p-solution .wp-block-group .wp-block-media-text {
  gap: 0.625rem;
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .single .p-solution .wp-block-group .wp-block-media-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2.5rem;
    margin-top: 1.25rem;
  }
}

.single .p-solution .wp-block-table,
.single .p-solution .wp-block-table th,
.single .p-solution .wp-block-table td {
  border: none;
  vertical-align: top;
  line-height: 1.2;
}

.single .p-solution .wp-block-table td:first-child {
  width: 24%;
  padding-left: 0;
}
@media screen and (min-width: 768px) {
  .single .p-solution .wp-block-table td:first-child {
    width: 25%;
  }
}

.single .p-solution .wp-block-table td:last-child {
  width: 56%;
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 768px) {
  .single .p-solution .wp-block-table td:last-child {
    width: 81%;
  }
}

@media screen and (min-width: 768px) {
  .single .p-column .wp-block-group {
    max-width: 50rem;
    width: 100%;
    margin-inline: auto;
  }
}

.single .wp-block-image.size-full figcaption {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.3333333333;
  text-align: center;
  margin-top: 0.625rem;
  margin-bottom: 0;
}

.single .p-column .wp-block-group p {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .single .p-column .wp-block-group p {
    margin-top: 1.875rem;
  }
}

.p-solution-archive__mv::before {
  background: url(../images/eyecatch_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .p-solution-archive__mv::before {
    background: url(../images/eyecatch_pc.jpg) no-repeat center center/cover;
  }
}

.p-solution-archive__content {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-solution-archive__content {
    margin-top: 3.75rem;
  }
}

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

.p-solution__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-solution__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__img-area {
    max-width: 26.875rem;
    width: 100%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

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

.p-solution__eyecatch img {
  aspect-ratio: 428/241;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-solution__eyecatch-text {
  font-size: 1rem;
  line-height: 1.4375;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-solution__eyecatch-text {
    line-height: 1.625;
  }
}

.p-solution__head-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-solution__head-body {
    gap: 1.5625rem;
  }
}

.p-solution__head-text {
  font-size: 1.125rem;
  color: #014099;
  font-weight: 800;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.p-solution__head-text::after {
  content: "";
  display: block;
  width: 6.125rem;
  height: 0.1875rem;
  background-color: #ABABAB;
  margin-left: 1.1875rem;
}

.p-solution__title {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2727272727;
}
@media screen and (min-width: 768px) {
  .p-solution__title {
    font-size: 1.5625rem;
    line-height: 1.44;
  }
}

.p-solution__company-name {
  font-size: 1rem;
  color: #014099;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-solution__company-name {
    font-size: 1.25rem;
  }
}

.p-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.125rem;
  max-width: 37.5rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-step {
    max-width: none;
    max-width: initial;
  }
}

.p-step__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.6875rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-step__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 3.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-step__list:not(:last-child)::before {
    content: "";
    position: absolute;
    bottom: -2.5rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background: url(../images/bg_step-arrow_pc.png) no-repeat center center/contain;
    width: 50rem;
    height: 10rem;
    z-index: -2;
  }
}

@media screen and (min-width: 768px) {
  .p-step__list:not(:last-child)::after {
    content: "";
    position: absolute;
    bottom: -2.5rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 50rem;
    height: 10rem;
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: -1;
    pointer-events: none;
  }
}

.p-step__img {
  max-width: 3.125rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-step__img {
    max-width: 8.75rem;
  }
}

.p-step__img img {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-step__body {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.p-step__title {
  color: #014099;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-step__title {
    font-size: 1.4375rem;
    font-weight: 800;
    text-align: left;
  }
}

.p-step__text {
  line-height: 1.5625;
  margin-top: 0.375rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-step__text {
    margin-top: 0.625rem;
    line-height: 1.6666666667;
  }
}

.p-step__text--s {
  font-size: 0.875rem;
}

.p-step__list:not(:last-child) .p-step__text::before {
  content: "";
  position: absolute;
  bottom: -2.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(../images/bg_step-arrow_sp.png) no-repeat center center/contain;
  width: 20.9375rem;
  height: 7.8125rem;
  z-index: -2;
}
@media screen and (min-width: 768px) {
  .p-step__list:not(:last-child) .p-step__text::before {
    display: none;
  }
}

.p-step__list:not(:last-child) .p-step__text::after {
  content: "";
  position: absolute;
  bottom: -2.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 20.9375rem;
  height: 7.8125rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  z-index: -1;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-step__list:not(:last-child) .p-step__text::after {
    display: none;
  }
}

#toc_container {
  width: 100vw;
  padding: 0.9375rem 1.25rem 1.25rem;
  margin-inline: calc(50% - 50vw);
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  #toc_container {
    width: 100%;
    padding: 1.875rem 1.875rem 3.125rem;
    margin-inline: auto;
    margin-top: 3.125rem;
  }
}

#toc_container .toc_title {
  font-weight: bold;
  color: #014099;
  font-size: 1.125rem;
  font-weight: 700;
  position: relative;
  padding-left: 1.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.625rem;
}

#toc_container .toc_title::before {
  content: "";
  background: url(../images/icon_toc.png) no-repeat center center/contain;
  width: 0.9375rem;
  height: 0.8125rem;
}

#toc_container p.toc_title + ul.toc_list {
  margin-top: -0.1875rem;
}
@media screen and (min-width: 768px) {
  #toc_container p.toc_title + ul.toc_list {
    margin-top: 1.5625rem;
  }
}

#toc_container ul {
  color: #3E3E3E;
  line-height: 1.4666666667;
}
@media screen and (min-width: 768px) {
  #toc_container ul {
    line-height: 1.5625;
  }
}

#toc_container ul a {
  text-decoration: underline;
}

/* 親階層（h2）リスト */
#toc_container > ul > li {
  font-size: 0.9375rem;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  #toc_container > ul > li {
    font-size: 1rem;
  }
}

/* h2相当のliの2つ目以降にだけ 20px */
#toc_container > ul > li:not(:first-child) {
  margin-top: 1.25rem;
}

/* 子階層（h3以下） */
#toc_container ul ul li {
  font-size: 0.9375rem;
  padding-left: 1em;
  text-indent: -1.5em;
  position: relative;
  margin-top: 0.625rem;
}

#toc_container ul ul li::before {
  content: "―";
  color: #3E3E3E;
  margin-right: 0.5em;
}

.p-top-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-top-post {
    width: calc(50% - 3.125rem);
  }
}

.p-top-post__header {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-top-post__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-top-post__more {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-top-post__more {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 15.625rem;
    margin-left: -12.5rem;
    margin-bottom: -0.625rem;
  }
}

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

.p-top-post__lists--news {
  padding-bottom: 3.125rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-post__lists--news {
    padding-bottom: 0;
  }
}

.p-top-post__lists--news::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100vw;
  height: 1px;
  margin-inline: calc(-50vw + 50%);
  background-color: #D2D2D2;
}
@media screen and (min-width: 768px) {
  .p-top-post__lists--news::after {
    left: auto;
    right: -3.125rem;
    width: 1px;
    height: 100%;
    margin-inline: 0;
  }
}

.p-top-post__list {
  padding-block: 0.625rem 0.3125rem;
  border-bottom: 1px solid #D2D2D2;
}
@media screen and (min-width: 768px) {
  .p-top-post__list {
    padding-block: 1.25rem 0.625rem;
  }
}

.p-top-post__list a {
  display: inline-block;
  width: 100%;
}

.p-top-post__text {
  position: relative;
  display: inline;
  color: #000;
  line-height: 1.375;
  margin-top: 0.125rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (min-width: 768px) {
  .p-top-post__text {
    line-height: 1.6;
    margin-top: 0;
    -webkit-line-clamp: 1;
    line-clamp: 1;
  }
}

@media (any-hover: hover) {
  .p-top-post__list a:hover .p-top-post__text {
    color: #1886CC;
  }
  .p-top-post__list a:hover .p-top-post__text::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #1886CC;
  }
}
.p-top-post__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}

.p-top-post__content {
  line-height: 1.2222222222;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-top-post__content {
    margin-top: 0.3125rem;
  }
}

.p-top-post__date {
  display: block;
}

.p-top-post__list:first-child .p-top-post__link {
  margin: 0 !important;
  padding: 0 !important;
  outline: none !important;
  border: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

.p-top__mv {
  width: 100%;
  height: 37.0625rem;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-top__mv {
    height: 54.375rem;
  }
}

.p-top__mv-wrap {
  position: relative;
  height: 100%;
  margin-left: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-top__mv-wrap {
    margin-left: 12.5rem;
  }
}

.p-top__mv video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top__mv-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, color-stop(5%, #DFDFDF), color-stop(10%, #DFDFDF), color-stop(50%, transparent), to(transparent));
  background: linear-gradient(to right, #DFDFDF 5%, #DFDFDF 10%, transparent 50%, transparent 100%);
  mix-blend-mode: screen;
  pointer-events: none;
}

.p-top__mv-content {
  position: absolute;
  top: 49.243697479%;
  margin-left: 1.25rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-top__mv-content {
    margin-left: 3.125rem;
    top: 42.4137931034%;
  }
}

.p-top__mv-title {
  font-family: "BIZ UDPMincho", serif;
  font-size: 2.125rem;
  color: #014099;
  line-height: 1;
  text-transform: capitalize;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-top__mv-title {
    font-size: 3.75rem;
  }
}

.p-top__mv-title span {
  display: block;
}

.p-top__mv-title span::first-letter {
  font-size: 3.25rem;
}
@media screen and (min-width: 768px) {
  .p-top__mv-title span::first-letter {
    font-size: 5.625rem;
  }
}

.p-top__mv-title::after {
  content: "";
  display: block;
  width: 3.125rem;
  height: 3px;
  background: #ABABAB;
  margin-top: 1.25rem;
  margin-left: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-top__mv-title::after {
    width: 6.25rem;
    margin-top: 1.875rem;
    margin-left: 0;
  }
}

.p-top__mv-text {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.8571428571;
  margin-top: 0.9375rem;
  margin-left: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-top__mv-text {
    font-size: 1.5rem;
    margin-top: 1.875rem;
    margin-left: 0;
  }
}

.p-top__about {
  background: radial-gradient(ellipse 180% 160% at -50% 0%, #F8FFE9 0%, #E8FCD7 12%, #ABFFDB 25%, #38EFE9 45%, #21A9DC 60%, #1479C6 100%);
  color: #fff;
  text-align: center;
  padding-bottom: 3.75rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top__about {
    padding-bottom: 7.0625rem;
  }
}

.p-top__about-lead {
  margin: 1.875rem 0 1.5625rem;
  font-size: 1.125rem;
  line-height: 1.9444444444;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-top__about-lead {
    margin: 2.8125rem 0;
    font-size: 1.25rem;
    line-height: 1.85;
  }
}

@media screen and (min-width: 768px) {
  .p-top__service {
    overflow: hidden;
  }
}

.p-top__service-label {
  font-family: "Oswald", sans-serif;
  font-size: 3.75rem;
  line-height: 1;
  font-weight: 500;
  color: #F5F5F5;
  text-transform: uppercase;
  margin-top: -0.4375rem;
}
@media screen and (min-width: 768px) {
  .p-top__service-label {
    font-size: 7.625rem;
    margin-top: -0.9375rem;
  }
}

.p-top__service-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .p-top__service-content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top__service-content:first-of-type {
    margin-top: -3.125rem;
  }
}

.p-top__service-content:last-of-type {
  margin-top: 2.8125rem;
}
@media screen and (min-width: 768px) {
  .p-top__service-content:last-of-type {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    margin-top: 2.1875rem;
  }
}

.p-top__service-sub-title {
  font-size: 1.25rem;
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  .p-top__service-sub-title {
    font-size: 1.5625rem;
    margin-top: 3.4375rem;
  }
}

.p-top__service-lead {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3888888889;
  margin-top: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-top__service-lead {
    font-size: 1.25rem;
  }
}

.p-top__service-text {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-top__service-text {
    margin-top: 1.875rem;
  }
}

.p-top__service-more {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-top__service-more {
    margin-top: 2.8125rem;
  }
}

.p-top__service-img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc(100% + 2.5rem);
  margin-inline: -1.25rem;
}
@media screen and (min-width: 470px) {
  .p-top__service-img {
    max-width: 28.125rem;
    width: 100%;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-top__service-img {
    max-width: 42.625rem;
    width: 100%;
    margin-inline: 0;
  }
}

.p-top__service-img img {
  aspect-ratio: 682/692;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

@media screen and (min-width: 768px) {
  .p-top__service-content:first-of-type .p-top__service-img {
    margin-right: -2.8125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top__service-content:last-of-type .p-top__service-sub-title {
    margin-top: 0rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top__service-content:last-of-type .p-top__service-img {
    margin-left: -2.8125rem;
  }
}

.p-top-case__background-separator {
  width: 100%;
  height: auto;
}

.p-top-case__background-separator img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top__posts-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-top__posts-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 6.125rem;
  }
}

.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

.u-font-bold {
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}

.u-mt5 {
  margin-top: 0.3125rem;
}

.u-mt10 {
  margin-top: 0.625rem;
}

.u-mt20 {
  margin-top: 1.25rem;
}

.u-mt30 {
  margin-top: 1.875rem;
}

.u-mt40 {
  margin-top: 2.5rem;
}

.u-mt50 {
  margin-top: 3.125rem;
}

.u-mt60 {
  margin-top: 3.75rem;
}

.u-mt70 {
  margin-top: 4.375rem;
}

.u-mt100 {
  margin-top: 6.25rem;
}

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

.u-mtSp20Pc30 {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .u-mtSp20Pc30 {
    margin-top: 1.875rem;
  }
}

.u-mtSp30Pc40 {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .u-mtSp30Pc40 {
    margin-top: 2.5rem;
  }
}

.u-mtSp30Pc60 {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .u-mtSp30Pc60 {
    margin-top: 3.75rem;
  }
}

.u-mtSp50Pc100 {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .u-mtSp50Pc100 {
    margin-top: 6.25rem;
  }
}

.p-recruit__lists {
  list-style-type: disc;
  margin-left: 1.25rem;
}

.u-text-right {
  text-align: right;
}
/*# sourceMappingURL=styles.css.map */
