@charset "UTF-8";
/*base*/
html {
  font-size: 62.5%;
  word-break: break-word;
  scroll-padding-top: 60px;
}
@media print, screen and (min-width: 960px) {
  html {
    scroll-padding-top: 90px; /* 固定ヘッダの高さ分(スクロールして高さが低くなったヘッダー分) */
  }
}

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

body {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow-y: scroll;
  min-height: 100vh;
  color: #222;
  font-family: "Roboto", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳＰゴシック", sans-serif;
  font-size: 1.6em;
  line-height: 1.8;
  -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: 2.5rem;
}

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 {
  border: none;
  padding: 0;
  background-color: transparent;
  color: #222;
  text-align: left;
  cursor: pointer;
}

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

hr {
  border: none;
  border-top: 1px solid #ccc;
}

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

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

/* header */
.l-header {
  position: relative;
  background: #fff;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 100;
}
@media print, screen and (min-width: 1300px) {
  .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-right: auto;
  margin-left: auto;
  width: 100%;
  padding: 3rem 0 8rem;
}
@media print, screen and (min-width: 960px) {
  .l-wrapper {
    padding: 4rem 0 12rem;
  }
}
.l-wrapper--no-top-padding {
  padding: 0 0 8rem;
}
@media print, screen and (min-width: 960px) {
  .l-wrapper--no-top-padding {
    padding: 0 0 12rem;
  }
}
.l-wrapper--no-bottom-padding {
  padding: 3rem 0 0;
}
@media print, screen and (min-width: 960px) {
  .l-wrapper--no-bottom-padding {
    padding: 4rem 0 0;
  }
}

/* container */
.c-container {
  padding: 0 2rem;
}
@media print, screen and (min-width: 960px) {
  .c-container {
    margin: 0 auto;
    padding: 0 2rem;
    max-width: 124rem;
  }
}
@media print, screen and (min-width: 960px) {
  .c-container--wide {
    max-width: 152rem;
  }
}
@media print, screen and (min-width: 960px) {
  .c-container--semi-wide {
    max-width: 136rem;
  }
}
@media print, screen and (min-width: 960px) {
  .c-container--narrow {
    max-width: 104rem;
  }
}
.c-container--position {
  position: relative;
}

.c-container-pc-wide {
  padding: 0 2rem;
}
@media print, screen and (min-width: 960px) {
  .c-container-pc-wide {
    padding: 0;
  }
}

/* text-link */
/* 上の余白 */
.c-text-link-container-lv1 {
  margin-top: 1rem;
}

.c-text-link-container-lv2 {
  margin-top: 1rem;
}
@media print, screen and (min-width: 960px) {
  .c-text-link-container-lv2 {
    margin-top: 2rem;
  }
}

/* normal */
.c-text-link {
  color: #0958C2;
  text-decoration: none;
  word-break: break-word;
}
.c-text-link:hover {
  text-decoration: underline;
}
.c-text-link--intext {
  text-decoration: underline;
}
.c-text-link--intext:hover {
  text-decoration: none;
}
.c-text-link--fs12 {
  font-size: 1.2rem;
  line-height: 1.3;
}
.c-text-link--playback-speed {
  color: #003e92;
  font-size: 1.2rem;
}
.c-text-link[target=_blank]::after {
  content: "";
  display: inline-block;
  position: relative;
  height: 1.2rem;
  width: 1.2rem;
  margin: 0 0 0 1rem;
  background: url(../../assets/img/cmn/cmn_icon_other-window.svg) no-repeat center center;
}
.c-text-link[href^=http]::after {
  height: 1.3rem;
  width: 1.3rem;
  background: url(../../assets/img/cmn/cmn_icon_external-site.svg) no-repeat center center;
}
.c-text-link[href*=".pdf"]::after {
  height: 2.1rem;
  width: 1.8rem;
  margin: 0 0 0.3rem 1rem;
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center;
}
.c-text-link[href^="https://www.wdb-g.com/"]::after {
  height: 1.2rem;
  width: 1.2rem;
  margin: 0 0 0 1rem;
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_other-window.svg) no-repeat center center;
}
.c-text-link--black {
  color: #222;
}
.c-text-link--black:hover {
  color: #0958C2;
}
.c-text-link--black[target=_blank]::after {
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
}
.c-text-link--black[href^=http]::after {
  background: url(../../assets/img/cmn/cmn_icon_external-site-black.svg) no-repeat center center;
}
.c-text-link--black[href*=".pdf"]::after {
  height: 2.1rem;
  width: 1.8rem;
  margin: 0 0 0.3rem 1rem;
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center;
}
.c-text-link--black[href^="https://www.wdb-g.com/"]::after {
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
  margin: 0 0 0 1rem;
}
.c-text-link--no-icon[target=_blank]::after {
  content: none;
}
.c-text-link--anchor {
  display: inline-flex;
  align-items: center;
  column-gap: 1rem;
}
.c-text-link--anchor::after {
  content: "";
  display: inline-block;
  height: 1rem;
  width: 0.6rem;
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-blue.svg) no-repeat center/cover;
  transform: rotate(90deg);
}
.c-text-link--anchor-press::after {
  margin-top: -0.2rem;
}
.c-text-link--requirement[target=_blank]::after {
  margin-left: 0.5rem;
}

/* 横並びリンク */
.c-link-list-container + .p-large-section {
  margin-top: 4rem;
}

.c-link-list {
  display: flex;
  flex-wrap: wrap;
}

.c-link-list__item {
  display: inline;
}
.c-link-list__item:not(:last-child):after {
  content: "｜";
  color: #ccc;
  padding: 0 1.5rem;
}

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

/* button */
.c-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
}

/* header */
.p-header {
  position: fixed;
  height: 6rem;
  width: 100%;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-header {
    border: 0;
    height: 10rem;
    transition: all 0.2s ease 0s;
    -webkit-transition: all 0.2s ease 0s;
  }
}
@media print {
  .p-header {
    position: static;
  }
}
.p-header.is-scroll {
  border-bottom: 1px solid #ccc;
}
.p-header--privacy05 {
  position: static;
  height: 8rem;
}

.p-header__logo-wrapper {
  display: inline-flex;
  flex-direction: column;
}
@media print, screen and (min-width: 960px) {
  .p-header__logo-wrapper {
    align-items: center;
    flex-direction: row;
    gap: 1rem;
  }
}

.p-header__logo {
  width: 15.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-header__logo {
    width: clamp(21rem, 28vw, 33.4rem);
    margin: auto 0;
    transition: all 0.2s ease 0s;
    -webkit-transition: all 0.2s ease 0s;
  }
  .p-header__logo:hover {
    opacity: 0.7;
  }
}
.p-header__logo--privacy05 {
  width: 13.7rem;
}
@media print, screen and (min-width: 960px) {
  .p-header__logo--privacy05 {
    width: 15.6rem;
  }
}

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

.p-header__logo-text {
  color: #004195;
  font-size: 1.2rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-header__logo-text {
    font-size: 1.4rem;
  }
}

.p-header__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-left: 2rem;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-header__inner {
    align-items: flex-end;
    margin: 0 auto;
    padding: 0 3rem;
    max-width: 160rem;
    height: 100%;
  }
}
.p-header__inner--privacy05 {
  height: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-header__inner--privacy05 {
    padding: 0 2rem;
    max-width: 104rem;
  }
}

.p-header-nav {
  display: none;
  position: absolute;
  left: 0;
  top: 6rem;
  height: calc(100dvh - 6rem);
  margin-left: 0;
  width: 100%;
  background-color: #fff;
  overflow: auto;
}
.p-header-nav.is-open {
  display: grid;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-header-nav {
    display: grid;
    align-items: flex-end;
    gap: 1rem min(0.9vw, 2rem);
    position: static;
    height: auto;
    width: auto;
    background-color: transparent;
    overflow: hidden;
  }
}

.p-header-nav__menu {
  display: block;
}
@media print, screen and (min-width: 960px) {
  .p-header-nav__menu {
    display: flex;
    grid-column: 1/2;
    grid-row: 2/3;
  }
}

.p-header-nav__pc-title::after {
  content: "";
  position: absolute;
  left: 2rem;
  bottom: 0;
  border-radius: 2px;
  height: 0.3rem;
  width: calc(100% - 4rem);
  background-color: #0958C2;
  transform: scale(0, 1);
  transition: all 0.5s;
  transform-origin: left top;
}
.p-header-nav__pc-title.is-active {
  color: #0958C2;
}
.p-header-nav__pc-title.is-active::after {
  transform: scale(1, 1);
}

.p-header-nav__list {
  position: relative;
  border-bottom: 1px solid #ccc;
}
@media print, screen and (min-width: 960px) {
  .p-header-nav__list {
    position: static;
    border: 0;
  }
}

.p-header-nav__sp-title,
.p-header-mega-menu-content__sp-link {
  display: block;
  position: relative;
  padding: 1.5rem 2rem;
}
.p-header-nav__sp-title::before, .p-header-nav__sp-title::after,
.p-header-mega-menu-content__sp-link::before,
.p-header-mega-menu-content__sp-link::after {
  content: "";
  position: absolute;
  right: 2rem;
  top: 50%;
  border-radius: 2px;
  height: 0.2rem;
  width: 1.2rem;
  background-color: #0958C2;
  transition: transform 0.1s;
}
.p-header-nav__sp-title::after,
.p-header-mega-menu-content__sp-link::after {
  transform: rotate(90deg);
}
.p-header-nav__sp-title:hover,
.p-header-mega-menu-content__sp-link:hover {
  cursor: pointer;
}
.p-header-nav__sp-title.is-open,
.p-header-mega-menu-content__sp-link.is-open {
  font-weight: bold;
}
.p-header-nav__sp-title.is-open::after,
.p-header-mega-menu-content__sp-link.is-open::after {
  transform: rotate(180deg);
}
@media print, screen and (min-width: 960px) {
  .p-header-nav__sp-title,
  .p-header-mega-menu-content__sp-link {
    display: none;
  }
}

.p-header-mega-menu-content__sp-link {
  padding: 1rem 3rem 1rem 0;
}

.p-header-nav__sp-title-sustainability {
  display: block;
  position: relative;
  padding: 1.4rem 2rem;
}
.p-header-nav__sp-title-sustainability:hover {
  cursor: pointer;
}
@media print, screen and (min-width: 960px) {
  .p-header-nav__sp-title-sustainability {
    display: none;
  }
}

.p-header-nav__pc-title {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-header-nav__pc-title {
    display: block;
    position: relative;
    padding: 0 min(1.2vw, 2rem) 1.5rem;
    font-size: min(1.46vw, 1.6rem);
    font-weight: bold;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
}
.p-header-nav__pc-title.is-selected {
  color: #0958C2;
}
.p-header-nav__pc-title.is-selected::after {
  content: "";
  display: block;
  position: absolute;
  left: 2rem;
  bottom: 0;
  border-radius: 2px;
  height: 0.3rem;
  width: calc(100% - 4rem);
  background-color: #0958C2;
  transform: scale(1, 1);
}

.p-header-nav__sub {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
  padding: 2rem 2rem 1.5rem;
  font-size: 1.3rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-header-nav__sub {
    grid-column: 1/3;
    grid-row: 1/2;
    justify-content: end;
    padding: 0;
    font-size: min(1.36vw, 1.3rem);
    transition: all 0.2s ease 0s;
    -webkit-transition: all 0.2s ease 0s;
  }
}

.p-header-nav__lang {
  padding: 0 2rem 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-header-nav__lang {
    grid-column: 2/3;
    grid-row: 2/3;
    padding: 0;
    margin-bottom: 1.5rem;
  }
}

.p-header-mega-menu {
  display: none;
  position: relative;
  height: 100%;
}
.p-header-mega-menu.is-open {
  display: block;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu {
    position: absolute;
    left: 0;
    top: 10rem;
    height: 30rem;
    width: 100%;
    background-color: #f8f8f8;
    color: #222;
    z-index: 100;
  }
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu--ir {
    height: 45rem;
  }
}

.p-header-mega-menu__inner {
  background-color: #f8f8f8;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu__inner {
    display: grid;
    grid-template-columns: 27% 73%;
    gap: 1.5rem;
    margin: 0 auto;
    padding-bottom: 5rem;
    padding-top: 4rem;
    width: min(97vw, 110rem);
  }
}

.p-header-mega-menu-title {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-title {
    position: relative;
    display: inline-block;
    padding: 1rem 0;
    font-size: 1.8rem;
    font-weight: bold;
  }
  .p-header-mega-menu-title::before {
    content: "";
    display: inline-block;
    margin-bottom: 0.5rem;
    margin-right: 1.5rem;
    height: 1.8rem;
    width: 1rem;
    background: url(../../assets/img/cmn/cmn_icon_button-arrow-black.svg) no-repeat center center/contain;
    vertical-align: middle;
  }
  .p-header-mega-menu-title:hover {
    color: #0958C2;
    text-decoration: underline;
  }
}

.p-header-mega-menu-content {
  display: block;
  padding: 0.5rem 0;
  background-color: #f8f8f8;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    position: relative;
    border: 0;
    padding: 0;
    background-color: #f8f8f8;
  }
  .p-header-mega-menu-content:not(:last-child) {
    padding-bottom: 3rem;
  }
}
.p-header-mega-menu-content--sub {
  padding-bottom: 1.25rem;
  padding-inline: 3rem;
  width: auto;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content--sub {
    border-top: 1px solid #ccc;
    padding: 1.5rem 0 0;
  }
}

@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content__list--sp {
    display: none;
  }
}

.p-header-mega-menu-content__link {
  display: block;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content__link {
    display: inline-block;
  }
}

.p-header-mega-menu-content__list--sp > .p-header-mega-menu-content__link {
  border-bottom: 1px solid #ccc;
  margin-bottom: 1rem;
  padding: 1rem 3rem;
  font-weight: bold;
}

.p-header-mega-menu-content__pc-link {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content__pc-link {
    display: block;
  }
}

.p-header-mega-menu-content__list {
  padding-inline: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content__list {
    padding-inline: 0;
  }
}
.p-header-mega-menu-content__list--sp {
  padding-inline: 0;
}
.p-header-mega-menu-content__list--accordion {
  padding-right: 0;
}

.p-header-mega-menu-content__link,
.p-header-mega-menu-content__pc-link {
  padding-block: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content__link,
  .p-header-mega-menu-content__pc-link {
    font-size: 1.4rem;
    padding: 1rem 0.5rem 1rem 1.7rem;
    position: relative;
  }
  .p-header-mega-menu-content__link::before,
  .p-header-mega-menu-content__pc-link::before {
    position: absolute;
    content: "";
    display: inline-block;
    left: 0;
    top: 1.6rem;
    height: 1.2rem;
    width: 0.7rem;
    background: url(../../assets/img/cmn/cmn_icon_button-arrow-black.svg) no-repeat center center/contain;
  }
  .p-header-mega-menu-content__link:hover,
  .p-header-mega-menu-content__pc-link:hover {
    color: #0958C2;
    text-decoration: underline;
  }
  .p-header-mega-menu-content__link--sub::before,
  .p-header-mega-menu-content__pc-link--sub::before {
    top: 1.5rem;
    height: 1rem;
    width: 0.6rem;
  }
}
.p-header-mega-menu-content__link[target=_blank]::after,
.p-header-mega-menu-content__pc-link[target=_blank]::after {
  content: "";
  display: inline-block;
  margin-left: 1rem;
  height: 1.2rem;
  width: 1.2rem;
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
  z-index: 2;
}
.p-header-mega-menu-content__link[href^=http]::after,
.p-header-mega-menu-content__pc-link[href^=http]::after {
  height: 1.3rem;
  width: 1.3rem;
  background: url(../../assets/img/cmn/cmn_icon_external-site-black.svg) no-repeat center center;
}
.p-header-mega-menu-content__link[href*=".pdf"]::after,
.p-header-mega-menu-content__pc-link[href*=".pdf"]::after {
  height: 2.1rem;
  width: 1.8rem;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center;
}
.p-header-mega-menu-content__link[href^="https://www.wdb-g.com/"]::after,
.p-header-mega-menu-content__pc-link[href^="https://www.wdb-g.com/"]::after {
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
}

.p-header-mega-menu-content__link-text {
  position: relative;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content__link-text:hover {
    color: #0958C2;
    text-decoration: none;
  }
}

.p-header-accorion-menu__link {
  display: block;
  padding: 1rem 4rem;
}

.p-header__accordion-menu {
  display: none;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  padding: 0.5rem 0;
  background-color: #eaeef3;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: calc(-50vw - 1.5rem);
  margin-right: -50vw;
  width: 100vw;
}

.p-header-mega-menu-content__ir-heading {
  padding: 1rem 3rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content__ir-heading {
    padding: 1rem 0 0;
  }
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content__ir-heading + .p-header-mega-menu-content__ir-content {
    margin-top: 0.5rem;
  }
}

.p-header-mega-menu-content--sub > li:first-child {
  border-top: 1px solid #ccc;
  padding-top: 1.25rem;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content--sub > li:first-child {
    border-top: 0;
    padding-top: 0;
  }
}

@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content__link--ir {
    padding-left: 1.7rem;
  }
}
.p-header-mega-menu-content__link--sub {
  padding-block: 0.75rem;
  font-size: 1.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content__link--sub {
    padding: 1rem 0.5rem 0.5rem 1.7rem;
  }
}

.p-header-mega-menu-content__ir-content .p-header-mega-menu-content__list {
  padding-inline: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-header-mega-menu-content__ir-content .p-header-mega-menu-content__list {
    padding-inline: 0;
  }
}

.p-header-mega-menu-content--sub .p-header-mega-menu-content__list {
  padding-inline: 0;
}

.p-humberger {
  display: grid;
  place-items: center;
  position: relative;
  height: 6rem;
  width: 6rem;
  cursor: pointer;
}
@media print, screen and (min-width: 960px) {
  .p-humberger {
    display: none;
  }
}

.p-humberger__toggle-bar {
  display: block;
  position: absolute;
  border-radius: 2px;
  height: 0.2rem;
  width: 2.4rem;
  background-color: #0958C2;
  transition: 0.3s ease-in-out;
}
.p-humberger__toggle-bar:nth-child(1) {
  top: calc(50% - 0.8rem);
}
.p-humberger__toggle-bar:nth-child(2) {
  top: 50%;
}
.p-humberger__toggle-bar:nth-child(3) {
  top: calc(50% + 0.8rem);
}

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

.l-body.is-fixed {
  position: fixed;
  left: 0;
  width: 100%;
}

.p-overlay {
  display: none;
  position: fixed;
  top: 0;
  height: 100vh;
  width: 100%;
  background-color: rgba(51, 51, 51, 0.3);
  z-index: 95;
}

/* main */
.p-main {
  margin-top: 6rem;
}
@media print, screen and (min-width: 960px) {
  .p-main {
    margin-top: 10rem;
  }
}
@media print {
  .p-main {
    margin-top: 0;
  }
}
.p-main--privacy05 {
  margin-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-main--privacy05 {
    margin-top: 10rem;
  }
}

