@charset "UTF-8";
/*base*/
html {
  font-size: 62.5%;
}

html:focus-within {
  scroll-behavior: auto;
}

body {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow-y: scroll;
  max-width: 100%;
  min-height: 100vh;
  color: #222;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳＰゴシック", sans-serif;
  font-size: 1.6em;
  line-height: 1.8;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

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

@media print, screen and (min-width: 520px) {
  a[href*="tel:"] {
    cursor: pointer;
  }
}

img {
  height: auto;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

ol {
  margin: 0;
  padding-left: 1.6rem;
}

input,
select,
textarea {
  padding: 0;
  font-size: 1.6rem;
}

input::-ms-reveal {
  visibility: hidden;
}

input[type=checkbox], input[type=radio], input[type=button], input[type=submit] {
  cursor: pointer;
}

input[type=submit] {
  -webkit-appearance: none;
}

textarea {
  resize: none;
}

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

select {
  color: #222;
  cursor: pointer;
}

hr {
  border: none;
  border-top: 1px solid #999;
  margin: 1rem 0;
}

rt {
  padding: 0.2rem;
  text-align: center;
}

/* body */
.l-body {
  background-color: #fff;
}

/* header */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  border-bottom: 1px solid #222;
  z-index: 400;
}
.l-header.is-openlist {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  z-index: 20;
}
@media print, screen and (min-width: 1280px) {
  .l-header {
    position: sticky;
  }
}
@media print {
  .l-header {
    position: static;
  }
}

/* main */
.l-main {
  flex-grow: 1;
  overflow: clip;
  width: 100%;
}

/* footer */
.l-footer {
  overflow: clip;
  width: 100%;
}

/* wrapper */
.l-wrapper {
  margin-inline: auto;
  width: 100%;
}
@media print {
  .l-wrapper {
    position: relative;
  }
}

/* container */
.c-container {
  padding: 0 2.4rem;
}
@media print, screen and (min-width: 520px) {
  .c-container {
    padding: 0 5rem;
  }
}
@media print, screen and (min-width: 960px) {
  .c-container {
    margin: 0 auto;
    padding: 0 2.4rem;
    max-width: 132.8rem;
  }
}
.c-container--top {
  max-width: 119.8rem;
}
.c-container--wide {
  max-width: 146.8rem;
}
.c-container--narrow {
  max-width: 114.8rem;
}
.c-container--narrow-inner {
  padding: 0;
  max-width: 80rem;
}
.c-container--map {
  max-width: 84.8rem;
}

/* flex */
.c-flex {
  display: flex;
  flex-wrap: wrap;
}
.c-flex--nowrap {
  flex-wrap: nowrap;
}
.c-flex--column {
  flex-direction: column;
}
.c-flex--text-link {
  column-gap: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .c-flex--text-link {
    column-gap: 4rem;
  }
}

.c-flex__item {
  flex-basis: 100%;
  max-width: 100%;
}
.c-flex__item--text-link {
  display: inline-block;
}

.c-flex-sitemap {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1.2rem;
}

.c-flex-sitemap__item {
  margin-top: 3rem;
}
@media print, screen and (min-width: 1280px) {
  .c-flex-sitemap__item {
    margin-top: 4.4rem;
  }
}

.c-flex-text {
  display: flex;
  flex-direction: column;
}
.c-flex-text--gap2 {
  gap: 0.2rem;
}
.c-flex-text--gap4 {
  gap: 0.4rem;
}
.c-flex-text--gap8 {
  gap: 0.8rem;
}
.c-flex-text--gap12 {
  gap: 1.2rem;
}
.c-flex-text--gap16 {
  gap: 1.6rem;
}
.c-flex-text--gap24 {
  gap: 2.4rem;
}
.c-flex-text--gap32 {
  gap: 3.2rem;
}
.c-flex-text--gap40 {
  gap: 4rem;
}

/* grid */
.c-grid {
  display: grid;
}
.c-grid--top {
  gap: 1rem;
}
@media print, screen and (min-width: 768px) {
  .c-grid--top {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .c-grid--top {
    grid-template-columns: repeat(3, 1fr);
  }
}
.c-grid--top-2col {
  gap: 1rem;
}
@media print, screen and (min-width: 960px) {
  .c-grid--top-2col {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    max-width: 95rem;
    margin-inline: auto;
  }
}
.c-grid--local-top {
  gap: 4rem;
}
@media print, screen and (min-width: 520px) {
  .c-grid--local-top {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 960px) {
  .c-grid--local-top {
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
  }
}
@media print, screen and (min-width: 520px) {
  .c-grid--company-top {
    grid-auto-flow: column;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(6, auto);
    gap: 0 clamp(4rem, 10dvw, 12rem);
  }
}
@media print, screen and (min-width: 520px) {
  .c-grid--company-top-row-4 {
    grid-auto-flow: column;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, auto);
    gap: 0 clamp(4rem, 10dvw, 12rem);
  }
}
@media print, screen and (min-width: 520px) {
  .c-grid--company-top-row-3 {
    grid-auto-flow: column;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, auto);
    gap: 0 clamp(4rem, 10dvw, 12rem);
  }
}
.c-grid--lower-top {
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
}
@media print, screen and (min-width: 520px) {
  .c-grid--lower-top {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media print, screen and (min-width: 960px) {
  .c-grid--lower-top {
    grid-template-columns: repeat(4, 1fr);
    gap: 4rem 3.2rem;
    align-items: stretch;
  }
}
.c-grid--local-nav {
  gap: 1.6rem;
}
@media print, screen and (min-width: 520px) {
  .c-grid--local-nav {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 960px) {
  .c-grid--local-nav {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.4rem 7.2rem;
  }
  .c-grid--local-nav:has(> :nth-child(-n+3):last-child) > *:nth-child(3) {
    grid-column: 3/5;
  }
}
.c-grid--local-nav-useful {
  gap: 2.4rem;
}
@media print, screen and (min-width: 520px) {
  .c-grid--local-nav-useful {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 960px) {
  .c-grid--local-nav-useful {
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
  }
}
.c-grid--sitemap {
  gap: 1.6rem;
}
@media print, screen and (min-width: 520px) {
  .c-grid--sitemap {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 960px) {
  .c-grid--sitemap {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.4rem 5rem;
  }
}
.c-grid--service-job-col3 {
  gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .c-grid--service-job-col3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.c-grid--service-job-col2 {
  gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .c-grid--service-job-col2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-grid--service-info {
  gap: 2.4rem;
  grid-template-columns: minmax(0, 1fr);
}
@media print, screen and (min-width: 960px) {
  .c-grid--service-info {
    gap: 5.6rem;
    grid-template-columns: auto 34rem;
  }
}
.c-grid--profile-container-bottom-border > .c-grid--profile-item:last-child {
  padding-bottom: 2.4rem;
  border-bottom: 1px solid #222;
}
.c-grid--profile-item {
  row-gap: 0.8rem;
  width: 100%;
}
.c-grid--profile-item + .c-grid--profile-item {
  border-top: 1px solid #222;
  padding-top: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .c-grid--profile-item + .c-grid--profile-item {
    padding-top: 2.4rem;
  }
}
.c-grid--profile-item:not(:last-child) {
  padding-bottom: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .c-grid--profile-item:not(:last-child) {
    padding-bottom: 2.4rem;
  }
}
@media print, screen and (min-width: 960px) {
  .c-grid--profile-item {
    grid-template-columns: 20% 1fr;
  }
}
.c-grid--profile-item-inner {
  grid-template-columns: max(30%, 14rem) 1fr;
  row-gap: 0.8rem;
}
@media print, screen and (min-width: 960px) {
  .c-grid--profile-item-inner {
    grid-template-columns: max(30%, 26rem) 1fr;
  }
}
.c-grid--profile-item-inner > .c-grid__item--profile {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.8rem;
  line-height: 1.5;
}
.c-grid--profile-item-inner-officer {
  grid-template-columns: max(75%, 22rem) 1fr;
  font-size: 1.4rem;
}
@media print, screen and (min-width: 520px) {
  .c-grid--profile-item-inner-officer {
    grid-template-columns: max(54%, 23rem) 1fr;
  }
}
@media print, screen and (min-width: 960px) {
  .c-grid--profile-item-inner-officer {
    grid-template-columns: max(30%, 26rem) 1fr;
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 960px) {
  .c-grid--profile-item__table {
    max-width: 65%;
  }
}
.c-grid--eureka {
  gap: 2rem;
  grid-row: span 5;
}
@media print, screen and (min-width: 960px) {
  .c-grid--eureka {
    grid-template-columns: repeat(2, 1fr);
    margin-inline: auto;
  }
}
.c-grid--eureka-service-job-col2 {
  gap: 2.4rem;
}
.c-grid--eureka-service-job-col2 .p-service-job__card {
  flex: 1;
}
@media print, screen and (min-width: 960px) {
  .c-grid--eureka-service-job-col2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
  }
}

/* link */
/* normal */
.c-text-link-wrapper {
  margin-top: 0.8rem;
}

.c-text-link {
  color: #1364ef;
  text-decoration: none;
  word-break: break-word;
}
@media print, screen and (min-width: 960px) {
  .c-text-link:hover {
    text-decoration: underline;
  }
}
@media print, screen and (min-width: 960px) {
  .c-text-link--no-underline:hover {
    text-decoration: none;
  }
}
.c-text-link--intext {
  text-decoration: underline;
}
@media print, screen and (min-width: 960px) {
  .c-text-link--intext:hover {
    text-decoration: none;
  }
}
.c-text-link--sitemap::before {
  content: "";
  display: inline-block;
  position: relative;
  height: 0.8rem;
  width: 1rem;
  margin-right: 1rem;
  margin-bottom: 0.4rem;
  background: url(../../assets/img/cmn/cmn_icon_arrow-blue.svg) no-repeat center/contain;
  transform: rotate(-90deg);
}
.c-text-link[target=_blank]::after {
  content: "";
  display: inline-block;
  position: relative;
  height: 1.2rem;
  width: 1.2rem;
  margin-left: 1rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link.svg) no-repeat center/contain;
}
.c-text-link--intext[target=_blank]::after {
  margin-left: 0.4rem;
}
.c-text-link--margin-narrow[target=_blank]::after {
  margin-inline: 0.4rem 0.2rem;
}
.c-text-link[href*=".pdf"]::after {
  height: 2.1rem;
  width: 1.8rem;
  margin-bottom: 0.3rem;
  margin-left: 1rem;
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center/cover;
}
.c-text-link--black {
  color: #222;
}
.c-text-link--black:hover {
  color: #1364ef;
}
.c-text-link--black[target=_blank]::after {
  margin-left: 1rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center/contain;
}
.c-text-link--black[href*=".pdf"]::after {
  height: 2.1rem;
  width: 1.8rem;
  margin-bottom: 0.3rem;
  margin-left: 1rem;
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center/cover;
}
.c-text-link--white {
  color: #fff;
}
.c-text-link--white[target=_blank]::after {
  margin-left: 1rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link-white.svg) no-repeat center/contain;
}
.c-text-link--white[href*=".pdf"]::after {
  height: 2.1rem;
  width: 1.8rem;
  margin-bottom: 0.3rem;
  margin-left: 1rem;
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center/cover;
}
.c-text-link--more {
  color: #222;
}
.c-text-link--more::after {
  content: "";
  display: inline-block;
  position: relative;
  background: url(../../assets/img/cmn/cmn_icon_circle-arrow.svg) no-repeat center/contain;
  height: 2rem;
  width: 2rem;
  margin: 0 0 0.3rem 1rem;
  vertical-align: middle;
}
.c-text-link--more[target=_blank]::after {
  background: url(../../assets/img/cmn/cmn_icon_external-link.svg) no-repeat center/contain;
}
.c-text-link--requirement {
  display: inline-flex;
  flex-direction: column;
}
.c-text-link--requirement[target=_blank]::after {
  display: none;
}
.c-text-link--requirement + .c-text-link--requirement {
  margin-top: 0.4rem;
}

.c-text-link-more-border {
  display: block;
  position: relative;
  border: 1px solid #1364ef;
  padding: 1.2rem 6rem 1.2rem 3.2rem;
  width: 100%;
  color: #1364ef;
  text-align: center;
  word-break: break-word;
}
@media print, screen and (min-width: 960px) {
  .c-text-link-more-border:hover {
    opacity: 0.7;
  }
}
.c-text-link-more-border::after {
  display: inline-block;
  content: "";
  position: absolute;
  right: 3.2rem;
  top: calc(50% - 0.8rem);
  background: url(../../assets/img/cmn/cmn_icon_circle-arrow.svg) no-repeat center/contain;
  height: 2rem;
  width: 2rem;
  vertical-align: middle;
}
.c-text-link-more-border[target=_blank]::after {
  background: url(../../assets/img/cmn/cmn_icon_external-link.svg) no-repeat center/contain;
}

.c-link-list__item {
  display: inline;
}
.c-link-list__item:not(:last-child):after {
  content: "｜";
  color: #222;
  padding: 0 0.8rem;
}
.c-link-list__item--arrow > .c-text-link {
  display: inline-flex;
  align-items: center;
  column-gap: 0.4rem;
}
.c-link-list__item--arrow > .c-text-link::after {
  content: "";
  display: inline-block;
  height: 0.8rem;
  width: 1.3rem;
  margin-top: 0.2rem;
  background: url(../../assets/img/cmn/cmn_icon_arrow-blue.svg) no-repeat center/contain;
}

.c-link-list__item-recruit {
  display: inline-block;
}
.c-link-list__item-recruit:not(:last-child):after {
  content: "｜";
  color: #999;
}

/* button */
.c-btn {
  position: relative;
  top: 0;
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.4rem;
  overflow: hidden;
}
@media print, screen and (min-width: 960px) {
  .c-btn:hover::after, .c-btn:hover .c-btn__text {
    opacity: 0.4;
  }
}
.c-btn--main {
  min-height: 7rem;
  min-width: 25rem;
}
@media print, screen and (min-width: 960px) {
  .c-btn--main {
    min-width: 28rem;
  }
}
.c-btn--contact-main {
  min-width: 25rem;
}
@media print, screen and (min-width: 960px) {
  .c-btn--contact-main {
    min-height: 7rem;
    min-width: 28rem;
  }
}
.c-btn--sub {
  width: 100%;
  max-width: 34.2rem;
}
@media print, screen and (min-width: 960px) {
  .c-btn--sub {
    width: auto;
    max-width: none;
    min-width: 27rem;
  }
}
.c-btn--top {
  display: flex;
  align-items: center;
  column-gap: 1.6rem;
  min-height: 7.2rem;
  width: 100%;
  border-radius: 0.8rem;
  background: #666;
  box-shadow: 0 0.3rem 2rem rgba(0, 0, 0, 0.1);
  color: #fff;
}
@media print, screen and (min-width: 1280px) {
  .c-btn--top {
    min-height: 8.5rem;
  }
}
.c-btn--top::after {
  content: "";
  height: 3.2rem;
  width: 3.2rem;
  background: url(../../assets/img/cmn/cmn_icon_circle-arrow.svg) no-repeat center center/cover;
}
@media print, screen and (min-width: 1280px) {
  .c-btn--top::after {
    height: 3.7rem;
    width: 3.7rem;
  }
}
.c-btn--max {
  width: 100%;
}
.c-btn--top-icon {
  border: 1px solid #999;
  border-radius: 18px;
  min-width: 15rem;
  padding: 0.8rem;
  background-color: #fff;
  color: #222;
  text-decoration: none;
  word-break: break-word;
  font-size: 1.2rem;
  line-height: 1.25;
}
.c-btn--top-icon::after {
  content: "";
  display: inline-block;
  position: relative;
  height: 1.3rem;
  width: 1.3rem;
  margin-left: 1rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center/cover;
}
.c-btn--primary {
  background: #666;
  color: #fff;
}
.c-btn--primary::after {
  position: absolute;
  right: 2.4rem;
  content: "";
  height: 1.6rem;
  width: 1.6rem;
  background: url(../../assets/img/cmn/cmn_icon_link-arrow-white.svg) no-repeat center/contain;
  z-index: 3;
}
.c-btn--primary[target=_blank]::after {
  height: 1.3rem;
  width: 1.3rem;
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_external-link-white.svg) no-repeat center/cover;
}
.c-btn--primary[href$=".pdf"]::after {
  height: 2.1rem;
  width: 1.8rem;
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center/cover;
}
.c-btn--secondary {
  border: 1px solid #444;
  background: #fff;
  color: #222;
}
@media print {
  .c-btn--secondary {
    border: 1px solid #222;
  }
}
.c-btn--secondary::after {
  content: "";
  position: absolute;
  right: 1.6rem;
  height: 2rem;
  width: 2rem;
  background: url(../../assets/img/cmn/cmn_icon_circle-arrow.svg) no-repeat center/cover;
  z-index: 3;
}
.c-btn--secondary[target=_blank]::after {
  height: 1.2rem;
  width: 1.2rem;
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center/cover;
}
.c-btn--secondary[href$=".pdf"]::after {
  height: 2.1rem;
  width: 1.8rem;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center/cover;
}
.c-btn--no-icon::after {
  display: none;
}
.c-btn--recruit-mail::after {
  display: none;
}
.c-btn--border-white {
  border: 1px solid #fff;
}
@media print, screen and (min-width: 960px) {
  .c-btn--header {
    height: 6rem;
    width: 100%;
  }
}
@media print, screen and (min-width: 960px) {
  .c-btn--header-inquiry {
    width: 17rem;
    border: 1px solid #999;
    background-color: #fff;
    color: rgb(68, 68, 68);
  }
}
.c-btn--header-inquiry[target=_blank] > .c-btn__text::after {
  content: "";
  display: block;
  margin-left: min(3.5%, 0.8rem);
  height: 1.2rem;
  width: 1.2rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center/contain;
}
.c-btn--footer {
  height: 6rem;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .c-btn--footer {
    min-height: 8rem;
  }
}
.c-btn--footer-inquiry {
  border: 1px solid #000;
  background-color: #fff;
  color: #222;
}
.c-btn--footer-inquiry[target=_blank]::after {
  position: absolute;
  right: 2.4rem;
  content: "";
  height: 1.3rem;
  width: 1.3rem;
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center center/contain;
  z-index: 3;
}

.c-btn__text {
  position: relative;
  top: 0;
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  height: 100%;
  width: 100%;
  padding: 1.6rem 4rem 1.6rem 3.2rem;
  z-index: 1;
}
.c-btn__text--top {
  display: contents;
  padding: 2.6rem 5.1rem 2.6rem 3.2rem;
}
@media print, screen and (min-width: 1280px) {
  .c-btn__text--top {
    font-size: 1.8rem;
  }
}
.c-btn__text--padding-narrow {
  padding-block: 0.8rem;
}
.c-btn__text--header {
  padding: 0;
}
.c-btn__text--header-inquiry {
  font-size: min(1.2vw, 1.6rem);
}
.c-btn__text--header-inquiry[target=blank]::after {
  position: relative;
  content: "";
  margin-left: min(3.5%, 0.8rem);
  height: 1.3rem;
  width: 1.3rem;
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center/contain;
  z-index: 3;
}
@media print, screen and (min-width: 960px) {
  .c-btn__text--footer {
    font-size: 2rem;
  }
}
.c-btn__text--footer-inquiry {
  gap: 1.2rem;
}
.c-btn__text--footer-inquiry::before {
  content: "";
  display: block;
  height: 1.3rem;
  width: 2rem;
  margin-top: 0.2rem;
  background: url(../../assets/img/cmn/cmn_icon_mail.svg) no-repeat center/contain;
}
.c-btn__text--footer-support-desk {
  flex-direction: column;
  padding: 0.8rem;
}
@media print, screen and (min-width: 1280px) {
  .c-btn__text--footer-support-desk {
    align-items: flex-start;
  }
}
.c-btn__text--sub {
  font-size: 1.4rem;
}
.c-btn__text--recruit-mail {
  gap: 1.2rem;
  padding-inline: 3.2rem;
}
.c-btn__text--recruit-mail::before {
  content: "";
  display: inline-block;
  position: relative;
  height: 1.2rem;
  width: 2rem;
  background: url(../../assets/img/cmn/cmn_icon_mail-white.svg) no-repeat center/contain;
  z-index: 2;
}

.c-btn-container {
  display: flex;
}
.c-btn-container--center {
  justify-content: center;
}
.c-btn-container--center-only-sp {
  justify-content: center;
}
@media print, screen and (min-width: 960px) {
  .c-btn-container--center-only-sp {
    justify-content: flex-start;
  }
}
@media print, screen and (min-width: 960px) {
  .c-btn-container--center-only-pc {
    justify-content: center;
  }
}
.c-btn-container--lv1 {
  margin-top: 1.2rem;
}
.c-btn-container--lv2 {
  margin-top: 1.6rem;
}
.c-btn-container--lv3 {
  margin-top: 2.4rem;
}
.c-btn-container--lv4 {
  margin-top: 3.2rem;
}
.c-btn-container--catchcopy {
  margin-top: 4rem;
}
@media print, screen and (min-width: 960px) {
  .c-btn-container--catchcopy {
    margin-top: 5rem;
  }
}
.c-btn-container--large {
  margin-top: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .c-btn-container--large {
    margin-top: 4rem;
  }
}
.c-btn-container--recruit {
  position: sticky;
  bottom: 0;
  justify-content: center;
  margin-inline: -0.1rem;
  margin-top: 2.4rem;
  padding-block: 0.8rem;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .c-btn-container--recruit {
    margin-top: 4rem;
  }
}
@media print {
  .c-btn-container--recruit {
    position: static;
    margin-inline: 0;
    padding-block: 0;
    background-color: transparent;
  }
}

/* text-icon */
.c-text-icon {
  display: inline-block;
}
.c-text-icon--header-support-desk {
  display: flex;
  align-items: center;
  border-radius: 1.5rem;
  padding: 0.4rem 0.6rem;
  background-color: #666;
  color: #fff;
  font-size: 1rem;
  white-space: nowrap;
}
@media print, screen and (min-width: 960px) {
  .c-text-icon--header-support-desk {
    padding: 0.2rem 0.6rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .c-text-icon--header-support-desk {
    padding: 0.2rem 0.8rem;
  }
}
.c-text-icon--header-phone {
  display: flex;
  align-items: center;
  border-radius: 1.5rem;
  padding: 0.2rem 0.5rem 0.5rem 0.7rem;
  background-color: #666;
  color: #fff;
  font-size: 1rem;
  white-space: nowrap;
}
.c-text-icon--footer-support-desk {
  border-radius: 4px;
  padding: 0.2rem 0.3rem;
  background-color: #09a6ba;
  color: #fff;
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: -0.08em;
}
@media print, screen and (min-width: 1280px) {
  .c-text-icon--footer-support-desk {
    padding: 0.4rem 0.8rem;
    font-size: 1.4rem;
    letter-spacing: 0;
  }
}
.c-text-icon--strength-program {
  display: inline-flex;
  align-items: center;
  column-gap: 0.8rem;
  margin-bottom: 1.6rem;
  font-size: 2rem;
  font-weight: bold;
}
.c-text-icon--strength-program::before {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background-color: #666;
  border-radius: 50%;
}
@media print, screen and (min-width: 960px) {
  .c-text-icon--strength-program {
    margin-bottom: 2.4rem;
  }
}
.c-text-icon--useful {
  display: inline-block;
  border: 1px solid #00a241;
  border-radius: 15px;
  padding: 0.6rem 0.8rem;
  margin-left: 1.6rem;
  color: #00a241;
  font-size: 1.2rem;
  line-height: 1.2;
}

/* accent */
.c-accent {
  color: #f06718;
}

/* header */
/* header */
.p-header-sub-link-list {
  display: flex;
  flex-direction: column;
  row-gap: 1.2rem;
  padding: 2.4rem 2.4rem 8rem;
  background-color: #fff;
}
@media print, screen and (min-width: 1280px) {
  .p-header-sub-link-list--sp {
    display: none;
  }
}
.p-header-sub-link-list--pc {
  display: none;
}
@media print, screen and (min-width: 1280px) {
  .p-header-sub-link-list--pc {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    column-gap: 1.6rem;
    row-gap: 0;
    max-width: 171.2rem;
    margin-inline: auto;
    padding: 2.4rem 1.6rem 0.8rem;
  }
}

.p-header {
  display: flex;
  justify-content: space-between;
  height: 5rem;
  width: 100%;
  padding-inline: 2.4rem 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-header {
    height: 10rem;
    max-width: 171.2rem;
    margin-inline: auto;
    padding-inline: 1.6rem;
    background-color: #fff;
  }
}

.p-header-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

@media print, screen and (min-width: 960px) {
  .p-header-nav__container {
    display: flex;
    align-items: center;
  }
  .p-header-nav__container--gnav {
    column-gap: 1.25vw;
    height: 100%;
  }
}
@media print, screen and (min-width: 960px) and (min-width: 1500px) {
  .p-header-nav__container--gnav {
    column-gap: 5rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-header-nav__container--gnav-eureka {
    column-gap: 5rem;
    height: 100%;
  }
}
.p-header-nav__container--sub-nav {
  column-gap: 1.2rem;
}
@media print, screen and (min-width: 1280px) {
  .p-header-nav__container--sub-nav {
    column-gap: min(0.55vw, 2rem);
  }
}
@media print, screen and (min-width: 1500px) {
  .p-header-nav__container--sub-nav {
    column-gap: 2rem;
  }
}

.p-header-nav__logo {
  position: relative;
  width: 5rem;
  transition: opacity 0.25s;
  z-index: 6;
}
.p-header-nav__logo--eureka {
  width: 7.5rem;
}
.p-header-nav__logo--kougaku {
  width: 8rem;
}
@media print, screen and (min-width: 960px) {
  .p-header-nav__logo {
    width: auto;
    height: 6rem;
  }
  .p-header-nav__logo--eureka {
    height: 5rem;
  }
  .p-header-nav__logo--kougaku {
    height: 3rem;
  }
  .p-header-nav__logo:hover {
    opacity: 0.7;
  }
}

.p-header-nav__logo img {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-header-nav__logo img {
    width: auto;
    height: 100%;
  }
}

.p-header-nav-list-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
  height: 100dvh;
  width: 100%;
  padding-top: 5rem;
  background-color: #fff;
  z-index: 5;
}
@media print, screen and (min-width: 960px) {
  .p-header-nav-list-wrapper {
    padding-top: 9rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .p-header-nav-list-wrapper {
    position: static;
    display: flex;
    justify-content: end;
    height: 100%;
    width: auto;
    padding-top: 0;
    background-color: transparent;
    text-align: center;
  }
}

.p-header-nav-list-group {
  overflow: auto;
  height: 100%;
  background-color: #666;
}
@media print, screen and (min-width: 1280px) {
  .p-header-nav-list-group {
    height: auto;
    overflow: visible;
    background-color: transparent;
  }
}

@media print, screen and (min-width: 1280px) {
  .p-header-nav-list {
    display: flex;
    align-items: center;
    column-gap: min(1.5dvw, 4rem);
    height: 100%;
    margin-right: auto;
  }
}

@media print, screen and (min-width: 1280px) {
  .p-header-nav-list__item {
    display: flex;
    align-items: center;
    position: relative;
    border: none;
    height: 100%;
  }
  .p-header-nav-list__item:last-child {
    border: none;
  }
}

.p-header-nav-list__title {
  position: relative;
  cursor: pointer;
  padding-inline: 2.4rem;
  border-bottom: 1px solid #ccc;
  background-color: #666;
  color: #fff;
  font-weight: bold;
}
@media print, screen and (min-width: 1280px) {
  .p-header-nav-list__title {
    padding-inline: 0;
    border-bottom: none;
    background-color: transparent;
    color: #222;
  }
}
.p-header-nav-list__title::before, .p-header-nav-list__title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.8rem;
  height: 0.2rem;
  width: 1.2rem;
  border-radius: 1px;
  background-color: #fff;
  transition: transform 0.1s;
}
.p-header-nav-list__title::after {
  transform: rotate(90deg);
}
.p-header-nav-list__title.is-focus::before {
  display: none;
}
.p-header-nav-list__title.is-focus::after {
  transform: rotate(0);
}
.p-header-nav-list__title.is-focus > .p-header-nav-list__target--sp {
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-header-nav-list__title::before, .p-header-nav-list__title::after {
    right: 3.6rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .p-header-nav-list__title::before, .p-header-nav-list__title::after {
    display: none;
  }
}
.p-header-nav-list__title--link {
  position: relative;
}
.p-header-nav-list__title--link::after {
  top: 41%;
  height: 13px;
  width: 13px;
  border: none;
  background: url(../../assets/img/cmn/cmn_icon_arrow-white.svg) no-repeat center center/contain;
  transform: rotate(0);
}
.p-header-nav-list__title--link:has(a[target=_blank])::after {
  background: url(../../assets/img/cmn/cmn_icon_external-link-white.svg) no-repeat center center/contain;
}
.p-header-nav-list__title--link::before {
  content: none;
}
@media print, screen and (min-width: 1280px) {
  .p-header-nav-list__title--link:has(a[target=_blank]) .p-header-nav-list__target::before {
    content: "";
    display: inline-block;
    position: static;
    height: 1.4rem;
    width: 1.4rem;
    background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center center/contain;
    transform: none;
    order: 1;
  }
}

.p-header-nav-list__icon-wrapper {
  display: block;
  width: 3.2rem;
  height: auto;
}
@media print, screen and (min-width: 1280px) {
  .p-header-nav-list__icon-wrapper {
    display: none;
  }
}

.p-header-nav-list__target {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  position: relative;
  min-height: 6rem;
}
@media print, screen and (min-width: 1280px) {
  .p-header-nav-list__target {
    height: 100%;
    padding-block: 3.5rem;
    color: rgb(68, 68, 68);
    font-size: min(1.1dvw, 1.6rem);
    font-weight: bold;
    line-height: 1;
  }
  .p-header-nav-list__target::after {
    content: "";
    position: absolute;
    bottom: 0.8rem;
    left: 0;
    height: 0.3rem;
    width: 100%;
    background-color: #444;
    transform: scale(0, 1);
    transform-origin: center;
    transition: transform 0.3s;
    z-index: 3;
    opacity: 1;
  }
  .p-header-nav-list__target.is-current {
    color: rgba(68, 68, 68, 0.6);
  }
}
@media print, screen and (min-width: 1280px) {
  .p-header-nav-list__target--sp {
    display: none;
  }
}
.p-header-nav-list__target--pc {
  display: none;
}
@media print, screen and (min-width: 1280px) {
  .p-header-nav-list__target--pc {
    display: block;
    position: relative;
  }
}

@media print, screen and (min-width: 1280px) {
  button.p-header-nav-list__target::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    bottom: 2rem;
    height: 1.5rem;
    width: 0.8rem;
    background: url(../../assets/img/cmn/cmn_icon_arrow.svg) no-repeat center center/contain;
    transform: rotate(90deg);
    transform-origin: center left;
    transition: 0.2s;
  }
}

.js-header-nav-list-item.is-active button.p-header-nav-list__target::before {
  bottom: 1.5rem;
  transform: rotate(270deg);
}

@media print, screen and (min-width: 1280px) {
  .p-header-nav-list__item.is-active .p-header-nav-list__target::after {
    transform: scale(1, 1);
  }
}
@media print, screen and (min-width: 960px) {
  .p-header-nav-list__item:hover .p-header-nav-list__target--noclick {
    pointer-events: none;
  }
}
.p-header-nav-list__button-wrap {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-header-nav-list__button-wrap {
    flex-shrink: 0;
    height: 100%;
    width: 8rem;
    margin-left: auto;
  }
}

.p-header-inner-nav-wrapper {
  display: none;
  padding: 0.8rem 2.4rem;
  background-color: #f8f8f8;
}
@media print, screen and (min-width: 1280px) {
  .p-header-inner-nav-wrapper--service {
    flex-direction: column;
  }
}

@media print, screen and (min-width: 1280px) {
  .p-header-nav-list__item.is-active .p-header-inner-nav-wrapper {
    position: absolute;
    top: 10.4rem;
    left: 50%;
    display: block;
    padding: 2.2rem 3rem;
    border: 1px solid #222;
    border-radius: 0.8rem;
    background-color: #fff;
    white-space: nowrap;
    transform: translateX(-50%);
  }
  .p-header-nav-list__item.is-active .p-header-inner-nav-wrapper::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 0;
    display: block;
    width: 100%;
    height: 8px;
    background-color: transparent;
  }
  .p-header-nav-list__item.is-active .p-header-inner-nav-wrapper--service {
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem;
  }
  .p-header-nav-list__item:first-of-type.is-active .p-header-inner-nav-wrapper {
    transform: translateX(-25%);
  }
}
@media print, screen and (min-width: 1280px) {
  .p-header-inner-nav-content-col2 {
    display: grid;
    gap: 2.4rem;
    grid-template-columns: repeat(2, auto);
  }
}

.p-header-inner-nav-title {
  padding-block: 0.8rem;
  font-weight: bold;
}
@media print, screen and (min-width: 1280px) {
  .p-header-inner-nav-title {
    position: relative;
    width: 13.6rem;
    padding: 0.8rem 0.4rem;
    border-right: 1px solid #d8e1f0;
    font-size: 1.4rem;
    text-align: left;
  }
}

.p-header-inner-nav {
  padding-left: 1.2rem;
}
.p-header-inner-nav--service-top {
  padding-left: 0;
}
@media print, screen and (min-width: 1280px) {
  .p-header-inner-nav {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(4, auto);
    column-gap: 1.6rem;
    width: auto;
    padding-left: 0;
    text-align: left;
  }
  .p-header-nav-list__item:first-child .p-header-inner-nav {
    grid-auto-flow: row;
    grid-template-rows: auto;
    grid-template-columns: repeat(3, auto);
  }
}

.p-header-inner-nav__item {
  position: relative;
}
@media print, screen and (min-width: 1280px) {
  .p-header-inner-nav__item {
    margin-left: 0;
  }
}

@keyframes is-active {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.p-header-inner-nav__target {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem 0;
  font-size: 1.4rem;
  font-weight: bold;
  font-feature-settings: "palt";
}
.p-header-inner-nav__target::after {
  content: "";
  position: relative;
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  margin-right: 0.6rem;
  background: url(../../assets/img/cmn/cmn_icon_arrow.svg) no-repeat center center;
}
.p-header-inner-nav__target[target=_blank]::after {
  height: 1.3rem;
  width: 1.3rem;
  margin-right: 0.2rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-header-inner-nav__target::after {
    margin-right: 1.4rem;
  }
  .p-header-inner-nav__target[target=_blank]::after {
    margin-right: 1rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .p-header-inner-nav__target {
    justify-content: flex-start;
    min-width: 12.4rem;
    margin-bottom: 0;
    padding: 0.8rem 0.4rem;
    font-size: 1.4rem;
    font-weight: normal;
    transition: 0.1s;
  }
  .p-header-inner-nav__target::after {
    display: none;
  }
  .p-header-inner-nav__target[target=_blank]::after {
    display: block;
    flex-shrink: 0;
    margin-left: 0.8rem;
  }
  .p-header-inner-nav__target:hover {
    opacity: 0.7;
  }
  .p-header-inner-nav__target--top {
    display: inline-block;
    width: auto;
    font-weight: bold;
  }
  .p-header-inner-nav__target--top::after {
    content: "";
    display: inline-block;
    height: 1.5rem;
    margin: 0 0 -0.13rem 0.8rem;
    width: 1.5rem;
    background: url(../../assets/img/cmn/cmn_icon_circle-arrow.svg) no-repeat center center/contain;
  }
}
.p-header-inner-nav__target--lower-page {
  padding-left: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-header-inner-nav__target--lower-page {
    padding-left: 0.8rem;
  }
}

/* support-desk*/
.p-header-nav-list__contact {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-header-nav-list__contact {
    display: grid;
    align-items: center;
    grid-template-columns: auto 1fr;
    justify-items: start;
    gap: 0.5rem 0.6rem;
    color: rgb(68, 68, 68);
  }
}

.p-header-nav-list__contact-support-desk {
  grid-area: 1/1/2/2;
}
.p-header-nav-list__contact-support-desk::before {
  order: -2;
  content: "";
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
  background: url(../../assets/img/cmn/cmn_icon_tel-pc-white.svg) no-repeat left center/contain;
}
.p-header-nav-list__contact-support-desk::after {
  content: "";
  order: -1;
  display: inline-block;
  height: 1.2rem;
  width: 0.1rem;
  margin-top: 0.2rem;
  margin-inline: 0.4rem;
  background-color: #fff;
  opacity: 0.3;
}

.p-header-nav-list__contact-icon {
  grid-area: 1/1/2/2;
}
.p-header-nav-list__contact-icon::before {
  order: -2;
  content: "";
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
  background: url(../../assets/img/cmn/cmn_icon_tel-pc-white.svg) no-repeat left center/contain;
}

@media print, screen and (min-width: 960px) {
  .p-header-nav-list__contact-tel {
    grid-area: 1/2/2/3;
    font-family: Roboto;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    white-space: nowrap;
  }
}
@media print, screen and (min-width: 1280px) {
  .p-header-nav-list__contact-tel {
    font-size: clamp(1.5rem, 1.45vw, 2.5rem);
  }
}

.p-header-nav-list__contact-text {
  display: inline-block;
  font-size: clamp(1.2rem, 1vw, 1.6rem);
  letter-spacing: -0.02em;
  transform: translate(-15%, -5%);
}

@media print, screen and (min-width: 960px) {
  .p-header-nav-list__contact-time {
    grid-area: 2/1/3/3;
    font-size: 0.8rem;
    line-height: 1.5;
    justify-self: center;
  }
}
@media print, screen and (min-width: 1280px) {
  .p-header-nav-list__contact-time {
    grid-area: 2/1/3/3;
    font-size: 1rem;
  }
}

/* header-btn*/
.p-header-contact-btn {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-header-contact-btn {
    display: flex;
    column-gap: min(0.55vw, 1.2rem);
  }
}
@media print, screen and (min-width: 1500px) {
  .p-header-contact-btn {
    column-gap: 1.6rem;
  }
}

.p-header-contact-btn-icon {
  width: 2rem;
  margin-top: 0.2rem;
  margin-right: 0.8rem;
}

.p-humberger {
  display: flex;
  align-items: center;
  position: relative;
  height: 5rem;
  width: 5rem;
  border-radius: 50%;
  z-index: 10;
}
@media print, screen and (min-width: 1280px) {
  .p-humberger {
    display: none;
  }
}

.p-humberger__toggle-bar {
  position: absolute;
  left: 1.3rem;
  display: block;
  height: 2px;
  width: 2.2rem;
  border-bottom: 2px solid #444;
  transition: 0.25s ease-in-out;
}
.p-humberger__toggle-bar:nth-child(1) {
  top: calc(50% - 0.1rem + 0.8rem);
}
.p-humberger__toggle-bar:nth-child(2) {
  top: calc(50% - 0.1rem);
}
.p-humberger__toggle-bar:nth-child(3) {
  top: calc(50% - 0.1rem - 0.8rem);
}

.p-humberger.is-open .p-humberger__toggle-bar:nth-child(1) {
  top: 50%;
  transform: rotate(45deg);
}
.p-humberger.is-open .p-humberger__toggle-bar:nth-child(2) {
  right: 25%;
  width: 0;
  transition: none;
}
.p-humberger.is-open .p-humberger__toggle-bar:nth-child(3) {
  top: 50%;
  transform: rotate(-45deg);
}

.p-humberger-btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  padding: 2.4rem 0 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-humberger-btn {
    display: none;
  }
}

/* main */
.p-main {
  padding-block: 5rem 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-main {
    padding-block: 10rem 12rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .p-main {
    padding-top: 0;
  }
}
.p-main--no-padding {
  padding-bottom: 0;
}
.p-main--error {
  padding-block: 11.4rem 6.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-main--error {
    padding-block: 22rem 12rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .p-main--error {
    padding-block: 12rem;
  }
}
.p-main--top {
  padding-block: 5rem 0;
}
@media print, screen and (min-width: 960px) {
  .p-main--top {
    padding-block: 8.5rem 0;
  }
}
@media print, screen and (min-width: 1280px) {
  .p-main--top {
    padding-block: 0;
  }
}

/* section */
.p-large-section + .p-large-section {
  margin-top: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-large-section + .p-large-section {
    margin-top: 8rem;
  }
}
.p-large-section + .p-large-section--no-margin {
  margin-top: 0;
}
.p-large-section + .p-large-section--no-margin-sp {
  margin-top: 0;
}
@media print, screen and (min-width: 960px) {
  .p-large-section + .p-large-section--no-margin-sp {
    margin-top: 8rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-large-section + .p-large-section--margin-pc-lv1 {
    margin-top: 0.8rem;
  }
}
.p-large-section + .p-large-section--service {
  margin-top: 10rem;
}
.p-large-section + .p-large-section--local-nav {
  margin-top: 0;
  padding-top: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-large-section + .p-large-section--local-nav {
    padding-top: 12rem;
  }
}
.p-large-section + .p-large-section--local-nav-border {
  margin-top: 8rem;
  border-top: 1px solid #222;
}
@media print, screen and (min-width: 960px) {
  .p-large-section + .p-large-section--local-nav-border {
    margin-top: 12rem;
  }
}
.p-large-section + .p-large-section--strength {
  margin-top: 5rem;
}
@media print, screen and (min-width: 960px) {
  .p-large-section + .p-large-section--strength {
    margin-top: 10rem;
  }
}
.p-large-section + .p-large-section--tekisyo {
  margin-top: 8rem;
}
@media print, screen and (min-width: 960px) {
  .p-large-section + .p-large-section--tekisyo {
    margin-top: 12rem;
  }
}

.p-large-section__heading + .p-large-section__content {
  margin-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-large-section__heading + .p-large-section__content {
    margin-top: 4rem;
  }
}
.p-large-section__heading + .p-large-section__content--index {
  margin-top: 2rem;
  color: #444;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-large-section__heading + .p-large-section__content--margin-narrow {
    margin-top: 3.2rem;
  }
}
.p-large-section__heading--top-useful {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 3.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-large-section__heading--top-useful {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    flex-shrink: 0;
  }
}
.p-large-section__heading--top-useful + .p-large-section__content {
  flex-shrink: 1;
  margin-top: 0;
  margin-right: -2.4rem;
  padding-right: 2.4rem;
  overflow-x: auto;
}
@media print, screen and (min-width: 520px) {
  .p-large-section__heading--top-useful + .p-large-section__content {
    margin-right: -5rem;
    padding-right: 5rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-large-section__heading--top-useful + .p-large-section__content {
    margin-right: -2.4rem;
    padding-right: 2.4rem;
  }
}
.p-large-section__heading--with-link {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
.p-large-section__heading--with-link > *:nth-child(2) {
  font-size: 1.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-large-section__heading--with-link > *:nth-child(2) {
    font-size: 1.6rem;
  }
}

.p-middle-section + .p-middle-section {
  margin-top: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-middle-section + .p-middle-section {
    margin-top: 4rem;
  }
}
.p-middle-section + .p-middle-section--margin-wide {
  margin-top: 4rem;
}
.p-middle-section + .p-middle-section--strength {
  margin-top: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-middle-section + .p-middle-section--strength {
    margin-top: 8rem;
  }
}

.p-middle-section__heading + .p-middle-section__content {
  margin-top: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-middle-section__heading + .p-middle-section__content {
    margin-top: 2.4rem;
  }
}
.p-middle-section__heading--philosophy + .p-middle-section__content {
  margin-top: 4rem;
}

.p-small-section + .p-small-section {
  margin-top: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-small-section + .p-small-section {
    margin-top: 3.2rem;
  }
}
.p-small-section--branch-list + .p-small-section--branch-list {
  margin-top: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-small-section--branch-list + .p-small-section--branch-list {
    margin-top: 2.4rem;
  }
}

.p-small-section__heading + .p-small-section__content {
  margin-top: 0.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-small-section__heading + .p-small-section__content {
    margin-top: 1.6rem;
  }
}

.p-small-section__content + .p-small-section__content {
  margin-top: 1.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-small-section__content + .p-small-section__content {
    margin-top: 2.4rem;
  }
}
.p-small-section__content--img {
  margin-inline: auto;
  max-width: 50rem;
  width: 100%;
}

.p-map-section {
  margin-top: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-map-section {
    margin-top: 3.2rem;
  }
}

.p-section-bg {
  padding: 3.2rem 0 4rem;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg {
    padding: 8rem 0 8rem;
  }
}
.p-section-bg + .p-section-bg {
  margin-top: 0;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg + .p-large-section--local-nav-border {
    margin-top: 0;
  }
}
.p-section-bg--light-gray + .p-section-bg--light-gray {
  padding-top: 0;
}
.p-section-bg--eureka {
  padding-bottom: 0;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--eureka {
    padding-bottom: 8rem;
  }
}
.p-section-bg--eureka + .p-section-bg--light-gray {
  margin-top: 4rem;
  padding: 3.2rem 0 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--eureka + .p-section-bg--light-gray {
    margin-top: 8rem;
    padding: 8rem 0 8rem;
  }
}
.p-section-bg--top {
  padding-block: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--top {
    padding-block: 8rem;
    background-color: #f8f8f8;
  }
}
.p-section-bg--service {
  background-color: #f8f8f8;
}
.p-section-bg--topics {
  padding-block: 4rem;
  background-color: #f8f8f8;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--topics {
    padding-block: 8rem 12rem;
    background-color: #fff;
  }
}
.p-section-bg--light-gray-pc {
  padding-block: 4rem;
  background-color: #f8f8f8;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--light-gray-pc {
    padding-block: 8rem 12rem;
  }
}
.p-section-bg--main {
  background-color: #666;
  color: #fff;
}
.p-section-bg--light-gray {
  background-color: #f8f8f8;
}
.p-section-bg--light-gray-sp-only {
  background-color: #f8f8f8;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--light-gray-sp-only {
    background-color: #fff;
    padding-block: 0;
  }
  .p-section-bg--light-gray-sp-only + .p-section-bg--light-gray-sp-only {
    padding-block: 8rem;
  }
}
.p-section-bg--tekisyo {
  padding-block: 8rem;
  background-color: #f8f8f8;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--tekisyo {
    padding-block: 12rem;
  }
}
.p-section-bg--case {
  padding-top: 4rem;
  padding-bottom: 0;
  background-color: #f8f8f8;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--case {
    padding-block: 7.2rem;
    background-color: #f8f8f8;
  }
  .p-section-bg--case + .p-large-section {
    margin-top: 10.4rem;
  }
}
.p-section-bg--strength-original {
  background-color: #666;
  padding: 2.4rem 2.4rem 4.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--strength-original {
    padding: 6.4rem 0 12rem;
  }
}
.p-section-bg--science {
  padding-block: 4rem;
  background-color: #666;
  color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--science {
    padding-block: 4.8rem;
  }
}
.p-section-bg--top-satisfaction {
  position: relative;
  padding-top: 3.2rem;
  padding-bottom: 7rem;
  background-color: #001752;
  z-index: 4;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--top-satisfaction {
    margin-top: -25rem;
    padding-top: 0;
    padding-bottom: 0;
    background-color: transparent;
  }
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--last {
    padding-block: 8rem;
  }
}

/* heading */
.p-top-heading {
  font-weight: bold;
}
.p-top-heading > * + * {
  margin-top: 0.8rem;
}
.p-top-heading--primary {
  font-size: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-top-heading--primary {
    font-size: 2.4rem;
  }
}
.p-top-heading--secondary {
  font-size: 1.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-top-heading--secondary {
    font-size: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-heading--tertiary {
    font-size: 2.4rem;
  }
}
.p-top-heading--white {
  color: #fff;
}
.p-top-heading--center {
  text-align: center;
}
.p-top-heading--needs {
  font-size: 1.8rem;
}
.p-top-heading--color {
  color: #666;
}

.p-top-heading__main {
  display: block;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 960px) {
  .p-top-heading__main {
    letter-spacing: normal;
  }
}
.p-top-heading__main--satisfaction {
  margin-top: 1.6rem;
}

.p-top-heading__eng {
  display: block;
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: 0.1em;
}
@media print, screen and (min-width: 960px) {
  .p-top-heading__eng {
    font-size: 1.2rem;
  }
}

.p-heading {
  position: relative;
  font-weight: bold;
}
.p-heading--primary, .p-heading--primary-index {
  font-size: 3.2rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #444;
}
@media print, screen and (min-width: 960px) {
  .p-heading--primary-index {
    font-size: 4rem;
  }
}
.p-heading--secondary {
  font-size: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--secondary {
    font-size: 2.6rem;
  }
}
.p-heading--tertiary {
  font-size: 1.8rem;
  align-items: stretch;
  display: flex;
}
@media print, screen and (min-width: 960px) {
  .p-heading--tertiary {
    font-size: 2.4rem;
  }
}
.p-heading--tertiary::before {
  content: "";
  display: inline-block;
  margin: 0.8rem 1.6rem 0.6rem 0;
  width: 0.4rem;
  min-width: 0.4rem;
  border-radius: 4px;
  background-color: #666;
  vertical-align: middle;
}
@media print, screen and (min-width: 960px) {
  .p-heading--tertiary::before {
    margin: 1rem 1.6rem 0.6rem 0;
  }
}
.p-heading--tertiary-black {
  font-size: 1.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--tertiary-black {
    font-size: 2.4rem;
  }
}
.p-heading--tertiary-no-line {
  font-size: 1.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--tertiary-no-line {
    font-size: 2.8rem;
  }
}
.p-heading--quaternary {
  font-size: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--quaternary {
    font-size: 2rem;
  }
}
.p-heading--quaternary-color {
  color: #666;
  font-size: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--quaternary-color {
    font-size: 2rem;
  }
}
.p-heading--fifth {
  font-size: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--fifth {
    font-size: 1.8rem;
  }
}
.p-heading--fifth-main {
  color: #666;
  font-size: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--fifth-main {
    font-size: 1.8rem;
  }
}
.p-heading--sixth {
  font-size: 1.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--sixth {
    font-size: 1.6rem;
  }
}
.p-heading--center {
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .p-heading--center-pc {
    text-align: center;
  }
}
@media screen and (max-width: 519px) {
  .p-heading--center-sp {
    text-align: center;
  }
}
.p-heading--fs18 {
  font-size: 1.8rem;
}
.p-heading--white {
  color: #fff;
}
.p-heading--color {
  color: #444;
}
.p-heading--sp18-pc20 {
  font-size: 1.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--sp18-pc20 {
    font-size: 2rem;
  }
}
.p-heading--philosophy-page {
  color: #444;
  font-size: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--philosophy-page {
    font-size: 3.2rem;
  }
}
.p-heading--philosophy {
  color: #444;
  font-size: 3.6rem;
  line-height: 1.6;
}
@media print, screen and (min-width: 960px) {
  .p-heading--philosophy {
    font-size: 4.8rem;
    letter-spacing: 0.05em;
  }
}
.p-heading--strength-data {
  font-size: 2rem;
  text-align: center;
}
.p-heading--strength-step {
  display: inline-block;
  grid-area: 2/2/3/3;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 960px) {
  .p-heading--strength-step {
    font-size: 2rem;
  }
}
.p-heading--top-useful {
  flex-grow: 1;
}
.p-heading--science {
  font-size: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--science {
    font-size: 2.4rem;
  }
}
.p-heading--clickable {
  color: #1364ef;
}

/* breadcrumb */
.p-breadcrumb-list {
  display: flex;
  align-items: center;
  gap: 0.4rem 1.6rem;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 3rem;
  font-size: 1.2rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-breadcrumb-list {
    font-size: 1.4rem;
  }
}
.p-breadcrumb-list--local {
  margin: 3rem auto;
}
@media print, screen and (min-width: 960px) {
  .p-breadcrumb-list--local {
    margin: 3.2rem auto 6.4rem;
  }
}

.p-breadcrumb-list__item + .p-breadcrumb-list__item::before {
  content: "";
  display: inline-block;
  height: 0.6rem;
  width: 0.6rem;
  margin-right: 1.6rem;
  border-bottom: 1px solid #707070;
  border-left: 1px solid #707070;
  transform: rotate(-135deg);
  vertical-align: middle;
}

/* footer */
.p-footer-contact {
  display: grid;
  gap: 1.6rem;
  width: 100%;
  max-width: 49rem;
  margin-inline: auto;
  padding: 4rem 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-footer-contact {
    gap: 3.2rem;
    max-width: 35rem;
    padding: 0;
  }
}

.p-footer-contact__content {
  display: grid;
  gap: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-footer-contact__content {
    gap: 2.4rem;
  }
}

.p-footer-contact__item {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  justify-content: space-between;
}
@media print, screen and (min-width: 1280px) {
  .p-footer-contact__item {
    gap: 3.2rem;
  }
}

.p-footer-contact-btn-icon {
  width: 2rem;
  margin-top: 0.2rem;
  margin-right: 0.8rem;
}

.p-footer-tell-parts {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  justify-items: start;
  gap: 0.5rem 0.6rem;
  margin-inline: auto;
  color: #fff;
}

.p-footer-tell-parts-inner {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  grid-column: 1/3;
  justify-self: center;
}

.p-footer-tell-parts__support-desk {
  background-color: transparent;
  border: 1px solid #fff;
}
.p-footer-tell-parts__support-desk::before {
  order: -2;
  content: "";
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
  background: url(../../assets/img/cmn/cmn_icon_tel-pc-white.svg) no-repeat left center/contain;
}
.p-footer-tell-parts__support-desk::after {
  content: "";
  order: -1;
  display: inline-block;
  height: 1.2rem;
  width: 0.1rem;
  margin-top: 0.2rem;
  margin-inline: 0.4rem;
  background-color: #fff;
}

.p-footer-tell-parts__eureka {
  grid-area: 1/1/2/2;
  background-color: transparent;
  border: 1px solid #fff;
}
.p-footer-tell-parts__eureka::before {
  order: -2;
  content: "";
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
  background: url(../../assets/img/cmn/cmn_icon_tel-pc-white.svg) no-repeat left center/contain;
}

.p-footer-tell-parts__tel {
  font-family: Roboto;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
}
@media print, screen and (min-width: 960px) {
  .p-footer-tell-parts__tel {
    font-size: 2.7rem;
  }
}

.p-footer-tell-parts__tel-text {
  display: inline-block;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  transform: translateX(-15%);
  vertical-align: baseline;
}

.p-footer-tell-parts__time {
  grid-area: 2/1/3/3;
  font-size: 1rem;
  justify-self: center;
}

.p-footer-gnav-container {
  position: relative;
  background-color: #666;
}

@media print, screen and (min-width: 960px) {
  .p-footer-gnav-container__inner {
    display: grid;
    grid-template-columns: 2fr 3fr;
    margin-inline: auto;
  }
}
@media print, screen and (min-width: 1380px) {
  .p-footer-gnav-container__inner {
    max-width: 192rem;
  }
}

.p-footer-gnav-container__item--contact {
  background-color: #222;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-container__item {
    padding: 5.6rem clamp(2.4rem, 18.2vw - 12.5rem, 20rem) 8rem;
  }
  .p-footer-gnav-container__item--contact {
    position: relative;
    z-index: 1;
    padding-top: 14.3rem;
  }
  .p-footer-gnav-container__item--contact::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100dvw;
    height: 100%;
    min-height: 50rem;
    background-color: #222;
    z-index: -1;
  }
  .p-footer-gnav-container__item--contact-row-4 {
    padding-top: 10.8rem;
  }
  .p-footer-gnav-container__item--contact-row-4::after {
    min-height: 43.6rem;
  }
}

.p-footer-gnav {
  width: 100%;
}

.p-footer-gnav-list {
  width: 100%;
}

.p-footer-gnav-list__item {
  border-top: 1px solid #ccc;
}
.p-footer-gnav-list__item:last-of-type {
  border-bottom: 1px solid #ccc;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-list__item {
    border-color: #fff;
    padding-block: 0.8rem;
  }
  .p-footer-gnav-list__item:first-of-type {
    border-top: none;
  }
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-list__item--pc-none {
    display: none;
  }
}

.p-footer-gnav-list__title {
  position: relative;
  padding-inline: 2.4rem;
  background-color: #666;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
}
.p-footer-gnav-list__title::before, .p-footer-gnav-list__title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.8rem;
  height: 0.2rem;
  width: 1.2rem;
  border-radius: 1px;
  background-color: #fff;
  transition: transform 0.1s;
}
.p-footer-gnav-list__title::after {
  transform: rotate(90deg);
}
.p-footer-gnav-list__title.is-focus::after {
  transform: rotate(0);
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-list__title {
    padding-inline: 0;
  }
  .p-footer-gnav-list__title::before {
    display: none;
  }
  .p-footer-gnav-list__title::after {
    content: "";
    display: block;
    position: absolute;
    top: 40%;
    right: 0.6rem;
    height: 1.3rem;
    width: 0.8rem;
    background: url(../../assets/img/cmn/cmn_icon_arrow-white.svg) no-repeat center center/contain;
    transform: rotate(90deg);
    transform-origin: center left;
    transition: 0.2s;
  }
}
@media print and (width >= 1025px) and (any-hover: hover), screen and (min-width: 960px) and (width >= 1025px) and (any-hover: hover) {
  .p-footer-gnav-list__title:hover {
    opacity: 0.6;
  }
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-list__title.is-focus::before {
    display: none;
  }
  .p-footer-gnav-list__title.is-focus::after {
    transform: rotate(270deg);
  }
}
.p-footer-gnav-list__title--link {
  position: relative;
}
.p-footer-gnav-list__title--link::after {
  top: 41%;
  height: 13px;
  width: 13px;
  border: none;
  background: url(../../assets/img/cmn/cmn_icon_arrow-white.svg) no-repeat center center;
  transform: rotate(0);
}
.p-footer-gnav-list__title--link:has(a[target=_blank])::after {
  background-image: url(../../assets/img/cmn/cmn_icon_external-link-white.svg);
}
.p-footer-gnav-list__title--link::before {
  content: none;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-list__title--link::after {
    right: 0.8rem;
  }
}
.p-footer-gnav-list__title--external-link::before, .p-footer-gnav-list__title--external-link::after {
  content: none;
}

.p-footer-gnav-list__title-text {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding-block: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-list__title-text {
    gap: 1.6rem;
    max-width: 77.4rem;
    margin-inline: auto;
    font-size: 1.8rem;
  }
}

.p-footer-gnav-list__icon-wrapper {
  display: block;
  width: 3.2rem;
  height: auto;
}

.p-footer-inner-nav-wrapper {
  display: none;
  background-color: #f8f8f8;
  padding: 0.8rem 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-footer-inner-nav-wrapper {
    padding: 0 0 1.6rem;
    background-color: #666;
  }
  .p-footer-inner-nav-wrapper--service {
    display: grid;
    row-gap: 1rem;
  }
}

.p-footer-inner-nav {
  padding-left: 1.2rem;
}
.p-footer-inner-nav--service-sp {
  padding-left: 0;
}
@media print, screen and (min-width: 960px) {
  .p-footer-inner-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 4rem;
    padding-left: 0;
  }
  .p-footer-inner-nav--service {
    padding-left: 1rem;
  }
  .p-footer-inner-nav--service-sp {
    display: none;
  }
}

.p-footer-inner-nav-title {
  padding-block: 0.8rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-footer-inner-nav-title {
    padding-block: 0;
    font-size: 1.4rem;
    font-weight: normal;
  }
}

.p-footer-inner-nav__item {
  position: relative;
}
@media print, screen and (min-width: 960px) {
  .p-footer-inner-nav__item {
    margin-left: 0;
  }
}

.p-footer-inner-nav__target {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem 0;
  font-size: 1.4rem;
  font-weight: bold;
  font-feature-settings: "palt";
}
@media print, screen and (min-width: 960px) {
  .p-footer-inner-nav__target {
    padding-block: 0;
    font-feature-settings: "palt";
    color: #fff;
  }
  .p-footer-inner-nav__target:hover {
    text-decoration: underline;
  }
}
.p-footer-inner-nav__target::after {
  content: "";
  position: relative;
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  margin-right: 0.6rem;
  background: url(../../assets/img/cmn/cmn_icon_arrow.svg) no-repeat center center;
}
.p-footer-inner-nav__target[target=_blank]::after {
  height: 1.3rem;
  width: 1.3rem;
  margin-inline: 0.4rem 0.2rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-footer-inner-nav__target::after {
    display: none;
  }
  .p-footer-inner-nav__target[target=_blank]::after {
    display: inline-block;
    background-image: url(../../assets/img/cmn/cmn_icon_external-link-white.svg);
  }
}
.p-footer-inner-nav__target--lower-page {
  padding-left: 1.6rem;
}

.p-footer-submenu-container {
  padding: 2.4rem;
  font-size: 1.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-footer-submenu-container {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding: 4rem 2.4rem;
    max-width: 160rem;
  }
}

.p-footer-submenu__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 0.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-footer-submenu__list {
    justify-content: center;
  }
}

