@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700&display=swap");

/*===================================================

// パシフィックコンサルタンツ（株）採用サイト
// 20231101
// style.css

===================================================*/
@font-face {
  font-family: "pckk";
  src: url("../font/pckk.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

ul {
  list-style: none;
}

button {
  margin: 0;
  border: none;
  padding: 0;
  background: transparent;
  -webkit-appearance: none;
  appearance: none;
  font-size: 100%;
  font-family: inherit;
  box-shadow: none;
}

button {
  cursor: pointer;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
  -moz-appearance: textfield;
}

html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
video {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}

iframe {
  border: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

header,
footer,
main {
  display: block;
}

html {
  font-size: 62.5%;
}

@media print,
screen and (min-width: 769px) and (max-width: 1440px) {
  html {
    font-size: 55.555556%;
  }

  body {
    min-width: 144rem;
    overflow-x: auto !important;
  }
}

body {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.7;
  color: #132453;
  font-family: "Zen Kaku Gothic New", sans-serif;
  word-break: break-word;
  overflow-x: hidden;
  width: 100%;
}

@media print,
screen and (min-width: 768px) {
  body {
    font-size: 1.8rem;
  }
}

a {
  color: #006AF5;
  text-underline-offset: 3px;
}

@media print,
screen and (min-width: 768px) {
  a:hover {
    text-decoration: none;
  }
}

em {
  font-style: normal;
}

sub {
  vertical-align: baseline;
  font-size: 0.75em;
}

sup {
  vertical-align: text-top;
  font-size: 0.75em;
}

@media print,
screen and (max-width: 767px) {
  .l-wrapper {
    overflow-x: hidden;
  }
}

/*===================================================

 animation

===================================================*/
@keyframes width {
  0% {
    width: 100%;
  }

  100% {
    width: 0;
  }
}

/*===================================================

 accessibility

===================================================*/
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*===================================================

 icon

===================================================*/
[class^=icon-],
[class*=" icon-"] {
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
}

.icon-list:before {
  content: "\e91a";
}

.icon-home:before {
  content: "\e91b";
}

.icon-arrow-01_left:before {
  content: "\e900";
}

.icon-arrow-01_right:before {
  content: "\e901";
}

.icon-arrow-02_down:before {
  content: "\e902";
}

.icon-arrow-02_left:before {
  content: "\e903";
}

.icon-arrow-02_right:before {
  content: "\e904";
}

.icon-arrow-02_up:before {
  content: "\e905";
}

.icon-arrow-03_left:before {
  content: "\e906";
}

.icon-arrow-03_right:before {
  content: "\e907";
}

.icon-blank:before {
  content: "\e908";
}

.icon-circle:before {
  content: "\e909";
}

.icon-circle-double:before {
  content: "\e90a";
}

.icon-field-01:before,
.icon-field-02:before,
.icon-field-03:before,
.icon-field-04:before,
.icon-field-05:before,
.icon-field-06:before,
.icon-field-07:before,
.icon-field-08:before,
.icon-field-09:before,
.icon-field-10:before,
.icon-field-11:before,
.icon-field-12:before,
.icon-field-13:before,
.icon-field-14:before,
.icon-field-15:before {
  background: linear-gradient(135deg, #2E80D9 0%, #64A8FF 40%, #34CFBE 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.icon-field-01:before {
  content: "\e90b";
}

.icon-field-02:before {
  content: "\e90c";
}

.icon-field-03:before {
  content: "\e90d";
}

.icon-field-04:before {
  content: "\e90e";
}

.icon-field-05:before {
  content: "\e90f";
}

.icon-field-06:before {
  content: "\e910";
}

.icon-field-07:before {
  content: "\e911";
}

.icon-field-08:before {
  content: "\e912";
}

.icon-field-09:before {
  content: "\e913";
}

.icon-field-10:before {
  content: "\e914";
}

.icon-field-11:before {
  content: "\e915";
}

.icon-field-12:before {
  content: "\e916";
}

.icon-field-13:before {
  content: "\e917";
}

.icon-field-14:before {
  content: "\e91e";
}

/* PM/CM */
.icon-field-15:before {
  content: "\e91d";
}

/* youtube */
.icon-youtube {
  display: inline-flex;
  display: inline-flex align-items: center;
  width: 1em;
  height: 1em;
  position: relative;
}

/*===================================================

 header

===================================================*/
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: calc(100% - 10rem);
  z-index: 99;
  background: #fff;
}

@media print,
screen and (max-width: 767px) {
  .l-header {
    width: calc(100% - 6rem);
  }
}

.header-menu-white .l-header:not(.is-scroll) .header-nav>ul>li a,
.header-menu-white .l-header:not(.is-scroll) .header-nav>ul>li button {
  color: #fff;
}

.header-inner {
  display: flex;
  height: 10rem;
  padding-right: 2.4rem;
  transition: height 0.2s;
}

@media print,
screen and (max-width: 767px) {
  .header-inner {
    height: 6rem;
    padding-right: 0.8rem;
  }
}

@media print,
screen and (max-width: 1180px) {
  .header-inner {
    padding-right: 0;
  }
}

.header-logo {
  width: 16rem;
  max-width: 16rem;
  transition: width 0.2s;
}

@media print,
screen and (max-width: 767px) {
  .header-logo {
    width: 8rem;
  }
}

.header-nav {
  margin-left: auto;
  align-self: center;
}

.header-nav>ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 2rem 2.4vw;
  font-size: 1.7rem;
}

@media print,
screen and (max-width: 1180px) {
  .header-nav>ul {
    gap: 1rem 2vw;
    font-size: 1.6rem;
  }
}

.header-nav>ul>li a,
.header-nav>ul>li button {
  display: block;
  text-decoration: none;
  color: #132453;
  font-weight: 700;
  position: relative;
}

.header-nav>ul>li a::before,
.header-nav>ul>li button::before {
  content: "";
  display: block;
  width: 0;
  height: 2px;
  background: #0056B2;
  transform: translateX(-50%);
  position: absolute;
  bottom: -0.4vw;
  left: 50%;
  transition: width 0.4s;
}

@media print,
screen and (min-width: 768px) {

  .header-nav>ul>li a:hover::before,
  .header-nav>ul>li button:hover::before {
    width: 100%;
  }
}

.header-nav__btn-menu {
  display: flex;
  align-items: center;
  transition: color 0.2s;
  color: #132453;
}

.header-nav__btn-menu::after {
  content: "\e919";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-weight: 700;
}

.is-scroll .header-logo {
  width: 10rem;
}

@media print,
screen and (max-width: 767px) {
  .is-scroll .header-logo {
    width: 6rem;
  }
}

body.is-fixed .l-header {
  z-index: 101;
  background: transparent;
}

body.is-fixed .header-nav {
  display: none;
}

body.is-fixed .header-logo {
  width: 10rem;
}

@media print,
screen and (max-width: 767px) {
  body.is-fixed .header-logo {
    width: 6rem;
  }
}

body.is-fixed .l-side .side-bar__btn-menu .menu-line span {
  background: #132453 !important;
}

.header-transparent .l-header:not(.is-scroll) {
  background: transparent;
}

@media print,
screen and (max-width: 767px) {
  .header-transparent .l-header:not(.is-scroll)+.l-side .side-bar {
    background: transparent;
  }
}

@media print,
screen and (max-width: 767px) {
  .header-menu-white .l-header:not(.is-scroll) .header-nav__btn-menu {
    color: #fff;
  }

  .header-menu-white .l-header:not(.is-scroll)+.l-side .side-bar__btn-menu .menu-line span {
    background: #fff;
  }
}

body.page-about .header-nav ul li:nth-child(1) a::before {
  width: 100%;
}

body.page-business .header-nav ul li:nth-child(2) a::before {
  width: 100%;
}

body.page-style .header-nav ul li:nth-child(3) a::before {
  width: 100%;
}

body.page-interview .header-nav ul li:nth-child(4) a::before {
  width: 100%;
}

.l-category-menu {
  position: fixed;
  left: 0;
  bottom: -7.2rem;
  width: 100%;
  z-index: 99;
  transition: bottom 0.4s;
}

.l-category-menu.is-scroll {
  bottom: 0;
}

body.is-fixed .l-category-menu {
  display: none;
}

.category-menu-inner {
  background: #132453;
}

.category-menu-row {
  display: flex;
}

.category-menu-row[aria-hidden=true] {
  display: none;
}

.category-menu-row+.category-menu-row {
  border-top: 1px solid #fff;
}

.category-menu-toggle-btn {
  width: 6rem;
  border-left: 1px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.category-menu-toggle-btn span::before {
  content: "\e902";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: block;
  color: #fff;
  font-size: 1.8rem;
  transition: transform 0.2s;
}

.category-menu-toggle-btn[aria-expanded=true] span::before {
  transform: rotate(180deg);
}

.category-menu-list {
  display: flex;
  flex: 1;
}

.category-menu-list>li {
  flex: 1;
}

.category-menu-list>li:not(:first-child) {
  border-left: 1px solid #fff;
}

.category-menu-list>li>a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  font-feature-settings: "palt";
  line-height: 1.4;
  text-decoration: none;
  height: 7.2rem;
  position: relative;
}

.category-menu-list>li>a::before {
  content: "";
  border-style: solid;
  border-width: 1rem;
  position: absolute;
  top: 0;
  left: 0;
}

.category-menu-list>li>a.alumni,
.category-menu-list>li>a.challenged,
.category-menu-list>li>a.group,
.category-menu-list>li>a.young-professional {
  height: 5.6rem;
  font-size: 1.2rem;
}

.category-menu-list>li>a.career::before,
.category-menu-list>li>a.alumni::before,
.category-menu-list>li>a.young-professional::before {
  border-color: #822EFA transparent transparent #822EFA;
}

.category-menu-list>li>a.newgrad::before {
  border-color: #34CFBE transparent transparent #34CFBE;
}

.category-menu-list>li>a.intern::before {
  border-color: #FBA700 transparent transparent #FBA700;
}

.category-menu-list>li>a.challenged::before {
  border-color: #FF7EAE transparent transparent #FF7EAE;
}

.category-menu-list>li>a.group::before {
  border-color: #004896 transparent transparent #004896;
}

/* SP：プライバシー設定のアイコンがかぶってしまうため調整 */
.datasign__triggerAndDialogContainer--index-module {
  bottom: 80px;
}

/*===================================================

 footer

===================================================*/
.l-footer {
  padding-right: 10rem;
  margin-top: 8rem;
  background: #F1F4F6;
}

@media print,
screen and (max-width: 767px) {
  .l-footer {
    padding-right: 0;
    padding-bottom: 7.2rem;
    margin-top: 2.4rem;
  }
}

.footer-inner {
  padding: 5.6rem 8vw 4rem;
}

@media print,
screen and (max-width: 767px) {
  .footer-inner {
    padding: 2.4rem 1.6rem;
  }
}

.footer-info {
  margin-top: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .footer-info {
    margin-top: 0;
  }
}

.footer-info__accessibility {
  margin-bottom: 2.4rem;
  padding: 2rem 0;
  border-style: solid;
  border-color: #D6DBDC;
  border-width: 1px 0;
  text-align: center;
  font-size: 1.4rem;
  color: #656C7E;
}

@media print,
screen and (max-width: 767px) {
  .footer-info__accessibility {
    font-size: 1.2rem;
    text-align: left;
    padding: 1.6rem 0;
    border-width: 0 0 1px 0;
  }
}

.footer-info__row {
  display: flex;
  justify-content: space-between;
}

@media print,
screen and (max-width: 767px) {
  .footer-info__row {
    display: block;
    text-align: center;
  }
}

.footer-info__logo a {
  color: #656C7E;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
}

@media print,
screen and (max-width: 767px) {
  .footer-info__logo a {
    font-size: 1.4rem;
  }
}

.footer-info__copyright {
  font-size: 1.2rem;
  color: #656C7E;
}

@media print,
screen and (max-width: 767px) {
  .footer-info__copyright {
    margin-top: 1.6rem;
    font-size: 1.1rem;
  }
}

.footer-menu {
  display: flex;
  gap: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .footer-menu {
    display: block;
    margin-left: -1.6rem;
    margin-right: -1.6rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .footer-menu+.footer-menu {
    margin-top: 4rem;
  }
}

.footer-menu a {
  color: #132453;
  text-decoration: none;
}

@media print,
screen and (min-width: 768px) {
  .footer-menu a:hover {
    color: #006AF5;
  }
}

.footer-menu__col {
  flex: 1;
}

@media print,
screen and (max-width: 767px) {
  .footer-menu__block {
    border-bottom: 1px solid #D6DBDC;
  }
}

@media print,
screen and (min-width: 768px) {
  .footer-menu__block+.footer-menu__block {
    margin-top: 4rem;
  }
}

.footer-menu__block.-career,
.footer-menu__block.-alumni,
.footer-menu__block.-young-professional,
.footer-menu__block.-newgrad,
.footer-menu__block.-intern,
.footer-menu__block.-challenged,
.footer-menu__block.-group {
  padding-top: 1.6rem;
  position: relative;
  border-top: 1px solid #D6DBDC;
}

@media print,
screen and (max-width: 767px) {

  .footer-menu__block.-career,
  .footer-menu__block.-alumni,
  .footer-menu__block.-young-professional,
  .footer-menu__block.-newgrad,
  .footer-menu__block.-intern,
  .footer-menu__block.-challenged,
  .footer-menu__block.-group {
    padding-top: 0;
    border-top: none;
  }
}

.footer-menu__block.-career::before,
.footer-menu__block.-alumni::before,
.footer-menu__block.-young-professional::before,
.footer-menu__block.-newgrad::before,
.footer-menu__block.-intern::before,
.footer-menu__block.-challenged::before,
.footer-menu__block.-group::before {
  content: "";
  display: block;
  width: 4rem;
  height: 2px;
  position: absolute;
  top: -1px;
  left: 0;
}

@media print,
screen and (max-width: 767px) {

  .footer-menu__block.-career::before,
  .footer-menu__block.-alumni::before,
  .footer-menu__block.-young-professional::before,
  .footer-menu__block.-newgrad::before,
  .footer-menu__block.-intern::before,
  .footer-menu__block.-challenged::before,
  .footer-menu__block.-group::before {
    width: 2px;
    height: 100%;
    top: 0;
  }
}

.footer-menu__block.-career::before,
.footer-menu__block.-alumni::before,
.footer-menu__block.-young-professional::before {
  background: #822EFA;
}

.footer-menu__block.-newgrad::before {
  background: #34CFBE;
}

.footer-menu__block.-intern::before {
  background: #FBA700;
}

.footer-menu__block.-challenged::before {
  background: #FF7EAE;
}

.footer-menu__block.-group::before {
  background: #0056B2;
}

@media print,
screen and (max-width: 767px) {

  .footer-menu__block.-alumni .footer-menu__parent,
  .footer-menu__block.-young-professional .footer-menu__parent,
  .footer-menu__block.-challenged .footer-menu__parent,
  .footer-menu__block.-group .footer-menu__parent,
  .footer-menu__block.not-accordion .footer-menu__parent {
    padding: 0;
  }

  .footer-menu__block.-alumni .footer-menu__parent::before,
  .footer-menu__block.-young-professional .footer-menu__parent::before,
  .footer-menu__block.-challenged .footer-menu__parent::before,
  .footer-menu__block.-group .footer-menu__parent::before,
  .footer-menu__block.not-accordion .footer-menu__parent::before {
    content: "\e904";
  }

  .footer-menu__block.-alumni .footer-menu__parent>a,
  .footer-menu__block.-young-professional .footer-menu__parent>a,
  .footer-menu__block.-challenged .footer-menu__parent>a,
  .footer-menu__block.-group .footer-menu__parent>a,
  .footer-menu__block.not-accordion .footer-menu__parent>a {
    display: block;
    pointer-events: auto;
    padding: 1.6rem 4rem 1.6rem 2rem;
  }
}

.footer-menu__parent {
  font-size: 1.7rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
}

@media print,
screen and (max-width: 767px) {
  .footer-menu__parent {
    cursor: pointer;
    font-size: 1.4rem;
    line-height: 1.2;
    margin-bottom: 0;
    padding: 1.6rem 4rem 1.6rem 2rem;
    position: relative;
  }

  .footer-menu__parent::before {
    content: "\e919";
    font-family: "pckk" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    font-size: 1.6rem;
    font-weight: 700;
    position: absolute;
    top: 50%;
    right: 1.6rem;
    margin-top: -1rem;
    background: #fff;
    width: 2rem;
    height: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    transition: transform 0.2s;
  }

  .footer-menu__parent[aria-expanded=false]::before {
    content: "\e919";
  }

  .footer-menu__parent[aria-expanded=true]::before {
    content: "\e918";
    transform: rotate(180deg);
  }

  .footer-menu__parent>a {
    pointer-events: none;
  }
}

.footer-menu__list {
  font-size: 1.5rem;
}

@media print,
screen and (max-width: 767px) {
  .footer-menu__list {
    transition: opacity 0.2s, padding 0.2s;
    font-size: 1.4rem;
  }

  .footer-menu__list[aria-hidden=true] {
    visibility: hidden;
    opacity: 0;
    padding: 0 0 0 2.4rem;
  }

  .footer-menu__list[aria-hidden=true]>li {
    height: 0;
    margin: 0;
    padding: 0;
  }

  .footer-menu__list[aria-hidden=false] {
    visibility: visible;
    opacity: 1;
    padding: 1.6rem 0 1.6rem 2.4rem;
  }

  .footer-menu__list[aria-hidden=false]>li:not(:last-child) {
    margin-bottom: 1.5em;
  }
}

.footer-menu__list>li {
  margin-bottom: 0.5em;
}

.footer-menu__list>li>a {
  display: inline-block;
  position: relative;
  padding-left: 1em;
}

.footer-menu__list>li>a::before {
  content: "";
  width: 0.4em;
  height: 1px;
  background: #a5a9aa;
  position: absolute;
  top: 50%;
  left: 0;
}

/*===================================================

 main

===================================================*/
.l-main {
  padding-top: 16rem;
  padding-right: 10rem;
  transition: background 1s;
}

@media print,
screen and (max-width: 767px) {
  .l-main {
    padding-top: 6rem;
    padding-right: 0;
  }
}

.main-full-img {
  margin: 4rem 0;
}

@media print,
screen and (max-width: 767px) {
  .main-full-img {
    margin: 2.4rem 0;
  }
}

.main-full-img img {
  width: 100%;
  height: 18.75vw;
  object-fit: cover;
}

@media print,
screen and (max-width: 767px) {
  .main-full-img img {
    height: 16rem;
  }
}

/*===================================================

 side

===================================================*/
.l-side {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
}

.side-bar {
  background: #fff;
  width: 10rem;
  height: 100vh;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 101;
}

@media print,
screen and (max-width: 767px) {
  .side-bar {
    width: 6rem;
    height: 6rem;
  }
}

.side-bar__btn-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
}

.side-bar__btn-menu .menu-line {
  width: 3.2rem;
  height: 2rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .side-bar__btn-menu .menu-line {
    width: 2.4rem;
    height: 1.5rem;
  }
}

.side-bar__btn-menu .menu-line span {
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  background: #132453;
  transition: all 0.4s;
}

@media print,
screen and (max-width: 767px) {
  .side-bar__btn-menu .menu-line span {
    height: 1px;
  }
}

.side-bar__btn-menu .menu-line span:nth-child(1) {
  left: 0;
  top: 0;
}

.side-bar__btn-menu .menu-line span:nth-child(2) {
  left: 0;
  top: 0.9rem;
}

@media print,
screen and (max-width: 767px) {
  .side-bar__btn-menu .menu-line span:nth-child(2) {
    top: 0.7rem;
  }
}

.side-bar__btn-menu .menu-line span:nth-child(3) {
  left: 0;
  bottom: 0;
}

.side-bar__btn-menu[aria-haspopup=false] .menu-line span:nth-child(1) {
  transform: rotate(210deg);
  top: 0.9rem;
}

@media print,
screen and (max-width: 767px) {
  .side-bar__btn-menu[aria-haspopup=false] .menu-line span:nth-child(1) {
    top: 0.7rem;
  }
}

.side-bar__btn-menu[aria-haspopup=false] .menu-line span:nth-child(2) {
  opacity: 0;
}

.side-bar__btn-menu[aria-haspopup=false] .menu-line span:nth-child(3) {
  transform: rotate(-210deg);
  bottom: 0.9rem;
}

@media print,
screen and (max-width: 767px) {
  .side-bar__btn-menu[aria-haspopup=false] .menu-line span:nth-child(3) {
    bottom: 0.7rem;
  }
}

.side-bar__btn-pagetop {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}

@media print,
screen and (min-width: 768px) {
  .side-bar__btn-pagetop:hover {
    background: #F1F4F6;
  }
}

.side-bar__btn-pagetop span {
  font-size: 3.2rem;
}

.side-bar__btn-pagetop span:before {
  content: "\e905";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
}

.side-bar__entry {
  position: absolute;
  top: 10rem;
  right: 0;
  z-index: 2;
}

.side-bar__entry>a,
.side-bar__entry>button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.4;
  color: #132453;
  text-decoration: none;
  text-align: center;
  border: 1rem solid;
  width: 13rem;
  height: 13rem;
  position: relative;
}

@media print,
screen and (min-width: 768px) {

  .side-bar__entry>a,
  .side-bar__entry>button {
    transition: filter 0.2s;
  }

  .side-bar__entry>a:hover,
  .side-bar__entry>button:hover {
    filter: brightness(105%);
  }
}

.side-bar__entry>a .txt-end,
.side-bar__entry>button .txt-end {
  margin-top: 1rem;
  border: 1px solid;
  border-radius: 2rem;
  font-size: 1.1rem;
  line-height: 1.3;
  padding: 0.2rem 1rem;
}

.side-bar__entry .entry-btn--career,
.side-bar__entry .entry-btn--registration {
  background: #F2EBFC;
  border-color: #822EFA;
}

.side-bar__entry .entry-btn--newgrad {
  background: #E0FBF8;
  border-color: #34CFBE;
}

.side-bar__entry .entry-btn--intern {
  background: #FFF6E5;
  border-color: #FBA700;
}

.side-bar__entry .entry-btn--modal {
  background: #E5F0FF;
  border-color: #0056B2;
}

.side-bar__entry .entry-btn--modal::after {
  content: "\e919";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-weight: 700;
  background: #0056B2;
  color: #fff;
  font-size: 1.4rem;
  bottom: 0;
  right: 0;
  position: absolute;
  padding: .7rem 0 0 .5rem;
  border-radius: 4px 0 0 0;
}

body.is-fixed .side-bar {
  background: transparent;
}

.global-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  background: rgba(241, 244, 246, 0.95);
  z-index: 99;
}

.global-panel[aria-hidden=false] {
  transition: right 600ms cubic-bezier(0.42, 0, 0.01, 1);
}

.global-panel[aria-hidden=true] {
  transition: right 200ms cubic-bezier(0.42, 0, 0.01, 1);
  right: -100%;
}

.global-panel__inner {
  height: 100%;
  padding: 10rem 16rem 4rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .global-panel__inner {
    padding: 8.8rem 2.4rem 8.8rem;
  }
}

.global-panel__inner a {
  color: #132453;
  text-decoration: none;
}

@media print,
screen and (min-width: 768px) {
  .global-panel__inner a:hover {
    color: #006AF5;
  }
}

.global-panel__bottom-list {
  position: absolute;
  bottom: 4rem;
  left: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .global-panel__bottom-list {
    bottom: 1.6rem;
    left: auto;
    right: 2.4rem;
    text-align: right;
  }
}

.global-panel__bottom-list>li {
  font-size: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .global-panel__bottom-list>li {
    font-size: 1.4rem;
  }
}

.global-panel__scroll {
  overflow-y: auto;
  overscroll-behavior: contain;
  height: 100%;
  padding: 0 4vw 0 0;
}

@media print,
screen and (max-width: 767px) {
  .global-panel__scroll {
    padding: 0;
  }
}

@media print,
screen and (min-width: 768px) {
  .global-panel__scroll::-webkit-scrollbar {
    width: 0.8rem;
  }

  .global-panel__scroll::-webkit-scrollbar-track {
    background: #DCE1E8;
    border-radius: 1rem;
  }

  .global-panel__scroll::-webkit-scrollbar-thumb {
    background: #ADB0BA;
    border-radius: 1rem;
  }
}

.global-panel__row {
  display: flex;
  justify-content: flex-end;
  gap: 6vw;
}

@media print,
screen and (max-width: 767px) {
  .global-panel__row {
    display: block;
  }
}

.global-panel__col {
  position: relative;
}

@media print,
screen and (min-width: 768px) {
  .global-panel__col.-recruit-menu {
    padding-left: 6.4rem;
  }
}

.global-panel__block {
  line-height: 1.4;
  margin-bottom: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .global-panel__block {
    margin-bottom: 3.2rem;
  }
}

.global-panel__parent {
  font-size: 2.4rem;
  font-weight: 900;
  margin-bottom: 0.75em;
}

@media print,
screen and (max-width: 767px) {
  .global-panel__parent {
    font-size: 1.8rem;
    margin-bottom: 1em;
  }
}

.global-panel__parent>a {
  display: flex;
  align-items: center;
}

.global-panel__parent>a .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  background: #006AF5;
  color: #fff;
  margin-right: 0.5em;
}

.global-panel__parent>a .arrow::before {
  content: "\e901";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 1.2rem;
}

.-career .global-panel__parent>a .arrow,
.-alumni .global-panel__parent>a .arrow,
.-young-professional .global-panel__parent>a .arrow {
  background: #822EFA;
}

.-newgrad .global-panel__parent>a .arrow {
  background: #34CFBE;
}

.-intern .global-panel__parent>a .arrow {
  background: #FBA700;
}

.-challenged .global-panel__parent>a .arrow {
  background: #FF7EAE;
}

.-group .global-panel__parent>a .arrow {
  background: #004896;
}

.global-panel__menu-list {
  margin-bottom: 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .global-panel__menu-list {
    margin-bottom: 3.2rem;
  }
}

.global-panel__menu-list>li {
  font-size: 1.6rem;
  margin-bottom: 1em;
}

@media print,
screen and (max-width: 767px) {
  .global-panel__menu-list>li {
    font-size: 1.4rem;
  }
}

.global-panel__menu-list>li>a {
  display: inline-block;
  position: relative;
  padding-left: 1em;
}

.global-panel__menu-list>li>a::before {
  content: "";
  width: 0.4em;
  height: 1px;
  background: #132453;
  position: absolute;
  top: 50%;
  left: 0;
}

.-career .global-panel__menu-list>li>a::before {
  background: #822EFA;
}

.-newgrad .global-panel__menu-list>li>a::before {
  background: #34CFBE;
}

.-intern .global-panel__menu-list>li>a::before {
  background: #FBA700;
}

.-challenged .global-panel__menu-list>li>a::before {
  background: #FF7EAE;
}

.-group .global-panel__menu-list>li>a::before {
  background: #004896;
}

.global-panel__vertical-label {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .global-panel__vertical-label {
    position: static;
    flex-direction: row;
    margin-bottom: 2.4rem;
    gap: 0 1rem;
  }
}

.global-panel__vertical-label span {
  line-height: 1;
  font-weight: 700;
  display: block;
}

@media print,
screen and (min-width: 768px) {
  .global-panel__vertical-label span {
    writing-mode: vertical-lr;
    letter-spacing: 0.2em;
    padding-bottom: 1em;
  }
}

.global-panel__vertical-label::after {
  content: "";
  width: 1px;
  flex-grow: 1;
  background: #D6DBDC;
}

@media print,
screen and (max-width: 767px) {
  .global-panel__vertical-label::after {
    width: auto;
    height: 1px;
  }
}

/*===================================================

 local

===================================================*/
.local-header {
  padding-left: 8vw;
  padding-right: 8vw;
  position: relative;
  margin-bottom: 3vw;
}

@media print,
screen and (max-width: 767px) {
  .local-header {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    padding-top: 4rem;
    margin-bottom: 4rem;
  }
}

.local-header__inner {
  width: 100%;
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding-top: 9.3vw;
}

@media print,
screen and (max-width: 767px) {
  .local-header__inner {
    padding-top: 24vw;
  }
}

.local-header__content {
  position: relative;
  z-index: 1;
}

.local-header__parent {
  font-size: 2.4rem;
  font-weight: 600;
  font-style: italic;
  line-height: 1;
  margin-bottom: 1rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .local-header__parent {
    font-size: 1.8rem;
  }
}

.local-header__parent span {
  position: relative;
}

.local-header__parent span::after {
  content: "";
  display: block;
  width: 10rem;
  border-top: 2px solid;
  position: absolute;
  left: calc(100% + 0.5em);
  top: 50%;
  margin-top: -1px;
}

@media print,
screen and (max-width: 767px) {
  .local-header__parent span::after {
    width: 4rem;
  }
}

.local-header__heading-en {
  font-size: 7.2rem;
  font-weight: 600;
  font-style: italic;
  line-height: 1;
  margin-bottom: 1rem;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.4em;
  opacity: 0;
}

@media print,
screen and (max-width: 767px) {
  .local-header__heading-en {
    font-size: 3.2rem;
  }
}

.local-header__heading-en .word {
  display: flex;
}

.local-header__heading-en .letter {
  display: flex;
}

.local-header__heading {
  font-size: 2.4rem;
  font-weight: 700;
  color: #132453;
  line-height: 1.2;
}

@media print,
screen and (max-width: 767px) {
  .local-header__heading {
    font-size: 1.4rem;
  }
}

.local-header__heading.-large {
  font-size: 3.2rem;
}

@media print,
screen and (max-width: 767px) {
  .local-header__heading.-large {
    font-size: 1.8rem;
  }
}

.local-header__copy {
  font-size: 3.2rem;
  font-weight: 700;
  margin-top: 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .local-header__copy {
    font-size: 1.8rem;
    margin-top: 3.2rem;
  }
}

.local-header .txt-bg-white {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.local-header .txt-bg-white .local-header__heading-en {
  background: #fff;
  padding: 0 0.3em 0 0.2em;
}

.local-header .txt-bg-white .local-header__heading {
  background: #fff;
  padding: 0.2em 0.4em 0.3em;
}

.local-header .slash {
  position: absolute;
  top: 1vw;
  left: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .local-header .slash {
    top: 0;
    left: 1rem;
  }
}

.local-header .circle-01 {
  top: 0;
  right: 7vw;
}

@media print,
screen and (max-width: 767px) {
  .local-header .circle-01 {
    right: -4rem;
  }
}

.local-header .circle-02 {
  top: 4vw;
  right: -9vw;
}

.local-header .circle-03 {
  top: 0;
  right: -9vw;
}

.local-header .circle-04 {
  top: 13vw;
  right: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .local-header .circle-04 {
    top: 10rem;
    right: 4rem;
  }
}

.local-header .circle-05 {
  bottom: -10vw;
  left: -6vw;
}

@media print,
screen and (max-width: 767px) {
  .local-header .circle-05 {
    bottom: auto;
    left: auto;
    top: 0;
    right: 2rem;
  }
}

.local-header .circle-06 {
  bottom: -24vw;
  right: -7vw;
}

@media print,
screen and (max-width: 767px) {
  .local-header .circle-06 {
    bottom: -10rem;
    left: auto;
    right: -4rem;
  }
}

.local-page-category {
  font-size: 3.6rem;
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  margin-bottom: 1.6rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .local-page-category {
    font-size: 1.8rem;
  }
}

.local-page-category .txt-en {
  font-weight: 600;
}

.local-page-category span {
  position: relative;
}

.local-page-category span::after {
  content: "";
  display: block;
  width: 10rem;
  border-top: 2px solid;
  position: absolute;
  left: calc(100% + 0.5em);
  top: 50%;
  margin-top: -1px;
}

@media print,
screen and (max-width: 767px) {
  .local-page-category span::after {
    width: 4rem;
  }
}

.local-page-category em {
  font-size: 6.4rem;
  font-style: italic;
}

@media print,
screen and (max-width: 767px) {
  .local-page-category em {
    font-size: 3.2rem;
  }
}

/*===================================================

 section

===================================================*/
.section {
  padding: 8rem 8vw;
}

@media print,
screen and (max-width: 767px) {
  .section {
    padding: 4rem 1.6rem;
  }
}

.section-inner {
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
}

.section-inner[data-size=s] {
  max-width: 108rem;
}

.section-inner[data-size=m] {
  max-width: 128rem;
}

.section-inner[data-size=l] {
  max-width: 144rem;
}

.section-inner[data-size=max] {
  max-width: initial;
}

/*===================================================

 breadcrumb

===================================================*/
.breadcrumb {
  padding: 4rem 8vw;
}

@media print,
screen and (max-width: 767px) {
  .breadcrumb {
    padding: 1.6rem;
  }
}

.breadcrumb>ul {
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.5rem;
}

@media print,
screen and (max-width: 767px) {
  .breadcrumb>ul {
    font-size: 1.1rem;
  }
}

.breadcrumb>ul>li {
  display: flex;
  align-items: center;
}

.breadcrumb>ul>li:not(:last-child)::after {
  content: "\e904";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  color: #656C7E;
  font-size: 0.8em;
  margin: 0 1em;
}

@media print,
screen and (max-width: 767px) {
  .breadcrumb>ul>li:not(:last-child)::after {
    margin: 0 0.5em;
  }
}

.breadcrumb>ul>li a {
  color: #132453;
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: all 0.2s;
}

@media print,
screen and (min-width: 768px) {
  .breadcrumb>ul>li a:hover {
    color: #006AF5;
  }
}

.breadcrumb>ul>li a .icon-home {
  font-size: 2rem;
}

@media print,
screen and (max-width: 767px) {
  .breadcrumb>ul>li a .icon-home {
    font-size: 1.6rem;
  }
}

/*===================================================

 heading

===================================================*/
.heading-01 {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.4;
}

.heading-01 .txt-en {
  font-weight: 600;
}

@media print,
screen and (max-width: 767px) {
  .heading-01 {
    font-size: 2.4rem;
  }
}

.heading-02 {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.4;
}

@media print,
screen and (max-width: 767px) {
  .heading-02 {
    font-size: 2rem;
  }
}

.heading-03 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 1em;
}

@media print,
screen and (max-width: 767px) {
  .heading-03 {
    font-size: 1.8rem;
  }
}

.heading-04 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.75em;
}

@media print,
screen and (max-width: 767px) {
  .heading-04 {
    font-size: 1.6rem;
  }
}

.heading-05 {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.75em;
}

@media print,
screen and (max-width: 767px) {
  .heading-05 {
    font-size: 1.5rem;
  }
}

.square--blue,
.square--orange,
.square--green,
.square--purple {
  display: flex;
  align-items: center;
}

.square--blue::before,
.square--orange::before,
.square--green::before,
.square--purple::before {
  content: "■";
  font-size: 0.7em;
  margin-right: 0.5em;
}

.square--blue::before {
  color: #0056B2;
}

.square--orange::before {
  color: #FBA700;
}

.square--green::before {
  color: #34CFBE;
}

.square--purple::before {
  color: #822EFA;
}

.heading-center {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 7.2rem;
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .heading-center {
    margin-bottom: 3.6rem;
  }
}

.heading-center__inner {
  position: relative;
}

.heading-center .slash.-left {
  position: absolute;
  top: -2vw;
  right: 100%;
}

@media print,
screen and (max-width: 767px) {
  .heading-center .slash.-left {
    top: -2.4rem;
  }
}

.heading-center .slash.-center {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.heading-center .txt-en {
  font-style: italic;
  font-weight: 600;
}

.heading-center .txt-bottom {
  width: 100%;
  display: block;
  font-size: 2.4rem;
  margin-top: 0.5em;
}

@media print,
screen and (max-width: 767px) {
  .heading-center .txt-bottom {
    font-size: 1.4rem;
  }
}

.heading-left {
  display: flex;
  align-items: center;
  margin-bottom: 5.6rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .heading-left {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 2.4rem;
  }
}

.heading-left .slash.-left {
  position: absolute;
  top: -2.5vw;
  right: 100%;
}

@media print,
screen and (max-width: 767px) {
  .heading-left .slash.-left {
    top: -3.4rem;
    right: calc(100% - 2.4rem);
  }
}

.heading-left .slash.-right {
  position: absolute;
  top: -2.5vw;
  right: -3.8vw;
}

.heading-left .slash.-top {
  position: absolute;
  bottom: 100%;
  left: 0;
}

.heading-left .slash.-center {
  text-align: center;
}

.heading-left .txt-en {
  font-style: italic;
}

.heading-left__txt {
  margin-left: 2em;
  font-size: 2rem;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .heading-left__txt {
    font-size: 1.2rem;
    margin-left: 0;
  }
}

/*===================================================

 button

===================================================*/
.btn-primary {
  position: relative;
  background: linear-gradient(135deg, #006AF5 0%, #34CFBE 100%);
  border-radius: 5rem;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  padding: 1em 3em 1em 2em;
}

@media print,
screen and (max-width: 767px) {
  .btn-primary {
    justify-content: center;
    width: 100%;
  }
}

@media print,
screen and (min-width: 768px) {
  .btn-primary {
    transition: box-shadow 0.2s;
  }

  .btn-primary:hover::after,
  a:hover .btn-primary::after {
    right: 1em;
  }
}

.btn-primary::before {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  top: 3px;
  left: 3px;
  background: #fff;
  border-radius: 5rem;
}

@media print,
screen and (max-width: 767px) {
  .btn-primary::before {
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    top: 2px;
    left: 2px;
  }
}

.btn-primary::after {
  content: "\e901";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 1.2em;
  margin-top: -0.5em;
  font-size: 1.2em;
  transition: right 0.2s;
}

.btn-primary span {
  position: relative;
  color: #132453;
  font-weight: 700;
  line-height: 1.4;
}

.btn-primary[data-color=pink] {
  background: linear-gradient(135deg, #FF7EAE 0%, #FFC147 100%);
}

.btn-primary[data-color=pink]::after {
  color: #FF7EAE;
}

.btn-primary[data-color=blue] {
  background: linear-gradient(135deg, #006AF5 0%, #34CFBE 100%);
}

.btn-primary[data-color=blue]::after {
  color: #006AF5;
}

.btn-primary[data-color=green] {
  background: linear-gradient(135deg, #12BCAA 0%, #DFDF63 100%);
}

.btn-primary[data-color=green]::after {
  color: #34CFBE;
}

.btn-primary[data-color=purple] {
  background: linear-gradient(135deg, #006AF5 0%, #822EFA 100%);
}

.btn-primary[data-color=purple]::after {
  color: #822EFA;
}

.btn-primary[data-size=m] {
  height: 7.2rem;
  font-size: 1.8rem;
}

@media print,
screen and (max-width: 767px) {
  .btn-primary[data-size=m] {
    height: auto;
    min-height: 4rem;
    font-size: 1.4rem;
  }
}

.btn-primary[data-size=l] {
  height: 8.4rem;
  font-size: 2.2rem;
}

@media print,
screen and (max-width: 767px) {
  .btn-primary[data-size=l] {
    height: auto;
    min-height: 4.8rem;
    font-size: 1.4rem;
  }
}

.btn-secondary {
  font-size: 2.4rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: #132453;
}

@media print,
screen and (max-width: 767px) {
  .btn-secondary {
    font-size: 1.4rem;
  }
}

.btn-secondary[data-color=white] {
  color: #fff;
}

.btn-secondary[data-color=orange] .arrow {
  color: #FBA700;
}

.btn-secondary[data-color=blue] .arrow {
  color: #006AF5;
}

.btn-secondary[data-color=blue2] .arrow {
  color: #0056B2;
}

.btn-secondary[data-color=green] .arrow {
  color: #34CFBE;
}

.btn-secondary[data-color=purple] .arrow {
  color: #822EFA;
}

.btn-secondary[data-color=pink] .arrow {
  color: #FF7EAE;
}

.btn-secondary small {
  font-size: 0.75em;
}

.btn-secondary .icon-blank {
  margin-right: 0.2em;
  font-size: 1.1em;
}

.btn-secondary .arrow {
  margin-left: 0.2em;
  width: 2.5em;
  height: 2.5em;
  aspect-ratio: 1/1;
  display: block;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .btn-secondary .arrow {
    font-size: 1.4rem;
  }
}

.btn-secondary .arrow::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 80%);
  transform: rotate(80deg);
}

@media print,
screen and (max-width: 767px) {
  .btn-secondary .arrow::before {
    border-width: 1px;
  }
}

.btn-secondary .arrow::after {
  content: "\e901";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -0.5em;
  transition: left 0.2s;
}

.btn-secondary:hover .arrow::after,
a:hover .btn-secondary .arrow::after {
  left: 0.5em;
}

.btn-cv {
  position: relative;
  background: linear-gradient(135deg, #006AF5 0%, #34CFBE 100%);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 1em 3em 1em 2em;
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .btn-cv {
    padding: 1em 2em 1em 1.5em;
  }
}

@media print,
screen and (min-width: 768px) {
  .btn-cv:hover::after {
    right: 0.8em;
  }

  .btn-cv:hover::before {
    height: calc(100% - 14px);
  }
}

.btn-cv::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 8px);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: #fff;
  transition: height 0.4s cubic-bezier(0.42, 0, 0, 0.97);
}

@media print,
screen and (max-width: 767px) {
  .btn-cv::before {
    height: calc(100% - 6px);
  }
}

.btn-cv::after {
  content: "\e901";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 1em;
  margin-top: -0.5em;
  font-size: 1.5em;
  transition: right 0.2s cubic-bezier(0.42, 0, 0, 0.97);
}

@media print,
screen and (max-width: 767px) {
  .btn-cv::after {
    font-size: 1.2em;
  }
}

.btn-cv span {
  position: relative;
  color: #132453;
  font-weight: 700;
  line-height: 1.4;
}

.btn-cv[data-color=pink] {
  background: linear-gradient(135deg, #FF7EAE 0%, #FFC147 100%);
}

.btn-cv[data-color=pink]::after {
  color: #FF7EAE;
}

.btn-cv[data-color=blue] {
  background: linear-gradient(135deg, #006AF5 0%, #34CFBE 100%);
}

.btn-cv[data-color=blue]::after {
  color: #006AF5;
}

.btn-cv[data-color=green] {
  background: linear-gradient(135deg, #12BCAA 0%, #DFDF63 100%);
}

.btn-cv[data-color=green]::after {
  color: #34CFBE;
}

.btn-cv[data-color=purple] {
  background: linear-gradient(135deg, #006AF5 0%, #822EFA 100%);
}

.btn-cv[data-color=purple]::after {
  color: #822EFA;
}

.btn-cv[data-size=m] {
  min-height: 9rem;
  font-size: 2rem;
}

@media print,
screen and (max-width: 767px) {
  .btn-cv[data-size=m] {
    min-height: 5.6rem;
    font-size: 1.4rem;
  }
}

.btn-cv[data-size=l] {
  min-height: 15.6rem;
  font-size: 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .btn-cv[data-size=l] {
    min-height: 6.4rem;
    font-size: 1.6rem;
  }
}

.btn-cv-entry {
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  text-decoration: none;
  padding: 3.6rem;
  border: 4px solid;
  position: relative;
  overflow: hidden;
}

@media print,
screen and (max-width: 767px) {
  .btn-cv-entry {
    padding: 2rem 1.6rem;
    border-width: 3px;
  }
}

.btn-cv-entry::before {
  content: "";
  display: block;
  background: #E5F0FF;
  border-radius: 20rem;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.5;
  transition: all 0.25s cubic-bezier(0.42, 0, 0, 0.97);
}

@media print,
screen and (min-width: 768px) {
  .btn-cv-entry:hover::after {
    right: 0.8em;
  }

  .btn-cv-entry:hover::before {
    width: 100%;
    height: 100%;
    border-radius: 0;
  }
}

.btn-cv-entry::after {
  content: "\e901";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 1em;
  margin-top: -0.5em;
  font-size: 6rem;
  transition: right 0.2s;
}

@media print,
screen and (max-width: 767px) {
  .btn-cv-entry::after {
    font-size: 2.4rem;
    top: auto;
    bottom: 1rem;
    right: 1.6rem;
    margin-top: 0;
  }
}

.btn-cv-entry[data-color=green] {
  border-color: #34CFBE;
  color: #34CFBE;
}

.btn-cv-entry[data-color=green]::before {
  background: #E0FBF8;
}

.btn-cv-entry[data-color=purple] {
  border-color: #822EFA;
  color: #822EFA;
}

.btn-cv-entry[data-color=purple]::before {
  background: #F2EBFC;
}

.btn-cv-entry .txt-en {
  font-style: italic;
  font-size: 4.8rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.4rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .btn-cv-entry .txt-en {
    font-size: 2.8rem;
  }
}

.btn-cv-entry__txt {
  position: relative;
  color: #132453;
  font-size: 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .btn-cv-entry__txt {
    font-size: 1.6rem;
  }
}

.btn-cv-entry[data-size=m] {
  padding: 2.8rem 2rem;
}

@media print,
screen and (min-width: 768px) {
  .btn-cv-entry[data-size=m] {
    min-height: 15.6rem;
  }
}

@media print,
screen and (max-width: 767px) {
  .btn-cv-entry[data-size=m] {
    padding: 1.6rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .btn-cv-entry[data-size=m]::after {
    font-size: 3.6rem;
  }
}

.btn-cv-entry[data-size=m] .txt-en {
  font-size: 3.6rem;
  margin-bottom: 0.4rem;
}

@media print,
screen and (max-width: 767px) {
  .btn-cv-entry[data-size=m] .txt-en {
    font-size: 2.4rem;
  }
}

.btn-cv-entry[data-size=m] .btn-cv-entry__txt {
  font-size: 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .btn-cv-entry[data-size=m] .btn-cv-entry__txt {
    font-size: 1.6rem;
  }
}

.btn-zoom {
  color: #132453;
  border: 1px solid #D6DBDC;
  border-radius: 4rem;
  padding: 0.4rem 2rem;
  font-size: 1.6rem;
  display: inline-flex;
  align-items: center;
  transition: border 0.2s;
}

.btn-zoom::before {
  content: "\e91c";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 1.5em;
}

.btn-zoom:hover {
  border-color: #132453;
}

/*===================================================

 form パーツ

===================================================*/
.select-wrap {
  position: relative;
  display: inline-block;
  height: 3.6rem;
  border-radius: 3px;
}

.select-wrap::before {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0.8rem;
  border-style: solid;
  border-width: 5px;
  border-color: #132453 transparent transparent;
  pointer-events: none;
}

.select-wrap select {
  -webkit-appearance: none;
  appearance: none;
  padding-left: 0.8rem;
  padding-right: 2.4rem;
  width: 100%;
  height: 100%;
  text-overflow: ellipsis;
  box-shadow: none;
  border-radius: 4px;
  border: 1px solid #132453;
  background: #fff;
  cursor: pointer;
  outline: none;
}

.select-wrap select:focus,
.select-wrap select:hover {
  border-color: #132453;
}

.select-wrap select:disabled {
  pointer-events: none;
  opacity: 0.7;
}

/*===================================================

 link

===================================================*/
.link-txt {
  text-decoration: none;
  color: #132453;
}

@media print,
screen and (min-width: 768px) {
  .link-txt:hover {
    text-decoration: underline;
  }
}

.link-txt::after {
  content: "\e904";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  color: #006AF5;
}

.link-card {
  text-decoration: none;
  color: #132453;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.link-card::after {
  content: "\e901";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  color: #006AF5;
}

.link-blank::after {
  content: "\e908";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  color: #006AF5;
}

.link-back-index {
  text-decoration: none;
  padding: 0.5em 1.6em;
  border-radius: 4rem;
  background: #fff;
  transition: background 0.2s;
}

.link-back-index::before {
  content: "\e91a";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  margin-right: 0.5em;
}

@media print,
screen and (min-width: 768px) {
  .link-back-index:hover {
    background: #E5F0FF;
  }
}

.link-jump-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2em 2.5em;
}

@media print,
screen and (max-width: 767px) {
  .link-jump-list {
    gap: 1em 2em;
    font-size: 1.2rem;
  }
}

.link-jump-list>li a {
  display: flex;
  align-items: center;
  text-decoration: none;
  font-weight: 700;
  padding-right: 1.5em;
  position: relative;
}

.link-jump-list>li a:after {
  content: "\e902";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -0.5em;
}

@media print,
screen and (min-width: 768px) {
  .link-jump-list>li a:hover {
    text-decoration: underline;
  }
}

/*===================================================

 table

===================================================*/
.table {
  width: 100%;
  border-bottom: 1px solid #D6DBDC;
}

.table>tbody>tr>th {
  border-top: 2px solid #D6DBDC;
  padding: 3.2vw 0;
  vertical-align: top;
  text-align: left;
}

@media print,
screen and (max-width: 767px) {
  .table>tbody>tr>th {
    padding: 1.5em 0;
  }
}

.table>tbody>tr>td {
  border-top: 1px solid #D6DBDC;
  padding: 3.2vw 0 3.2vw 3.2vw;
}

@media print,
screen and (max-width: 767px) {
  .table>tbody>tr>td {
    padding: 1.5em 0 1.5em 1.5em;
  }
}

.table[data-color=blue]>tbody>tr>th {
  border-top-color: #006AF5;
}

.table[data-color=green]>tbody>tr>th {
  border-top-color: #34CFBE;
}

.table[data-color=purple]>tbody>tr>th {
  border-top-color: #822EFA;
}

.table[data-color=orange]>tbody>tr>th {
  border-top-color: #FBA700;
}

.table[data-color=pink]>tbody>tr>th {
  border-top-color: #FF7EAE;
}

.table-border-bottom>tbody>tr>th {
  border-bottom: 1px solid #D6DBDC;
  padding: 1.2em 0;
  font-weight: 700;
  text-align: left;
  vertical-align: top;
}

@media print,
screen and (max-width: 767px) {
  .table-border-bottom>tbody>tr>th {
    padding: 1.6rem 0;
  }
}

.table-border-bottom>tbody>tr>td {
  border-bottom: 1px solid #D6DBDC;
  padding: 1.2em 0 1.2em 2em;
}

@media print,
screen and (max-width: 767px) {
  .table-border-bottom>tbody>tr>td {
    padding: 1.6rem 0 1.6rem 1.6rem;
  }
}

.table-simple th {
  background: #F1F4F6;
  border: 1px solid #D6DBDC;
}

.table-simple thead th {
  padding: 0.5em 1em;
}

@media print,
screen and (max-width: 767px) {
  .table-simple thead th {
    padding: 0.3em 1em;
  }
}

.table-simple tbody th {
  padding: 1em;
}

.table-simple tbody td {
  border: 1px solid #D6DBDC;
  padding: 1em;
}

@media print,
screen and (max-width: 767px) {
  .table-simple tbody td {
    padding: 0.5em 1em;
  }
}

/*===================================================

 modal

===================================================*/
body.is-fixed {
  overflow-y: scroll;
}

.modal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 110;
  display: none;
}

.modal[aria-hidden=false] {
  display: flex;
}

.modal[aria-hidden=false] .modal-overlay {
  animation: fadeIn 0.2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

.modal[aria-hidden=false] .modal-content {
  animation: fadeIn 0.4s cubic-bezier(0.33, 1, 0.68, 1) 0s 1 forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.modal-overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(19, 36, 83, 0.75);
  z-index: 111;
  opacity: 0;
}

.modal-content {
  position: relative;
  z-index: 112;
  background: #fff;
  border-radius: 10px;
  max-width: 90vw;
  max-height: 90vh;
  opacity: 0;
  display: flex;
  flex-direction: column;
}

@media print,
screen and (max-width: 767px) {
  .modal-content {
    max-width: 94vw;
    max-height: 94dvh;
  }
}

.modal-content[data-size=s] {
  width: 108rem;
}

.modal-content[data-size=m] {
  width: 144rem;
}

.modal-content[data-size=l] {
  width: 100%;
}

/* SP用ハーフモーダル */
@media print,
screen and (max-width: 767px) {
  .modal-half .modal-content {
    max-width: 100%;
    max-height: 80vh;
    border-radius: 20px 20px 0 0;
    position: absolute;
    left: 0;
    bottom: 0;
    opacity: 1;
  }

  .modal-half[aria-hidden=false] .modal-content {
    animation: modalHalf 0.2s ease 0s 1 none;
  }

  @keyframes modalHalf {
    0% {
      transform: translate(0px, 100dvh);
    }

    100% {
      transform: translate(0px, 0px);
    }
  }
}

/*---------- */
.modal-content__header {
  text-align: center;
  padding: 4rem 8rem;
}

@media print,
screen and (max-width: 767px) {
  .modal-content__header {
    padding: 2rem 1.6rem;
  }
}

.modal-content__header .modal-ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}

@media print,
screen and (max-width: 767px) {
  .modal-content__header .modal-ttl {
    font-size: 1.8rem;
  }
}

.modal-content__body {
  flex: 1;
  overflow-y: auto;
  padding: 0 6.4rem 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .modal-content__body {
    padding: 0 2.4rem 2.4rem;
  }
}

.modal-btn-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 8rem;
  height: 8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media print,
screen and (max-width: 767px) {
  .modal-btn-close {
    width: 4.8rem;
    height: 4.8rem;
  }
}

.modal-btn-close .close-line {
  width: 3.2rem;
  height: 2rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .modal-btn-close .close-line {
    width: 2.4rem;
    height: 1.5rem;
  }
}

.modal-btn-close .close-line span {
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  background: #132453;
  transition: all 0.4s;
}

@media print,
screen and (max-width: 767px) {
  .modal-btn-close .close-line span {
    height: 1px;
  }
}

.modal-btn-close .close-line span:nth-child(1) {
  transform: rotate(210deg);
  top: 50%;
  left: 0;
}

.modal-btn-close .close-line span:nth-child(2) {
  transform: rotate(-210deg);
  top: 50%;
  left: 0;
}

.modal-btn-close-bottom {
  margin: 2.4rem auto 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #656C7E;
}

.modal-btn-close-bottom .close-txt {
  font-size: 1.1rem;
  font-style: italic;
}

.modal-btn-close-bottom .close-icon {
  width: 3.2rem;
  height: 2rem;
  position: relative;
}

.modal-btn-close-bottom .close-icon span {
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  background: #656C7E;
  transition: all 0.4s;
}

.modal-btn-close-bottom .close-icon span:nth-child(1) {
  transform: rotate(210deg);
  top: 50%;
  left: 0;
}

.modal-btn-close-bottom .close-icon span:nth-child(2) {
  transform: rotate(-210deg);
  top: 50%;
  left: 0;
}

.modal-recruit .recruit-menu-list {
  gap: 2.4rem;
}

.modal-recruit .recruit-menu-list>li {
  width: calc((100% - 4.8rem) / 3);
}

.modal-recruit .recruit-menu-list>li.col-2 {
  width: calc((100% - 2.4rem) / 2);
}

.modal-recruit .recruit-menu-list>li.col-3 {
  width: calc((100% - 4.8rem) / 3);
}

.modal-recruit .recruit-menu-list>li.col-4 {
  width: calc((100% - 7.2rem) / 4);
}

.modal-recruit .recruit-menu-card[data-type=horizontal] {
  height: 10rem;
}

.modal-recruit .recruit-menu-card__desc {
  padding: 2.4rem 2.4rem 4rem;
}

.modal-recruit .recruit-menu-card__desc::after {
  width: 4rem;
  height: 4rem;
  font-size: 1.8rem;
}

.modal-recruit .recruit-menu-card__desc .txt-en {
  font-size: 1.2rem;
}

.modal-recruit .recruit-menu-card__desc .txt-menu {
  font-size: 2.4rem;
}

/* モーダル（PC/SP）：採用エントリーボタン一覧 */
.modal-entry .modal-content {
  max-width: 640px;
}

.modal-entry .modal-content__body {
  padding: 0 6.4rem 7.2rem;
}

.modal-entry .entry-menu-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem 0;
}

.modal-entry .entry-menu-list__item>a {
  display: flex;
  align-items: center;
  justify-content: center;
  /*border: 4px solid;*/
  background: #F1F4F7;
  height: 8.8rem;
  font-size: 2.4rem;
  font-weight: 700;
  color: #132453;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.modal-entry .entry-menu-list__item>a::after {
  content: "\e901";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 1em;
  margin-top: -0.5em;
  font-size: 1em;
  transition: right 0.2s;
}

.modal-entry .entry-menu-list__item>a::before {
  content: "";
  display: block;
  background: #f00;
  border-radius: 20rem;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.5;
  transition: all 0.25s cubic-bezier(0.42, 0, 0, 0.97);
  mix-blend-mode: multiply;
}

.modal-entry .entry-menu-list__item>a.entry-btn::before {
  display: none;
}

@media print,
screen and (min-width: 768px) {
  .modal-entry .entry-menu-list__item>a:hover::after {
    right: 0.8em;
  }

  .modal-entry .entry-menu-list__item>a:hover::before {
    width: 100%;
    height: 100%;
    border-radius: 0;
  }

  .modal-entry .entry-menu-list .entry-btn--career::before,
  .modal-entry .entry-menu-list .entry-btn--alumni::before,
  .modal-entry .entry-menu-list .entry-btn--young-pro::before,
  .modal-entry .entry-menu-list .entry-btn--registration::before {
    background: #F2EBFC;
  }

  .modal-entry .entry-menu-list .entry-btn--newgrad::before {
    background: #E0FBF8;
  }
}

.modal-entry .entry-menu-list__item>a .txt {
  position: relative;
}

.modal-entry .entry-menu-list__item>a .txt-end {
  margin: 0 0 0 0.8rem;
  border: 1px solid;
  border-radius: 2rem;
  font-size: 1.1rem;
  line-height: 1;
  padding: 0.3rem 0.8rem;
}

.modal-entry .entry-menu-list .entry-btn--career {
  background: #dccaf9;
}

.modal-entry .entry-menu-list .entry-btn--alumni,
.modal-entry .entry-menu-list .entry-btn--young-pro,
.modal-entry .entry-menu-list .entry-btn--registration {
  background: #F2EBFC;
  border-color: #822EFA;
}

.modal-entry .entry-menu-list .entry-btn--career::after,
.modal-entry .entry-menu-list .entry-btn--alumni::after,
.modal-entry .entry-menu-list .entry-btn--young-pro::after,
.modal-entry .entry-menu-list .entry-btn--registration::after {
  color: #822EFA;
}

.modal-entry .entry-menu-list .entry-btn--newgrad {
  background: #E0FBF8;
  border-color: #34CFBE;
}

.modal-entry .entry-menu-list .entry-btn--newgrad::after {
  color: #34CFBE;
}

.modal-entry .entry-menu-list .entry-btn--intern {
  background: #FFF6E5;
  border-color: #FBA700;
}

.modal-entry .entry-menu-list .entry-btn--intern::after {
  color: #FBA700;
}

@media print,
screen and (max-width: 767px) {
  .modal-entry .modal-content {
    max-width: 84vw;
  }

  .modal-entry .modal-content__header {
    display: none;
  }

  .modal-entry .modal-content__body {
    padding: 2rem 2rem 1rem;
  }

  .modal-entry .entry-menu-list {
    gap: 1rem 0;
  }

  .modal-entry .entry-menu-list__item>a {
    /*border: 3px solid;*/
    height: 5.6rem;
    font-size: 1.4rem;
  }

  .modal-entry .entry-menu-list__item>a .txt-end {
    margin: 0 0 0 0.8rem;
    border: 1px solid;
    border-radius: 2rem;
    font-size: 1.1rem;
    line-height: 1;
    padding: 0.3rem 0.8rem;
  }
}

/* モーダル（PC）：新卒採用エントリーボタン選択 ※202509：第二新卒追加時点で不使用 */
.modal-newgrad .modal-content {
  max-width: 640px;
}

.modal-newgrad .modal-content__body {
  padding: 0 6.4rem 7.2rem;
}

.modal-newgrad .list-btn {
  gap: 3.2rem;
}

@media print,
screen and (min-width: 768px) {
  .modal-theme .modal-ttl {
    font-size: 3.2rem;
  }
}

.modal-theme .theme-description {
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .modal-theme .theme-description {
    flex-direction: column;
  }
}

.modal-theme .theme-description__img {
  max-width: 39rem;
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .modal-theme .theme-description__img {
    width: auto;
  }
}

.modal-theme .theme-description__txt {
  flex: 1;
  padding-left: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .modal-theme .theme-description__txt {
    padding: 1.6rem 0 0;
  }
}

.modal-theme .theme-description__txt p {
  line-height: 2;
}

.modal-zoom .modal-content__body {
  padding: 0 4rem 4rem;
}

.modal-zoom__img {
  text-align: center;
}

/*===================================================

 accordion

===================================================*/
/*===================================================

 slash

===================================================*/
.slash svg,
.mv-slash svg {
  aspect-ratio: 1/1;
}

.slash svg path,
.mv-slash svg path {
  position: relative;
  transform: translate(7.3rem, -13.3rem);
  opacity: 0;
  transition: all 600ms cubic-bezier(0.42, 0, 0.01, 1);
}

.slash.move svg path,
.mv-slash.move svg path {
  transform: translateY(0);
  opacity: 1;
}

.slash.move svg path:nth-child(2),
.mv-slash.move svg path:nth-child(2) {
  transition-delay: 0.2s;
}

.slash.show svg path,
.mv-slash.show svg path {
  transform: translateY(0);
  opacity: 1;
}

.slash.show svg g:nth-child(2) path,
.mv-slash.show svg g:nth-child(2) path {
  transition-delay: 0.2s;
}

.slash[data-size=s] svg,
.mv-slash[data-size=s] svg {
  width: 4.0625vw;
  height: 4.0625vw;
  max-width: 7.8rem;
}

@media print,
screen and (max-width: 767px) {

  .slash[data-size=s] svg,
  .mv-slash[data-size=s] svg {
    width: 9.23vw;
    height: 9.23vw;
  }
}

.slash[data-size=m] svg,
.mv-slash[data-size=m] svg {
  width: 6.25vw;
  height: 6.25vw;
  max-width: 12rem;
}

@media print,
screen and (max-width: 767px) {

  .slash[data-size=m] svg,
  .mv-slash[data-size=m] svg {
    width: 16.41vw;
    height: 16.41vw;
  }
}

.slash[data-size=l] svg,
.mv-slash[data-size=l] svg {
  width: 9.375vw;
  height: 9.375vw;
  max-width: 18rem;
}

@media print,
screen and (max-width: 767px) {

  .slash[data-size=l] svg,
  .mv-slash[data-size=l] svg {
    width: 20.512vw;
    height: 20.512vw;
  }
}

@keyframes show {
  0% {
    opacity: 0;
    transform: translate(7.3rem, -13.3rem);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.c-blue1 {
  animation: blue1 5s ease-in-out infinite alternate;
}

.c-blue2 {
  animation: blue2 5s ease-in-out infinite alternate;
}

.c-blue3 {
  animation: blue3 5s ease-in-out infinite alternate;
}

.c-purple1 {
  animation: purple1 5s ease-in-out infinite alternate;
}

.c-purple2 {
  animation: purple2 5s ease-in-out infinite alternate;
}

.c-purple3 {
  animation: purple3 5s ease-in-out infinite alternate;
}

.c-purple4 {
  animation: purple4 5s ease-in-out infinite alternate;
}

.c-purple5 {
  animation: purple5 5s ease-in-out infinite alternate;
}

.c-purple6 {
  animation: purple6 5s ease-in-out infinite alternate;
}

.c-green1 {
  animation: green1 5s ease-in-out infinite alternate;
}

.c-green2 {
  animation: green2 5s ease-in-out infinite alternate;
}

.c-green3 {
  animation: green3 5s ease-in-out infinite alternate;
}

.c-pink1 {
  animation: pink1 5s ease-in-out infinite alternate;
}

.c-pink2 {
  animation: pink2 5s ease-in-out infinite alternate;
}

.c-pink3 {
  animation: pink3 5s ease-in-out infinite alternate;
}

@keyframes blue1 {
  0% {
    stop-color: #004896;
  }

  100% {
    stop-color: #822EFA;
  }
}

@keyframes blue2 {
  0% {
    stop-color: #0070FF;
  }

  100% {
    stop-color: #3D72F9;
  }
}

@keyframes blue3 {
  0% {
    stop-color: #34CFBE;
  }

  100% {
    stop-color: #5AEFDF;
  }
}

@keyframes green1 {
  0% {
    stop-color: #12BCAA;
  }

  100% {
    stop-color: #90CE14;
  }
}

@keyframes green2 {
  0% {
    stop-color: #44C25D;
  }

  100% {
    stop-color: #63CE67;
  }
}

@keyframes green3 {
  0% {
    stop-color: #DFDF63;
  }

  100% {
    stop-color: #34CFBE;
  }
}

@keyframes purple1 {
  0% {
    stop-color: #9A61EC;
  }

  100% {
    stop-color: #FF8BCD;
  }
}

@keyframes purple2 {
  0% {
    stop-color: #F8737C;
  }

  100% {
    stop-color: #FFC147;
  }
}

@keyframes purple3 {
  0% {
    stop-color: #FFB626;
  }

  100% {
    stop-color: #B9EF5A;
  }
}

@keyframes purple4 {
  0% {
    stop-color: #822EFA;
  }

  100% {
    stop-color: #34CFBE;
  }
}

@keyframes purple5 {
  0% {
    stop-color: #1A6BFE;
  }

  100% {
    stop-color: #1A6BFE;
  }
}

@keyframes purple6 {
  0% {
    stop-color: #34CFBE;
  }

  100% {
    stop-color: #822EFA;
  }
}

@keyframes pink1 {
  0% {
    stop-color: #FF8BCD;
  }

  100% {
    stop-color: #9A61EC;
  }
}

@keyframes pink2 {
  0% {
    stop-color: #FFC147;
  }

  100% {
    stop-color: #F8737C;
  }
}

@keyframes pink3 {
  0% {
    stop-color: #B9EF5A;
  }

  100% {
    stop-color: #FFB626;
  }
}

#slash1 {
  fill: url(#slash-clippath1);
}

#slash2 {
  fill: url(#slash-clippath2);
}

#slash3 {
  fill: url(#slash-clippath3);
}

#slash4 {
  fill: url(#slash-clippath4);
}

#slash5 {
  fill: url(#slash-clippath5);
}

#slash6 {
  fill: url(#slash-clippath6);
}

#slash7 {
  fill: url(#slash-clippath7);
}

#slash8 {
  fill: url(#slash-clippath8);
}

#slash9 {
  fill: url(#slash-clippath9);
}

#slash10 {
  fill: url(#slash-clippath10);
}

#slash11 {
  fill: url(#slash-clippath11);
}

#slash12 {
  fill: url(#slash-clippath12);
}

#slash13 {
  fill: url(#slash-clippath13);
}

#slash14 {
  fill: url(#slash-clippath14);
}

#slash15 {
  fill: url(#slash-clippath15);
}

#slash16 {
  fill: url(#slash-clippath16);
}

#slash17 {
  fill: url(#slash-clippath17);
}

#slash18 {
  fill: url(#slash-clippath18);
}

#slash19 {
  fill: url(#slash-clippath19);
}

#slash20 {
  fill: url(#slash-clippath20);
}

#slash21 {
  fill: url(#slash-clippath21);
}

#slash22 {
  fill: url(#slash-clippath22);
}

#slash23 {
  fill: url(#slash-clippath23);
}

#slash24 {
  fill: url(#slash-clippath24);
}

#slash25 {
  fill: url(#slash-clippath25);
}

#slash26 {
  fill: url(#slash-clippath26);
}

#slash27 {
  fill: url(#slash-clippath27);
}

#slash28 {
  fill: url(#slash-clippath28);
}

#slash29 {
  fill: url(#slash-clippath29);
}

#slash30 {
  fill: url(#slash-clippath30);
}

#slash31 {
  fill: url(#slash-clippath31);
}

#slash32 {
  fill: url(#slash-clippath32);
}

#slash33 {
  fill: url(#slash-clippath33);
}

#slash34 {
  fill: url(#slash-clippath34);
}

#slash35 {
  fill: url(#slash-clippath35);
}

#slash36 {
  fill: url(#slash-clippath36);
}

#slash37 {
  fill: url(#slash-clippath37);
}

#slash38 {
  fill: url(#slash-clippath38);
}

#slash39 {
  fill: url(#slash-clippath39);
}

#slash40 {
  fill: url(#slash-clippath40);
}

#slash41 {
  fill: url(#slash-clippath41);
}

#slash42 {
  fill: url(#slash-clippath42);
}

#slash43 {
  fill: url(#slash-clippath43);
}

#slash44 {
  fill: url(#slash-clippath44);
}

#slash45 {
  fill: url(#slash-clippath45);
}

#slash46 {
  fill: url(#slash-clippath46);
}

#slash47 {
  fill: url(#slash-clippath47);
}

#slash48 {
  fill: url(#slash-clippath48);
}

#slash49 {
  fill: url(#slash-clippath49);
}

#slash50 {
  fill: url(#slash-clippath50);
}

#slash51 {
  fill: url(#slash-clippath51);
}

#slash52 {
  fill: url(#slash-clippath52);
}

#slash53 {
  fill: url(#slash-clippath53);
}

#slash54 {
  fill: url(#slash-clippath54);
}

#slash55 {
  fill: url(#slash-clippath55);
}

#slash56 {
  fill: url(#slash-clippath56);
}

#slash57 {
  fill: url(#slash-clippath57);
}

#slash58 {
  fill: url(#slash-clippath58);
}

#slash59 {
  fill: url(#slash-clippath59);
}

#slash60 {
  fill: url(#slash-clippath60);
}

#slash61 {
  fill: url(#slash-clippath61);
}

#slash62 {
  fill: url(#slash-clippath62);
}

#slash63 {
  fill: url(#slash-clippath63);
}

#slash64 {
  fill: url(#slash-clippath64);
}

#slash65 {
  fill: url(#slash-clippath65);
}

#slash66 {
  fill: url(#slash-clippath66);
}

#slash67 {
  fill: url(#slash-clippath67);
}

#slash68 {
  fill: url(#slash-clippath68);
}

#slash69 {
  fill: url(#slash-clippath69);
}

#slash70 {
  fill: url(#slash-clippath70);
}

#slash71 {
  fill: url(#slash-clippath71);
}

#slash72 {
  fill: url(#slash-clippath72);
}

#slash73 {
  fill: url(#slash-clippath73);
}

#slash74 {
  fill: url(#slash-clippath74);
}

#slash75 {
  fill: url(#slash-clippath75);
}

#slash76 {
  fill: url(#slash-clippath76);
}

#slash77 {
  fill: url(#slash-clippath77);
}

#slash78 {
  fill: url(#slash-clippath78);
}

#slash79 {
  fill: url(#slash-clippath79);
}

#slash80 {
  fill: url(#slash-clippath80);
}

#slash81 {
  fill: url(#slash-clippath81);
}

#slash82 {
  fill: url(#slash-clippath82);
}

#slash83 {
  fill: url(#slash-clippath83);
}

#slash84 {
  fill: url(#slash-clippath84);
}

#slash85 {
  fill: url(#slash-clippath85);
}

#slash86 {
  fill: url(#slash-clippath86);
}

#slash87 {
  fill: url(#slash-clippath87);
}

#slash88 {
  fill: url(#slash-clippath88);
}

#slash89 {
  fill: url(#slash-clippath89);
}

#slash90 {
  fill: url(#slash-clippath90);
}

#slash91 {
  fill: url(#slash-clippath91);
}

#slash92 {
  fill: url(#slash-clippath92);
}

#slash93 {
  fill: url(#slash-clippath93);
}

#slash94 {
  fill: url(#slash-clippath94);
}

#slash95 {
  fill: url(#slash-clippath95);
}

#slash96 {
  fill: url(#slash-clippath96);
}

#slash97 {
  fill: url(#slash-clippath97);
}

#slash98 {
  fill: url(#slash-clippath98);
}

#slash99 {
  fill: url(#slash-clippath99);
}

#slash100 {
  fill: url(#slash-clippath100);
}

/*===================================================

 circle

===================================================*/
.circle {
  aspect-ratio: 1/1;
  border-radius: 50%;
  z-index: -1;
  mix-blend-mode: multiply;
  position: absolute;
}

.circle[data-anime=anime1] {
  animation: uneune1 10s linear infinite;
}

.circle[data-anime=anime2] {
  animation: uneune2 10s linear infinite;
}

.circle[data-anime=anime3] {
  animation: uneune3 10s linear infinite;
}

.circle[data-size="1"] {
  width: 6vw;
  max-width: 11.5rem;
}

@media print,
screen and (max-width: 767px) {
  .circle[data-size="1"] {
    width: 12vw;
  }
}

.circle[data-size="2"] {
  width: 12vw;
  max-width: 23rem;
}

@media print,
screen and (max-width: 767px) {
  .circle[data-size="2"] {
    width: 20vw;
  }
}

.circle[data-size="3"] {
  width: 18vw;
  max-width: 34.5rem;
}

@media print,
screen and (max-width: 767px) {
  .circle[data-size="3"] {
    width: 30vw;
  }
}

.circle[data-size="4"] {
  width: 24vw;
  max-width: 46rem;
}

@media print,
screen and (max-width: 767px) {
  .circle[data-size="4"] {
    width: 40vw;
  }
}

.circle[data-size="5"] {
  width: 30vw;
  max-width: 57.6rem;
}

@media print,
screen and (max-width: 767px) {
  .circle[data-size="5"] {
    width: 50vw;
  }
}

.circle[data-size="6"] {
  width: 40vw;
  max-width: 76.8rem;
}

@media print,
screen and (max-width: 767px) {
  .circle[data-size="6"] {
    width: 60vw;
  }
}

.circle[data-color=green-bd] {
  border: 1px solid #70D7CC;
}

.circle[data-color=blue-bd] {
  border: 1px solid #71AAF5;
}

.circle[data-color=orange-bd] {
  border: 1px solid #FFBB33;
}

.circle[data-color=pink-bd] {
  border: 1px solid #FBA9C8;
}

.circle[data-color=purple-bd] {
  border: 1px solid #C0A0EF;
}

.circle[data-color=green-bg] {
  background: #E0FBF8;
}

.circle[data-color=blue-bg] {
  background: #E5F0FF;
}

.circle[data-color=orange-bg] {
  background: #FFF6E5;
}

.circle[data-color=pink-bg] {
  background: #FFEFF5;
}

.circle[data-color=purple-bg] {
  background: #F2EBFC;
}

@keyframes uneune1 {
  25% {
    border-radius: 69% 47% 75% 49%/66% 71% 45% 56%;
  }

  75% {
    border-radius: 69% 95% 88% 92%/74% 94% 69% 80%;
  }
}

@keyframes uneune2 {
  25% {
    border-radius: 84% 78% 72% 92%/70% 77% 70% 88%;
  }

  75% {
    border-radius: 97% 81% 81% 90%/83% 72% 82% 64%;
  }
}

@keyframes uneune3 {
  25% {
    border-radius: 50% 100% 76% 70%/60% 92% 53% 49%;
  }

  75% {
    border-radius: 63% 91% 50% 96%/71% 65% 83% 84%;
  }
}

/*===================================================

 nav

===================================================*/
.page-nav ul {
  display: flex;
  flex-direction: column;
}

.page-nav ul>li {
  position: relative;
  margin-top: 4rem;
}

.page-nav ul>li::before,
.page-nav ul>li::after {
  content: "";
  display: block;
  position: absolute;
  left: 0.7rem;
  width: 1px;
  height: calc(50% + 2rem);
  background: #004896;
}

.page-nav ul>li::before {
  bottom: 50%;
}

.page-nav ul>li::after {
  top: 50%;
}

.page-nav ul>li:first-child::before,
.page-nav ul>li:last-child::after {
  display: none;
}

.page-nav ul>li.is-current {
  font-weight: 600;
}

.page-nav ul>li.is-current a::before {
  background: #004896;
}

.page-nav ul>li a {
  font-size: 1.5rem;
  line-height: 1.4;
  color: #132453;
  text-decoration: none;
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.page-nav ul>li a::before {
  content: "";
  position: relative;
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  border: 1px solid #004896;
  background: #fff;
  flex-shrink: 0;
  z-index: 1;
}

.page-nav[data-color=blue] ul>li::before,
.page-nav[data-color=blue] ul>li::after {
  background: #0056B2;
}

.page-nav[data-color=blue] ul>li.is-current a::before {
  background: #0056B2;
}

.page-nav[data-color=blue] ul>li a::before {
  border-color: #0056B2;
}

.page-nav[data-color=blue] a {
  color: #0056B2;
}

.page-nav[data-color=orange] ul>li::before,
.page-nav[data-color=orange] ul>li::after {
  background: #FBA700;
}

.page-nav[data-color=orange] ul>li.is-current a::before {
  background: #FBA700;
}

.page-nav[data-color=orange] ul>li a::before {
  border-color: #FBA700;
}

/*===================================================

 copy

===================================================*/
.copy-line {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.copy-line__txt,
.copy-line>p,
.copy-line>span {
  background: #fff;
  line-height: 1;
  font-weight: 700;
  padding: 0.3em 0.4em;
  color: #132453;
}

.copy-line__txt small,
.copy-line>p small,
.copy-line>span small {
  font-size: 0.6em;
}

.copy-line[data-size=l] {
  font-size: 5.6rem;
}

@media print,
screen and (max-width: 767px) {
  .copy-line[data-size=l] {
    font-size: 2rem;
  }
}

.copy-line[data-size=m] {
  font-size: 4.4rem;
}

@media print,
screen and (max-width: 767px) {
  .copy-line[data-size=m] {
    font-size: 2rem;
  }
}

.copy-line[data-size=s] {
  font-size: 3.2rem;
}

@media print,
screen and (max-width: 767px) {
  .copy-line[data-size=s] {
    font-size: 1.7rem;
  }
}

.copy-line[data-size=xs] {
  font-size: 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .copy-line[data-size=xs] {
    font-size: 1.4rem;
  }
}

/*===================================================

 card

===================================================*/
.card-block {
  position: relative;
}

.card-block:not(:last-child) {
  margin-bottom: 28rem;
}

@media print,
screen and (max-width: 767px) {
  .card-block:not(:last-child) {
    margin-bottom: 8rem;
  }
}

.card-block__link {
  display: flex;
  color: #132453;
  gap: 0 4vw;
  text-decoration: none;
}

@media print,
screen and (max-width: 767px) {
  .card-block__link {
    display: block;
  }
}

@media print,
screen and (min-width: 768px) {
  .card-block__link:hover .card-block__img {
    filter: drop-shadow(0 0 4rem rgba(19, 36, 83, 0.2));
  }

  .card-block__link:hover .card-block__img img {
    transform: scale(1.05);
  }
}

.card-block__img {
  width: 60%;
  flex-shrink: 0;
  transition: filter 0.4s;
  position: relative;
}

@media print,
screen and (max-width: 767px) {

  .card-block__img .img-cover,
  .card-block__img .img-multiple {
    display: none !important;
  }
}

.card-block__img[data-size=l] {
  width: 60%;
}

.card-block__img[data-size=m] {
  width: 50%;
}

.card-block__img[data-size=s] {
  width: 40%;
}

.card-block__img img {
  transition: transform 0.8s;
}

.card-block__img .img-cover {
  overflow: hidden;
}

.card-block__img .img-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media print,
screen and (min-width: 768px) {
  .card-block__sp-img {
    display: none;
  }
}

.card-block .img-multiple {
  overflow: hidden;
  display: flex;
  gap: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .card-block .img-multiple {
    gap: 1.6rem;
  }
}

.card-block .img-multiple__item:nth-child(even) {
  margin-top: 10%;
}

.card-block__ttl {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.4;
}

@media print,
screen and (max-width: 767px) {
  .card-block__ttl {
    font-size: 1.8rem;
  }
}

.card-block__txt {
  position: relative;
}

@media print,
screen and (min-width: 768px) {
  .card-block.-left .card-block__link {
    flex-direction: row-reverse;
  }

  .card-block.-left .card-block__copy .copy-line:not(.is-hidden) {
    right: auto;
    left: 0;
  }

  .card-block.-left .copy-line>p {
    padding-left: 0;
  }
}

@media print,
screen and (min-width: 768px) {
  .card-block.-right .head-line-txt .txt-en::after {
    left: auto;
    right: calc(100% + 0.5em);
  }

  .card-block.-right .copy-line {
    align-items: flex-end;
  }

  .card-block.-right .copy-line>p {
    padding-right: 0;
  }
}

.card-block__slash {
  position: absolute;
  bottom: 100%;
  left: 0;
}

.card-block__slash2 {
  position: absolute;
  bottom: 100%;
  left: -5vw;
}

.card-block__head {
  display: flex;
  align-items: center;
  line-height: 1.4;
  margin-bottom: 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .card-block__head {
    margin-bottom: 1rem;
  }
}

.card-block__head .head-num {
  font-size: 8rem;
  line-height: 1;
  padding-right: 0.4em;
  margin-right: 0.4em;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .card-block__head .head-num {
    font-size: 4rem;
  }
}

.card-block__head .head-num::after {
  content: "";
  display: block;
  width: 1px;
  height: 80%;
  border-right: 1px solid;
  position: absolute;
  top: 10%;
  right: 0;
}

.card-block__head .head-num.txt-en {
  font-style: italic;
  font-weight: 500;
}

.card-block__head .head-txt {
  color: #132453;
  flex: 1;
}

@media print,
screen and (max-width: 767px) {
  .card-block__head .head-txt {
    font-size: 1.4rem;
  }
}

.card-block__head .head-line-txt {
  display: flex;
  align-items: center;
  width: 100%;
}

.card-block__head .head-line-txt .txt-en {
  font-style: italic;
  font-weight: 600;
  font-size: 4rem;
  position: relative;
  white-space: nowrap;
}

@media print,
screen and (max-width: 767px) {
  .card-block__head .head-line-txt .txt-en {
    font-size: 2rem;
  }
}

.card-block__head .head-line-txt .txt-en::after {
  content: "";
  display: block;
  width: 10rem;
  border-top: 2px solid;
  mix-blend-mode: plus-lighter;
  position: absolute;
  left: calc(100% + 0.5em);
  top: 50%;
  margin-top: -1px;
}

@media print,
screen and (max-width: 767px) {
  .card-block__head .head-line-txt .txt-en::after {
    width: 5rem;
    border-top-width: 1px;
  }
}

.card-block__head[data-color=orange] {
  color: #FBA700;
  font-weight: 700;
  font-size: 2rem;
}

.card-block__head[data-color=purple] {
  color: #822EFA;
}

.card-block__head[data-color=blue1] {
  color: #004896;
}

.card-block__head[data-color=blue2] {
  color: #0056B2;
}

.card-block__head[data-color=blue3] {
  color: #006AF5;
}

.card-block__copy {
  position: relative;
  margin-bottom: 3.2rem;
}

@media print,
screen and (max-width: 767px) {
  .card-block__copy {
    margin-bottom: 1.6rem;
  }
}

@media print,
screen and (max-width: 767px) {
  .card-block__copy .copy-line>p {
    padding-left: 0;
  }
}

.card-block__copy .copy-line.is-hidden {
  width: 100%;
}

@media print,
screen and (max-width: 767px) {
  .card-block__copy .copy-line.is-hidden {
    display: none;
  }
}

.card-block__copy .copy-line.is-hidden>p {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.card-block__copy .copy-line:not(.is-hidden) {
  position: absolute;
  top: 0;
  right: 0;
  white-space: nowrap;
}

@media print,
screen and (max-width: 767px) {
  .card-block__copy .copy-line:not(.is-hidden) {
    top: auto;
    right: auto;
    left: 0;
    bottom: 0;
  }
}

.card-block__lead-txt {
  line-height: 2;
}

.card-block__lead-txt.line-clamp {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.card-block__btn {
  margin-top: 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .card-block__btn {
    margin-top: 1.6rem;
    text-align: right;
  }
}

.card-block--related .card-block__head .head-num {
  font-size: 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .card-block--related .card-block__head .head-num {
    font-size: 3.2rem;
  }
}

.card-block--related .card-block__sp-img {
  aspect-ratio: 2/1;
  margin-bottom: 0.8rem;
}

.card-block--related .card-block__sp-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-bnr {
  display: flex;
  position: relative;
  background: #fff;
  text-decoration: none;
  filter: drop-shadow(0 0 1.6rem rgba(19, 36, 83, 0.05));
  transition: filter 0.4s;
}

@media print,
screen and (min-width: 768px) {
  .card-bnr:hover {
    filter: drop-shadow(0 0 2.4rem rgba(19, 36, 83, 0.2));
  }

  .card-bnr:hover img {
    transform: scale(1.05);
  }
}

.card-bnr[data-color=orange] {
  color: #FBA700;
}

.card-bnr[data-color=blue1] {
  color: #004896;
}

.card-bnr[data-color=blue2] {
  color: #0056B2;
}

.card-bnr[data-color=blue3] {
  color: #006AF5;
}

.card-bnr__img {
  width: 36%;
  flex-shrink: 0;
  overflow: hidden;
}

@media print,
screen and (max-width: 767px) {
  .card-bnr__img {
    aspect-ratio: 6/7;
  }
}

.card-bnr__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s;
}

.card-bnr__caption {
  flex: 1;
  padding: 3.2rem 3.2rem 1.6rem 4rem;
  display: flex;
  flex-direction: column;
}

@media print,
screen and (max-width: 767px) {
  .card-bnr__caption {
    padding: 1.6rem 1.6rem 1rem 2rem;
  }
}

.card-bnr__head {
  margin-bottom: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .card-bnr__head {
    margin-bottom: 1.6rem;
  }
}

.card-bnr__head .head-line-txt {
  display: flex;
  align-items: center;
}

.card-bnr__head .head-line-txt .txt-en {
  font-style: italic;
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 1;
  position: relative;
  white-space: nowrap;
}

@media print,
screen and (max-width: 767px) {
  .card-bnr__head .head-line-txt .txt-en {
    font-size: 1.2rem;
  }
}

.card-bnr__head .head-line-txt .txt-en::before {
  content: "";
  display: block;
  width: 3rem;
  border-top: 2px solid #fff;
  position: absolute;
  right: calc(100% + 4rem);
  top: 50%;
  margin-top: -1px;
}

@media print,
screen and (max-width: 767px) {
  .card-bnr__head .head-line-txt .txt-en::before {
    width: 1.6rem;
    border-width: 1px;
    right: calc(100% + 2rem);
  }
}

.card-bnr__head .head-line-txt .txt-en::after {
  content: "";
  display: block;
  width: 3rem;
  border-top: 2px solid;
  position: absolute;
  right: calc(100% + 1rem);
  top: 50%;
  margin-top: -1px;
}

@media print,
screen and (max-width: 767px) {
  .card-bnr__head .head-line-txt .txt-en::after {
    width: 1.6rem;
    border-width: 1px;
    right: calc(100% + 0.4rem);
  }
}

.card-bnr__ttl {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4;
  color: #132453;
}

@media print,
screen and (max-width: 767px) {
  .card-bnr__ttl {
    font-size: 1.6rem;
  }
}

.card-bnr__btn {
  margin-top: auto;
  text-align: right;
  font-weight: 600;
  font-style: italic;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5em;
}

@media print,
screen and (max-width: 767px) {
  .card-bnr__btn {
    font-size: 1.1rem;
  }
}

.card-bnr__btn::after {
  content: "\e901";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 3.2rem;
}

@media print,
screen and (max-width: 767px) {
  .card-bnr__btn::after {
    font-size: 1.6rem;
  }
}

/*===================================================

 snippet

===================================================*/
/*===================================================

 snippet

===================================================*/
.is-hide {
  display: none !important;
}

.is-hidden {
  visibility: hidden;
}

/*
 PC/SP出し分け
---------------------------------------------------*/
@media print,
screen and (max-width: 767px) {
  .is-show--pc {
    display: none !important;
  }
}

@media print,
screen and (min-width: 768px) {
  .is-show--sp {
    display: none !important;
  }
}

/*
 font
---------------------------------------------------*/
.txt-en {
  font-family: "Poppins", sans-serif;
}

.txt-min {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

/*
 hover透過
---------------------------------------------------*/
@media print,
screen and (min-width: 768px) {
  .hover {
    transition: opacity 0.2s;
  }

  .hover:hover {
    opacity: 0.8;
  }
}

/*
 テキストウエイト
---------------------------------------------------*/
.fw--normal {
  font-weight: 400 !important;
}

.fw--medium {
  font-weight: 500 !important;
}

.fw--bold,
b {
  font-weight: 700 !important;
}

@media print,
screen and (min-width: 768px) {
  .pc-fw--bold {
    font-weight: 700 !important;
  }
}

.italic {
  font-style: italic;
}

/*
 テキストサイズ
---------------------------------------------------*/
.fs--xs {
  font-size: 1.2rem !important;
}

@media print,
screen and (max-width: 767px) {
  .fs--xs {
    font-size: 1.1rem !important;
  }
}

.fs--s {
  font-size: 1.4rem !important;
}

@media print,
screen and (max-width: 767px) {
  .fs--s {
    font-size: 1.2rem !important;
  }
}

.fs--sm {
  font-size: 1.6rem !important;
}

@media print,
screen and (max-width: 767px) {
  .fs--sm {
    font-size: 1.3rem !important;
  }
}

.fs--m {
  font-size: 1.8rem !important;
}

@media print,
screen and (max-width: 767px) {
  .fs--m {
    font-size: 1.4rem !important;
  }
}

.fs--ml {
  font-size: 2rem !important;
}

@media print,
screen and (max-width: 767px) {
  .fs--ml {
    font-size: 1.6rem !important;
  }
}

.fs--l {
  font-size: 2.2rem !important;
}

@media print,
screen and (max-width: 767px) {
  .fs--l {
    font-size: 1.8rem !important;
  }
}

.fs--xl {
  font-size: 2.4rem !important;
}

@media print,
screen and (max-width: 767px) {
  .fs--xl {
    font-size: 2rem !important;
  }
}

@media print,
screen and (max-width: 767px) {
  .sp-fs--10 {
    font-size: 1rem !important;
  }

  .sp-fs--11 {
    font-size: 1.1rem !important;
  }

  .sp-fs--12 {
    font-size: 1.2rem !important;
  }

  .sp-fs--13 {
    font-size: 1.3rem !important;
  }

  .sp-fs--14 {
    font-size: 1.4rem !important;
  }

  .sp-fs--15 {
    font-size: 1.5rem !important;
  }

  .sp-fs--16 {
    font-size: 1.6rem !important;
  }

  .sp-fs--17 {
    font-size: 1.7rem !important;
  }

  .sp-fs--18 {
    font-size: 1.8rem !important;
  }

  .sp-fs--19 {
    font-size: 1.9rem !important;
  }

  .sp-fs--20 {
    font-size: 2rem !important;
  }

  .sp-fs--21 {
    font-size: 2.1rem !important;
  }

  .sp-fs--22 {
    font-size: 2.2rem !important;
  }

  .sp-fs--23 {
    font-size: 2.3rem !important;
  }

  .sp-fs--24 {
    font-size: 2.4rem !important;
  }
}

@media print,
screen and (min-width: 768px) {
  .pc-fs--10 {
    font-size: 1rem !important;
  }

  .pc-fs--11 {
    font-size: 1.1rem !important;
  }

  .pc-fs--12 {
    font-size: 1.2rem !important;
  }

  .pc-fs--13 {
    font-size: 1.3rem !important;
  }

  .pc-fs--14 {
    font-size: 1.4rem !important;
  }

  .pc-fs--15 {
    font-size: 1.5rem !important;
  }

  .pc-fs--16 {
    font-size: 1.6rem !important;
  }

  .pc-fs--17 {
    font-size: 1.7rem !important;
  }

  .pc-fs--18 {
    font-size: 1.8rem !important;
  }

  .pc-fs--19 {
    font-size: 1.9rem !important;
  }

  .pc-fs--20 {
    font-size: 2rem !important;
  }

  .pc-fs--21 {
    font-size: 2.1rem !important;
  }

  .pc-fs--22 {
    font-size: 2.2rem !important;
  }

  .pc-fs--23 {
    font-size: 2.3rem !important;
  }

  .pc-fs--24 {
    font-size: 2.4rem !important;
  }

  .pc-fs--26 {
    font-size: 2.6rem !important;
  }

  .pc-fs--28 {
    font-size: 2.8rem !important;
  }

  .pc-fs--30 {
    font-size: 3rem !important;
  }

  .pc-fs--32 {
    font-size: 3.2rem !important;
  }

  .pc-fs--36 {
    font-size: 3.6rem !important;
  }

  .pc-fs--40 {
    font-size: 4rem !important;
  }
}

/*
 寄せ aligh
---------------------------------------------------*/
.align--c {
  text-align: center !important;
}

@media print,
screen and (min-width: 768px) {
  .pc-align--c {
    text-align: center !important;
  }
}

@media print,
screen and (max-width: 767px) {
  .sp-align--c {
    text-align: center !important;
  }
}

.align--l {
  text-align: left !important;
}

@media print,
screen and (min-width: 768px) {
  .pc-align--l {
    text-align: left !important;
  }
}

@media print,
screen and (max-width: 767px) {
  .sp-align--l {
    text-align: left !important;
  }
}

.align--r {
  text-align: right !important;
}

@media print,
screen and (min-width: 768px) {
  .pc-align--r {
    text-align: right !important;
  }
}

@media print,
screen and (max-width: 767px) {
  .sp-align--r {
    text-align: right !important;
  }
}

/*
 余白
---------------------------------------------------*/
.pt--0 {
  padding-top: 0 !important;
}

@media print,
screen and (min-width: 768px) {
  .pc-pt--0 {
    padding-top: 0 !important;
  }
}

@media print,
screen and (max-width: 767px) {
  .sp-pt--0 {
    padding-top: 0 !important;
  }
}

.pb--0 {
  padding-bottom: 0 !important;
}

@media print,
screen and (min-width: 768px) {
  .pc-pb--0 {
    padding-bottom: 0 !important;
  }
}

@media print,
screen and (max-width: 767px) {
  .sp-pb--0 {
    padding-bottom: 0 !important;
  }
}

/*
 マージン
---------------------------------------------------*/
.mt--0 {
  margin-top: 0 !important;
}

.mt--0-5em {
  margin-top: 0.5em !important;
}

.mt--1em {
  margin-top: 1em !important;
}

.mt--1-5em {
  margin-top: 1.5em !important;
}

.mt--2em {
  margin-top: 2em !important;
}

.mt--2-5em {
  margin-top: 2.5em !important;
}

.mt--3em {
  margin-top: 3em !important;
}

.mt--4em {
  margin-top: 4em !important;
}

.mt--5em {
  margin-top: 5em !important;
}

.mb--0 {
  margin-bottom: 0 !important;
}

.mb--0-5em {
  margin-bottom: 0.5em !important;
}

.mb--1em {
  margin-bottom: 1em !important;
}

.mb--1-5em {
  margin-bottom: 1.5em !important;
}

.mb--2em {
  margin-bottom: 2em !important;
}

.mb--2-5em {
  margin-bottom: 2.5em !important;
}

.mb--3em {
  margin-bottom: 3em !important;
}

.mb--4em {
  margin-bottom: 4em !important;
}

.mb--5em {
  margin-bottom: 5em !important;
}

@media print,
screen and (min-width: 768px) {
  .pc-mt--0 {
    margin-top: 0 !important;
  }

  .pc-mt--0-5em {
    margin-top: 0.5em !important;
  }

  .pc-mt--1em {
    margin-top: 1em !important;
  }

  .pc-mt--1-5em {
    margin-top: 1.5em !important;
  }

  .pc-mt--2em {
    margin-top: 2em !important;
  }

  .pc-mt--2-5em {
    margin-top: 2.5em !important;
  }

  .pc-mt--3em {
    margin-top: 3em !important;
  }

  .pc-mt--4em {
    margin-top: 4em !important;
  }

  .pc-mb--0 {
    margin-bottom: 0 !important;
  }

  .pc-mb--1em {
    margin-bottom: 1em !important;
  }

  .pc-mb--1-5em {
    margin-bottom: 1.5em !important;
  }

  .pc-mb--2em {
    margin-bottom: 2em !important;
  }

  .pc-mb--2-5em {
    margin-bottom: 2.5em !important;
  }

  .pc-mb--3em {
    margin-bottom: 3em !important;
  }

  .pc-mb--4em {
    margin-bottom: 4em !important;
  }

  .pc-mb--5em {
    margin-bottom: 5em !important;
  }
}

@media print,
screen and (max-width: 767px) {
  .sp-mt--0 {
    margin-top: 0 !important;
  }

  .sp-mt--0-5em {
    margin-top: 0.5em !important;
  }

  .sp-mt--1em {
    margin-top: 1em !important;
  }

  .sp-mt--1-5em {
    margin-top: 1.5em !important;
  }

  .sp-mt--2em {
    margin-top: 2em !important;
  }

  .sp-mt--2-5em {
    margin-top: 2.5em !important;
  }

  .sp-mt--3em {
    margin-top: 3em !important;
  }

  .sp-mt--4em {
    margin-top: 4em !important;
  }

  .sp-mb--0 {
    margin-bottom: 0 !important;
  }

  .sp-mb--1em {
    margin-bottom: 1em !important;
  }

  .sp-mb--1-5em {
    margin-bottom: 1.5em !important;
  }

  .sp-mb--2em {
    margin-bottom: 2em !important;
  }

  .sp-mb--2-5em {
    margin-bottom: 2.5em !important;
  }

  .sp-mb--3em {
    margin-bottom: 3em !important;
  }

  .sp-mb--4em {
    margin-bottom: 4em !important;
  }
}

/*
 テキストカラー
---------------------------------------------------*/
.fc--red {
  color: #ec0909 !important;
}

.fc--white {
  color: #fff !important;
}

.fc--blue1 {
  color: #004896 !important;
}

.fc--blue2 {
  color: #0056B2 !important;
}

.fc--blue3 {
  color: #006AF5 !important;
}

.fc--gray {
  color: #656C7E !important;
}

.fc--green {
  color: #34CFBE !important;
}

.fc--orange {
  color: #FBA700 !important;
}

.fc--purple {
  color: #822EFA !important;
}

.fc--pink {
  color: #FF7EAE !important;
}

/*
 背景
---------------------------------------------------*/
.bg--red {
  background: #ec0909 !important;
}

.bg--blue1 {
  background: #004896 !important;
}

.bg--blue2 {
  background: #0056B2 !important;
}

.bg--blue3 {
  background: #006AF5 !important;
}

.bg--gray {
  background: #656C7E !important;
}

.bg--l-gray {
  background: #F1F4F6 !important;
}

.bg--green {
  background: #34CFBE !important;
}

.bg--orange {
  background: #FBA700 !important;
}

.bg--purple {
  background: #822EFA !important;
}

.bg--l-purple {
  background: #F2EBFC !important;
}

.bg--pink {
  background: #FF7EAE !important;
}

/*
 行間
---------------------------------------------------*/
.lh--1 {
  line-height: 1;
}

@media print,
screen and (min-width: 768px) {
  .pc-lh--1 {
    line-height: 1;
  }
}

.lh--2 {
  line-height: 2;
}

@media print,
screen and (min-width: 768px) {
  .pc-lh--2 {
    line-height: 2;
  }
}

.lh--3 {
  line-height: 3;
}

@media print,
screen and (min-width: 768px) {
  .pc-lh--3 {
    line-height: 3;
  }
}

.lh--default {
  line-height: 1.7;
}

/*
 flex
---------------------------------------------------*/
.row {
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .sp-row {
    display: flex;
  }
}

@media print,
screen and (min-width: 768px) {
  .pc-row {
    display: flex;
  }
}

.row--dr-column {
  flex-direction: column;
}

.row--jc-start {
  justify-content: flex-start;
}

.row--jc-between {
  justify-content: space-between;
}

.row--jc-center {
  justify-content: center;
}

.row--wrap {
  flex-wrap: wrap;
}

.row--nowrap {
  flex-wrap: nowrap;
}

.row--al-center {
  align-items: center;
}

.row--al-end {
  align-items: flex-end;
}

.row--self-center {
  align-self: center;
}

.row--self-end {
  align-self: flex-end;
}

.flex1 {
  flex: 1;
}

@media print,
screen and (max-width: 767px) {
  .sp-row--dr-column {
    display: flex;
    flex-direction: column;
  }

  .sp-row--dr-column-reverse {
    display: flex;
    flex-direction: column-reverse;
  }

  .sp-row--jc-start {
    justify-content: flex-start;
  }

  .sp-row--jc-between {
    justify-content: space-between;
  }

  .sp-row--jc-center {
    justify-content: center;
  }

  .sp-row--wrap {
    flex-wrap: wrap;
  }

  .sp-row--nowrap {
    flex-wrap: nowrap;
  }

  .sp-row--al-center {
    align-items: center;
  }

  .sp-row--al-end {
    align-items: flex-end;
  }

  .sp-row--self-center {
    align-self: center;
  }

  .sp-row--self-end {
    align-self: flex-end;
  }

  .sp-flex1 {
    flex: 1;
  }
}

@media print,
screen and (min-width: 768px) {
  .pc-row--dr-column {
    flex-direction: column;
  }

  .pc-row--jc-start {
    justify-content: flex-start;
  }

  .pc-row--jc-between {
    justify-content: space-between;
  }

  .pc-row--jc-center {
    justify-content: center;
  }

  .pc-row--wrap {
    flex-wrap: wrap;
  }

  .pc-row--nowrap {
    flex-wrap: nowrap;
  }

  .pc-row--al-center {
    align-items: center;
  }

  .pc-row--al-end {
    align-items: flex-end;
  }

  .pc-row--self-center {
    align-self: center;
  }

  .pc-row--self-end {
    align-self: flex-end;
  }

  .pc-flex1 {
    flex: 1;
  }
}

/*
 改行させない
---------------------------------------------------*/
.nowrap {
  white-space: nowrap;
}

/*
 区切り
---------------------------------------------------*/
hr {
  height: 0;
  margin: 3em 0;
  padding: 0;
  border: none;
  border-top: 1px solid #D6DBDC;
}

@media print,
screen and (min-width: 768px) {
  hr {
    margin: 4em 0;
  }
}

/* イメージ＋テキストの組み合わせ
---------------------------------------------------*/
@media print,
screen and (min-width: 768px) {
  .unit-block {
    display: flex;
    gap: 4vw;
  }
}

@media print,
screen and (max-width: 767px) {
  .unit-block__right {
    margin-top: 2.4rem;
  }
}

/* 枠付きボックスの組み合わせ
---------------------------------------------------*/
.unit-border {
  border-style: solid;
  border-width: 1px 0 0 1px;
  border-color: #D6DBDC;
  display: flex;
  flex-wrap: wrap;
}

.unit-border__col {
  background: #fff;
  border-style: solid;
  border-width: 0 1px 1px 0;
  border-color: #D6DBDC;
  padding: 3.2rem 3.6rem;
}

@media print,
screen and (max-width: 767px) {
  .unit-border__col {
    padding: 1.6rem;
  }
}

.unit-border[data-col="1"] .unit-border__col {
  width: 100%;
}

.unit-border[data-col="2"] .unit-border__col {
  width: 50%;
}

@media print,
screen and (max-width: 767px) {
  .unit-border[data-col="2"] .unit-border__col {
    width: 100%;
  }
}

.unit-border[data-col="3"] .unit-border__col {
  width: 33.3333333333%;
}

@media print,
screen and (max-width: 767px) {
  .unit-border[data-col="3"] .unit-border__col {
    width: 100%;
  }
}

.unit-border[data-col="4"] .unit-border__col {
  width: 25%;
}

@media print,
screen and (max-width: 767px) {
  .unit-border[data-col="4"] .unit-border__col {
    width: 100%;
  }
}

.unit-border-card {
  border: 1px solid #D6DBDC;
}

@media print,
screen and (min-width: 768px) {
  .unit-border-card {
    display: flex;
  }
}

.unit-border-card__txt {
  width: 60%;
  flex-shrink: 0;
  padding: 3.2rem 3.6rem;
}

@media print,
screen and (max-width: 767px) {
  .unit-border-card__txt {
    width: auto;
    padding: 1.6rem;
  }
}

.unit-border-card__img {
  width: 40%;
}

@media print,
screen and (max-width: 767px) {
  .unit-border-card__img {
    width: auto;
  }
}

/*
 画像のアスペクト比
---------------------------------------------------*/
.aspect-1-1 {
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
}

.aspect-2-1 {
  aspect-ratio: 2/1;
  object-fit: cover;
  object-position: center;
}

.aspect-3-1 {
  aspect-ratio: 3/1;
  object-fit: cover;
  object-position: center;
}

.aspect-5-3 {
  aspect-ratio: 5/3;
  object-fit: cover;
  object-position: center;
}

@media print,
screen and (max-width: 767px) {
  .sp-aspect-2-1 {
    aspect-ratio: 2/1;
    object-fit: cover;
    object-position: center;
  }

  .sp-aspect-3-1 {
    aspect-ratio: 3/1;
    object-fit: cover;
    object-position: center;
  }
}

@media print,
screen and (min-width: 768px) {
  .pc-aspect-2-1 {
    aspect-ratio: 2/1;
    object-fit: cover;
    object-position: center;
  }

  .pc-aspect-3-1 {
    aspect-ratio: 3/1;
    object-fit: cover;
    object-position: center;
  }
}

.aspect-pos-center {
  object-position: center;
}

.aspect-pos-top {
  object-position: top;
}

.aspect-pos-btm {
  object-position: bottom;
}

/*
 リスト
---------------------------------------------------*/
.list-dot:not([data-color])>li {
  text-indent: -1em;
  padding-left: 1em;
}

.list-dot:not([data-color])>li::before {
  content: "・";
}

.list-dot[data-color]>li {
  padding-left: 1.5em;
  position: relative;
}

.list-dot[data-color]>li:before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  position: absolute;
  top: 0.65em;
  left: 0.25em;
  background: #D6DBDC;
}

@media print,
screen and (max-width: 767px) {
  .list-dot[data-color]>li:before {
    width: 0.6rem;
    height: 0.6rem;
    left: 0.5em;
  }
}

.list-dot[data-color]>li * {
  text-indent: 0;
}

.list-dot[data-color=red]>li:before {
  background: #ec0909;
}

.list-dot[data-color=blue]>li:before {
  background: #006AF5;
}

.list-dot[data-color=purple]>li:before {
  background: #822EFA;
}

.list-dot[data-color=green]>li:before {
  background: #34CFBE;
}

.list-dot[data-color=pink]>li:before {
  background: #FF7EAE;
}

.list-dot[data-color=orange]>li:before {
  background: #FBA700;
}

.list-number {
  margin-left: 1.5em;
}

.list-number>li {
  list-style-type: decimal;
  padding-left: 0.5em;
}

.list-image {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .list-image {
    gap: 0.8rem;
  }
}

.list-image>li {
  width: calc((100% - 4.8rem) / 3);
}

@media print,
screen and (max-width: 767px) {
  .list-image>li {
    width: calc((100% - 0.8rem) / 2);
  }
}

@media print,
screen and (min-width: 768px) {
  .list-image>li.pc-col-1 {
    width: 100%;
  }

  .list-image>li.pc-col-2 {
    width: calc((100% - 2.4rem) / 2);
  }

  .list-image>li.pc-col-3 {
    width: calc((100% - 4.8rem) / 3);
  }

  .list-image>li.pc-col-4 {
    width: calc((100% - 7.2rem) / 4);
  }

  .list-image>li.pc-col-5 {
    width: calc((100% - 9.6rem) / 5);
  }
}

@media print,
screen and (max-width: 767px) {
  .list-image>li.sp-col-1 {
    width: 100%;
  }

  .list-image>li.sp-col-2 {
    width: calc((100% - 0.8rem) / 2);
  }

  .list-image>li.sp-col-3 {
    width: calc((100% - 1.6rem) / 3);
  }
}

.list-image.-gap-small {
  gap: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .list-image.-gap-small {
    gap: 0.6rem;
  }
}

.list-image.-gap-small>li {
  width: calc((100% - 3.2rem) / 3);
}

@media print,
screen and (max-width: 767px) {
  .list-image.-gap-small>li {
    width: calc((100% - 0.6rem) / 2);
  }
}

@media print,
screen and (min-width: 768px) {
  .list-image.-gap-small>li.pc-col-1 {
    width: 100%;
  }

  .list-image.-gap-small>li.pc-col-2 {
    width: calc((100% - 1.6rem) / 2);
  }

  .list-image.-gap-small>li.pc-col-3 {
    width: calc((100% - 3.2rem) / 3);
  }

  .list-image.-gap-small>li.pc-col-4 {
    width: calc((100% - 4.8rem) / 4);
  }

  .list-image.-gap-small>li.pc-col-5 {
    width: calc((100% - 5.4rem) / 5);
  }
}

@media print,
screen and (max-width: 767px) {
  .list-image.-gap-small>li.sp-col-1 {
    width: 100%;
  }

  .list-image.-gap-small>li.sp-col-2 {
    width: calc((100% - 0.6rem) / 2);
  }

  .list-image.-gap-small>li.sp-col-3 {
    width: calc((100% - 1.2rem) / 3);
  }
}

.list-btn {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .list-btn {
    gap: 1.6rem;
  }
}

.list-btn.row--jc-center {
  justify-content: center;
}

.list-btn.row--jc-center>li {
  width: auto;
}

.list-btn>li {
  width: calc((100% - 4rem) / 2);
}

@media print,
screen and (max-width: 767px) {
  .list-btn>li {
    width: 100%;
  }
}

@media print,
screen and (min-width: 768px) {
  .list-btn>li.pc-col-1 {
    width: 100%;
  }

  .list-btn>li.pc-col-2 {
    width: calc((100% - 4rem) / 2);
  }

  .list-btn>li.pc-col-3 {
    width: calc((100% - 8rem) / 3);
  }

  .list-btn>li.pc-col-4 {
    width: calc((100% - 12rem) / 4);
  }
}

@media print,
screen and (max-width: 767px) {
  .list-btn>li.sp-col-1 {
    width: 100%;
  }

  .list-btn>li.sp-col-2 {
    width: calc((100% - 2.4rem) / 2);
  }
}

.list-block {
  display: flex;
  flex-wrap: wrap;
  gap: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .list-block {
    gap: 2.4rem;
  }
}

.list-block>li {
  width: calc((100% - 4vw) / 2);
}

@media print,
screen and (max-width: 767px) {
  .list-block>li {
    width: 100%;
  }
}

@media print,
screen and (min-width: 768px) {
  .list-block>li.pc-col-1 {
    width: 100%;
  }

  .list-block>li.pc-col-2 {
    width: calc((100% - 4vw) / 2);
  }

  .list-block>li.pc-col-3 {
    width: calc((100% - 8vw) / 3);
  }

  .list-block>li.pc-col-4 {
    width: calc((100% - 12vw) / 4);
  }
}

@media print,
screen and (max-width: 767px) {
  .list-block>li.sp-col-1 {
    width: 100%;
  }

  .list-block>li.sp-col-2 {
    width: calc((100% - 2.4rem) / 2);
  }
}

/*
 装飾テキスト
---------------------------------------------------*/
.txt-indent {
  text-indent: -1em;
  padding-left: 1em;
}

.txt-space--0 {
  letter-spacing: 0;
}

.txt-space--1 {
  letter-spacing: 0.1em;
}

.txt-space--2 {
  letter-spacing: 0.2em;
}

@media print,
screen and (max-width: 767px) {
  .txt-space--2 {
    letter-spacing: 0.1em;
  }
}

.txt-space--3 {
  letter-spacing: 0.3em;
}

@media print,
screen and (max-width: 767px) {
  .txt-space--3 {
    letter-spacing: 0.15em;
  }
}

@media print,
screen and (max-width: 767px) {
  .sp-txt-space--0 {
    letter-spacing: 0;
  }

  .sp-txt-space--1 {
    letter-spacing: 0.1em;
  }

  .sp-txt-space--2 {
    letter-spacing: 0.2em;
  }

  .sp-txt-space--3 {
    letter-spacing: 0.3em;
  }
}

@media print,
screen and (min-width: 768px) {
  .pc-txt-space--0 {
    letter-spacing: 0;
  }

  .pc-txt-space--1 {
    letter-spacing: 0.1em;
  }

  .pc-txt-space--2 {
    letter-spacing: 0.2em;
  }

  .pc-txt-space--3 {
    letter-spacing: 0.3em;
  }
}

.txt-hl {
  background: linear-gradient(transparent 60%, rgba(255, 216, 22, 0.5) 60% 100%, transparent 100%);
}

/*
 ボーダー
---------------------------------------------------*/
.border--gray {
  border: 1px solid #D6DBDC;
}

@media print,
screen and (max-width: 767px) {
  .sp-border--gray {
    border: 1px solid #D6DBDC;
  }
}

@media print,
screen and (min-width: 768px) {
  .pc-border--gray {
    border: 1px solid #D6DBDC;
  }
}

.border--red {
  border: 1px solid #ec0909;
}

@media print,
screen and (max-width: 767px) {
  .sp-border--red {
    border: 1px solid #ec0909;
  }
}

@media print,
screen and (min-width: 768px) {
  .pc-border--red {
    border: 1px solid #ec0909;
  }
}

.border--green {
  border: 1px solid #34CFBE;
}

@media print,
screen and (max-width: 767px) {
  .sp-border--green {
    border: 1px solid #34CFBE;
  }
}

@media print,
screen and (min-width: 768px) {
  .pc-border--green {
    border: 1px solid #34CFBE;
  }
}

.border--blue {
  border: 1px solid #004896;
}

@media print,
screen and (max-width: 767px) {
  .sp-border--blue {
    border: 1px solid #004896;
  }
}

@media print,
screen and (min-width: 768px) {
  .pc-border--blue {
    border: 1px solid #004896;
  }
}

.border--none {
  border: none !important;
}

/*
 コンテナ
---------------------------------------------------*/
.youtube-wrap {
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .youtube-wrap iframe {
    aspect-ratio: 16/9;
    width: 100%;
    height: auto;
  }
}

/*
 フロート
---------------------------------------------------*/
.img-float--r {
  float: right;
}

.img-float--l {
  float: left;
}

@media print,
screen and (max-width: 767px) {
  .sp-img-float--r {
    float: right;
  }

  .sp-img-float--l {
    float: left;
  }
}

@media print,
screen and (min-width: 768px) {
  .pc-img-float--r {
    float: right;
  }

  .pc-img-float--l {
    float: left;
  }
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/*
 テーブルレイアウト
---------------------------------------------------*/
.table-l-fixed {
  table-layout: fixed;
}

/*
 overflow
---------------------------------------------------*/
.overflow--hidden {
  overflow: hidden;
}

@media print,
screen and (max-width: 767px) {
  .sp-overflow--hidden {
    overflow: hidden;
  }
}

@media print,
screen and (min-width: 768px) {
  .pc-overflow--hidden {
    overflow: hidden;
  }
}

/*===================================================

 トップページ
 ※一部 キャリアTOP、新卒TOPでも使用

===================================================*/
.page-index .l-main {
  padding-top: 0;
}

.mv {
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .mv {
    width: 100vw;
    height: 100vh;
  }
}

.mv-cover {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #004896;
  z-index: 100;
  transition: all 1000ms cubic-bezier(0.42, 0, 0.01, 1);
}

.mv-cover.move {
  width: 0;
}

.mv-cover.done {
  display: none;
}

body.is-lock {
  height: 100vh;
  overflow: hidden;
}

@media print,
screen and (max-width: 767px) {
  body.is-lock {
    height: 100vh;
  }
}

.mv-slider {
  position: relative;
  background: #004896;
  z-index: 0;
  overflow: hidden;
}

.mv-slider::before {
  content: "";
  display: block;
  background-image: url(../img/slide/visual-mask_pc.svg);
  background-size: cover;
  background-position: left bottom;
  background-repeat: no-repeat;
  width: 100%;
  height: 40rem;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
}

@media print,
screen and (max-width: 767px) {
  .mv-slider::before {
    background-image: url(../img/slide/visual-mask_sp.svg);
    height: 10rem;
  }
}

.mv-slider::after {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% + 12rem);
  position: absolute;
  top: 0;
  left: 0;
  background: #174373;
  opacity: 0.3;
  z-index: 1;
}

.mv-slider__slide img {
  max-width: initial;
  width: 100%;
  height: calc(100vh + 12rem);
  min-height: 640px;
  object-fit: cover;
  transition: transform 6s linear;
}

@media print,
screen and (max-width: 767px) {
  .mv-slider__slide img {
    height: 100svh;
    min-height: 48rem;
  }
}

.mv-slider__slide.swiper-slide-active img,
.mv-slider__slide.swiper-slide-duplicate-active img,
.mv-slider__slide.swiper-slide-prev img {
  animation: zoomUp 7s linear 0s normal both;
}

.mv-slider.move::before {
  opacity: 1;
}

.mv-slider.done::before {
  opacity: 1;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.1);
  }
}

.mv-content {
  width: 100%;
  height: 100vh;
  min-height: 640px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 101;
  padding-bottom: 4vw;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: all 600ms cubic-bezier(0.42, 0, 0.01, 1);
}

@media print,
screen and (max-width: 767px) {
  .mv-content {
    height: 100svh;
    min-height: 48rem;
    padding-bottom: 0;
  }
}

.mv-content.move {
  overflow: visible;
}

.mv-content.done {
  z-index: 1;
  overflow: visible;
}

@media print,
screen and (min-width: 768px) {
  .mv-content.done {
    transition: none;
  }
}

.mv-copy {
  width: 100vw;
  color: #fff;
  padding-top: 2.4vw;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .mv-copy {
    padding-top: 2rem;
  }
}

.mv-copy__txt-top {
  font-size: 4vw;
  line-height: 1;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.2em;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  transition: all 600ms cubic-bezier(0.42, 0, 0.01, 1);
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .mv-copy__txt-top {
    font-size: 2.8rem;
  }
}

.mv-copy__txt-top.move {
  font-size: 1.8vw;
  top: 0;
}

@media print,
screen and (max-width: 767px) {
  .mv-copy__txt-top.move {
    font-size: 1.7rem;
  }
}

.mv-copy__txt-top.done {
  transition: none;
  font-size: 1.8vw;
  transform: translateX(-50%);
  top: 0;
  opacity: 1 !important;
}

@media print,
screen and (max-width: 767px) {
  .mv-copy__txt-top.done {
    font-size: 1.7rem;
  }
}

.mv-copy-box {
  width: 22vw;
  aspect-ratio: 1/1;
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 auto;
}

@media print,
screen and (max-width: 767px) {
  .mv-copy-box {
    width: 20rem;
  }
}

.mv-copy-box.done {
  opacity: 1 !important;
}

.mv-copy-box__line-top {
  position: absolute;
  background: #fff;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.5vw;
}

@media print,
screen and (max-width: 767px) {
  .mv-copy-box__line-top {
    height: 4px;
  }
}

.mv-copy-box__line-right {
  position: absolute;
  background: #fff;
  top: 0;
  right: 0;
  width: 0.5vw;
  height: 100%;
}

@media print,
screen and (max-width: 767px) {
  .mv-copy-box__line-right {
    width: 4px;
  }
}

.mv-copy-box__line-bottom {
  position: absolute;
  background: #fff;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 0.5vw;
}

@media print,
screen and (max-width: 767px) {
  .mv-copy-box__line-bottom {
    height: 4px;
  }
}

.mv-copy-box__line-left {
  position: absolute;
  background: #fff;
  bottom: 0;
  left: 0;
  width: 0.5vw;
  height: 100%;
}

@media print,
screen and (max-width: 767px) {
  .mv-copy-box__line-left {
    width: 4px;
  }
}

.mv-copy-box__txt {
  padding-left: 0.5em;
  display: flex;
  flex-direction: column;
  font-size: 5.5vw;
  line-height: 1.4;
  white-space: nowrap;
  letter-spacing: -0.3em;
  transition: all 600ms cubic-bezier(0.42, 0, 0.01, 1);
}

@media print,
screen and (max-width: 767px) {
  .mv-copy-box__txt {
    font-size: 4.5rem;
  }
}

.mv-copy-box__txt.move {
  letter-spacing: 0;
}

.mv-copy-box__txt.done {
  transition: none;
  letter-spacing: 0;
}

.mv-news {
  position: absolute;
  bottom: 4rem;
  right: 14rem;
  background: #fff;
  border-radius: 10rem;
  box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.16);
  z-index: 100;
  width: 100rem;
  max-width: calc(100vw - 28rem);
}

@media print,
screen and (max-width: 767px) {
  .mv-news {
    max-width: initial;
    width: calc(100% - 3.2rem);
    bottom: 4rem;
    right: 1.6rem;
  }
}

.mv-news__content {
  display: flex;
  height: 9rem;
}

@media print,
screen and (max-width: 767px) {
  .mv-news__content {
    padding: 0;
    height: 6rem;
  }
}

.mv-news__head {
  width: 11rem;
  padding-left: 0.8rem;
  flex-shrink: 0;
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media print,
screen and (max-width: 767px) {
  .mv-news__head {
    font-size: 1.2rem;
    width: 6.4rem;
    padding: 0;
  }
}

.mv-news__head span {
  color: #006AF5;
}

.mv-news__head::after {
  content: "";
  display: block;
  width: 1px;
  height: 50%;
  position: absolute;
  top: 25%;
  right: 0;
  background: #006AF5;
}

.mv-news__body {
  display: flex;
  align-items: center;
  padding: 0 9rem 0 3.2rem;
  overflow: hidden;
}

@media print,
screen and (max-width: 767px) {
  .mv-news__body {
    padding: 0 4rem 0 1.2rem;
  }
}

.mv-news.done {
  opacity: 1 !important;
}

.news-slider {
  overflow: hidden;
}

.news-slider .news-item {
  font-size: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .news-slider .news-item {
    font-size: 1.1rem;
  }
}

.news-slider .news-item .news-meta {
  margin-bottom: 0.5rem;
}

@media print,
screen and (max-width: 767px) {
  .news-slider .news-item .news-meta .date {
    font-size: 1rem;
    margin-right: 0.4em;
  }

  .news-slider .news-item .news-meta .news-icon {
    padding: 0.1em;
  }
}

.news-slider .news-txt {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.news-slider__navigation {
  width: 5.6rem;
  height: 100%;
  position: absolute;
  right: 2rem;
  top: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media print,
screen and (max-width: 767px) {
  .news-slider__navigation {
    top: 50%;
    transform: translateY(-50%);
    flex-direction: column;
    width: 2.8rem;
    height: 4rem;
    right: 1rem;
  }
}

.news-slider .swiper-button-prev,
.news-slider .swiper-button-next {
  color: #132453;
  position: static;
  width: auto;
  height: auto;
  margin: 0;
}

.news-slider .swiper-button-prev::after,
.news-slider .swiper-button-next::after {
  font-size: 2.8rem;
}

@media print,
screen and (max-width: 767px) {

  .news-slider .swiper-button-prev::after,
  .news-slider .swiper-button-next::after {
    font-size: 1.8rem;
    transform: rotate(90deg);
  }
}

.news-slider .swiper-button-prev::after {
  content: "\e903";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
}

.news-slider .swiper-button-next::after {
  content: "\e904";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
}

.mv-slash-top {
  position: absolute;
  top: 0;
  right: 18%;
}

@media print,
screen and (max-width: 767px) {
  .mv-slash-top {
    right: 40%;
  }
}

.mv-slash-bottom {
  position: absolute;
  bottom: 5%;
  left: 13%;
}

@media print,
screen and (max-width: 767px) {
  .mv-slash-bottom {
    bottom: 15%;
    left: 10%;
  }
}

.page-nav--index {
  opacity: 0;
  transition: opacity 0.4s;
  max-width: 10vw;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  left: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .page-nav--index {
    display: none;
  }
}

.page-nav--index.is-active {
  z-index: 10;
  opacity: 1;
}

.news-item .news-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1rem;
}

.news-item .news-meta .date {
  color: #656C7E;
  margin-right: 1em;
  line-height: 1;
}

@media print,
screen and (max-width: 767px) {
  .news-item .news-meta .date {
    font-size: 1.2rem;
    margin-right: 0.8em;
  }
}

.news-item .news-meta .news-icon {
  font-size: 1.2rem;
  line-height: 1;
  border: 1px solid;
  background: #fff;
  display: inline-block;
  padding: 0.3em 0.5em;
  margin-right: 0.4rem;
}

@media print,
screen and (max-width: 767px) {
  .news-item .news-meta .news-icon {
    font-size: 1rem;
  }
}

.news-item .news-meta .news-icon.-career {
  border-color: #822EFA;
}

.news-item .news-meta .news-icon.-newgrad {
  border-color: #34CFBE;
}

.news-item .news-meta .news-icon.-intern {
  border-color: #FBA700;
}

.news-item .news-meta .news-icon.-other {
  border-color: #006AF5;
}

.news-item .news-meta .news-icon.-common {
  border-color: #004896;
}

.top-message {
  padding: 12rem 12vw;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .top-message {
    padding: 4rem 1.6rem;
  }
}

.top-message__inner {
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
}

.top-message__heading {
  display: flex;
  justify-content: flex-end;
  position: relative;
  margin-bottom: 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .top-message__heading {
    margin-bottom: 1.6rem;
  }
}

.top-message__heading-ttl {
  font-size: 7.2rem;
  font-style: italic;
  line-height: 1;
  color: #004896;
}

@media print,
screen and (max-width: 767px) {
  .top-message__heading-ttl {
    font-size: 3.2rem;
    font-weight: 600;
  }
}

.top-message__heading-slash {
  margin-top: -2vw;
}

.top-message__content {
  position: relative;
}

.top-message__content::before {
  content: "";
  display: block;
  background: #004896;
  width: 122vw;
  height: calc(100% - 20rem);
  position: absolute;
  left: 50%;
  bottom: 0;
  margin-left: -100vw;
}

@media print,
screen and (max-width: 767px) {
  .top-message__content::before {
    width: 100vw;
    height: calc(100% - 4rem);
    margin-left: -50vw;
  }
}

.top-message__img {
  padding-left: 8rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .top-message__img {
    padding-left: 0;
    margin-left: -1.6rem;
  }
}

.top-message__copy {
  position: absolute;
  bottom: 10%;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .top-message__copy {
    left: 1.6rem;
    bottom: -1.6rem;
  }
}

.top-message__desc {
  color: #fff;
  position: relative;
  width: 56%;
  padding: 5.6rem 0 8rem;
}

@media print,
screen and (max-width: 767px) {
  .top-message__desc {
    width: 100%;
    padding: 4rem 0;
  }
}

.top-message__txt {
  color: #fff;
  font-size: 2rem;
  line-height: 2;
}

@media print,
screen and (max-width: 767px) {
  .top-message__txt {
    font-size: 1.4rem;
  }
}

.top-message__en {
  color: #fff;
  display: flex;
  align-items: center;
}

.top-message__en::after {
  content: "";
  display: block;
  width: 16rem;
  height: 1px;
  border-top: 2px solid;
  margin-left: 2rem;
}

@media print,
screen and (max-width: 767px) {
  .top-message__en::after {
    width: 5rem;
    border-top-width: 1px;
    margin-left: 1.2rem;
  }
}

.top-message__en-txt {
  font-size: 3.6rem;
  font-style: italic;
  font-weight: 600;
  display: flex;
  gap: 0 0.3em;
}

@media print,
screen and (max-width: 767px) {
  .top-message__en-txt {
    font-size: 1.8rem;
  }
}

.top-message__en-txt .word {
  display: flex;
}

.top-message__btn {
  margin-top: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .top-message__btn {
    margin-top: 2rem;
  }
}

.top-message__img-sub {
  position: absolute;
  bottom: -5vw;
  right: 5vw;
  width: 20vw;
  text-align: right;
}

@media print,
screen and (max-width: 767px) {
  .top-message__img-sub {
    right: 0;
    bottom: -10vw;
    width: 25vw;
  }
}

.top-message .circle-01 {
  top: 0;
  left: 10vw;
}

@media print,
screen and (max-width: 767px) {
  .top-message .circle-01 {
    top: 1rem;
  }
}

.top-message .circle-02 {
  top: -5vw;
  right: 10vw;
  z-index: 1;
}

@media print,
screen and (max-width: 767px) {
  .top-message .circle-02 {
    top: auto;
    right: auto;
    bottom: -3rem;
    left: 4rem;
  }
}

.top-message .circle-03 {
  bottom: -7vw;
  right: 0;
  z-index: 1;
}

@media print,
screen and (max-width: 767px) {
  .top-message .circle-03 {
    bottom: -8rem;
    right: -4rem;
  }
}

.news {
  padding: 12rem 12vw;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .news {
    padding: 4rem 1.6rem;
  }
}

.news__slash {
  padding-left: 8rem;
}

@media print,
screen and (max-width: 767px) {
  .news__slash {
    padding-left: 0;
    text-align: center;
  }

  .news__slash svg {
    margin: auto;
  }
}

.news__inner {
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
}

.news__row {
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .news__row {
    flex-direction: column;
  }
}

.news__heading {
  width: 30rem;
}

@media print,
screen and (max-width: 767px) {
  .news__heading {
    width: auto;
    align-self: center;
    margin-bottom: 3.2rem;
  }
}

.news__heading-ttl {
  font-size: 7.2rem;
  font-style: italic;
  line-height: 1;
  color: #004896;
}

@media print,
screen and (max-width: 767px) {
  .news__heading-ttl {
    font-size: 3.2rem;
  }
}

.news__content {
  flex: 1;
}

.news .circle-01 {
  top: 0;
  right: 0;
}

@media print,
screen and (max-width: 767px) {
  .news .circle-01 {
    top: 10rem;
    right: -2rem;
  }
}

.news .circle-02 {
  bottom: 0;
  left: -5vw;
}

.news-list .news-item {
  padding: 1em 0;
  border-top: 1px solid #D6DBDC;
}

.news-list .news-item:last-child {
  border-bottom: 1px solid #D6DBDC;
}

.page-index .l-main.colored3,
.page-index .l-main.colored4 {
  background: #FFFAE5;
}

.page-index .l-main.colored5 {
  background: #F3F7FD;
}

.page-index .l-main.colored6 {
  background: #fff;
}

.top-section {
  padding: 12rem 12vw;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .top-section {
    padding: 8rem 1.6rem;
  }
}

.top-section__inner {
  max-width: 144rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.top-section__slash {
  position: absolute;
  top: -5vw;
  left: -3vw;
}

@media print,
screen and (max-width: 767px) {
  .top-section__slash {
    top: auto;
    bottom: 100%;
    left: -2.5rem;
  }
}

.top-section__heading {
  display: flex;
  padding-left: 8rem;
  margin-bottom: 8rem;
}

@media print,
screen and (max-width: 767px) {
  .top-section__heading {
    display: block;
    padding-left: 0;
    margin-bottom: 3.2rem;
  }
}

.top-section__heading-left {
  flex: 1;
}

.top-section__heading-right {
  flex: 1;
  align-self: flex-end;
}

@media print,
screen and (max-width: 767px) {
  .top-section__heading-right {
    margin-top: 2.4rem;
  }
}

.top-section__heading-right>p {
  font-size: 1.6rem;
  line-height: 2;
}

@media print,
screen and (max-width: 767px) {
  .top-section__heading-right>p {
    font-size: 1.2rem;
  }
}

.top-section .top-section-en {
  font-size: 12rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
}

@media print,
screen and (max-width: 767px) {
  .top-section .top-section-en {
    font-size: 4.8rem;
  }
}

.top-section .top-section-jp {
  margin-top: 2rem;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
}

@media print,
screen and (max-width: 767px) {
  .top-section .top-section-jp {
    margin-top: 1rem;
    font-size: 1.2rem;
  }
}

.top-section .top-section-jp__txt-l {
  margin-top: 2rem;
  display: block;
  font-size: 7.2rem;
}

@media print,
screen and (max-width: 767px) {
  .top-section .top-section-jp__txt-l {
    margin-top: 1rem;
    font-size: 3.2rem;
  }
}

.top-section.work .top-section__inner {
  z-index: 1;
}

.top-section.work .circle-01 {
  top: 0;
  right: 0;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .top-section.work .circle-01 {
    right: -4rem;
  }
}

.top-section.work .circle-02 {
  top: 40vw;
  right: -5vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .top-section.work .circle-02 {
    top: 10%;
    right: 10%;
  }
}

.top-section.work .circle-03 {
  bottom: 20vw;
  left: -5vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .top-section.work .circle-03 {
    bottom: 0;
    left: -4rem;
  }
}

.bnr-cardlist {
  display: flex;
  flex-wrap: wrap;
  gap: 3.2rem;
}

@media print,
screen and (max-width: 767px) {
  .bnr-cardlist {
    gap: 1.6rem 0.8rem;
  }
}

.bnr-cardlist[data-col="2"]>li {
  width: calc((100% - 3.2rem) / 2);
}

@media print,
screen and (max-width: 767px) {
  .bnr-cardlist[data-col="2"]>li {
    width: 100%;
  }
}

.bnr-cardlist[data-col="3"]>li {
  width: calc((100% - 6.4rem) / 3);
}

@media print,
screen and (max-width: 767px) {
  .bnr-cardlist[data-col="3"]>li {
    width: 100%;
  }
}

.bnr-cardlist[data-col="4"]>li {
  width: calc((100% - 9.6rem) / 3);
}

@media print,
screen and (max-width: 767px) {
  .bnr-cardlist[data-col="4"]>li {
    width: 100%;
  }
}

.bnr-card {
  display: block;
  position: relative;
  text-decoration: none;
}

@media print,
screen and (min-width: 768px) {
  .bnr-card:hover img {
    transform: scale(1.05);
  }
}

.bnr-card__img {
  overflow: hidden;
}

.bnr-card__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all 0.4s;
}

.bnr-card__caption {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-width: 40%;
}

.bnr-card__caption .category {
  color: #132453;
  font-weight: 700;
  line-height: 1;
  padding: 0.8em 1.6em;
}

.bnr-card__caption .label {
  width: 100%;
  color: #fff;
  background: #132453;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 1em 8rem 1em 1.6em;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .bnr-card__caption .label {
    font-size: 1.4rem;
    padding: 1em 6rem 1em 1em;
  }
}

.bnr-card__caption .label::after {
  content: "\e901";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  position: absolute;
  right: 1em;
  top: 50%;
  margin-top: -0.5em;
}

.interview-bnr-area {
  margin-top: 10rem;
  margin-left: -12vw;
  margin-right: -12vw;
  position: relative;
  z-index: 1;
}

@media print,
screen and (max-width: 767px) {
  .interview-bnr-area {
    margin-top: 8rem;
    margin-left: -1.6rem;
    margin-right: -1.6rem;
  }
}

.bnr-interview {
  position: relative;
  display: block;
}

.bnr-interview__img {
  text-align: center;
}

.bnr-interview__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .bnr-interview__content {
    padding-bottom: 3rem;
  }

  .bnr-interview__content .txt-en {
    width: 36vw;
  }
}

.bnr-interview__content .btn-primary {
  width: 36rem;
  justify-content: center;
}

@media print,
screen and (max-width: 767px) {
  .bnr-interview__content .btn-primary {
    width: 18rem;
  }
}

.bnr-interview__content .btn-primary span {
  letter-spacing: 0.1em;
}

@media print,
screen and (min-width: 768px) {
  .page-index .newpower-bnr-area {
    margin-top: 10rem;
    margin-left: -12vw;
    margin-right: -12vw;
  }

  .page-index .newpower-bnr-area .bnr-newpower__inner {
    padding-left: 12vw;
    padding-right: 12vw;
  }
}

.newpower-bnr-area {
  margin-top: 10rem;
  margin-left: -8vw;
  margin-right: -8vw;
}

@media print,
screen and (max-width: 767px) {
  .newpower-bnr-area {
    margin-top: 4rem;
    margin-left: -1.6rem;
    margin-right: -1.6rem;
  }
}

.bnr-newpower {
  position: relative;
  display: block;
  color: #132453;
  text-decoration: none;
}

.bnr-newpower__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media print,
screen and (min-width: 768px) {
  .bnr-newpower__img img {
    min-height: 44rem;
  }
}

.bnr-newpower__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  padding-left: 8vw;
  padding-right: 8vw;
}

@media print,
screen and (max-width: 767px) {
  .bnr-newpower__inner {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
}

.bnr-newpower__content {
  width: 100%;
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .bnr-newpower__content {
    justify-content: flex-start;
    padding-top: 4rem;
  }
}

.bnr-newpower__content .btn-primary {
  margin-top: 1.5em;
  width: 36rem;
}

@media print,
screen and (max-width: 767px) {
  .bnr-newpower__content .btn-primary {
    margin-top: 1em;
    max-width: 64%;
  }
}

.bnr-newpower__head {
  display: flex;
  align-items: center;
  position: absolute;
  top: -8rem;
  left: -8rem;
}

@media print,
screen and (max-width: 767px) {
  .bnr-newpower__head {
    top: -3.6rem;
    left: 0;
  }
}

.bnr-newpower__en img {
  width: 10.78vw;
}

@media print,
screen and (max-width: 767px) {
  .bnr-newpower__en img {
    width: 10rem;
  }
}

.bnr-newpower__ttl {
  font-size: 8rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
}

@media print,
screen and (max-width: 767px) {
  .bnr-newpower__ttl {
    font-size: 4rem;
  }
}

.bnr-newpower__txt {
  margin-top: 1em;
  max-width: 50%;
  line-height: 2;
}

@media print,
screen and (max-width: 767px) {
  .bnr-newpower__txt {
    margin-top: 2em;
    font-size: 1.2rem;
    max-width: 64%;
  }
}

@media print,
screen and (min-width: 768px) {
  .bnr-newpower[data-size=m] .bnr-newpower__img img {
    min-height: 40rem;
  }
}

.bnr-newpower[data-size=m] .bnr-newpower__head {
  top: -7rem;
}

@media print,
screen and (max-width: 767px) {
  .bnr-newpower[data-size=m] .bnr-newpower__head {
    top: -3.6rem;
  }
}

.bnr-newpower[data-size=m] .btn-primary {
  width: 32rem;
}

@media print,
screen and (max-width: 767px) {
  .bnr-newpower[data-size=m] .btn-primary {
    width: 64%;
  }
}

.bnr-newpower[data-size=m] .bnr-newpower__ttl {
  font-size: 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .bnr-newpower[data-size=m] .bnr-newpower__ttl {
    font-size: 3.2rem;
  }
}

.bnr-newpower[data-size=m] .bnr-newpower__txt {
  font-size: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .bnr-newpower[data-size=m] .bnr-newpower__txt {
    font-size: 1.1rem;
  }
}

.top-section.active .top-section__inner {
  z-index: 1;
}

.top-section.active .circle-01 {
  top: 0;
  right: -1vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .top-section.active .circle-01 {
    right: -2rem;
  }
}

.top-section.active .circle-02 {
  top: 15vw;
  right: 22vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .top-section.active .circle-02 {
    top: 4rem;
    right: 20%;
  }
}

.top-section.active .circle-03 {
  top: 20vw;
  left: -5vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .top-section.active .circle-03 {
    top: 15%;
    left: -4rem;
  }
}

.active-box {
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  margin-top: 8vw;
  margin-bottom: 16vw;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .active-box {
    flex-direction: column;
    margin-top: 8rem;
    margin-bottom: 12rem;
  }
}

.active-box .slash {
  position: absolute;
}

.active-box .circle-04 {
  top: -6vw;
  right: -2vw;
}

@media print,
screen and (max-width: 767px) {
  .active-box .circle-04 {
    top: 0;
    right: -2rem;
  }
}

.active-box .circle-05 {
  bottom: -8vw;
  left: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .active-box .circle-05 {
    bottom: -8rem;
    left: 10%;
  }
}

.active-box .circle-06 {
  top: -3vw;
  left: -4vw;
  background: #D5F3F6;
}

@media print,
screen and (max-width: 767px) {
  .active-box .circle-06 {
    top: 10%;
    left: -4rem;
  }
}

.active-box .circle-07 {
  top: -8vw;
  right: -14vw;
  background: #E7E4FA;
}

@media print,
screen and (max-width: 767px) {
  .active-box .circle-07 {
    top: auto;
    bottom: 0;
    right: -2rem;
  }
}

.active-box .circle-08 {
  bottom: -5vw;
  left: 32vw;
}

@media print,
screen and (max-width: 767px) {
  .active-box .circle-08 {
    bottom: auto;
    top: -8rem;
    left: auto;
    right: 2rem;
  }
}

.active-box .circle-09 {
  bottom: -10vw;
  left: -17vw;
}

@media print,
screen and (max-width: 767px) {
  .active-box .circle-09 {
    bottom: auto;
    left: auto;
    top: 0;
    right: -4rem;
  }
}

.active-box__desc {
  flex: 1;
  position: relative;
  margin-top: 4rem;
  padding-right: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .active-box__desc {
    margin-top: 0;
    padding-right: 0;
  }
}

@media print,
screen and (max-width: 767px) {
  .active-box__ttl img {
    height: 3.2rem;
  }
}

.active-box__txt {
  margin-top: 2em;
  line-height: 2;
}

.active-box__btn {
  margin-top: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .active-box__btn {
    margin-top: 2.4rem;
  }
}

.active-box__img {
  flex: 1;
  position: relative;
  padding-left: 5vw;
}

@media print,
screen and (max-width: 767px) {
  .active-box__img {
    margin-top: 4.8rem;
    padding-left: 0;
    margin-left: auto;
    right: -1.6rem;
  }
}

.active-box__img-01 {
  width: 44.17vw;
  position: absolute;
  top: 0;
}

@media print,
screen and (max-width: 767px) {
  .active-box__img-01 {
    position: static;
    width: 83vw;
  }
}

.active-box__img-02 {
  position: absolute;
  top: 24vw;
  left: 0;
  width: 12.5vw;
}

@media print,
screen and (max-width: 767px) {
  .active-box__img-02 {
    width: 22.56vw;
    top: auto;
    left: -11.28vw;
    bottom: -11.28vw;
  }
}

.active-box__img-list {
  display: flex;
  gap: 1.2vw;
}

@media print,
screen and (max-width: 767px) {
  .active-box__img-list {
    gap: 1.2rem;
  }
}

.active-box__img-list img {
  width: 12.5vw;
}

@media print,
screen and (max-width: 767px) {
  .active-box__img-list img {
    width: 27vw;
  }
}

.active-box__img-list img:nth-child(1),
.active-box__img-list img:nth-child(3) {
  position: relative;
  top: 4vw;
}

.active-box__en {
  position: absolute;
  z-index: 1;
}

@media print,
screen and (min-width: 768px) {
  .active-box.-life {
    min-height: 38vw;
  }
}

.active-box.-life .slash {
  top: -7rem;
  left: 32rem;
}

@media print,
screen and (max-width: 767px) {
  .active-box.-life .slash {
    top: -4rem;
    left: 15rem;
  }
}

.active-box.-life .active-box__en {
  width: 14.22vw;
  left: 0;
  top: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .active-box.-life .active-box__en {
    width: 21vw;
    top: -6.4vw;
    left: -4vw;
  }
}

@media print,
screen and (min-width: 768px) {
  .active-box.-city {
    flex-direction: row-reverse;
  }
}

.active-box.-city .slash {
  top: -10rem;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .active-box.-city .slash {
    top: -4rem;
    left: 8rem;
  }
}

@media print,
screen and (max-width: 767px) {
  .active-box.-city .active-box__ttl {
    text-align: center;
  }
}

.active-box.-city .active-box__en {
  width: 14.58vw;
  right: 2vw;
  top: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .active-box.-city .active-box__en {
    width: 21.53vw;
  }
}

@media print,
screen and (max-width: 767px) {
  .active-box.-city .active-box__img {
    margin-right: auto;
    margin-left: 0;
    right: auto;
    left: -1.6rem;
  }
}

.active-box.-city .active-box__img-01 {
  left: auto;
  right: 5vw;
  text-align: right;
}

@media print,
screen and (min-width: 768px) {
  .active-box.-city .active-box__desc {
    padding: 0 0 0 4rem;
  }
}

.active-box.-society .slash {
  top: -10rem;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .active-box.-society .slash {
    top: -5rem;
  }
}

.active-box.-society .active-box__en {
  width: 20.47vw;
  left: 0;
  top: -3vw;
}

@media print,
screen and (max-width: 767px) {
  .active-box.-society .active-box__en {
    width: 30.51vw;
    left: 1rem;
    top: -2rem;
  }
}

.active-box.-society .active-box__img {
  margin-left: auto;
  margin-right: auto;
  right: auto;
}

.recruiting-message {
  padding: 12rem 12vw 20rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message {
    padding: 4rem 1.6rem;
  }
}

.recruiting-message__inner {
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
}

.recruiting-message__heading {
  display: flex;
  justify-content: flex-end;
  position: relative;
}

.recruiting-message__heading-ttl {
  font-size: 7.2rem;
  font-style: italic;
  line-height: 1;
  color: #004896;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message__heading-ttl {
    font-size: 3.2rem;
    text-align: right;
    font-weight: 600;
  }
}

.recruiting-message__content {
  margin-top: 6.4rem;
  display: flex;
  flex-direction: row-reverse;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message__content {
    display: block;
    margin-top: 2.4rem;
  }
}

.recruiting-message__img {
  width: 40rem;
  flex-shrink: 0;
  margin-left: 4vw;
  margin-bottom: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message__img {
    float: right;
    width: 36vw;
    margin-right: -1.6rem;
    margin-left: 2.4rem;
    margin-bottom: 2.4rem;
  }
}

.recruiting-message__img-sub {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 16.67vw;
  max-width: 32rem;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message__img-sub {
    width: 36vw;
    position: relative;
    left: -1.6rem;
    margin-top: 4rem;
  }
}

.recruiting-message__desc {
  padding-left: 16rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message__desc {
    padding-left: 0;
  }
}

.recruiting-message__desc .slash {
  position: absolute;
  top: -5rem;
  left: 8rem;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message__desc .slash {
    top: auto;
    bottom: 100%;
    left: 0;
  }
}

.recruiting-message__ttl {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.4;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message__ttl {
    font-size: 2rem;
  }
}

.recruiting-message__txt {
  margin-top: 2em;
  line-height: 2;
}

.recruiting-message__btn {
  margin-top: 3.2rem;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message__btn {
    margin-top: 2.4rem;
    text-align: right;
  }
}

.recruiting-message .circle-01 {
  top: 0;
  left: 15vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message .circle-01 {
    left: -1rem;
    top: 1rem;
  }
}

.recruiting-message .circle-02 {
  top: -10vw;
  left: 20vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message .circle-02 {
    top: -2rem;
    left: 2rem;
  }
}

.recruiting-message .circle-03 {
  bottom: -2vw;
  left: 14vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message .circle-03 {
    bottom: 18rem;
    left: 20%;
    width: 32vw;
  }
}

.page-index .recruit-info {
  padding: 4rem 12vw;
}

@media print,
screen and (max-width: 767px) {
  .page-index .recruit-info {
    padding: 0 1.6rem 4rem;
  }
}

.recruit-info {
  position: relative;
}

.recruit-menu-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.1vw;
}

@media print,
screen and (max-width: 767px) {
  .recruit-menu-list {
    gap: 0.8rem;
  }
}

.recruit-menu-list>li {
  width: calc((100% - 4.2vw) / 3);
}

@media print,
screen and (max-width: 767px) {
  .recruit-menu-list>li {
    width: calc((100% - 0.8rem) / 2);
  }
}

@media print,
screen and (min-width: 768px) {
  .recruit-menu-list>li.pc-col-1 {
    width: 100%;
  }
}

@media print,
screen and (max-width: 767px) {
  .recruit-menu-list>li.sp-col-1 {
    width: 100%;
  }
}

.recruit-menu-list>li.col-2 {
  width: calc((100% - 2.1vw) / 2);
}

@media print,
screen and (max-width: 767px) {
  .recruit-menu-list>li.col-2 {
    width: calc((100% - 0.8rem) / 2);
  }
}

@media print,
screen and (min-width: 768px) {
  .recruit-menu-list>li.pc-col-2 {
    width: calc((100% - 2.1vw) / 2);
  }
}

@media print,
screen and (max-width: 767px) {
  .recruit-menu-list>li.sp-col-2 {
    width: calc((100% - 0.8rem) / 2);
  }

  .recruit-menu-list>li>.recruit-menu-list {
    height: 100%;
  }

  .recruit-menu-list>li>.recruit-menu-list>li>a {
    height: 100%;
  }

  .recruit-menu-list--grid {
    gap: .4rem;
  }
}

.recruit-menu-card {
  text-decoration: none;
}

.recruit-menu-card__img img {
  aspect-ratio: 2/1;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.recruit-menu-card__desc {
  background: #132453;
  text-align: center;
  padding: 4rem 2.4rem 5.6rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .recruit-menu-card__desc {
    padding: 1.6rem 1rem 2.8rem;
  }
}

.recruit-menu-card__desc::before {
  content: "";
  display: block;
  width: 30%;
  height: 0.5rem;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #006AF5;
}

@media print,
screen and (max-width: 767px) {
  .recruit-menu-card__desc::before {
    height: 0.3rem;
  }
}

.recruit-menu-card__desc::after {
  content: "\e901";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  width: 4.8rem;
  height: 4.8rem;
  color: #fff;
  position: absolute;
  bottom: 0;
  right: 0;
}

@media print,
screen and (max-width: 767px) {
  .recruit-menu-card__desc::after {
    font-size: 1.1rem;
    width: 2rem;
    height: 2rem;
  }
}

.recruit-menu-card__desc .txt-en {
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  font-size: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .recruit-menu-card__desc .txt-en {
    font-size: 1rem;
  }
}

.recruit-menu-card__desc .txt-menu {
  color: #fff;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 1.6rem;
  position: relative;
  z-index: 1;
}

@media print,
screen and (max-width: 767px) {
  .recruit-menu-card__desc .txt-menu {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}

.recruit-menu-card[data-type=horizontal] {
  display: flex;
  height: 13rem;
}

@media print,
screen and (max-width: 767px) {
  .recruit-menu-card[data-type=horizontal] {
    height: auto;
  }
}

.recruit-menu-card[data-type=horizontal] .recruit-menu-card__desc {
  flex: 1;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.6rem 2.4rem 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .recruit-menu-card[data-type=horizontal] .recruit-menu-card__desc {
    padding: 1.2rem 1rem;
  }

  .recruit-menu-card[data-type=horizontal] .recruit-menu-card__desc .txt-en {
    display: none;
  }

  .recruit-menu-card[data-type=horizontal] .recruit-menu-card__desc .txt-menu {
    margin-top: 0;
  }
}

.recruit-menu-card[data-type=horizontal] .recruit-menu-card__desc::before {
  display: none;
}

.recruit-menu-card[data-type=horizontal] .recruit-menu-card__desc .txt-menu {
  line-height: 1;
}

.recruit-menu-card.-career .txt-en,
.recruit-menu-card.-alumni .txt-en,
.recruit-menu-card.-young-professional .txt-en {
  color: #822EFA;
}

.recruit-menu-card.-career .txt-menu {
  letter-spacing: 0.1em;
}

.recruit-menu-card.-career .recruit-menu-card__desc::before,
.recruit-menu-card.-career .recruit-menu-card__desc::after,
.recruit-menu-card.-alumni .recruit-menu-card__desc::before,
.recruit-menu-card.-alumni .recruit-menu-card__desc::after,
.recruit-menu-card.-young-professional .recruit-menu-card__desc::before,
.recruit-menu-card.-young-professional .recruit-menu-card__desc::after {
  background: #822EFA;
}

.recruit-menu-card.-newgrad .txt-en {
  color: #34CFBE;
}

.recruit-menu-card.-newgrad .txt-menu {
  letter-spacing: 0.1em;
}

.recruit-menu-card.-newgrad .recruit-menu-card__desc::before,
.recruit-menu-card.-newgrad .recruit-menu-card__desc::after {
  background: #34CFBE;
}

.recruit-menu-card.-intern .txt-en {
  color: #FBA700;
}

.recruit-menu-card.-intern .recruit-menu-card__desc::before,
.recruit-menu-card.-intern .recruit-menu-card__desc::after {
  background: #FBA700;
}

.recruit-menu-card.-challenged .txt-en {
  color: #FF7EAE;
}

.recruit-menu-card.-challenged .txt-menu {
  letter-spacing: 0.1em;
}

.recruit-menu-card.-challenged .recruit-menu-card__desc::before,
.recruit-menu-card.-challenged .recruit-menu-card__desc::after {
  background: #FF7EAE;
}

.recruit-menu-card.-group .txt-en {
  color: #7AAADE;
}

.recruit-menu-card.-group .recruit-menu-card__desc::before,
.recruit-menu-card.-group .recruit-menu-card__desc::after {
  background: #0056B2;
}

/*===================================================

 パシフィックコンサルタンツについて

===================================================*/
.page-about--index .l-main {
  padding-top: 0;
}

.page-about--index .top-message {
  padding: 8rem 8vw;
  margin-bottom: 10vw;
}

@media print,
screen and (max-width: 767px) {
  .page-about--index .top-message {
    padding: 4rem 1.6rem;
    margin-bottom: 4rem;
  }
}

.about-index-header {
  background: url(../img/message/bg-city.jpg) no-repeat center bottom;
  background-size: cover;
  height: 33vw;
  max-height: 60vh;
  min-height: 40rem;
  display: flex;
  align-items: center;
  margin-bottom: 0;
}

@media print,
screen and (max-width: 767px) {
  .about-index-header {
    min-height: 33rem;
  }
}

.about-index-header::before {
  content: "";
  display: block;
  background: url(../img/slide/visual-mask_pc.svg) no-repeat left bottom;
  background-size: cover;
  width: 100%;
  height: 40rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .about-index-header::before {
    background: url(../img/slide/visual-mask_sp.svg) no-repeat left bottom;
    background-size: cover;
    height: 10rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .about-index-header .slash {
    top: -1.5vw;
    left: 5vw;
  }
}

.about-index-header .circle {
  z-index: 1;
}

.about-index-section .circle-01 {
  bottom: -7vw;
  left: 50%;
}

@media print,
screen and (max-width: 767px) {
  .about-index-section .circle-01 {
    left: -4rem;
    bottom: -8rem;
  }
}

.about-index-section .circle-02 {
  top: -9vw;
  left: -10vw;
}

@media print,
screen and (max-width: 767px) {
  .about-index-section .circle-02 {
    top: -6rem;
    left: -4rem;
  }
}

.about-index-section .circle-03 {
  bottom: -12vw;
  left: 9vw;
}

.about-index-section .circle-04 {
  top: -3vw;
  right: -5vw;
}

.about-index-section .circle-05 {
  bottom: -12vw;
  right: -14vw;
}

.vision2030-bnr-area {
  margin: 10rem auto 0;
  max-width: 128rem;
}

@media print,
screen and (max-width: 767px) {
  .vision2030-bnr-area {
    margin-top: 4rem;
  }
}

.bnr-vision2030 {
  display: flex;
  justify-content: space-between;
  background: #004896;
  color: #fff;
  text-decoration: none;
  transition: filter 0.4s;
}

@media print,
screen and (max-width: 767px) {
  .bnr-vision2030 {
    position: relative;
  }
}

@media print,
screen and (min-width: 768px) {
  .bnr-vision2030:hover {
    filter: saturate(120%);
  }
}

.bnr-vision2030__txt {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  letter-spacing: 0.2em;
  padding: 4rem 8rem;
}

@media print,
screen and (max-width: 767px) {
  .bnr-vision2030__txt {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    padding: 1.6rem;
    text-align: center;
    width: 100%;
    height: 100%;
    align-items: center;
  }
}

.bnr-vision2030__txt .title {
  font-size: 3.6rem;
}

@media print,
screen and (max-width: 767px) {
  .bnr-vision2030__txt .title {
    font-size: 2rem;
  }
}

.bnr-vision2030__txt .copy {
  font-size: 2rem;
  font-weight: normal;
}

@media print,
screen and (max-width: 767px) {
  .bnr-vision2030__txt .copy {
    font-size: 1.4rem;
  }
}

.bnr-vision2030__img {
  width: 37.5%;
  flex-shrink: 0;
}

@media print,
screen and (max-width: 767px) {
  .bnr-vision2030__img {
    width: 100%;
  }
}

.top-message-header {
  display: flex;
  height: calc(100vh - 26rem);
  min-height: 48rem;
  max-height: 108rem;
}

@media print,
screen and (max-width: 767px) {
  .top-message-header {
    display: block;
    padding-top: 4rem;
    height: auto;
    min-height: initial;
    max-height: initial;
  }
}

.top-message-header__content {
  width: 50%;
  flex-shrink: 0;
  padding: 0 4vw;
  position: relative;
  display: flex;
  align-items: center;
}

@media print,
screen and (max-width: 767px) {
  .top-message-header__content {
    width: 100%;
    padding: 24vw 2.4rem 2.4rem;
    display: block;
  }
}

.top-message-header__content .local-page-category {
  position: absolute;
  top: 4rem;
  right: 7rem;
}

@media print,
screen and (max-width: 767px) {
  .top-message-header__content .local-page-category {
    right: auto;
    left: 2.4rem;
  }
}

.top-message-header__content .local-page-category .slash {
  position: absolute;
  top: -5vw;
  left: -8vw;
}

@media print,
screen and (max-width: 767px) {
  .top-message-header__content .local-page-category .slash {
    top: auto;
    bottom: 100%;
    left: 120%;
    transform: scale(0.7);
  }
}

.top-message-header__txt-wrap .copy {
  font-size: min(3vw, 5.6rem);
  line-height: 1.4;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .top-message-header__txt-wrap .copy {
    font-size: 2.4rem;
  }
}

.top-message-header__txt-wrap .copy span {
  display: block;
}

.top-message-header__txt-wrap .sign {
  text-align: right;
  margin-top: 3em;
  font-size: min(1vw, 1.8rem);
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  line-height: 1;
}

@media print,
screen and (max-width: 767px) {
  .top-message-header__txt-wrap .sign {
    font-size: 1.4rem;
  }
}

.top-message-header__txt-wrap .sign img {
  width: 10vw;
}

@media print,
screen and (max-width: 767px) {
  .top-message-header__txt-wrap .sign img {
    width: 10rem;
  }
}

.top-message-header__visual {
  width: 50%;
  flex-shrink: 0;
}

@media print,
screen and (max-width: 767px) {
  .top-message-header__visual {
    width: 100%;
  }
}

.top-message-header__visual-img {
  height: 100%;
}

@media print,
screen and (max-width: 767px) {
  .top-message-header__visual-img {
    aspect-ratio: 1/1;
  }
}

.top-message-header__visual-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.top-message-article {
  padding: 2rem 8vw 8rem;
  position: relative;
  line-height: 2;
}

@media print,
screen and (max-width: 767px) {
  .top-message-article {
    padding: 2.4rem 1.6rem;
  }
}

.top-message-article .circle-01 {
  top: 5%;
  left: -4vw;
}

.top-message-article .circle-02 {
  top: 20%;
  right: -4vw;
}

.top-message-article .circle-03 {
  bottom: 0;
  left: -4vw;
}

.top-message-article__row {
  margin-top: 8rem;
  display: flex;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .top-message-article__row {
    margin-top: 4rem;
    display: block;
  }
}

@media print,
screen and (min-width: 768px) {
  .top-message-article__img {
    width: 31.25vw;
    position: absolute;
    left: 50%;
    transform: translateX(-50vw);
  }
}

@media print,
screen and (max-width: 767px) {
  .top-message-article__img {
    width: 100%;
    aspect-ratio: 3/2;
  }

  .top-message-article__img img {
    width: 100%;
    height: 100%;
    object-position: top;
    object-fit: cover;
  }
}

.top-message-article__txt {
  flex: 1;
  padding-left: 32%;
}

@media print,
screen and (max-width: 767px) {
  .top-message-article__txt {
    padding: 2.4rem 0 0;
  }
}

.recruiting-message-header {
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message-header {
    margin-bottom: 5rem;
  }
}

.recruiting-message-header__visual {
  position: relative;
  width: 61.46vw;
  max-height: 108rem;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message-header__visual {
    width: 100%;
    padding-right: 2.4rem;
  }
}

.recruiting-message-header__visual-img {
  height: calc(100vh - 26rem);
  min-height: 48rem;
  max-height: 108rem;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message-header__visual-img {
    min-height: 28rem;
    max-height: 28rem;
    width: 100%;
  }
}

.recruiting-message-header__visual-img img {
  border-radius: 0 50rem 50rem 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recruiting-message-header__copy {
  position: absolute;
  right: 4vw;
  top: 65%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  z-index: 1;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message-header__copy {
    transform: none;
    right: 0;
    top: auto;
    bottom: -5rem;
    width: 100%;
    padding: 0 1.6rem;
    align-items: flex-start;
  }
}

.recruiting-message-header__name {
  margin-top: 8rem;
  text-align: right;
  font-weight: 700;
  font-size: 2rem;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message-header__name {
    margin-top: 1.6rem;
    font-size: 1.2rem;
  }
}

.recruiting-message-header__name .name {
  font-size: 3.2rem;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message-header__name .name {
    font-size: 1.6rem;
  }
}

.recruiting-message-header__slash1 {
  position: absolute;
  top: -4vw;
  left: 20vw;
  z-index: 99;
}

.recruiting-message-header .local-page-category {
  margin-bottom: 4rem;
  font-weight: 600;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message-header .local-page-category {
    margin-bottom: 1rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .recruiting-message-header .local-page-category span::after {
    left: auto;
    right: calc(100% + 0.5em);
  }
}

.recruiting-message-article {
  padding: 4rem 8vw 8rem;
  position: relative;
  line-height: 2;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message-article {
    padding: 1.6rem 1.6rem 4rem;
  }
}

.recruiting-message-article .circle-01 {
  top: 5%;
  left: 5%;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message-article .circle-01 {
    top: -2rem;
    left: auto;
    right: -2rem;
  }
}

.recruiting-message-article .circle-02 {
  bottom: 0;
  right: 0;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message-article .circle-02 {
    bottom: 16rem;
    right: auto;
    left: -4rem;
  }
}

.recruiting-message-article__row {
  display: flex;
  position: relative;
  gap: 0 6.25%;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message-article__row {
    display: block;
  }
}

.recruiting-message-article__img {
  width: 31.25%;
}

@media print,
screen and (max-width: 767px) {
  .recruiting-message-article__img {
    width: auto;
    height: 16rem;
    margin: 2.4rem -1.6rem 0;
  }

  .recruiting-message-article__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
  }
}

.recruiting-message-article__txt {
  flex: 1;
}

/*===================================================

 パシフィックコンサルタンツについて ＞ メディアライブラリー
 20241206追加

===================================================*/
@media print,
screen and (min-width: 768px) {
  .page-nav--medialibrary-index {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 2;
  }

  .page-nav--medialibrary-index ul {
    white-space: nowrap;
  }

  .page-nav--medialibrary-index ul::before {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background: #004896;
    transform: rotate(30deg);
    transform-origin: top left;
    position: absolute;
    top: 1rem;
    left: 0.7rem;
  }

  .page-nav--medialibrary-index ul>li:first-child {
    margin-top: 0;
  }

  .page-nav--medialibrary-index ul>li:nth-child(2) {
    left: -3.6rem;
  }

  .page-nav--medialibrary-index ul>li:nth-child(3) {
    left: -7.2rem;
  }

  .page-nav--medialibrary-index ul>li:nth-child(4) {
    left: -10.8rem;
  }

  .page-nav--medialibrary-index ul>li:nth-child(5) {
    left: -14.4rem;
  }

  .page-nav--medialibrary-index ul>li::before,
  .page-nav--medialibrary-index ul>li::after {
    display: none;
  }

  .page-nav--medialibrary-index ul>li a {
    font-weight: 700;
    font-size: 1.6rem;
  }

  .page-nav--medialibrary-index ul>li a::before {
    border-width: 2px;
  }

  .page-nav--medialibrary-index ul>li a::after {
    content: "\e902";
    font-family: "pckk" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    color: #004896;
  }
}

@media print,
screen and (max-width: 767px) {
  .page-nav--medialibrary-index {
    margin-top: 4rem;
  }

  .page-nav--medialibrary-index>ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 1.6rem 2.4rem;
  }

  .page-nav--medialibrary-index>ul>li {
    margin: 0;
  }

  .page-nav--medialibrary-index>ul>li::before,
  .page-nav--medialibrary-index>ul>li::after {
    display: none;
  }

  .page-nav--medialibrary-index>ul>li>a {
    font-size: 1.2rem;
    font-weight: 700;
    gap: 0.4rem;
  }

  .page-nav--medialibrary-index>ul>li>a::before {
    display: none;
  }

  .page-nav--medialibrary-index>ul>li>a::after {
    content: "\e902";
    font-family: "pckk" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    color: #004896;
  }
}

/* リスト */
.media-cardlist {
  display: flex;
  flex-wrap: wrap;
  gap: 4.8rem 3.2rem;

  >li {
    width: calc((100% - 6.4rem) / 3);
  }
}

.media-cardlist[data-col="2"] {
  >li {
    width: calc((100% - 3.2rem) / 2);
  }
}

.media-card {
  text-decoration: none;
  color: #132453;

  .media-card__img {
    overflow: hidden;

    img {
      display: block;
      transition: transform 0.8s;
    }

    iframe.youtube {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 16/9;
    }
  }

  .media-card__caption {
    margin-top: 1rem;
    line-height: 1.5;

    .label {
      font-weight: 700;
    }

    .size {
      font-size: 1.6rem;
    }
  }
}

@media print,
screen and (min-width: 768px) {
  .media-card:hover .media-card__img {
    img {
      transform: scale(1.05);
    }
  }
}

@media print,
screen and (max-width: 767px) {
  .media-cardlist {
    gap: 2.4rem 0.8rem;
  }

  .media-cardlist[data-col="3"],
  .media-cardlist[data-col="2"] {
    >li {
      width: calc((100% - .8rem) / 2);
    }
  }

  .media-card {
    .media-card__caption {
      margin-top: .5rem;

      .label {
        font-weight: 700;
      }

      .size {
        font-size: 1.2rem;
      }
    }
  }
}

/*===================================================

 活躍の場（事業について）

===================================================*/
@media print,
screen and (min-width: 768px) {
  .page-nav--business-index {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 2;
  }

  .page-nav--business-index ul {
    white-space: nowrap;
  }

  .page-nav--business-index ul::before {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background: #004896;
    transform: rotate(30deg);
    transform-origin: top left;
    position: absolute;
    top: 1rem;
    left: 0.7rem;
  }

  .page-nav--business-index ul>li:first-child {
    margin-top: 0;
  }

  .page-nav--business-index ul>li:nth-child(2) {
    left: -3.6rem;
  }

  .page-nav--business-index ul>li:nth-child(3) {
    left: -7.2rem;
  }

  .page-nav--business-index ul>li:nth-child(4) {
    left: -10.8rem;
  }

  .page-nav--business-index ul>li:nth-child(5) {
    left: -14.4rem;
  }

  .page-nav--business-index ul>li::before,
  .page-nav--business-index ul>li::after {
    display: none;
  }

  .page-nav--business-index ul>li a {
    font-weight: 700;
    font-size: 1.6rem;
  }

  .page-nav--business-index ul>li a::before {
    border-width: 2px;
  }

  .page-nav--business-index ul>li a::after {
    content: "\e902";
    font-family: "pckk" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    color: #004896;
  }
}

@media print,
screen and (max-width: 767px) {
  .page-nav--business-index {
    margin-top: 4rem;
  }

  .page-nav--business-index>ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 1.6rem 2.4rem;
  }

  .page-nav--business-index>ul>li {
    margin: 0;
  }

  .page-nav--business-index>ul>li::before,
  .page-nav--business-index>ul>li::after {
    display: none;
  }

  .page-nav--business-index>ul>li>a {
    font-size: 1.2rem;
    font-weight: 700;
    gap: 0.4rem;
  }

  .page-nav--business-index>ul>li>a::before {
    display: none;
  }

  .page-nav--business-index>ul>li>a::after {
    content: "\e902";
    font-family: "pckk" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    color: #004896;
  }
}

.theme-map {
  padding-bottom: 12rem;
}

@media print,
screen and (max-width: 767px) {
  .theme-map {
    padding-bottom: 4rem;
  }
}

.theme-map__inner {
  padding-left: 8vw;
  padding-right: 8vw;
}

@media print,
screen and (max-width: 767px) {
  .theme-map__inner {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    margin-bottom: 2rem;
  }
}

.theme-map__heading {
  max-width: 128rem;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.theme-map__heading-ttl {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
  color: #0056B2;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .theme-map__heading-ttl {
    font-size: 1.8rem;
  }
}

.theme-map__heading-ttl::after {
  content: "";
  display: block;
  width: 10rem;
  border-top: 2px solid;
  position: absolute;
  left: calc(100% + 0.5em);
  top: 50%;
  margin-top: -1px;
}

@media print,
screen and (max-width: 767px) {
  .theme-map__heading-ttl::after {
    width: 5rem;
  }
}

@media print,
screen and (max-width: 767px) {
  .theme-map__heading-txt {
    margin-top: -1rem;
    margin-bottom: 1rem;
    font-size: 1.1rem;
  }
}

.theme-map-wrap {
  position: relative;
}

.theme-map-wrap__img {
  display: block;
}

.theme-map-wrap__img img {
  width: 100%;
}

.theme-map-wrap__pin button {
  position: absolute;
  width: 3.646vw;
  transition: transform 0.2s;
}

@media print,
screen and (max-width: 767px) {
  .theme-map-wrap__pin button {
    width: 3.2rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .theme-map-wrap__pin button:hover {
    transform: translateY(5px);
  }
}

.theme-map-wrap__pin .pin1 {
  top: -3%;
  left: 71%;
}

@media print,
screen and (max-width: 767px) {
  .theme-map-wrap__pin .pin1 {
    top: -7%;
    left: 75.5%;
  }
}

.theme-map-wrap__pin .pin2 {
  top: 15.5%;
  left: 58.5%;
}

@media print,
screen and (max-width: 767px) {
  .theme-map-wrap__pin .pin2 {
    top: 12.5%;
    left: 61.5%;
  }
}

.theme-map-wrap__pin .pin3 {
  top: 57%;
  left: 18.5%;
}

@media print,
screen and (max-width: 767px) {
  .theme-map-wrap__pin .pin3 {
    top: 62%;
    left: 18.5%;
  }
}

.theme-map-wrap__pin .pin4 {
  top: 73%;
  left: 48%;
}

@media print,
screen and (max-width: 767px) {
  .theme-map-wrap__pin .pin4 {
    top: 68%;
    left: 46%;
  }
}

.theme-map-wrap__pin .pin5 {
  top: 65%;
  left: 70%;
}

@media print,
screen and (max-width: 767px) {
  .theme-map-wrap__pin .pin5 {
    top: 65%;
    left: 81%;
  }
}

.theme-map-btn {
  padding: 8rem 4vw 0;
}

@media print,
screen and (min-width: 768px) {
  .theme-map-btn .btn-primary {
    min-width: 36rem;
  }
}

@media print,
screen and (max-width: 767px) {
  .theme-map-btn {
    padding: 2.4rem 1.6rem 0;
  }

  .theme-map-btn .list-btn.row--jc-center>li {
    width: 100%;
  }

  .theme-map-btn .list-btn.row--jc-center>li>a {
    width: 100%;
  }
}

.project-section {
  position: relative;
}

.project-section .circle-01 {
  top: -2vw;
  right: 24vw;
}

.project-section .circle-02 {
  top: 8vw;
  right: 4vw;
}

.project-wrap {
  padding-bottom: 12rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .project-wrap {
    padding: 0 0.8rem 2.4rem;
  }
}

.project-wrap::before {
  content: "";
  display: block;
  background: #004896;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -50vw;
  width: 100vw;
  height: calc(100% - 10vw);
  z-index: 0;
}

.project-list {
  display: flex;
  gap: 4.167vw;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .project-list {
    display: block;
  }
}

@media print,
screen and (max-width: 767px) {
  .project-list>li {
    margin-bottom: 4rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .project-list>li:nth-child(2) {
    margin-top: 5vw;
  }
}

.project-card {
  color: #fff;
  text-decoration: none;
}

.project-card__desc {
  margin-top: 1em;
}

@media print,
screen and (min-width: 768px) {
  .project-card__desc .btn-secondary {
    margin-top: 0.5em;
  }
}

.project-card__ttl {
  font-size: 2.8rem;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .project-card__ttl {
    font-size: 1.8rem;
  }
}

.btn-px-area {
  margin-top: 8rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .btn-px-area {
    margin-top: 4rem;
  }
}

.btn-px-area .btn-px {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  border: 2px solid #fff;
  padding: 3.6rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .btn-px-area .btn-px {
    padding: 1.6rem;
  }
}

.btn-px-area .btn-px::before {
  content: "\e908";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 3.6rem;
  position: absolute;
  top: 50%;
  margin-top: -0.5em;
  right: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .btn-px-area .btn-px::before {
    font-size: 1.8rem;
    right: 0.8rem;
    top: 0.8rem;
    margin-top: 0;
  }
}

.btn-px-area .btn-px__ttl {
  font-size: 3.6rem;
  line-height: 1;
  display: flex;
  align-items: center;
}

@media print,
screen and (max-width: 767px) {
  .btn-px-area .btn-px__ttl {
    font-size: 2.4rem;
  }
}

.btn-px-area .btn-px__ttl span {
  margin-left: 1em;
  font-size: 1.8rem;
  position: relative;
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  letter-spacing: 0.1em;
}

@media print,
screen and (max-width: 767px) {
  .btn-px-area .btn-px__ttl span {
    font-size: 1.2rem;
  }
}

.btn-px-area .btn-px__ttl span::before,
.btn-px-area .btn-px__ttl span::after {
  content: "";
  width: 3.2rem;
  height: 1px;
  background: #fff;
}

@media print,
screen and (max-width: 767px) {

  .btn-px-area .btn-px__ttl span::before,
  .btn-px-area .btn-px__ttl span::after {
    width: 1.2rem;
  }
}

.btn-px-area .btn-px__txt {
  margin-top: 1em;
  letter-spacing: 0.2em;
  line-height: 1.2;
}

@media print,
screen and (max-width: 767px) {
  .btn-px-area .btn-px__txt {
    font-size: 1.2rem;
  }
}

.field-section {
  position: relative;
}

.field-section .circle-01 {
  top: -10vw;
  left: -4vw;
}

.field-section .circle-02 {
  top: 8vw;
  right: 4vw;
}

.field-section .circle-03 {
  bottom: -1vw;
  right: 4vw;
}

.field-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5.6rem 0.8rem;
}

@media print,
screen and (max-width: 767px) {
  .field-list {
    gap: 2.4rem 0.4rem;
  }
}

.field-list>li {
  width: calc((100% - 3.2rem) / 5);
}

@media print,
screen and (max-width: 767px) {
  .field-list>li {
    width: calc((100% - 0.8rem) / 3);
  }
}

.field-card {
  text-decoration: none;
}

@media print,
screen and (min-width: 768px) {
  .field-card:hover .field-card__img img {
    transform: scale(1.1);
  }
}

.field-card__img {
  overflow: hidden;
}

.field-card__img img {
  transition: transform 0.4s;
}

.field-card__desc {
  position: relative;
  text-align: center;
  padding-top: 1.5em;
}

@media print,
screen and (max-width: 767px) {
  .field-card__desc {
    padding-top: 1em;
  }
}

.field-card__icon {
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: -4rem;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  text-align: center;
  padding-top: 0.8rem;
}

@media print,
screen and (max-width: 767px) {
  .field-card__icon {
    width: 5.6rem;
    height: 5.6rem;
    top: -2.4rem;
  }
}

.field-card__icon span {
  font-size: 4.4rem;
}

@media print,
screen and (max-width: 767px) {
  .field-card__icon span {
    font-size: 2.4rem;
  }
}

.field-card__icon span::before {
  background: linear-gradient(135deg, #2E80D9 0%, #64A8FF 40%, #34CFBE 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.field-card__ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  position: relative;
  color: #132453;
}

@media print,
screen and (max-width: 767px) {
  .field-card__ttl {
    font-size: 1.3rem;
  }
}

.field-list--jump {
  gap: 4rem 0.8rem;
}

@media print,
screen and (max-width: 767px) {
  .field-list--jump {
    gap: 2.4rem 0.4rem;
  }
}

.field-list--jump>li {
  width: calc((100% - 4.8rem) / 7);
}

@media print,
screen and (max-width: 767px) {
  .field-list--jump>li {
    width: calc((100% - 0.8rem) / 3);
  }
}

.field-list--jump .field-card__img {
  aspect-ratio: 2/1;
}

.field-list--jump .field-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.field-list--jump .field-card__icon {
  width: 8rem;
  height: 8rem;
  top: -2.5rem;
}

@media print,
screen and (max-width: 767px) {
  .field-list--jump .field-card__icon {
    width: 5.6rem;
    height: 5.6rem;
    top: -2.4rem;
  }
}

.field-list--jump .field-card__icon span {
  font-size: 3.2rem;
}

@media print,
screen and (max-width: 767px) {
  .field-list--jump .field-card__icon span {
    font-size: 2.4rem;
  }
}

.field-list--jump .field-card__ttl {
  font-size: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .field-list--jump .field-card__ttl {
    font-size: 1.2rem;
  }
}

.section.recruit-info .newpower-bnr-area {
  margin-top: 20rem;
  margin-left: -8vw;
  margin-right: -8vw;
}

@media print,
screen and (max-width: 767px) {
  .section.recruit-info .newpower-bnr-area {
    margin-top: 10rem;
    margin-left: -1.6rem;
    margin-right: -1.6rem;
  }
}

.field-intro-section {
  position: relative;
  padding-left: 8vw;
  padding-right: 8vw;
}

@media print,
screen and (max-width: 767px) {
  .field-intro-section {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

.field-intro-section .circle-01 {
  top: 5vw;
  left: -2vw;
}

.field-intro-section .circle-02 {
  top: 25vw;
  right: 6vw;
}

.field-intro-lead {
  text-align: center;
  margin: 4em 0;
}

@media print,
screen and (max-width: 767px) {
  .field-intro-lead {
    margin: 2em 0;
    text-align: left;
  }
}

.field-intro-lead>p {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1.5em;
  letter-spacing: 0.1em;
}

@media print,
screen and (max-width: 767px) {
  .field-intro-lead>p {
    font-size: 1.6rem;
    letter-spacing: 0;
    line-height: 2;
    margin-bottom: 0;
    display: inline;
  }
}

.field-theme-link-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.4rem;
  margin-bottom: 8rem;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-link-list {
    gap: 1.6rem 0.8rem;
    margin-bottom: 2rem;
  }
}

.field-theme-link-list>li {
  min-width: 18rem;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-link-list>li {
    min-width: initial;
    width: calc((100% - 1.6rem) / 3);
  }
}

.field-theme-link-list .theme-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 2px solid #0056B2;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  padding: 2rem 1.6rem 4rem;
  box-shadow: 0 0.1rem 0.3rem 0 rgba(0, 72, 150, 0.2);
  transition: box-shadow 0.4s;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-link-list .theme-link {
    padding: 1rem 0.5rem 2rem;
    border-width: 1px;
  }
}

.field-theme-link-list .theme-link::after {
  content: "\e902";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  background: #fff;
  color: #0056B2;
  font-size: 2.4rem;
  position: absolute;
  bottom: -0.5em;
  left: 50%;
  transform: translateX(-50%);
  width: 2em;
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-link-list .theme-link::after {
    font-size: 1.6rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .field-theme-link-list .theme-link:hover {
    box-shadow: 0 0.2rem 1rem 0 rgba(0, 72, 150, 0.3);
  }
}

.field-theme-link-list .theme-link .theme {
  color: #4495FF;
  font-style: italic;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-link-list .theme-link .theme {
    font-size: 1rem;
  }
}

.field-theme-link-list .theme-link .theme em {
  font-size: 2rem;
  margin-left: 0.2em;
  font-style: italic;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-link-list .theme-link .theme em {
    font-size: 1.4rem;
  }
}

.field-theme-link-list .theme-link .title {
  margin-top: 1em;
  color: #004896;
  font-size: 2rem;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-link-list .theme-link .title {
    font-size: 1.3rem;
  }
}

.field-theme-section {
  padding: 8rem 8vw;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-section {
    padding: 4rem 1.6rem;
  }
}

.field-theme-section .circle-01 {
  top: 10vw;
  left: -10vw;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-section .circle-01 {
    top: 0;
    left: auto;
    right: -8rem;
  }
}

.field-theme-section .circle-02 {
  top: 10vw;
  left: 10vw;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-section .circle-02 {
    top: 0;
    left: 4rem;
  }
}

.field-theme-section .circle-03 {
  top: 0;
  right: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-section .circle-03 {
    top: 10%;
    right: -4rem;
  }
}

.field-theme-section .circle-04 {
  bottom: -8vw;
  left: -5vw;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-section .circle-04 {
    bottom: 20%;
    left: -4rem;
  }
}

.field-theme-section .circle-05 {
  top: 17vw;
  right: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-section .circle-05 {
    top: 50%;
    right: -2rem;
  }
}

.field-theme-section .circle-06 {
  bottom: -8vw;
  left: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-section .circle-06 {
    bottom: 10%;
    left: -2rem;
  }
}

.field-theme-section .circle-07 {
  top: 14vw;
  right: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-section .circle-07 {
    top: 0;
    right: -2rem;
  }
}

.field-theme-section .circle-08 {
  top: 0;
  right: 20vw;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-section .circle-08 {
    top: 0;
    right: 2rem;
  }
}

.field-theme-section .circle-09 {
  top: 5vw;
  right: -2vw;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-section .circle-09 {
    top: 50%;
    right: -4rem;
  }
}

.field-theme-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1;
  position: relative;
}

.field-theme-heading::after {
  content: "";
  width: 1px;
  height: 8rem;
  background: #4495FF;
  margin: 2rem 0;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-heading::after {
    height: 2.4rem;
    margin: 0.8rem 0;
  }
}

.field-theme-heading .theme {
  margin-top: 1rem;
  color: #4495FF;
  font-style: italic;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-heading .theme {
    font-size: 1.4rem;
  }
}

.field-theme-heading .theme em {
  font-size: 4rem;
  margin-left: 0.2em;
  font-style: italic;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-heading .theme em {
    font-size: 2rem;
  }
}

.field-theme-heading .title {
  margin-top: 2rem;
  font-size: 5.6rem;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-heading .title {
    font-size: 2.8rem;
    margin-top: 1rem;
  }
}

.field-related {
  margin-bottom: 10rem;
}

@media print,
screen and (max-width: 767px) {
  .field-related {
    margin-bottom: 4rem;
  }
}

.field-related-list {
  display: flex;
  border: 2px solid #4495FF;
  border-radius: 1rem;
  overflow: hidden;
  background: #fff;
}

@media print,
screen and (max-width: 767px) {
  .field-related-list {
    flex-wrap: wrap;
  }
}

.field-related-list>li {
  flex: 1;
  text-align: center;
  padding: 1rem 1rem 1.5rem;
  background: #fff;
}

@media print,
screen and (max-width: 767px) {
  .field-related-list>li {
    width: 25%;
    flex: none;
    padding: 0.5rem 0.5rem 1rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .field-related-list>li:not(:last-child) {
    border-right: 1px solid #4495FF;
  }
}

@media print,
screen and (max-width: 767px) {
  .field-related-list>li {
    border-right: 1px solid #4495FF;
    border-bottom: 1px solid #4495FF;
  }

  .field-related-list>li:nth-child(4n) {
    border-right: none;
  }

  .field-related-list>li:nth-last-child(-n+3) {
    border-bottom: none;
  }
}

.field-related-list>li .label {
  color: #0056B2;
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  height: 3em;
}

@media print,
screen and (max-width: 767px) {
  .field-related-list>li .label {
    font-size: 1.1rem;
  }
}

.field-related-list>li .label.disabled {
  color: #656C7E;
}

.field-related-list>li .icon {
  width: 4rem;
  height: 4rem;
  font-size: 0;
  color: #006AF5;
  display: block;
  margin: 0 auto;
}

@media print,
screen and (max-width: 767px) {
  .field-related-list>li .icon {
    width: 2rem;
    height: 2rem;
  }
}

.field-related-list>li .icon::before {
  font-size: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .field-related-list>li .icon::before {
    font-size: 2rem;
  }
}

.theme-description-row {
  display: flex;
  justify-content: space-between;
  line-height: 2;
  position: relative;
  margin-bottom: 8rem;
}

@media print,
screen and (max-width: 767px) {
  .theme-description-row {
    display: block;
    margin-bottom: 4rem;
  }
}

.theme-description-row:last-child {
  margin-bottom: 0;
}

.theme-description-row__img {
  width: 35.15625%;
}

@media print,
screen and (max-width: 767px) {
  .theme-description-row__img {
    width: auto;
  }
}

.theme-description-row__txt {
  flex: 1;
  padding-left: 4.8rem;
}

@media print,
screen and (max-width: 767px) {
  .theme-description-row__txt {
    padding: 1.6rem 0 0;
  }

  .theme-description-row__txt .heading-03 {
    text-align: center;
  }
}

.theme-description-row .circle-03 {
  top: 4vw;
  left: -10vw;
}

.theme-description-row .circle-04 {
  bottom: -2vw;
  right: -4vw;
}

.theme-description-row .circle-05 {
  bottom: -4vw;
  right: -5vw;
}

.business-word-wrap {
  margin-top: 3.2rem;
  line-height: 1.5;
}

@media print,
screen and (max-width: 767px) {
  .business-word-wrap {
    margin-top: 1.6rem;
  }
}

.business-word-ttl {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0.5em;
}

@media print,
screen and (max-width: 767px) {
  .business-word-ttl {
    font-size: 1.4rem;
  }
}

.business-word-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.business-word-list>li {
  background: #fff;
  border: 1px solid #0056B2;
  border-radius: 3px;
  font-size: 1.6rem;
  line-height: 1;
  color: #0056B2;
  padding: 0.4em 1em;
}

@media print,
screen and (max-width: 767px) {
  .business-word-list>li {
    font-size: 1.2rem;
    line-height: 1.2;
    padding: 0.4em 0.8em;
    min-height: initial;
  }
}

.theme-word-wrap {
  margin-top: 3.2rem;
}

@media print,
screen and (max-width: 767px) {
  .theme-word-wrap {
    margin-top: 1.6rem;
  }
}

.theme-word-block {
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .theme-word-block {
    display: block;
  }
}

.theme-word-block:not(:first-child) {
  margin-top: 1.6rem;
}

.theme-word-label {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  padding-right: 1em;
}

@media print,
screen and (max-width: 767px) {
  .theme-word-label {
    font-size: 1.4rem;
    padding-right: 0;
    margin-bottom: 1rem;
  }
}

.theme-word-label .txt-en {
  font-style: italic;
  color: #0056B2;
}

.theme-word-label-right {
  width: 11em;
  text-align: right;
  font-size: 1.6rem;
  font-weight: 700;
  padding-right: 1em;
}

.theme-word-list {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  position: relative;
  padding-left: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .theme-word-list {
    gap: 0.5rem;
    padding-left: 0;
  }
}

@media print,
screen and (min-width: 768px) {
  .theme-word-list::before {
    content: "";
    display: block;
    width: 4rem;
    height: 1px;
    background: #0056B2;
    position: absolute;
    top: 1.5rem;
    left: 0;
  }

  .theme-word-list::after {
    content: "";
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background: #0056B2;
    position: absolute;
    top: 1.2rem;
    left: 0;
  }
}

.theme-word-list>li {
  position: relative;
}

@media print,
screen and (min-width: 768px) {
  .theme-word-list>li:not(:last-child)::after {
    content: "";
    display: block;
    width: 1.2rem;
    height: 1px;
    background: #0056B2;
    position: absolute;
    top: 1.5rem;
    left: 100%;
  }
}

.theme-word-list>li span {
  position: relative;
  background: #fff;
  border: 1px solid #0056B2;
  border-radius: 3px;
  font-size: 1.6rem;
  line-height: 1;
  color: #0056B2;
  padding: 0.4em 1em;
  min-height: 3.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media print,
screen and (max-width: 767px) {
  .theme-word-list>li span {
    font-size: 1.2rem;
    line-height: 1.2;
    padding: 0.4em 0.8em;
    min-height: initial;
  }
}

.core-description-section {
  position: relative;
}

.core-description-section .circle-01 {
  right: 0;
  bottom: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .core-description-section .circle-01 {
    right: -1rem;
    bottom: -6rem;
  }
}

.core-description-section .circle-02 {
  left: 2vw;
  bottom: -6vw;
}

@media print,
screen and (max-width: 767px) {
  .core-description-section .circle-02 {
    left: -4rem;
    bottom: -6rem;
  }
}

.core-description-section .circle-03 {
  right: 0;
  top: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .core-description-section .circle-03 {
    right: -4rem;
    top: 0;
  }
}

.core-description-section .circle-04 {
  left: 2vw;
  bottom: 0;
}

@media print,
screen and (max-width: 767px) {
  .core-description-section .circle-04 {
    left: -2rem;
  }
}

.core-description-section .circle-05 {
  right: 4vw;
  bottom: 0;
}

@media print,
screen and (max-width: 767px) {
  .core-description-section .circle-05 {
    right: -2rem;
    bottom: -4rem;
  }
}

.core-description-section .circle-06 {
  right: 10vw;
  bottom: 0;
}

@media print,
screen and (max-width: 767px) {
  .core-description-section .circle-06 {
    right: 4rem;
    bottom: -4rem;
  }
}

.core-description-section .circle-07 {
  right: 0;
  bottom: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .core-description-section .circle-07 {
    right: -4rem;
    bottom: -4rem;
  }
}

.core-description-section .circle-08 {
  left: 2vw;
  bottom: -6vw;
}

@media print,
screen and (max-width: 767px) {
  .core-description-section .circle-08 {
    left: -4rem;
    bottom: -4rem;
  }
}

.core-description-section .circle-09 {
  right: 0;
  top: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .core-description-section .circle-09 {
    right: 2rem;
    bottom: -4rem;
  }
}

.core-description-section .circle-10 {
  left: 2vw;
  bottom: 0;
}

@media print,
screen and (max-width: 767px) {
  .core-description-section .circle-10 {
    left: -2rem;
    bottom: -4rem;
  }
}

.core-description-section .circle-11 {
  right: 4vw;
  bottom: 0;
}

@media print,
screen and (max-width: 767px) {
  .core-description-section .circle-11 {
    right: -4rem;
    bottom: -4rem;
  }
}

.core-description-section .circle-12 {
  left: 10vw;
  bottom: 0;
}

@media print,
screen and (max-width: 767px) {
  .core-description-section .circle-12 {
    left: 4rem;
    bottom: -2rem;
  }
}

.core-description-section .circle-13 {
  left: 10vw;
  bottom: 0;
}

@media print,
screen and (max-width: 767px) {
  .core-description-section .circle-13 {
    left: auto;
    right: -4rem;
    bottom: 0;
  }
}

.core-description-row {
  display: flex;
  justify-content: space-between;
  line-height: 2;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .core-description-row {
    display: block;
    padding-top: 9.2rem;
  }
}

.core-description-row__img {
  width: 38.8889%;
}

@media print,
screen and (max-width: 767px) {
  .core-description-row__img {
    width: auto;
  }
}

.core-description-row__txt {
  flex: 1;
  padding-left: 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .core-description-row__txt {
    padding: 1.6rem 0 0;
  }
}

.core-description-row__txt .btn-primary {
  min-width: 70%;
}

.core-description-heading {
  display: flex;
  align-items: center;
  margin-bottom: 0.5em;
}

@media print,
screen and (max-width: 767px) {
  .core-description-heading {
    position: absolute;
    top: 0;
    left: 0;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-bottom: 0;
    font-size: 2rem;
  }
}

.core-description-heading .icon {
  font-size: 6.4rem;
  margin-right: 1rem;
}

@media print,
screen and (max-width: 767px) {
  .core-description-heading .icon {
    font-size: 4.8rem;
    margin-right: 0;
  }
}

.core-description-heading .icon::before {
  background: linear-gradient(135deg, #2E80D9 0%, #64A8FF 40%, #34CFBE 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.core-field-header {
  position: relative;
}

.core-field-header::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 8vw);
  position: absolute;
  bottom: 0;
  left: 0;
  background: #004896;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header::before {
    height: calc(100% - 8rem);
  }
}

.core-field-header__visual {
  position: relative;
  padding-left: 8vw;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header__visual {
    padding-left: 2.4rem;
  }
}

.core-field-header__visual-img {
  height: 31.25vw;
  max-height: 60rem;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header__visual-img {
    height: 27rem;
    width: 100%;
  }
}

.core-field-header__visual-img img {
  border-radius: 50rem 0 0 50rem;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.core-field-header__visual-copy {
  position: absolute;
  left: 4vw;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header__visual-copy {
    left: 1.6rem;
  }
}

.core-field-header__visual-copy .label {
  background: #004896;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0.2em 0.4em;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header__visual-copy .label {
    font-size: 1.2rem;
  }
}

.core-field-header__slash1 {
  position: absolute;
  top: -4vw;
  left: 20vw;
  z-index: 99;
}

.core-field-header__slash2 {
  position: absolute;
  bottom: -3vw;
  right: 10vw;
}

.core-field-header__inner {
  padding-left: 8vw;
  padding-right: 8vw;
  padding-bottom: 4.8rem;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header__inner {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    padding-bottom: 2.4rem;
  }
}

.core-field-header__content {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  color: #fff;
}

.core-field-header .field-word-wrap {
  margin-top: 4.8rem;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header .field-word-wrap {
    margin-top: 1.6rem;
    margin-right: -0.8rem;
  }
}

.core-field-header .field-word-block {
  display: flex;
  margin-bottom: 2rem;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header .field-word-block {
    margin-bottom: 1.6rem;
  }
}

.core-field-header .field-word-label {
  color: #fff;
  font-weight: 700;
  padding-right: 1em;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header .field-word-label {
    width: 2em;
    font-size: 1.1rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding-right: 0.5em;
  }
}

.core-field-header .field-word-list {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  position: relative;
  padding-left: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header .field-word-list {
    gap: 0.8rem;
    padding-left: 2rem;
  }
}

.core-field-header .field-word-list::before {
  content: "";
  display: block;
  width: 4rem;
  height: 2px;
  background: #4495FF;
  position: absolute;
  top: 1.5rem;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header .field-word-list::before {
    width: 2rem;
    height: 1px;
    top: 1rem;
  }
}

.core-field-header .field-word-list::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: #4495FF;
  position: absolute;
  top: 1.2rem;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header .field-word-list::after {
    width: 0.7rem;
    height: 0.7rem;
    top: 0.7rem;
  }
}

.core-field-header .field-word-list>li {
  position: relative;
}

.core-field-header .field-word-list>li:not(:last-child)::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 2px;
  background: #4495FF;
  position: absolute;
  top: 1.5rem;
  left: 100%;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header .field-word-list>li:not(:last-child)::after {
    height: 1px;
    top: 1rem;
  }
}

.core-field-header .field-word-list>li span {
  position: relative;
  background: #fff;
  border-radius: 3px;
  line-height: 1;
  color: #0056B2;
  padding: 0.4em 1em;
  height: 3.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header .field-word-list>li span {
    font-size: 1.2rem;
    height: 2.1rem;
    padding: 0.3em 0.6em;
  }
}

.core-field-header .link-jump-list {
  margin-top: 5.6rem;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header .link-jump-list {
    margin-top: 1.6rem;
    padding-top: 0.8rem;
  }
}

.core-field-header .link-jump-list>li a {
  color: #fff;
}

@media print,
screen and (max-width: 767px) {
  .core-field-header .field-word-wrap+.link-jump-list {
    border-top: 1px dashed #fff;
    padding-top: 1.6rem;
  }
}

.field-description-section {
  position: relative;
}

.field-description-section .circle-01 {
  left: 2vw;
  top: 0;
}

@media print,
screen and (max-width: 767px) {
  .field-description-section .circle-01 {
    left: -4rem;
  }
}

.field-description-section .circle-02 {
  right: 0;
  top: 6vw;
}

@media print,
screen and (max-width: 767px) {
  .field-description-section .circle-02 {
    right: -4rem;
  }
}

.description-row {
  display: flex;
  justify-content: space-between;
  line-height: 2;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .description-row {
    flex-direction: column;
  }
}

.description-row+.description-row {
  margin-top: 12rem;
}

@media print,
screen and (max-width: 767px) {
  .description-row+.description-row {
    margin-top: 6rem;
  }
}

.description-row__img {
  flex: 1;
}

@media print,
screen and (max-width: 767px) {
  .description-row__img {
    order: -1;
  }
}

.description-row__txt {
  flex: 1;
  padding-right: 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .description-row__txt {
    padding: 1.6rem 0 0 0;
  }
}

.description-row .description-row__img+.description-row__txt {
  padding: 0 0 0 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .description-row .description-row__img+.description-row__txt {
    padding: 1.6rem 0 0 0;
  }
}

.description-row .circle-03 {
  top: 4vw;
  left: -10vw;
}

@media print,
screen and (max-width: 767px) {
  .description-row .circle-03 {
    top: -8rem;
    left: auto;
    right: -4rem;
  }
}

.description-row .circle-04 {
  top: -4vw;
  right: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .description-row .circle-04 {
    top: -6rem;
    right: -3rem;
  }
}

.description-row .circle-05 {
  bottom: -10vw;
  right: -5vw;
}

@media print,
screen and (max-width: 767px) {
  .description-row .circle-05 {
    bottom: auto;
    right: auto;
    left: -4rem;
    top: -4rem;
  }
}

.field-word-box-area {
  display: flex;
  gap: 0 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .field-word-box-area {
    flex-direction: column;
    gap: 1.6rem 0;
  }
}

.field-word-box {
  flex: 1;
  padding: 1.5em 2em;
}

@media print,
screen and (max-width: 767px) {
  .field-word-box {
    padding: 1.6rem;
  }
}

.field-word-box__ttl {
  font-weight: 700;
  margin-bottom: 0.5em;
}

.field-word-box[data-color=green] {
  background: #E0FBF8;
}

.field-word-box[data-color=purple] {
  background: #F2EBFC;
}

.field-related-theme-section {
  position: relative;
}

.field-related-theme-section .circle-01 {
  left: -4vw;
  bottom: -16vw;
}

@media print,
screen and (max-width: 767px) {
  .field-related-theme-section .circle-01 {
    left: auto;
    right: -4rem;
    bottom: auto;
    top: -4rem;
  }
}

.field-theme-chart {
  width: 367px;
  margin: 0 auto;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-chart {
    width: 20rem;
  }
}

.field-theme-chart__label .label {
  font-weight: 700;
  position: absolute;
}

@media print,
screen and (max-width: 767px) {
  .field-theme-chart__label .label {
    font-size: 1rem;
  }
}

.field-theme-chart__label .label-01 {
  top: -8%;
  left: 50%;
  margin-left: -2em;
}

.field-theme-chart__label .label-02 {
  top: 33%;
  left: -27%;
}

.field-theme-chart__label .label-03 {
  top: 100%;
  left: -2%;
}

.field-theme-chart__label .label-04 {
  top: 100%;
  right: -8%;
}

.field-theme-chart__label .label-05 {
  top: 33%;
  right: -27%;
}

@media print,
screen and (max-width: 767px) {
  .cv-btn-area {
    padding: 3.2rem 1.6rem;
  }
}

.cv-btn-area__inner {
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
}

/*===================================================

 働きかた

===================================================*/
.style-index-section {
  padding-top: 0;
}

.style-index-section .circle-01 {
  bottom: -7vw;
  left: 50%;
}

@media print,
screen and (max-width: 767px) {
  .style-index-section .circle-01 {
    bottom: auto;
    left: auto;
    top: 0;
    right: -2rem;
  }
}

.style-index-section .circle-02 {
  top: -9vw;
  left: -10vw;
}

@media print,
screen and (max-width: 767px) {
  .style-index-section .circle-02 {
    top: -4rem;
    left: -4rem;
  }
}

.style-index-section .circle-03 {
  bottom: -12vw;
  left: 9vw;
}

@media print,
screen and (max-width: 767px) {
  .style-index-section .circle-03 {
    bottom: 0;
    left: -4rem;
  }
}

.style-index-section .circle-04 {
  top: -3vw;
  right: -5vw;
}

@media print,
screen and (max-width: 767px) {
  .style-index-section .circle-04 {
    top: 0;
    right: -4rem;
  }
}

.style-index-section .circle-05 {
  bottom: -8vw;
  right: -2vw;
}

@media print,
screen and (max-width: 767px) {
  .style-index-section .circle-05 {
    bottom: 8rem;
    right: -4rem;
  }
}

.office-gallery-section {
  padding-top: 2rem;
  position: relative;
}

.office-gallery-section .circle-01 {
  top: 50%;
  left: -2vw;
}

@media print,
screen and (max-width: 767px) {
  .office-gallery-section .circle-01 {
    left: -4rem;
  }
}

.office-gallery-section .circle-02 {
  bottom: 0;
  right: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .office-gallery-section .circle-02 {
    right: -2rem;
  }
}

.office-gallery::after {
  content: "";
  display: block;
  clear: both;
}

.office-gallery__item {
  width: 47%;
  margin-bottom: 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .office-gallery__item {
    width: auto;
    margin-bottom: 2.4rem;
  }

  .office-gallery__item:not(:first-child) {
    text-align: center;
  }
}

.office-gallery__item:last-child {
  margin-bottom: 0;
}

@media print,
screen and (min-width: 768px) {
  .office-gallery__item:nth-child(odd) {
    float: left;
  }

  .office-gallery__item:nth-child(even) {
    float: right;
  }
}

.office-gallery__item img {
  max-height: 48rem;
}

@media print,
screen and (max-width: 767px) {
  .office-gallery__item img {
    max-height: 24rem;
  }
}

.office-gallery__item .caption {
  margin-top: 0.5em;
  line-height: 1.4;
}

@media print,
screen and (max-width: 767px) {
  .office-gallery__item .caption {
    margin-bottom: 1em;
  }
}

.benefits-intro {
  padding-top: 4rem;
}

.benefts-mark-list {
  display: flex;
  gap: 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .benefts-mark-list {
    gap: 1.6rem;
    justify-content: center;
  }
}

.benefts-mark-list>li img {
  width: auto;
  height: 14rem;
}

@media print,
screen and (max-width: 767px) {
  .benefts-mark-list>li img {
    max-width: 8rem;
    max-height: 8rem;
    height: auto;
  }
}

.benefits-table__label {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
}

@media print,
screen and (max-width: 767px) {
  .benefits-table__label {
    font-size: 1.6rem;
  }
}

.benefits-table th {
  width: 20%;
}

@media print,
screen and (max-width: 767px) {
  .benefits-table th {
    width: auto;
    white-space: nowrap;
  }
}

.benefits-section {
  position: relative;
}

.benefits-section .circle-01 {
  top: -2vw;
  left: -2vw;
}

@media print,
screen and (max-width: 767px) {
  .benefits-section .circle-01 {
    top: -2rem;
    left: -2rem;
  }
}

.benefits-section .circle-02 {
  top: 10%;
  right: -2vw;
}

@media print,
screen and (max-width: 767px) {
  .benefits-section .circle-02 {
    right: -2rem;
  }
}

.benefits-section .circle-03 {
  top: 40%;
  right: 0;
}

@media print,
screen and (max-width: 767px) {
  .benefits-section .circle-03 {
    right: -2rem;
  }
}

.benefits-section .circle-04 {
  bottom: 0;
  left: -2vw;
}

@media print,
screen and (max-width: 767px) {
  .benefits-section .circle-04 {
    left: -2rem;
  }
}

/*===================================================

 社員インタビュー

===================================================*/
.person-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8rem 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .person-list {
    flex-direction: column;
    gap: 2rem 0;
  }
}

.person-list>li {
  width: calc((100% - 4.8rem) / 4);
  min-width: 20rem;
}

@media print,
screen and (max-width: 767px) {
  .person-list>li {
    width: auto;
    min-width: initial;
  }
}

.person-list[data-col="5"]>li {
  width: calc((100% - 6.4rem) / 5);
}

@media print,
screen and (max-width: 767px) {
  .person-list[data-col="5"]>li {
    width: auto;
  }
}

.person-card {
  display: flex;
  flex-direction: column;
  color: #132453;
  text-decoration: none;
  max-width: 40rem;
}

@media print,
screen and (max-width: 767px) {
  .person-card {
    flex-direction: row;
  }
}

@media print,
screen and (min-width: 768px) {
  .person-card:hover img {
    transform: scale(1.05);
  }

  .person-card:hover .hover-panel {
    opacity: 1;
  }

  .person-card:hover .hover-panel span {
    transform: translateY(0);
  }
}

.person-card__img {
  overflow: hidden;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .person-card__img {
    width: 100%;
    display: flex;
    gap: 0 1.6rem;
  }
}

.person-card__img img {
  transition: transform 0.4s;
}

@media print,
screen and (max-width: 767px) {
  .person-card__img img {
    flex-shrink: 0;
    aspect-ratio: 1/1;
    width: 10rem;
    height: 10rem;
    overflow: hidden;
    object-fit: cover;
    object-position: top;
  }
}

.person-card__img .hover-panel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 2rem 2rem 8rem;
  opacity: 0;
  background: rgba(0, 106, 245, 0.5);
  transition: opacity 0.4s;
}

@media print,
screen and (max-width: 767px) {
  .person-card__img .hover-panel {
    position: static;
    opacity: 1;
    background: transparent;
    padding: 2.8rem 0 0;
    justify-content: flex-start;
  }
}

.person-card__img .hover-panel span {
  color: #fff;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  transform: translateY(1em);
  transition: transform 0.4s;
}

@media print,
screen and (max-width: 767px) {
  .person-card__img .hover-panel span {
    transform: none;
    font-size: 1.8rem;
    line-height: 1.4;
    color: #132453;
    text-align: left;
  }

  .person-card__img .hover-panel span br {
    display: none;
  }
}

.person-card__img .field {
  max-width: 90%;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  font-size: 1.6rem;
  line-height: 1;
  display: flex;
  align-items: center;
  font-weight: 700;
  padding: 0.8rem 1.6rem 0.8rem 0.8rem;
  gap: 1rem;
}

@media print,
screen and (max-width: 767px) {
  .person-card__img .field {
    background: transparent;
    bottom: auto;
    left: 11.6rem;
    top: 0;
    font-size: 1.2rem;
    padding: 0;
    width: calc(100% - 11.6rem);
    max-width: initial;
    gap: 0.4rem;
  }
}

.person-card__img .field span {
  font-size: 3.2rem;
}

@media print,
screen and (max-width: 767px) {
  .person-card__img .field span {
    font-size: 2rem;
  }
}

.person-card__caption {
  padding-top: 1rem;
}

@media print,
screen and (max-width: 767px) {
  .person-card__caption {
    display: none;
  }
}

.person-card__caption .name {
  font-size: 2.2rem;
  font-weight: 700;
}

.person-card__caption .txt-en {
  font-size: 1.1rem;
  font-weight: 400;
  margin-left: 1em;
}

.person-card__caption .info {
  margin-top: 0.5em;
  font-size: 1.4rem;
}

@media print,
screen and (min-width: 768px) {
  .page-nav--interview-index {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 2;
  }

  .page-nav--interview-index ul {
    white-space: nowrap;
  }

  .page-nav--interview-index ul::before {
    content: "";
    display: block;
    width: 2px;
    height: 105%;
    background: #FBA700;
    transform: rotate(30deg);
    transform-origin: top left;
    position: absolute;
    top: 1rem;
    left: 0.7rem;
  }

  .page-nav--interview-index ul>li:first-child {
    margin-top: 0;
  }

  .page-nav--interview-index ul>li:nth-child(2) {
    left: -3.6rem;
  }

  .page-nav--interview-index ul>li:nth-child(3) {
    left: -7.2rem;
  }

  .page-nav--interview-index ul>li:nth-child(4) {
    left: -10.8rem;
  }

  .page-nav--interview-index ul>li:nth-child(5) {
    left: -14.4rem;
  }

  .page-nav--interview-index ul>li::before,
  .page-nav--interview-index ul>li::after {
    display: none;
  }

  .page-nav--interview-index ul>li a {
    font-weight: 700;
    font-size: 1.6rem;
  }

  .page-nav--interview-index ul>li a::before {
    border-width: 2px;
  }

  .page-nav--interview-index ul>li a::after {
    content: "\e902";
    font-family: "pckk" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    color: #FBA700;
  }
}

@media print,
screen and (max-width: 767px) {
  .page-nav--interview-index {
    margin-top: 4rem;
  }

  .page-nav--interview-index>ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 1.6rem 2.4rem;
    justify-content: center;
  }

  .page-nav--interview-index>ul>li {
    margin: 0;
  }

  .page-nav--interview-index>ul>li::before,
  .page-nav--interview-index>ul>li::after {
    display: none;
  }

  .page-nav--interview-index>ul>li>a {
    font-size: 1.2rem;
    font-weight: 700;
    gap: 0.4rem;
  }

  .page-nav--interview-index>ul>li>a::before {
    display: none;
  }

  .page-nav--interview-index>ul>li>a::after {
    content: "\e902";
    font-family: "pckk" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    color: #FBA700;
  }
}

.special-movie-section {
  position: relative;
}

.special-movie-section .circle-01 {
  top: 0;
  right: -3vw;
}

.special-movie-section .circle-02 {
  top: -4vw;
  right: 20vw;
}

.special-movie-wrap {
  padding-bottom: 12rem;
  background: #004896;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .special-movie-wrap {
    padding-bottom: 4rem;
    padding-left: 2.4rem;
    background: transparent;
  }
}

.special-movie-wrap::before {
  content: "";
  display: block;
  background: #004896;
  position: absolute;
  left: 50%;
  bottom: 0;
  margin-left: -50vw;
  width: 100vw;
  height: calc(100% - 8rem);
}

@media print,
screen and (max-width: 767px) {
  .special-movie-wrap::before {
    height: calc(100% - 2.4rem);
  }
}

.special-movie-wrap .special-movie-txt-vertical {
  color: #fff;
  writing-mode: vertical-rl;
  position: absolute;
  bottom: 12rem;
  left: -3em;
}

@media print,
screen and (max-width: 767px) {
  .special-movie-wrap .special-movie-txt-vertical {
    white-space: nowrap;
    font-size: 1.1rem;
    bottom: auto;
    top: 4rem;
    left: -0.4rem;
  }
}

.special-movie-wrap .special-movie-txt-vertical .txt-en {
  font-style: italic;
}

.bnr-special-movie {
  display: block;
  position: relative;
}

@media print,
screen and (min-width: 768px) {
  .bnr-special-movie:hover .bnr-special-movie__img picture img {
    opacity: 0.7;
  }
}

.bnr-special-movie__img {
  position: relative;
}

.bnr-special-movie__img picture img {
  transition: opacity 0.4s;
}

.bnr-special-movie__img .movie-icon-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6vw;
}

@media print,
screen and (max-width: 767px) {
  .bnr-special-movie__img .movie-icon-play {
    width: 4.4rem;
  }
}

.bnr-special-movie__caption {
  background: #fff;
  padding: 8rem 0;
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .bnr-special-movie__caption {
    padding: 2.4rem;
  }
}

.bnr-special-movie__caption img {
  max-width: 40vw;
}

@media print,
screen and (max-width: 767px) {
  .bnr-special-movie__caption img {
    max-width: 100%;
  }
}

.interview-index-section {
  padding-top: 0;
}

.interview-index-section .circle-01 {
  bottom: -7vw;
  left: 50%;
}

@media print,
screen and (max-width: 767px) {
  .interview-index-section .circle-01 {
    bottom: -10rem;
    left: 80%;
  }
}

.interview-index-section .circle-02 {
  top: -9vw;
  left: -10vw;
}

@media print,
screen and (max-width: 767px) {
  .interview-index-section .circle-02 {
    top: -6rem;
    left: -4rem;
  }
}

.interview-index-section .circle-03 {
  bottom: -12vw;
  left: 9vw;
}

@media print,
screen and (max-width: 767px) {
  .interview-index-section .circle-03 {
    bottom: -8rem;
    left: -4rem;
  }
}

.interview-index-section .circle-04 {
  top: -3vw;
  right: -5vw;
}

@media print,
screen and (max-width: 767px) {
  .interview-index-section .circle-04 {
    top: -4rem;
    right: -3rem;
  }
}

.interview-index-section .circle-05 {
  bottom: -12vw;
  right: -14vw;
}

@media print,
screen and (max-width: 767px) {
  .interview-index-section .circle-05 {
    bottom: -14rem;
    right: -4rem;
  }
}

.person-list-section {
  position: relative;
}

.person-list-section .circle-01 {
  top: 20%;
  left: -5%;
}

@media print,
screen and (max-width: 767px) {
  .person-list-section .circle-01 {
    display: none;
  }
}

.person-list-section .circle-02 {
  top: 40%;
  right: 10%;
}

.person-list-section .circle-03 {
  top: 55%;
  left: 30%;
}

@media print,
screen and (max-width: 767px) {
  .person-list-section .circle-03 {
    display: none;
  }
}

.person-list-section .circle-04 {
  top: 80%;
  right: 10%;
}

.person-narrowdown__row {
  display: flex;
  align-items: center;
  background: #FFF6E5;
  padding: 1.2rem 2.4rem;
  border-radius: 4px;
}

@media print,
screen and (max-width: 767px) {
  .person-narrowdown__row {
    padding: 1rem 1.6rem;
  }
}

.person-narrowdown__label {
  font-weight: 700;
  padding-right: 1em;
  font-size: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .person-narrowdown__label {
    font-size: 1.2rem;
  }
}

.person-narrowdown__select {
  min-width: 32rem;
}

@media print,
screen and (max-width: 767px) {
  .person-narrowdown__select {
    min-width: initial;
    flex: 1;
  }
}

.person-narrowdown__select select {
  border: 2px solid #FBA700;
  border-radius: 4rem;
  padding-left: 1.6rem;
}

.interview-header {
  position: relative;
}

.interview-header__visual {
  position: relative;
  padding-left: 8vw;
  max-height: 108rem;
}

@media print,
screen and (max-width: 767px) {
  .interview-header__visual {
    padding-left: 2.4rem;
  }
}

.interview-header__visual-img {
  height: calc(100vh - 26rem);
  min-height: 48rem;
  max-height: 108rem;
}

@media print,
screen and (max-width: 767px) {
  .interview-header__visual-img {
    min-height: 28rem;
    max-height: 28rem;
    width: 100%;
  }

  .interview-header__visual-img.sp-pos-right img {
    object-position: right;
  }

  .interview-header__visual-img.sp-pos-left img {
    object-position: left;
  }
}

.interview-header__visual-img img {
  border-radius: 50rem 0 0 50rem;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.interview-header__copy {
  position: absolute;
  left: 4vw;
  top: 65%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  z-index: 1;
}

@media print,
screen and (max-width: 767px) {
  .interview-header__copy {
    left: 1.6rem;
    top: 20rem;
  }
}

.interview-header__copy .copy-line__txt {
  padding-left: 0;
}

.interview-header__panel {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #fff;
  padding: 2.4rem 4rem 1.6rem;
  line-height: 1.4;
}

@media print,
screen and (max-width: 767px) {
  .interview-header__panel {
    position: static;
    padding: 1.6rem;
    background: transparent;
  }
}

.interview-header__panel .field {
  display: flex;
  align-items: center;
  font-size: 2rem;
  font-weight: 700;
  gap: 1rem;
  margin-bottom: 1rem;
}

@media print,
screen and (max-width: 767px) {
  .interview-header__panel .field {
    font-size: 1.6rem;
  }
}

.interview-header__panel .field span {
  font-size: 3.6rem;
}

.interview-header__panel .department {
  font-size: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .interview-header__panel .department {
    font-size: 1.4rem;
  }
}

.interview-header__panel .position {
  font-size: 1.6rem;
  margin-bottom: 1em;
}

@media print,
screen and (max-width: 767px) {
  .interview-header__panel .position {
    font-size: 1.4rem;
  }
}

.interview-header__panel .name {
  font-size: 2.8rem;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .interview-header__panel .name {
    font-size: 1.8rem;
  }
}

.interview-header__panel .name .txt-en {
  font-size: 1.4rem;
  margin-left: 1em;
  font-weight: 400;
}

@media print,
screen and (max-width: 767px) {
  .interview-header__panel .name .txt-en {
    font-size: 1.2rem;
  }
}

.interview-header__panel .info {
  margin-top: 1em;
  font-size: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .interview-header__panel .info {
    font-size: 1.2rem;
  }
}

.interview-header__slash1 {
  position: absolute;
  top: -4vw;
  left: 20vw;
  z-index: 99;
}

.interview-header__slash2 {
  position: absolute;
  bottom: -5vw;
  right: 30vw;
}

@media print,
screen and (max-width: 767px) {
  .interview-header__slash2 {
    bottom: auto;
    top: 23rem;
    right: 2rem;
  }
}

.person-article {
  padding: 4rem 4vw;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .person-article {
    padding: 1.6rem 1.6rem 0;
  }
}

.person-article__note {
  text-align: right;
  color: #656C7E;
}

@media print,
screen and (max-width: 767px) {
  .person-article__note {
    font-size: 1.2rem;
    text-align: left;
  }
}

.person-article .circle-01 {
  top: 0;
  right: -5vw;
}

@media print,
screen and (max-width: 767px) {
  .person-article .circle-01 {
    top: -10rem;
    right: -6rem;
  }
}

.person-article .circle-02 {
  top: 0;
  left: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .person-article .circle-02 {
    top: 5%;
    left: -4rem;
  }
}

.person-article .circle-03 {
  top: 15%;
  left: 5vw;
}

@media print,
screen and (max-width: 767px) {
  .person-article .circle-03 {
    top: 20%;
    left: 20%;
  }
}

.person-article .circle-04 {
  top: 55%;
  right: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .person-article .circle-04 {
    top: 55%;
    right: -4rem;
  }
}

.person-article .circle-05 {
  top: 25%;
  left: 65vw;
}

@media print,
screen and (max-width: 767px) {
  .person-article .circle-05 {
    top: 35%;
    right: -4rem;
  }
}

.person-article .circle-06 {
  top: 70%;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .person-article .circle-06 {
    top: 45%;
    left: -4rem;
  }
}

.person-article .circle-07 {
  bottom: 20%;
  right: 10vw;
}

.person-section {
  margin-bottom: 10rem;
  line-height: 2;
}

@media print,
screen and (max-width: 767px) {
  .person-section {
    margin-bottom: 4rem;
  }
}

.person-section__row {
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .person-section__row {
    display: block;
  }
}

.person-section__col-img {
  width: 36%;
}

@media print,
screen and (max-width: 767px) {
  .person-section__col-img {
    margin: 0 -1.6rem;
    width: auto;
  }
}

.person-section__col-txt {
  flex: 1;
}

@media print,
screen and (max-width: 767px) {
  .person-section__col-img+.person-section__col-txt {
    margin-top: -3.2rem;
  }
}

.person-section__block {
  display: flex;
  margin-bottom: 8rem;
}

@media print,
screen and (max-width: 767px) {
  .person-section__block {
    display: block;
    margin-bottom: 4rem;
  }
}

.person-section__block-label {
  min-width: 15%;
  display: flex;
  align-items: flex-start;
}

.person-section__block-txt {
  flex: 1;
  padding-top: 2em;
}

.person-vertical-label {
  position: sticky;
  top: 10rem;
  padding: 1.5em 0.75em;
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .person-vertical-label {
    position: static;
    padding: 0.8rem 1.6rem;
    text-align: left;
    background: #FBA700;
    margin-left: -1.6rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .person-vertical-label::before {
    content: "";
    display: block;
    background: #FBA700;
    width: 100%;
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
    transition: height 0.4s;
  }

  .person-vertical-label.is-active::before {
    height: 100%;
  }
}

.person-vertical-label .word {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  display: flex;
  flex-direction: column;
  line-height: 1;
  gap: 0.15em;
}

@media print,
screen and (max-width: 767px) {
  .person-vertical-label .word {
    flex-direction: row;
    flex-wrap: wrap;
    font-size: 1.6rem;
    gap: 0.05em;
  }
}

@media print,
screen and (min-width: 768px) {
  .person-vertical-label .word .letter {
    writing-mode: vertical-rl;
    text-orientation: upright;
    width: 1em;
  }
}

@media print,
screen and (min-width: 768px) {
  .person-section-sticky {
    position: sticky;
    top: 10rem;
  }
}

@media print,
screen and (max-width: 767px) {
  .person-section-sticky .person-photo {
    width: calc(50% + 1.6rem);
    margin-left: auto;
  }
}

.person-heading-01 {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 1em;
}

@media print,
screen and (max-width: 767px) {
  .person-heading-01 {
    font-size: 2rem;
  }
}

.person-txt-list>li {
  padding: 2em 0;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .person-txt-list>li {
    padding: 1.5em 0;
  }

  .person-txt-list>li:last-child {
    padding-bottom: 0;
  }
}

.person-txt-list>li:first-child {
  padding-top: 0;
}

.person-txt-list>li:not(:last-child)::after {
  content: "";
  display: block;
  width: 5rem;
  height: 1px;
  background: #FBA700;
  position: absolute;
  bottom: 0;
  left: 0;
}

.person-nav {
  margin-top: 10rem;
}

@media print,
screen and (max-width: 767px) {
  .person-nav {
    margin-top: 2.4rem;
  }
}

.person-nav__row {
  border: solid #D6DBDC;
  border-width: 1px 0;
  display: flex;
  gap: 0 8rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .person-nav__row {
    flex-direction: column-reverse;
    border: none;
  }
}

@media print,
screen and (min-width: 768px) {
  .person-nav__row::before {
    content: "";
    display: block;
    width: 1px;
    height: 60%;
    top: 20%;
    left: 50%;
    background: #D6DBDC;
    position: absolute;
  }
}

.person-nav__link {
  text-decoration: none;
  color: #132453;
  display: flex;
  align-items: center;
  gap: 0 2.4vw;
  padding: 4rem 0;
}

@media print,
screen and (max-width: 767px) {
  .person-nav__link {
    gap: 0 2.4rem;
    padding: 1.6rem 0;
  }
}

.person-nav__index {
  margin-top: 4rem;
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .person-nav__index {
    border-top: 1px solid #D6DBDC;
    margin-top: 0;
    padding-top: 2.4rem;
  }
}

.person-nav .btn-secondary {
  white-space: nowrap;
  gap: 0 2rem;
}

@media print,
screen and (max-width: 767px) {
  .person-nav .btn-secondary {
    gap: 0 0.4rem;
  }
}

.person-nav .btn-secondary .txt-en {
  font-size: 4.8rem;
  font-weight: 400;
  font-style: italic;
  color: #0056B2;
}

@media print,
screen and (max-width: 767px) {
  .person-nav .btn-secondary .txt-en {
    font-size: 1.6rem;
  }
}

.person-nav__prev {
  flex: 1;
}

@media print,
screen and (max-width: 767px) {
  .person-nav__prev {
    border-top: 1px solid #D6DBDC;
  }

  .person-nav__prev:empty {
    display: none;
  }
}

.person-nav__prev .btn-secondary {
  flex-direction: row-reverse;
}

.person-nav__prev .btn-secondary .arrow {
  transform: rotate(180deg);
}

@media print,
screen and (max-width: 767px) {
  .person-nav__prev .person-nav-card {
    flex-direction: row-reverse;
  }
}

.person-nav__next {
  flex: 1;
}

@media print,
screen and (max-width: 767px) {
  .person-nav__next {
    border-top: 1px solid #D6DBDC;
  }

  .person-nav__next:empty {
    display: none;
  }
}

.person-nav__next .person-nav__link {
  flex-direction: row-reverse;
}

@media print,
screen and (min-width: 768px) {
  .person-nav__next .person-nav-card {
    flex-direction: row-reverse;
  }
}

@media print,
screen and (min-width: 768px) {
  .person-nav__next .person-nav-card .field {
    justify-content: flex-end;
  }
}

.person-nav-card {
  display: flex;
  align-items: center;
  gap: 0 2.4rem;
  line-height: 1.4;
}

@media print,
screen and (max-width: 767px) {
  .person-nav-card {
    gap: 0 1rem;
    flex: 1;
  }
}

.person-nav-card__img {
  width: 12rem;
  aspect-ratio: 1/1;
  flex-shrink: 0;
}

@media print,
screen and (max-width: 767px) {
  .person-nav-card__img {
    width: 6rem;
  }
}

.person-nav-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.person-nav-card .copy {
  font-size: 2.2rem;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .person-nav-card .copy {
    font-size: 1.4rem;
  }
}

.person-nav-card .field {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 700;
  gap: 1rem;
  margin-top: 1rem;
}

@media print,
screen and (max-width: 767px) {
  .person-nav-card .field {
    gap: 0.4rem;
    font-size: 1.2rem;
    margin-top: 0.4rem;
  }
}

.person-nav-card .field span {
  font-size: 3.2rem;
}

@media print,
screen and (max-width: 767px) {
  .person-nav-card .field span {
    font-size: 2.4rem;
  }
}

.crosstalk-article {
  padding: 2rem 4vw 4rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-article {
    padding: 2rem 1.6rem;
  }
}

.crosstalk-article .circle-01 {
  top: 0;
  right: -5vw;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-article .circle-01 {
    top: 0;
    right: -4rem;
  }
}

.crosstalk-article .circle-02 {
  top: 0;
  left: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-article .circle-02 {
    top: 10%;
    left: -4rem;
  }
}

.crosstalk-article .circle-03 {
  top: 20%;
  left: 28vw;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-article .circle-03 {
    left: -4rem;
  }
}

.crosstalk-article .circle-04 {
  top: 40%;
  left: 24vw;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-article .circle-04 {
    left: -4rem;
  }
}

.crosstalk-article .circle-05 {
  top: 55%;
  right: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-article .circle-05 {
    right: -4rem;
  }
}

.crosstalk-article .circle-06 {
  top: 70%;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-article .circle-06 {
    left: -4rem;
  }
}

.crosstalk-article .circle-07 {
  bottom: 0;
  right: 0;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-article .circle-07 {
    right: -4rem;
  }
}

.crosstalk-intro {
  max-width: 108rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 2;
  margin-bottom: 8rem;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-intro {
    margin-bottom: 4rem;
  }
}

.crosstalk-member {
  max-width: 128rem;
  margin: 0 auto 12rem;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-member {
    margin-bottom: 6rem;
  }
}

.crosstalk-member-list {
  display: flex;
  flex-wrap: wrap;
  gap: 3.2rem;
  justify-content: center;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-member-list {
    flex-direction: column;
    gap: 2.4rem 0;
  }
}

.crosstalk-member-item {
  width: calc((100% - 9.6rem) / 4);
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-member-item {
    width: auto;
    display: flex;
    gap: 1.6rem;
  }
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-member-item .img {
    width: 10rem;
  }

  .crosstalk-member-item .img img {
    aspect-ratio: 1/1;
    object-fit: cover;
  }
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-member-item .desc {
    flex: 1;
  }
}

.crosstalk-member-item .name {
  margin-top: 1.6rem;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-member-item .name {
    margin-top: 0;
    font-size: 1.6rem;
  }
}

.crosstalk-member-item .txt {
  margin-top: 1em;
  font-size: 1.4rem;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-member-item .txt {
    margin-top: 0.5em;
    font-size: 1.2rem;
  }
}

.crosstalk-row {
  display: flex;
  justify-content: space-between;
}

.crosstalk-row__side {
  width: 24%;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-row__side {
    display: none;
  }
}

.crosstalk-row__main {
  width: 68.75%;
  flex-shrink: 0;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-row__main {
    width: 100%;
  }
}

.page-nav--crosstalk {
  position: sticky;
  top: 10rem;
}

.page-nav--crosstalk ul>li a {
  gap: 0 1.6rem;
}

.crosstalk-section {
  line-height: 2;
}

.crosstalk-section:not(:last-child) {
  margin-bottom: 6.25vw;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-section:not(:last-child) {
    margin-bottom: 4rem;
  }
}

.crosstalk-section .heading-interview {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding-left: 7.2rem;
  margin-bottom: 2em;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-section .heading-interview {
    font-size: 1.6rem;
    padding-left: 4rem;
  }
}

.crosstalk-section .heading-interview::before {
  content: "";
  display: block;
  background: #132453;
  width: 5.6rem;
  height: 1px;
  position: absolute;
  top: 1.6rem;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-section .heading-interview::before {
    width: 2.4rem;
    top: 0.8rem;
  }
}

.crosstalk-block {
  display: flex;
  gap: 0 4%;
  margin-bottom: 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-block {
    gap: 0 1.6rem;
    margin-bottom: 4rem;
  }
}

.crosstalk-block .icon {
  width: 8rem;
  flex-shrink: 0;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
}

@media print,
screen and (max-width: 767px) {
  .crosstalk-block .icon {
    width: 4rem;
    font-size: 1.2rem;
  }
}

.crosstalk-block .icon img {
  display: block;
  margin: 0 auto 0.8rem;
}

.crosstalk-section-img {
  margin-left: -1.6rem;
  margin-right: -1.6rem;
}

.auth-icon-wrap {
  display: flex;
  align-items: center;
  max-width: 66rem;
  margin: 0 auto;
  gap: 0 1.6vw;
}

@media print,
screen and (max-width: 767px) {
  .auth-icon-wrap {
    gap: 0 1.6rem;
  }
}

.auth-icon-wrap .auth-icon {
  width: 13.3rem;
}

@media print,
screen and (max-width: 767px) {
  .auth-icon-wrap .auth-icon {
    width: 6rem;
  }
}

.auth-icon-wrap .txt {
  flex: 1;
  font-size: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .auth-icon-wrap .txt {
    font-size: 1.2rem;
  }
}

.story-article {
  padding: 2rem 4vw 4rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .story-article {
    padding: 2rem 1.6rem;
  }
}

.story-article .circle-01 {
  top: 0;
  right: -5vw;
}

@media print,
screen and (max-width: 767px) {
  .story-article .circle-01 {
    right: -4rem;
  }
}

.story-article .circle-02 {
  top: 0;
  left: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .story-article .circle-02 {
    top: 10%;
    left: -4rem;
  }
}

.story-article .circle-03 {
  top: 20%;
  left: 28vw;
}

@media print,
screen and (max-width: 767px) {
  .story-article .circle-03 {
    left: -4vw;
  }
}

.story-article .circle-04 {
  top: 40%;
  left: 24vw;
}

@media print,
screen and (max-width: 767px) {
  .story-article .circle-04 {
    left: -4vw;
  }
}

.story-article .circle-05 {
  top: 55%;
  right: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .story-article .circle-05 {
    right: -4vw;
  }
}

.story-article .circle-06 {
  top: 70%;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .story-article .circle-06 {
    left: -4vw;
  }
}

.story-article .circle-07 {
  bottom: 0;
  right: 0;
}

@media print,
screen and (max-width: 767px) {
  .story-article .circle-07 {
    right: -4vw;
  }
}

.story-section {
  padding-bottom: 6.25vw;
  padding-left: 8rem;
  line-height: 2;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .story-section {
    padding-bottom: 5.6rem;
    padding-left: 3.2rem;
  }
}

.story-section::before,
.story-section::after {
  content: "";
  display: block;
  background: #822EFA;
  position: absolute;
}

.story-section::before {
  width: 2px;
  height: 100%;
  top: 2.6rem;
  left: 1.1rem;
}

@media print,
screen and (max-width: 767px) {
  .story-section::before {
    width: 1px;
    top: 1.8rem;
    left: 0.6rem;
  }
}

.story-section::after {
  top: 1.6rem;
  left: 0;
  border-radius: 50%;
  width: 2.4rem;
  height: 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .story-section::after {
    top: 0.8rem;
    width: 1.2rem;
    height: 1.2rem;
  }
}

.story-section__row {
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .story-section__row {
    display: block;
  }
}

.story-section__txt {
  flex: 1;
  padding-right: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .story-section__txt {
    padding-right: 0;
  }
}

.story-section__img {
  width: 43%;
}

@media print,
screen and (max-width: 767px) {
  .story-section__img {
    width: auto;
    margin-top: 2.4rem;
  }
}

.story-section-heading {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1em;
}

@media print,
screen and (max-width: 767px) {
  .story-section-heading {
    font-size: 1.8rem;
  }
}

/*===================================================

 キャリア採用

===================================================*/
.page-career--index .l-main {
  padding-top: 0;
}

.career-mv {
  display: flex;
  justify-content: flex-end;
  position: relative;
}

@media print,
screen and (min-width: 768px) {
  .career-mv {
    padding-right: 10rem;
  }
}

.career-mv__content {
  position: absolute;
  bottom: 0;
  left: 4vw;
  padding-bottom: 6.25vw;
}

@media print,
screen and (max-width: 767px) {
  .career-mv__content {
    left: 1.6rem;
    padding-bottom: 4rem;
  }
}

.career-mv__slash {
  position: absolute;
  top: -12vw;
  left: 15vw;
}

@media print,
screen and (max-width: 767px) {
  .career-mv__slash {
    top: auto;
    left: 0;
    bottom: 100%;
  }
}

.career-mv__en {
  color: #822EFA;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  overflow: hidden;
}

@media print,
screen and (max-width: 767px) {
  .career-mv__en {
    font-size: 2.4rem;
  }
}

.career-mv__en .txt-en {
  font-style: italic;
  display: flex;
}

.career-mv__en .txt-en .word {
  display: flex;
}

.career-mv__en::after {
  content: "";
  display: block;
  width: 20rem;
  height: 2px;
  background: #822EFA;
  margin-left: 0.5em;
}

@media print,
screen and (max-width: 767px) {
  .career-mv__en::after {
    width: 4rem;
  }
}

.career-mv__heading {
  font-size: 2.4rem;
  font-weight: 700;
  color: #822EFA;
}

@media print,
screen and (max-width: 767px) {
  .career-mv__heading {
    font-size: 1.2rem;
  }
}

.career-mv__copy {
  margin-top: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .career-mv__copy {
    margin-top: 2.4rem;
  }
}

.career-mv__copy .copy-line:first-child>p {
  padding-left: 0;
}

.career-mv__copy .copy-line p {
  position: relative;
}

.career-mv__copy .copy-line p::before,
.career-mv__copy .copy-line p::after {
  content: "";
  display: block;
  width: 0;
  height: 100%;
  position: absolute;
  top: 0;
}

.career-mv__copy .copy-line p::before {
  background: #822EFA;
  right: 0;
  animation: width 250ms 1000ms cubic-bezier(0.42, 0, 0, 0.99) both;
}

.career-mv__copy .copy-line p::after {
  background: #fff;
  right: 0;
  animation: width 250ms 750ms cubic-bezier(0.42, 0, 0, 0.99) both;
}

.career-mv__copy-sub>p {
  background: #822EFA;
  color: #fff;
}

.career-mv-slider {
  width: 80vw;
  position: relative;
  background: #004896;
  z-index: 0;
  overflow: hidden;
}

@media print,
screen and (max-width: 767px) {
  .career-mv-slider {
    width: 100%;
  }
}

.career-mv-slider::before {
  content: "";
  display: block;
  background-image: url(../img/slide/career-visual-mask_pc.svg);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}

@media print,
screen and (max-width: 767px) {
  .career-mv-slider::before {
    background-image: url(../img/slide/career-visual-mask_sp.svg);
  }
}

.career-mv-slider__slide img {
  max-width: initial;
  width: 100%;
  height: 82vh;
  min-height: 640px;
  object-fit: cover;
}

@media print,
screen and (max-width: 767px) {
  .career-mv-slider__slide img {
    min-height: 48rem;
    height: 50dvh;
  }
}

.career-mv__cover {
  display: none;
}

.career-section {
  padding: 6.25vw 8vw;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .career-section {
    padding: 4rem 1.6rem 6.4rem;
  }
}

.career-section .circle-01 {
  top: 0;
  right: 0;
  z-index: 0;
}

.career-section .circle-02 {
  top: 40vw;
  right: -5vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .career-section .circle-02 {
    top: 10%;
    right: -4rem;
  }
}

.career-section .circle-03 {
  bottom: 20vw;
  left: -5vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .career-section .circle-03 {
    bottom: 24%;
    left: -2rem;
  }
}

.career-section .circle-04 {
  top: 0;
  right: -1vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .career-section .circle-04 {
    top: 0;
    right: -1rem;
  }
}

.career-section .circle-05 {
  top: 15vw;
  right: 22vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .career-section .circle-05 {
    top: 7rem;
    right: 20%;
  }
}

.career-section .circle-06 {
  top: 20vw;
  left: -5vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .career-section .circle-06 {
    top: 40%;
    left: -4rem;
  }
}

.career-section.career-cv {
  padding-bottom: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .career-section.career-cv {
    padding-bottom: 2rem;
  }
}

.career-shortcut-area {
  padding: 4rem 4vw;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .career-shortcut-area {
    padding: 2.4rem 1.6rem;
  }
}

.career-shortcut {
  border: 2px solid #822EFA;
  background: #fff;
  border-radius: 2rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .career-shortcut {
    border-radius: 8px;
  }
}

.career-shortcut .slash {
  position: absolute;
  top: -3.4vw;
  left: 5vw;
}

@media print,
screen and (max-width: 767px) {
  .career-shortcut .slash {
    top: -3rem;
    left: 2.4rem;
  }
}

.career-shortcut__row {
  padding: 1rem 4rem 1rem 1rem;
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .career-shortcut__row {
    display: block;
    padding: 1.6rem 1.6rem 1rem;
  }
}

.career-shortcut__label {
  padding: 1rem 4rem 0 0;
}

@media print,
screen and (max-width: 767px) {
  .career-shortcut__label {
    padding: 0;
    margin-bottom: 0.8rem;
    line-height: 1;
  }
}

@media print,
screen and (min-width: 768px) {
  .career-shortcut__label .txt-en {
    writing-mode: vertical-rl;
    font-style: italic;
    line-height: 1;
  }
}

.career-shortcut__content {
  flex: 1;
  display: flex;
  align-items: center;
}

@media print,
screen and (min-width: 768px) {
  .career-shortcut__content {
    min-height: 6rem;
  }
}

.career-shortcut ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.5em;
}

@media print,
screen and (max-width: 767px) {
  .career-shortcut ul {
    gap: 0 1.6rem;
  }
}

.career-shortcut ul>li {
  width: calc((100% - 6em) / 5);
  min-width: 20rem;
}

@media print,
screen and (max-width: 767px) {
  .career-shortcut ul>li {
    width: calc((100% - 1.6rem) / 2);
    min-width: initial;
  }
}

.career-shortcut ul>li a {
  padding: 1.6rem 3rem 1.6rem 0;
  font-size: 1.6rem;
  line-height: 1.2;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .career-shortcut ul>li a {
    font-size: 1.2rem;
    padding: 1rem 0;
  }
}

.career-shortcut ul>li a::after {
  color: #822EFA;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  font-size: 2rem;
}

@media print,
screen and (max-width: 767px) {
  .career-shortcut ul>li a::after {
    display: none;
  }
}

.career-shortcut ul>li a img {
  width: 6rem;
}

@media print,
screen and (max-width: 767px) {
  .career-shortcut ul>li a img {
    width: 4rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .career-shortcut ul>li:nth-child(-n+5) {
    border-bottom: 1px dotted #822EFA;
  }
}

@media print,
screen and (max-width: 767px) {
  .career-shortcut ul>li:nth-child(-n+6) {
    border-bottom: 1px dotted #822EFA;
  }
}

.career-message {
  background: url(../img/message/bg-city.jpg) no-repeat center bottom;
  background-size: 100% auto;
  padding-bottom: 16vw;
}

@media print,
screen and (max-width: 767px) {
  .career-message {
    background-size: auto 100%;
    padding-top: 2rem;
  }
}

.career-message-txt {
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 3;
  letter-spacing: 0.05em;
}

@media print,
screen and (max-width: 767px) {
  .career-message-txt {
    font-size: 1.4rem;
    line-height: 2.5;
  }
}

.career-message-txt>p {
  margin-bottom: 2.5em;
  transition: opacity 2s 0.4s;
  opacity: 0;
}

@media print,
screen and (max-width: 767px) {
  .career-message-txt>p {
    margin-bottom: 2em;
  }
}

.career-message-txt>p.move {
  opacity: 1;
}

.career-message-txt+.message-card-list {
  margin-top: 12rem;
}

@media print,
screen and (max-width: 767px) {
  .career-message-txt+.message-card-list {
    margin-top: 6.4rem;
  }
}

.message-card-list {
  display: flex;
  justify-content: center;
  gap: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .message-card-list {
    display: block;
  }
}

.message-card-item {
  position: relative;
  width: calc((100% - 2vw) / 2);
}

@media print,
screen and (max-width: 767px) {
  .message-card-item {
    width: calc(100% - 1.6rem);
  }
}

.message-card-item:nth-child(2) {
  margin-top: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .message-card-item:nth-child(2) {
    margin: 4.8rem 0 0 1.6rem;
  }
}

.message-card-item .slash {
  display: flex;
  position: absolute;
  bottom: calc(100% - 2vw);
  left: 30%;
  z-index: 1;
}

.career-newpower {
  padding: 4rem 8vw 8rem;
}

@media print,
screen and (max-width: 767px) {
  .career-newpower {
    padding: 4rem 1.6rem 8rem;
  }
}

.page-career--index .l-main.colored3 {
  background: #FFFAE5;
}

.page-career--index .l-main.colored5 {
  background: #F3F7FD;
}

.active-card-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6vw;
  margin-bottom: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .active-card-list {
    display: block;
    margin-bottom: 0;
  }
}

.active-card-item {
  width: calc((100% - 6vw) / 2);
  max-width: 61.2rem;
}

@media print,
screen and (max-width: 767px) {
  .active-card-item {
    width: auto;
  }

  .active-card-item:not(:last-child) {
    margin-bottom: 4rem;
  }
}

.active-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: #132453;
}

.active-card__ttl {
  background: #fff;
  padding: 1.2rem 0 0;
  width: 16.67vw;
  position: relative;
  z-index: 1;
}

@media print,
screen and (max-width: 767px) {
  .active-card__ttl {
    width: 14rem;
  }
}

.active-card__img {
  padding: 0 5rem;
  position: relative;
  top: -2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .active-card__img {
    padding: 0 3.2rem;
  }
}

.active-card__img img {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.active-card__txt {
  line-height: 2;
}

.active-card__btn {
  text-align: right;
  margin-top: 2.4rem;
}

.career-recruit-info {
  background: #004896;
}

@media print,
screen and (max-width: 767px) {
  .career-recruit-info {
    padding-bottom: 4rem;
  }
}

.career-recruit-info .field-number-list {
  margin-bottom: 8rem;
}

@media print,
screen and (max-width: 767px) {
  .career-recruit-info .field-number-list {
    margin-bottom: 3.2rem;
  }
}

.field-number-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

@media print,
screen and (max-width: 767px) {
  .field-number-list {
    gap: 0.4rem;
  }
}

.field-number-list>li {
  width: calc((100% - 4rem) / 5);
  min-width: 22rem;
}

@media print,
screen and (max-width: 767px) {
  .field-number-list>li {
    width: calc((100% - 0.8rem) / 3);
    min-width: initial;
  }
}

.field-number-card {
  display: block;
  background: #fff;
  border-radius: 4px;
  padding: 1.6rem 2.4rem 2.2rem;
  text-align: center;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

@media print,
screen and (max-width: 767px) {
  .field-number-card {
    padding: 0.8rem 1rem;
  }
}

.field-number-card::before {
  content: "";
  display: block;
  background: #E5F0FF;
  border-radius: 20rem;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.5;
  transition: all 0.4s cubic-bezier(0.42, 0, 0, 0.97);
}

@media print,
screen and (min-width: 768px) {
  .field-number-card:hover::before {
    width: 100%;
    height: 100%;
    border-radius: 0;
  }
}

.field-number-card .number {
  position: relative;
  color: #A1CAFF;
  font-size: 3.6rem;
  line-height: 1;
  margin-bottom: 2rem;
}

@media print,
screen and (max-width: 767px) {
  .field-number-card .number {
    font-size: 2rem;
    margin-bottom: 0.5rem;
  }
}

.field-number-card .icon {
  position: relative;
  line-height: 1;
  font-size: 7.2rem;
  margin-bottom: 0.8rem;
}

@media print,
screen and (max-width: 767px) {
  .field-number-card .icon {
    font-size: 4.4rem;
    margin-bottom: 0.4rem;
  }
}

.field-number-card .title {
  position: relative;
  color: #132453;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 2.4em;
}

@media print,
screen and (max-width: 767px) {
  .field-number-card .title {
    font-size: 1.2rem;
  }
}

.requirement-section {
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .requirement-section {
    padding: 2.4rem 1.6rem;
  }
}

.requirement-section .circle-01 {
  top: 0;
  left: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .requirement-section .circle-01 {
    left: 2rem;
  }
}

.requirement-section .circle-02 {
  top: -4vw;
  right: 0;
}

@media print,
screen and (max-width: 767px) {
  .requirement-section .circle-02 {
    top: 0;
    right: -2.4rem;
  }
}

.requirement-section .circle-03 {
  top: 20%;
  left: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .requirement-section .circle-03 {
    left: -4rem;
  }
}

.requirement-section .circle-04 {
  top: 40%;
  right: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .requirement-section .circle-04 {
    right: -4rem;
  }
}

.requirement-section .circle-05 {
  top: 60%;
  left: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .requirement-section .circle-05 {
    left: -2rem;
  }
}

.requirement-section .circle-06 {
  top: 80%;
  right: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .requirement-section .circle-06 {
    right: -4rem;
  }
}

.requirement-heading {
  text-align: center;
  margin-bottom: 4.8rem;
}

@media print,
screen and (max-width: 767px) {
  .requirement-heading {
    margin-bottom: 2.4rem;
  }
}

.requirement-heading .field-icon {
  font-size: 8rem;
  line-height: 1;
}

@media print,
screen and (max-width: 767px) {
  .requirement-heading .field-icon {
    font-size: 4.8rem;
  }
}

.requirement-block dl {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #D6DBDC;
}

@media print,
screen and (max-width: 767px) {
  .requirement-block dl {
    display: block;
  }
}

.requirement-block dl:first-child {
  border-top: 1px solid #D6DBDC;
}

.requirement-block dl>dt {
  width: 25%;
  font-weight: 700;
  padding: 1.6em 1.6em 1.6em 0;
}

@media print,
screen and (max-width: 767px) {
  .requirement-block dl>dt {
    width: auto;
    padding: 1.5em 0 1em;
    font-size: 1.6rem;
  }
}

.requirement-block dl>dd {
  flex: 1;
  padding: 1.8em 0 1.8em 2em;
  font-size: 1.7rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .requirement-block dl>dd {
    padding: 0 0 1.5em 0;
    font-size: 1.3rem;
  }
}

.requirement-block dl>dd::before {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 3em);
  background: #D6DBDC;
  position: absolute;
  top: 1.5em;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .requirement-block dl>dd::before {
    display: none;
  }
}

.requirement-btn-list {
  margin-top: 7.2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5.6rem;
}

@media print,
screen and (max-width: 767px) {
  .requirement-btn-list {
    margin-top: 3.2rem;
    gap: 2.4rem;
  }
}

.requirement-btn-list>li.entry {
  width: 100%;
  text-align: center;
}

.requirement-btn-list>li.entry a {
  width: 100%;
  max-width: 60rem;
  justify-content: center;
}

@media print,
screen and (min-width: 768px) {
  .requirement-table th {
    white-space: nowrap;
  }
}

@media print,
screen and (max-width: 767px) {
  .requirement-table>tbody>tr {
    display: block;
    border-top: 1px solid #D6DBDC;
  }

  .requirement-table>tbody>tr>th {
    padding: 1em 0;
    position: relative;
    top: -1px;
    display: inline-block;
  }

  .requirement-table>tbody>tr>td {
    display: block;
    padding: 0 0 1.5em 0;
    border: none;
  }

  .requirement-table .table-border-bottom>tbody>tr>th {
    width: 5em;
    font-size: 1.2rem;
  }
}

.requirement-flow {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 0;
}

@media print,
screen and (max-width: 767px) {
  .requirement-flow {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
}

.requirement-flow>li {
  border: 1px solid #656C7E;
  padding: 1em;
  width: 8.2em;
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media print,
screen and (max-width: 767px) {
  .requirement-flow>li {
    min-width: initial;
    width: 80%;
    padding: 1em;
    line-height: 1.4;
  }
}

.requirement-flow>li:not(:first-child) {
  margin-left: 6rem;
}

@media print,
screen and (max-width: 767px) {
  .requirement-flow>li:not(:first-child) {
    margin: 3rem 0 0 0;
  }
}

.requirement-flow>li:not(:first-child)::before {
  content: "\e901";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  color: #a5a9aa;
  font-size: 3.2rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 100%;
  width: 6rem;
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .requirement-flow>li:not(:first-child)::before {
    font-size: 2rem;
    left: 50%;
    top: auto;
    bottom: 100%;
    height: 3rem;
    width: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateX(-50%) rotate(90deg);
  }
}

@media print,
screen and (min-width: 768px) {
  .page-career-requirement .requirement-flow>li {
    width: 10em;
  }
}

.newpower-header {
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media print,
screen and (min-width: 768px) {
  .newpower-header {
    background-image: url(../../career/newpower/img/newpower-mv_pc.jpg);
    margin-bottom: 4rem;
  }
}

@media print,
screen and (max-width: 767px) {
  .newpower-header {
    background-image: url(../../career/newpower/img/newpower-mv_sp.jpg);
    margin-bottom: 1.6rem;
  }
}

.newpower-header__img>div {
  position: absolute;
}

@media print,
screen and (min-width: 768px) {
  .newpower-header__img>div {
    bottom: -3.2rem;
    animation: newPowerImgPC 0.8s ease-out both;
  }
}

@media print,
screen and (max-width: 767px) {
  .newpower-header__img>div {
    width: 10rem;
    bottom: -1rem;
    animation: newPowerImgSP 0.8s ease-out both;
  }
}

.newpower-header__img>.img-01 {
  left: -12rem;
  animation-delay: 0s;
}

@media print,
screen and (max-width: 767px) {
  .newpower-header__img>.img-01 {
    left: -4rem;
  }
}

.newpower-header__img>.img-02 {
  left: 18rem;
  animation-delay: 0.2s;
}

@media print,
screen and (max-width: 767px) {
  .newpower-header__img>.img-02 {
    left: 4rem;
  }
}

.newpower-header__img>.img-03 {
  right: -6rem;
  animation-delay: 0.3s;
}

@media print,
screen and (max-width: 767px) {
  .newpower-header__img>.img-03 {
    right: -2rem;
  }
}

.newpower-header__inner {
  padding-left: 4vw;
  padding-right: 4vw;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20rem 0;
}

@media print,
screen and (max-width: 767px) {
  .newpower-header__inner {
    aspect-ratio: 4/3;
    padding: 8rem 0;
  }
}

.newpower-header__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.newpower-header__slash-01 {
  position: absolute;
  top: -3rem;
  left: 20%;
}

@media print,
screen and (max-width: 767px) {
  .newpower-header__slash-01 {
    top: -3rem;
    left: auto;
    right: 0;
  }
}

.newpower-header__slash-02 {
  position: absolute;
  bottom: -6rem;
  left: 60%;
}

@media print,
screen and (max-width: 767px) {
  .newpower-header__slash-02 {
    left: 40%;
    bottom: -2rem;
  }
}

.newpower-header__en {
  position: absolute;
  top: -8rem;
  left: 0;
  max-width: 20rem;
}

@media print,
screen and (max-width: 767px) {
  .newpower-header__en {
    top: -3rem;
    width: 8rem;
  }
}

.newpower-header__ttl-en {
  font-size: 8rem;
  font-weight: 600;
  font-style: italic;
  line-height: 1;
  display: flex;
  gap: 0 0.4em;
  padding: 0 0.3em 0 0.2em;
  overflow: hidden;
  opacity: 0;
}

@media print,
screen and (max-width: 767px) {
  .newpower-header__ttl-en {
    font-size: 3.2rem;
  }
}

.newpower-header__ttl-en .word {
  display: flex;
}

.newpower-header__copy {
  margin-top: 1rem;
  background: #fff;
  line-height: 1;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 0.2em 0.4em 0.3em;
}

@media print,
screen and (max-width: 767px) {
  .newpower-header__copy {
    font-size: 1.4rem;
    letter-spacing: 0;
  }
}

@keyframes newPowerImgPC {
  0% {
    opacity: 0;
    transform: translateY(-4rem);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes newPowerImgSP {
  0% {
    opacity: 0;
    transform: translateY(-1rem);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.newpower-section {
  position: relative;
}

.newpower-section .circle-01 {
  top: 10%;
  left: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .newpower-section .circle-01 {
    top: 5%;
    left: -1rem;
  }
}

.newpower-section .circle-02 {
  top: 0;
  right: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .newpower-section .circle-02 {
    right: -4rem;
  }
}

.newpower-job-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 0;
}

@media print,
screen and (max-width: 767px) {
  .newpower-job-list {
    gap: 1rem;
  }
}

.newpower-job-item {
  width: 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .newpower-job-item {
    width: calc((100% - 2rem) / 3);
  }
}

.newpower-job-icon {
  max-width: 24rem;
}

.newpower-job-txt {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.2;
}

@media print,
screen and (max-width: 767px) {
  .newpower-job-txt {
    font-size: 1.4rem;
  }
}

.newpower-person {
  line-height: 2;
  margin-top: 4rem;
  margin-bottom: 12rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person {
    margin-top: 0;
    margin-bottom: 6.4rem;
  }
}

.newpower-person+.newpower-person {
  margin-top: 24rem;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person+.newpower-person {
    margin-top: 6.4rem;
  }
}

.newpower-person .circle-03 {
  top: -10%;
  right: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person .circle-03 {
    top: -4rem;
    right: 1rem;
  }
}

.newpower-person .circle-04 {
  top: 50%;
  left: -8vw;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person .circle-04 {
    left: -4rem;
  }
}

.newpower-person .circle-05 {
  top: -15%;
  right: -10vw;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person .circle-05 {
    top: -8rem;
    right: -4rem;
  }
}

.newpower-person .circle-06 {
  bottom: -24%;
  left: -10vw;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person .circle-06 {
    bottom: -4rem;
    left: -2.4rem;
  }
}

.newpower-person__row {
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person__row {
    flex-direction: column;
  }
}

.newpower-person__col-main-txt {
  flex: 1;
  padding-left: 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person__col-main-txt {
    padding-left: 0;
  }
}

.newpower-person__col-main-img {
  width: 36rem;
  flex-shrink: 0;
  position: relative;
  order: -1;
}

.newpower-person__col-main-img .slash {
  position: absolute;
  right: -4rem;
  top: -8rem;
}

.newpower-person__body {
  margin-top: 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person__body {
    margin-top: 2.4rem;
  }
}

.newpower-person-img {
  position: relative;
  width: 50%;
  margin: 3.2rem auto;
}

.newpower-person-img .slash {
  position: absolute;
  right: -3rem;
  top: -3rem;
}

@media print,
screen and (min-width: 768px) {
  .newpower-person-img-sub {
    float: right;
    width: 40rem;
    margin-left: 4.8rem;
    margin-bottom: 2.4rem;
  }
}

@media print,
screen and (max-width: 767px) {
  .newpower-person-img-sub {
    margin-bottom: 2.4rem;
  }
}

.newpower-person-head {
  border: 2px solid #822EFA;
  display: inline-flex;
  background: #fff;
  line-height: 1.2;
}

.newpower-person-head__label {
  background: #822EFA;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 2em;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person-head__label {
    margin-right: 1em;
  }
}

.newpower-person-head__label::before {
  content: "";
  display: block;
  background: #822EFA;
  width: 3em;
  height: 100%;
  transform: skew(-30deg);
  position: absolute;
  right: -2em;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person-head__label::before {
    right: -1.5em;
  }
}

.newpower-person-head__label span {
  color: #fff;
  font-weight: 700;
  position: relative;
  padding: 0 0 0 1.2em;
  white-space: nowrap;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person-head__label span {
    font-size: 1.2rem;
  }
}

.newpower-person-head__txt {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0.5em 1.2em;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person-head__txt {
    font-size: 1.4rem;
  }
}

.newpower-person-data {
  margin-top: 1.5em;
  line-height: 1.4;
  margin-bottom: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person-data {
    margin-bottom: 2.4rem;
  }
}

.newpower-person-data .info {
  color: #822EFA;
  font-weight: 700;
}

.newpower-person-data .position {
  font-weight: 700;
  margin-top: 0.5em;
}

.newpower-person-data .name {
  margin-top: 0.2em;
  font-size: 3.2rem;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person-data .name {
    font-size: 1.8rem;
  }
}

.newpower-person-ttl {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  margin-bottom: 1em;
}

@media print,
screen and (max-width: 767px) {
  .newpower-person-ttl {
    font-size: 1.6rem;
  }
}

/* おかえりなさい採用 */
.alumni-section,
.young-professional-section {
  position: relative;
}

.alumni-section .circle,
.young-professional-section .circle {
  z-index: 10;
}

.alumni-section .circle-01,
.young-professional-section .circle-01 {
  top: -9vw;
  left: -6vw;
}

.alumni-section .circle-02,
.young-professional-section .circle-02 {
  top: -6vw;
  left: 2vw;
}

.alumni-section .circle-03,
.young-professional-section .circle-03 {
  bottom: 0;
  right: -7vw;
}

.alumni-section .circle-04,
.young-professional-section .circle-04 {
  top: 35%;
  left: -2vw;
}

.alumni-section .circle-05,
.young-professional-section .circle-05 {
  top: -12vw;
  left: -9vw;
}

.alumni-section .circle-06,
.young-professional-section .circle-06 {
  top: -10vw;
  left: -5vw;
}

@media print,
screen and (max-width: 767px) {

  .alumni-section .circle-02,
  .young-professional-section .circle-02 {
    top: -5rem;
    left: -2rem;
  }

  .alumni-section .circle-03,
  .young-professional-section .circle-03 {
    bottom: 10%;
    right: -4rem;
  }

  .alumni-section .circle-04,
  .young-professional-section .circle-04 {
    top: 16%;
    left: auto;
    right: -4rem;
  }

  .alumni-section .circle-05,
  .young-professional-section .circle-05 {
    top: -13rem;
    left: -4rem;
  }

  .alumni-section .circle-06,
  .young-professional-section .circle-06 {
    top: -4rem;
    left: auto;
    right: -5rem;
  }
}

/*===================================================

 新卒採用

===================================================*/
.page-newgrad--index .l-main {
  padding-top: 0;
}

.newgrad-mv {
  display: flex;
  justify-content: flex-end;
  position: relative;
}

@media print,
screen and (min-width: 768px) {
  .newgrad-mv {
    padding-right: 10rem;
  }
}

.newgrad-mv__content {
  position: absolute;
  bottom: 0;
  left: 4vw;
  padding-bottom: 6.25vw;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-mv__content {
    left: 1.6rem;
    padding-bottom: 4rem;
  }
}

.newgrad-mv__slash {
  position: absolute;
  top: -12vw;
  left: 15vw;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-mv__slash {
    top: auto;
    left: 0;
    bottom: 100%;
  }
}

.newgrad-mv__en {
  color: #822EFA;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  overflow: hidden;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-mv__en {
    font-size: 2.4rem;
  }
}

.newgrad-mv__en .txt-en {
  font-style: italic;
  display: flex;
  gap: 0 0.3em;
}

.newgrad-mv__en .txt-en .word {
  display: flex;
}

.newgrad-mv__en::after {
  content: "";
  display: block;
  width: 20rem;
  height: 2px;
  background: #34CFBE;
  margin-left: 0.5em;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-mv__en::after {
    width: 4rem;
  }
}

.newgrad-mv__heading {
  font-size: 2.4rem;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-mv__heading {
    font-size: 1.2rem;
  }
}

.newgrad-mv__copy {
  margin-top: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-mv__copy {
    margin-top: 2.4rem;
  }
}

.newgrad-mv__copy .copy-line:first-child>p {
  padding-left: 0;
}

.newgrad-mv__copy .copy-line p {
  position: relative;
}

.newgrad-mv__copy .copy-line p::before,
.newgrad-mv__copy .copy-line p::after {
  content: "";
  display: block;
  width: 0;
  height: 100%;
  position: absolute;
  top: 0;
}

.newgrad-mv__copy .copy-line p::before {
  background: #34CFBE;
  right: 0;
  animation: width 250ms 1000ms cubic-bezier(0.42, 0, 0, 0.99) both;
}

.newgrad-mv__copy .copy-line p::after {
  background: #fff;
  right: 0;
  animation: width 250ms 750ms cubic-bezier(0.42, 0, 0, 0.99) both;
}

.newgrad-mv__copy-sub>p {
  background: #822EFA;
  color: #fff;
}

.newgrad-mv-slider {
  width: 80vw;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-mv-slider {
    width: 100%;
  }
}

.newgrad-mv-slider::before {
  content: "";
  display: block;
  background-image: url(../img/slide/newgrad-visual-mask_pc.svg);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-mv-slider::before {
    background-image: url(../img/slide/newgrad-visual-mask_sp.svg);
  }
}

.newgrad-mv-slider__slide img {
  max-width: initial;
  width: 100%;
  height: 82vh;
  min-height: 640px;
  object-fit: cover;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-mv-slider__slide img {
    min-height: 48rem;
    height: 50dvh;
  }
}

.newgrad-mv__cover {
  display: none;
}

.newgrad-section {
  padding: 6.25vw 8vw;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-section {
    padding: 4rem 1.6rem 6.4rem;
  }
}

.newgrad-section .circle-01 {
  top: 0;
  right: 0;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-section .circle-01 {
    right: -4rem;
  }
}

.newgrad-section .circle-02 {
  top: 40vw;
  right: -5vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-section .circle-02 {
    top: 10%;
    right: -4rem;
  }
}

.newgrad-section .circle-03 {
  bottom: 20vw;
  left: -5vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-section .circle-03 {
    bottom: 24%;
    left: -2rem;
  }
}

.newgrad-section .circle-04 {
  top: 0;
  right: -1vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-section .circle-04 {
    top: 0;
    right: -1rem;
  }
}

.newgrad-section .circle-05 {
  top: 15vw;
  right: 22vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-section .circle-05 {
    top: 7rem;
    right: 20%;
  }
}

.newgrad-section .circle-06 {
  top: 20vw;
  left: -5vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-section .circle-06 {
    top: 40%;
    left: -4rem;
  }
}

.newgrad-shortcut-area {
  padding: 0 4vw 4rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-shortcut-area {
    padding: 2.4rem 1.6rem;
  }
}

.newgrad-shortcut {
  border: 2px solid #34CFBE;
  background: #fff;
  border-radius: 2rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-shortcut {
    border-radius: 8px;
  }
}

.newgrad-shortcut .slash {
  position: absolute;
  top: -3.4vw;
  left: 5vw;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-shortcut .slash {
    top: -3rem;
    left: 2.4rem;
  }
}

.newgrad-shortcut__row {
  padding: 1rem 4rem 1rem 1rem;
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-shortcut__row {
    display: block;
    padding: 1.6rem 1.6rem 1rem;
  }
}

.newgrad-shortcut__label {
  padding: 1rem 4rem 0 0;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-shortcut__label {
    padding: 0;
    margin-bottom: 0.8rem;
    line-height: 1;
  }
}

@media print,
screen and (min-width: 768px) {
  .newgrad-shortcut__label .txt-en {
    writing-mode: vertical-rl;
    font-style: italic;
    line-height: 1;
  }
}

.newgrad-shortcut__content {
  flex: 1;
  display: flex;
  align-items: center;
}

@media print,
screen and (min-width: 768px) {
  .newgrad-shortcut__content {
    min-height: 6rem;
  }
}

.newgrad-shortcut ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.5em;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-shortcut ul {
    gap: 0 1.6rem;
  }
}

.newgrad-shortcut ul>li {
  width: calc((100% - 6em) / 5);
  min-width: 20rem;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-shortcut ul>li {
    width: calc((100% - 1.6rem) / 2);
    min-width: initial;
  }
}

.newgrad-shortcut ul>li a {
  padding: 1.6rem 3rem 1.6rem 0;
  font-size: 1.6rem;
  line-height: 1.2;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-shortcut ul>li a {
    font-size: 1.2rem;
    padding: 1rem 0;
  }
}

.newgrad-shortcut ul>li a::after {
  color: #34CFBE;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  font-size: 2rem;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-shortcut ul>li a::after {
    display: none;
  }
}

.newgrad-shortcut ul>li a img {
  width: 6rem;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-shortcut ul>li a img {
    width: 4rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .newgrad-shortcut ul>li:nth-child(-n+5) {
    border-bottom: 1px dotted #34CFBE;
  }
}

@media print,
screen and (max-width: 767px) {
  .newgrad-shortcut ul>li:nth-child(-n+8) {
    border-bottom: 1px dotted #34CFBE;
  }
}

.newgrad-message {
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-message {
    margin-top: 4rem;
    padding-top: 55vw;
  }
}

.newgrad-message__row {
  display: flex;
  min-height: 43.75vw;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-message__row {
    display: block;
    min-height: initial;
  }
}

.newgrad-message__txt {
  width: 55%;
  text-align: left;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-message__txt {
    width: auto;
    font-size: 1.4rem;
  }
}

.newgrad-message__txt>p {
  margin-bottom: 2em;
  transition: opacity 2s 0.4s;
  opacity: 0;
}

.newgrad-message__txt>p.move {
  opacity: 1;
}

.newgrad-message__img {
  position: absolute;
  right: 0;
  top: 6.25vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  width: 40vw;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-message__img {
    position: static;
    width: auto;
    margin: 4rem -1.6rem 0;
    gap: 0 1rem;
  }
}

.newgrad-message__img-01 {
  margin-bottom: 3.125vw;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-message__img-01 {
    position: absolute;
    top: 0;
    right: 0;
    width: 68vw;
  }
}

.newgrad-message__img-01 img {
  width: 37.5vw;
  max-width: 72rem;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-message__img-01 img {
    width: 100%;
  }
}

.newgrad-message__img-02 {
  width: 18.75vw;
  max-width: 36rem;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-message__img-02 {
    width: calc((100% - 1rem) / 2);
  }
}

.newgrad-message__img-03 {
  width: 18.75vw;
  max-width: 36rem;
  margin: 3.125vw 0 0 auto;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-message__img-03 {
    width: calc((100% - 1rem) / 2);
    margin-top: 4rem;
  }
}

.newgrad-message .message-circle-01 {
  top: 4vw;
  right: 40vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-message .message-circle-01 {
    top: -4rem;
    right: auto;
    left: 2rem;
  }
}

.newgrad-message .message-circle-02 {
  top: 4vw;
  right: -4vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-message .message-circle-02 {
    top: -2rem;
    right: auto;
    left: 4rem;
  }
}

.newgrad-message .message-circle-03 {
  bottom: 10vw;
  left: -5vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-message .message-circle-03 {
    bottom: 32%;
    left: -1rem;
  }
}

.newgrad-message .message-circle-04 {
  bottom: -8vw;
  left: 2vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-message .message-circle-04 {
    bottom: 10%;
    left: auto;
    right: -2rem;
    width: 88vw;
  }
}

.newgrad-message__row+.message-card-list {
  margin-top: 10rem;
}

.full-block-section {
  padding: 6.25vw 0;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .full-block-section {
    padding: 8rem 0;
  }
}

.full-block-row {
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .full-block-row {
    flex-direction: column-reverse;
  }
}

.full-block-row__img {
  width: 50%;
  flex-shrink: 0;
  align-self: flex-end;
}

@media print,
screen and (max-width: 767px) {
  .full-block-row__img {
    width: auto;
  }
}

.full-block-row__desc {
  width: 50%;
  max-width: 33.3333vw;
  padding-left: 5.2vw;
  align-self: center;
}

@media print,
screen and (max-width: 767px) {
  .full-block-row__desc {
    width: auto;
    max-width: initial;
    padding: 0 1.6rem;
  }
}

.full-block-row .heading-left {
  margin-bottom: 2.4rem;
}

.full-block-row .heading-01 {
  font-size: 7.2rem;
  line-height: 1;
}

@media print,
screen and (max-width: 767px) {
  .full-block-row .heading-01 {
    font-size: 4.8rem;
  }
}

.full-block-row .btn-primary {
  width: 100%;
  max-width: 40rem;
}

@media print,
screen and (max-width: 767px) {
  .full-block-row .btn-primary {
    max-width: 20rem;
  }
}

.business-circle-01 {
  top: -2vw;
  right: 4vw;
  z-index: 0;
}

.business-circle-02 {
  top: 4vw;
  right: -4vw;
  z-index: 0;
}

.page-newgrad--index .l-main.colored2 {
  background: #fff;
}

.page-newgrad--index .l-main.colored3 {
  background: #FFFAE5;
}

.newgrad-cv-area {
  background: #fff url(../img/message/bg-city.jpg) no-repeat center bottom;
  background-size: 100% auto;
  padding-top: 16vw;
  padding-bottom: 12vw;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-cv-area {
    background-size: auto 100%;
    padding-top: 12rem;
    padding-bottom: 8rem;
  }
}

.newgrad-cv-area::before {
  content: "";
  display: block;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
  height: 16vw;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.newgrad-cv-heading {
  display: flex;
  justify-content: center;
  gap: 0 0.3em;
  overflow: hidden;
  font-size: 7.2rem;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-cv-heading {
    font-size: 2.8rem;
  }
}

.newgrad-cv-heading .word {
  display: flex;
  font-weight: 700;
}

.newgrad-cv-lead {
  text-align: center;
  margin-bottom: 8vw;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-cv-lead {
    font-size: 1.4rem;
    margin-bottom: 4rem;
  }
}

.newgrad-cv-lead>p {
  margin-bottom: 1em;
}

.newgrad-cv-lead__en {
  font-size: 4rem;
  font-weight: 500;
  font-style: italic;
}

@media print,
screen and (max-width: 767px) {
  .newgrad-cv-lead__en {
    font-size: 1.8rem;
  }
}

.training-section {
  position: relative;
}

.training-section .circle-01 {
  top: -10vw;
  right: 0;
}

@media print,
screen and (max-width: 767px) {
  .training-section .circle-01 {
    top: 0;
    right: -4rem;
  }
}

.training-section .circle-02 {
  top: 30%;
  left: -4vw;
}

@media print,
screen and (max-width: 767px) {
  .training-section .circle-02 {
    top: 38%;
    left: -4rem;
  }
}

.training-section .circle-03 {
  bottom: 0;
  right: 10vw;
}

@media print,
screen and (max-width: 767px) {
  .training-section .circle-03 {
    right: 2.4rem;
  }
}

.chart-training {
  margin-top: 4.8rem;
}

@media print,
screen and (max-width: 767px) {
  .chart-training {
    margin-top: 3.2rem;
    margin-right: -1.6rem;
    margin-left: -1.6rem;
    padding: 0 1.6rem;
    overflow-x: auto;
  }

  .chart-training img {
    width: 640px;
    max-width: initial;
  }
}

.training-list-block {
  margin-top: 8rem;
}

@media print,
screen and (max-width: 767px) {
  .training-list-block {
    margin-top: 2.4rem;
    gap: 4rem 0;
  }
}

.training-list-block .training-block {
  display: flex;
  flex-direction: column;
}

.training-list-block .training-block__img {
  margin-top: auto;
  padding-top: 2.4rem;
}

.training-list-block .training-block .elboshi {
  position: relative;
  top: -2rem;
}

@media print,
screen and (max-width: 767px) {
  .training-list-block .training-block .elboshi {
    width: 6.4rem;
  }
}

.training-list-block .training-block .unit-block {
  gap: 0 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .training-list-block .training-block .unit-block {
    display: flex;
    gap: 0 0.8rem;
  }
}

/*===================================================

 グループ会社採用

===================================================*/
.group-nav-section {
  padding: 4rem 4vw;
}

@media print,
screen and (max-width: 767px) {
  .group-nav-section {
    padding: 2.4rem 1.6rem;
  }
}

.group-jump-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.group-jump-list>li {
  width: calc((100% - 3rem) / 4);
  min-width: 26.4rem;
}

@media print,
screen and (max-width: 767px) {
  .group-jump-list>li {
    width: auto;
    min-width: initial;
  }
}

.group-jump-list>li a {
  display: block;
  background: #E5F0FF;
  border-radius: 6px;
  font-weight: 700;
  color: #132453;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  padding: 1em 2em 1em 1em;
  position: relative;
  transition: background 0.4s;
}

@media print,
screen and (max-width: 767px) {
  .group-jump-list>li a {
    font-size: 1.2rem;
    border-radius: 4px;
    padding: 0.8em 2em 0.8em 1em;
  }
}

.group-jump-list>li a::after {
  content: "\e902";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  color: #006AF5;
  position: absolute;
  top: 50%;
  right: 1.6rem;
  margin-top: -0.5em;
}

@media print,
screen and (max-width: 767px) {
  .group-jump-list>li a::after {
    right: 1rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .group-jump-list>li a:hover {
    background: #cde1fc;
  }
}

.group-section {
  position: relative;
}

.group-section .circle-01 {
  bottom: -2vw;
  right: -2vw;
}

@media print,
screen and (max-width: 767px) {
  .group-section .circle-01 {
    bottom: auto;
    top: 0;
    right: -2rem;
  }
}

.group-section .circle-02 {
  top: -2vw;
  left: -3vw;
}

@media print,
screen and (max-width: 767px) {
  .group-section .circle-02 {
    top: 20%;
    left: -2rem;
  }
}

.group-block-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6.25vw;
}

@media print,
screen and (max-width: 767px) {
  .group-block-list {
    flex-direction: column;
    gap: 4rem 0;
  }
}

.group-block-item {
  border-top: 1px solid #D6DBDC;
  padding-top: 4rem;
  width: calc((100% - 6.25vw) / 2);
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .group-block-item {
    width: 100%;
    padding-top: 2.4rem;
  }
}

.group-block-item::before {
  content: "";
  display: block;
  width: 10rem;
  height: 2px;
  background: #0056B2;
  position: absolute;
  top: -1px;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .group-block-item::before {
    width: 5rem;
  }
}

.group-block-item .txt {
  line-height: 2;
}

.group-info-table {
  width: 100%;
  margin-top: 3.6rem;
}

@media print,
screen and (max-width: 767px) {
  .group-info-table {
    margin-top: 2.4rem;
  }
}

.group-info-table th {
  font-size: 1.4rem;
  font-weight: 500;
  width: 6.2em;
}

@media print,
screen and (max-width: 767px) {
  .group-info-table th {
    font-size: 1.2rem;
  }
}

.group-info-table td {
  font-size: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .group-info-table td {
    font-size: 1.3rem;
  }
}

.group-entry-btn {
  margin-top: 4rem;
  text-align: right;
}

.group-entry-btn a {
  font-size: 2rem;
}

@media print,
screen and (max-width: 767px) {
  .group-entry-btn {
    margin-top: 2rem;
  }

  .group-entry-btn a {
    font-size: 1.6rem;
  }
}

/*===================================================

 障がい者採用

===================================================*/
.page-challenged .local-header__heading {
  font-size: 4.8rem;
}

@media print,
screen and (max-width: 767px) {
  .page-challenged .local-header__heading {
    font-size: 2.4rem;
  }
}

/*===================================================

 インターンシップ

===================================================*/
@media print,
screen and (min-width: 768px) {
  .page-intern .l-footer {
    padding-bottom: 10rem;
  }
}

.intern-section {
  padding: 8rem 8vw;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-section {
    padding: 2.4rem 1.6rem;
  }
}

.intern-section .section-inner {
  position: relative;
}

.wave-white::before,
.wave-orange::before,
.wave-green::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: cover;
  width: 100%;
  height: 36rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media print,
screen and (max-width: 767px) {

  .wave-white::before,
  .wave-orange::before,
  .wave-green::before {
    height: 100%;
    background-size: 105% auto;
  }
}

.wave-white::before {
  background-image: url(../../internship/img/wave_white.svg);
}

.wave-orange::before {
  background-image: url(../../internship/img/wave_orange.svg);
}

.wave-green::before {
  background-image: url(../../internship/img/wave_green.svg);
}

.intern-bg-orange {
  background: #FFF6E5;
}

.intern-bg-green {
  background: #E0FBF8;
}

.intern-section-heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-bottom: 7.2rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-section-heading {
    margin-bottom: 3.6rem;
  }
}

.intern-section-heading .intern-heading {
  position: relative;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 0 1rem 0.2rem;
  z-index: 2;
}

@media print,
screen and (max-width: 767px) {
  .intern-section-heading .intern-heading {
    font-size: 2.2rem;
  }
}

.intern-section-heading .intern-heading::before {
  content: "";
  display: block;
  width: 0;
  height: 1.6rem;
  background: #FFE600;
  border-radius: 0.8rem;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  transition: width 0.4s;
}

@media print,
screen and (max-width: 767px) {
  .intern-section-heading .intern-heading::before {
    height: 1rem;
  }
}

.intern-section-heading .intern-heading[data-color=green]::before {
  background: #5AEFDF;
}

.intern-section-heading .intern-heading span {
  position: relative;
}

.intern-section-heading .intern-heading-txt {
  margin-top: 1rem;
  font-size: 1.6rem;
  font-weight: 700;
}

.intern-section-heading .bubble {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 1.6rem;
  transform: translateY(-10px);
  opacity: 0;
  transition: all 0.4s;
}

@media print,
screen and (max-width: 767px) {
  .intern-section-heading .bubble {
    font-size: 1.2rem;
    margin-bottom: 0.8rem;
  }
}

.intern-section-heading .bubble::after {
  content: "";
  display: block;
  background: url(../../internship/img/ttl-line.svg) no-repeat center;
  background-size: contain;
  width: 13.4rem;
  height: 1.43rem;
  margin-top: 1rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-section-heading .bubble::after {
    width: 6.7rem;
    height: 0.715rem;
    margin-top: 0.5rem;
  }
}

.intern-section-heading .chara {
  position: absolute;
  bottom: -4rem;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .intern-section-heading .chara {
    transform: scale(0.5);
    bottom: -2rem;
  }
}

.intern-section-heading .chara.-left {
  left: 5vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-section-heading .chara.-left {
    left: -2rem;
  }
}

.intern-section-heading .chara.-right {
  right: 5vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-section-heading .chara.-right {
    right: -2rem;
  }
}

.intern-section-heading.move .intern-heading::before {
  width: 100%;
}

.intern-section-heading.move .bubble {
  transform: translateY(0);
  opacity: 1;
}

.intern-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #132453;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  border-radius: 6rem;
  text-decoration: none;
  padding: 1rem 5rem 1rem 4rem;
  box-shadow: 0 0.4rem 0.4rem 0 rgba(0, 0, 0, 0.16);
  min-height: 6.4rem;
  transition: background 0.2s;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-btn-primary {
    min-height: 4.4rem;
  }
}

.intern-btn-primary::before {
  content: "\e907";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 1.5em;
  position: absolute;
  top: 50%;
  right: 1.2rem;
  transform: translateY(-50%);
}

@media print,
screen and (min-width: 768px) {
  .intern-btn-primary:hover {
    background: #fff;
    color: #132453;
    border: 2px solid #132453;
  }
}

.intern-btn-seconday {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 2px solid #006AF5;
  color: #006AF5;
  font-weight: 700;
  line-height: 1;
  border-radius: 4rem;
  text-decoration: none;
  padding: 1rem;
  min-width: 10rem;
  transition: background 0.2s;
  position: relative;
  transition: background 0.2s;
}

@media print,
screen and (max-width: 767px) {
  .intern-btn-seconday {
    min-width: 5em;
    padding: 0.6rem 1rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .intern-btn-seconday:hover {
    background: #006AF5;
    color: #fff;
  }
}

.intern-btn-enrty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #d64000;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  border-radius: 10rem;
  text-decoration: none;
  padding: 1rem 4rem;
  box-shadow: 0 0.4rem 0.4rem 0 rgba(0, 0, 0, 0.16);
  border: 2px solid #fff;
  transition: background 0.2s;
}

@media print,
screen and (min-width: 768px) {
  .intern-btn-enrty:hover {
    background: #fff;
    color: #d64000;
    border: 2px solid #d64000;
  }
}

.intern-btn-enrty[data-size=s] {
  font-size: 1.8rem;
  padding: 1rem 2rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-btn-enrty[data-size=s] {
    min-height: 4rem;
    font-size: 1.4rem;
  }
}

.intern-btn-enrty[data-size=m] {
  min-height: 6.4rem;
  font-size: 2rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-btn-enrty[data-size=m] {
    min-height: 4.8rem;
    font-size: 1.6rem;
  }
}

.intern-btn-enrty[data-size=l] {
  width: 60rem;
  min-height: 12rem;
  font-size: 3.2rem;
  border-width: 4px;
}

@media print,
screen and (max-width: 767px) {
  .intern-btn-enrty[data-size=l] {
    width: 100%;
    min-height: 5.6rem;
    font-size: 1.6rem;
    border-width: 2px;
  }
}

.intern-cv-area__btn {
  text-align: center;
}

.intern-nav {
  border-top: 2px solid #132453;
  background: #fff;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0 10rem 0 4vw;
  box-shadow: 1rem 0 2rem 0 rgba(0, 0, 0, 0.16);
  z-index: 10;
}

@media print,
screen and (max-width: 767px) {
  .intern-nav {
    position: static;
    padding: 1.6rem;
    box-shadow: none;
    border: none;
  }
}

.intern-nav>ul {
  display: flex;
  justify-content: center;
}

@media print,
screen and (max-width: 767px) {
  .intern-nav>ul {
    flex-wrap: wrap;
    border: 2px solid #132453;
    background: #fff;
    border-radius: 10px;
    padding: 0.8rem 2.4rem 2.4rem;
  }
}

.intern-nav>ul>li {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 1.6vw 0 1.8vw;
  min-height: 9.6rem;
  line-height: 1.2;
}

@media print,
screen and (max-width: 767px) {
  .intern-nav>ul>li {
    padding: 0;
    min-height: initial;
    border-bottom: 1px dashed #132453;
  }
}

.intern-nav>ul>li::before {
  content: "";
  display: block;
  height: 60%;
  width: 1px;
  border-left: 1px dashed #132453;
  position: absolute;
  top: 20%;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .intern-nav>ul>li::before {
    display: none;
  }
}

@media print,
screen and (max-width: 767px) {
  .intern-nav>ul>li {
    width: 100%;
  }

  .intern-nav>ul>li a {
    width: 100%;
    padding: 1.6rem 0;
    position: relative;
  }
}

.intern-nav>ul>li:not(.entry) a {
  display: inline-flex;
  align-items: center;
  color: #132453;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  position: relative;
}

.intern-nav>ul>li:not(.entry) a::after {
  content: "\e907";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  color: #d64000;
  font-size: 2.4rem;
  z-index: 1;
}

@media print,
screen and (max-width: 767px) {
  .intern-nav>ul>li:not(.entry) a::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
}

.intern-nav>ul>li:not(.entry) a span {
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-nav>ul>li.entry {
    padding-top: 1.6rem;
    border-bottom: none;
  }
}

.intern-nav>ul>li.is-current a::before {
  content: "";
  display: block;
  width: 100%;
  height: 1.4rem;
  background: #FFE600;
  opacity: 0.4;
  border-radius: 0.8rem;
  position: absolute;
  bottom: -0.4rem;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .intern-nav>ul>li.is-current a::before {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    left: -0.5rem;
    bottom: 50%;
    margin-bottom: -1rem;
  }
}

.intern-local-header {
  background: #FFD816;
  padding-top: 16rem;
  padding-right: 10rem;
  position: relative;
  min-height: 66rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header {
    padding-top: 8rem;
    padding-right: 0;
    padding-bottom: 6rem;
    min-height: initial;
  }
}

.intern-local-header::before {
  content: "";
  display: block;
  background: url(../../internship/img/wave_white.svg) no-repeat left bottom;
  background-size: cover;
  width: 100%;
  height: 42.7rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header::before {
    height: 100%;
    background-size: 105% auto;
  }
}

.intern-local-header .breadcrumb {
  padding: 2.4rem 0;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header .breadcrumb {
    padding: 1.6rem 0;
  }
}

.intern-local-header .breadcrumb>ul {
  max-width: initial;
}

.intern-local-header__inner {
  padding-left: 4vw;
  padding-right: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header__inner {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

.intern-local-header__content {
  position: relative;
  max-width: 128rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header__content {
    margin: 2rem 0;
  }
}

.intern-local-header__ttl {
  text-align: center;
  position: relative;
  z-index: 1;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header__ttl .title {
    max-width: 22rem;
  }
}

.intern-local-header__chara {
  position: absolute;
  top: -4vw;
  right: 0;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header__chara {
    width: 8rem;
  }
}

.intern-local-header__tab {
  margin-top: 8rem;
  position: relative;
  z-index: 1;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header__tab {
    margin-top: 2.4rem;
  }
}

.intern-local-header__tab ul {
  display: flex;
  justify-content: center;
  gap: 0 2rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header__tab ul {
    gap: 0 1rem;
  }
}

.intern-local-header__tab ul>li {
  width: 32rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header__tab ul>li {
    width: calc((100% - 1rem) / 2);
    min-width: 14rem;
  }
}

.intern-local-header__tab ul>li>a {
  font-size: 2.4rem;
  font-weight: 700;
  color: #132453;
  text-decoration: none;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 9rem;
  border-radius: 5rem;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.16);
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header__tab ul>li>a {
    font-size: 1.6rem;
    height: 4.4rem;
  }
}

.intern-local-header__tab ul>li.is-current>a {
  color: #fff;
  background: #132453;
  box-shadow: none;
}

.intern-local-header__tab ul>li.is-current>a::after {
  content: "";
  border-style: solid;
  border-width: 1.2rem;
  border-color: #132453 transparent transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header__tab ul>li.is-current>a::after {
    border-width: 0.6rem;
  }
}

.intern-local-header__nav {
  background: #fff;
  border: 2px solid #132453;
  border-radius: 10px;
  width: 80%;
  margin: 4rem auto 0;
  padding: 3.2rem;
  position: relative;
  z-index: 1;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header__nav {
    width: 100%;
    margin-top: 2rem;
    padding: 1.2rem;
  }
}

.intern-local-header__nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2em;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header__nav ul {
    gap: 1em;
  }
}

.intern-local-header__nav ul>li>a {
  display: inline-flex;
  align-items: center;
  color: #132453;
  text-decoration: none;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header__nav ul>li>a {
    font-size: 1.2rem;
  }
}

.intern-local-header__nav ul>li>a::after {
  content: "\e907";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 2.4rem;
  color: #d64000;
}

@media print,
screen and (max-width: 767px) {
  .intern-local-header__nav ul>li>a::after {
    font-size: 2rem;
  }
}

.intern-local-header__nav ul>li>a.jump::after {
  transform: rotate(90deg);
}

.page-intern .l-main {
  padding-top: 0;
}

.intern-mv {
  background: #FFD816;
  padding-top: 16rem;
  padding-right: 10rem;
  padding-bottom: 4rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-mv {
    padding-top: 8rem;
    padding-right: 0;
    padding-bottom: 6rem;
  }
}

.intern-mv::before {
  content: "";
  display: block;
  background: url(../../internship/img/wave_white.svg) no-repeat left bottom;
  background-size: cover;
  width: 100%;
  height: 42.7rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media print,
screen and (max-width: 767px) {
  .intern-mv::before {
    height: 100%;
    background-size: 105% auto;
  }
}

.intern-mv .breadcrumb {
  padding: 2.4rem 0;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-mv .breadcrumb {
    padding: 1.6rem 0;
  }
}

.intern-mv .breadcrumb>ul {
  max-width: initial;
}

.intern-mv__inner {
  padding-left: 4vw;
  padding-right: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-mv__inner {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

.intern-mv__content {
  position: relative;
  max-width: 166rem;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

@media print,
screen and (max-width: 767px) {
  .intern-mv__content {
    flex-direction: column-reverse;
  }
}

.intern-mv__left {
  padding-left: 5vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-mv__left {
    padding: 0 0.8rem;
  }
}

.intern-mv__right {
  width: 54%;
  flex-shrink: 0;
}

@media print,
screen and (max-width: 767px) {
  .intern-mv__right {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2.4rem;
  }
}

@media print,
screen and (min-width: 768px) {
  .intern-mv__right img {
    position: relative;
    top: -4vw;
  }
}

.intern-mv__btn {
  margin-top: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-mv__btn {
    margin-top: 2.4rem;
  }

  .intern-mv__btn .intern-btn-enrty {
    width: 100%;
  }
}

.intern-mv__note {
  margin-top: 2.4rem;
  font-size: 1.4rem;
  max-width: 37rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-mv__note {
    max-width: initial;
    font-size: 1.2rem;
    margin-top: 1.6rem;
  }
}

.intern-rule-txt {
  position: relative;
  text-align: center;
  font-size: 1.4rem;
  margin-bottom: 2em;
}

@media print,
screen and (max-width: 767px) {
  .intern-rule-txt {
    text-align: left;
    font-size: 1.1rem;
  }
}

.intern-top-news {
  padding-top: 2.4rem;
  padding-bottom: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-top-news {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
  }
}

.intern-news {
  border: 2px solid #132453;
  border-radius: 10px;
  overflow: hidden;
}

@media print,
screen and (max-width: 767px) {
  .intern-news {
    position: relative;
  }
}

.intern-news__content {
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .intern-news__content {
    display: block;
  }
}

.intern-news__head {
  width: 19rem;
  background: #5AEFDF;
  border-style: solid;
  border-color: #132453;
  border-width: 0 2px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.2rem;
  padding: 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-news__head {
    width: auto;
    border-width: 0 2px 2px 0;
    border-radius: 0 0 6px 0;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 1.4rem;
    line-height: 1;
    padding: 0.6rem 1.2rem;
  }
}

.intern-news__head .txt-en {
  font-style: italic;
  font-weight: 700;
}

.intern-news__body {
  padding: 4rem;
  flex: 1;
}

@media print,
screen and (max-width: 767px) {
  .intern-news__body {
    padding: 4rem 1.6rem 1.6rem 1.6rem;
  }
}

.intern-news ul>li:not(:first-child) {
  margin-top: 2.4rem;
}

.intern-top-feature {
  position: relative;
  padding-bottom: 2rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-top-feature {
    padding-bottom: 6rem;
  }
}

.intern-top-feature .section-inner {
  position: relative;
}

.intern-feature-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-feature-list {
    flex-direction: column;
    gap: 1.6rem 0;
  }
}

.intern-feature-item {
  width: calc((100% - 4vw) / 3);
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0.4rem 0 0 rgba(0, 0, 0, 0.1);
  padding: 0 2.4rem 4rem;
  text-align: center;
  display: flex;
  flex-direction: column;
}

@media print,
screen and (max-width: 767px) {
  .intern-feature-item {
    width: auto;
    padding: 1.6rem 1rem 7.2rem 1rem;
    border: 1px solid #D6DBDC;
    flex-direction: row;
    align-items: center;
    position: relative;
  }
}

.intern-feature-item__img {
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .intern-feature-item__img {
    width: 36%;
  }
}

@media print,
screen and (min-width: 768px) {
  .intern-feature-item__img img {
    max-width: 23rem;
  }
}

.intern-feature-item__desc {
  flex: 1;
  margin-top: 2rem;
  line-height: 1.6;
  display: flex;
  flex-direction: column;
}

@media print,
screen and (max-width: 767px) {
  .intern-feature-item__desc {
    margin-top: 0;
    padding: 0 0.8rem 0 1.2rem;
    text-align: left;
  }
}

.intern-feature-item .title {
  font-size: 3.2rem;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .intern-feature-item .title {
    font-size: 2rem;
  }
}

.intern-feature-item .txt {
  margin-top: 1em;
  font-size: 1.8rem;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .intern-feature-item .txt {
    font-size: 1.4rem;
    margin-top: 0.5em;
  }
}

.intern-feature-item .txt small {
  display: block;
  margin-top: 0.5em;
  font-weight: 500;
  font-size: 1.4rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-feature-item .txt small {
    font-size: 1.2rem;
  }
}

.intern-feature-item .btn {
  margin-top: auto;
  padding-top: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-feature-item .btn {
    padding: 0;
    position: absolute;
    bottom: 1.6rem;
    left: 1.6rem;
    width: calc(100% - 3.2rem);
  }
}

.intern-feature-item .btn>a {
  width: 100%;
}

.intern-top-season {
  padding-top: 10rem;
  padding-bottom: 16rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-top-season {
    padding-top: 2.4rem;
    padding-bottom: 4rem;
  }
}

.intern-season-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-season-list {
    flex-direction: column;
    align-items: center;
    gap: 1.6rem 0;
  }
}

.intern-season-box {
  /*width: calc((100% - 4vw) / 3);*/
  max-width: 40rem;
  flex: 1;
  border: 2px solid #132453;
  border-radius: 10px;
  background: #fff;
  display: flex;
  flex-direction: column;
}

@media print,
screen and (max-width: 767px) {
  .intern-season-box {
    width: 100%;
  }
}

.intern-season-box__head {
  background: #132453;
  border-radius: 6px 6px 0 0;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  padding: 0.8rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-season-box__head {
    font-size: 2rem;
  }
}

.intern-season-box__body {
  flex: 1;
  text-align: center;
  padding: 2.4rem 2.4rem 2.8rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 700;
  line-height: 1.4;
}

@media print,
screen and (max-width: 767px) {
  .intern-season-box__body {
    padding: 1.6rem;
  }
}

.intern-season-box .label {
  margin-top: 1.6rem;
  background: #5AEFDF;
  font-size: 1.6rem;
  line-height: 1;
  padding: 0.5rem 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-season-box .label {
    font-size: 1.4rem;
  }
}

.intern-season-box .period {
  margin-top: 1rem;
  font-size: 2.4rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-season-box .period {
    font-size: 2rem;
  }
}

.intern-season-box .period small {
  font-size: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-season-box .period small {
    font-size: 1.4rem;
  }
}

.intern-season-box .btn {
  margin-top: 1.6rem;
}

.intern-season-box.is-disabled {
  border-color: #656C7E;
  color: #656C7E;
}

.intern-season-box.is-disabled .intern-season-box__head {
  background: #656C7E;
}

.intern-season-box.is-disabled .label {
  background: #F1F4F6;
}

.intern-season-box.is-disabled .btn>a {
  background: #F1F4F6;
  color: #656C7E;
  box-shadow: none;
  border: none;
  pointer-events: none;
}

.intern-top-step {
  background: #132453 url(../../internship/img/bg-step.jpg) no-repeat center;
  background-size: cover;
  padding-top: 10rem;
  padding-bottom: 12rem;
  color: #fff;
}

@media print,
screen and (max-width: 767px) {
  .intern-top-step {
    padding-top: 6rem;
    padding-bottom: 4rem;
  }
}

@media print,
screen and (max-width: 767px) {
  .intern-top-step .intern-heading {
    font-size: 2rem;
  }
}

.intern-top-step .intern-heading::before {
  height: 0.4rem;
}

.intern-step-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem 4.4rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-step-list {
    flex-direction: column;
    align-items: center;
  }
}

.intern-step-list>li {
  width: calc((100% - 17.6rem) / 5);
  background: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #132453;
  padding: 2.4rem 0.8rem;
  min-height: 18rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-step-list>li {
    width: 22rem;
    padding: 1.6rem;
    min-height: initial;
  }
}

.intern-step-list>li:not(:last-child):before {
  content: "";
  border-style: solid;
  border-color: transparent transparent transparent #d64000;
  border-width: 2rem;
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 1rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-step-list>li:not(:last-child):before {
    border-color: #d64000 transparent transparent transparent;
    border-width: 1.2rem;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    margin: 0.6rem 0 0;
  }
}

.intern-step-list>li .content {
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.4;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .intern-step-list>li .content {
    font-size: 1.6rem;
  }
}

.intern-step-list>li .content small {
  margin-top: 1rem;
  display: block;
  font-size: 1.6rem;
  line-height: 1.4;
}

@media print,
screen and (max-width: 767px) {
  .intern-step-list>li .content small {
    font-size: 1.2rem;
  }
}

.intern-step-note {
  margin-top: 4.8rem;
  padding-left: 22rem;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-step-note {
    margin-top: 2.4rem;
    padding-left: 0;
  }
}

.intern-step-note::before {
  content: "";
  display: block;
  background: url(../../internship/img/chara-01.png) no-repeat center;
  background-size: contain;
  width: 22rem;
  height: 19.2rem;
  position: absolute;
  left: 0;
  top: -9rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-step-note::before {
    width: 11rem;
    height: 9.6rem;
    top: auto;
    bottom: calc(100% + 1.6rem);
  }
}

.intern-step-note>a {
  color: #FFE600;
}

.intern-top-faq {
  padding-top: 12rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-top-faq {
    padding-top: 6rem;
  }
}

.intern-faq-list .intern-faq {
  background: #fff;
  border: 2px solid #132453;
  border-radius: 10px;
}

.intern-faq-list .intern-faq:not(:last-child) {
  margin-bottom: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-faq-list .intern-faq:not(:last-child) {
    margin-bottom: 1rem;
  }
}

.intern-faq-list .intern-faq__heading {
  display: flex;
  cursor: pointer;
  min-height: 10rem;
  position: relative;
  list-style: none;
}

@media print,
screen and (max-width: 767px) {
  .intern-faq-list .intern-faq__heading {
    min-height: 5.6rem;
  }
}

.intern-faq-list .intern-faq__heading::before {
  content: "Q";
  font-family: "Poppins", sans-serif;
  font-size: 3.2rem;
  font-weight: 600;
  color: #fff;
  background: #132453;
  border-radius: 6px 0 0 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 10rem;
  transition: all 0.15s;
}

@media print,
screen and (max-width: 767px) {
  .intern-faq-list .intern-faq__heading::before {
    width: 4rem;
    font-size: 1.6rem;
  }
}

.intern-faq-list .intern-faq__heading::marker,
.intern-faq-list .intern-faq__heading::-webkit-details-marker {
  display: none;
}

.intern-faq-list .intern-faq__question {
  flex: 1;
  align-self: center;
  padding: 2rem 8rem 2rem 2.4rem;
  font-size: 2rem;
  font-weight: 700;
  transition: padding 0.15s;
}

@media print,
screen and (max-width: 767px) {
  .intern-faq-list .intern-faq__question {
    font-size: 1.6rem;
    line-height: 1.4;
    padding: 1rem 4rem 1rem 1.6rem;
  }
}

.intern-faq-list .intern-faq__question::before {
  content: "\e919";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(212, 230, 242, 0.6);
  border-radius: 50%;
  width: 4.8rem;
  height: 4.8rem;
  font-size: 2.4rem;
  font-weight: 700;
  position: absolute;
  top: 50%;
  right: 2.4rem;
  margin-top: -2.4rem;
  transition: transform 0.4s;
  transform: rotate(0deg);
}

@media print,
screen and (max-width: 767px) {
  .intern-faq-list .intern-faq__question::before {
    width: 2rem;
    height: 2rem;
    font-size: 1.6rem;
    right: 1rem;
    margin-top: -1rem;
  }
}

.intern-faq-list .intern-faq__answer {
  padding: 0 4rem 4rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-faq-list .intern-faq__answer {
    padding: 0 1.6rem 1.6rem;
  }
}

@media print,
screen and (max-width: 767px) {
  .intern-faq-list .intern-faq[open] .intern-faq__heading {
    align-items: center;
  }
}

.intern-faq-list .intern-faq[open] .intern-faq__heading::before {
  align-self: center;
  width: 6rem;
  margin: 2rem;
  border-radius: 50%;
  aspect-ratio: 1/1;
}

@media print,
screen and (max-width: 767px) {
  .intern-faq-list .intern-faq[open] .intern-faq__heading::before {
    width: 3.2rem;
    margin: 0 0 0 0.8rem;
  }
}

.intern-faq-list .intern-faq[open] .intern-faq__question::before {
  content: "\e918";
  transform: rotate(180deg);
}

@media print,
screen and (max-width: 767px) {
  body.page-intern-about .intern-local-header .intern-local-header__chara {
    top: 3rem;
  }
}

.intern-field-map {
  margin-top: -6vw;
  margin-bottom: 5vw;
  padding-bottom: 10rem;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-field-map {
    margin-top: 0;
    padding-bottom: 4rem;
    margin-bottom: 4rem;
  }
}

.intern-field-map:after {
  content: "";
  border-style: solid;
  border-width: 5rem 7rem;
  border-color: #FFD816 transparent transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 5.6rem;
  position: absolute;
  bottom: 0;
}

@media print,
screen and (max-width: 767px) {
  .intern-field-map:after {
    border-width: 2rem 3rem;
    margin-top: 2.4rem;
  }
}

.intern-field-map .field-map {
  position: absolute;
  bottom: 0;
}

.intern-field-map .label {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 3rem;
  writing-mode: vertical-rl;
}

.intern-field-map .label span {
  background: #FFD816;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  white-space: nowrap;
  padding: 0.5em 0;
  position: relative;
  z-index: 1;
}

@media print,
screen and (max-width: 767px) {
  .intern-field-map .label span {
    font-size: 1.8rem;
  }
}

.intern-field-map .label span:nth-child(2) {
  margin-top: 1.5em;
}

@media print,
screen and (min-width: 768px) {
  .intern-our-business {
    padding-bottom: 0;
  }
}

.intern-about-txtWrap__left {
  display: flex;
  justify-content: center;
}

.intern-about-txtWrap__right {
  line-height: 2;
}

.intern-about-txtWrap .chara {
  position: relative;
  top: -6vw;
}

.intern-learning-item {
  background: #fff;
  border-radius: 10px;
  padding: 2vw 2vw 2vw 4vw;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-learning-item {
    padding: 3.2rem 1.6rem 1.6rem;
  }
}

.intern-learning-item:not(:last-child) {
  margin-bottom: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-learning-item:not(:last-child) {
    margin-bottom: 4rem;
  }
}

.intern-learning-num {
  position: absolute;
  top: -3rem;
  left: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-learning-num {
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%);
  }
}

.intern-learning-num span {
  font-size: 8rem;
  font-weight: 700;
  line-height: 1;
}

@media print,
screen and (max-width: 767px) {
  .intern-learning-num span {
    font-size: 4rem;
  }
}

.intern-learning-num span:nth-child(1) {
  color: #5AEFDF;
}

.intern-learning-num span:nth-child(2) {
  -webkit-text-stroke: 1px #132453;
  text-stroke: 1px #132453;
  color: transparent;
  position: absolute;
  top: 0;
  left: -3px;
}

@media print,
screen and (max-width: 767px) {
  .intern-learning-num span:nth-child(2) {
    left: -2px;
  }
}

.intern-learning-row {
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .intern-learning-row {
    display: block;
  }
}

.intern-learning-row__txt {
  flex: 1;
  padding: 2vw 4vw 1vw 0;
  line-height: 2;
}

@media print,
screen and (max-width: 767px) {
  .intern-learning-row__txt {
    padding: 0;
  }
}

.intern-learning-row__txt .title {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.8em;
}

@media print,
screen and (max-width: 767px) {
  .intern-learning-row__txt .title {
    font-size: 2rem;
    text-align: center;
  }
}

.intern-learning-row__img {
  width: 40%;
}

@media print,
screen and (max-width: 767px) {
  .intern-learning-row__img {
    width: auto;
    margin-top: 2.4rem;
  }
}

.intern-outline-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-outline-list {
    flex-direction: column;
    gap: 1.6rem 0;
  }
}

.intern-outline-box {
  width: calc((100% - 4vw) / 3);
  border: 2px solid #132453;
  border-radius: 10px 10px 0 0;
  background: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

@media print,
screen and (max-width: 767px) {
  .intern-outline-box {
    width: auto;
  }
}

.intern-outline-box__head {
  background: #FFD816;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  padding: 0.8rem;
  border-bottom: 2px solid #132453;
}

@media print,
screen and (max-width: 767px) {
  .intern-outline-box__head {
    font-size: 1.6rem;
  }
}

.intern-outline-box__body {
  flex: 1;
  padding: 2.4rem 0;
}

@media print,
screen and (max-width: 767px) {
  .intern-outline-box__body {
    padding: 1rem 0;
  }
}

.intern-outline-box__list {
  display: flex;
  height: 100%;
}

.intern-outline-box__list>li {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-outline-box__list>li {
    padding: 1rem;
  }
}

.intern-outline-box__list>li:not(:last-child) {
  border-right: 2px solid #132453;
}

.intern-outline-box__list>li .content {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 2.4rem;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .intern-outline-box__list>li .content {
    font-size: 1.6rem;
  }
}

.intern-outline-box__list>li .content .label {
  background: #132453;
  font-size: 1.8rem;
  line-height: 1;
  color: #fff;
  padding: 0.4em 1em;
  margin-bottom: 0.8rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-outline-box__list>li .content .label {
    font-size: 1.6rem;
  }
}

body.page-intern-detail .intern-local-header {
  min-height: 76rem;
}

@media print,
screen and (max-width: 767px) {
  body.page-intern-detail .intern-local-header {
    min-height: initial;
  }

  body.page-intern-detail .intern-local-header .intern-local-header__chara {
    display: none;
  }
}

@media print,
screen and (min-width: 768px) {
  .intern-detail-outline {
    padding-top: 0;
  }
}

.intern-outline-row {
  display: flex;
}

@media print,
screen and (max-width: 767px) {
  .intern-outline-row {
    display: block;
  }
}

@media print,
screen and (max-width: 767px) {
  .intern-outline-row__img {
    text-align: center;
    max-width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
}

.intern-outline-row__txt {
  flex: 1;
  padding-left: 4vw;
  line-height: 2;
}

@media print,
screen and (max-width: 767px) {
  .intern-outline-row__txt {
    padding: 1.6rem 0 0;
  }
}

.intern-detail-program {
  padding-bottom: 26rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-detail-program {
    padding-bottom: 10rem;
  }
}

.intern-program-box {
  background: #fff;
  padding: 4vw;
  border-radius: 10px;
  position: relative;
}

@media print,
screen and (max-width: 767px) {
  .intern-program-box {
    padding: 1.6rem;
  }
}

.intern-program-box .chara {
  position: absolute;
  right: -4vw;
  bottom: -4vw;
  z-index: 0;
}

@media print,
screen and (max-width: 767px) {
  .intern-program-box .chara {
    position: relative;
    width: 50%;
    margin-left: auto;
    right: 0;
    bottom: -3rem;
    margin-top: -2rem;
  }
}

.intern-program-box .intern-schedule {
  display: flex;
  position: relative;
  z-index: 1;
}

.intern-program-box .intern-schedule>ul {
  position: relative;
}

.intern-program-box .intern-schedule>ul>li {
  position: relative;
  padding: 0 0 6.4rem 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-program-box .intern-schedule>ul>li {
    padding: 0 0 4rem 3.2rem;
  }
}

.intern-program-box .intern-schedule>ul>li:before {
  content: "";
  border: 3px solid #132453;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: 1rem;
  left: 0;
  z-index: 1;
}

@media print,
screen and (max-width: 767px) {
  .intern-program-box .intern-schedule>ul>li:before {
    width: 1.2rem;
    height: 1.2rem;
    border-width: 2px;
    left: 0.3rem;
  }
}

.intern-program-box .intern-schedule>ul>li:not(:last-child)::after {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background: #132453;
  position: absolute;
  top: 1.8rem;
  left: 0.8rem;
}

.intern-program-box .intern-schedule>ul>li .head {
  display: flex;
  align-items: center;
  line-height: 1;
}

@media print,
screen and (max-width: 767px) {
  .intern-program-box .intern-schedule>ul>li .head {
    flex-wrap: wrap;
  }
}

.intern-program-box .intern-schedule>ul>li .head .day {
  font-size: 2rem;
  font-style: italic;
  font-weight: 600;
}

@media print,
screen and (max-width: 767px) {
  .intern-program-box .intern-schedule>ul>li .head .day {
    font-size: 1.4rem;
  }
}

.intern-program-box .intern-schedule>ul>li .head .day em {
  font-size: 3.6rem;
  margin-left: 0.1em;
}

@media print,
screen and (max-width: 767px) {
  .intern-program-box .intern-schedule>ul>li .head .day em {
    font-size: 2.8rem;
  }
}

.intern-program-box .intern-schedule>ul>li .head .icon {
  margin-left: 2.4rem;
  font-weight: 700;
  font-family: "Zen Kaku Gothic New", sans-serif !important;
  padding: 0.5em;
  min-width: 6em;
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .intern-program-box .intern-schedule>ul>li .head .icon {
    margin-left: 1.2rem;
    font-size: 1.2rem;
  }
}

.intern-program-box .intern-schedule>ul>li .head .icon-c-blue {
  background: #CBF4FF;
}

.intern-program-box .intern-schedule>ul>li .head .icon-c-green {
  background: #CBFFF3;
}

.intern-program-box .intern-schedule>ul>li .head .icon-c-orange {
  background: #FFE9BC;
}

.intern-program-box .intern-schedule>ul>li .head .txt {
  margin-left: 1.6rem;
  font-weight: 700;
  font-size: 2.2rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-program-box .intern-schedule>ul>li .head .txt {
    width: 100%;
    font-size: 1.8rem;
    margin: 1rem 0 0;
  }
}

.intern-program-box .intern-schedule>ul>li .body {
  margin-top: 1.6rem;
}

.intern-program-box .intern-schedule-note {
  margin-top: 2em;
  font-size: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-program-box .intern-schedule-note {
    margin-top: 0;
    font-size: 1.2rem;
  }
}

.intern-gallery {
  margin-top: 6vw;
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-gallery {
    margin-top: 4rem;
    flex-direction: column;
    gap: 2.4rem 0;
  }
}

.intern-gallery>li {
  width: calc((100% - 2vw) / 2);
  text-align: center;
}

@media print,
screen and (max-width: 767px) {
  .intern-gallery>li {
    width: auto;
  }
}

.intern-gallery>li .caption {
  display: block;
  margin-top: 0.5em;
  line-height: 1.4;
  text-align: center;
}

.intern-detail-voice {
  padding-top: 0;
}

.intern-voice-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-voice-list {
    flex-direction: bolumn;
    gap: 2.4rem 0;
  }
}

.intern-voice-list[data-color=green] .intern-voice-item::before,
.intern-voice-list[data-color=green] .intern-voice-item::after {
  background-image: url(../../internship/img/voice-corner_green.svg);
}

.intern-voice-item {
  width: calc((100% - 4vw) / 2);
  padding: 2.8vw;
  position: relative;
  background: #fff;
  border-radius: 24px;
}

@media print,
screen and (max-width: 767px) {
  .intern-voice-item {
    width: auto;
    padding: 2.4rem;
    background: transparent;
  }
}

.intern-voice-item::before,
.intern-voice-item::after {
  content: "";
  display: block;
  position: absolute;
  width: 3.6rem;
  height: 3.6rem;
  background: url(../../internship/img/voice-corner_yellow.svg) no-repeat center;
  background-size: contain;
}

@media print,
screen and (max-width: 767px) {

  .intern-voice-item::before,
  .intern-voice-item::after {
    width: 2.4rem;
    height: 2.4rem;
  }
}

.intern-voice-item::before {
  top: 0;
  left: 0;
}

.intern-voice-item::after {
  bottom: 0;
  right: 0;
  transform: scale(-1, -1);
}

.intern-voice-item__label {
  font-weight: 700;
  margin-bottom: 1.6rem;
}

.intern-voice-item__txt {
  line-height: 2;
}

.intern-cv-section {
  padding-top: 4rem;
  padding-bottom: 12rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-cv-section {
    padding-top: 2.4rem;
    padding-bottom: 6rem;
  }
}

@media print,
screen and (max-width: 767px) {
  .page-intern-jobs .intern-local-header__chara {
    width: 10rem;
    top: 0;
  }
}

.intern-jobs {
  padding-top: 0;
}

.intern-tab__btn {
  display: flex;
  justify-content: center;
  gap: 0 2rem;
  margin-bottom: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-tab__btn {
    gap: 0 0.8rem;
    margin-bottom: 2.4rem;
  }
}

.intern-tab__btn>li {
  flex: 1;
  max-width: 24rem;
}

.intern-tab__btn>li button {
  color: #132453;
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
  background: #fff;
  border: 2px solid #132453;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 6.4rem;
  border-radius: 5rem;
  position: relative;
  transition: all 0.3s;
}

.intern-tab__btn>li button:hover,
.intern-tab__btn>li button:focus {
  background: #E5F0FF;
}

@media print,
screen and (max-width: 767px) {
  .intern-tab__btn>li button {
    font-size: 1.6rem;
    height: 4.4rem;
  }
}

.intern-tab__btn>li button[aria-selected=true] {
  background: #132453;
  color: #fff;
}

.intern-tab__btn>li button[aria-selected=true]::after {
  content: "";
  border-style: solid;
  border-width: 1.2rem;
  border-color: #132453 transparent transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

@media print,
screen and (max-width: 767px) {
  .intern-tab__btn>li button[aria-selected=true]::after {
    border-width: 0.8rem;
  }
}

.intern-tab__content[aria-hidden=true] {
  display: none;
}

.intern-tab__content[aria-hidden=false] {
  display: block;
}

.intern-jobs-blank {
  font-size: 2.4rem;
  text-align: center;
  color: #656C7E;
  background: #F1F4F6;
  border-radius: 10px;
  padding: 4vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-jobs-blank {
    padding: 4rem 1.6rem;
    font-size: 1.6rem;
  }
}

.intern-season-period {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.4rem 4rem;
  margin-bottom: 4rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-season-period {
    flex-direction: column;
    gap: 1.2rem 0;
    margin-bottom: 2.4rem;
  }
}

.intern-season-period dl {
  display: flex;
  align-items: center;
  line-height: 1;
}

.intern-season-period dl>dt {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  border: 1px solid #132453;
  padding: 0.2em 0.5em;
  min-width: 6em;
  margin-right: 1rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-season-period dl>dt {
    font-size: 1.1rem;
    padding: 0.4em;
    min-width: initial;
    width: 7.2em;
  }
}

.intern-season-period dl>dd {
  font-size: 2.4rem;
  font-weight: 700;
}

@media print,
screen and (max-width: 767px) {
  .intern-season-period dl>dd {
    flex: 1;
    font-size: 1.8rem;
  }
}

.intern-season-period dl>dd small {
  font-size: 1.6rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-season-period dl>dd small {
    font-size: 1.2rem;
  }
}

.intern-area-note {
  margin-bottom: 0.4em;
}

.intern-area-table {
  border-collapse: separate;
  width: 100%;
  border: 2px solid #132453;
  border-radius: 10px;
  overflow: hidden;
}

.intern-area-table th {
  background: #E1F8FF;
  font-weight: 700;
  text-align: left;
  padding: 1em;
  border-bottom: 1px solid #132453;
  /* width: 28rem; */
}

@media print,
screen and (max-width: 767px) {
  .intern-area-table th {
    display: block;
    width: 100%;
    border-bottom: none;
    padding: 0.5em 1em;
    line-height: 1.4;
  }
}

.intern-area-table td {
  padding: 1em;
  border-bottom: 1px solid #132453;
}

@media print,
screen and (max-width: 767px) {
  .intern-area-table td {
    display: block;
    width: 100%;
  }
}

.intern-area-table tr:last-child th,
.intern-area-table tr:last-child td {
  border-bottom: none;
}

.intern-area-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-area-btns {
    gap: 0.8rem;
  }
}

.intern-area-detail {
  margin-top: 6.4rem;
}

@media print,
screen and (max-width: 767px) {
  .intern-area-detail {
    margin-top: 4rem;
  }
}

.intern-area-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
}

@media print,
screen and (max-width: 767px) {
  .intern-area-list {
    flex-direction: column;
    gap: 4rem 0;
  }
}

.intern-area-list>li {
  width: calc((100% - 4vw) / 3);
  line-height: 1.4;
}

@media print,
screen and (max-width: 767px) {
  .intern-area-list>li {
    width: 100%;
  }
}

.intern-area-list>li .title {
  font-size: 2.2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
}

@media print,
screen and (max-width: 767px) {
  .intern-area-list>li .title {
    font-size: 1.6rem;
  }
}

.intern-area-list>li .title:before {
  content: "";
  background: #FFD816;
  border-radius: 50%;
  width: 0.8em;
  height: 0.8em;
  aspect-ratio: 1/1;
  margin-right: 0.2em;
}

.intern-area-list>li .address {
  margin-top: 0.5em;
}

.intern-area-list>li .link {
  margin-top: 1em;
}

.intern-area-list>li .link>a {
  font-weight: 700;
}

/*===================================================

 data属性のツールチップ

===================================================*/
[data-tooltip] {
  position: relative;
}

[data-tooltip]::before,
[data-tooltip]::after {
  position: absolute;
  opacity: 0;
  transition: all .3s ease 0s;
}

[data-tooltip]::before {
  content: "";
  border-style: solid;
  border-color: #132453 transparent transparent;
  border-width: .6rem .6rem 0;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
}

[data-tooltip]::after {
  content: attr(data-tooltip);
  display: block;
  padding: .6rem .8rem;
  background: #132453;
  color: #fff;
  font-size: 1.1rem;
  line-height: 1;
  border-radius: 4px;
  bottom: calc(100% + .6rem);
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
}

[data-tooltip]:hover::before {
  bottom: calc(100% + 1rem);
  opacity: 1;
}

[data-tooltip]:hover::after {
  bottom: calc(100% + 1.6rem);
  opacity: 1;
}

/*===================================================

 実績紹介

===================================================*/
.achievements-section {
  position: relative;
  padding-bottom: 0;
}

.achievements-section .circle-01 {
  top: 10%;
  left: -1vw;
}

.achievements-section .circle-02 {
  top: 30%;
  right: -10vw;
}

.achievements-section .circle-03 {
  top: 50%;
  left: 3vw;
}

.achievements-section .circle-04 {
  top: 60%;
  right: -2vw;
}

@media print,
screen and (max-width: 767px) {
  .achievements-section .circle-01 {
    top: 10%;
    left: auto;
    right: -1vw;
  }

  .achievements-section .circle-02 {
    top: 35%;
    right: -10vw;
  }

  .achievements-section .circle-03 {
    top: 55%;
    left: auto;
    right: -10vw;
  }

  .achievements-section .circle-04 {
    top: 80%;
    right: -2vw;
  }
}

/* タブ */
.achievements-tab {
  margin-bottom: 10rem;
  position: relative;
  z-index: 1;
}

.achievements-tab__list {
  display: flex;
  justify-content: center;
  gap: 0 2rem;
}

.achievements-tab__list>li {
  width: 24rem;
}

.achievements-tab__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 6.4rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  color: #132453;
  background: #fff;
  border: 3px solid #0056B2;
  border-radius: 6px;
  position: relative;
}

.achievements-tab__btn::before {
  content: "";
  border-style: solid;
  border-color: #0056B2 transparent transparent transparent;
  border-width: 1.4rem 1.2rem 0;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
}

@media print,
screen and (max-width: 767px) {
  .achievements-tab {
    margin-bottom: 4.8rem;
  }

  .achievements-tab__list {
    gap: 0 .8rem;
  }

  .achievements-tab__list>li {
    width: auto;
    flex: 1;
  }

  .achievements-tab__btn {
    width: 100%;
    height: 4.4rem;
    font-size: 1.2rem;
    border-width: 2px;
    border-radius: 4px;
  }

  .achievements-tab__btn::before {
    border-width: .8rem .7rem 0;
  }
}

.achievements-tab__btn.is-active {
  color: #fff;
  border: none;
}

.achievements-tab__btn.is-active::before {
  opacity: 1;
}

.achievements-tab__btn.is-active.all {
  background: #0056B2;
}

.achievements-tab__btn.insight {
  border-color: #F27D78;
}

.achievements-tab__btn.insight::before {
  border-top-color: #F27D78;
}

.achievements-tab__btn.is-active.insight {
  background: #F27D78;
}

.achievements-tab__btn.style {
  border-color: #1FB9C5;
}

.achievements-tab__btn.style::before {
  border-top-color: #1FB9C5;
}

.achievements-tab__btn.is-active.style {
  background: #1FB9C5;
}

/* 一覧 */
.achievements-list {}

.achievements-list__item {
  margin-bottom: 15rem;
  position: relative;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  opacity: 1;
  visibility: visible;
}

.achievements-list__item.insight::before,
.achievements-list__item.style::before {
  content: "";
  display: block;
  border-radius: 50%;
  background: #FFB2B7;
  border-radius: 50%;
  filter: blur(2.5rem);
  opacity: .3;
  width: 40rem;
  height: 40rem;
  position: absolute;
  top: -15rem;
  left: -15rem;
  border-radius: 50% 100% 76% 70%/60% 92% 53% 49%;
  animation: achievementsCircle 10s linear infinite;
  z-index: 0;
}

.achievements-list__item.style::before {
  background: #6DEEDC;
}

.achievements-list__item:nth-child(2n)::before {
  animation-delay: 5s;
}

@keyframes achievementsCircle {
  0% {
    opacity: .3;
    transform: scale(1.0);
    border-radius: 50% 100% 76% 70%/60% 92% 53% 49%;
  }

  50% {
    opacity: .4;
    transform: scale(1.2) translate(40%, 5%);
    border-radius: 63% 91% 50% 96%/71% 65% 83% 84%;
  }

  100% {
    opacity: .3;
    transform: scale(1.0);
    border-radius: 50% 100% 76% 70%/60% 92% 53% 49%;
  }
}

@media print,
screen and (max-width: 767px) {
  .achievements-list__item {
    margin-bottom: 8rem;
  }

  .achievements-list__item.insight::before,
  .achievements-list__item.style::before {
    filter: blur(1rem);
    width: 24rem;
    height: 24rem;
    top: -6rem;
    left: -6rem;
  }
}

.achievements-list__item.is-hide {
  opacity: 0;
  visibility: hidden;
  height: 0;
  margin: 0;
  display: block !important;
}

/* カード */
.achievements-card {
  position: relative;
  z-index: 1;
}

.achievements-card__row {
  display: flex;
  gap: 0 8rem;
}

.achievements-card__col-img {
  width: 35%;
}

.achievements-card__col-desc {
  flex: 1;
}

@media print,
screen and (max-width: 767px) {
  .achievements-card__row {
    flex-direction: column;
    gap: 0;
  }

  .achievements-card__col-img {
    width: 100%;
  }

  .achievements-card__col-desc {
    flex: auto;
  }
}

/* カード＞画像まわり */
.achievements-card .achievements-img-wrap {
  position: relative;
}

.achievements-card .achievements-img-wrap .tag {
  position: absolute;
  top: 0;
  left: 0;
  background: #132453;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  padding: .8rem 1rem;
  border-left: 1.6rem solid;
}

.achievements-list__item.insight .achievements-img-wrap .tag {
  border-left-color: #F27D78;
}

.achievements-list__item.style .achievements-img-wrap .tag {
  border-left-color: #1FB9C5;
}

@media print,
screen and (max-width: 767px) {
  .achievements-card .achievements-img-wrap .tag {
    font-size: 1.1rem;
    border-left-width: 1.3rem;
  }
}

/* カード＞メンバー */
.achievements-card .achievements-member {
  margin-top: 2.4rem;
}

.achievements-card .achievements-member__row {
  display: flex;
  align-items: center;
  margin-bottom: 1.6rem;
}

.achievements-card .achievements-member__row .member-label {
  width: 6em;
  font-size: 1.4rem;
  font-weight: 700;
}

.achievements-card .achievements-member__row .achievements-member-list {
  display: flex;
}

.achievements-card .achievements-member__row .achievements-member-list>li a {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 3.8rem;
}

.achievements-card .achievements-member__row .achievements-member-list>li span {
  font-size: 3.8rem;
}

@media print,
screen and (max-width: 767px) {
  .achievements-card .achievements-member {
    margin-top: 1.6rem;
  }

  .achievements-card .achievements-member__row {
    margin-bottom: .8rem;
  }

  .achievements-card .achievements-member__row .member-label {
    font-size: 1.1rem;
    width: 5em;
  }

  .achievements-card .achievements-member__row .achievements-member-list>li a {
    width: 1.6rem;
    height: 3rem;
    pointer-events: none;
  }

  .achievements-card .achievements-member__row .achievements-member-list>li span {
    font-size: 3rem;
  }

  [data-sp-modal-target] {
    cursor: pointer;
  }
}

/* メンバー（共通） */
.achievements-member-list>li span::before {
  content: "\e91f";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
}

.achievements-member-list>li span.member-01 {
  color: #034184;
}

/*国土基盤分野*/
.achievements-member-list>li span.member-02 {
  color: #0F6ED5;
}

/*交通基盤分野*/
.achievements-member-list>li span.member-03 {
  color: #2DBDC1;
}

/*都市・地域開発分野*/
.achievements-member-list>li span.member-04 {
  color: #0D9F77;
}

/*環境・エネルギー分野*/
.achievements-member-list>li span.member-05 {
  color: #249CEC;
}

/*上下水道・資源循環分野*/
.achievements-member-list>li span.member-06 {
  color: #AA933A;
}

/*建築分野*/
.achievements-member-list>li span.member-07 {
  color: #8E5924;
}

/*地盤技術分野*/
.achievements-member-list>li span.member-08 {
  color: #DB55AE;
}

/*機械・電気分野*/
.achievements-member-list>li span.member-09 {
  color: #1E8400;
}

/*公民連携分野*/
.achievements-member-list>li span.member-10 {
  color: #5151CF;
}

/*デジタルサービス事業分野*/
.achievements-member-list>li span.member-11 {
  color: #753DC5;
}

/**/
.achievements-member-list>li span.member-12 {
  color: #DB4231;
}

/*営業分野*/
.achievements-member-list>li span.member-13 {
  color: #DF9603;
}

/*事務分野*/
.achievements-member-list>li span.member-14 {
  color: #0056B2;
}

/*防衛*/
.achievements-member-list>li span.member-15 {
  color: #DF8E69;
}

/*PMCM*/
/* カード＞説明 */
.achievements-card .achievements-copy {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: .8rem;
}

.achievements-card .achievements-copy .line {
  background: linear-gradient(transparent 60%, #FFD8D6 60%);
}

.achievements-list__item.insight .achievements-card .achievements-copy .line {
  background: linear-gradient(transparent 60%, #FFD8D6 60%);
}

.achievements-list__item.style .achievements-card .achievements-copy .line {
  background: linear-gradient(transparent 60%, #B5FFED 60%);
}

.achievements-card .achievements-ttl {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
}

.achievements-card .achievements-sub-ttl {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: .8rem;
}

@media print,
screen and (max-width: 767px) {
  .achievements-card .achievements-copy {
    font-size: 1.4rem;
  }

  .achievements-card .achievements-ttl {
    font-size: 2rem;
  }

  .achievements-card .achievements-sub-ttl {
    font-size: 1.4rem;
  }
}

.achievements-card .achievements-data {
  margin-top: 2.4rem;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.6rem;
  line-height: 1.4;
  border-top: 1px solid #D6DBDC;
}

.achievements-card .achievements-data>dt {
  width: 10em;
  border-bottom: 1px solid #D6DBDC;
  padding: 1rem 1em 1rem 0;
  position: relative;
  font-weight: 700;
}

.achievements-card .achievements-data>dt::after {
  content: "";
  width: 1px;
  height: calc(100% - 2rem);
  background: #D6DBDC;
  position: absolute;
  top: 1rem;
  right: 0;
}

.achievements-card .achievements-data>dd {
  width: calc(100% - 10em);
  border-bottom: 1px solid #D6DBDC;
  padding: 1rem 0 1rem 1em;
}

@media print,
screen and (max-width: 767px) {
  .achievements-card .achievements-data {
    margin-top: 1.6rem;
    font-size: 1.2rem;
  }

  .achievements-card .achievements-data>dt {
    padding: .8rem 1em .8rem 0;
  }

  .achievements-card .achievements-data>dt::after {
    height: calc(100% - 1.6rem);
    top: .8rem;
  }

  .achievements-card .achievements-data>dd {
    width: calc(100% - 10em);
    padding: .8rem 0 .8rem 1em;
  }
}

.achievements-card .achievements-txt-wrap {
  margin-top: 3.2rem;
}

.achievements-card .achievements-txt-wrap:not(.is-show) .achievements-txt {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.achievements-card .achievements-txt-more-btn {
  display: flex;
  justify-content: center;
  gap: 0 .2em;
  width: 100%;
  padding: 1rem;
  font-size: 1.5rem;
  line-height: 1.4;
  color: #485578;
  outline: none;
}

.achievements-card .achievements-txt-more-btn::after {
  content: "\e919";
  font-family: "pckk" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: flex;
  align-items: center;
  font-size: 1.8rem;
}

.achievements-card .achievements-txt-more-btn:hover {
  opacity: .85;
}

.achievements-card .achievements-txt-wrap.is-show .achievements-txt-more-btn {
  display: none;
}

@media print,
screen and (max-width: 767px) {
  .achievements-card .achievements-txt-wrap {
    margin-top: 1.6rem;
  }

  .achievements-card .achievements-txt-wrap:not(.is-show) .achievements-txt {
    max-height: 10rem;
  }

  .achievements-card .achievements-txt-wrap:not(.is-show) .achievements-txt::after {
    height: 5rem;
  }

  .achievements-card .achievements-txt-more-btn {
    font-size: 1.2rem;
  }

  .achievements-card .achievements-txt-more-btn::after {
    font-size: 1.4rem;
  }
}

/* カード＞ボタン */
.achievements-card__action {
  margin-top: 4rem;
}

.achievements-action-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .8rem 2.4rem;
}

.achievements-action-btn {
  position: relative;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0 2rem;
  height: 6.4rem;
  border-radius: 4rem;
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .16);
  padding: 1.6rem 4.8rem 1.6rem 4rem;
  text-decoration: none;
  color: #132453;
  transition: all .4s;
}

.achievements-action-btn:hover {
  box-shadow: 0 6px 16px 0 rgba(0, 0, 0, .24);
}

.achievements-action-btn .btn-txt {
  font-size: 1.6rem;
  font-weight: 700;
}

.achievements-action-btn .btn-logo {
  display: flex;
  align-items: center;
}

.achievements-action-btn.insight .btn-logo img,
.achievements-action-btn.style .btn-logo img {
  width: auto;
  height: 1.6rem;
}

.achievements-action-btn.youtube .btn-logo img {
  width: auto;
  height: 2.4rem;
}

.achievements-action-btn.link-blank::after {
  position: absolute;
  right: 1.6rem;
  top: 50%;
  margin-top: -.5em;
  color: #132453;
}

@media print,
screen and (max-width: 767px) {
  .achievements-card__action {
    margin-top: 2rem;
  }

  .achievements-action-list {
    flex-direction: column;
    align-items: normal;
    gap: .8rem 2.4rem;
  }

  .achievements-action-btn {
    width: 100%;
    display: flex;
    gap: 0 1.6rem;
    height: 4rem;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, .16);
    padding: 1rem 3.2rem 1rem 2.4rem;
  }

  .achievements-action-btn .btn-txt {
    font-size: 1.2rem;
  }

  .achievements-action-btn.insight .btn-logo img,
  .achievements-action-btn.style .btn-logo img {
    height: 1.2rem;
  }

  .achievements-action-btn.youtube .btn-logo img {
    height: 1.6rem;
  }
}

/* アイコン説明モーダル */
.modal-member-detail .modal-btn-close {
  width: 6rem;
}

.modal-member-detail .modal-content__header {
  padding: 2.4rem;
}

.modal-member-detail .modal-content__body {
  padding: 0 1.6rem 4rem;
}

.modal-member-detail .modal-ttl {
  text-align: left;
  font-size: 1.4rem;
}

.modal-member-detail .achievements-member-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .4rem.8rem;
  font-size: 1.2rem;
  line-height: 1.2;
}

.modal-member-detail .achievements-member-list>li span {
  font-size: 3rem;
}

.modal-member-detail .achievements-member-list>li a {
  display: flex;
  align-items: center;
  color: #132453;
  text-decoration: none;
}