/* section */
/* top page */
.p-top-large-section + .p-top-large-section {
  margin-top: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-top-large-section + .p-top-large-section {
    margin-top: 12rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-large-section + .p-top-large-section--margin-narrow {
    margin-top: 8rem;
  }
}
.p-top-large-section--top-topics-margin {
  padding-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-top-large-section--top-topics-margin {
    padding-top: 4rem;
  }
}
.p-top-large-section--top-topics-margin-eng {
  padding-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-top-large-section--top-topics-margin-eng {
    position: relative;
    padding-top: 8rem;
  }
}

.p-top-large-section__heading + .p-top-large-section__content {
  margin-top: 2rem;
}

.p-top-large-section__heading--top-about {
  padding: 0 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-top-large-section__heading--top-about {
    max-width: 140rem;
    padding: 0;
  }
}

.p-top-large-section__content-description {
  margin-bottom: 2rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-top-large-section__content-description {
    margin-bottom: 4rem;
    font-size: 2.4rem;
  }
}
.p-top-large-section__content-description--ir {
  margin-bottom: 4rem;
  color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-top-large-section__content-description--ir {
    margin-bottom: 6rem;
  }
}

.p-top-section-bg-full {
  width: 100%;
}
.p-top-section-bg-full + .p-top-section-bg-full {
  padding-top: 0;
}
.p-top-section-bg-full--about {
  background: linear-gradient(-10deg, #fff 0%, #fff 20%, #f5f9ff 100%);
  padding: 4rem 0 0;
}
@media print, screen and (min-width: 960px) {
  .p-top-section-bg-full--about {
    padding: 8rem 0 0;
  }
}
.p-top-section-bg-full--ir {
  padding: 4rem 0;
  background-color: #666;
}
@media print, screen and (min-width: 960px) {
  .p-top-section-bg-full--ir {
    padding: 8rem 0;
  }
}

.p-top-section-bg-part {
  position: relative;
}
.p-top-section-bg-part::after {
  position: absolute;
  background-color: #f5f9ff;
  z-index: -1;
}
.p-top-section-bg-part--recruitment::after {
  content: "";
  bottom: 0;
  right: 0;
  width: 60%;
  height: 85%;
  border-radius: 10px 0 0 10px;
}

/* 下層ページで使用 */
.p-section-bg + .p-hero-area-content--about,
.p-hero-area-content + .p-section-bg {
  margin-top: 6rem;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg + .p-hero-area-content--about,
  .p-hero-area-content + .p-section-bg {
    margin-top: 8rem;
  }
}

.p-section-bg--ir + .p-hero-area-content {
  margin-top: 6rem;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--ir + .p-hero-area-content {
    margin-top: 8rem;
  }
}

.p-hero-area-content--recruit {
  padding-top: 3rem;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-hero-area-content--recruit {
    margin-top: 0;
    background-color: transparent;
  }
}

.p-main-section__heading {
  border-bottom: 1px solid #ccc;
  padding-bottom: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-section__heading {
    padding-bottom: 4rem;
  }
}
.p-main-section__heading--no-border {
  padding-bottom: 0;
  border-bottom: none;
}
@media print, screen and (min-width: 960px) {
  .p-main-section__heading--no-border {
    border-bottom: 1px solid #ccc;
    padding-bottom: 4rem;
  }
}
.p-main-section__heading + .p-main-section__content {
  margin-top: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-section__heading + .p-main-section__content {
    margin-top: 12rem;
  }
}

@media print, screen and (min-width: 960px) {
  .p-detail-main-section__heading {
    border-bottom: 1px solid #ccc;
  }
}
.p-detail-main-section__heading + .p-detail-main-section__content {
  margin-top: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-detail-main-section__heading + .p-detail-main-section__content {
    margin-top: 8rem;
  }
}

/* local-nav */
.p-local-nav-large-section {
  border-top: 1px solid #ccc;
  padding: 6rem 0;
}
@media print, screen and (min-width: 960px) {
  .p-local-nav-large-section {
    padding: 8rem 0;
  }
}

.p-local-nav-large-section__heading + .p-local-nav-large-section__content {
  margin-top: 2.5rem;
}

.p-local-nav-large-section__content {
  display: grid;
  grid-template-rows: auto;
}
@media print, screen and (min-width: 520px) {
  .p-local-nav-large-section__content {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-local-nav-large-section__content {
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
  }
}

.p-local-nav-middle-section:nth-child(n+2) {
  margin-top: 2.5rem;
}
@media print, screen and (min-width: 520px) {
  .p-local-nav-middle-section:nth-child(2) {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 960px) {
  .p-local-nav-middle-section:nth-child(n+2) {
    margin-top: 0;
  }
}

.p-local-nav-middle-section__heading + .p-local-nav-middle-section__content {
  margin-top: 1.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-local-nav-middle-section__heading + .p-local-nav-middle-section__content {
    margin-top: 3rem;
  }
}

.p-large-section + .p-large-section {
  margin-top: 8rem;
}
@media print, screen and (min-width: 960px) {
  .p-large-section + .p-large-section {
    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__content + .p-large-section__content {
  margin-top: 6rem;
}
@media print, screen and (min-width: 960px) {
  .p-large-section__content + .p-large-section__content {
    margin-top: 8rem;
  }
}

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

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

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

.p-small-section + .p-small-section {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-small-section + .p-small-section {
    margin-top: 2.5rem;
  }
}

.p-small-section__heading + .p-small-section__content {
  margin-top: 1rem;
}

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

@media print, screen and (min-width: 960px) {
  .p-ir-section {
    display: grid;
    gap: 0;
    grid-row: span 2;
    grid-template-rows: subgrid;
  }
}

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

.p-local-nav-section {
  border-top: 1px solid #ccc;
  padding: 6rem 0;
}
@media print, screen and (min-width: 960px) {
  .p-local-nav-section {
    padding: 8rem 0;
  }
}

.p-local-nav-section__heading {
  font-size: 2.4rem;
}
.p-local-nav-section__heading + .p-local-nav-section__content {
  margin-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-local-nav-section__heading + .p-local-nav-section__content {
    margin-top: 4rem;
  }
}

.p-section-bg {
  width: 100%;
}
.p-section-bg--about {
  background: linear-gradient(-30deg, #fff 0%, #fff 30%, #f5f9ff 100%);
  padding: 3rem 0;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--about {
    padding: 4rem 0 6rem;
  }
}
.p-section-bg--recruit {
  background: linear-gradient(-30deg, #fff 0%, #fff 20%, #f5f9ff 100%);
  padding-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--recruit {
    padding-top: 8rem;
  }
}
.p-section-bg--ir {
  background: linear-gradient(-30deg, #fff 0%, #fff 30%, #f5f9ff 100%);
  padding: 3rem 0 0;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--ir {
    padding: 8rem 0 0;
  }
}
.p-section-bg--ir-gray {
  background-color: #666;
  padding: 4rem 0;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--ir-gray {
    padding: 12rem 0;
  }
}
.p-section-bg--faq {
  background-color: #f5f9ff;
  padding: 4rem 0 8rem;
}
@media print, screen and (min-width: 960px) {
  .p-section-bg--faq {
    padding: 12rem 0;
  }
}

/* heading */
.p-top-heading {
  font-family: "Roboto";
  font-weight: bold;
}
.p-top-heading--primary {
  color: #003890;
  font-size: 4rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media print, screen and (min-width: 960px) {
  .p-top-heading--primary {
    font-size: 7rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-heading .p-top-heading__link:hover {
    opacity: 0.7;
  }
}
.p-top-heading .p-top-heading__link::after {
  display: inline-block;
  content: "";
  height: 1rem;
  margin-bottom: 0.6rem;
  margin-left: 1.5rem;
  width: 0.6rem;
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-dark-blue.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-top-heading .p-top-heading__link::after {
    height: 2rem;
    margin-bottom: 0.8rem;
    margin-left: 2rem;
    width: 1.2rem;
  }
}
.p-top-heading--news {
  font-size: 2rem;
  line-height: 1.4;
}
@media print, screen and (min-width: 960px) {
  .p-top-heading--news {
    font-size: 3.2rem;
  }
}
.p-top-heading--ir {
  color: #fff;
  font-size: 4rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media print, screen and (min-width: 960px) {
  .p-top-heading--ir {
    font-size: 7rem;
  }
}
.p-top-heading--ir .p-top-heading__link::after {
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-white.svg) no-repeat center center/contain;
}
.p-top-heading--sustainability {
  min-width: 20rem;
  font-size: 3.2rem;
  white-space: nowrap;
}

.p-heading {
  position: relative;
  font-weight: bold;
  word-break: auto-phrase;
}
.p-heading--primary-en {
  font-size: 4rem;
  color: #003890;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
@media print, screen and (min-width: 960px) {
  .p-heading--primary-en {
    font-size: 7rem;
  }
}
.p-heading--primary-en + .p-heading--primary-ja-normal {
  margin-top: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--primary-en + .p-heading--primary-ja-normal {
    margin-top: 2rem;
  }
}
.p-heading--primary-ja-normal {
  font-size: 1.4rem;
  line-height: 1.4;
}
@media print, screen and (min-width: 960px) {
  .p-heading--primary-ja-normal {
    font-size: 2.4rem;
  }
}
.p-heading--primary-ja-circle {
  position: relative;
  margin-bottom: 1rem;
  padding-left: 1.7rem;
  color: #222;
  font-size: 1.6rem;
  font-weight: bold;
  vertical-align: bottom;
}
@media print, screen and (min-width: 960px) {
  .p-heading--primary-ja-circle {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
}
.p-heading--primary-ja-circle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  border-radius: 50%;
  display: block;
  height: 1rem;
  width: 1rem;
  background-color: #003890;
}
.p-heading--business-eng {
  font-size: 8rem;
  line-height: 0.75;
}
@media print, screen and (min-width: 960px) {
  .p-heading--business-eng {
    font-size: 15rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-heading--business-eng-reduced {
    font-size: 11.5rem;
    line-height: 0.95;
  }
}
.p-heading--business {
  display: inline-block;
  border: 1px solid #222;
  margin-top: 2rem;
  padding: 0.7rem 2rem 0.5rem;
  font-size: 1.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--business {
    margin-top: 6rem;
    font-size: 2.4rem;
  }
}
.p-heading--philosophy {
  font-size: 2.8rem;
  text-align: center;
  word-break: normal;
}
@media print, screen and (min-width: 960px) {
  .p-heading--philosophy {
    font-size: 5rem;
  }
}
.p-heading--primary-sitemap {
  margin-bottom: 4.5rem;
  font-size: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--primary-sitemap {
    margin-bottom: 6rem;
    font-size: 3.2rem;
  }
}
.p-heading--secondary {
  font-size: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--secondary {
    font-size: 3.2rem;
  }
}
.p-heading--secondary-underline {
  display: flex;
  flex-direction: column;
  font-size: 2.4rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-heading--secondary-underline {
    font-size: 3.2rem;
  }
}
.p-heading--secondary-underline::after {
  content: "";
  display: block;
  margin-top: 1rem;
  height: 0.2rem;
  width: 100%;
  background-color: #ddd;
}
.p-heading--tertiary {
  font-size: 1.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--tertiary {
    font-size: 2.4rem;
  }
}
.p-heading--tertiary-underline {
  display: flex;
  flex-direction: column;
  font-size: 1.8rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-heading--tertiary-underline {
    font-size: 2.4rem;
  }
}
.p-heading--tertiary-underline::after {
  content: "";
  display: inline-block;
  margin-top: 2rem;
  height: 0.1rem;
  width: 4rem;
  border-radius: 2px;
  background-color: #003890;
}
.p-heading--tertiary-underline-white {
  display: flex;
  align-items: center;
  flex-direction: column;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-heading--tertiary-underline-white {
    font-size: 2.4rem;
  }
}
.p-heading--tertiary-underline-white::after {
  content: "";
  display: inline-block;
  margin-top: 2rem;
  margin-bottom: 2rem;
  height: 0.1rem;
  width: 4rem;
  border-radius: 2px;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-heading--tertiary-underline-white::after {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}
.p-heading--quaternary {
  font-size: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading--quaternary {
    font-size: 1.8rem;
  }
}
.p-heading--center {
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .p-heading--center-pc {
    text-align: center;
  }
}
.p-heading--white {
  color: #fff;
}
.p-heading--sitemap {
  border-bottom: 1px solid #ccc;
  padding-bottom: 2rem;
  font-weight: bold;
}

.p-heading-subtitle-left-line {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 1rem;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.p-heading-subtitle-left-line::before {
  content: "";
  display: inline-block;
  height: 0.1rem;
  width: 2rem;
  min-width: 2rem;
  border-radius: 2px;
  background-color: #003890;
}
.p-heading-subtitle-left-line + .p-heading {
  margin-top: 1rem;
}

.p-heading-subtitle-eng {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.p-heading-subtitle-eng--blue {
  color: #0958C2;
}
.p-heading-subtitle-eng--blue-no-link {
  color: #003890;
}
.p-heading-subtitle-eng--management-policy-message {
  color: #fff;
  font-size: 1.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-heading-subtitle-eng--management-policy-message {
    font-size: 1.4rem;
  }
}

/* breadcrumb */
.p-breadcrumb-container-title-page {
  padding: 3rem 0;
}
@media print, screen and (min-width: 960px) {
  .p-breadcrumb-container-title-page {
    padding: 4rem 0;
  }
}
.p-breadcrumb-container-title-page--recruit-sp {
  padding: 3rem 0 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-breadcrumb-container-title-page--recruit-sp {
    display: none;
  }
}
.p-breadcrumb-container-title-page--recruit-pc {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-breadcrumb-container-title-page--recruit-pc {
    display: block;
  }
}

.p-breadcrumb-container-local {
  padding-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-breadcrumb-container-local {
    padding-top: 2rem;
  }
}

.p-breadcrumb-container-detail {
  padding-bottom: 2rem;
  padding-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-breadcrumb-container-detail {
    padding-bottom: 4rem;
    padding-top: 4rem;
  }
}

.p-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: flex-start;
  font-size: 1.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-breadcrumb {
    justify-content: flex-end;
    font-size: 1.4rem;
  }
}

.p-breadcrumb__item:not(:last-child):after {
  content: "";
  display: inline-block;
  border-radius: 2px;
  margin: 0 1.5rem 0 1rem;
  height: 1rem;
  width: 0.1rem;
  background-color: #999;
  transform: rotate(30deg);
}

.p-breadcrumb-border {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-breadcrumb-border {
    display: block;
    margin: 0 calc(50% - 50vw);
    padding: 0;
    width: 100vw;
  }
}

/* footer */
.p-footer-gnav-container {
  width: 100%;
  background-color: #f8f8f8;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-container {
    padding: 8rem 2.5rem;
  }
}

@media print, screen and (min-width: 960px) {
  .p-footer-gnav {
    display: grid;
    align-items: flex-start;
    column-gap: 12rem;
    grid-template-columns: 14rem 1fr;
    margin: 0 auto;
    max-width: 120rem;
  }
}

.p-footer-gnav__logo {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav__logo {
    display: block;
    transition: all 0.2s ease 0s;
    -webkit-transition: all 0.2s ease 0s;
  }
  .p-footer-gnav__logo:hover {
    opacity: 0.7;
  }
}

.p-footer-gnav__logo img {
  width: 100%;
}

@media print, screen and (min-width: 960px) {
  .p-footer-gnav__menu {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    font-size: 1.4rem;
  }
}

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

.p-footer-gnav__list-item {
  border-top: 1px solid #ccc;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav__list-item {
    border: none;
  }
}

.p-footer-gnav__list:last-of-type {
  border-bottom: 1px solid #ccc;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav__list:last-of-type {
    border: none;
  }
}

@media print, screen and (min-width: 960px) {
  .p-footer-gnav__list-item + .p-footer-gnav__list-item {
    margin-top: 2rem;
  }
}

.p-footer-gnav-pc-title {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-pc-title {
    display: inline-block;
    padding: 0.5rem 0;
    font-weight: bold;
  }
}
.p-footer-gnav-pc-title:hover {
  text-decoration: underline;
}

.p-footer-gnav-sp-title {
  display: block;
  position: relative;
  padding: 1.5rem 2rem;
}
.p-footer-gnav-sp-title::before, .p-footer-gnav-sp-title::after {
  content: "";
  position: absolute;
  right: 2rem;
  top: 50%;
  border-radius: 2px;
  height: 0.2rem;
  width: 1.2rem;
  background-color: #0958C2;
  transition: transform 0.1s;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-sp-title::before, .p-footer-gnav-sp-title::after {
    content: none;
  }
}
.p-footer-gnav-sp-title::after {
  transform: rotate(90deg);
}
.p-footer-gnav-sp-title.is-open {
  font-weight: bold;
}
.p-footer-gnav-sp-title.is-open::after {
  transform: rotate(180deg);
}
.p-footer-gnav-sp-title:hover {
  cursor: pointer;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-sp-title {
    display: none;
  }
}

.p-footer-gnav-sp-title-sustainability {
  display: block;
  padding: 1.4rem 2rem;
}
.p-footer-gnav-sp-title-sustainability:hover {
  cursor: pointer;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-sp-title-sustainability {
    display: none;
  }
}

.p-footer-gnav-inner-nav {
  display: none;
  border-top: 1px solid #ccc;
  background-color: #eee;
  padding: 0.5rem 0;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-inner-nav {
    display: block;
    position: relative;
    border: none;
    padding: 0;
    background-color: #f8f8f8;
  }
}

@media print, screen and (min-width: 960px) {
  .p-footer-gnav-inner-nav__list--toplink {
    display: none;
  }
}

.p-footer-gnav-inner-nav__link {
  display: block;
  padding: 1rem 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-inner-nav__link {
    display: inline-block;
    padding: 0.5rem 0;
  }
  .p-footer-gnav-inner-nav__link:hover {
    text-decoration: underline;
  }
}
.p-footer-gnav-inner-nav__link[target=_blank]::after {
  content: "";
  display: inline-block;
  margin-left: 1rem;
  height: 1.2rem;
  width: 1.2rem;
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
  z-index: 2;
}
.p-footer-gnav-inner-nav__link[href^=http]::after {
  height: 1.3rem;
  width: 1.3rem;
  background: url(../../assets/img/cmn/cmn_icon_external-site-black.svg) no-repeat center center;
}
.p-footer-gnav-inner-nav__link[href*=".pdf"]::after {
  height: 2.1rem;
  width: 1.8rem;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center;
}
.p-footer-gnav-inner-nav__link[href^="https://www.wdb-g.com/"]::after {
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
}
@media print, screen and (min-width: 960px) {
  .p-footer-gnav-inner-nav__link--toplink {
    display: none;
  }
}

.p-footer__nav-sp-link {
  position: relative;
  display: block;
  padding: 1rem 3rem;
}
.p-footer__nav-sp-link::before, .p-footer__nav-sp-link::after {
  content: "";
  position: absolute;
  right: 2rem;
  top: 50%;
  border-radius: 2px;
  height: 0.2rem;
  width: 1.2rem;
  background-color: #0958C2;
  transition: transform 0.1s;
}
@media print, screen and (min-width: 960px) {
  .p-footer__nav-sp-link::before, .p-footer__nav-sp-link::after {
    content: none;
  }
}
.p-footer__nav-sp-link::after {
  transform: rotate(90deg);
}
.p-footer__nav-sp-link::after {
  transform: rotate(90deg);
}
.p-footer__nav-sp-link.is-open {
  font-weight: bold;
}
.p-footer__nav-sp-link.is-open::after {
  transform: rotate(180deg);
}
.p-footer__nav-sp-link:hover {
  cursor: pointer;
}
@media print, screen and (min-width: 960px) {
  .p-footer__nav-sp-link {
    display: none;
  }
}

.p-footer__nav-pc-link {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-footer__nav-pc-link {
    display: inline-block;
    padding: 0.5rem 0;
  }
  .p-footer__nav-pc-link:hover {
    text-decoration: underline;
  }
}

.p-footer__accordion-menu {
  padding: 0.5rem 0;
  background-color: #ddd;
}
@media print, screen and (min-width: 960px) {
  .p-footer__accordion-menu {
    display: none;
  }
}
.p-footer__accordion-menu--open {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-footer__accordion-menu--open {
    display: block;
    border: 0;
    background-color: #f9f9f9;
  }
}

.p-footer__accordion-menu__link {
  display: block;
  padding: 1rem 4rem;
}
.p-footer__accordion-menu__link:hover {
  text-decoration: underline;
}
@media print, screen and (min-width: 960px) {
  .p-footer__accordion-menu__link {
    display: inline-block;
    padding: 0.5rem 2rem;
  }
}

.p-footer-submenu {
  padding: 2rem;
  font-size: 1.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-footer-submenu {
    margin: 0 auto;
    max-width: 120rem;
  }
}

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

.p-footer-submenu__link[target=_blank]::after {
  content: "";
  display: inline-block;
  position: relative;
  height: 1.2rem;
  width: 1.2rem;
  margin: 0 0 0 1rem;
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
}
.p-footer-submenu__link[href^=http]::after {
  height: 1.3rem;
  width: 1.3rem;
  background: url(../../assets/img/cmn/cmn_icon_external-site-black.svg) no-repeat center center;
}
.p-footer-submenu__link[href*=".pdf"]::after {
  height: 2.1rem;
  width: 1.8rem;
  margin: 0 0 0.3rem 1rem;
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center;
}
.p-footer-submenu__link[href^="https://www.wdb-g.com/"]::after {
  height: 1.2rem;
  width: 1.2rem;
  margin: 0 0 0 1rem;
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
}
@media print, screen and (min-width: 960px) {
  .p-footer-submenu__link:hover {
    text-decoration: underline;
  }
}

.p-footer-copyright {
  padding: 1rem 0;
  text-align: center;
  white-space: nowrap;
  background-color: #222;
  color: #fff;
  font-size: 1.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-footer-copyright {
    margin-top: 0;
    padding: 3rem 0;
  }
}

/* grid */
.p-grid-col3 {
  display: grid;
  gap: 6rem;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-grid-col3 {
    gap: min(7.5%, 12rem);
    grid-template-columns: repeat(3, 1fr);
  }
}

/* button */
/* 共通ボタン */
.p-button-white-container {
  border-bottom: 2px solid #fff;
}

.p-button-white {
  gap: 2rem;
  justify-content: space-between;
  padding: 2rem 0;
  width: 100%;
  min-height: 8rem;
  color: #fff;
  font-weight: bold;
  transition: 0.5s;
}
@media print, screen and (min-width: 960px) {
  .p-button-white {
    min-height: 9rem;
    padding: 2.5rem 0;
    font-size: 1.8rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-button-white:hover {
    opacity: 0.7;
  }
}

.p-button-white__arrow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 50%;
  height: 3rem;
  min-width: 3rem;
  background-color: #fff;
  z-index: 2;
}
@media print, screen and (min-width: 960px) {
  .p-button-white__arrow-icon {
    height: 4rem;
    min-width: 4rem;
  }
}
.p-button-white__arrow-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  opacity: 1;
  transform: translate3d(-50%, -50%, 0px);
  transition: 0.15s;
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-black.svg) no-repeat center center/contain;
  height: 0.8rem;
  width: 0.5rem;
  z-index: 4;
}
@media print, screen and (min-width: 960px) {
  .p-button-white__arrow-icon::after {
    height: 1rem;
    width: 0.6rem;
  }
}

/* トップページ専用ボタン */
.p-top-button-container {
  border-bottom: 2px solid #222;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-container {
    max-width: 60rem;
  }
}

.p-top-button {
  gap: 2rem;
  justify-content: space-between;
  padding: 2rem 0;
  width: 100%;
  min-height: 8rem;
  font-weight: bold;
  transition: 0.5s;
}
@media print, screen and (min-width: 960px) {
  .p-top-button {
    min-height: 9rem;
    padding: 2.5rem 0;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-button:hover {
    color: #0958C2;
  }
}

.p-top-button__arrow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid #222;
  border-radius: 50%;
  height: 3rem;
  min-width: 3rem;
  background-color: #fff;
  z-index: 2;
}
@media print, screen and (min-width: 960px) {
  .p-top-button__arrow-icon {
    border: none;
    height: 4rem;
    min-width: 4rem;
    background-color: #f8f8f8;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-button__arrow-icon::before {
    content: "";
    transform: scale(0.1);
    transition: transform 0.4s;
    border-radius: 50%;
    height: 4rem;
    width: 4rem;
    background-color: #0958C2;
    z-index: 3;
  }
}
.p-top-button__arrow-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  opacity: 1;
  transform: translate3d(-50%, -50%, 0px);
  transition: 0.15s;
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-black.svg) no-repeat center center/contain;
  height: 0.8rem;
  width: 0.5rem;
  z-index: 4;
}
@media print, screen and (min-width: 960px) {
  .p-top-button__arrow-icon::after {
    background: url(../../assets/img/cmn/cmn_icon_button-arrow-white.svg) no-repeat center center/contain;
    height: 1rem;
    width: 0.6rem;
    opacity: 0;
    transform: translate3d(-50%, -50%, 0px) scale(0);
  }
}

@media print, screen and (min-width: 960px) {
  .p-top-button:hover .p-top-button__arrow-icon::before {
    transform: scale(1);
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-button:hover .p-top-button__arrow-icon::after {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0px) scale(1);
    transition-delay: 0.25s;
  }
}

.p-top-button-external {
  justify-content: space-between;
  padding: 2rem 5rem 2rem 0;
  width: 100%;
  min-height: 8rem;
  font-weight: bold;
  transition: 0.5s;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external {
    min-height: 9rem;
    padding: 2.5rem 6rem 2.5rem 0;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external:hover {
    color: #0958C2;
  }
}
.p-top-button-external::after {
  content: "";
  position: absolute;
  right: 0;
  height: 3rem;
  width: 3rem;
  transition: 0.5s;
  z-index: 2;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external::after {
    height: 4rem;
    width: 4rem;
  }
}
.p-top-button-external[target=_blank]::after {
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center/50%;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external[target=_blank]::after {
    background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center/40%;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external[target=_blank]:hover::after {
    background: url(../../assets/img/cmn/cmn_icon_other-window.svg) no-repeat center center/40%;
  }
}
.p-top-button-external[href^=http]::after {
  background: url(../../assets/img/cmn/cmn_icon_external-site-black.svg) no-repeat center center/50%;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external[href^=http]::after {
    background: url(../../assets/img/cmn/cmn_icon_external-site-black.svg) no-repeat center center/40%;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external[href^=http]:hover::after {
    background: url(../../assets/img/cmn/cmn_icon_external-site.svg) no-repeat center center/40%;
  }
}
.p-top-button-external[href*=".pdf"]::after {
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center/50%;
}
.p-top-button-external[href*=".pdf"]:hover::after {
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center/50%;
}
.p-top-button-external[href^="https://www.wdb-g.com/"]::after {
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center/50%;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external[href^="https://www.wdb-g.com/"]::after {
    background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center/40%;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external[href^="https://www.wdb-g.com/"]:hover::after {
    background: url(../../assets/img/cmn/cmn_icon_other-window.svg) no-repeat center center/40%;
  }
}

.p-top-button-external-white {
  justify-content: space-between;
  padding: 2rem 5rem 2rem 0;
  width: 100%;
  min-height: 8rem;
  color: #fff;
  font-weight: bold;
  transition: 0.5s;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external-white {
    min-height: 9rem;
    padding: 2.5rem 6rem 2.5rem 0;
    font-size: 1.8rem;
  }
}
.p-top-button-external-white::after {
  content: "";
  position: absolute;
  right: 0;
  height: 3rem;
  width: 3rem;
  transition: 0.5s;
  z-index: 2;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external-white::after {
    height: 4rem;
    width: 4rem;
  }
}
.p-top-button-external-white[target=_blank]::after {
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_other-window-white.svg) no-repeat center center/50%;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external-white[target=_blank]::after {
    background: url(../../assets/img/cmn/cmn_icon_other-window-white.svg) no-repeat center center/40%;
  }
}
.p-top-button-external-white[href^=http]::after {
  background: url(../../assets/img/cmn/cmn_icon_external-site-white.svg) no-repeat center center/50%;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external-white[href^=http]::after {
    background: url(../../assets/img/cmn/cmn_icon_external-site-white.svg) no-repeat center center/40%;
  }
}
.p-top-button-external-white[href*=".pdf"]::after {
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center/50%;
}
.p-top-button-external-white[href^="https://www.wdb-g.com/"]::after {
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_other-window-white.svg) no-repeat center center/50%;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-external-white[href^="https://www.wdb-g.com/"]::after {
    background: url(../../assets/img/cmn/cmn_icon_other-window-white.svg) no-repeat center center/40%;
  }
}
.p-top-button-external-white:hover {
  opacity: 0.7;
}

.p-top-button-sustainability {
  justify-content: space-between;
  gap: 0.5rem;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 2.5rem;
  width: 100%;
  transition: 0.5s;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-sustainability {
    padding: 4rem 5%;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-button-sustainability:hover {
    color: #0958C2;
  }
}

.p-top-button-sustainability__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  width: calc(100% - 2.5rem - 3rem - 1rem);
}
@media print, screen and (min-width: 960px) {
  .p-top-button-sustainability__text {
    align-items: center;
    flex-direction: row;
    justify-content: flex-start;
    gap: 7%;
    width: 100%;
  }
}

.p-top-button-sustainability__arrow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid #222;
  border-radius: 50%;
  height: 4rem;
  min-width: 4rem;
  background-color: #fff;
  z-index: 2;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-sustainability__arrow-icon {
    border: none;
    background-color: #f8f8f8;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-button-sustainability__arrow-icon::before {
    content: "";
    transform: scale(0.1);
    transition: transform 0.4s;
    border-radius: 50%;
    height: 4rem;
    width: 4rem;
    background-color: #0958C2;
    z-index: 3;
  }
}
.p-top-button-sustainability__arrow-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  opacity: 1;
  transform: translate3d(-50%, -50%, 0px);
  transition: 0.15s;
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-black.svg) no-repeat center center/contain;
  height: 0.8rem;
  width: 0.5rem;
  z-index: 4;
}
@media print, screen and (min-width: 960px) {
  .p-top-button-sustainability__arrow-icon::after {
    background: url(../../assets/img/cmn/cmn_icon_button-arrow-white.svg) no-repeat center center/contain;
    height: 1rem;
    width: 0.6rem;
    opacity: 0;
    transform: translate3d(-50%, -50%, 0px) scale(0);
  }
}

@media print, screen and (min-width: 960px) {
  .p-top-button-sustainability:hover .p-top-button-sustainability__arrow-icon::before {
    transform: scale(1);
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-button-sustainability:hover .p-top-button-sustainability__arrow-icon::after {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0px) scale(1);
    transition-delay: 0.25s;
  }
}

/* 下層ボタン */
/* circle */
/* 共通 */
.p-button-circle-primary-container-error {
  margin-top: 3rem;
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary-container-error {
    margin-top: 4rem;
  }
}

.p-button-circle-primary-container-ir {
  margin-top: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary-container-ir {
    margin-top: 6rem;
  }
}

.p-button-circle-primary-container-ir {
  margin-top: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary-container-ir {
    margin-top: 6rem;
  }
}

.p-button-circle-primary {
  align-items: center;
  gap: 2rem;
  color: #0958C2;
  font-size: 1.8rem;
  font-weight: bold;
  transition: 0.5s;
}
.p-button-circle-primary--title-page {
  display: flex;
  gap: 1rem;
  flex-direction: row;
  justify-content: space-between;
  color: #222;
}
.p-button-circle-primary[target=_blank]::after {
  content: "";
  display: inline-block;
  position: relative;
  margin-right: 0.5rem;
  height: 1.6rem;
  min-width: 1.6rem;
  background: url(../../assets/img/cmn/cmn_icon_other-window.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary[target=_blank]::after {
    margin-right: 0;
    height: 2rem;
    min-width: 2rem;
    background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center/contain;
  }
}
.p-button-circle-primary[target=_blank]:hover::after {
  height: 1.6rem;
  min-width: 1.6rem;
  background: url(../../assets/img/cmn/cmn_icon_other-window.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary[target=_blank]:hover::after {
    height: 2rem;
    min-width: 2rem;
  }
}
.p-button-circle-primary[href^=http]::after {
  height: 1.6rem;
  min-width: 1.6rem;
  background: url(../../assets/img/cmn/cmn_icon_external-site.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary[href^=http]::after {
    height: 2rem;
    min-width: 2rem;
    background: url(../../assets/img/cmn/cmn_icon_external-site-black.svg) no-repeat center center/contain;
  }
}
.p-button-circle-primary[href^=http]:hover::after {
  height: 1.6rem;
  min-width: 1.6rem;
  background: url(../../assets/img/cmn/cmn_icon_external-site.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary[href^=http]:hover::after {
    height: 2rem;
    min-width: 2rem;
  }
}
.p-button-circle-primary[href*=".pdf"]::after {
  height: 2.1rem;
  min-width: 1.8rem;
  margin-bottom: 0.3rem;
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center/contain;
}
.p-button-circle-primary[href*=".pdf"]:hover::after {
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center/contain;
}
.p-button-circle-primary[href^="https://www.wdb-g.com/"]::after {
  height: 1.6rem;
  min-width: 1.6rem;
  margin: 0;
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_other-window.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary[href^="https://www.wdb-g.com/"]::after {
    height: 2rem;
    min-width: 2rem;
    background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center/contain;
  }
}
.p-button-circle-primary[href^="https://www.wdb-g.com/"]:hover::after {
  height: 1.6rem;
  min-width: 1.6rem;
  background: url(../../assets/img/cmn/cmn_icon_other-window.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary[href^="https://www.wdb-g.com/"]:hover::after {
    height: 2rem;
    min-width: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary {
    color: #222;
  }
  .p-button-circle-primary:hover {
    color: #0958C2;
  }
}

.p-button-circle-primary__arrow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid #0958C2;
  border-radius: 50%;
  height: 8rem;
  min-width: 8rem;
  background-color: #fff;
  z-index: 2;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary__arrow-icon {
    border: none;
    background-color: #f8f8f8;
  }
}
.p-button-circle-primary__arrow-icon--title-page {
  height: 4.6rem;
  min-width: 4.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary__arrow-icon--title-page {
    height: 8rem;
    min-width: 8rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary__arrow-icon::before {
    content: "";
    transform: scale(0.1);
    transition: transform 0.4s;
    border-radius: 50%;
    height: 8rem;
    width: 8rem;
    background-color: #0958C2;
    z-index: 3;
  }
}
.p-button-circle-primary__arrow-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  opacity: 1;
  transform: translate3d(-50%, -50%, 0px);
  transition: 0.15s;
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-blue.svg) no-repeat center center/contain;
  height: 1.4rem;
  width: 0.8rem;
  z-index: 4;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary__arrow-icon::after {
    background: url(../../assets/img/cmn/cmn_icon_button-arrow-white.svg) no-repeat center center/contain;
    opacity: 0;
    transform: translate3d(-50%, -50%, 0px) scale(0);
  }
}
.p-button-circle-primary__arrow-icon--title-page::after {
  height: 0.9rem;
  width: 0.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary__arrow-icon--title-page::after {
    height: 1.4rem;
    width: 0.8rem;
  }
}

@media print, screen and (min-width: 960px) {
  .p-button-circle-primary:hover .p-button-circle-primary__arrow-icon::before {
    transform: scale(1);
  }
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-primary:hover .p-button-circle-primary__arrow-icon::after {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0px) scale(1);
    transition-delay: 0.25s;
  }
}

.p-button-circle-secondary-container-mt20 {
  margin-top: 2rem;
}

.p-button-circle-secondary {
  align-items: center;
  gap: 1rem;
  color: #0958C2;
  font-size: 1.6rem;
  font-weight: bold;
  transition: 0.5s;
}
.p-button-circle-secondary[target=_blank]::after {
  content: "";
  display: inline-block;
  position: relative;
  height: 1.2rem;
  min-width: 1.2rem;
  background: url(../../assets/img/cmn/cmn_icon_other-window.svg) no-repeat center center;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary[target=_blank]::after {
    background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
  }
}
.p-button-circle-secondary[target=_blank]:hover::after {
  background: url(../../assets/img/cmn/cmn_icon_other-window.svg) no-repeat center center;
}
.p-button-circle-secondary[href^=http]::after {
  height: 1.3rem;
  min-width: 1.3rem;
  background: url(../../assets/img/cmn/cmn_icon_external-site.svg) no-repeat center center;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary[href^=http]::after {
    background: url(../../assets/img/cmn/cmn_icon_external-site-black.svg) no-repeat center center;
  }
}
.p-button-circle-secondary[href^=http]:hover::after {
  background: url(../../assets/img/cmn/cmn_icon_external-site.svg) no-repeat center center;
}
.p-button-circle-secondary[href*=".pdf"]::after {
  height: 2.1rem;
  min-width: 1.8rem;
  margin-bottom: 0.3rem;
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center;
}
.p-button-circle-secondary[href*=".pdf"]:hover::after {
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center;
}
.p-button-circle-secondary[href^="https://www.wdb-g.com/"]::after {
  height: 1.2rem;
  min-width: 1.2rem;
  margin: 0;
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_other-window.svg) no-repeat center center;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary[href^="https://www.wdb-g.com/"]::after {
    background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
  }
}
.p-button-circle-secondary[href^="https://www.wdb-g.com/"]:hover::after {
  background: url(../../assets/img/cmn/cmn_icon_other-window.svg) no-repeat center center;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary {
    color: #222;
  }
  .p-button-circle-secondary:hover {
    color: #0958C2;
  }
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary--ir {
    gap: 2rem;
    font-size: 1.8rem;
  }
}
.p-button-circle-secondary--white {
  color: #fff;
}
.p-button-circle-secondary--in-box {
  color: #0958C2;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary--in-box:hover {
    opacity: 0.7;
  }
}
.p-button-circle-secondary--in-box[href^=http]::after {
  background: url(../../assets/img/cmn/cmn_icon_external-site.svg) no-repeat center center;
}

.p-button-circle-secondary__arrow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid #0958C2;
  border-radius: 50%;
  height: 4.6rem;
  min-width: 4.6rem;
  background-color: #fff;
  z-index: 2;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary__arrow-icon {
    border: none;
    background-color: #f8f8f8;
  }
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary__arrow-icon--ir {
    height: 8rem;
    min-width: 8rem;
  }
}
.p-button-circle-secondary__arrow-icon--in-box {
  border: 1px solid #0958C2;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary__arrow-icon::before {
    content: "";
    transform: scale(0.12);
    transition: 0.4s;
    border-radius: 50%;
    height: 4.6rem;
    width: 4.6rem;
    background-color: #0958C2;
    z-index: 3;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary__arrow-icon--ir::before {
    transform: scale(0.1);
    height: 8rem;
    width: 8rem;
  }
}
.p-button-circle-secondary__arrow-icon--in-box::before {
  display: none;
}
.p-button-circle-secondary__arrow-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  opacity: 1;
  transform: translate3d(-50%, -50%, 0px);
  transition: 0.15s;
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-blue.svg) no-repeat center center/contain;
  height: 0.9rem;
  width: 0.5rem;
  z-index: 4;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary__arrow-icon::after {
    background: url(../../assets/img/cmn/cmn_icon_button-arrow-white.svg) no-repeat center center/contain;
    transform: translate3d(-50%, -50%, 0px) scale(0);
  }
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary__arrow-icon--ir::after {
    height: 1.4rem;
    width: 0.8rem;
  }
}
.p-button-circle-secondary__arrow-icon--in-box::after {
  transform: translate3d(-50%, -50%, 0px) scale(1);
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-blue.svg) no-repeat center center/contain;
}

@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary:hover .p-button-circle-secondary__arrow-icon::before {
    transform: scale(1);
  }
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary:hover .p-button-circle-secondary__arrow-icon::after {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0px) scale(1);
    transition-delay: 0.25s;
  }
}

@media print, screen and (min-width: 960px) {
  .p-button-circle-secondary--ir:hover .p-button-circle-secondary__arrow-icon::before {
    transform: scale(1);
  }
}

/* arrow */
.p-button-arrow-container-col1 {
  max-width: 39rem;
  margin: 0 auto;
}

.p-button-arrow-container-col2 {
  display: grid;
  gap: 3rem;
  max-width: 39rem;
  margin: 0 auto;
}
@media print, screen and (min-width: 960px) {
  .p-button-arrow-container-col2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 8rem;
    max-width: 84.5rem;
  }
}