.p-footer-submenu__list-item {
  display: flex;
  align-items: center;
}

.p-footer-submenu__list-item:not(:last-child):after {
  content: "";
  display: inline-block;
  height: 1em;
  margin-top: 0.2rem;
  margin-left: 0.8rem;
  padding-left: 0.8rem;
  border-left: 1px solid #666;
}

.p-footer-submenu__target[target=_blank]::after {
  content: "";
  display: inline-block;
  height: 1rem;
  width: 1rem;
  margin-left: 0.4rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-footer-submenu__target:hover {
    text-decoration: underline;
  }
}

.p-footer__copyright {
  margin-top: 1.6rem;
  text-align: center;
  white-space: nowrap;
}
@media print, screen and (min-width: 960px) {
  .p-footer__copyright {
    margin-top: 0;
  }
}

/* footer-fixed-sp */
.p-fixed-footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0 -0.3rem 1rem rgba(0, 23, 82, 0.08);
  z-index: 50;
}
@media print, screen and (min-width: 960px) {
  .p-fixed-footer {
    display: none;
  }
}

.p-fixed-footer-container {
  display: grid;
  grid-template-columns: 1fr 1fr 3fr;
  column-gap: 0.4rem;
  width: 100%;
  height: 6.6rem;
  max-width: 61rem;
  margin-inline: auto;
  padding: 0.8rem 1.2rem;
}
@media print, screen and (min-width: 520px) {
  .p-fixed-footer-container {
    grid-template-columns: 16fr 16fr 27fr;
    column-gap: 0.8rem;
  }
}

.p-fixed-footer-contact-button {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  border: 1px solid #999;
  border-radius: 0.4rem;
}
@media print, screen and (min-width: 520px) {
  .p-fixed-footer-contact-button {
    flex-direction: row;
    column-gap: 0.8rem;
  }
}

.p-fixed-footer-contact-button__icon {
  width: 2rem;
}
@media print, screen and (min-width: 520px) {
  .p-fixed-footer-contact-button__icon {
    width: 3rem;
  }
}

.p-fixed-footer-contact-button__text {
  font-size: 0.8rem;
  font-weight: bold;
  line-height: 1.25;
  text-align: center;
}
@media print, screen and (min-width: 520px) {
  .p-fixed-footer-contact-button__text {
    font-size: 1.2rem;
  }
}

/* button */
/* page-top-btn */
.p-page-top-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.8rem;
  width: 100%;
  height: 6rem;
  background-color: #666;
  color: #fff;
}
.p-page-top-btn::after {
  content: "";
  display: inline-block;
  width: 1.8rem;
  height: 1.8rem;
  background: url(../../assets/img/cmn/cmn_icon_arrow-page-top-sp.svg) no-repeat center/cover;
}
@media print, screen and (min-width: 960px) {
  .p-page-top-btn {
    position: fixed;
    right: 2.4rem;
    bottom: 2.4rem;
    height: 6rem;
    width: 6rem;
    background-color: #fff;
    border: 1px solid #222;
    border-radius: 50%;
    color: transparent;
    font-size: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
    z-index: 200;
  }
  .p-page-top-btn::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.9rem;
    height: 1.5rem;
    transform: translate(-50%, -50%) rotate(-90deg);
    background: url(../../assets/img/cmn/cmn_icon_arrow-page-top.svg);
  }
  .p-page-top-btn.is-scroll {
    opacity: 1;
    visibility: visible;
  }
  .p-page-top-btn--movie {
    bottom: 22.4rem;
  }
  .p-page-top-btn:hover, .p-page-top-btn.is-scroll:hover {
    opacity: 0.7;
  }
}

/* link */
.p-link-container--right {
  text-align: right;
}
.p-link-container--more-lv1 {
  margin-top: 0.8rem;
}
.p-link-container--more-lv2 {
  margin-top: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-link-container--more-lv2 {
    margin-top: 2.4rem;
  }
}
.p-link-container--hd-recruit {
  margin-top: 0.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-link-container--hd-recruit {
    margin-top: 1.6rem;
  }
}

.p-link-container-right {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

/* page-link */
.p-page-link {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 3.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-page-link {
    grid-template-columns: repeat(6, 1fr);
  }
}

.p-page-link__item {
  display: flex;
  justify-content: center;
  position: relative;
}
.p-page-link__item:not(:nth-child(3n+1)) {
  border-left: 1px solid #999;
}
@media print, screen and (min-width: 960px) {
  .p-page-link__item:not(:first-child) {
    border-left: 1px solid #999;
  }
}
.p-page-link__item:nth-child(n+4)::before {
  position: absolute;
  content: "";
  left: 0;
  top: -1.6rem;
  width: calc(100% + 1px);
  height: 0.1rem;
  background-color: #999;
}
@media print, screen and (min-width: 960px) {
  .p-page-link__item:nth-child(n+4)::before {
    content: none;
  }
}

.p-page-link__item-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 0.8rem;
  padding: 0.8rem 0 2.6rem;
  width: 100%;
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .p-page-link__item-link {
    gap: 1.6rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-page-link__item-link:hover {
    opacity: 0.7;
  }
}
.p-page-link__item-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  height: 1.2rem;
  width: 1.2rem;
  border-right: 1.5px solid #1364ef;
  border-top: 1.5px solid #1364ef;
  transform: translate(-50%, -50%) rotate(135deg);
}

.p-page-link__item-text {
  color: #1364ef;
  font-size: 1.3rem;
}