.p-button-arrow {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #222;
  border-radius: 5px;
  padding: 2.6rem 5.1rem 2.6rem 2.5rem;
  width: 100%;
  color: #222;
  font-weight: bold;
  word-break: break-word;
  transition: 0.3s;
}
@media print, screen and (min-width: 960px) {
  .p-button-arrow {
    padding: 3.5rem 6.1rem 3.5rem 3.5rem;
    font-size: 1.8rem;
  }
}
.p-button-arrow::after {
  display: inline-block;
  content: "";
  position: absolute;
  right: 2.5rem;
  top: calc(50% - 0.5rem);
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-black.svg) no-repeat center center;
  height: 1.3rem;
  width: 0.8rem;
  vertical-align: middle;
}
.p-button-arrow[target=_blank]::after {
  height: 1.2rem;
  width: 1.2rem;
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
}
.p-button-arrow[href^=http]::after {
  height: 1.3rem;
  width: 1.3rem;
  background: url(../../assets/img/cmn/cmn_icon_external-site-black.svg) no-repeat center center;
}
.p-button-arrow[href*=".pdf"]::after {
  top: calc(50% - 1rem);
  height: 2.1rem;
  width: 1.8rem;
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center;
}
.p-button-arrow[href^="https://www.wdb-g.com/"]::after {
  top: calc(50% - 0.5rem);
  height: 1.2rem;
  width: 1.2rem;
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
}
@media print, screen and (min-width: 960px) {
  .p-button-arrow:hover {
    background-color: #0958C2;
    border: 1px solid #0958C2;
    color: #fff;
  }
  .p-button-arrow:hover::after {
    background: url(../../assets/img/cmn/cmn_icon_button-arrow-white.svg) no-repeat center center/contain;
  }
  .p-button-arrow:hover[target=_blank]::after {
    height: 1.2rem;
    width: 1.2rem;
    background: url(../../assets/img/cmn/cmn_icon_other-window-white.svg) no-repeat center center;
  }
  .p-button-arrow:hover[href^=http]::after {
    height: 1.3rem;
    width: 1.3rem;
    background: url(../../assets/img/cmn/cmn_icon_external-site-white.svg) no-repeat center center;
  }
  .p-button-arrow:hover[href*=".pdf"]::after {
    top: calc(50% - 1rem);
    height: 2.1rem;
    width: 1.8rem;
    vertical-align: middle;
    background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center;
  }
  .p-button-arrow:hover[href^="https://www.wdb-g.com/"]::after {
    top: calc(50% - 0.5rem);
    height: 1.2rem;
    width: 1.2rem;
    background: url(../../assets/img/cmn/cmn_icon_other-window-white.svg) no-repeat center center;
  }
}
.p-button-arrow--strategy {
  display: block;
  padding-block: 1.75rem;
}

/* 個別ボタン（3カラム） */
.p-button-circle-col3 {
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  flex-grow: 1;
  width: 100%;
  font-size: 1.8rem;
  font-weight: bold;
  transition: 0.5s;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-col3:hover {
    color: #0958C2;
  }
}

.p-button-circle-col3__title {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: calc(100% - 3.5rem - 1rem);
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-col3__title {
    height: 100%;
  }
}

.p-button-circle-col3__arrow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid #0958C2;
  border-radius: 50%;
  height: 3.5rem;
  min-width: 3.5rem;
  background-color: #fff;
  z-index: 2;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-col3__arrow-icon {
    height: 4.6rem;
    min-width: 4.6rem;
    border: none;
    background-color: #f8f8f8;
  }
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-col3__arrow-icon::before {
    content: "";
    transform: scale(0.1);
    transition: transform 0.4s;
    border-radius: 50%;
    height: 4.6rem;
    width: 4.6rem;
    background-color: #0958C2;
    z-index: 3;
  }
}
.p-button-circle-col3__arrow-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  opacity: 1;
  transform: translate3d(-50%, -50%, 0px);
  transition: 0.15s;
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-blue.svg) no-repeat center center/contain;
  height: 0.6rem;
  width: 0.4rem;
  z-index: 4;
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-col3__arrow-icon::after {
    background: url(../../assets/img/cmn/cmn_icon_button-arrow-white.svg) no-repeat center center/contain;
    height: 0.8rem;
    width: 0.5rem;
    opacity: 0;
    transform: translate3d(-50%, -50%, 0px) scale(0);
  }
}

@media print, screen and (min-width: 960px) {
  .p-button-circle-col3:hover .p-button-circle-col3__arrow-icon::before {
    transform: scale(1);
  }
}
@media print, screen and (min-width: 960px) {
  .p-button-circle-col3:hover .p-button-circle-col3__arrow-icon::after {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0px) scale(1);
    transition-delay: 0.25s;
  }
}

/* management-policy */
.p-button-management-policy {
  gap: 2rem;
  color: #fff;
  font-weight: bold;
  line-height: 2.5;
  transition: 0.5s;
}
@media print, screen and (min-width: 960px) {
  .p-button-management-policy {
    font-size: 1.8rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-button-management-policy:hover {
    opacity: 0.7;
  }
}

.p-button-management-policy__arrow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 50%;
  height: 4.6rem;
  min-width: 4.6rem;
  background-color: #fff;
  z-index: 2;
}
@media print, screen and (min-width: 960px) {
  .p-button-management-policy__arrow-icon {
    height: 8rem;
    min-width: 8rem;
  }
}
.p-button-management-policy__arrow-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  opacity: 1;
  transform: translate3d(-50%, -50%, 0px);
  transition: 0.15s;
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-black.svg) no-repeat center center/contain;
  height: 0.9rem;
  width: 0.5rem;
  z-index: 4;
}
@media print, screen and (min-width: 960px) {
  .p-button-management-policy__arrow-icon::after {
    height: 1.4rem;
    width: 0.8rem;
  }
}

/* page-top-button */
.p-page-top-button {
  position: fixed;
  right: 1rem;
  bottom: 7rem;
  display: none;
  width: 4rem;
  height: 4rem;
  border: 1px solid #0958C2;
  border-radius: 50%;
  background-color: #fff;
  z-index: 50;
}
@media print, screen and (min-width: 960px) {
  .p-page-top-button {
    right: 4.15rem;
    bottom: 10rem;
    height: 8rem;
    width: 8rem;
  }
}
.p-page-top-button::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  height: 1.3rem;
  width: 0.6rem;
  transform: translate(-50%, -50%) rotate(-90deg);
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-blue.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-page-top-button::after {
    height: 1.5rem;
    width: 0.9rem;
  }
}
@media print {
  .p-page-top-button {
    display: none;
  }
}