.p-page-text-link {
  display: grid;
  row-gap: 3.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-page-text-link {
    row-gap: 2.4rem;
  }
}
.p-page-text-link--normal {
  grid-template-columns: repeat(2, 1fr);
}
@media print, screen and (min-width: 520px) {
  .p-page-text-link--normal {
    grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
  }
}
@media print, screen and (min-width: 960px) {
  .p-page-text-link--normal {
    grid-template-columns: repeat(auto-fill, minmax(23rem, 1fr));
  }
}
.p-page-text-link--branch {
  grid-template-columns: repeat(3, 1fr);
}
@media print, screen and (min-width: 960px) {
  .p-page-text-link--branch {
    grid-template-columns: repeat(8, 1fr);
  }
}
.p-page-text-link--welfare {
  grid-template-columns: repeat(2, 1fr);
}
@media print, screen and (min-width: 960px) {
  .p-page-text-link--welfare {
    grid-template-columns: repeat(4, 1fr);
  }
}
.p-page-text-link--order {
  grid-template-columns: repeat(3, 1fr);
}

.p-page-text-link__item {
  display: flex;
  justify-content: center;
  position: relative;
}
.p-page-text-link__item--normal:not(:last-child) {
  border-right: 1px solid #222;
}
.p-page-text-link__item--branch:not(:nth-child(3n+1)) {
  border-left: 1px solid #222;
}
@media print, screen and (min-width: 960px) {
  .p-page-text-link__item--branch:not(:first-child) {
    border-left: 1px solid #222;
  }
}
.p-page-text-link__item--branch:nth-last-child(n+3)::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: -1.6rem;
  width: calc(100% + 1px);
  height: 0.1rem;
  background-color: #222;
}
@media print, screen and (min-width: 960px) {
  .p-page-text-link__item--branch:nth-last-child(n+3)::after {
    content: none;
  }
}
.p-page-text-link__item--welfare:nth-child(even) {
  border-left: 1px solid #999;
}
@media print, screen and (min-width: 960px) {
  .p-page-text-link__item--welfare:not(:first-child) {
    border-left: 1px solid #999;
  }
  .p-page-text-link__item--welfare:nth-child(4n+1) {
    border: none;
  }
}
.p-page-text-link__item--welfare:not(:last-child):after {
  position: absolute;
  content: "";
  left: 0;
  bottom: -1.6rem;
  width: calc(100% + 1px);
  height: 0.1rem;
  background-color: #999;
}
@media print, screen and (min-width: 960px) {
  .p-page-text-link__item--welfare:not(:last-child):after {
    content: none;
  }
}

.p-page-text-link__item-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 0.8rem;
  padding: 0.8rem 0.8rem 2.4rem;
  width: 100%;
  font-size: 1.4rem;
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .p-page-text-link__item-link {
    gap: 1.6rem;
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-page-text-link__item-link:hover {
    opacity: 0.7;
  }
}
.p-page-text-link__item-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  height: 1rem;
  width: 1rem;
  border-right: 2px solid #666;
  border-top: 2px solid #666;
  transform: translate(-50%, -50%) rotate(135deg);
}

.p-text-link-hd-recruit {
  color: #1364ef;
  font-size: 1.4rem;
  letter-spacing: 0.025em;
}
@media print, screen and (min-width: 960px) {
  .p-text-link-hd-recruit {
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-text-link-hd-recruit:hover {
    text-decoration: underline;
  }
}
.p-text-link-hd-recruit:after {
  content: "";
  display: inline-block;
  position: relative;
  height: 1.3rem;
  width: 1.3rem;
  margin-left: 0.8rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link.svg) no-repeat center/cover;
}

/* icon */
/* フォントサイズが異なるアイコン時に、ここに追記 */
.p-icon::after {
  content: "";
  display: inline-block;
  margin-left: 1.6rem;
}
.p-icon--lower-top-title-other-window::after {
  height: 1.5rem;
  width: 1.5rem;
  margin-bottom: 0.2rem;
  margin-left: 0.8rem;
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center/contain;
}

/* list */
.p-ul-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(0.2rem * -1);
}

.p-ul-list__item {
  flex-basis: 100%;
  position: relative;
  padding-left: 1.25em;
}
.p-ul-list__item + .p-ul-list__item {
  margin-top: 0.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-ul-list__item + .p-ul-list__item {
    margin-top: 1.6rem;
  }
}
.p-ul-list__item > * + * {
  margin-top: 0.8rem;
}
.p-ul-list__item::before {
  content: "";
  left: 0.3em;
  position: absolute;
  top: 0.75em;
  border-radius: 0.5em;
  display: block;
  height: 0.5em;
  width: 0.5em;
  background-color: #222;
}
.p-ul-list__item--primary::before {
  background-color: #666;
}
.p-ul-list__item--secondary::before {
  background-color: #999;
}
.p-ul-list__item--tertiary::before {
  background-color: #ccc;
}
.p-ul-list__item--table-primary + .p-ul-list__item--table-primary {
  margin-top: 0;
}
.p-ul-list__item--table-primary::before {
  background-color: #666;
  height: 0.3em;
  width: 0.3em;
}

.p-ol-list {
  counter-reset: ol-number;
  list-style-type: none;
  padding-left: 0;
}

.p-ol-list__item {
  position: relative;
  padding-left: 2.3rem;
}
.p-ol-list__item + .p-ol-list__item {
  margin-top: 0.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-ol-list__item + .p-ol-list__item {
    margin-top: 1.6rem;
  }
}
.p-ol-list__item > * + * {
  margin-top: 0.8rem;
}
.p-ol-list__item::before {
  counter-increment: ol-number;
  content: counter(ol-number) ".";
  position: absolute;
  top: 0;
  left: 0;
  height: 1.7rem;
  width: 1.7rem;
}
.p-ol-list__item--round::before {
  content: counter(ol-number);
  border: 1px solid #222;
  border-radius: 0.9rem;
  margin: 0.6rem 0;
  padding: 0.2rem 0;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.p-ol-list__item--brackets::before {
  content: "（" counter(ol-number) "）";
  margin: 0.6rem 0 0.5rem -1.1rem;
  line-height: 1;
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .p-ol-list__item--cjk + .p-ol-list__item--cjk {
    margin-top: 0.8rem;
  }
}
.p-ol-list__item--cjk::before {
  content: counter(ol-number, cjk-ideographic);
  height: 1.5rem;
  width: 1.5rem;
}

.p-outline-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(0.2rem * -1);
}
.p-outline-list--secondary {
  padding-left: 1.6rem;
  margin-top: 1.6rem;
}
.p-outline-list--tertiary {
  padding-left: 1.6rem;
  margin-top: 1.6rem;
}

.p-outline-list__item {
  flex-basis: 100%;
  position: relative;
  padding-left: 1.25em;
}
.p-outline-list__item::before {
  content: "";
  position: absolute;
  left: 0.3em;
  top: 0.75em;
  border-radius: 0.5em;
  display: block;
  height: 0.5em;
  width: 0.5em;
  background-color: #222;
}
.p-outline-list__item > a:hover {
  color: #1364ef;
  text-decoration: underline;
}
.p-outline-list__item--primary + .p-outline-list__item--primary {
  margin-top: 2.4rem;
}
.p-outline-list__item--primary::before {
  background-color: #666;
}
.p-outline-list__item--secondary + .p-outline-list__item--secondary {
  margin-top: 1.6rem;
}
.p-outline-list__item--secondary::before {
  background-color: #999;
}
.p-outline-list__item--tertiary + .p-outline-list__item--tertiary {
  margin-top: 0.8rem;
}
.p-outline-list__item--tertiary::before {
  background-color: #ccc;
}

.p-satisfied-work-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(0.2rem * -1);
}

.p-satisfied-work-list__item {
  flex-basis: 100%;
  position: relative;
  padding-left: 4rem;
}
.p-satisfied-work-list__item + .p-satisfied-work-list__item {
  margin-top: 0.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-satisfied-work-list__item + .p-satisfied-work-list__item {
    margin-top: 1.6rem;
  }
}
.p-satisfied-work-list__item::before {
  content: "一、";
  position: absolute;
  left: 0;
  top: 0;
}

.p-work-place-detail-list + .p-work-place-detail-list {
  margin-top: 0.8rem;
}

.p-work-place-detail-list__title {
  color: #1364ef;
  cursor: pointer;
}

.p-work-place-detail-list__detail {
  margin-top: 0.4rem;
  padding: 0.8rem;
  background-color: #f8f8f8;
}

/* color-box */
.p-color-box {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  background-color: #f8f8f8;
  border-radius: 10px;
  padding: 2.4rem 3.2rem 3.2rem;
}
.p-color-box--outline {
  gap: 2.4rem;
  border: 1px solid #666;
  background-color: #f8f8f8;
}
.p-color-box--useful-doconico {
  border: 1px solid #666;
  background-color: #fff;
  padding: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-color-box--useful-doconico {
    padding: 4rem;
  }
}

/* card */
.p-card-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-card-wrapper {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.p-card-wrapper .p-strength-program {
  flex-direction: column;
  gap: 2.4rem;
  height: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-card-wrapper .p-strength-program > * {
    width: 100%;
  }
}
.p-card-wrapper .p-strength-program__img img {
  aspect-ratio: 73/50;
  object-fit: cover;
}
.p-card-wrapper .p-strength-program__text-inner {
  flex-grow: 1;
  margin-top: 1.2rem;
}

.p-card {
  position: relative;
  padding: 2.4rem;
  border: 1px solid #222;
  border-radius: 1rem;
  background-color: #fff;
}
.p-card--top-satisfaction {
  margin-top: -4rem;
  border: 1px solid #0e3a74;
  z-index: 4;
}
@media print, screen and (min-width: 960px) {
  .p-card--top-satisfaction {
    margin-top: 0;
    padding: 4rem 5rem 6rem;
  }
}
.p-card--top-satisfaction::before, .p-card--top-satisfaction::after {
  content: "";
  position: absolute;
  left: 50%;
  display: block;
  border-width: 1.5rem 3rem 0;
  border-style: solid;
  transform: translateX(-50%);
}
@media print, screen and (min-width: 960px) {
  .p-card--top-satisfaction::before, .p-card--top-satisfaction::after {
    border-width: 3.2rem 5rem 0;
  }
}
.p-card--top-satisfaction::before {
  top: 100%;
  border-top-color: #fff;
  border-right-color: transparent;
  border-left-color: transparent;
  z-index: 3;
}
.p-card--top-satisfaction::after {
  top: calc(100% + 0.1rem);
  border-top-color: #0e3a74;
  border-right-color: transparent;
  border-left-color: transparent;
  z-index: 1;
}
.p-card--strength-program {
  margin-top: -2.4rem;
  padding: 3.2rem 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-card--strength-program {
    margin-top: -6.4rem;
    padding: 6.4rem;
  }
}
.p-card--strength-step {
  padding: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-card--strength-step {
    padding: 0;
    border: none;
  }
}
.p-card--permanent-dispatch-subsidiary {
  padding: 3.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-card--permanent-dispatch-subsidiary {
    padding: 5.6rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-card--science {
    padding: 3.2rem 5rem;
  }
}

/* table */
.p-table {
  border: 1px solid #222;
  border-collapse: collapse;
  border-left: none;
  border-top: none;
  width: 100%;
  font-size: 1.4rem;
  text-align: left;
  word-break: break-word;
}
.p-table--layout-fixed {
  table-layout: fixed;
}

.p-table--layout-fixed > .p-table__item--heading {
  text-align: center;
}

.p-table__item {
  border-top: 1px solid #222;
  padding: 0.8rem 1.6rem;
  background-color: #fff;
  vertical-align: top;
}
@media print, screen and (min-width: 520px) {
  .p-table__item {
    padding: 0.8rem 1.6rem;
  }
}
.p-table__item + .p-table__item {
  border-left: 1px solid #222;
}
.p-table__item:first-child {
  border-left: 1px solid #222;
}
.p-table__item > * + * {
  margin-top: 0.8rem;
}
.p-table__item--heading {
  background-color: #f8f8f8;
}
.p-table__item--heading-normal {
  font-weight: normal;
}
.p-table__item--center {
  text-align: center;
  vertical-align: middle;
}
.p-table__item--right {
  text-align: right;
  vertical-align: middle;
}
.p-table__item--width10 {
  width: 10%;
}
.p-table__item--width15 {
  width: 15%;
}
.p-table__item--width20 {
  width: 20%;
}
.p-table__item--width25 {
  width: 25%;
}
.p-table__item--width30 {
  width: 30%;
}
.p-table__item--width35 {
  width: 35%;
}
.p-table__item--width40 {
  width: 40%;
}
.p-table__item--width45 {
  width: 45%;
}
.p-table__item--width50 {
  width: 50%;
}

/* responsive-table */
.p-responsive-table {
  border: 1px solid #222;
  border-collapse: collapse;
  font-size: 1.4rem;
  text-align: left;
  width: 100%;
}

.p-responsive-table__row {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-responsive-table__row {
    flex-direction: row;
  }
}
.p-responsive-table__row + .p-responsive-table__row {
  border-top: 1px solid #222;
}

.p-responsive-table-data {
  padding: 0.8rem 1.6rem;
  background-color: #fff;
}
.p-responsive-table-data + .p-responsive-table-data {
  border-top: 1px solid #222;
}
@media print, screen and (min-width: 960px) {
  .p-responsive-table-data + .p-responsive-table-data {
    border-top: none;
    border-left: 1px solid #222;
  }
}
.p-responsive-table-data--heading {
  background-color: #f8f8f8;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-responsive-table-data--width10 {
    width: 10%;
  }
  .p-responsive-table-data--width15 {
    width: 15%;
  }
  .p-responsive-table-data--width20 {
    width: 20%;
  }
  .p-responsive-table-data--width25 {
    width: 25%;
  }
  .p-responsive-table-data--width30 {
    width: 30%;
  }
  .p-responsive-table-data--width35 {
    width: 35%;
  }
  .p-responsive-table-data--width40 {
    width: 40%;
  }
  .p-responsive-table-data--width45 {
    width: 45%;
  }
  .p-responsive-table-data--width50 {
    width: 50%;
  }
}

/* responsive-dl-list */
.p-definition-list {
  border: 1px solid #222;
  font-size: 1.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-definition-list {
    display: flex;
    flex-wrap: wrap;
  }
}

.p-definition-list__title {
  width: 100%;
  padding: 0.8rem 1.6rem;
  background-color: #f8f8f8;
  font-weight: bold;
  vertical-align: top;
}
@media print, screen and (min-width: 960px) {
  .p-definition-list__title {
    width: 30%;
  }
  .p-definition-list__title--width10 {
    width: 10%;
  }
  .p-definition-list__title--width15 {
    width: 15%;
  }
  .p-definition-list__title--width20 {
    width: 20%;
  }
  .p-definition-list__title--width25 {
    width: 25%;
  }
  .p-definition-list__title--width30 {
    width: 30%;
  }
  .p-definition-list__title--width35 {
    width: 35%;
  }
  .p-definition-list__title--width40 {
    width: 40%;
  }
  .p-definition-list__title--width45 {
    width: 45%;
  }
  .p-definition-list__title--width50 {
    width: 50%;
  }
}

.p-definition-list__content {
  border-top: 1px solid #222;
  padding: 0.8rem 1.6rem;
  width: 100%;
  vertical-align: top;
}
@media print, screen and (min-width: 960px) {
  .p-definition-list__content {
    width: 70%;
  }
  .p-definition-list__content--width90 {
    width: 90%;
  }
  .p-definition-list__content--width80 {
    width: 80%;
  }
  .p-definition-list__content--width60 {
    width: 60%;
  }
  .p-definition-list__content--width50 {
    width: 50%;
  }
}

.p-definition-list__title + .p-definition-list__content {
  border-top: 1px solid #222;
}
@media print, screen and (min-width: 960px) {
  .p-definition-list__title + .p-definition-list__content {
    border-left: 1px solid #222;
  }
}

.p-definition-list__content > * + * {
  margin-top: 0.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-definition-list__content > * + * {
    margin-top: 1.6rem;
  }
}
.p-definition-list__content + .p-definition-list__title {
  border-top: 1px solid #222;
}
@media print, screen and (min-width: 960px) {
  .p-definition-list__content:first-of-type {
    border-top: none;
  }
}

@media print, screen and (min-width: 960px) {
  .p-definition-list__content:first-of-type {
    border-top: none;
  }
}
/* scroll-table */
.p-scroll-table {
  overflow-x: auto;
}
@media print, screen and (min-width: 960px) {
  .p-scroll-table {
    overflow-x: visible;
  }
}

/* fix-table */
.p-fix-table {
  border-collapse: separate;
  border-spacing: 0;
  border-top: 1px solid #222;
  border-right: 1px solid #222;
  border-bottom: 1px solid #222;
  font-size: 1.4rem;
  text-align: left;
  min-width: 52rem;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-fix-table {
    min-width: auto;
  }
}

.p-fix-table__row + .p-fix-table__row > .p-fix-table-data {
  border-top: 1px solid #222;
}

.p-fix-table-data {
  padding: 0.8rem 1.6rem;
  background-color: #fff;
}
.p-fix-table-data + .p-fix-table-data {
  border-left: 1px solid #222;
}

.p-fix-table-data--heading + .p-fix-table-data:first-of-type {
  border-left: none;
}

.p-fix-table-data--heading {
  position: sticky;
  top: 0;
  left: 0;
  background-color: #f8f8f8;
  border-right: 1px solid #222;
  border-left: 1px solid #222;
  vertical-align: top;
}

/* column-fix-table */
.p-column-fix-table {
  border-collapse: separate;
  border-spacing: 0;
  border-right: 1px solid #222;
  border-bottom: 1px solid #222;
  font-size: 1.4rem;
  text-align: left;
  width: 100%;
}

.p-column-fix-table__head {
  position: sticky;
  top: 0;
  left: 0;
  border-bottom: 1px solid #222;
}

.p-column-fix-table__head .p-column-fix-table-row:first-of-type .p-column-fix-table-data--heading {
  border-top: 1px solid #222;
}

.p-column-fix-table__head .p-column-fix-table-row:last-of-type .p-column-fix-table-data {
  border-bottom: 1px solid #222;
}

.p-column-fix-table-row:first-of-type .p-column-fix-table-data {
  border-top: none;
}

.p-column-fix-table-data {
  padding: 0.8rem 1.6rem;
  background-color: #fff;
  border-top: 1px solid #222;
  border-left: 1px solid #222;
}
.p-column-fix-table-data--heading {
  background-color: #f8f8f8;
  vertical-align: top;
}

/* p-dispatch-employment-type-table */
.p-dispatch-employment-type-table-wrapper {
  overflow-x: auto;
}
@media screen and (max-width: 519px) {
  .p-dispatch-employment-type-table-wrapper {
    margin-right: -2.4rem;
    padding-right: 2.4rem;
  }
}

.p-dispatch-employment-type-table {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  border-bottom: 1px solid #222;
  min-width: 56rem;
  width: 100%;
}

.p-dispatch-employment-type-table__item {
  border-right: 1px solid #222;
  border-top: 1px solid #222;
  padding: 0.8rem 1.6rem;
  vertical-align: baseline;
}
.p-dispatch-employment-type-table__item--heading {
  background-color: #f8f8f8;
  text-align: left;
}
.p-dispatch-employment-type-table__item--sticky {
  position: sticky;
  top: 0;
  left: 0;
  border-left: 1px solid #222;
  width: 13.5rem;
}

/* recruit */
.p-job-table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

.p-job-table__col--role {
  width: 25%;
}
.p-job-table__col--location {
  width: 18rem;
}
.p-job-table__col--requirement {
  width: 13rem;
}

.p-job-table-header {
  position: sticky;
  top: 10rem;
  background-color: #fff;
  font-weight: bold;
  text-align: center;
  z-index: 10;
}
.p-job-table-header--static {
  position: static;
}

.p-job-table-header__row + .p-job-table-header__row .p-job-table-header__thead {
  border-left: 1px solid #222;
}

.p-job-table-header__thead {
  border-left: 1px solid #222;
  border-top: 1px solid #222;
  padding: 0.8rem 1.6rem;
  background-color: #f8f8f8;
  font-size: 1.4rem;
  text-align: left;
}
.p-job-table-header__thead + .p-job-table-header__thead {
  border-left: 1px solid #222;
}
.p-job-table-header__thead--career {
  padding: 0.5rem;
  background-color: #666;
  color: #fff;
  text-align: center;
}
.p-job-table-header__thead--employee {
  border-top: 1px solid #222;
  padding: 0.5rem;
  background-color: #666;
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
}

.p-job-table-body__row {
  background-color: #fff;
}

.p-job-table-body__thead,
.p-job-table-body__tdata {
  border-top: 1px solid #222;
  border-left: 1px solid #222;
  font-size: 1.4rem;
}

.p-job-table-body__thead {
  padding: 0.8rem 1.6rem;
  background-color: #fff;
  font-weight: normal;
  text-align: left;
}
.p-job-table-body__thead--last {
  border-bottom: 1px solid #222;
}

.p-job-table-department-title {
  line-height: 1.4;
}
.p-job-table-department-title--eng {
  font-size: 3rem;
}

.p-job-table-body__tdata {
  padding: 0.8rem 1.6rem;
}
.p-job-table-body__tdata:last-child {
  border-right: 1px solid #222;
}
.p-job-table-body__tdata--requirement {
  text-align: center;
}

.p-job-table-body__row:last-child .p-job-table-body__tdata {
  border-bottom: 1px solid #222;
}

/* tab */
.p-tab {
  position: relative;
}

.p-tab__action-list {
  position: absolute;
  top: 10px;
  right: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.6rem;
}

.p-tab__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 1.6rem;
  align-items: stretch;
  width: 100%;
}
@media print, screen and (min-width: 520px) {
  .p-tab__list {
    column-gap: 2.4rem;
  }
}

.p-tab__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: 1px solid #666;
  border-radius: 5px;
  padding: 1.2rem;
  background-color: #fff;
  color: #666;
  font-size: 1.5rem;
  font-weight: bold;
}
@media print, screen and (min-width: 520px) {
  .p-tab__link {
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-tab__link:hover {
    opacity: 0.7;
  }
}
.p-tab__link.is-current {
  background-color: #666;
  color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-tab__link.is-current:hover {
    opacity: 0.7;
  }
}

.p-tab-content__inner {
  margin-top: 2.4rem;
}

/* flow */
.p-flow {
  display: grid;
  grid-template-rows: repeat(1, 1fr);
  gap: 8rem;
}

.p-flow__item {
  position: relative;
  display: grid;
  grid-template-rows: auto;
  gap: 0.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-flow__item {
    grid-template-columns: 28% 1fr;
    align-items: center;
    justify-content: space-between;
    gap: 4rem;
  }
}
.p-flow__item + .p-flow__item::before {
  position: absolute;
  content: "";
  left: 50%;
  top: -4.8rem;
  height: 2.6rem;
  width: 2.6rem;
  border-top: 3.5px solid #666;
  border-right: 3.5px solid #666;
  transform: translate(-50%, -50%) rotate(135deg);
}
@media print, screen and (min-width: 960px) {
  .p-flow__item--service {
    grid-template-columns: 20rem 1fr;
  }
}

.p-flow__text {
  display: flex;
  flex-direction: column;
  width: fit-content;
  max-width: 78rem;
}
.p-flow__text *:first-child {
  width: fit-content;
}

/* accordion */
.p-accordion {
  border: 1px solid #222;
  border-radius: 10px;
  background-color: #fff;
}
.p-accordion + .p-accordion {
  margin-top: 1.6rem;
}

.p-accordion__header {
  display: flex;
  align-items: start;
  gap: 1.6rem;
  position: relative;
  cursor: pointer;
  padding: 2.4rem 4.4rem 2.4rem 2rem;
  font-weight: bold;
  letter-spacing: 0.03em;
}
@media print, screen and (min-width: 960px) {
  .p-accordion__header {
    padding: 2.4rem 11rem 2.4rem 6.4rem;
  }
}
.p-accordion__header::-webkit-details-marker, .p-accordion__header::marker {
  display: none;
}

.p-accordion__arrow-icon {
  position: absolute;
  top: 42%;
  right: 2rem;
  display: inline-block;
  height: 1.2rem;
  width: 1.2rem;
  border-bottom: 2px solid #222;
  border-left: 2px solid #222;
  transform: rotate(-45deg);
  transition: 0.2s;
}
@media print, screen and (min-width: 960px) {
  .p-accordion__arrow-icon {
    right: 8rem;
  }
}
.js-details.is-opened .p-accordion__arrow-icon {
  transform: translateY(30%) rotate(135deg);
  transition: 0.2s;
}

.p-accordion__content {
  overflow: hidden;
}

.p-accordion__content-inner {
  display: flex;
  gap: 1.6rem;
  padding: 0 4.4rem 2.4rem 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-accordion__content-inner {
    padding: 0 11rem 2.4rem 6.4rem;
  }
}

.p-accordion__content-inner-item {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

/*modal */
.is-modal-open,
.is-modal-close {
  cursor: pointer;
}

.p-modal-container {
  position: relative;
  border-radius: 4px;
  height: auto;
  max-height: 100%;
  max-width: 80rem;
  margin: 0 auto;
  background-color: #fff;
}
.p-modal-container--map {
  max-width: 64rem;
}

.p-modal {
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  padding: 2.4rem;
  height: 100%;
  width: 100%;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  z-index: 800;
}
.p-modal .p-modal-container {
  transition: opacity 0.5s, visibility 0.5s, bottom 0.5s;
  overflow: hidden;
}
.p-modal.is-ready {
  transition: opacity 0.5s, visibility 0.5s;
}
.p-modal.is-active {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s, visibility 0.5s;
}
.p-modal.is-active .p-modal-container {
  transition: opacity 0.5s, visibility 0.5s, bottom 0.5s;
}

.p-modal-overlay {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: #000;
  opacity: 0.7;
}
.p-modal-overlay--top {
  opacity: 1;
}

.p-modal-header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #999;
  padding: 0.8rem 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-modal-header {
    padding: 1.6rem 2.4rem;
  }
}

.p-modal-header__title {
  width: calc(100% - 6.4rem);
  font-size: 2rem;
  font-weight: bold;
}

.p-modal-header__close {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 6.4rem;
}

.p-modal-content {
  padding: 0.8rem 1.6rem 1.6rem;
  min-height: 10rem;
  max-height: min(100dvh - 4.8rem - 5.3rem, 80rem);
  overflow-y: auto;
}
@media print, screen and (min-width: 960px) {
  .p-modal-content {
    max-height: calc(80dvh - 4.8rem);
    padding: 1.6rem 2.4rem 2.4rem;
  }
}

/* video-speed-modal */
.p-modal-video-speed {
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-modal-video-speed {
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
    overflow: hidden;
  }
}

.p-modal-video-speed img {
  width: auto;
}
@media print, screen and (min-width: 960px) {
  .p-modal-video-speed img {
    width: 100%;
  }
}

.p-modal-video-speed__link {
  display: flex;
  justify-content: center;
  width: 100%;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-modal-video-speed__link:hover {
    opacity: 0.7;
  }
}

.p-modal-video-speed-annotation {
  margin-top: 0.8rem;
  font-size: 1.3rem;
}

.p-video-speed-modal-section + .p-video-speed-modal-section {
  margin-top: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-video-speed-modal-section + .p-video-speed-modal-section {
    margin-top: 2.4rem;
  }
}

.p-video-speed-modal-section__title {
  font-size: 1.8rem;
  font-weight: bold;
}

.p-video-speed-modal-section__content {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  margin-top: 0.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-video-speed-modal-section__content {
    gap: 2.4rem;
  }
}

.p-video-speed-modal-section__text img {
  display: inline-block;
  margin: 0 2px 2px;
  vertical-align: middle;
}

.p-video-speed-modal-section__img {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-video-speed-modal-section__img {
    gap: 2.4rem;
    margin: 0 auto;
    max-width: 60rem;
  }
}

.p-video-speed-modal-section__img img {
  width: 100%;
}

/* movie */
.c-modal-open,
.c-modal-close {
  cursor: pointer;
}

.c-modal-open {
  display: block;
  position: relative;
}

.p-modal-movie {
  position: relative;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie {
    border-radius: 0.5rem;
    overflow: hidden;
  }
}

.p-modal-movie__modal-open {
  display: flex;
  justify-content: center;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie__modal-open {
    border-top: none;
  }
  .p-modal-movie__modal-open:hover {
    opacity: 0.7;
  }
}

.p-modal-movie__hover {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie__hover:hover {
    opacity: 0.7;
  }
}

.p-modal-movie img {
  display: block;
  width: 100%;
  height: auto;
}

.p-modal-movie-band {
  display: flex;
  justify-content: center;
  width: 100%;
  border-top: 2px solid #222;
  border-bottom: 2px solid #222;
  color: #222;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie-band {
    border: 2px solid #222;
    border-radius: 0.5rem;
  }
  .p-modal-movie-band--corporate {
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
  }
  .p-modal-movie-band .p-modal-movie-band__box {
    flex-direction: column;
    gap: 0.2rem 0;
    padding: 1.2rem 0.4rem 4rem;
  }
  .p-modal-movie-band .p-modal-movie-band__icon-speed {
    width: 6.2rem;
  }
  .p-modal-movie-band .p-modal-movie-band__time {
    position: absolute;
    bottom: 0.7rem;
    right: 0.7rem;
    column-gap: 0;
    padding: 0.4rem 0.6rem 0.4rem 0.8rem;
    background-color: #222;
    color: #fff;
    font-feature-settings: "palt";
    font-weight: normal;
  }
}

.p-modal-movie-band__box {
  display: flex;
  align-items: center;
  column-gap: 0.8rem;
  padding: 1.5rem 0.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie-band__box {
    flex-direction: column;
    gap: 0.8rem 0;
    padding: 1.6rem 0.4rem 4rem;
  }
}

.p-modal-movie-band__text {
  font-size: min(3.4vw, 1.6rem);
  font-weight: bold;
  text-align: left;
}

.p-modal-movie-band__icon-speed {
  width: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie-band__icon-speed {
    width: 7rem;
  }
}

.p-modal-movie-band__time {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  border: 1px solid #222;
  border-radius: 15px;
  height: fit-content;
  padding: 0.4rem 0.8rem;
  background-color: #000;
  color: #fff;
  font-feature-settings: "palt";
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 1.2;
  white-space: nowrap;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie-band__time {
    position: absolute;
    bottom: 0.8rem;
    right: 0.4rem;
    column-gap: 0;
    font-size: 1.2rem;
    font-weight: normal;
  }
}

.p-modal-movie-band__time-double-speed {
  font-size: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie-band__time-double-speed {
    font-size: 1.2rem;
  }
}

/* 時間ラベル */
.p-modal-movie__time {
  position: absolute;
  bottom: 0.4rem;
  right: 0.4rem;
  padding: 0.2rem 0.6rem 0.2rem 1rem;
  background-color: #000;
  border-radius: 14px;
  color: #fff;
  font-size: 1.2rem;
  font-feature-settings: "palt";
  z-index: 5;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie__time {
    bottom: 0.8rem;
    right: 0.8rem;
  }
}
.p-modal-movie__time--center {
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie__time--center {
    bottom: 0.3rem;
    top: auto;
    transform: none;
  }
}

.p-modal-movie__thumbnail-radius {
  border-radius: 10px;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie__thumbnail-radius {
    border-radius: 10px;
  }
}

/* 動画用のモーダル 閉じるボタン */
.p-video-modal {
  align-items: center;
  display: flex;
  justify-content: center;
  position: fixed;
  top: 0;
  height: 100dvh;
  width: 100%;
  overflow: hidden;
  z-index: 900;
  opacity: 0;
  visibility: hidden;
}
.p-video-modal.is-ready {
  transition: opacity 0.5s, visibility 0.5s;
}
.p-video-modal.is-active {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s, visibility 0.5s;
}

.p-video-modal-overlay {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: #000;
  opacity: 0.7;
}
.p-video-modal-overlay--top {
  opacity: 1;
}

.p-video-modal-container {
  position: relative;
  margin: 0 auto;
  width: 90%;
  max-width: 100dvh;
}

/* PC表示 */
@media print, screen and (min-width: 960px) {
  .p-video-modal-container {
    width: 70%;
    max-width: none;
  }
}

.p-video-modal-header {
  width: 100%;
  padding: 0.8rem 0;
  color: #fff;
  text-align: right;
}

/* 配置のための指定 */
.p-movie-position {
  position: relative;
}
.p-movie-position--service {
  max-width: 132.8rem;
  margin-inline: auto;
}
.p-movie-position--service > *:last-child {
  margin-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-movie-position--service > *:last-child {
    margin-top: 0;
  }
}

.p-movie-position__absolute {
  z-index: 1;
}
@media print, screen and (min-width: 960px) {
  .p-movie-position__absolute {
    position: absolute;
    top: 0;
    right: 3rem;
    width: 22.5rem;
  }
}

.p-recruit-top-job-seeker {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-recruit-top-job-seeker {
    width: 60rem;
  }
}

/* MediaKind */
/* iPhoneの場合のみUI非表示 */
.bmpui-ui-controlbar.is-iphone,
.bmpui-ui-titlebar.is-iphone,
.bmpui-image.is-iphone {
  display: none;
}

/* iPhoneの場合のみ再生ボタンの範囲を調整（デフォルトUIのスキップが使えるように） */
.bmpui-container-wrapper .bmpui-ui-playbacktoggle-overlay.is-iphone,
.bmpui-container-wrapper .bmpui-ui-playbacktoggle-overlay.is-iphone .bmpui-ui-hugeplaybacktogglebutton {
  position: absolute;
  top: calc(50% - 2.5rem);
  left: calc(50% - 2.5rem);
  height: 5rem;
  width: 5rem;
}

.bitmovinplayer-container {
  margin: 0 auto !important;
  min-width: auto !important;
  min-height: auto !important;
}

@media print, screen and (min-width: 1080px) {
  .bitmovinplayer-container {
    max-width: none !important;
  }
}
/* top */
/* main-visual */
.p-main-visual {
  position: relative;
  height: 100%;
  width: 100%;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual {
    max-width: 192rem;
    margin-inline: auto;
  }
}

.p-main-visual__container {
  width: 100%;
  position: relative;
}

.p-main-visual__img img {
  width: 100%;
  max-width: 45rem;
  margin-inline: auto;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual__img img {
    max-width: 100%;
  }
}
.p-main-visual__img--detail img {
  max-width: 8rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual__img--detail img {
    max-width: 100%;
  }
}

.p-main-visual__img-link {
  position: absolute;
  bottom: calc(10% - 2.4rem);
  left: 50%;
  padding: 1.6rem;
  max-width: 16rem;
  transform: translateX(-50%);
}
@media (width >= 1025px) and (any-hover: hover) {
  .p-main-visual__img-link:hover {
    opacity: 0.6;
  }
}
@media print, screen and (min-width: 960px) {
  .p-main-visual__img-link {
    bottom: min(5.2083333333vw, 10rem);
    left: min(46.6145833333%, 89.5rem);
    padding-inline: 0;
    width: 8.5dvw;
    transform: none;
  }
}
@media print, screen and (min-width: 960px) {
  .p-main-visual__img-link--eureka {
    bottom: min(7.2916666667vw, 14rem);
    left: min(48.3333333333%, 92.8rem);
  }
}
.p-main-visual__img-link--kougaku {
  bottom: calc(10% - 1.6rem);
}
@media print, screen and (min-width: 960px) {
  .p-main-visual__img-link--kougaku {
    bottom: min(5.2083333333vw, 10rem);
    left: min(47.8125%, 91.8rem);
  }
}

.p-main-visual-movie {
  position: relative;
  width: 100%;
  z-index: 5;
}
.p-main-visual-movie .p-main-visual-movie__close-button {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-movie .p-main-visual-movie__close-button {
    display: block;
  }
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-movie {
    position: fixed;
    right: 3.5rem;
    bottom: 3.5rem;
    width: 22.5rem;
    box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.15);
  }
}
@media print {
  .p-main-visual-movie {
    position: absolute;
    top: 90rem;
    right: 3rem;
    width: 25rem;
    height: 19rem;
  }
}

.p-main-visual-movie__close-button {
  position: absolute;
  top: -1.5rem;
  right: -1.5rem;
  display: block;
  width: 3rem;
  height: 3rem;
  background: url("../img/top/index_img_close-button.svg") no-repeat center/cover;
  z-index: 3;
}

.p-main-visual-movie img {
  width: auto;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-movie img {
    width: 100%;
  }
}