/* link */
/* cmn */
.p-link-more-container {
  margin-top: 2rem;
}
.p-link-more-container--right {
  text-align: right;
}

.p-link-more-container-ir {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-link-more-container-ir {
    position: absolute;
    bottom: 0;
    left: 0;
    flex-direction: row;
    gap: 4rem;
    margin-top: 0;
    padding-left: 2rem;
  }
}

.p-link-more {
  display: inline-block;
  position: relative;
  padding-left: 2.3rem;
}
.p-link-more::before {
  position: absolute;
  content: "";
  display: block;
  left: 0;
  top: 0.6rem;
  height: 1.4rem;
  width: 0.8rem;
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-black.svg) no-repeat center center/contain;
}
.p-link-more--fs14 {
  font-size: 1.4rem;
  padding-left: 2.2rem;
}
.p-link-more--fs14::before {
  height: 1.2rem;
  width: 0.7rem;
}
.p-link-more--local-nav-ir {
  font-size: 1.2rem;
  padding-left: 2.1rem;
}
@media print, screen and (min-width: 520px) {
  .p-link-more--local-nav-ir {
    font-size: 1.6rem;
  }
}
.p-link-more--local-nav-ir::before {
  top: 0.5rem;
  height: 1rem;
  width: 0.6rem;
}
@media print, screen and (min-width: 520px) {
  .p-link-more--local-nav-ir::before {
    top: 0.8rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-link-more:hover {
    color: #0958C2;
    text-decoration: underline;
  }
}
.p-link-more[target=_blank]::after {
  content: "";
  display: inline-block;
  position: relative;
  height: 1.2rem;
  width: 1.2rem;
  margin: 0 0 0 1rem;
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
}
.p-link-more[href^=http]::after {
  height: 1.3rem;
  width: 1.3rem;
  background: url(../../assets/img/cmn/cmn_icon_external-site-black.svg) no-repeat center center;
}
.p-link-more[href*=".pdf"]::after {
  height: 2.1rem;
  width: 1.8rem;
  margin: 0 0 0.3rem 1rem;
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center;
}
.p-link-more[href^="https://www.wdb-g.com/"]::after {
  height: 1.2rem;
  width: 1.2rem;
  margin: 0 0 0 1rem;
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_other-window-black.svg) no-repeat center center;
}
.p-link-more--white {
  color: #fff;
}
.p-link-more--white::before {
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-white.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-link-more--white:hover {
    opacity: 0.7;
    color: #fff;
    text-decoration: none;
  }
}
.p-link-more--white[target=_blank]::after {
  content: "";
  display: inline-block;
  position: relative;
  height: 1.2rem;
  width: 1.2rem;
  margin: 0 0 0 1rem;
  background: url(../../assets/img/cmn/cmn_icon_other-window-white.svg) no-repeat center center;
}
.p-link-more--white[href^=http]::after {
  height: 1.3rem;
  width: 1.3rem;
  background: url(../../assets/img/cmn/cmn_icon_external-site-white.svg) no-repeat center center;
}
.p-link-more--white[href*=".pdf"]::after {
  height: 2.1rem;
  width: 1.8rem;
  margin: 0 0 0.3rem 1rem;
  vertical-align: middle;
  background: url(../../assets/img/cmn/cmn_icon_pdf.svg) no-repeat center center;
}
.p-link-more--white[href^="https://www.wdb-g.com/"]::after {
  height: 1.2rem;
  width: 1.2rem;
  margin: 0 0 0 1rem;
  vertical-align: baseline;
  background: url(../../assets/img/cmn/cmn_icon_other-window-white.svg) no-repeat center center;
}

/* img */
.p-img-radius05 {
  border-radius: 5px;
}

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

.p-img-area {
  width: 100%;
  max-width: 70rem;
  margin: 0 auto;
}
@media print, screen and (min-width: 960px) {
  .p-img-area {
    width: 70%;
  }
}
@media print, screen and (min-width: 520px) {
  .p-img-area--max-width400 {
    max-width: 40rem;
  }
}
@media print, screen and (min-width: 520px) {
  .p-img-area--max-width600 {
    max-width: 60rem;
  }
}

.p-img-border {
  border: 1px solid #222;
  width: 100%;
}

/* icon */
/* フォントサイズが異なるアイコン時に、ここに追記 */
.p-icon::after {
  content: "";
  display: inline-block;
  margin-left: 2.5rem;
}
.p-icon--local-top-title-external-site::after {
  height: 1.3rem;
  width: 1.3rem;
  background: url(../../assets/img/cmn/cmn_icon_external-site-dark-blue.svg) no-repeat center/cover;
}
@media print, screen and (min-width: 960px) {
  .p-icon--local-top-title-external-site::after {
    height: 1.8rem;
    width: 1.8rem;
  }
}
.p-icon--lower-top-title-other-window::after {
  height: 1.2rem;
  width: 1.2rem;
  background: url(../../assets/img/cmn/cmn_icon_other-window-dark-blue.svg) no-repeat center/cover;
}
@media print, screen and (min-width: 960px) {
  .p-icon--lower-top-title-other-window::after {
    height: 1.4rem;
    width: 1.4rem;
  }
}

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

.p-ul-list__item {
  flex-basis: 100%;
  position: relative;
  padding-left: 2.2rem;
}
.p-ul-list__item::before {
  content: "";
  position: absolute;
  left: 0.6rem;
  top: 1rem;
  border-radius: 50%;
  display: block;
  height: 0.6rem;
  width: 0.6rem;
  background-color: #222;
}

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

.p-ol-list__item {
  position: relative;
  padding-left: 3.5rem;
}
.p-ol-list__item + .p-ol-list__item {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-ol-list__item + .p-ol-list__item {
    margin-top: 2.5rem;
  }
}
.p-ol-list__item > .p-ol-list {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-ol-list__item > .p-ol-list {
    margin-top: 2.5rem;
  }
}
.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 + .p-ol-list__item--round {
  margin-top: 0;
}
.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 + .p-ol-list__item--brackets {
  margin-top: 0;
}
.p-ol-list__item--brackets::before {
  content: "(" counter(ol-number) ")";
  height: 2.4rem;
  width: 3.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-ol-list__item--cjk + .p-ol-list__item--cjk {
    margin-top: 1.5rem;
  }
}
.p-ol-list__item--cjk::before {
  content: counter(ol-number, cjk-ideographic);
  height: 1.7rem;
  width: 1.7rem;
}
@media print, screen and (min-width: 960px) {
  .p-ol-list__item--cjk-eng + .p-ol-list__item--cjk-eng {
    margin-top: 1.5rem;
  }
}
.p-ol-list__item--cjk-eng::before {
  content: "(" counter(ol-number, lower-roman) ")";
  height: 2.4rem;
  width: 3.5rem;
}

/* table */
.p-table {
  border: 1px solid #ccc;
  border-spacing: 0;
  border-left: none;
  border-top: none;
  width: 100%;
  text-align: left;
  word-break: break-word;
}
.p-table--layout-fixed {
  table-layout: fixed;
}
.p-table--scroll {
  min-width: 92rem;
  width: 100%;
}

.p-table__item {
  border-top: 1px solid #ccc;
  padding: 1rem;
  background-color: #fff;
  vertical-align: top;
}
@media print, screen and (min-width: 960px) {
  .p-table__item {
    padding: 1.5rem 2rem;
  }
}
.p-table__item + .p-table__item {
  border-left: 1px solid #ccc;
}
.p-table__item:first-child {
  border-left: 1px solid #ccc;
}
.p-table__item > * + * {
  margin-top: 1rem;
}
.p-table__item--heading {
  background-color: #f8f8f8;
  font-weight: bold;
}
.p-table__item--ta-center {
  text-align: center;
}
.p-table__item--right {
  text-align: right;
  vertical-align: middle;
}
.p-table__item--number {
  text-align: right;
  vertical-align: middle;
}
.p-table__item--width5 {
  width: 5%;
}
.p-table__item--width7 {
  width: 7%;
}
.p-table__item--width10 {
  width: 10%;
}
.p-table__item--width15 {
  width: 15%;
}
.p-table__item--width16 {
  width: 16%;
}
.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 #ccc;
  border-collapse: collapse;
  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 #ccc;
}

.p-responsive-table-data {
  padding: 1.5rem 2rem;
  background-color: #fff;
}
.p-responsive-table-data + .p-responsive-table-data {
  border-top: 1px solid #ccc;
}
@media print, screen and (min-width: 960px) {
  .p-responsive-table-data + .p-responsive-table-data {
    border-top: none;
    border-left: 1px solid #ccc;
  }
}
.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 #ccc;
}
@media print, screen and (min-width: 960px) {
  .p-definition-list {
    display: flex;
    flex-wrap: wrap;
  }
}

.p-definition-list__title {
  width: 100%;
  padding: 1.5rem 2rem;
  background-color: #f8f8f8;
  font-weight: bold;
}
@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 #ccc;
  padding: 1.5rem 2rem;
  width: 100%;
  vertical-align: middle;
}
@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 #ccc;
}
@media print, screen and (min-width: 960px) {
  .p-definition-list__title + .p-definition-list__content {
    border-left: 1px solid #ccc;
  }
}

.p-definition-list__content + .p-definition-list__title {
  border-top: 1px solid #ccc;
}
@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;
  }
}
/* fix-table */
.p-column-fix-table {
  border-collapse: separate;
  border-spacing: 0;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  text-align: left;
  min-width: 92rem;
  width: 100%;
}
.p-column-fix-table--layout-fixed {
  table-layout: fixed;
}
.p-column-fix-table--font-s {
  font-size: 1.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-column-fix-table--font-s {
    font-size: 1.6rem;
  }
}

.p-column-fix-table__row-data {
  padding: 1rem;
  border-top: 1px solid #ccc;
  vertical-align: top;
}
.p-column-fix-table__row-data--emphasis {
  font-weight: bold;
}
.p-column-fix-table__row-data--center {
  text-align: center;
  vertical-align: middle;
}
.p-column-fix-table__row-data--ai-center {
  vertical-align: middle;
}
.p-column-fix-table__row-data--ai-top {
  vertical-align: top;
}
.p-column-fix-table__row-data + .p-column-fix-table__row-data {
  border-left: 1px solid #ccc;
}
.p-column-fix-table__row-data--fix-heading {
  position: sticky;
  top: 0;
  left: 0;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
  background-color: #f8f8f8;
  font-weight: normal;
  z-index: 1;
}
@media print {
  .p-column-fix-table__row-data--fix-heading {
    position: static;
  }
}
.p-column-fix-table__row-data--fix-heading + .p-column-fix-table__row-data {
  border-left: none;
}
.p-column-fix-table__row-data--fix-heading-emphasis, .p-column-fix-table__row-data--fix-data {
  position: sticky;
  top: 0;
  left: 0;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
  z-index: 1;
}
@media print {
  .p-column-fix-table__row-data--fix-heading-emphasis, .p-column-fix-table__row-data--fix-data {
    position: static;
  }
}
.p-column-fix-table__row-data--fix-heading-emphasis + .p-column-fix-table__row-data, .p-column-fix-table__row-data--fix-data + .p-column-fix-table__row-data {
  border-left: none;
}
.p-column-fix-table__row-data--fix-heading-emphasis {
  background-color: #f8f8f8;
}
.p-column-fix-table__row-data--fix-data {
  background-color: #fff;
}
.p-column-fix-table__row-data--heading-emphasis {
  background-color: #f8f8f8;
  border-left: 1px solid #ccc;
}
.p-column-fix-table__row-data--heading-emphasis + .p-column-fix-table__row-data:first-of-type {
  border-left: none;
}
.p-column-fix-table__row-data--heading {
  background-color: #f8f8f8;
  font-weight: normal;
  border-left: 1px solid #ccc;
}
.p-column-fix-table__row-data--heading + .p-column-fix-table__row-data:first-of-type {
  border-left: none;
}
.p-column-fix-table__row-data--width5 {
  width: 5%;
}
.p-column-fix-table__row-data--width10 {
  width: 10%;
}
.p-column-fix-table__row-data--width-sp10-pc15 {
  width: 10%;
}
@media print, screen and (min-width: 960px) {
  .p-column-fix-table__row-data--width-sp10-pc15 {
    width: 15%;
  }
}
.p-column-fix-table__row-data--width15 {
  width: 15%;
}
.p-column-fix-table__row-data--width20 {
  width: 20%;
}
.p-column-fix-table__row-data--width25 {
  width: 25%;
}
.p-column-fix-table__row-data--width30 {
  width: 30%;
}
.p-column-fix-table__row-data--width35 {
  width: 35%;
}
.p-column-fix-table__row-data--width40 {
  width: 40%;
}
.p-column-fix-table__row-data--width45 {
  width: 45%;
}
.p-column-fix-table__row-data--width50 {
  width: 50%;
}

/* contact-table */
.p-contact-table {
  border: solid #ccc;
  border-width: 1px;
}
@media print, screen and (min-width: 960px) {
  .p-contact-table {
    display: flex;
    flex-wrap: wrap;
    border-width: 1px 0 1px 0;
  }
}

.p-contact-table__title {
  width: 100%;
  padding: 1rem;
  background-color: #f8f8f8;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-contact-table__title {
    width: 30%;
    padding: 1.5rem 2rem;
  }
}

.p-contact-table__content {
  width: 100%;
  padding: 1rem;
  vertical-align: middle;
}
@media print, screen and (min-width: 960px) {
  .p-contact-table__content {
    width: 70%;
    padding: 1.5rem 2rem;
  }
}

@media print, screen and (min-width: 960px) {
  .p-contact-table__title + .p-contact-table__content {
    border-top: 1px solid #ccc;
  }
}

.p-contact-table__content + .p-contact-table__title {
  border-top: 1px solid #ccc;
}
@media print, screen and (min-width: 960px) {
  .p-contact-table__content:first-of-type {
    border-top: none;
  }
}

@media print, screen and (min-width: 960px) {
  .p-contact-table__content:first-of-type {
    border-top: none;
  }
}
/* テーブル */
.p-job-table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

/* 列幅 */
.p-job-table__col--department {
  width: 15rem;
}
.p-job-table__col--role {
  width: 26rem;
}
.p-job-table__col--location {
  width: 16rem;
}
.p-job-table__col--requirement {
  width: 11rem;
}

/* ヘッダー */
.p-job-table-header {
  position: sticky;
  top: 10rem;
  background-color: #fff;
  color: #fff;
  font-weight: bold;
  text-align: center;
  z-index: 10;
}

.p-job-table-header__row {
  background-color: #fff;
}
.p-job-table-header__row + .p-job-table-header__row .p-job-table-header__thead {
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  padding: 0.5rem;
  font-size: 1.6rem;
}

.p-job-table-header__thead {
  padding: 1rem;
  background-color: #3f69a9;
  font-size: 1.8rem;
}
.p-job-table-header__thead + .p-job-table-header__thead {
  border-left: 2px solid #fff;
}
.p-job-table-header__thead--blank {
  border-left: 2px solid #3f69a9;
}
.p-job-table-header__thead--requirement {
  background-color: #001752;
}

/* コンテンツ部分 */
.p-job-table-body__row {
  background-color: #fff;
}

.p-job-table-body__thead,
.p-job-table-body__tdata {
  border-top: 2px solid #707070;
  border-left: 2px solid #707070;
  font-size: 1.5rem;
}

.p-job-table-body__thead {
  padding: 0.5rem;
  background-color: #fff;
  text-align: center;
}
.p-job-table-body__thead--last {
  border-bottom: 2px solid #707070;
}

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

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

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

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

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

.p-topics-tab__heading {
  position: relative;
  width: 100%;
}
.p-topics-tab__heading::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 0.2rem;
  width: 100%;
  border-radius: 2px;
  background-color: #ccc;
}
.p-topics-tab__heading--top {
  display: grid;
  align-items: stretch;
  grid-template-columns: repeat(auto-fit, minmax(33.3333333333%, 1fr));
}
.p-topics-tab__heading--top::before {
  bottom: -0.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-topics-tab__heading--top {
    display: block;
    justify-content: flex-start;
  }
}
.p-topics-tab__heading--ir {
  padding-bottom: 2rem;
}

.p-topics-tab__heading-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.5rem 1rem;
  max-width: 32rem;
  background-color: #fff;
  color: #222;
  font-size: 1.4rem;
  line-height: 1.6;
}
.p-topics-tab__heading-item[aria-selected=true] {
  font-weight: bold;
}
.p-topics-tab__heading-item[aria-selected=true]::after {
  content: "";
  position: absolute;
  bottom: -0.2rem;
  left: 0;
  height: 0.2rem;
  width: 100%;
  border-radius: 2px;
  background-color: #0958C2;
}
@media print, screen and (min-width: 960px) {
  .p-topics-tab__heading-item[aria-selected=true]::after {
    left: 4rem;
    width: calc(100% - 8rem);
  }
}
@media print, screen and (min-width: 960px) {
  .p-topics-tab__heading-item {
    display: inline-block; /* または inline, 初期状態に応じて */
    align-items: normal;
    justify-content: normal;
    padding: 2rem 4rem;
    max-width: 100%;
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.p-topics-tab__heading-item:first-child {
  padding-left: 0;
}
@media print, screen and (min-width: 960px) {
  .p-topics-tab__heading-item:first-child::after {
    left: 0;
    width: calc(100% - 4rem);
  }
}
.p-topics-tab__heading-item:last-child {
  padding-right: 0;
}
@media print, screen and (min-width: 960px) {
  .p-topics-tab__heading-item:last-child {
    padding-right: 4rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-topics-tab__heading-item:last-child::after {
    width: calc(100% - 8rem);
  }
}
@media print, screen and (min-width: 960px) {
  .p-topics-tab__heading-item:hover {
    color: #0958C2;
  }
}

.p-topics-tab__content {
  padding-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-topics-tab__content {
    padding-top: 2.5rem;
  }
}
.p-topics-tab__content.is-hidden {
  display: none;
}

.p-tab {
  position: relative;
  border-radius: 5px;
}
.p-tab + * {
  margin-top: 6rem;
}
@media print, screen and (min-width: 960px) {
  .p-tab + * {
    margin-top: 8rem;
  }
}

.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;
}
@media print, screen and (min-width: 520px) {
  .p-tab__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media print, screen and (min-width: 520px) {
  .p-tab__list--ir {
    grid-template-columns: 4.5fr 3fr 2.5fr;
  }
}

.p-tab__link {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid #222;
  padding: 1.5rem min(6%, 2rem);
  background-color: #f5f9ff;
  text-align: center;
  word-break: auto-phrase;
  overflow: auto;
}
@media print, screen and (min-width: 520px) {
  .p-tab__link {
    font-size: 1.8rem;
  }
}
.p-tab__link:first-child {
  border-radius: 5px 5px 0 0;
}
@media print, screen and (min-width: 520px) {
  .p-tab__link:first-child {
    border-radius: 5px 0 0 5px;
  }
}
.p-tab__link:last-child {
  border-radius: 0 0 5px 5px;
}
@media print, screen and (min-width: 520px) {
  .p-tab__link:last-child {
    border-radius: 0 5px 5px 0;
  }
}
.p-tab__link + .p-tab__link:nth-child(n+2) {
  border-top: none;
}
@media print, screen and (min-width: 520px) {
  .p-tab__link + .p-tab__link:nth-child(n+2) {
    border-top: 1px solid #222;
  }
  .p-tab__link + .p-tab__link:nth-child(n+2) {
    border-left: none;
  }
}
@media print, screen and (min-width: 960px) {
  .p-tab__link:hover {
    opacity: 0.7;
  }
}
.p-tab__link.is-current {
  background-color: #0958C2;
  color: #fff;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-tab__link.is-current:hover {
    opacity: 0.7;
  }
}

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

/* annotation */
.p-annotation {
  font-size: 1.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-annotation {
    font-size: 1.3rem;
  }
}
.p-annotation--message {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-annotation--message {
    margin-top: 3rem;
  }
}

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

.p-accordion__header {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  position: relative;
  cursor: pointer;
  padding: 2.2rem 6.6rem 2.2rem 2rem;
  color: #222;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-accordion__header {
    gap: 2rem;
    padding: 2.2rem 8.6rem 2.2rem 3rem;
  }
}
.js-details.is-opened .p-accordion__header {
  background-color: #0958C2;
  color: #fff;
}
.p-accordion__header::-webkit-details-marker, .p-accordion__header::marker {
  display: none;
}

.p-accordion__mark {
  display: grid;
  place-items: center;
  border-radius: 50%;
  height: 3.6rem;
  width: 3.6rem;
  min-width: 3.6rem;
  background: #0958C2;
  color: #fff;
  font-size: 2rem;
  font-weight: normal;
}
@media print, screen and (min-width: 960px) {
  .p-accordion__mark {
    height: 4.6rem;
    width: 4.6rem;
    min-width: 4.6rem;
  }
}
.js-details.is-opened .p-accordion__mark {
  background-color: #fff;
  color: #0958C2;
}

.p-accordion__arrow-icon {
  position: absolute;
  right: 2rem;
  top: calc(50% - 1.8rem);
  border: 1px solid #0958C2;
  border-radius: 50%;
  height: 3.6rem;
  width: 3.6rem;
  transition: 0.2s;
  background: url(../../assets/img/cmn/cmn_icon_arrow-faq.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-accordion__arrow-icon {
    right: 3rem;
    top: calc(50% - 2.3rem);
    height: 4.6rem;
    width: 4.6rem;
  }
}
.js-details.is-opened .p-accordion__arrow-icon {
  transform: rotate(180deg);
  transition: 0.2s;
}

.p-accordion__content {
  overflow: hidden;
}

.p-accordion__content-inner {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 2.5rem 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-accordion__content-inner {
    padding: 3rem;
  }
}

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

.p-modal-container {
  display: flex;
  flex-direction: column;
  position: relative;
  border-radius: 4px;
  height: auto;
  max-height: 85dvh;
  max-width: 80rem;
  margin: 0 auto;
  background-color: #fff;
}

.p-modal {
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  padding: 3rem;
  height: 100%;
  width: 100%;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s;
  z-index: 100;
}
.p-modal .p-modal-container {
  transition: opacity 0.5s, visibility 0.5s, bottom 0.5s;
  overflow: hidden;
}
.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--black {
  opacity: 1;
}

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

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

.p-modal-header__close {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: "Noto Sans JP";
}

.p-modal-content {
  padding: 1rem 2rem;
  min-height: 10rem;
  overflow-y: auto;
}
@media print, screen and (min-width: 960px) {
  .p-modal-content {
    padding: 2rem;
  }
}

.p-modal-content__item {
  font-size: 1.6rem;
  margin-bottom: 1rem;
}

.p-modal-content__image {
  max-width: 45rem;
  margin: 0 auto;
  border-radius: 5px;
  overflow: hidden;
}

.p-modal-content__image--map {
  max-width: 60rem;
  border-radius: 0;
  overflow: visible;
}

/* video-speed-modal */
.p-modal-video-speed {
  display: grid;
  place-content: center;
  border-bottom: 1px solid #ccc;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-modal-video-speed {
    display: none;
  }
}

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

.p-modal-video-speed-annotation--lv01 {
  margin-top: 1rem;
}
.p-modal-video-speed-annotation--lv02 {
  margin-top: 2rem;
}
.p-modal-video-speed-annotation--right {
  text-align: right;
}
.p-modal-video-speed-annotation--about {
  margin-top: 0.12rem;
}

@media print, screen and (min-width: 960px) {
  .p-modal-video-speed-annotation__fs-small {
    font-size: 1.2rem;
  }
}

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

.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: 2.5rem;
  margin-top: 1.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-video-speed-modal-section__content {
    gap: 3rem;
  }
}