/* swiper */
.p-main-visual-swiper-area {
  width: 100%;
  opacity: 0;
  animation: swiperFadeIn 1s ease forwards;
}
@media print, screen and (min-width: 520px) {
  .p-main-visual-swiper-area {
    width: 175%;
    max-width: 110rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-swiper-area {
    width: 115%;
    max-width: 111rem;
  }
}

@keyframes swiperFadeIn {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.p-main-visual-swiper-area .p-main-visual-swiper {
  padding-top: 2.4rem;
  padding-left: 2.4rem;
  margin-top: -2.4rem;
  margin-left: -2.4rem;
  overflow: visible;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-swiper-area .p-main-visual-swiper {
    overflow: hidden;
  }
}

.p-main-visual-swiper-area .p-main-visual-swiper .swiper-slide {
  transform: translateY(12%) scale(0.75);
}

.p-main-visual-swiper-area .swiper-slide img {
  height: auto;
  width: 100%;
}

.p-main-visual-swiper-area .p-main-visual-swiper .swiper-slide-active {
  transform: translateY(0) scale(1);
  z-index: 1;
  transition: 0.7s;
}

.p-main-visual-swiper-area .p-main-visual-swiper .swiper-slide-prev {
  opacity: 0;
  transition: 0.7s;
}

.p-main-visual-swiper-item__title-box {
  padding-block: 1.6rem 2.4rem;
  padding-right: 4.8rem;
  border-bottom: 1px solid #707070;
}

.p-main-visual-swiper-area .swiper-pagination {
  position: static;
  margin-top: 0.8rem;
  text-align: right;
}
@media print, screen and (min-width: 520px) {
  .p-main-visual-swiper-area .swiper-pagination {
    margin-left: -2.4rem;
    text-align: center;
  }
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-swiper-area .swiper-pagination {
    margin-left: -4rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .p-main-visual-swiper-area .swiper-pagination {
    margin-left: -2.8rem;
  }
}
@media print, screen and (min-width: 1500px) {
  .p-main-visual-swiper-area .swiper-pagination {
    margin-left: 11rem;
  }
}

.p-main-visual-swiper-area .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.p-main-visual-swiper-area .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin-inline: 0.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-swiper-area .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
  .p-main-visual-swiper-area .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin-inline: 0.8rem;
  }
}

.p-main-visual-swiper-area .swiper-pagination-bullet {
  background-color: #fff;
  opacity: 1;
}

.p-main-visual-swiper-area .swiper-pagination-bullet-active {
  background-color: #1364ef;
}

.p-main-visual-swiper-item__img-box {
  border-radius: 1.6rem;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.p-main-visual-swiper-item__img {
  transition: transform 0.25s;
}

@media print, screen and (min-width: 960px) {
  .p-main-visual-swiper-item:hover .p-main-visual-swiper-item__img {
    transform: scale(1.1);
  }
}

.p-main-visual-swiper-item__title-box {
  position: relative;
  display: none;
}
.p-main-visual-swiper-item__title-box::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.4rem;
  display: block;
  width: 1.4rem;
  height: 1rem;
  background: url("../img/cmn/cmn_icon_arrow-white.svg") no-repeat center/cover;
  font-weight: bold;
  transform: translateY(-50%);
}
.p-main-visual-swiper-item__title-box--external::before {
  content: "";
  width: 1.3rem;
  height: 1.3rem;
  background: url("../img/cmn/cmn_icon_external-link-white.svg") no-repeat center/cover;
}

.swiper-slide-active .p-main-visual-swiper-item__title-box {
  display: block;
}

.p-main-visual-swiper-item__sub-title,
.p-main-visual-swiper-item__main-title {
  color: #fff;
}

.p-main-visual-swiper-item__sub-title {
  font-size: 1rem;
}

.p-main-visual-swiper-item__main-title {
  font-size: 1.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-swiper-item__main-title {
    font-size: 1.6rem;
  }
}

/* satisfaction */
@media print, screen and (min-width: 960px) {
  .p-top-satisfaction {
    margin-bottom: 5.6rem;
  }
}

.p-top-needs {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.4rem 1.6rem;
  margin-top: 3.2rem;
}
@media print, screen and (min-width: 520px) {
  .p-top-needs {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem 3.2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-needs {
    grid-template-columns: repeat(4, 1fr);
  }
}

.p-top-needs img {
  width: 100%;
}

.p-top-needs__item {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.p-top-needs__item:not(:last-child) {
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #999;
}
@media print, screen and (min-width: 520px) {
  .p-top-needs__item:not(:last-child) {
    padding: 0;
    border: none;
  }
}

.p-top-needs__item-text {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  flex-grow: 1;
}

.p-card--top-satisfaction + .p-doconico-intro-container {
  margin-top: 4.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-card--top-satisfaction + .p-doconico-intro-container {
    margin-top: 8rem;
  }
}

.p-top-strength-container {
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 960px) {
  .p-top-strength-container {
    gap: 4rem;
  }
}

.p-top-strength {
  display: flex;
  flex-direction: column;
  height: auto;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-top-strength {
    flex-direction: row;
    width: clamp(93.6rem, 90%, 170rem);
    border: 1px solid #0e3a74;
    overflow: hidden;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-strength--odd {
    margin-right: auto;
    border-left: 0;
    border-radius: 0 10px 10px 0;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-strength--even {
    flex-direction: row-reverse;
    margin-left: auto;
    border-right: 0;
    border-radius: 10px 0 0 10px;
  }
}

.p-top-strength__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-top-strength__item {
  flex-grow: 1;
}
@media print, screen and (min-width: 960px) {
  .p-top-strength__item {
    max-width: 50%;
  }
}
.p-top-strength__item--img {
  overflow: hidden;
}
@media print, screen and (min-width: 960px) {
  .p-top-strength__item--img {
    height: auto;
    padding-bottom: 0;
  }
}
.p-top-strength__item--card {
  background-color: #fff;
  padding: 1.6rem 2.4rem;
}
@media print, screen and (min-width: 520px) {
  .p-top-strength__item--card {
    padding: 1.6rem 5rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-strength__item--card {
    padding: 6.4rem 4rem;
  }
}
.p-top-strength__item--card:last-child {
  padding: 1.6rem 2.4rem 0;
}
@media print, screen and (min-width: 520px) {
  .p-top-strength__item--card:last-child {
    padding: 1.6rem 5rem 0;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-strength__item--card:last-child {
    padding: 6.4rem 4rem;
  }
}

.p-top-banner-list {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: minmax(0, 1fr);
}
@media print, screen and (min-width: 960px) {
  .p-top-banner-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media print, screen and (min-width: 960px) {
  .p-top-banner-list__target:hover {
    opacity: 0.7;
  }
}

.p-top-useful-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.6rem;
  min-width: 106rem;
}
@media print, screen and (min-width: 960px) {
  .p-top-useful-list {
    column-gap: 4.8rem;
    min-width: 121rem;
  }
}

.p-top-useful-area {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-top-useful-area {
    flex-direction: row;
    gap: 8rem;
  }
}

.p-top-useful-link {
  display: flex;
  flex-direction: column;
  row-gap: 1.6rem;
  height: 100%;
}
.p-top-useful-link img {
  transition: transform 0.25s;
}
@media print, screen and (min-width: 960px) {
  .p-top-useful-link:hover img {
    transform: scale(1.1);
  }
}

.p-top-useful-link__img-box {
  border-radius: 1rem;
  overflow: hidden;
}

.p-top-useful-link__text-box {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.p-top-useful-link__description {
  display: -webkit-box;
  margin-top: 1.6rem;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.p-top-useful-link__time {
  margin-bottom: 0.8rem;
  color: #999;
  font-size: 1.4rem;
}

.p-newtop-nav-panel-wrapper {
  min-height: 14rem;
}
.p-newtop-nav-panel-wrapper a {
  position: relative;
}
.p-newtop-nav-panel-wrapper a:hover::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.4;
  background-color: #fff;
}

.p-newtop-nav-panel {
  display: grid;
  grid-template-columns: 4rem auto;
  gap: 1rem 2rem;
  padding: 2.4rem;
  width: 100%;
  height: 100%;
  background-color: #666;
}
.p-newtop-nav-panel--inner-wrapper > .p-newtop-nav-panel__icon {
  grid-row: 1/3;
}
.p-newtop-nav-panel--inner-wrapper.p-newtop-nav-panel--gap-narrow > .p-newtop-nav-panel__icon {
  grid-row: 1/2;
}
@media print, screen and (min-width: 960px) {
  .p-newtop-nav-panel--inner-wrapper.p-newtop-nav-panel--gap-narrow > .p-newtop-nav-panel__icon {
    grid-row: 1/3;
  }
}
@media print, screen and (min-width: 960px) {
  .p-newtop-nav-panel {
    grid-template-columns: 8rem auto;
    gap: 1.6rem 0.8rem;
    padding: 3.2rem 1.6rem;
  }
  .p-newtop-nav-panel--gap-narrow {
    row-gap: 0.8rem;
  }
}

.p-newtop-nav-panel__icon {
  align-self: center;
  margin-inline: auto;
}
@media print, screen and (min-width: 960px) {
  .p-newtop-nav-panel__icon {
    width: 6rem;
  }
}

.p-newtop-nav-panel__img-wrapper {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  justify-content: center;
}
.p-newtop-nav-panel__img-wrapper--narrow {
  gap: 0.8rem;
}
.p-newtop-nav-panel__img-wrapper--no-detail {
  grid-row: 1/3;
  justify-content: center;
}
@media print, screen and (min-width: 960px) {
  .p-newtop-nav-panel__img-wrapper--no-detail {
    grid-row: 1/2;
  }
}

.p-newtop-nav-panel__img {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.p-newtop-nav-panel__img::after {
  content: "";
  display: inline-block;
  width: 1.1rem;
  height: 1.1rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link-white.svg) no-repeat center center/cover;
}

.p-newtop-nav-panel__link-wrapper {
  display: flex;
  justify-content: center;
  gap: 0.8rem;
  grid-column: 1/3;
  max-width: 50rem;
  width: 100%;
  justify-self: center;
}
@media print, screen and (min-width: 960px) {
  .p-newtop-nav-panel__link-wrapper {
    grid-area: 2/2/3/3;
  }
}

.p-newtop-nav-panel__link {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  flex: 1;
  padding: 0.8rem;
  border: 1px solid #fff;
  border-radius: 0.5rem;
}
.p-newtop-nav-panel__link::before {
  border-radius: 0.5rem;
}
.p-newtop-nav-panel__link img {
  margin-inline: auto;
}
.p-newtop-nav-panel__link[target=_blank] {
  position: relative;
}
.p-newtop-nav-panel__link[target=_blank]::after {
  content: "";
  display: block;
  position: absolute;
  right: 0.5rem;
  bottom: 0.5rem;
  width: 1rem;
  height: 1rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link-white.svg) no-repeat center center/cover;
}
@media print, screen and (min-width: 960px) {
  .p-newtop-nav-panel__link--ca[target=_blank]::after {
    right: 0.4rem;
  }
}
.p-newtop-nav-panel__link:nth-of-type(3) {
  padding-inline: 1rem;
}

.p-newtop-nav-panel__text {
  margin-inline: auto;
  color: #fff;
  font-size: 1.2rem;
  font-feature-settings: "palt";
  line-height: 1.4;
}

/* topics */
.p-topics {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-topics {
    margin-top: 4rem;
  }
}

.p-topics__list {
  display: flex;
  flex-wrap: wrap;
  padding: 1.6rem 0;
  border-bottom: 1px solid #222;
}
@media print, screen and (min-width: 960px) {
  .p-topics__list {
    padding: 2.4rem 0;
  }
}
.p-topics__list:first-child {
  padding-top: 0;
}

.p-topics__list-item {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-topics__list-item {
    display: inline-block;
  }
}
.p-topics__list-item--time {
  font-size: 1.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-topics__list-item--time {
    font-size: 1.6rem;
    width: 17%;
  }
}
@media print, screen and (min-width: 960px) {
  .p-topics__list-item--content {
    width: 83%;
  }
}

.p-topics__img {
  margin-inline: auto;
}

/* local */
/* cmn */
.p-doconico-intro {
  display: grid;
  gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-doconico-intro {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem 6%;
  }
}

.p-doconico-intro__item-heading {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-doconico-intro__item-heading {
    gap: 4rem;
    grid-column: 2/3;
    grid-row: 1/2;
  }
}

@media print, screen and (min-width: 960px) {
  .p-doconico-intro__item-img {
    grid-column: 1/2;
    grid-row: 1/3;
  }
}

@media print, screen and (min-width: 960px) {
  .p-doconico-intro__item-text {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}

/* local-top */
.p-local-title-box {
  position: relative;
  padding: 4rem 2.4rem 3rem;
  margin-inline: auto;
  max-width: 132.8rem;
  z-index: 1;
}
@media print, screen and (min-width: 960px) {
  .p-local-title-box {
    padding-block: 5.6rem;
  }
}

.p-local-top-list-container__item {
  border-bottom: 1px solid #222;
}

.p-local-top-list-container__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding-block: 1.6rem;
}
.p-local-top-list-container__link.is-ready {
  transition: padding-inline 0.3s, color 0.3s, transform 0.3s;
}
.p-local-top-list-container__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #666;
  transform-origin: left top;
  transform: scaleX(0);
  transition-duration: 0.3s;
  z-index: -1;
}
.p-local-top-list-container__link::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 1.3rem;
  padding-left: 0.8rem;
  background: url(../../assets/img/cmn/cmn_icon_arrow.svg) no-repeat center center/cover;
}
@media print, screen and (min-width: 960px) {
  .p-local-top-list-container__link {
    padding-block: 2.4rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-local-top-list-container__link::after {
    display: none;
  }
}
@media (width >= 1025px) and (any-hover: hover) {
  .p-local-top-list-container__link {
    transition: 0.3s;
  }
  .p-local-top-list-container__link:hover {
    padding-inline: 1.2rem;
    color: #fff;
  }
  .p-local-top-list-container__link:hover::before {
    transform: scaleX(1);
  }
  .p-local-top-list-container__link:hover::after {
    display: block;
    background-image: url(../../assets/img/cmn/cmn_icon_arrow-white.svg);
  }
}

.p-local-top-container__link {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media (width >= 1025px) and (any-hover: hover) {
  .p-local-top-container__link:hover {
    opacity: 0.7;
  }
}

.p-local-top-container__link-text {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

/* local-nav */
.p-local-nav-box {
  display: flex;
  flex-direction: column;
  row-gap: 2.4rem;
}

.p-local-nav--sitemap {
  padding-left: 2.4rem;
}

.p-local-nav__inner--sitemap {
  display: flex;
  flex-direction: column;
  row-gap: 0.6rem;
  padding-top: 1.2rem;
  padding-left: 2.4rem;
}

.p-local-nav__item {
  display: inline-block;
  width: 100%;
}

.p-local-nav__link {
  display: inline-block;
  position: relative;
  padding-left: 3rem;
  word-break: keep-all;
}
.p-local-nav__link.is-current {
  font-weight: bold;
}
.p-local-nav__link::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0.5rem;
  height: 2rem;
  width: 2rem;
  background: url(../../assets/img/cmn/cmn_icon_circle-arrow.svg) no-repeat center center;
}
@media print, screen and (min-width: 960px) {
  .p-local-nav__link--nowrap {
    white-space: nowrap;
  }
}

.p-upper-local-nav-list-group {
  position: relative;
  top: 0;
  width: 100%;
}

.p-upper-local-nav-list__title {
  position: relative;
  cursor: default;
  padding: 1rem 2.4rem;
  background-color: #666;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
}
.p-upper-local-nav-list__title .p-upper-local-nav-list__title-text::after {
  content: "";
  display: block;
  position: absolute;
  right: 0.8rem;
  bottom: 25%;
  height: 1.3rem;
  width: 0.8rem;
  background: url(../../assets/img/cmn/cmn_icon_arrow-white.svg) no-repeat center center/cover;
  transform: rotate(90deg);
  transition: 0.2s;
}
.p-upper-local-nav-list__title.is-focus .p-upper-local-nav-list__title-text::after {
  transform: rotate(270deg);
}
@media print, screen and (min-width: 960px) {
  .p-upper-local-nav-list__title {
    padding-block: 1.2rem;
  }
  .p-upper-local-nav-list__title .p-upper-local-nav-list__title-text::after {
    display: inline-block;
    position: static;
    margin-left: 1.6rem;
  }
}

.p-upper-local-nav-list-wrapper {
  display: none;
  position: absolute;
  padding: 0.8rem 2.4rem 2.4rem;
  width: 100%;
  background-color: #666;
  z-index: 5;
}
@media print, screen and (min-width: 960px) {
  .p-upper-local-nav-list-wrapper {
    padding: 1.6rem 2.4rem;
  }
}

.p-upper-local-nav-list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-left: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-upper-local-nav-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 128rem;
    padding: 0;
    margin-inline: auto;
  }
}

.p-upper-local-nav-list__title-text {
  max-width: 128rem;
  margin-inline: auto;
  position: relative;
}
@media print, screen and (min-width: 960px) {
  .p-upper-local-nav-list__title-text {
    font-size: 2rem;
  }
}

.p-upper-local-nav-list__target {
  display: block;
  padding-block: 0.8rem;
  font-size: 1.4rem;
  font-weight: bold;
}
.p-upper-local-nav-list__target.is-current {
  color: #999;
}
@media print, screen and (min-width: 1280px) {
  .p-upper-local-nav-list__target {
    display: inline-block;
  }
}

.p-local-nav-useful__link {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-local-nav-useful__link:hover {
    opacity: 0.7;
  }
}

/* 企業名の後ろの句読点 */
.p-client__item {
  display: inline-block;
}

.p-client__item:not(:last-child):after {
  content: "、";
}

/* service */
/* top */
@media print, screen and (min-width: 960px) {
  .p-service-catch {
    width: 65%;
    max-width: 82rem;
  }
}

.p-service-occupation-container {
  display: grid;
  gap: 2.4rem;
  grid-template-columns: auto;
}
@media print, screen and (min-width: 520px) {
  .p-service-occupation-container {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 960px) {
  .p-service-occupation-container {
    gap: 4rem;
    grid-template-columns: auto;
  }
}

.p-service-occupation {
  display: flex;
  flex-direction: column;
  border: 1px solid #222;
  border-radius: 10px;
  background-color: #fff;
  overflow: hidden;
}
.p-service-occupation--science {
  display: grid;
}
@media print, screen and (min-width: 960px) {
  .p-service-occupation--science {
    grid-template-columns: 3fr 2fr;
    grid-auto-flow: column;
    grid-row: 1/2;
    grid-column: 1/4;
  }
}
@media print, screen and (min-width: 960px) {
  .p-service-occupation--engineer {
    grid-row: 2/3;
    grid-column: 1/2;
  }
}
@media print, screen and (min-width: 960px) {
  .p-service-occupation--science-clerical {
    grid-row: 2/3;
    grid-column: 2/3;
  }
}
@media print, screen and (min-width: 960px) {
  .p-service-occupation--clerical {
    grid-row: 2/3;
    grid-column: 3/4;
  }
}

.p-service-occupation__img-box {
  margin-top: 2.4rem;
  margin-inline: 2.4rem;
  border-radius: 0.8rem;
  overflow: hidden;
}
@media print, screen and (min-width: 960px) {
  .p-service-occupation__img-box--science {
    order: 2;
    margin-left: 0;
    margin-bottom: 2.4rem;
  }
}

.p-service-occupation__science-text {
  padding: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-service-occupation__science-text {
    order: 1;
    padding: 7.2rem 5.6rem;
  }
}

.p-service-occupation__text {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-service-occupation__text {
    padding: 3.2rem;
  }
}

.p-service-human {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  padding: 0 0 1.2rem;
  background-color: #f8f8f8;
}
@media print, screen and (min-width: 960px) {
  .p-service-human {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: 2px solid #222;
    border-radius: 50%;
    height: 37.4rem;
    width: 37.4rem;
    padding: 1.6rem 0 0.8rem;
    z-index: 2;
  }
}

.p-service-human__number {
  color: #666;
  font-size: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-service-human__number {
    font-size: 4rem;
  }
}

.p-service-human__img img {
  width: 100%;
}

.p-service-human__img {
  width: 7.7rem;
  margin: 0 auto;
}
@media print, screen and (min-width: 960px) {
  .p-service-human__img {
    width: 11rem;
  }
}

.p-service-needs {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.4rem 3rem;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-service-needs {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem 3rem;
  }
}

.p-service-needs__item {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding: 2.4rem 3.2rem;
  background-color: #fff;
  border: 1px solid #222;
  border-radius: 10px;
}
@media print, screen and (min-width: 960px) {
  .p-service-needs__item {
    gap: 2.4rem;
  }
  .p-service-needs__item:nth-child(odd) {
    padding: 4rem 18rem 4rem 8rem;
  }
  .p-service-needs__item:nth-child(even) {
    padding: 4rem 8rem 4rem 18rem;
  }
}

.p-service-needs__item-text {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.p-flow__number {
  margin-right: 1.6rem;
}

/* service-local */
.p-service-info__catch + img {
  margin-inline: auto;
}
.p-service-info__catch > * + * {
  margin-top: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-service-info__catch > * + * {
    margin-top: 4rem;
  }
}

.p-service-info__img {
  width: 100%;
  max-width: 35rem;
  margin-inline: auto;
}

.p-service-local-merit {
  display: grid;
  grid-template-rows: 1fr;
  gap: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-service-local-merit {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
  }
}

.p-service-local-merit img {
  width: 100%;
}

/* permanent-dispatch */
.p-permanent-dispatch-subsidiary {
  margin-top: -2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-permanent-dispatch-subsidiary {
    margin-top: -6.4rem;
  }
}

.p-permanent-dispatch-subsidiary-explanation {
  display: grid;
  grid-template-rows: auto;
  gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-permanent-dispatch-subsidiary-explanation {
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
  }
}

.p-permanent-dispatch-subsidiary-explanation__item {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-permanent-dispatch-subsidiary-explanation__item {
    gap: 3.2rem;
  }
}

.p-permanent-dispatch-subsidiary-explanation__item-logo {
  align-items: center;
  font-weight: bold;
}

/* job-index */
.p-service-job {
  display: grid;
  gap: 2.4rem;
}

.p-service-job__item {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.p-service-job-skill {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-service-job-skill {
    gap: 3.2rem;
  }
}

.p-service-job__graph img {
  width: 100%;
}

.p-service-job-skill__item {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-service-job-skill__item {
    gap: 1.6rem;
  }
}

.p-service-job__card {
  padding: 2.4rem;
  border: 1px solid #222;
  border-radius: 10px;
  background-color: #fff;
}
.p-service-job__card img {
  max-width: 35rem;
  margin-inline: auto;
  aspect-ratio: 1/1;
  object-fit: contain;
}
.p-service-job__card--skill {
  padding: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-service-job__card--skill {
    padding: 4rem;
  }
}
.p-service-job__card--bar-graph {
  padding: 1.6rem;
}
.p-service-job__card--bar-graph img {
  max-width: 60rem;
  aspect-ratio: auto;
}
@media print, screen and (min-width: 960px) {
  .p-service-job__card--bar-graph {
    padding: 2.4rem;
  }
}
.p-service-job__card--university {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-service-job__card--university {
    flex-direction: row;
    gap: 4rem;
  }
}

.p-service-job__eureka {
  display: flex;
  gap: 1.2rem;
  align-items: baseline;
  justify-content: center;
  flex-shrink: 0;
  font-size: 2rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-service-job__eureka {
    gap: 2rem;
    margin-bottom: 1.2rem;
  }
}

.p-service-job__eureka-number {
  padding-inline: 0.4rem;
  font-size: 5.6rem;
  letter-spacing: -0.05em;
}

/* strength */
.p-strength-data {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media print, screen and (min-width: 960px) {
  .p-strength-data {
    grid-template-columns: auto 25% 25%;
  }
}

.p-strength-data__list {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 1.6rem;
  padding: 1.6rem 0;
  border-bottom: 1px solid #222;
}
.p-strength-data__list:last-child {
  border-bottom: none;
}
@media print, screen and (min-width: 960px) {
  .p-strength-data__list {
    padding: 1.6rem 4rem;
    border-bottom: none;
  }
}
.p-strength-data__list--trading {
  grid-column: 1/3;
  grid-row: 1/2;
}
@media print, screen and (min-width: 960px) {
  .p-strength-data__list--trading {
    grid-column: 1/2;
    grid-row: 1/3;
    border-right: 1px solid #222;
    padding-left: 0;
  }
}
.p-strength-data__list--client {
  position: relative;
  grid-column: 1/3;
  grid-row: 4/5;
}
@media print, screen and (min-width: 960px) {
  .p-strength-data__list--client {
    grid-column: 2/3;
    grid-row: 2/3;
    justify-self: end;
    width: fit-content;
    padding-right: 0;
  }
}
.p-strength-data__list--location {
  position: relative;
  grid-column: 1/3;
  grid-row: 3/4;
}
@media print, screen and (min-width: 960px) {
  .p-strength-data__list--location {
    grid-column: 2/4;
    grid-row: 1/2;
  }
}
@media print, screen and (min-width: 960px) {
  .p-strength-data__list--location::after {
    display: inline-block;
    position: absolute;
    content: "";
    bottom: 0;
    left: auto;
    right: auto;
    width: calc(100% - 8rem);
    height: 0.1rem;
    background-color: #222;
  }
}
.p-strength-data__list--founding {
  grid-column: 1/3;
  grid-row: 5/6;
}
@media print, screen and (min-width: 960px) {
  .p-strength-data__list--founding {
    grid-column: 3/4;
    grid-row: 2/3;
    width: fit-content;
    padding-left: 5.6rem;
  }
}

.p-strength-graph {
  display: grid;
  gap: 2.4rem;
  grid-template-columns: repeat(2, 1fr);
}
@media print, screen and (min-width: 960px) {
  .p-strength-graph {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1.6rem;
  }
}

.p-strength-graph__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
}
.p-strength-graph__item--medicine {
  grid-column: 1/3;
  grid-row: 1/2;
}
@media print, screen and (min-width: 960px) {
  .p-strength-graph__item--medicine {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
.p-strength-graph__item--public {
  grid-column: 1/2;
  grid-row: 2/3;
}
@media print, screen and (min-width: 960px) {
  .p-strength-graph__item--public {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
.p-strength-graph__item--university {
  grid-column: 2/3;
  grid-row: 2/3;
}
@media print, screen and (min-width: 960px) {
  .p-strength-graph__item--university {
    grid-column: 3/4;
    grid-row: 1/2;
  }
}

.p-strength-graph__item-text {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.p-strength-graph__note {
  font-size: 1.2rem;
}

.p-strength-data__list-text {
  font-size: 1.5rem;
  letter-spacing: 0.05rem;
}

.p-strength-number {
  font-family: "Lato", "Noto Sans JP";
  font-size: 2.8rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-strength-number {
    font-size: 3.2rem;
  }
}

.p-strength-location {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-strength-location {
    gap: 0;
  }
}

.p-strength-location__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
}

.p-strength-location__text {
  font-size: 1.4rem;
}

.p-strength-program-flow-img {
  width: 100%;
  height: auto;
}

.p-strength-program-flow-pc {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-strength-program-flow-pc {
    display: block;
  }
}

.p-strength-program-flow-sp {
  max-width: 40rem;
  margin-inline: auto;
}
@media print, screen and (min-width: 960px) {
  .p-strength-program-flow-sp {
    display: none;
  }
}

.p-strength-program {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-strength-program {
    flex-direction: row;
    gap: 8rem;
    justify-content: space-between;
  }
  .p-strength-program--reverse {
    flex-direction: row-reverse;
  }
}

.p-strength-program__img {
  width: 100%;
}
.p-strength-program__img img {
  border-radius: 10px;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-strength-program__img {
    width: 50rem;
    flex-grow: 0;
    flex-shrink: 1;
  }
}

.p-strength-program__text {
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 960px) {
  .p-strength-program__text {
    width: 62rem;
    flex-grow: 1;
    flex-shrink: 1;
  }
}

.p-strength-step {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 5.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-strength-step {
    gap: 6rem;
  }
}

.p-strength-step__item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5.6rem;
  padding: 3.2rem 2.4rem;
  border: 1px solid #222;
  border-radius: 10px;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-strength-step__item {
    align-items: center;
    flex-direction: row;
    gap: 4.8rem;
    padding: 4rem 6.4rem;
  }
}
.p-strength-step__item + .p-strength-step__item::before {
  content: "";
  position: absolute;
  top: -3.8rem;
  left: 50%;
  border-top: 2rem solid #666;
  border-right: 2.5rem solid transparent;
  border-left: 2.5rem solid transparent;
  transform: translateX(-50%);
}
@media print, screen and (min-width: 960px) {
  .p-strength-step__item + .p-strength-step__item::before {
    top: -4rem;
  }
}
.p-strength-step__item:first-of-type .p-strength-step__title {
  grid-template-columns: 4.8rem auto;
}
@media print, screen and (min-width: 960px) {
  .p-strength-step__item:first-of-type .p-strength-step__title {
    grid-template-columns: 6.8rem auto;
  }
}

.p-strength-step__item-number {
  font-size: 1.2rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-strength-step__item-number {
    font-size: 1.4rem;
  }
}

.p-strength-step__title {
  position: relative;
  display: grid;
  column-gap: 1.6rem;
  grid-template-columns: 6.8rem auto;
  justify-content: center;
}
@media print, screen and (min-width: 960px) {
  .p-strength-step__title {
    column-gap: 1.6rem;
    flex-shrink: 0;
    justify-content: start;
    width: 22rem;
  }
}
.p-strength-step__title::after {
  display: inline-block;
  position: absolute;
  content: "";
  bottom: -3rem;
  left: 50%;
  width: 100%;
  height: 0.1rem;
  transform: translate(-50%);
  background-color: #222;
}
@media print, screen and (min-width: 960px) {
  .p-strength-step__title::after {
    bottom: auto;
    left: auto;
    right: 0;
    width: 0.2rem;
    height: 100%;
    transform: translate(0);
  }
}

.p-strength-step__item-icon {
  align-self: center;
  grid-area: 1/1/3/2;
}

.p-strength-step__item-number {
  grid-area: 1/2/2/3;
}

.p-strength-support {
  display: grid;
  grid-template-rows: repeat(1, 1fr);
  gap: 1.6rem;
  background-color: #d8e1f0;
  padding: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-strength-support {
    gap: 2.4rem;
    padding: 4rem;
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-strength-support__item {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  border-radius: 10px;
  padding: 2.4rem;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-strength-support__item {
    gap: 1.6rem;
    padding: 3.2rem;
  }
}

.p-strength-support__item-title {
  display: grid;
  grid-template-columns: 1fr 5rem;
  gap: 2%;
}
@media print, screen and (min-width: 520px) {
  .p-strength-support__item-title {
    grid-template-columns: 1fr 6rem;
  }
}

.p-strength-support__img {
  margin-top: 0.4rem;
}
@media print, screen and (min-width: 520px) {
  .p-strength-support__img {
    margin-top: 0;
  }
}

.p-strength-training {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-strength-training {
    gap: 2.4rem;
  }
}

.p-strength-training__item {
  display: grid;
  gap: 1.6rem;
  border: 1px solid #707070;
  border-radius: 10px;
  padding: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-strength-training__item {
    grid-template-columns: 25% 1fr;
    gap: 4rem;
    padding: 4rem;
  }
}

.p-strength-training img {
  border-radius: 10px;
  width: 100%;
}

.p-strength-training__item-text {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-strength-training__item-text {
    align-items: start;
    gap: 1.6rem;
  }
}

@media print, screen and (min-width: 960px) {
  .p-flow-img-button {
    transition: 0.2s;
  }
  .p-flow-img-button:hover {
    opacity: 0.7;
  }
}

.p-strength-detail-container {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-strength-detail-container {
    flex-direction: row;
    gap: 8rem;
    justify-content: space-between;
  }
  .p-strength-detail-container--reverse {
    flex-direction: row-reverse;
  }
}

.p-strength-detail-container__img {
  border-radius: 10px;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-strength-detail-container__img {
    flex-basis: 48rem;
    flex-shrink: 1;
    min-width: 0;
  }
}
.p-strength-detail-container__img--no-radius {
  border-radius: 0;
  order: 1;
}
@media print, screen and (min-width: 960px) {
  .p-strength-detail-container__img--no-radius {
    order: 0;
  }
}

@media print, screen and (min-width: 960px) {
  .p-strength-detail-container__text {
    flex-basis: 54rem;
    flex-shrink: 1;
    min-width: 0;
  }
}

.p-strength-detail-grid-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.4rem;
}
.p-strength-detail-grid-container--people img {
  align-self: center;
  max-width: 25.2rem;
  margin-inline: auto;
  aspect-ratio: 21/20;
  object-fit: cover;
}
@media print, screen and (min-width: 960px) {
  .p-strength-detail-grid-container {
    grid-template-columns: 21fr 10fr;
    gap: 1.6rem 8rem;
  }
  .p-strength-detail-grid-container--reverse {
    grid-template-columns: 8fr 9fr;
  }
  .p-strength-detail-grid-container--gap-narrow {
    column-gap: 4rem;
  }
  .p-strength-detail-grid-container--people {
    padding: 0.8rem 2.6rem;
    grid-template-columns: 25.2rem auto;
  }
  .p-strength-detail-grid-container--level {
    grid-template-columns: 25fr 28fr;
    gap: 4rem;
  }
  .p-strength-detail-grid-container--level > *:last-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media print, screen and (min-width: 960px) {
  .p-strength-detail-grid-container--eureka {
    grid-template-columns: minmax(0, 1fr);
  }
}
* + .p-strength-detail-grid-container--kougaku {
  margin-top: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-strength-detail-grid-container--kougaku {
    grid-template-columns: minmax(0, 1fr);
  }
  * + .p-strength-detail-grid-container--kougaku {
    margin-top: 0;
  }
}

@media print, screen and (min-width: 960px) {
  .p-strength-detail-grid-container__title {
    grid-area: 1/1/2/2;
  }
  .p-strength-detail-grid-container__title--reverse {
    grid-area: 1/2/2/3;
  }
}

.p-strength-detail-grid-container__img {
  width: 100%;
  border-radius: 10px;
  object-fit: cover;
  aspect-ratio: 73/50;
}
@media print, screen and (min-width: 960px) {
  .p-strength-detail-grid-container__img {
    grid-area: 1/2/4/3;
  }
  .p-strength-detail-grid-container__img--reverse {
    grid-area: 1/1/3/2;
  }
  .p-strength-detail-grid-container__img--science {
    grid-area: 2/2/3/3;
  }
}
.p-strength-detail-grid-container__img--eureka {
  display: grid;
  gap: 1rem;
  margin-inline: auto;
  max-width: 40rem;
  aspect-ratio: auto;
}
.p-strength-detail-grid-container__img--eureka > * {
  width: 100%;
  min-width: 0;
}
@media print, screen and (min-width: 960px) {
  .p-strength-detail-grid-container__img--eureka {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-area: 3/1/4/2;
    width: 100%;
    max-width: 100%;
  }
}
.p-strength-detail-grid-container__img--kougaku {
  display: grid;
  gap: 1rem;
  margin-inline: auto;
  max-width: 40rem;
  aspect-ratio: auto;
}
.p-strength-detail-grid-container__img--kougaku > * {
  width: 100%;
  min-width: 0;
}
@media print, screen and (min-width: 960px) {
  .p-strength-detail-grid-container__img--kougaku {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-area: 3/1/4/2;
    width: 100%;
    max-width: 100%;
  }
}
.p-strength-detail-grid-container__img--border {
  margin-inline: auto;
  border: 1px solid #222;
  border-radius: 1rem;
}
.p-strength-detail-grid-container__img--level {
  border-radius: 0;
  aspect-ratio: auto;
}
@media print, screen and (min-width: 960px) {
  .p-strength-detail-grid-container__img--level {
    flex-direction: row;
    grid-area: 2/1/3/2;
  }
}

@media print, screen and (min-width: 960px) {
  .p-strength-detail-grid-container__content {
    grid-area: 2/1/3/2;
  }
  .p-strength-detail-grid-container__content--reverse {
    grid-area: 2/2/3/3;
  }
}
.p-strength-detail-grid-container__content > * + * {
  margin-top: 1.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-strength-detail-grid-container__content > * + * {
    margin-top: 1.6rem;
  }
}

/* case */
.p-case-container {
  display: grid;
  row-gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-case-container {
    gap: 4rem 6rem;
  }
}

@media print, screen and (min-width: 960px) {
  .p-large-section--case:nth-child(odd) .p-case-container {
    grid-template-columns: 1fr 45%;
  }
}

@media print, screen and (min-width: 960px) {
  .p-large-section--case:nth-child(even) .p-case-container {
    grid-template-columns: 45% 1fr;
  }
}

.p-case-container__img img {
  border-radius: 10px;
  width: 100%;
}

@media print, screen and (min-width: 960px) {
  .p-large-section--case:nth-child(odd) .p-case-container__img {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}

@media print, screen and (min-width: 960px) {
  .p-large-section--case:nth-child(even) .p-case-container__img {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}

@media print, screen and (min-width: 960px) {
  .p-large-section--case:nth-child(odd) .p-case-container__text {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}

@media print, screen and (min-width: 960px) {
  .p-large-section--case:nth-child(even) .p-case-container__text {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}

@media print, screen and (min-width: 960px) {
  .p-case-container__box {
    grid-column: 1/3;
    grid-row: 2/3;
  }
}

.p-case-link {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
}
@media print, screen and (min-width: 960px) {
  .p-case-link {
    gap: 4rem;
  }
}

.p-case-link__item {
  border: 1px solid #222;
  border-radius: 1rem;
}

.p-case-link__item-link {
  display: grid;
  align-items: center;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: 2.4rem 1.6rem;
  padding: 2.4rem;
  transition: opacity 0.2s;
}
@media print, screen and (min-width: 960px) {
  .p-case-link__item-link {
    grid-template-columns: auto;
    grid-template-rows: 1fr auto;
    place-items: center;
    padding: 5.6rem 2.4rem;
  }
  .p-case-link__item-link:hover {
    opacity: 0.4;
  }
}

.p-case-link__item-text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 960px) {
  .p-case-link__item-text {
    gap: 0.4rem;
    justify-content: center;
    font-size: 2.4rem;
  }
}
.p-case-link__item-text::after {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 2rem;
  width: 2rem;
  background: url(../../assets/img/cmn/cmn_icon_circle-arrow.svg) no-repeat center/cover;
}
@media print, screen and (min-width: 960px) {
  .p-case-link__item-text::after {
    margin-top: 0.4rem;
  }
}

@media print, screen and (min-width: 960px) {
  .p-case-top-content {
    position: relative;
  }
}

.p-case-top-content__title-box {
  margin-top: -4rem;
  margin-inline: -2.4rem;
  padding: 4rem 2.4rem 2.4rem;
  background-color: #f8f8f8;
  line-height: 1.6;
}
@media print, screen and (min-width: 520px) {
  .p-case-top-content__title-box {
    margin-inline: -5rem;
    padding-inline: 5rem;
    padding-bottom: 5rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-case-top-content__title-box {
    display: flex;
    align-items: center;
    max-width: calc(100% - 44rem - 4rem);
    min-height: 13.1rem;
    margin: 0;
    padding: 0;
  }
}

.p-case-top-content__img-box {
  margin-inline: -2.4rem;
  padding-inline: 2.4rem;
  background: linear-gradient(180deg, #f8f8f8 0%, #f8f8f8 7rem, #fff 7rem, #fff 100%);
}
@media print, screen and (min-width: 520px) {
  .p-case-top-content__img-box {
    margin-inline: -5rem;
    padding-inline: 5rem;
    background: linear-gradient(180deg, #f8f8f8 0%, #f8f8f8 10rem, #fff 10rem, #fff 100%);
  }
}
@media print, screen and (min-width: 960px) {
  .p-case-top-content__img-box {
    position: absolute;
    top: -3.2rem;
    right: 0;
    width: 44rem;
    margin: 0;
    padding: 0;
  }
}

.p-case-top-content__img {
  width: 100%;
  border-radius: 1rem;
}

.p-use-case-list {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-use-case-list {
    gap: 4rem;
  }
}

.p-use-case-list-item {
  padding: 1.6rem;
  border: 1px solid #222;
  border-radius: 1.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-use-case-list-item {
    padding: 4rem;
  }
}

.p-use-case-list-item__heading {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding-bottom: 1.6rem;
  margin-bottom: 1.6rem;
  border-bottom: 1px solid #222;
}
@media print, screen and (min-width: 520px) {
  .p-use-case-list-item__heading {
    flex-direction: row;
    column-gap: 2.4rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-use-case-list-item__heading {
    padding-bottom: 2.4rem;
    margin-bottom: 2.4rem;
  }
}

.p-use-case-list-item__number {
  font-size: 1.5rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-use-case-list-item__number {
    font-size: 1.8rem;
  }
}

.p-use-case-list-item__content > * + * {
  margin-top: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-use-case-list-item__content > * + * {
    margin-top: 3.2rem;
  }
}

.p-use-case-overview-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 4rem;
}

.p-use-case-overview-list__item {
  display: flex;
  align-self: center;
}

.p-use-case-overview-list__item-title {
  font-weight: bold;
}

.p-use-case-overview-list__item-content::before {
  content: "：";
}

.p-use-case-flow-list {
  padding-left: 0;
  list-style: none;
}

.p-use-case-flow-list__item {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 0.8rem;
}
@media print, screen and (min-width: 520px) {
  .p-use-case-flow-list__item {
    align-items: center;
    flex-direction: row;
    column-gap: 2.4rem;
  }
}
.p-use-case-flow-list__item + .p-use-case-flow-list__item {
  margin-top: 4.8rem;
}
.p-use-case-flow-list__item + .p-use-case-flow-list__item::before {
  content: "";
  position: absolute;
  top: -3.2rem;
  left: 50%;
  display: block;
  border-top: 1.6rem solid #666;
  border-right: 1.6rem solid transparent;
  border-left: 1.6rem solid transparent;
  transform: translateX(-50%);
}
.p-use-case-flow-list__item--support {
  align-items: center;
  flex-direction: column;
  row-gap: 1.6rem;
  padding: 2.4rem;
  border: 1px solid #222;
  border-radius: 0.8rem;
  background-color: #f8f8f8;
}
@media print, screen and (min-width: 520px) {
  .p-use-case-flow-list__item--support {
    flex-direction: row;
    column-gap: 2.4rem;
    padding: 1.6rem;
  }
}

.p-use-case-flow-list__title {
  flex-shrink: 0;
  border-radius: 0.2rem;
  font-size: 1.5rem;
  text-align: center;
}
@media print, screen and (min-width: 520px) {
  .p-use-case-flow-list__title {
    width: 13rem;
  }
}
.p-use-case-flow-list__title--assignment {
  padding-block: 0.2rem;
  background-color: #666;
  color: #fff;
}
.p-use-case-flow-list__title--support {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: auto;
  height: auto;
  padding: 0.4rem 2.4rem;
  border: 1px solid #222;
  border-radius: 2rem;
  background-color: #fff;
  font-weight: bold;
}
@media print, screen and (min-width: 520px) {
  .p-use-case-flow-list__title--support {
    width: 10rem;
    height: 10rem;
    padding: 0;
    border-radius: 50%;
    font-size: 1.8rem;
    line-height: 1.4;
  }
}
.p-use-case-flow-list__title--solution {
  padding-block: 0.2rem;
  background-color: #666;
  color: #fff;
}

/* company */
.p-branch-container {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-branch-container {
    gap: 2.4rem;
  }
}

.p-branch-container__img {
  padding-top: 0.8rem;
  max-width: 8rem;
}

.p-branch-container__img img {
  border-radius: 5px;
}

.p-branch-list-line {
  border-bottom: 1px solid #222;
  margin-block: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-branch-list-line {
    margin-block: 4rem;
  }
}

/* map */
.p-map-detail {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-map-detail {
    align-items: flex-start;
    flex-direction: row-reverse;
  }
}

.p-map-detail__img {
  flex-shrink: 0;
  width: 16rem;
}

.p-map-detail__img img {
  border-radius: 5px;
  width: 100%;
}

.p-map-detail__content {
  width: 100%;
}

.p-iframe-area {
  overflow: hidden;
  height: 29rem;
  width: 100%;
  background-color: #e5e3df;
}
@media print, screen and (min-width: 960px) {
  .p-iframe-area {
    height: 60rem;
  }
}

.p-iframe {
  height: 60rem;
  margin-top: -15.5rem;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-iframe {
    height: 100rem;
    margin-top: -20rem;
  }
}

/* message */
@media print, screen and (min-width: 960px) {
  .p-message-img {
    float: right;
    width: min(45%, 50rem);
    margin-left: 5.6rem;
  }
}
.p-message-img--float {
  float: right;
  width: 15rem;
  height: auto;
  margin-left: 2.4rem;
}
.p-message-img--float img {
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center top;
}

.p-message-img img {
  width: 100%;
}

.p-message-name {
  font-size: 1.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-message-name {
    font-size: 2rem;
  }
}

/* eureka */
.p-company-eureka {
  display: flex;
  gap: 1.6rem;
  flex-direction: column;
}
@media print, screen and (min-width: 960px) {
  .p-company-eureka {
    flex-direction: row-reverse;
    gap: 5%;
  }
}

.p-company-eureka__img {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-company-eureka__img {
    width: clamp(28rem, 32%, 35rem);
  }
}

.p-company-eureka__img img {
  width: 100%;
}

@media print, screen and (min-width: 960px) {
  .p-company-eureka__text {
    width: calc(100% - clamp(28rem, 32%, 35rem));
  }
}

.p-timeline {
  position: relative;
  padding-left: 1.6rem;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-timeline {
    padding-left: 4rem;
  }
}

.p-timeline::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0.4rem;
  top: 0.4rem;
  height: 100%;
  width: 0.1rem;
  background-color: #222;
}
@media print, screen and (min-width: 960px) {
  .p-timeline::before {
    left: 2rem;
  }
}

.p-timeline__item {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}

.p-timeline__year {
  font-weight: bold;
  line-height: 1;
}
@media print, screen and (min-width: 960px) {
  .p-timeline__year {
    font-size: 2rem;
  }
}

.p-timeline__year::before {
  content: "";
  display: block;
  position: absolute;
  left: -1.6rem;
  top: 0.4rem;
  border-radius: 50%;
  height: 0.9rem;
  width: 0.9rem;
  background-color: #666;
}
@media print, screen and (min-width: 960px) {
  .p-timeline__year::before {
    left: -2.4rem;
  }
}

.p-timeline__content {
  flex: 1;
  padding: 0 0 2rem 3.6rem;
}
@media print, screen and (min-width: 520px) {
  .p-timeline__content {
    padding: 0 0 2rem 4rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-timeline__content {
    padding: 0 0 4rem 5.2rem;
  }
}

.p-timeline__textarea {
  display: grid;
  grid-template-columns: 3.6rem 1fr;
  position: relative;
  margin-top: -0.5rem;
  width: 100%;
  gap: 0.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-timeline__textarea {
    gap: 1.6rem;
  }
}
.p-timeline__textarea + .p-timeline__textarea {
  margin-top: 2rem;
}

.p-timeline__textarea::before {
  content: "";
  display: block;
  position: absolute;
  left: -2.8rem;
  top: 1.4rem;
  height: 0.2rem;
  width: 2rem;
  background-color: #222;
  transform: scaleY(0.5);
}
@media print, screen and (min-width: 520px) {
  .p-timeline__textarea::before {
    left: -2.8rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-timeline__textarea::before {
    left: -3.6rem;
  }
}

/* philosophy */
.p-philosophy-text {
  font-weight: bold;
  line-height: 1.6;
  text-align: justify;
}
.p-philosophy-text + .p-philosophy-text {
  margin-top: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-philosophy-text + .p-philosophy-text {
    margin-top: 4rem;
  }
}
.p-philosophy-text--space {
  letter-spacing: 0.02em;
}

/* recruit */
/* キャリア採用 */
.p-recruit-career-intro {
  display: grid;
  row-gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-recruit-career-intro {
    grid-template-columns: 1fr 33.3333333333%;
    gap: 0 1.6rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .p-recruit-career-intro {
    gap: 5.6rem;
  }
}

.p-recruit-job-box--sp {
  display: block;
}
@media print, screen and (min-width: 960px) {
  .p-recruit-job-box--sp {
    display: none;
  }
}
.p-recruit-job-box--pc {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-recruit-job-box--pc {
    display: block;
  }
}

.p-recruit-job-box__head-area {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.p-recruit-job-box__head-area + * {
  margin-top: 4rem;
}

.p-recruit-link::after {
  content: "";
  display: inline-block;
  position: relative;
  height: 12px;
  width: 12px;
  margin-left: 0.8rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link.svg) no-repeat center/cover;
}

.p-link-note {
  display: block;
  width: fit-content;
  padding-right: 1em;
  line-height: 1.2;
  font-size: 1.2rem;
  font-feature-settings: "palt";
}

.p-job-panel {
  border-top: 1px solid #222;
  border-right: 1px solid #222;
  border-left: 1px solid #222;
}
.p-job-panel + .p-job-panel {
  margin-top: 1.2rem;
}

.p-job-panel__heading {
  border-bottom: 1px solid #222;
  padding: 0.8rem 1.6rem;
  background-color: #666;
}

.p-job-panel__title {
  color: #fff;
  font-weight: bold;
}

.p-job-panel__overview {
  padding: 0.8rem 1.6rem;
  background-color: #fff;
}

.p-job-overview-list {
  display: grid;
  grid-template-columns: 8rem auto;
  font-size: 1.4rem;
}

.p-job-panel__link-box {
  display: flex;
  flex-direction: column;
  row-gap: 0.8rem;
  border-block: 1px solid #222;
  padding: 0.8rem 1.6rem;
  background-color: #f8f8f8;
}

.p-job-panel__link-title {
  font-size: 1.4rem;
  font-weight: bold;
}

.p-job-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}

.p-job-link-list__item {
  width: fit-content;
}

.p-job-requirement-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #222;
  border-radius: 32px;
  padding: 0.5rem;
  height: 100%;
  width: 13rem;
  min-height: 4.5rem;
  background-color: #fff;
  font-feature-settings: "palt";
  font-size: 1.4rem;
  line-height: 1.4;
  text-align: center;
}
.p-job-requirement-button[target=_blank]::after {
  content: "";
  display: inline-block;
  position: relative;
  height: 1.1rem;
  margin-left: 0.8rem;
  width: 1.1rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center/cover;
}

.p-job-requirement-button__note {
  font-size: 1.2rem;
}

/* training */
.p-recruite-training-img {
  width: 100%;
}

/* contact */
.p-contact-intro {
  display: grid;
  gap: 3.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-contact-intro {
    grid-template-columns: 677fr 367fr;
    gap: 1.6rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .p-contact-intro {
    gap: 5.6rem;
  }
}

.p-contact-button-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.2rem;
  max-width: 34rem;
  margin-top: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-contact-button-wrapper {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
    max-width: none;
    min-width: 60rem;
    margin-top: 3.2rem;
  }
}

.p-contact-method {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-contact-method {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
  }
}

/* policy */
.p-policy-date {
  margin: 1.6rem 0 2.4rem;
  text-align: right;
  font-feature-settings: "palt";
}
@media print, screen and (min-width: 960px) {
  .p-policy-date {
    margin: 1.6rem 0;
  }
}

.p-policy-mark-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-policy-mark-container {
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 4rem;
  }
}

.p-policy-mark-container__img {
  width: 10.9rem;
}

@media print, screen and (min-width: 960px) {
  .p-policy-mark-container__text {
    width: calc(100% - 13.6rem);
  }
}

.p-details-contents {
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 960px) {
  .p-details-contents {
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    gap: 1.2rem;
    width: 100%;
  }
}

.p-details-contents__img {
  border-radius: 10px;
  margin-bottom: 2.4rem;
  width: 100%;
  background-color: #f8f8f8;
}
@media print, screen and (min-width: 960px) {
  .p-details-contents__img {
    width: 50%;
    max-width: 50.2rem;
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 960px) {
  .p-details-contents__text {
    width: 50%;
  }
}

.p-useful-color-box {
  background-color: #fff;
}

.p-useful-doconico {
  display: grid;
  row-gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-useful-doconico {
    column-gap: 4rem;
    grid-template-columns: 50% 1fr;
  }
}

@media print, screen and (min-width: 960px) {
  .p-useful-doconico__title {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}

.p-useful-doconico__img {
  margin: 0 auto;
  max-width: 50rem;
}
@media print, screen and (min-width: 960px) {
  .p-useful-doconico__img {
    align-self: center;
    grid-column: 2/3;
    grid-row: 1/3;
  }
}

@media print, screen and (min-width: 960px) {
  .p-useful-doconico__text {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}

.p-useful-the-career-aspirations {
  display: grid;
  row-gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-useful-the-career-aspirations {
    grid-template-columns: 1fr 30%;
    gap: 2.4rem 7%;
  }
}

.p-useful-the-career-aspirations__item:nth-child(1) {
  display: grid;
  row-gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-useful-the-career-aspirations__item:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
.p-useful-the-career-aspirations__item:nth-child(2) {
  display: flex;
  justify-content: center;
}
.p-useful-the-career-aspirations__item:nth-child(2) > img {
  width: min(100%, 50rem);
}
@media print, screen and (min-width: 960px) {
  .p-useful-the-career-aspirations__item:nth-child(2) {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
@media print, screen and (min-width: 960px) {
  .p-useful-the-career-aspirations__item:nth-child(3) {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}

.p-useful-older-workers-and-part-time-workers {
  display: grid;
  row-gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-useful-older-workers-and-part-time-workers {
    grid-template-columns: 1fr 50rem;
    column-gap: 6%;
  }
}

.p-useful-older-workers-and-part-time-workers__item {
  display: flex;
  justify-content: center;
}
.p-useful-older-workers-and-part-time-workers__item > img {
  width: min(100%, 50rem);
}

.p-details-date {
  font-size: 1.6rem;
  text-align: right;
}
.p-details-date--margin {
  margin-top: 0.8rem;
  margin-bottom: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-details-date--margin {
    margin-top: 1.6rem;
  }
}

/* permanent-dispatch */
.p-dispatch-card-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-dispatch-card-wrapper--col-2 {
    flex-direction: row;
  }
}
.p-dispatch-card-wrapper--col-2 > * {
  flex: 1;
}

.p-dispatch-card,
.p-dispatch-card__item {
  display: block;
  position: relative;
  border: 1px solid #222;
  background-color: #fff;
}
@media (width >= 1025px) and (any-hover: hover) {
  .p-dispatch-card:not(.p-dispatch-card--container):hover,
  .p-dispatch-card__item:not(.p-dispatch-card--container):hover {
    opacity: 0.6;
  }
}

.p-dispatch-card {
  padding: 2.4rem;
  border-radius: 0.5rem;
}
.p-dispatch-card[target=_blank] > .p-dispatch-card__heading {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.p-dispatch-card[target=_blank] > .p-dispatch-card__heading::after {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center/contain;
}

.p-dispatch-card__item-wrapper {
  display: grid;
  gap: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-dispatch-card__item-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.p-dispatch-card__item {
  padding: 0.8rem 1.6rem;
  border-radius: 0.5rem;
}
.p-dispatch-card__item[target=_blank]::after {
  content: "";
  display: block;
  position: absolute;
  right: 1.6rem;
  bottom: 50%;
  width: 1.6rem;
  height: 1.6rem;
  background: url(../../assets/img/cmn/cmn_icon_external-link-black.svg) no-repeat center/contain;
  transform: translateY(50%);
}
@media print, screen and (min-width: 960px) {
  .p-dispatch-card__item {
    display: flex;
    align-items: center;
  }
  .p-dispatch-card__item[target=_blank]::after {
    position: static;
    transform: none;
  }
}

.p-dispatch-card__heading {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.03em;
}
.p-dispatch-card__heading + .p-dispatch-card__text {
  margin-top: 0.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-dispatch-card__heading {
    font-size: 2.4rem;
  }
  .p-dispatch-card__heading + .p-dispatch-card__text {
    margin-top: 0.8rem;
  }
}

.p-dispatch-card__text {
  padding-right: 3.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-dispatch-card__text {
    padding-right: 1.2rem;
  }
}
.p-dispatch-card__text--no-padding {
  padding-right: 0;
}

.p-dispatch-card__inner {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
* + .p-dispatch-card__inner {
  margin-top: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-dispatch-card__inner:last-child .p-dispatch-card__item {
    width: calc(50% - 0.8rem);
  }
  * + .p-dispatch-card__inner {
    margin-top: 2.4rem;
  }
}

.p-pagination-summary {
  margin-top: 4.8rem;
  margin-bottom: 1.6rem;
  text-align: center;
}

.p-pagination {
  margin-top: 0;
  margin-bottom: 6.4rem;
}

.p-pagination__groups {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
}

.p-pagination__group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-pagination__item-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4rem;
  height: 4rem;
  padding: 0;
  border: 1px solid #222;
  border-radius: 0.8rem;
  background-color: #fff;
  box-sizing: border-box;
  color: #222;
  text-decoration: none;
  font-weight: 700;
  line-height: 1;
}
.p-pagination__item-link > * {
  padding-bottom: 0.4rem;
}

.p-pagination__item-link--num {
  border-width: 1px;
}

.p-pagination__item-link[aria-current=page] {
  opacity: 0.5;
}

.p-pagination__item-link:hover,
.p-pagination__item-link:focus-visible {
  opacity: 0.5;
}

.p-pagination__item-link[aria-disabled=true] {
  border-color: #c6cbd4;
  color: #9ca7b6;
  pointer-events: none;
}

/* component */
.p-component {
  padding-top: 6rem;
}
@media print, screen and (min-width: 960px) {
  .p-component {
    padding-top: 10rem;
  }
}

.p-component-color {
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 1rem;
  vertical-align: text-bottom;
}
.p-component-color--main-first {
  background-color: #666;
}
.p-component-color--base-color {
  background-color: #fff;
}
.p-component-color--accent-main {
  background-color: #f06718;
}
.p-component-color--accent-sub1 {
  background-color: #00a241;
}
.p-component-color--accent-sub2 {
  background-color: #09a6ba;
}
.p-component-color--accent-sub3 {
  background-color: #f0cc18;
}
.p-component-color--text-normal {
  background-color: #222;
}
.p-component-color--text-link {
  background-color: #1364ef;
}
.p-component-color--text-emphasis {
  background-color: #f06718;
}
.p-component-color--text-white {
  background-color: #fff;
}
.p-component-color--background-first {
  background-color: #222;
}
.p-component-color--background-second {
  background-color: #e4edfd;
}
.p-component-color--background-third {
  background-color: #d8e1f0;
}
.p-component-color--background-fourth {
  background-color: #b5bdc9;
}
.p-component-color--border-first {
  background-color: #222;
}
.p-component-color--border-second {
  background-color: #ccc;
}
.p-component-color--border-third {
  background-color: #666;
}
.p-component-color--border-white {
  background-color: #fff;
}
.p-component-color--border-text-link {
  background-color: #1364ef;
}
.p-component-color--icon-emphasis {
  background-color: #f06718;
}
.p-component-color--icon-sub {
  background-color: #00a241;
}

.p-sitemap-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.p-sitemap-wrapper > *:not(:last-child) {
  margin-bottom: 4rem;
}
@media print, screen and (min-width: 768px) {
  .p-sitemap-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-sitemap-wrapper > *:nth-child(2) {
    grid-area: 2/1/4/2;
  }
  .p-sitemap-wrapper > *:nth-child(4) {
    grid-area: 1/2/3/3;
  }
  .p-sitemap-wrapper > *:nth-child(5) {
    grid-area: 3/2/5/3;
  }
  .p-sitemap-wrapper--wdb > *:nth-child(2) {
    grid-area: 2/1/8/2;
  }
  .p-sitemap-wrapper--wdb > *:nth-child(3) {
    grid-area: 1/2/2/3;
  }
  .p-sitemap-wrapper--wdb > *:nth-child(4) {
    grid-area: 2/2/3/3;
  }
  .p-sitemap-wrapper--wdb > *:nth-child(5) {
    grid-area: 3/2/4/3;
  }
  .p-sitemap-wrapper--wdb > *:nth-child(6) {
    grid-area: 4/2/5/3;
  }
  .p-sitemap-wrapper--wdb > *:nth-child(7) {
    grid-area: 5/2/6/3;
  }
  .p-sitemap-wrapper--wdb > *:last-child {
    grid-area: 6/2/7/3;
  }
}
@media print, screen and (min-width: 1280px) {
  .p-sitemap-wrapper {
    grid-template-columns: repeat(4, 1fr);
    max-height: 90rem;
  }
  .p-sitemap-wrapper > *:nth-child(2) {
    grid-area: 1/2/4/3;
  }
  .p-sitemap-wrapper > *:nth-child(4) {
    grid-area: 2/3/4/4;
  }
  .p-sitemap-wrapper > *:last-child {
    grid-area: 1/4/3/5;
  }
  .p-sitemap-wrapper--wdb {
    grid-template-columns: repeat(5, 1fr);
  }
  .p-sitemap-wrapper--wdb > *:nth-child(2) {
    grid-area: 1/2/7/3;
  }
  .p-sitemap-wrapper--wdb > *:nth-child(2) .c-flex-sitemap {
    max-height: 70rem;
  }
  .p-sitemap-wrapper--wdb > *:nth-child(3) {
    grid-area: 1/4/2/5;
  }
  .p-sitemap-wrapper--wdb > *:nth-child(4) {
    grid-area: 2/4/3/5;
  }
  .p-sitemap-wrapper--wdb > *:nth-child(5) {
    grid-area: 3/4/4/5;
  }
  .p-sitemap-wrapper--wdb > *:nth-child(6) {
    grid-area: 4/4/5/5;
  }
  .p-sitemap-wrapper--wdb > *:nth-child(7) {
    grid-area: 5/4/6/5;
  }
  .p-sitemap-wrapper--wdb > *:last-child {
    grid-area: 1/5/6/6;
  }
}

.p-eureka-label {
  display: inline;
  padding: 0.4rem 1.2rem;
  border-radius: 0.5rem;
  background-color: #666;
  color: #fff;
  font-weight: bold;
  font-size: 1.4rem;
}
.p-eureka-label + * {
  margin-top: 0.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-eureka-label {
    font-size: 2rem;
    padding: 0.4rem 1.6rem 0.6rem;
  }
  .p-eureka-label + * {
    margin-top: 1.2rem;
  }
  .p-color-box .p-eureka-label {
    font-size: 1.4rem;
  }
}
.p-eureka-label--center {
  display: block;
  width: fit-content;
  margin-inline: auto;
}
@media print, screen and (min-width: 960px) {
  .p-eureka-label--center {
    margin-left: 0;
  }
}
.p-eureka-label + .p-eureka-card-title {
  margin-top: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-eureka-label + .p-eureka-card-title {
    margin-top: 0.8rem;
  }
}

.p-eureka-card-img {
  margin-inline: auto;
}

.p-eureka-card-title {
  text-align: center;
  line-height: 1.5;
}
@media print, screen and (min-width: 960px) {
  .p-eureka-card-title {
    font-size: 2.4rem;
    text-align: left;
  }
}

.p-eureka-science-wrapper {
  max-width: 114.8rem;
  margin-inline: auto;
}

@media print, screen and (min-width: 960px) {
  .p-eureka-table-wrapper {
    padding-inline: 2.4rem;
  }
}

.p-eureka-table {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-eureka-table {
    border: 1px solid #222;
    border-collapse: collapse;
    font-size: 1.4rem;
  }
}

@media print, screen and (min-width: 960px) {
  .p-eureka-table__col--content {
    width: 40rem;
  }
  .p-eureka-table__col--detail {
    width: 15rem;
  }
}

.p-eureka-table__heading {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-eureka-table__heading {
    display: table-row;
    background-color: #f8f8f8;
    text-align: left;
  }
  .p-eureka-table__heading > * {
    padding: 2.4rem 1.2rem;
  }
  .p-eureka-table__heading > *:not(:first-child) {
    border-left: 1px solid #222;
  }
}

.p-eureka-table__item {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding: 3rem 2.4rem 2rem;
  border-top: 1px solid #222;
}
.p-eureka-table__item:nth-child(odd) {
  background-color: #fff;
}
.p-eureka-table__item:last-child {
  border-bottom: 1px solid #222;
}
.p-eureka-table__item > *:not(:last-child) {
  font-size: 1.5rem;
}
.p-eureka-table__item > *:last-child {
  font-size: 1.2rem;
}
@media print, screen and (min-width: 520px) {
  .p-eureka-table__item {
    padding-inline: 5rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-eureka-table__item {
    display: table-row;
    background-color: #fff;
  }
  .p-eureka-table__item:last-child {
    border-bottom: none;
  }
  .p-eureka-table__item > * {
    border-top: 1px solid #222;
    padding: 1rem;
  }
  .p-eureka-table__item > *:not(:first-child) {
    border-left: 1px solid #222;
  }
}

.p-eureka-table-science__heading {
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 0.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-eureka-table-science__heading {
    display: none;
  }
}

.p-eureka-science-voice + .p-eureka-science-voice {
  margin-top: 2rem;
}

.p-eureka-science-voice__heading {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-weight: bold;
}
.p-eureka-science-voice__heading::before {
  content: "";
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  background: url(../../assets/img/company/science_icon_children.svg) no-repeat center center/contain;
}
.p-eureka-science-voice__heading--parents::before {
  background: url(../../assets/img/company/science_icon_parents.svg) no-repeat center center/contain;
}
.p-eureka-science-voice__heading + .p-eureka-science-voice__content {
  margin-top: 1rem;
}

.p-eureka-science-voice__content > * {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  padding: 0;
}
.p-eureka-science-voice__content > *:before {
  display: block;
  position: static;
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  background: url(../../assets/img/company/science_icon_voice.svg) no-repeat center center/cover;
}

.p-eureka-science-contact {
  text-align: center;
}

.p-large-section__heading + .p-eureka-science-contact__content {
  margin-top: 2rem;
}
.p-eureka-science-contact__content > * + * {
  margin-top: 1rem;
}

.p-eureka-science-contact__heading {
  font-size: 1.8rem;
}

.p-eureka-science-contact__about {
  font-size: 1.2rem;
}

.p-eureka-science-contact__link {
  font-weight: bold;
  text-decoration: underline;
}
.p-eureka-science-contact__link:hover {
  text-decoration: none;
}

.p-eureka-job-field-wrapper {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}
.p-eureka-job-field-wrapper::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin-top: 3.2rem;
  margin-inline: auto;
  background: url(../../assets/img/service/job_icon_closs.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-eureka-job-field-wrapper {
    grid-template-columns: 47fr 10fr 43fr;
    grid-auto-rows: 1fr;
  }
}

.p-eureka-job-field {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  height: 100%;
}
.p-eureka-job-field + .p-eureka-job-field {
  margin-top: 0;
  order: 2;
}
.p-eureka-job-field > *:last-child {
  flex: 1;
}
@media print, screen and (min-width: 960px) {
  .p-eureka-job-field > *:last-child {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media print, screen and (min-width: 960px) {
  .p-eureka-job-field:first-child .p-eureka-job-field-list {
    grid-auto-flow: column;
    grid-template-rows: repeat(3, auto);
    gap: 1.2rem 4rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-eureka-job-field:not(:first-child) .p-eureka-job-field-list {
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
  }
}

.p-eureka-job-field-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.2rem;
  height: 100%;
}

.p-eureka-job-field-list__item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.p-eureka-job-field-list__item::before {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  background: url(../../assets/img/service/job_icon_medicine.svg) no-repeat center center/contain;
}
.p-eureka-job-field-list__item--medicine::before {
  background-image: url(../../assets/img/service/job_icon_medicine.svg);
}
.p-eureka-job-field-list__item--food::before {
  background-image: url(../../assets/img/service/job_icon_food.svg);
}
.p-eureka-job-field-list__item--cosmetic::before {
  background-image: url(../../assets/img/service/job_icon_cosmetic.svg);
}
.p-eureka-job-field-list__item--chemistry::before {
  background-image: url(../../assets/img/service/job_icon_chemistry.svg);
}
.p-eureka-job-field-list__item--public::before {
  background-image: url(../../assets/img/service/job_icon_public.svg);
}
.p-eureka-job-field-list__item--other::before {
  background-image: url(../../assets/img/service/job_icon_other.svg);
}
.p-eureka-job-field-list__item--study {
  display: grid;
  grid-template-columns: 4rem auto;
  row-gap: 0;
}
.p-eureka-job-field-list__item--study > * {
  grid-column: 2/3;
}
.p-eureka-job-field-list__item--study::before {
  background-image: url(../../assets/img/service/job_icon_analysis.svg);
}
.p-eureka-job-field-list__item--exam {
  display: grid;
  grid-template-columns: 4rem auto;
  row-gap: 0;
}
.p-eureka-job-field-list__item--exam > * {
  grid-column: 2/3;
}
.p-eureka-job-field-list__item--exam::before {
  background-image: url(../../assets/img/service/job_icon_exam.svg);
}

.p-eureka-job-field-list__text {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.3;
}

.p-eureka-job-field-list__note {
  font-size: 1.2rem;
}

.p-kougaku-job-field-wrapper {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}
.p-kougaku-job-field-wrapper::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin-top: 3.2rem;
  margin-inline: auto;
  background: url(../../assets/img/service/job_icon_closs.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-kougaku-job-field-wrapper {
    grid-template-columns: 47fr 10fr 43fr;
    grid-auto-rows: 1fr;
  }
}

.p-kougaku-job-field {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  height: 100%;
}
.p-kougaku-job-field + .p-kougaku-job-field {
  margin-top: 0;
  order: 2;
}
.p-kougaku-job-field > *:last-child {
  flex: 1;
}
@media print, screen and (min-width: 960px) {
  .p-kougaku-job-field:first-child .p-kougaku-job-field-list {
    grid-auto-flow: column;
    grid-template-rows: repeat(3, auto);
  }
}
@media print, screen and (min-width: 960px) {
  .p-kougaku-job-field:not(:first-child) .p-kougaku-job-field-list {
    grid-auto-flow: column;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, auto);
  }
}

.p-kougaku-job-field-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.2rem;
  height: 100%;
}

.p-kougaku-job-field-list__item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.p-kougaku-job-field-list__item::before {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  background: url(../../assets/img/service/job_icon_electrical-machinery.svg) no-repeat center center/contain;
}
.p-kougaku-job-field-list__item--electrical-machinery::before {
  background-image: url(../../assets/img/service/job_icon_electrical-machinery.svg);
}
.p-kougaku-job-field-list__item--automobile::before {
  background-image: url(../../assets/img/service/job_icon_automobile.svg);
}
.p-kougaku-job-field-list__item--machine::before {
  background-image: url(../../assets/img/service/job_icon_machine.svg);
}
.p-kougaku-job-field-list__item--space::before {
  background-image: url(../../assets/img/service/job_icon_space.svg);
}
.p-kougaku-job-field-list__item--public::before {
  background-image: url(../../assets/img/service/job_icon_public.svg);
}
.p-kougaku-job-field-list__item--chemistry::before {
  background-image: url(../../assets/img/service/job_icon_chemistry.svg);
}
.p-kougaku-job-field-list__item--electronical-field::before {
  background-image: url(../../assets/img/service/job_icon_electronical-field.svg);
}
.p-kougaku-job-field-list__item--mechanical-field::before {
  background-image: url(../../assets/img/service/job_icon_mechanical-field.svg);
}
.p-kougaku-job-field-list__item--system-field::before {
  background-image: url(../../assets/img/service/job_icon_system-field.svg);
}
.p-kougaku-job-field-list__item--it-field::before {
  background-image: url(../../assets/img/service/job_icon_it-field.svg);
}

.p-kougaku-job-field-list__text {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.3;
}

/* display */
.u-d-none {
  display: none;
}

.u-d-block {
  display: block;
}

.u-d-inline-b {
  display: inline-block;
}

.u-d-only-pc {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .u-d-only-pc {
    display: inline-block;
  }
}

@media print, screen and (min-width: 520px) {
  .u-d-only-sp {
    display: none;
  }
}
.u-d-tab-pc {
  display: none;
}
@media print, screen and (min-width: 520px) {
  .u-d-tab-pc {
    display: block;
  }
}

.u-d-tab-sp {
  display: block;
}
@media print, screen and (min-width: 960px) {
  .u-d-tab-sp {
    display: none;
  }
}

.u-d-tab-sp-header {
  display: block;
}
@media print, screen and (min-width: 1280px) {
  .u-d-tab-sp-header {
    display: none;
  }
}

/* clear */
.u-float-clear {
  clear: both;
}

/* position */
.u-relative {
  position: relative;
}

/* flex */
.u-fg-1 {
  flex-grow: 1;
}

/* object-fit */
.u-of-cover {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/* margin */
.u-mt-0 {
  margin-top: 0;
}

.u-mt-2 {
  margin-top: 0.2rem;
}

.u-mt-4 {
  margin-top: 0.4rem;
}

.u-mt-8 {
  margin-top: 0.8rem;
}

.u-mt-12 {
  margin-top: 1.2rem;
}

.u-mt-16 {
  margin-top: 1.6rem;
}

.u-mt-24 {
  margin-top: 2.4rem;
}

.u-mt-32 {
  margin-top: 3.2rem;
}

.u-mt-40 {
  margin-top: 4rem;
}

.u-mt-64 {
  margin-top: 6.4rem;
}

.u-mt-72 {
  margin-top: 7.2rem;
}

.u-mt-80 {
  margin-top: 8rem;
}

.u-mt-12 {
  margin-top: 12rem;
}

/* radius */
.u-radius10 {
  border-radius: 10px;
}

/* display */
.u-ta-center {
  text-align: center;
}

.u-ta-left {
  text-align: left;
}

.u-ta-right {
  text-align: right;
}

.u-va-top {
  vertical-align: top;
}

/* color */
.u-color-white {
  color: #fff;
}

/* font */
.u-fw-bold {
  font-weight: bold;
}

/* print */
@media print {
  .u-break-before {
    break-before: page;
  }
}/*# sourceMappingURL=style.css.map */