.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: 2.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-video-speed-modal-section__img {
    gap: 3rem;
    margin: 0 auto;
    max-width: 60rem;
  }
}

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

/* movie */
.p-modal-movie-container-col1 {
  overflow: hidden;
  margin: 0 auto;
}
@media print, screen and (min-width: 520px) {
  .p-modal-movie-container-col1 {
    max-width: 60rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie-container-col1 {
    max-width: 80rem;
  }
}

.p-modal-movie__thumbnail-radius05 {
  border-radius: 5px;
}

.p-modal-movie__thumbnail-radius {
  border-radius: 10px;
}

.p-modal-movie {
  position: relative;
  border-radius: 5px;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie:hover {
    opacity: 0.7;
  }
}
.p-modal-movie--no-bg {
  background-color: transparent;
}

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

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

/* 時間ラベル */
.c-modal-open {
  display: block;
  position: relative;
  width: 100%;
}

.p-modal-movie__time {
  position: absolute;
  bottom: 0.4rem;
  right: 0.4rem;
  padding: 0.2rem 1rem;
  background-color: #000;
  border-radius: 14px;
  color: #fff;
  font-feature-settings: "palt";
  font-size: 1.2rem;
  z-index: 50;
}
@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-band-container {
  width: 100vw;
  margin-left: -2rem;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie-band-container {
    width: auto;
    margin-left: 0;
  }
}

.p-modal-movie-band {
  display: flex;
  justify-content: center;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie-band {
    border-radius: 5px;
  }
}
.p-modal-movie-band--recruit {
  background-color: #00367e;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie-band--recruit {
    border: none;
  }
}

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

.p-modal-movie-band__text {
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: left;
}
@media print, screen and (min-width: 960px) {
  .p-modal-movie-band__text {
    font-size: 2.8rem;
  }
}

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

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

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

.p-video-modal {
  opacity: 0;
  visibility: hidden;
  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--black {
  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 {
  padding: 1rem 0;
  color: #fff;
  font-family: "Noto Sans JP";
  text-align: right;
}

/* 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;
  }
}
/* label */
.p-label-top-english {
  display: inline-block;
  border: 1px solid #222;
  border-radius: 3px;
  padding: 0.3rem 1rem;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.p-label-top-english:hover {
  opacity: 0.7;
}

.p-label-company {
  position: relative;
}
.p-label-company::after {
  display: inline-block;
  border-radius: 2px;
  margin-left: 1rem;
  padding: 0.2rem 0;
  width: 7.6rem;
  color: #fff;
  font-size: 1rem;
  line-height: 2rem;
  text-align: center;
  vertical-align: top;
}
@media print, screen and (min-width: 960px) {
  .p-label-company::after {
    margin-left: 2.2rem;
    vertical-align: middle;
  }
}
.p-label-company--wdbg::after {
  content: "WDBG";
  background-color: #004ea2;
}
.p-label-company--wdb::after {
  content: "WDB";
  background-color: #3585df;
}
.p-label-company--eureka::after {
  content: "エウレカ";
  background-color: #00a3bc;
}
.p-label-company--kougaku::after {
  content: "工学";
  background-color: #0dc588;
}
.p-label-company--coco::after {
  content: "ココ";
  background-color: #03c5ca;
}
.p-label-company--cobridge::after {
  content: "コーブリッジ";
  background-color: #855fd1;
}
.p-label-company--medfiles::after {
  content: "Medfiles";
  background-color: #00adef;
}
.p-label-company--nezot::after {
  content: "ネゾット";
  background-color: #7b8890;
}
.p-label-company--doco1::after {
  content: "ドコ1";
  background-color: #0b306a;
}
.p-label-company--jsp::after {
  content: "事業承継";
  background-color: #7185e8;
}
.p-label-company--doppo::after {
  content: "独歩";
  background-color: #fb927e;
}

/* local-nav */
.p-local-nav-grid {
  display: grid;
  gap: 2rem;
}
@media print, screen and (min-width: 520px) {
  .p-local-nav-grid {
    gap: 2.5rem 1rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 960px) {
  .p-local-nav-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media print, screen and (min-width: 520px) {
  .p-local-nav-grid--eng {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 520px) {
  .p-local-nav-grid--eng-col4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 960px) {
  .p-local-nav-grid--eng-col4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

.p-local-nav-section__heading-link {
  display: inline-block;
  color: #222;
}
.p-local-nav-section__heading-link:hover {
  text-decoration: underline;
  color: #0958C2;
}

.p-local-nav-large-section__heading-link {
  display: inline-block;
  color: #222;
}
.p-local-nav-large-section__heading-link:hover {
  text-decoration: underline;
  color: #0958C2;
}

.p-local-nav-ir {
  display: grid;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-local-nav-ir {
    gap: 3rem;
  }
}
.p-local-nav-ir--sub {
  gap: 1.5rem;
  border-top: 1px solid #ccc;
  padding-top: 2.5rem;
}
@media print, screen and (min-width: 520px) {
  .p-local-nav-ir--sub {
    gap: 3rem;
    border-top: 0;
    padding-top: 4.38rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-local-nav-ir--sub {
    gap: 3rem;
    border-top: 0;
    padding-top: 6.2rem;
  }
}

.p-main-local-nav-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 3rem;
}
@media print, screen and (min-width: 520px) {
  .p-main-local-nav-list {
    gap: 3rem 4rem;
  }
}

.p-main-local-nav-list__link {
  height: 100%;
  width: 100%;
  padding: 3.05rem 3rem;
}
@media print, screen and (min-width: 520px) {
  .p-main-local-nav-list__link {
    padding: 2.45rem 3rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-main-local-nav-list__link:hover {
    opacity: 0.7;
  }
}
.p-main-local-nav-list__link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #525252;
  opacity: 0.4;
}
.p-main-local-nav-list__link--new-graduate {
  background: url(../../assets/img/recruit/index_img_new-graduate.webp) no-repeat center/cover;
}
.p-main-local-nav-list__link--client-sttendant {
  background: url(../../assets/img/recruit/index_img_client-sttendant.webp) no-repeat center/cover;
}
.p-main-local-nav-list__link--management {
  background: url(../../assets/img/recruit/index_img_management.webp) no-repeat center/cover;
}

.p-main-local-nav-title {
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  z-index: 1;
}
@media print, screen and (min-width: 520px) {
  .p-main-local-nav-title {
    font-size: 2.8rem;
  }
}

.p-main-local-nav-title__en {
  display: block;
  margin-top: 0.5rem;
  font-size: 1.2rem;
  letter-spacing: 0.07em;
}
@media print, screen and (min-width: 520px) {
  .p-main-local-nav-title__en {
    font-size: 1.6rem;
  }
}

/* top */
.p-main-visual-print {
  display: none;
}
.p-main-visual-print img {
  width: 100%;
}
@media print {
  .p-main-visual-print {
    display: block;
  }
}

/* 掲載順1番目ここから↓↓ */
.p-main-visual-01 {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: calc(100svh - 6rem);
  min-height: 60rem;
  z-index: 1;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01 {
    height: 42.5vw;
    width: 100%;
    min-height: auto;
  }
}

.p-main-visual-01__bg-movie {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: calc(100svh - 12rem);
  min-height: 60rem;
  background-color: #7a828c;
  transition: opacity 0.1s;
  z-index: -1;
}
.p-main-visual-01__bg-movie--eng {
  height: calc(100svh - 6rem);
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01__bg-movie {
    position: static;
    height: auto;
    min-height: auto;
  }
}
.p-main-visual-01__bg-movie video {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
@media print {
  .p-main-visual-01__bg-movie {
    display: none;
  }
}

.p-main-visual-01__catchphrase {
  display: grid;
  grid-template-rows: auto;
  row-gap: 1.5rem;
  margin-bottom: 10rem;
  width: calc(100% - 2rem);
}
.p-main-visual-01__catchphrase--eng {
  margin-bottom: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01__catchphrase {
    position: absolute;
    row-gap: 3rem;
    margin-bottom: max(-0.6vw, -1rem);
    margin-inline: auto;
    max-width: 240rem;
  }
}
.p-main-visual-01__catchphrase img {
  width: 100%;
  max-width: 42rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01__catchphrase img {
    max-width: none;
  }
}

.p-main-visual-01__text01,
.p-main-visual-01__text02 {
  display: block;
  padding-inline: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01__text01,
  .p-main-visual-01__text02 {
    padding-inline: 0;
  }
}

@media print, screen and (min-width: 960px) {
  .p-main-visual-01__text01 {
    margin-left: min(7vw, 15rem);
    width: clamp(25rem, 27vw, 51.8rem);
  }
  .p-main-visual-01__text01--eng {
    margin-left: 0;
  }
}

@media print, screen and (min-width: 960px) {
  .p-main-visual-01__text02 {
    width: clamp(60rem, 60vw, 148.3rem);
  }
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeUp-pc {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.p-main-visual-01-fade-up {
  opacity: 0;
  transform: translateY(20px);
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01-fade-up {
    transform: translateY(50px);
  }
}
.p-main-visual-01-fade-up.is-fade-up {
  animation: fadeUp 0.7s ease-out forwards;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01-fade-up.is-fade-up {
    animation: fadeUp-pc 0.7s ease-out forwards;
  }
}

.p-main-visual-01__text01.fade-up {
  animation-delay: 0.3s;
}

.p-main-visual-01__text02.fade-up {
  animation-delay: 0.6s;
}

/* 掲載順1番目ここまで↑↑ */
/* 掲載順2,3,4番目ここから↓↓ */
.p-main-visual-02 {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: calc(100svh - 6rem);
  min-height: 60rem;
  z-index: 1;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-02 {
    height: 42.5vw;
    width: 100%;
    min-height: auto;
  }
}

.p-main-visual-02__bg-movie {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: calc(100svh - 6rem);
  min-height: 60rem;
  transition: opacity 0.1s;
  z-index: -1;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-02__bg-movie {
    position: static;
    height: auto;
    min-height: auto;
  }
}
.p-main-visual-02__bg-movie video {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
@media print {
  .p-main-visual-02__bg-movie {
    display: none;
  }
}

.p-main-visual-02__catchphrase {
  display: grid;
  grid-template-rows: auto;
  row-gap: 1.5rem;
  margin-bottom: 10.5rem;
  width: calc(100% - 2rem);
}
.p-main-visual-02__catchphrase--eng {
  margin-bottom: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-02__catchphrase {
    display: none;
  }
}
.p-main-visual-02__catchphrase img {
  width: 100%;
  max-width: 32rem;
}

.p-main-visual-02__text01 {
  display: flex;
  justify-content: flex-start;
  padding-inline: 2rem;
}
@media screen and (max-width: 400px) {
  .p-main-visual-02__text01 {
    justify-content: center;
  }
}

@media print, screen and (min-width: 960px) {
  .p-main-visual-02__text01 {
    margin-left: min(7vw, 15rem);
    width: clamp(25rem, 27vw, 51.8rem);
  }
  .p-main-visual-02__text01--eng {
    margin-left: 0;
  }
}

/* 掲載順2,3,4番目ここまで↑↑ */
/* 掲載順6番目ここから↓↓ */
.p-main-visual-06 {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: calc(100svh - 6rem);
  min-height: 60rem;
  z-index: 1;
}
.p-main-visual-06--eng {
  height: calc(100svh - 6rem - 6rem);
  min-height: 54rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-06 {
    height: 42.5vw;
    width: 100%;
    min-height: auto;
  }
}

.p-main-visual-06__bg-movie {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: calc(100svh - 6rem - 6rem);
  min-height: 54rem;
  transition: opacity 0.1s;
  z-index: -1;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-06__bg-movie {
    position: static;
    height: auto;
    min-height: auto;
  }
}
.p-main-visual-06__bg-movie video {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: bottom center;
}
@media print {
  .p-main-visual-06__bg-movie {
    display: none;
  }
}

/* 掲載順6番目ここまで↑↑ */
/* 動画ボタン 掲載順1～4番目ここから↓↓ */
.p-main-visual-01__movie-box {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01__movie-box {
    bottom: 2rem;
    right: 3.5rem;
    width: min(30vw, 32rem);
  }
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01__movie-box--corner {
    bottom: 0;
    right: 0;
  }
}

.p-main-visual-01__thumnail {
  display: flex;
  justify-content: center;
  width: 100%;
  background-color: #000;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01__thumnail {
    border: 1px solid #fff;
    border-radius: 2px;
  }
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01__thumnail--no-border {
    border: none;
  }
}

.p-main-visual-01-button {
  display: grid;
  align-items: center;
  gap: 1rem;
  grid-auto-flow: column;
  grid-template-columns: 1fr 3.3rem 1fr;
  justify-content: space-between;
  padding: 1.35rem 0.5rem;
  width: clamp(35rem, 90vw, 40rem);
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01-button {
    align-content: center;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 97fr 185fr;
    padding: 1rem 1.5rem;
    width: auto;
  }
}

.p-main-visual-01-button__img {
  width: 3.3rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01-button__img {
    grid-column: 1/2;
    grid-row: 1/3;
    width: 100%;
  }
}

.p-main-visual-01-button__title {
  display: flex;
  color: #fff;
  font-feature-settings: "palt";
  font-size: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01-button__title {
    align-self: end;
    display: flex;
    grid-column: 2/2;
    grid-row: 1/2;
    font-size: min(1.25vw, 2rem);
    font-weight: bold;
    line-height: 1.2;
  }
}

.p-main-visual-01-button__playback-speed {
  display: flex;
  justify-content: flex-end;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-01-button__playback-speed {
    align-self: start;
    justify-content: flex-start;
  }
}

.p-playback-speed-text-01 {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  border-radius: 12px;
  padding: 0.5rem 1rem;
  width: fit-content;
  background-color: #fff;
  font-feature-settings: "palt";
  font-size: 1.2rem;
  line-height: 1.2;
}
@media print, screen and (min-width: 960px) {
  .p-playback-speed-text-01 {
    padding: 0.5rem 1.3rem;
    font-feature-settings: "palt" 0;
    font-size: min(1vw, 1.2rem);
  }
}

.p-playback-speed-text-01__double-speed {
  font-size: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-playback-speed-text-01__double-speed {
    font-size: min(1vw, 1.2rem);
  }
}

/* 動画ボタン 掲載順1～4番目ここまで↑↑ */
/* 動画ボタン 掲載順5番目ここから↓↓ */
.p-main-visual-05__movie-box {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-05__movie-box {
    bottom: 2.0833333333vw;
    right: 2rem;
    width: 37rem;
    animation: main-visual-05-fade-in 0.8s;
    animation-fill-mode: forwards;
  }
}
@keyframes main-visual-05-fade-in {
  0% {
    opacity: 0;
  }
  95% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media print {
  .p-main-visual-05__movie-box {
    display: none;
  }
}

.p-main-visual-05__thumnail {
  display: flex;
  justify-content: center;
  width: 100%;
  background-color: #333;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-05__thumnail {
    border-radius: 5px;
  }
}

.p-main-visual-05-button {
  display: grid;
  align-items: center;
  gap: 1rem;
  grid-auto-flow: column;
  grid-template-columns: 1fr 3.3rem 1fr;
  justify-content: space-between;
  padding: 1.35rem 0.5rem;
  width: clamp(35rem, 90vw, 40rem);
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-05-button {
    gap: 0.2rem 1rem;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 3fr;
    padding: 1.7rem 1.5rem;
    width: auto;
  }
}

.p-main-visual-05-button__img {
  width: 3.3rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-05-button__img {
    grid-column: 1/2;
    grid-row: 1/3;
    width: 100%;
  }
}

.p-main-visual-05-button__title {
  display: flex;
  color: #fff;
  font-feature-settings: "palt";
  font-size: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-05-button__title {
    align-self: end;
    display: flex;
    grid-column: 2/2;
    grid-row: 1/2;
    font-size: 2.6rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 1.4;
  }
}

.p-main-visual-05-button__playback-speed {
  display: flex;
  justify-content: flex-end;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-05-button__playback-speed {
    align-self: start;
    justify-content: flex-start;
  }
}

.p-playback-speed-text-05 {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  border-radius: 12px;
  padding: 0.5rem 1rem;
  width: fit-content;
  background-color: #fff;
  font-feature-settings: "palt";
  font-size: 1.2rem;
  line-height: 1.2;
}
@media print, screen and (min-width: 960px) {
  .p-playback-speed-text-05 {
    padding: 0;
    background-color: transparent;
    color: #fff;
    font-feature-settings: "palt" 0;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.15em;
  }
}

.p-playback-speed-text-05__double-speed {
  font-size: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-playback-speed-text-05__double-speed {
    font-size: 1.3rem;
    letter-spacing: 0.05em;
  }
}

/* 動画ボタン 掲載順5番目ここまで↑↑ */
/* ↓↓↓↓掲載順00番目ここから↓↓↓↓ */
.p-main-visual-00 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(60rem, 100svh - 14.8rem, 63rem);
  background-color: #666;
  z-index: 1;
}
@media print, screen and (min-width: 520px) {
  .p-main-visual-00 {
    height: auto;
  }
}
@media print, screen and (min-width: 1300px) {
  .p-main-visual-00 {
    min-height: 72.5rem;
  }
}
.p-main-visual-00--eng {
  height: auto;
}
@media print, screen and (min-width: 1300px) {
  .p-main-visual-00--eng {
    height: auto;
  }
}

.p-main-visual-00__bg-movie {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.1s;
  z-index: -1;
}
.p-main-visual-00__bg-movie--metallic {
  mix-blend-mode: overlay;
  background-image: linear-gradient(0deg, #7d7d7d, #464646);
}
.p-main-visual-00__bg-movie video {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.p-main-visual-00__catchphrase {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding-top: max(3svh, 2.5rem);
  width: 100%;
  height: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00__catchphrase {
    display: grid;
    column-gap: 8rem;
    grid-template-columns: 56fr 55.7fr;
    grid-template-rows: min(19vw, 23rem) min(19vw, 23rem) 13.5rem;
    padding-inline: 2rem;
    padding-block: min(7svh, 8rem);
    width: min(100%, 124rem);
  }
}
.p-main-visual-00__catchphrase--eng {
  padding-block: max(4.1svh, 3rem) max(3.8svh, 3rem);
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00__catchphrase--eng {
    column-gap: 3rem;
    row-gap: 6rem;
    grid-template-columns: 74fr 56fr;
    grid-template-rows: 1fr min(23vw, 23rem) min(23vw, 20rem) 1fr;
    width: min(100%, 141rem);
  }
}
.p-main-visual-00__catchphrase img {
  width: 100%;
}

.p-main-visual-00__text01,
.p-main-visual-00__text02,
.p-main-visual-00__text03 {
  padding-inline: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00__text01,
  .p-main-visual-00__text02,
  .p-main-visual-00__text03 {
    padding-inline: 0;
  }
}

.p-main-visual-00__text01 {
  width: 100%;
  max-width: 28rem;
}
@media print, screen and (min-width: 520px) {
  .p-main-visual-00__text01 {
    width: clamp(30rem, 37.5svh, 40rem);
  }
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00__text01 {
    grid-column: 1/2;
    grid-row: 1/2;
    width: 100%;
    max-width: none;
  }
}
.p-main-visual-00__text01--eng {
  max-width: 38rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00__text01--eng {
    grid-column: 1/2;
    grid-row: 2/3;
    max-width: 60rem;
  }
}

.p-main-visual-00__text02 {
  width: 100%;
  max-width: 28rem;
  margin-top: 2.5rem;
}
@media print, screen and (min-width: 520px) {
  .p-main-visual-00__text02 {
    width: clamp(30rem, 37.5svh, 40rem);
  }
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00__text02 {
    grid-column: 2/3;
    grid-row: 1/4;
    width: 100%;
    max-width: none;
    margin-top: 0;
  }
}
.p-main-visual-00__text02--eng {
  margin-top: 1.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00__text02--eng {
    grid-column: 2/3;
    grid-row: 1/5;
    margin-top: 0;
  }
}

.p-main-visual-00__text03 {
  flex-grow: 1;
  margin-top: 3rem;
  margin-bottom: max(3svh, 2.5rem);
  width: 100%;
  max-width: 39rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00__text03 {
    grid-column: 1/2;
    grid-row: 2/3;
    max-width: none;
    margin-top: 0;
  }
}
.p-main-visual-00__text03--eng {
  flex-grow: 0;
  margin-top: 1.5rem;
  margin-bottom: 0;
  padding-inline: 1.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00__text03--eng {
    grid-column: 1/2;
    grid-row: 3/4;
    margin-top: 0;
    padding-inline: 0;
  }
}

.p-main-visual-00__movie-position {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00__movie-position {
    grid-column: 1/2;
    grid-row: 3/4;
  }
}

.p-main-visual-00__movie-box {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00__movie-box {
    width: fit-content;
  }
}

.p-main-visual-00__thumnail {
  display: flex;
  justify-content: center;
  width: 100%;
  background-color: #000;
}

.p-main-visual-00-button {
  display: grid;
  align-items: center;
  gap: 1rem;
  grid-auto-flow: column;
  grid-auto-columns: 1fr 3.3rem 1fr;
  justify-content: space-between;
  padding: 1.35rem 0.5rem;
  width: clamp(35rem, 90vw, 40rem);
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00-button {
    align-content: center;
    grid-template-rows: 1fr 1fr;
    grid-auto-columns: auto 1fr;
    padding: 1.4rem 2rem;
    width: auto;
  }
}

.p-main-visual-00-button__img {
  width: 3.3rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00-button__img {
    grid-column: 1/2;
    grid-row: 1/3;
    width: 9.7rem;
  }
}

.p-main-visual-00-button__title {
  display: flex;
  color: #fff;
  font-feature-settings: "palt";
  font-size: 1.6rem;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00-button__title {
    align-self: end;
    display: flex;
    grid-column: 2/2;
    grid-row: 1/2;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
  }
}

.p-main-visual-00-button__playback-speed {
  display: flex;
  justify-content: flex-end;
}
@media print, screen and (min-width: 960px) {
  .p-main-visual-00-button__playback-speed {
    align-self: start;
    grid-column: 2/3;
    grid-row: 2/3;
    justify-content: flex-start;
  }
}

.p-playback-speed-text-00 {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  flex-wrap: wrap;
  border-radius: 12px;
  padding: 0.5rem 1rem;
  width: fit-content;
  background-color: #fff;
  font-feature-settings: "palt";
  font-size: 1.2rem;
  line-height: 1.2;
}
@media print, screen and (min-width: 960px) {
  .p-playback-speed-text-00 {
    grid-column: 2/2;
    grid-row: 2/3;
    font-feature-settings: "palt" 0;
  }
}

.p-playback-speed-text-00__double-speed {
  font-size: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-playback-speed-text-00__double-speed {
    font-size: 1.2rem;
  }
}

/* ↑↑↑↑掲載順00番目ここまで↑↑↑↑ */
/* パート採用のバナーのクラス名 */
.p-top-recruit-img {
  padding-bottom: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-top-recruit-img {
    padding-bottom: 6rem;
  }
}

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

/* top-news */
.p-top-news {
  position: relative;
  padding-top: 3rem;
  z-index: 0;
}
@media print, screen and (min-width: 960px) {
  .p-top-news {
    padding-top: 8rem;
  }
}

@media print, screen and (min-width: 960px) {
  .p-mainvisual-05-background::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 8rem;
    background: linear-gradient(to bottom, #dbdbdb 0%, rgba(220, 220, 220, 0) 100%);
    z-index: -1;
  }
}
@media print {
  .p-mainvisual-05-background::before {
    content: none;
  }
}

.p-top-news__color-box {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 0.5rem;
  border: 2px solid #003890;
  padding: 2rem;
  background-color: #f7faff;
}
@media print, screen and (min-width: 960px) {
  .p-top-news__color-box {
    flex-direction: row;
    gap: 4rem;
    justify-content: space-between;
    padding: 3.5rem 4.5rem;
  }
}

.p-top-news__text {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}

.p-top-news__link {
  display: inline-block;
  flex-shrink: 0;
  position: relative;
  padding-left: 2.2rem;
  font-size: 1.4rem;
  font-weight: bold;
}
.p-top-news__link::before {
  position: absolute;
  content: "";
  display: block;
  left: 0;
  top: 0.6rem;
  height: 1.2rem;
  width: 0.7rem;
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-black.svg) no-repeat center center/contain;
}
.p-top-news__link:hover {
  color: #0958C2;
  text-decoration: underline;
}

.p-top-grid-col1 {
  display: grid;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-top-grid-col1--recruit {
    gap: 3.5rem;
  }
}

.p-top-grid-col2 {
  display: grid;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-top-grid-col2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-top-grid-col2--about {
  align-items: flex-start;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-top-grid-col2--about {
    gap: 0;
  }
}
.p-top-grid-col2--business {
  align-items: flex-start;
}

.p-top-grid-col2__about-img {
  overflow: hidden;
  border-radius: 5px;
  max-width: 50rem;
  margin: 0 auto;
}
@media print, screen and (min-width: 960px) {
  .p-top-grid-col2__about-img {
    border-radius: 0 10px 10px 0;
    margin: 0 8rem 0 0;
    min-width: 58rem;
    max-width: 50vw;
    height: 100rem;
  }
}

@media print, screen and (min-width: 960px) {
  .p-top-grid-col2__about-link {
    padding-right: 2rem;
  }
}

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

.p-top-grid-col2__business-link {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-top-grid-col2__business-link {
    grid-column: 1/2;
    grid-row: 2/3;
    margin-top: 0;
  }
}

.p-top-grid-col2__business-img {
  max-width: 60rem;
  margin: 0 auto;
}
@media print, screen and (min-width: 960px) {
  .p-top-grid-col2__business-img {
    grid-column: 2/3;
    grid-row: 1/3;
    padding-left: 8rem;
    margin: 0;
    max-width: 50vw;
  }
}

.p-top-grid-col2__about-img img,
.p-top-grid-col2__business-img img {
  width: 100%;
}

.p-top-grid-col2__about-img img {
  object-fit: cover;
  object-position: 50% top;
  height: 100%;
}

.p-top-grid-col3 {
  display: grid;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-top-grid-col3 {
    align-items: flex-end;
    grid-template-columns: repeat(3, 1fr);
    gap: 7rem;
  }
}

.p-top-sustainability {
  position: relative;
  display: flex;
  padding: 2rem 8rem 2rem 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-top-sustainability {
    padding: 4rem 21rem 4rem 4rem;
  }
}

/* topics */
.p-top-topics__list {
  display: flex;
  flex-wrap: wrap;
  padding: 1rem 0;
}
@media print, screen and (min-width: 960px) {
  .p-top-topics__list {
    padding: 1.25rem 0;
  }
}
.p-top-topics__list:first-child {
  padding-top: 0;
}
.p-top-topics__list:last-child {
  padding-bottom: 0;
}

.p-top-topics__list-item {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-top-topics__list-item {
    display: inline-block;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-topics__list-item--time {
    width: 20rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-top-topics__list-item--content {
    width: calc(100% - 20rem);
  }
}

.p-topics__list {
  display: flex;
  flex-wrap: wrap;
  padding: 2rem 0;
  border-bottom: 1px solid #ccc;
}
@media print, screen and (min-width: 960px) {
  .p-topics__list {
    padding: 2.5rem 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;
  }
}
@media print, screen and (min-width: 960px) {
  .p-topics__list-item--time {
    width: 20rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-topics__list-item--content {
    width: calc(100% - 20rem);
  }
}

.p-topics-date {
  margin-bottom: 2rem;
  margin-top: 2rem;
  text-align: right;
}

.p-topics-col02 {
  display: grid;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-topics-col02 {
    gap: 5rem;
    grid-template-columns: repeat(2, 1fr);
  }
}

/* local */
/* cmn */
.p-hero-area-heading__col2 {
  display: grid;
}
@media print, screen and (min-width: 960px) {
  .p-hero-area-heading__col2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-hero-area-heading__col2--ir {
  gap: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-hero-area-heading__col2--ir {
    gap: 0;
  }
}
.p-hero-area-heading__col2--recruit {
  display: block;
}
@media print, screen and (min-width: 960px) {
  .p-hero-area-heading__col2--recruit {
    display: grid;
  }
}

.p-hero-area-heading__text--ir {
  padding: 0 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-hero-area-heading__text--ir {
    max-width: 62rem;
    padding: 0 0 0 2rem;
    margin: 0 0 0 auto;
  }
}

.p-hero-area-heading__img--business {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-hero-area-heading__img--business {
    justify-content: flex-end;
    margin-top: 0;
  }
}
.p-hero-area-heading__img--ir {
  height: 25rem;
  padding: 0 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-hero-area-heading__img--ir {
    height: 52rem;
    margin-left: 10%;
    padding: 0;
  }
}
@media print, screen and (min-width: 960px) {
  .p-hero-area-heading__img--recruit {
    margin-left: 18%;
    margin-top: 3rem;
    max-width: 42rem;
  }
}

.p-hero-area-heading__img--ir img {
  border-radius: 10px;
  object-fit: cover;
  height: 100%;
  width: 100%;
  object-position: center top;
}
@media print, screen and (min-width: 960px) {
  .p-hero-area-heading__img--ir img {
    border-radius: 10px 0 0 10px;
  }
}

.p-title-page-description {
  margin-top: 2rem;
  font-size: 1.6rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-title-page-description {
    font-size: 1.8rem;
  }
}

.p-title-page-col2 {
  display: grid;
  gap: 6rem;
}
@media print, screen and (min-width: 960px) {
  .p-title-page-col2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 8rem;
  }
}

.p-title-page-content {
  display: grid;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-title-page-content {
    grid-row: span 3;
    grid-template-rows: subgrid;
  }
}

.p-title-page-content__link {
  border-radius: 5px;
  overflow: hidden;
}
@media print, screen and (min-width: 960px) {
  .p-title-page-content__link:hover .p-title-page-content__img {
    transform: scale(1.1, 1.1);
  }
}

.p-title-page-content__img {
  transition: 0.2s ease;
}

.p-local-page-col3 {
  display: grid;
  gap: 4rem;
}
@media print, screen and (min-width: 520px) {
  .p-local-page-col3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 960px) {
  .p-local-page-col3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 6rem;
  }
}

.p-local-page-col3__content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.p-local-page-col3__content--gap30 {
  gap: 3rem;
}
.p-local-page-col3__content--introduction-movie {
  gap: 0;
}

.p-local-page-col3__link {
  border-radius: 5px;
  overflow: hidden;
}
@media print, screen and (min-width: 960px) {
  .p-local-page-col3__link:hover .p-local-page-col3__img {
    transform: scale(1.1, 1.1);
  }
}
.p-local-page-col3__link--border {
  border: 1px solid #ccc;
}

.p-local-page-col3__img {
  transition: 0.2s ease;
}

.p-local-page-col3__button-container {
  display: flex;
  flex-direction: column;
}

@media print, screen and (min-width: 960px) {
  .p-message-img {
    float: right;
    width: min(40%, 40rem);
    margin-bottom: 0.5rem;
    margin-left: 5%;
  }
}

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

.p-message-name {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-align: right;
}

.p-message-name__date {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

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

.p-message-float-clear {
  clear: both;
}

/* about */
/* philosophy */
.p-philosophy-bg {
  margin-top: 4rem;
  margin-bottom: 8rem;
  padding-top: 6rem;
  padding-bottom: 6rem;
  width: 100%;
  background: url(../../assets/img/about/philosophy_bg.webp) no-repeat center/cover;
}
@media print, screen and (min-width: 960px) {
  .p-philosophy-bg {
    margin-top: 0;
    margin-bottom: 12rem;
    padding-top: 15rem;
    padding-bottom: 15rem;
  }
}

.p-philosophy-message {
  width: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-philosophy-message {
    padding-left: 7.5rem;
    padding-right: 7.5rem;
  }
}

.p-philosophy-message__content {
  margin-top: 6rem;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2.2;
}
@media print, screen and (min-width: 960px) {
  .p-philosophy-message__content {
    margin-top: 10rem;
  }
}
.p-philosophy-message__content > * + * {
  margin-top: 5rem;
}

.p-philosophy-vision-subtitle {
  margin-bottom: 1rem;
  color: #003890;
  font-size: 1.8rem;
  font-weight: bold;
}

.p-philosophy-vision-content > * + * {
  margin-top: 1rem;
}

.p-philosophy-purpose-box {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding-bottom: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-philosophy-purpose-box {
    flex-direction: row;
    gap: 12rem;
    padding-bottom: 0;
  }
}

.p-philosophy-purpose-box__text {
  flex: 1;
}

.p-philosophy-purpose-box__heading + .p-philosophy-purpose-box__content {
  margin-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-philosophy-purpose-box__heading + .p-philosophy-purpose-box__content {
    margin-top: 4rem;
  }
}

.p-philosophy-purpose-box__content > * + * {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-philosophy-purpose-box__content > * + * {
    margin-top: 3rem;
  }
}

.p-philosophy-purpose-box__img img {
  width: 100%;
}

.p-philosophy-purpose-box__img {
  width: 100%;
  max-width: 60rem;
  margin: 0 auto;
}
@media print, screen and (min-width: 960px) {
  .p-philosophy-purpose-box__img {
    max-width: 32rem;
  }
}

@media print, screen and (min-width: 960px) {
  .p-pc-column-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-pc-column-list__item {
  position: relative;
  padding-left: 2.2rem;
}
.p-pc-column-list__item::before {
  content: "";
  position: absolute;
  left: 0.6rem;
  top: 1.2rem;
  border-radius: 50%;
  display: block;
  height: 0.6rem;
  width: 0.6rem;
  background-color: #222;
}

.p-philosophy-responsibility-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.5rem;
}

.p-philosophy-responsibility-list__item {
  flex-basis: 100%;
  position: relative;
  padding-left: 2.2rem;
  font-size: 1.8rem;
  font-weight: bold;
}
.p-philosophy-responsibility-list__item::before {
  content: "";
  position: absolute;
  left: 0.6rem;
  top: 1.2rem;
  border-radius: 50%;
  display: block;
  height: 0.6rem;
  width: 0.6rem;
  background-color: #222;
}

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

.p-philosophy-satisfaction-list__item {
  position: relative;
  padding-left: 3.2rem;
  text-indent: -3.2rem;
}
.p-philosophy-satisfaction-list__item::before {
  content: "一、";
  height: 1.7rem;
  width: 1.7rem;
}

/* profile */
.p-about-profile__item {
  display: grid;
  row-gap: 1rem;
  width: 100%;
}
.p-about-profile__item + .p-about-profile__item {
  border-top: 1px solid #ccc;
  padding-top: 2.5rem;
}
.p-about-profile__item:not(:last-child) {
  padding-bottom: 2.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-about-profile__item {
    grid-template-columns: 20% 80%;
  }
}

.p-about-profile__member {
  display: grid;
  align-items: flex-end;
  gap: 5%;
  grid-template-columns: 60% 35%;
  row-gap: 1.5rem;
}
.p-about-profile__member + .p-about-profile__member {
  margin-top: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-about-profile__member {
    grid-template-columns: 40% 55%;
  }
}
.p-about-profile__member--eng {
  gap: 0;
  grid-template-columns: auto;
}
@media print, screen and (min-width: 960px) {
  .p-about-profile__member--eng {
    gap: 5%;
    grid-template-columns: 55% 40%;
  }
}

.p-about-profile__location {
  display: grid;
  gap: 2rem;
}
.p-about-profile__location + .p-about-profile__location {
  margin-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-about-profile__location {
    grid-template-columns: 70% 1fr;
  }
}

@media print, screen and (min-width: 960px) {
  .p-about-profile__business-text {
    width: 76%;
  }
}

.p-about-profile__table > * + * {
  margin-top: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-about-profile__table > * + * {
    margin-top: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-about-profile__table {
    max-width: 66rem;
  }
}

/* access */
.p-parallel {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.p-parallel__inner {
  height: 100%;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-parallel__inner {
    width: 47%;
  }
}

.p-parallel__inner + .p-parallel__inner {
  margin-top: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-parallel__inner + .p-parallel__inner {
    margin-top: 0;
  }
}

.p-map-item + .p-map-item {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-map-item + .p-map-item {
    margin-top: 2.5rem;
  }
}

.p-map-item__heading + .p-map-item__content {
  margin-top: 1rem;
}

.p-map-item__heading + .p-map-item__content.p-map-item__content--figure {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-map-item__heading + .p-map-item__content.p-map-item__content--figure {
    margin-top: 3rem;
  }
}

.p-map-item__content > * + * {
  margin-top: 1rem;
}

.p-iframe {
  position: absolute;
  top: -20rem;
  left: 0;
  height: calc(100% + 40rem);
  width: 100%;
}

.p-iframe-area {
  position: relative;
  padding-top: 75%;
  height: 0;
  width: 100%;
  overflow: hidden;
}

/* officers */
:root {
  --vw: 1vw;
}

.p-officers-box-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8rem 4rem;
}
@media print, screen and (min-width: 520px) {
  .p-officers-box-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media print, screen and (min-width: 960px) {
  .p-officers-box-wrapper {
    gap: 12rem 4rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media print, screen and (min-width: 1300px) {
  .p-officers-box-wrapper {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.p-officers-box-inner {
  display: block;
  height: auto;
  width: 100%;
  background-color: transparent;
  text-align: left;
}

.p-officers-box__img {
  display: block;
  border-radius: 5px;
  overflow: hidden;
}

.p-officers-box__img img {
  display: block;
  transition: transform 0.25s;
}

.p-officers-box-inner {
  -webkit-tap-highlight-color: transparent;
}
@media print, screen and (min-width: 960px) {
  .p-officers-box-inner:hover .p-officers-box__img img {
    transform: scale(1.1);
  }
}

.p-officers-box__name-wrapper {
  display: block;
}

.p-officers-box__position {
  display: block;
  margin-top: 2rem;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  text-align: center;
}

.p-officers-box__name {
  display: block;
  margin-top: 0.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .p-officers-box__name {
    font-size: 2.4rem;
  }
}

.p-officers-box__toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2rem;
  background-color: transparent;
  text-align: center;
  width: 100%;
}

.p-officers-box__toggle-btn-text {
  position: relative;
  display: inline-block;
  padding-left: 2rem;
  color: #0958C2;
}
.p-officers-box__toggle-btn-text::after {
  content: "＋";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  color: #0958C2;
  font-weight: bold;
  transform: translateY(-50%);
}

.p-officers-box__toggle-btn.is-open .p-officers-box__toggle-btn-text::after {
  content: "ー";
  font-weight: normal;
}

.p-officers-box__toggle-en-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2rem;
  background-color: transparent;
  text-align: center;
  width: 100%;
}

.p-officers-box__toggle-en-btn-text {
  position: relative;
  display: inline-block;
  padding-left: 2rem;
  color: #0958C2;
}
.p-officers-box__toggle-en-btn-text::after {
  content: "＋";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  color: #0958C2;
  font-weight: bold;
  transform: translateY(-50%);
}

.p-officers-box__toggle-en-btn.is-open .p-officers-box__toggle-en-btn-text::after {
  content: "ー";
  font-weight: normal;
}

.p-officers-box__profile-wrapper {
  position: relative;
  display: none;
  padding-top: 4rem;
  width: min(var(--vw) * 100 - 4rem, 120rem);
}
@media print, screen and (min-width: 960px) {
  .p-officers-box__profile-wrapper {
    padding-top: 3rem;
  }
}

.p-officers-box {
  display: block;
}
@media print, screen and (min-width: 520px) {
  .p-officers-box:nth-child(2n) .p-officers-box__profile-wrapper {
    margin-left: calc(var(--vw) * -50);
  }
}
@media print, screen and (min-width: 960px) {
  .p-officers-box:nth-child(2n) .p-officers-box__profile-wrapper {
    margin-left: 0;
  }
  .p-officers-box:nth-child(3n-1) .p-officers-box__profile-wrapper {
    margin-left: calc(var(--vw) * -100 / 3);
  }
  .p-officers-box:nth-child(3n) .p-officers-box__profile-wrapper {
    margin-left: calc(var(--vw) * -200 / 3);
  }
}
@media print, screen and (min-width: 1240px) {
  .p-officers-box:nth-child(3n-1) .p-officers-box__profile-wrapper {
    margin-left: -41.3rem;
  }
  .p-officers-box:nth-child(3n) .p-officers-box__profile-wrapper {
    margin-left: -82.7rem;
  }
}
@media print, screen and (min-width: 1300px) {
  .p-officers-box:nth-child(3n-1) .p-officers-box__profile-wrapper {
    margin-left: 0;
  }
  .p-officers-box:nth-child(3n) .p-officers-box__profile-wrapper {
    margin-left: 0;
  }
  .p-officers-box:nth-child(4n-2) .p-officers-box__profile-wrapper {
    margin-left: -31rem;
  }
  .p-officers-box:nth-child(4n-1) .p-officers-box__profile-wrapper {
    margin-left: -62rem;
  }
  .p-officers-box:nth-child(4n) .p-officers-box__profile-wrapper {
    margin-left: -93rem;
  }
}

.p-officers-box__profile {
  display: block;
  position: relative;
  padding: 1.5rem 3rem 3rem 3rem;
  border: 1px solid #0958C2;
  border-radius: 5px;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-officers-box__profile {
    padding: 2rem 3rem;
  }
}
.p-officers-box__profile::before {
  content: "";
  position: absolute;
  top: -2.5rem;
  left: 50%;
  display: block;
  height: 2.7rem;
  width: 3.6rem;
  border-top: 0;
  border-right: 1.8rem solid transparent;
  border-bottom: 2.7rem solid #fff;
  border-left: 1.8rem solid transparent;
  transform: translateX(-50%);
  z-index: 2;
}
.p-officers-box__profile::after {
  content: "";
  position: absolute;
  top: -2.7rem;
  left: 50%;
  display: block;
  height: 2.7rem;
  width: 3.6rem;
  border-top: 0;
  border-right: 1.8rem solid transparent;
  border-bottom: 2.7rem solid #0958C2;
  border-left: 1.8rem solid transparent;
  transform: translateX(-50%);
  z-index: 1;
}

.p-officers-box {
  display: block;
}
@media print, screen and (min-width: 520px) {
  .p-officers-box:nth-child(2n-1) .p-officers-box__profile::before {
    left: calc(25% - 1rem);
  }
  .p-officers-box:nth-child(2n-1) .p-officers-box__profile::after {
    left: calc(25% - 1rem);
  }
  .p-officers-box:nth-child(2n) .p-officers-box__profile::before {
    left: calc(75% + 1rem);
  }
  .p-officers-box:nth-child(2n) .p-officers-box__profile::after {
    left: calc(75% + 1rem);
  }
}
@media print, screen and (min-width: 960px) {
  .p-officers-box .p-officers-box__profile::before {
    top: -1.4rem;
    left: 0;
    height: 1.5rem;
    width: 4rem;
    border-top: 0;
    border-right: 2rem solid transparent;
    border-bottom: 1.5rem solid #fff;
    border-left: 2rem solid transparent;
  }
  .p-officers-box .p-officers-box__profile::after {
    top: -1.5rem;
    left: 0;
    height: 1.5rem;
    width: 4rem;
    border-top: 0;
    border-right: 2rem solid transparent;
    border-bottom: 1.5rem solid #0958C2;
    border-left: 2rem solid transparent;
  }
  .p-officers-box:nth-child(3n-2) .p-officers-box__profile::before {
    left: calc(17% - 1rem);
  }
  .p-officers-box:nth-child(3n-2) .p-officers-box__profile::after {
    left: calc(17% - 1rem);
  }
  .p-officers-box:nth-child(3n-1) .p-officers-box__profile::before {
    left: 50%;
  }
  .p-officers-box:nth-child(3n-1) .p-officers-box__profile::after {
    left: 50%;
  }
  .p-officers-box:nth-child(3n) .p-officers-box__profile::before {
    left: calc(84% + 1rem);
  }
  .p-officers-box:nth-child(3n) .p-officers-box__profile::after {
    left: calc(84% + 1rem);
  }
}
@media print, screen and (min-width: 1240px) {
  .p-officers-box:nth-child(3n-2) .p-officers-box__profile::before {
    left: 16.65rem;
    transform: translateX(0);
  }
  .p-officers-box:nth-child(3n-2) .p-officers-box__profile::after {
    left: 16.65rem;
    transform: translateX(0);
  }
  .p-officers-box:nth-child(3n-1) .p-officers-box__profile::before {
    left: 58rem;
    transform: translateX(0);
  }
  .p-officers-box:nth-child(3n-1) .p-officers-box__profile::after {
    left: 58rem;
    transform: translateX(0);
  }
  .p-officers-box:nth-child(3n) .p-officers-box__profile::before {
    left: 99.25rem;
    transform: translateX(0);
  }
  .p-officers-box:nth-child(3n) .p-officers-box__profile::after {
    left: 99.25rem;
    transform: translateX(0);
  }
}
@media print, screen and (min-width: 1300px) {
  .p-officers-box:nth-child(4n-3) .p-officers-box__profile::before {
    left: 11.5rem;
  }
  .p-officers-box:nth-child(4n-3) .p-officers-box__profile::after {
    left: 11.5rem;
  }
  .p-officers-box:nth-child(4n-2) .p-officers-box__profile::before {
    left: 42.5rem;
  }
  .p-officers-box:nth-child(4n-2) .p-officers-box__profile::after {
    left: 42.5rem;
  }
  .p-officers-box:nth-child(4n-1) .p-officers-box__profile::before {
    left: 73.5rem;
  }
  .p-officers-box:nth-child(4n-1) .p-officers-box__profile::after {
    left: 73.5rem;
  }
  .p-officers-box:nth-child(4n) .p-officers-box__profile::before {
    left: 104.5rem;
  }
  .p-officers-box:nth-child(4n) .p-officers-box__profile::after {
    left: 104.5rem;
  }
}

.p-officers-box__title {
  display: block;
  font-weight: bold;
}

/* group */
.p-group-tree-img {
  border: 2px solid #222;
  border-radius: 5px;
  overflow: hidden;
  padding: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-group-tree-img {
    padding: 0;
  }
}

.p-group-category-box + .p-group-category-box {
  margin-top: 4rem;
  padding-top: 4rem;
  border-top: 1px solid #ccc;
}
@media print, screen and (min-width: 960px) {
  .p-group-category-box + .p-group-category-box {
    margin-top: 6rem;
    padding-top: 6rem;
  }
}

.p-group-category-box__heading + .p-group-category-box__content {
  margin-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-group-category-box__heading + .p-group-category-box__content {
    margin-top: 4rem;
  }
}

.p-group-company-box {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 2rem;
}
.p-group-company-box + .p-group-company-box {
  margin-top: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-group-company-box {
    flex-direction: row;
    gap: 4rem;
  }
  .p-group-company-box + .p-group-company-box {
    margin-top: 6rem;
  }
}

.p-group-company-box__logo {
  flex-shrink: 0;
  width: 100%;
  border: 1px solid #222;
  border-radius: 5px;
}
.p-group-company-box__logo--in-house {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .p-group-company-box__logo--in-house {
    display: block;
    border: none;
  }
}
.p-group-company-box__logo img {
  border-radius: 5px;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-group-company-box__logo {
    width: 23rem;
  }
}

.p-group-company-box__profile {
  flex-grow: 1;
}

.p-group-company-box__company-info {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-group-company-box__company-info {
    margin-top: 3rem;
  }
}

.p-group-company-box__tel-link {
  text-indent: -38px;
  padding-left: 38px;
}

.p-group-link-list {
  margin-top: 1rem;
}

.p-group-company-inner-box {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}
.p-group-company-inner-box + .p-group-company-inner-box {
  margin-top: 6rem;
}

.p-group-company-inner-box__logo {
  flex-shrink: 0;
  width: 12rem;
  border: 1px solid #222;
  border-radius: 5px;
  overflow: hidden;
}
.p-group-company-inner-box__logo img {
  width: 100%;
}

.p-group-company-inner-box__profile {
  flex-grow: 1;
}

.p-group-company-inner-box__company-info {
  margin-top: 1rem;
}

.p-group-company-inner-box__tel-link {
  text-indent: -38px;
  padding-left: 38px;
}

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

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

.p-timeline-item {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-item {
    margin-top: 4rem;
  }
}

.p-timeline-item__year {
  color: #003890;
  font-family: "Lato", "Noto Sans JP";
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
}

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

.p-timeline-item__content {
  flex: 1;
  border-bottom: 1px solid #ccc;
  padding-bottom: 3rem;
  margin-left: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-item__content {
    margin-left: 4rem;
    padding-bottom: 4rem;
  }
}

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

.p-timeline-item__text + .p-timeline-item__text {
  margin-top: 3rem;
}

/* path */
.p-timeline-path {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-path {
    display: flex;
    flex-wrap: wrap;
  }
}

@media print, screen and (min-width: 960px) {
  .p-timeline-chapter-wrapper {
    position: relative;
    width: 14.5rem;
  }
}

@media print, screen and (min-width: 960px) {
  .p-timeline-chapter {
    position: absolute;
    top: 5.2rem;
    left: 50%;
    text-align: center;
    white-space: nowrap;
    transform: translateX(-50%);
  }
}

.p-timeline-chapter > * + * {
  margin-top: 0.3rem;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-chapter > * + * {
    margin-top: 0;
  }
}

.p-timeline-chapter__item {
  color: #003890;
  font-size: 1.2rem;
  font-weight: bold;
}

.p-timeline-chapter__item-title {
  display: flex;
  align-items: center;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-chapter__item-title {
    flex-direction: column;
  }
}

.p-timeline-chapter__item-title > * + * {
  margin-left: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-chapter__item-title > * + * {
    margin-top: 1rem;
    margin-left: 0;
  }
}

.p-timeline-chapter__item-title-main {
  font-size: 1.8rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-chapter__item-title-main {
    font-size: 2.4rem;
  }
}

.p-timeline-chapter__item-title-sub {
  font-size: 1.6rem;
  font-weight: bold;
}

.p-timeline-column-wrapper {
  position: relative;
  flex: 1;
  padding: 0 0 3rem 6rem;
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-column-wrapper {
    padding: 0 0 6rem 2.5rem;
    margin-top: 0;
  }
}
.p-timeline-column-wrapper::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 2.2rem;
  height: 100%;
  width: 0.1rem;
  border-left: 1px solid #ccc;
  opacity: 0.5;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-column-wrapper::before {
    left: 2.8rem;
    height: calc(100% + 6rem);
  }
}

.p-timeline-column {
  position: relative;
  display: grid;
  align-items: flex-start;
  gap: 2rem;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-column {
    display: flex;
    gap: 4rem;
  }
}
.p-timeline-column + .p-timeline-column {
  margin-top: 2rem;
}

.p-timeline-column--detail {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-column--detail {
    margin-top: 3rem;
  }
}

.p-timeline-column__img-link {
  display: block;
  width: 100%;
  max-width: 28.7rem;
  border-radius: 5px;
  overflow: hidden;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-column__img-link img {
    transition: transform 0.25s;
  }
  .p-timeline-column__img-link:hover img {
    transform: scale(1.1);
  }
}

.p-timeline-column__img-content {
  flex-shrink: 0;
  position: relative;
  max-width: 28.7rem;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-column__img-content {
    width: 30rem;
    margin-left: 5.5rem;
  }
}
.p-timeline-column__img-content::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: -3.8rem;
  height: 1px;
  width: 4rem;
  border-top: 1px solid #ccc;
  z-index: -1;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-column__img-content::before {
    left: -5rem;
    width: 5rem;
  }
}
.p-timeline-column__img-content::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 3px);
  left: -4.1rem;
  border-radius: 50%;
  height: 0.7rem;
  width: 0.7rem;
  background-color: #003890;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-column__img-content::after {
    left: -5.5rem;
    top: calc(50% - 3px);
  }
}
.p-timeline-column__img-content--detail {
  position: static;
  width: 100%;
  max-width: none;
  margin-top: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-column__img-content--detail {
    width: 50rem;
    margin-top: 0;
    margin-left: 0;
  }
}
.p-timeline-column__img-content--detail::before {
  content: none;
}
.p-timeline-column__img-content--detail::after {
  content: none;
}

.p-timeline-column__textarea {
  flex: 1;
}

.p-timeline-column__title {
  color: #0958C2;
  border-bottom: 1px solid #ccc;
  margin-bottom: 2rem;
  font-size: 1.8rem;
  font-weight: bold;
}
.p-timeline-column__title:hover {
  opacity: 0.7;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-column__title {
    margin-bottom: 3.6rem;
    font-size: 2.4rem;
  }
}

.p-timeline-column__list > * + * {
  margin-top: 1rem;
}

.p-timeline-path:last-child .p-timeline-column-wrapper {
  padding-bottom: 0;
}
@media print, screen and (min-width: 960px) {
  .p-timeline-path:last-child .p-timeline-column-wrapper {
    margin-bottom: 3rem;
  }
}
.p-timeline-path:last-child .p-timeline-column-wrapper::before {
  height: 100%;
}

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

/* chapter01～ */
.p-timeline-next-link-wrapper {
  margin-top: 2rem;
  text-align: right;
}

.p-chapter-title-main {
  font-size: 2rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-chapter-title-main {
    font-size: 3.2rem;
  }
}

.p-chapter-title-sub {
  font-size: 1.8rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-chapter-title-sub {
    font-size: 2.4rem;
  }
}

.p-timeline-column__text-margin {
  display: inline-block;
  margin-top: 2rem;
}

.p-timeline-column__img {
  border-radius: 5px;
  width: 100%;
}
.p-timeline-column__img--border {
  border: 1px solid #ccc;
}

.p-timeline-last-img {
  width: 100%;
  height: 24rem;
  margin-top: -8rem;
  background: url(../../assets/img/about/path/10_img_last.webp) no-repeat center;
  background-size: cover;
}
@media print, screen and (min-width: 520px) {
  .p-timeline-last-img {
    height: 40rem;
    margin-top: -14rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-timeline-last-img {
    height: 94rem;
    margin-top: -34rem;
  }
}

/* business */
/* title-page*/
.p-business-col2 {
  display: grid;
  align-items: center;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-business-col2 {
    align-items: flex-start;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
  }
}
@media print, screen and (min-width: 960px) {
  .p-business-col2--center {
    align-items: center;
  }
}

.p-business-col2__img {
  overflow: hidden;
  border-radius: 5px;
  margin: 0 auto;
}
.p-business-col2__img--platform img {
  object-position: bottom;
}
@media print, screen and (min-width: 960px) {
  .p-business-col2__img--human-resource, .p-business-col2__img--platform {
    border-radius: 0 5px 5px 0;
    margin: 0 10% 0 0;
    max-width: 50vw;
  }
}
@media print, screen and (min-width: 960px) {
  .p-business-col2__img--cro {
    order: 2;
    border-radius: 5px 0 0 5px;
    margin: 0 0 0 10%;
    max-width: 50vw;
  }
}
@media print, screen and (min-width: 960px) {
  .p-business-col2__img--human-resource {
    height: 70rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-business-col2__img--other {
    order: 2;
    border-radius: 5px;
    margin: 0 0 0 5%;
    max-width: calc(50vw - 5% - 12.5%);
  }
}
@media print, screen and (min-width: 960px) {
  .p-business-col2__img--cro, .p-business-col2__img--platform, .p-business-col2__img--other {
    height: 43.6rem;
  }
}

.p-business-col2__img img {
  object-fit: cover;
  height: 100%;
}

.p-business-col2__content {
  display: flex;
  justify-content: center;
}
@media print, screen and (min-width: 960px) {
  .p-business-col2__content--human-resource, .p-business-col2__content--platform {
    justify-content: flex-start;
  }
}
@media print, screen and (min-width: 960px) {
  .p-business-col2__content--cro, .p-business-col2__content--other {
    order: 1;
    justify-content: flex-end;
  }
}

.p-business-col2__content-item {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-business-col2__content-item {
    max-width: 54rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-business-col2__content-item--human-resource, .p-business-col2__content-item--platform {
    margin-left: 5%;
    padding-right: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-business-col2__content-item--cro, .p-business-col2__content-item--other {
    margin-right: 5%;
    padding-left: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-business-col2__content-item--eng {
    gap: 6rem;
  }
}

.p-business-col2__description {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-business-col2__description {
    gap: 3rem;
  }
}

.p-business-top-link {
  pointer-events: none;
}
.p-business-top-link img {
  transition: transform 0.25s;
}
@media print, screen and (min-width: 960px) {
  .p-business-top-link {
    pointer-events: auto;
  }
  .p-business-top-link:hover img {
    transform: scale(1.1);
  }
}

/* 人材サービス事業におけるWDBグループの考え方 */
.p-business-media-box {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-business-media-box {
    flex-direction: row;
    gap: 4rem;
  }
}

.p-business-media-box__content {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-business-media-box__content {
    flex-shrink: 1;
    width: 77rem;
  }
}

.p-business-media-box__img {
  width: 100%;
}
.p-business-media-box__img img {
  display: block;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-business-media-box__img {
    flex-shrink: 0;
    width: 39rem;
  }
}

/* 灰色背景のボックス */
.p-business-color-box {
  border-radius: 5px;
  padding: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-business-color-box {
    padding: 4rem;
  }
}
.p-business-color-box--gray {
  background-color: #f8f8f8;
}

.p-business-color-box__heading + .p-business-color-box__content {
  margin-top: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-business-color-box__heading + .p-business-color-box__content {
    margin-top: 2rem;
  }
}

.p-business-color-box__content + .p-business-color-box__content {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-business-color-box__content + .p-business-color-box__content {
    margin-top: 4rem;
  }
}

/* 2列の等幅の表 */
.p-business-training-table {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-spacing: 0;
  width: 100%;
  text-align: left;
  word-break: break-word;
}
@media print, screen and (min-width: 960px) {
  .p-business-training-table {
    width: auto;
    table-layout: fixed;
  }
}

.p-business-training-table__item {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  padding: 1rem;
  width: 50%;
  background-color: #fff;
  vertical-align: middle;
}
.p-business-training-table__item--heading {
  background-color: #f8f8f8;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-business-training-table__item {
    padding: 1.5rem 2rem;
  }
}

/* 5列の等幅の表 */
.p-business-feature-table {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-spacing: 0;
  width: 100%;
  text-align: left;
  word-break: break-word;
}
@media print, screen and (min-width: 960px) {
  .p-business-feature-table {
    width: auto;
    table-layout: fixed;
  }
}

.p-business-feature-table__item {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  padding: 1rem;
  width: 20%;
  background-color: #fff;
  text-align: center;
  vertical-align: middle;
}
.p-business-feature-table__item--heading {
  background-color: #f8f8f8;
  font-weight: bold;
  text-align: left;
}
.p-business-feature-table__item--category {
  width: 15%;
}
@media print, screen and (min-width: 960px) {
  .p-business-feature-table__item {
    padding: 1.5rem 2rem;
  }
  .p-business-feature-table__item--category {
    width: 20%;
  }
}
@media screen and (max-width: 400px) {
  .p-business-feature-table__item {
    padding: 0.5rem;
    font-size: 1.4rem;
  }
}

/* グループ会社紹介 */
.p-business-company-box {
  display: flex;
  flex-direction: column;
}
.p-business-company-box--in-box {
  flex-direction: column-reverse;
}
@media print, screen and (min-width: 960px) {
  .p-business-company-box {
    flex-direction: row;
    gap: 8rem;
  }
  .p-business-company-box--in-box {
    flex-direction: row;
    gap: 4rem;
  }
}

.p-business-company-box__content {
  display: contents;
  width: 100%;
}
.p-business-company-box__content > * + * {
  margin-top: 2.5rem;
}
.p-business-company-box__content--in-box {
  display: block;
  margin-top: 2.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-business-company-box__content {
    display: block;
    flex-shrink: 1;
    width: 67rem;
  }
  .p-business-company-box__content > * + * {
    margin-top: 4rem;
  }
  .p-business-company-box__content--in-box {
    width: 73rem;
    margin-top: 0;
  }
}

.p-business-company-box__img {
  width: 100%;
  margin-top: 2rem;
}
.p-business-company-box__img--in-box {
  margin-top: 0;
}
.p-business-company-box__img img {
  display: block;
  width: 100%;
  border-radius: 5px;
}
@media print, screen and (min-width: 960px) {
  .p-business-company-box__img {
    width: 45rem;
    margin-top: 0;
  }
  .p-business-company-box__img--in-box {
    width: 35rem;
  }
}

.p-business-company-definition-list__row {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border-bottom: 1px solid #ccc;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.p-business-company-definition-list__row:first-child {
  padding-top: 0;
}
@media print, screen and (min-width: 960px) {
  .p-business-company-definition-list__row {
    flex-direction: row;
  }
}

.p-business-company-definition-list__title {
  flex-shrink: 0;
  width: 10rem;
  font-weight: bold;
}
.p-business-company-definition-list__title--eng {
  width: 16rem;
}

.p-business-company-box__button-box {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 2rem;
}
.p-business-company-box__button-box--wdb {
  align-items: flex-start;
  width: 23.5rem;
  margin-right: auto;
  margin-left: auto;
}
@media print, screen and (min-width: 960px) {
  .p-business-company-box__button-box {
    flex-direction: row;
    gap: 6rem;
  }
  .p-business-company-box__button-box--wdb {
    width: 100%;
  }
}

.p-business-company-box__button-item {
  width: auto;
}

.p-business-column-box-wrapper {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-business-column-box-wrapper {
    flex-direction: row;
    justify-content: space-between;
    gap: 6rem;
  }
}

.p-business-column-box {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-business-column-box {
    width: 50%;
  }
}

.p-business-column-box__heading + .p-business-column-box__content {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-business-column-box__heading + .p-business-column-box__content {
    margin-top: 3rem;
  }
}

/* ir */
.p-ir-press {
  display: flex;
  flex-direction: column;
}

.p-ir-graph-col2 {
  display: grid;
  row-gap: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-ir-graph-col2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 6rem 16%;
  }
}

.p-ir-graph-col2__subgrid {
  display: grid;
  gap: 0;
  grid-row: span 2;
  grid-template-rows: subgrid;
}

.p-management-policy-message {
  color: #fff;
}
@media print, screen and (min-width: 960px) {
  .p-management-policy-message {
    display: flex;
    flex-direction: row-reverse;
  }
}
@media print, screen and (min-width: 1600px) {
  .p-management-policy-message {
    justify-content: center;
    background-color: #29497c;
  }
}

@media print, screen and (min-width: 960px) {
  .p-management-policy-message__img {
    width: 50%;
  }
}
@media print, screen and (min-width: 1600px) {
  .p-management-policy-message__img {
    max-width: 79.5rem;
  }
}
.p-management-policy-message__img img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.p-management-policy-message__title {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}

.p-management-policy-message__text-bg {
  padding: 4rem 2rem;
  background-color: #29497c;
}
@media print, screen and (min-width: 960px) {
  .p-management-policy-message__text-bg {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 4rem 0;
    width: 50%;
  }
}
@media print, screen and (min-width: 1600px) {
  .p-management-policy-message__text-bg {
    max-width: 60rem;
    margin-left: 18rem;
  }
}

.p-management-policy-message__text {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-management-policy-message__text {
    margin-right: 10rem;
    width: min(31.5vw, 50rem);
  }
}

.p-management-policy-message__description {
  display: flex;
  flex-direction: column;
  row-gap: 4rem;
}

.p-management-policy-col2 {
  display: grid;
  row-gap: 2rem;
  grid-template-columns: auto;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-management-policy-col2 {
    gap: 3rem 4rem;
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-management-policy-col2__link {
  display: grid;
  grid-template-columns: auto;
  border: 1px solid #999;
  border-radius: 4px;
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
}
@media print, screen and (min-width: 960px) {
  .p-management-policy-col2__link {
    grid-template-columns: 20.5rem 1fr;
    min-height: 13rem;
    max-width: none;
  }
  .p-management-policy-col2__link:hover {
    opacity: 0.7;
  }
}
.p-management-policy-col2__link img {
  border-radius: 4px 4px 0 0;
  object-fit: cover;
  height: 100%;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-management-policy-col2__link img {
    border-radius: 4px 0 0 4px;
  }
}

.p-management-policy-col2__img {
  height: 17.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-management-policy-col2__img {
    height: auto;
  }
}

.p-management-policy-col2__text-box {
  padding: 1.7rem 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-management-policy-col2__text-box {
    padding: 2rem 3rem;
  }
}

.p-management-policy-col2__text {
  display: inline-block;
  position: relative;
  padding-right: 1.8rem;
  font-size: 1.8rem;
  font-weight: bold;
}
.p-management-policy-col2__text::after {
  position: absolute;
  content: "";
  display: block;
  right: 0;
  top: 0.8rem;
  height: 1.4rem;
  width: 0.8rem;
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-black.svg) no-repeat center center/contain;
}

.p-management-policy-col2__sub-text {
  margin-top: 2rem;
  font-size: 1.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-management-policy-col2__sub-text {
    margin-top: 0.7rem;
  }
}

.p-ir-finance__heading + .p-ir-finance__content {
  margin-top: 1.5rem;
}

.p-ir-finance__heading-small {
  font-size: 1.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-ir-finance__heading-small {
    font-size: 1.8rem;
  }
}

.p-ir-finance__content {
  display: flex;
  flex-flow: column;
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
  padding: 2rem 0.5rem;
  border: 1px solid #222;
}
.p-ir-finance__content--scroll {
  max-width: none;
  padding: 0;
  border: none;
}

.p-ir-finance__content-inner {
  width: fit-content;
  padding: 2rem 1rem;
  border: 1px solid #222;
}
@media print, screen and (min-width: 960px) {
  .p-ir-finance__content-inner {
    width: 100%;
  }
}

.p-ir-finance-link {
  margin-top: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-ir-finance-link {
    margin-top: 2rem;
  }
}

.p-highlight-graph {
  width: 100%;
  max-width: 50rem;
  margin: 0 auto;
}
@media print, screen and (min-width: 960px) {
  .p-highlight-graph {
    margin: 0;
  }
}
.p-highlight-graph--stock {
  min-width: 92rem;
  max-width: unset;
}
@media print, screen and (min-width: 1300px) {
  .p-highlight-graph--stock {
    min-width: 100%;
  }
}

.p-highlight-media-box {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-highlight-media-box {
    align-items: flex-start;
    flex-direction: row;
    gap: 4rem;
  }
}

.p-highlight-media-box__content {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-highlight-media-box__content {
    flex-shrink: 1;
    flex-basis: 71rem;
    min-width: 0;
  }
}
.p-highlight-media-box__content > * + * {
  margin-top: 2.5rem;
}

.p-highlight-media-box__graph-box {
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
  padding: 2rem 1rem;
  border: 1px solid #222;
}
.p-highlight-media-box__graph-box > img {
  display: block;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-highlight-media-box__graph-box {
    flex-shrink: 1;
    flex-basis: 45rem;
    min-width: 0;
  }
}

/* statement */
.p-statement-col2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-statement-col2 {
    gap: 8%;
    justify-content: space-between;
  }
}

.p-statement-col2__content {
  display: grid;
  grid-template-rows: auto;
  gap: 1rem;
  max-width: 30rem;
}
@media print, screen and (min-width: 960px) {
  .p-statement-col2__content {
    grid-template-columns: 25rem 1fr;
    align-items: center;
    gap: 3rem;
    max-width: 100%;
  }
}

.p-statement-col2__title {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-statement-col2__title {
    gap: 2rem;
  }
}

/* glance */
.p-glance-history-button-container {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-glance-history-button-container {
    gap: 5rem;
  }
}

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

.p-glance-business__img {
  width: 11.4rem;
  margin: 0 auto;
}
@media print, screen and (min-width: 960px) {
  .p-glance-business__img {
    width: 18rem;
  }
}

.p-glance-business-box {
  display: grid;
  gap: 3rem;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-glance-business-box {
    gap: 7rem;
    grid-template-columns: repeat(2, 1fr);
    padding: 4rem 8rem;
  }
}

.p-glance-business-box__link {
  display: grid;
  align-items: center;
  grid-template-columns: 7rem 1fr;
  gap: 3rem;
  height: 100%;
}
@media print, screen and (min-width: 960px) {
  .p-glance-business-box__link {
    grid-template-columns: 8.5rem 1fr;
  }
  .p-glance-business-box__link:hover {
    opacity: 0.7;
  }
}

.p-glance-business-box__img {
  overflow: hidden;
  border-radius: 50%;
  height: 7rem;
  width: 7rem;
}
@media print, screen and (min-width: 960px) {
  .p-glance-business-box__img {
    height: 8.5rem;
    width: 8.5rem;
  }
}

.p-glance-business-box__img img {
  object-fit: cover;
  height: 100%;
}

.p-glance-business-box__content > * + * {
  padding-top: 1rem;
  border-top: 1px solid #ccc;
  margin-top: 1rem;
}

.p-glance-number {
  display: grid;
  row-gap: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-glance-number {
    gap: 6rem 8rem;
  }
}

.p-glance-number__content {
  display: grid;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-glance-number__content--finance {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
@media print, screen and (min-width: 960px) {
  .p-glance-number__content--dividend {
    grid-column: 2/3;
    grid-row: 1/2;
    align-self: start;
  }
}
@media print, screen and (min-width: 960px) {
  .p-glance-number__content--human-resource {
    grid-column: 1/3;
    grid-row: 2/3;
  }
}

.p-glance-number__explanation {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-glance-number__explanation {
    gap: 3rem;
  }
}

.p-glance-number__keyword {
  display: flex;
  align-items: center;
  gap: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-glance-number__keyword {
    gap: 4rem;
  }
}

.p-glance-number-img {
  min-width: 5.3rem;
  width: 5.3rem;
}
@media print, screen and (min-width: 960px) {
  .p-glance-number-img {
    width: 7.6rem;
  }
}

.p-glance-number-box {
  display: flex;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-glance-number-box {
    gap: 3rem;
  }
}
.p-glance-number-box--wrap {
  flex-wrap: wrap;
}

.p-glance-number-box__title {
  font-size: 1.4rem;
}

.p-glance-number-box__number {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  font-size: 1.4rem;
  font-weight: bold;
}
@media print, screen and (min-width: 960px) {
  .p-glance-number-box__number {
    font-size: 1.6rem;
  }
}

.p-glance-number-box__main-color {
  color: #003890;
  font-family: "Lato", "Noto Sans JP";
  font-size: 2.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-glance-number-box__main-color {
    font-size: 5rem;
  }
}

.p-ir-glance-future {
  background: url(../../assets/img/ir/glance/glance_img_future-bg.webp) no-repeat center/cover;
  padding: 6rem 0;
  width: 100%;
  color: #fff;
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .p-ir-glance-future {
    padding: 10rem 0;
  }
}

.p-ir-glance-future__img {
  width: min(100%, 38.4rem);
  margin: 0 auto;
}

.p-ir-glance-future__img img {
  width: 100%;
}

.p-ir-glance-future__heading + .p-ir-glance-future__content {
  margin-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-ir-glance-future__heading + .p-ir-glance-future__content {
    margin-top: 5rem;
  }
}

.p-ir-glance-future__content {
  line-height: 2;
}
.p-ir-glance-future__content > * + * {
  margin-top: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-ir-glance-future__content > * + * {
    margin-top: 5rem;
    font-size: 1.8rem;
  }
}

/* meeting */
.p-meeting-notice {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media print, screen and (min-width: 960px) {
  .p-meeting-notice {
    gap: 1rem;
  }
}

.p-meeting-img {
  display: grid;
  gap: 2rem;
  margin: 0 auto;
  max-width: 70rem;
}
@media print, screen and (min-width: 960px) {
  .p-meeting-img {
    grid-template-columns: repeat(2, 40rem);
    gap: 3rem;
    margin: 0;
  }
}

/* calendar */
.p-calendar__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 2rem 0;
  border-bottom: 1px solid #ccc;
}
@media print, screen and (min-width: 960px) {
  .p-calendar__list {
    padding: 2.5rem 0;
  }
}
.p-calendar__list:first-child {
  padding-top: 0;
}

.p-calendar__time {
  font-size: 1.4rem;
}

.p-chart {
  width: 100%;
  position: relative;
  display: flex;
  flex-flow: column;
  flex-grow: 1;
}

.p-chart-label {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0 4rem;
  font-size: 1.2rem;
  padding: 0.8rem;
  flex-grow: 1;
  flex-wrap: wrap;
}
.p-chart-label p {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.p-chart-label p img {
  width: 2rem;
  margin-top: -0.2rem;
}
@media print, screen and (min-width: 960px) {
  .p-chart-label {
    font-size: 1.6rem;
  }
}

.p-chart-label--no-grow {
  flex-grow: 0;
}

.p-chart-canvas {
  margin: 0 auto;
  width: 100%;
  max-width: 50rem;
  height: 22rem;
  position: relative;
}
@media print, screen and (min-width: 960px) {
  .p-chart-canvas {
    max-width: unset;
    height: 26rem;
  }
}

.p-chart-canvas--wide {
  max-width: unset;
}

.p-chart-canvas canvas {
  width: 100%;
  height: 22rem;
  min-height: 22rem;
  position: absolute;
  top: 0;
  left: 0;
}
@media print, screen and (min-width: 960px) {
  .p-chart-canvas canvas {
    height: 26rem;
    min-height: 26rem;
  }
}

.p-chart-annotation {
  margin: 0 auto;
  padding-right: 2rem;
  width: 100%;
  max-width: 50rem;
  font-size: 1.2rem;
  text-align: right;
}
@media print, screen and (min-width: 960px) {
  .p-chart-annotation {
    font-size: 1.6rem;
  }
}

/* p-sustainability-management */
.p-sustainability-management {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-sustainability-management {
    gap: 0 4.5%;
    flex-direction: row-reverse;
  }
}

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

@media print, screen and (min-width: 960px) {
  .p-sustainability-management__img {
    width: 45.5%;
  }
}
.p-sustainability-management__img img {
  width: 100%;
}

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

.p-sustainability-stakeholder__list {
  display: grid;
  gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-sustainability-stakeholder__list {
    grid-template-columns: 35rem 1fr;
    gap: 5%;
  }
}

.p-sustainability-stakeholder__img img {
  width: 100%;
}

/* scroll */
.p-scroll-x {
  overflow-x: auto;
  margin-right: -2rem;
}
@media print, screen and (min-width: 960px) {
  .p-scroll-x {
    overflow-x: visible;
    margin-right: 0;
  }
}
.p-scroll-x > * {
  margin-right: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-scroll-x > * {
    margin-right: 0;
  }
}
.p-scroll-x:has(.p-column-fix-table) {
  position: relative;
}
.p-scroll-x:has(.p-column-fix-table)::before, .p-scroll-x:has(.p-column-fix-table)::after {
  content: "";
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #ccc;
  z-index: 2;
}
.p-scroll-x:has(.p-column-fix-table)::before {
  top: 0;
}
.p-scroll-x:has(.p-column-fix-table)::after {
  bottom: 0;
}

.p-scroll-img {
  min-width: 96rem;
}
@media print, screen and (min-width: 960px) {
  .p-scroll-img {
    min-width: unset;
  }
}
.p-scroll-img--ir-glance {
  min-width: 52rem;
}
@media print, screen and (min-width: 520px) {
  .p-scroll-img--ir-glance {
    min-width: unset;
  }
}

.p-scroll-x-finger {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
.p-scroll-x-finger::before {
  content: "";
  display: inline-block;
  margin-right: 1rem;
  height: 2.3rem;
  width: 2rem;
  background: url(../../assets/img/cmn/cmn_icon_swipe.webp) no-repeat center center/contain;
  vertical-align: middle;
}
@media print, screen and (min-width: 960px) {
  .p-scroll-x-finger {
    display: none;
  }
}

/* recruit */
/* photo */
.p-photo-box-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8rem 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-photo-box-wrapper {
    gap: 12rem 4rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media print, screen and (min-width: 1300px) {
  .p-photo-box-wrapper {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.p-photo-box__inner {
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
}

.p-photo-box {
  display: flex;
  flex-direction: column;
}

.p-photo-box__name-wrapper {
  flex: 1;
}

.p-photo-box__img {
  display: block;
  border-radius: 5px;
  overflow: hidden;
  padding-top: 92.5925925926%;
  position: relative;
}

.p-photo-box__img img {
  height: 100%;
  width: auto;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.25s;
}

/* ホバー時画像拡大 */
@media print, screen and (min-width: 960px) {
  .p-photo-box__inner:hover img {
    transform: translate(-50%, -50%) scale(1.1);
  }
}

.p-photo-box__title {
  margin-top: 2rem;
  font-feature-settings: "palt";
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .p-photo-box__title {
    line-height: 1.6;
  }
}

/* training */
.p-training-img img {
  border-radius: 5px;
}

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

.p-training-box {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* 灰色背景のボックス（businessと同じ） */
.p-training-color-box {
  border-radius: 5px;
  padding: 3rem;
}
@media print, screen and (min-width: 960px) {
  .p-training-color-box {
    padding: 4rem;
  }
}
.p-training-color-box--gray {
  background-color: #f8f8f8;
}

.p-training-color-box + .p-training-color-box {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-training-color-box + .p-training-color-box {
    margin-top: 3rem;
  }
}

.p-training-color-box__heading + .p-training-color-box__content {
  margin-top: 1rem;
}
@media print, screen and (min-width: 960px) {
  .p-training-color-box__heading + .p-training-color-box__content {
    margin-top: 2rem;
  }
}

.p-training-color-box__content + .p-training-color-box__content {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-training-color-box__content + .p-training-color-box__content {
    margin-top: 4rem;
  }
}

.p-training-color-box__content__item + .p-training-color-box__content__item {
  margin-top: 1rem;
}

/* step */
.p-step {
  position: relative;
  width: 100%;
}

.p-step-item {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin-top: 4rem;
}
@media print, screen and (min-width: 960px) {
  .p-step-item {
    margin-top: 6rem;
  }
}

.p-step-item__flow {
  color: #003890;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  margin-top: 0.7rem;
}
@media print, screen and (min-width: 960px) {
  .p-step-item__flow {
    font-size: 2.4rem;
    margin-top: 1rem;
  }
}

.p-step-item__flow::before {
  content: "";
  display: block;
  position: absolute;
  left: 7.4rem;
  top: 0.9rem;
  border-radius: 50%;
  height: 1.4rem;
  width: 1.4rem;
  background-color: #003890;
}
@media print, screen and (min-width: 960px) {
  .p-step-item__flow::before {
    left: 9rem;
    top: 1.5rem;
  }
}

.p-step-item__flow-title {
  color: #003890;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  margin-right: 0.4rem;
}

.p-step-item__content {
  flex: 1;
  margin-left: 6.4rem;
}
@media print, screen and (min-width: 960px) {
  .p-step-item__content {
    margin-left: 7.4rem;
  }
}

.p-step-item:not(:last-child)::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 8rem;
  top: 1.5rem;
  height: calc(100% + 4rem);
  width: 0.2rem;
  background-color: #003890;
}
@media print, screen and (min-width: 960px) {
  .p-step-item:not(:last-child)::before {
    left: 9.6rem;
    top: 2.5rem;
    height: calc(100% + 5rem);
  }
}

.p-step-item__title + .p-step-item__text {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-step-item__title + .p-step-item__text {
    margin-top: 3rem;
  }
}

.p-step-item__text + .p-step-item__button {
  margin-top: 2rem;
}

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

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

/* 募集職種一覧SP時のパーツ */
.p-job-panel {
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  border-left: 1px solid #707070;
}
.p-job-panel + .p-job-panel {
  margin-top: 2rem;
}

.p-job-panel__heading {
  border-bottom: 1px solid #707070;
  padding: 1rem;
  background-color: #3f69a9;
}

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

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

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

.p-job-panel__link-box {
  border-block: 1px solid #707070;
  padding: 1rem;
  background-color: #f7faff;
}

.p-job-panel__link-title {
  font-size: 1.4rem;
  font-weight: bold;
}
.p-job-panel__link-title + * {
  margin-top: 0.5rem;
}

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

.p-job-link-list__item {
  display: flex;
  flex-grow: 1;
  max-width: calc((100% - 2rem) / 3);
}

.p-job-requirement-button {
  display: inline-flex;
  align-items: center;
  flex-grow: 1;
  justify-content: center;
  border: 1px solid #295cba;
  border-radius: 2.5rem;
  padding-inline: 1rem;
  min-height: 4.5rem;
  background-color: #fff;
  color: #295cba;
  font-feature-settings: "palt";
  font-size: 1.2rem;
  line-height: 1.4;
}
.p-job-requirement-button[target=_blank] .p-job-requirement-button__inner::after {
  content: "";
  display: inline-block;
  position: relative;
  height: 1.1rem;
  width: 1.1rem;
  background: url(../../assets/img/cmn/cmn_icon_other-window.svg) no-repeat center center/contain;
}
.p-job-requirement-button[href^=http] .p-job-requirement-button__inner::after {
  height: 1.1rem;
  width: 1.1rem;
  background: url(../../assets/img/cmn/cmn_icon_external-site.svg) no-repeat center center/contain;
}
@media print, screen and (min-width: 960px) {
  .p-job-requirement-button:hover {
    opacity: 0.7;
  }
}

.p-job-requirement-button__inner {
  text-align: center;
}

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

/* policy */
.p-policy-date {
  margin: 2rem 0;
  text-align: right;
}

.p-policy-box {
  border: 1px solid #ccc;
  padding: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-policy-box {
    padding: 3rem;
  }
}

.p-policy-table-margin {
  margin-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-policy-table-margin {
    margin-top: 2.5rem;
  }
}

/* sitemap */
.p-sitemap-link-title {
  position: relative;
  display: inline-block;
  padding-left: 2.5rem;
  font-size: 1.8rem;
}
@media print, screen and (min-width: 960px) {
  .p-sitemap-link-title {
    font-size: 2.4rem;
  }
}
@media print, screen and (min-width: 960px) {
  .p-sitemap-link-title:hover {
    opacity: 0.7;
  }
}
.p-sitemap-link-title::before {
  position: absolute;
  content: "";
  display: block;
  left: 0;
  top: calc(50% - 0.9rem);
  height: 1.8rem;
  width: 1rem;
  background: url(../../assets/img/cmn/cmn_icon_button-arrow-black.svg) no-repeat center center/contain;
}
.p-sitemap-link-title--no-link {
  padding-left: 0;
}
@media print, screen and (min-width: 960px) {
  .p-sitemap-link-title--no-link:hover {
    opacity: 1;
  }
}
.p-sitemap-link-title--no-link::before {
  content: none;
}

.p-sitemap-menu-wrapper {
  display: grid;
  row-gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-sitemap-menu-wrapper {
    grid-template-columns: repeat(2, 50%);
    row-gap: 0;
  }
}

.p-sitemap-menu {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}
@media print, screen and (min-width: 960px) {
  .p-sitemap-menu:first-child {
    grid-area: 1/1/2/2;
  }
  .p-sitemap-menu:last-child {
    grid-area: 1/2/2/3;
  }
}

.p-sitemap-menue__link {
  display: block;
}
@media print, screen and (min-width: 960px) {
  .p-sitemap-menue__link {
    width: fit-content;
  }
}

.p-sitemap-sub-menu {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  margin-top: 1rem;
  padding-left: 2rem;
}

/* 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: middle;
}
.p-component-color--main-first {
  background-color: #0958C2;
}
.p-component-color--text-normal {
  background-color: #222;
}
.p-component-color--text-link {
  background-color: #0958C2;
}
.p-component-color--text-white {
  background-color: #fff;
}
.p-component-color--background-first {
  background-color: #f5f9ff;
}
.p-component-color--background-second {
  background-color: #666;
}
.p-component-color--background-third {
  background-color: #f8f8f8;
}
.p-component-color--background-fourth {
  background-color: #eee;
}
.p-component-color--background-black {
  background-color: #222;
}
.p-component-color--border-first {
  background-color: #ccc;
}
.p-component-color--border-second {
  background-color: #999;
}
.p-component-color--border-white {
  background-color: #fff;
}
.p-component-color--border-black {
  background-color: #222;
}
.p-component-color--border-text-link {
  background-color: #0958C2;
}

/* 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-sp {
  display: block;
}
@media print, screen and (min-width: 960px) {
  .u-d-tab-sp {
    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-5 {
  margin-top: 0.5rem;
}

.u-mt-10 {
  margin-top: 1rem;
}

.u-mt-15 {
  margin-top: 1.5rem;
}

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

.u-mt-25 {
  margin-top: 2.5rem;
}

.u-mt-30 {
  margin-top: 3rem;
}

.u-mt-35 {
  margin-top: 3.5rem;
}

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

.u-mt-45 {
  margin-top: 4.5rem;
}

.u-mt-50 {
  margin-top: 5rem;
}

/* 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-current {
  font-weight: bold;
}

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

.u-fs-15 {
  font-size: 1.5rem;
}

.u-fs-12 {
  font-size: 1.2rem;
}

/* word */
.u-wb-auto-phrase {
  word-break: auto-phrase;
}

.u-wb-normal {
  word-break: normal;
}

.u-text-indent {
  margin-left: 2.6rem;
  text-indent: -2.4rem;
}

.u-text-indent-eng {
  margin-left: 2.1rem;
  text-indent: -1.7rem;
}

/* print */
@media print {
  .u-break-before {
    break-before: page;
  }
}

/* order */
.u-sp-order-1 {
  order: 1;
}
@media print, screen and (min-width: 960px) {
  .u-sp-order-1 {
    order: 0;
  }
}

.u-sp-order-2 {
  order: 2;
}
@media print, screen and (min-width: 960px) {
  .u-sp-order-2 {
    order: 0;
  }
}

.u-sp-order-3 {
  order: 3;
}
@media print, screen and (min-width: 960px) {
  .u-sp-order-3 {
    order: 0;
  }
}

.u-sp-order-4 {
  order: 4;
}
@media print, screen and (min-width: 960px) {
  .u-sp-order-4 {
    order: 0;
  }
}/*# sourceMappingURL=style.css.map */