:root {
  --color-brand: #2856a0;
  --color-white: #fff;
  --color-black: #231815;
  --color-gray: #b3b2b1;
  --color-light-gray: #dedede;
  --color-pale-blue-gray: #e6edf2;
  --color-silver-gray: #cbcaca;
  --color-red: #e03636;
  --color-coral-red: #ff5e5e;
  --color-tomato-red: #ff534a;
  --color-yellow: #ffd34d;
  --color-mustard-yellow: #b59637;
  --color-blue: #136dd9;
  --color-dark-blue: #234b7e;
  --color-deep-navy: #063e69;
  --color-light-blue: #80b8ff;
  --color-off-white-blue: #f3f6fa;
  --color-pale-sky-blue: #ebf3fc;
  --color-primary-blue: #4796db;
  --color-royal-blue: #346bb0;
  --color-navy: #1b396b;
  --font-barlow: "Barlow", sans-serif;
  --font-exsans: "Expletus Sans", sans-serif;
  --font-outfit: "Outfit", sans-serif;
  --font-noto: "Noto Sans JP", serif;
  --rem: calc(1rem / 16);
  --fs-body: calc(16 * var(--rem));
  --gradation: linear-gradient(90deg, var(--color-white), #c4d9f5);
  --url-arrow: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2221.42%22%20viewBox%3D%220%200%2010%2021.42%22%3E%3Cpolygon%20fill%3D%22%232856a0%22%20points%3D%2210%2010.71%200%200%205.62%2010.71%200%2021.42%2010%2010.71%22%2F%3E%3C%2Fsvg%3E');
  --url-arrow-white: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2221.42%22%20viewBox%3D%220%200%2010%2021.42%22%3E%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2210%2010.71%200%200%205.62%2010.71%200%2021.42%2010%2010.71%22%2F%3E%3C%2Fsvg%3E');
  --url-arrow-navy: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2221.42%22%20viewBox%3D%220%200%2010%2021.42%22%3E%3Cpolygon%20fill%3D%22%23063e69%22%20points%3D%2210%2010.71%200%200%205.62%2010.71%200%2021.42%2010%2010.71%22%2F%3E%3C%2Fsvg%3E');
  --url-arrow-rose: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2221.42%22%20viewBox%3D%220%200%2010%2021.42%22%3E%3Cpolygon%20fill%3D%22%23d25676%22%20points%3D%2210%2010.71%200%200%205.62%2010.71%200%2021.42%2010%2010.71%22%2F%3E%3C%2Fsvg%3E');
  --url-confetti: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2231.95%22%20height%3D%2229.4%22%20viewBox%3D%220%200%2031.95%2029.4%22%3E%3Cpolygon%20fill%3D%22%232856a0%22%20points%3D%220%2029.4%2022.59%2017.65%2031.95%200%200%2029.4%22%2F%3E%3C%2Fsvg%3E');
  --url-confetti-white: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222.06%22%20height%3D%2223.51%22%20viewBox%3D%220%200%2022.06%2023.51%22%3E%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%220%2023.51%209.04%2023.51%2022.06%200%208.82%206.89%200%2023.51%22%2F%3E%3C%2Fsvg%3E');
  --url-confetti-gray: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222.06%22%20height%3D%2223.51%22%20viewBox%3D%220%200%2022.06%2023.51%22%3E%3Cpolygon%20fill%3D%22%23c0bfbe%22%20points%3D%220%2023.51%209.04%2023.51%2022.06%200%208.82%206.89%200%2023.51%22%2F%3E%3C%2Fsvg%3E');
  --url-square: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221000%22%20height%3D%221000%22%20viewBox%3D%220%200%201000%201000%22%3E%3Crect%20width%3D%221000%22%20height%3D%221000%22%2F%3E%3C%2Fsvg%3E');
  --url-wave: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221400%22%20height%3D%22186%22%20viewBox%3D%220%200%201400%20186%22%3E%3Cpath%20d%3D%22M0%2C186S314.92%2C5.38%2C718.56%2C90.67C1122.2%2C175.97%2C1400%2C.27%2C1400%2C.27v-.27H0v186Z%22%2F%3E%3C%2Fsvg%3E');
  --url-wave-mirrored: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221400%22%20height%3D%22186%22%20viewBox%3D%220%200%201400%20186%22%3E%3Cpath%20d%3D%22M1400%2C186S1085.08%2C5.38%2C681.44%2C90.67C277.8%2C175.97%2C0%2C.27%2C0%2C.27v-.27h1400v186Z%22%2F%3E%3C%2Fsvg%3E');
  --url-wave-ud: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221400%22%20height%3D%22185.73%22%20viewBox%3D%220%200%201400%20185.73%22%3E%3Cpath%20d%3D%22M681.44%2C90.4C228.42%2C146.51%2C0%2C0%2C0%2C0v185.73h1400s-265.54-151.44-718.56-95.32Z%22%2F%3E%3C%2Fsvg%3E');
  --url-wave-ud-mirrored: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221400%22%20height%3D%22185.73%22%20viewBox%3D%220%200%201400%20185.73%22%3E%3Cpath%20d%3D%22M1400%2C0s-228.42%2C146.51-681.44%2C90.4C265.54%2C34.29%2C0%2C185.73%2C0%2C185.73h1400V0Z%22%2F%3E%3C%2Fsvg%3E');
  --effect-bg: background-color .3s ease;
  --effect-color: color .3s ease;
  --effect-opacity: opacity .3s ease;
  --effect-transform: transform .3s ease;
  --effect-width: width .3s ease;
  --layer-middle: 0;
  --layer-upper: 1;
  --layer-high: 99;
  --layer-top: 100;
  --layer-lower: -1;
}
@media screen and (max-width: 767px) {
  :root {
    --fs-body: calc(14 * var(--rem));
  }
}

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

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
legend,
figure,
figcaption,
button,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

/* Elements */
body {
  background-color: var(--color-white);
  color: var(--color-black);
  font-family: var(--font-noto);
  font-style: normal;
  font-size: var(--fs-body);
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
  line-height: 1.75;
  letter-spacing: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
body.is-loading {
  overflow: hidden;
}
@media screen and (max-width: 1000px) {
  body.is-passive {
    overflow: hidden;
  }
}

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

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

li {
  list-style: none;
}

small,
em {
  font-style: normal;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

summary {
  list-style: none;
  cursor: pointer;
}
summary::-webkit-details-marker {
  display: none;
}

/* Objects */
.o-section {
  position: relative;
  padding-block: calc(100 * var(--rem));
}
@media screen and (max-width: 767px) {
  .o-section {
    padding-block: calc(50 * var(--rem));
  }
}

.o-section--flush {
  padding-block: 0;
}

.o-section--flush-top {
  padding-top: 0;
}

@media screen and (min-width: 768px) {
  .o-section--flush-top-pc {
    padding-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .o-section--flush-top-sp {
    padding-top: 0;
  }
}

.o-section--flush-btm {
  padding-bottom: 0;
}

@media screen and (min-width: 768px) {
  .o-section--flush-btm-pc {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .o-section--flush-btm-sp {
    padding-bottom: 0;
  }
}

.o-section--bg {
  background-color: var(--color-brand);
}

.o-section--bg-blue {
  background-color: var(--color-blue);
}

.o-section--bg-sky-blue {
  background-color: var(--color-primary-blue);
}

.o-section--bg-pale-sky-blue {
  background-color: var(--color-pale-sky-blue);
}

.o-section--bg-red {
  background-color: var(--color-red);
}

.o-section--bg-yellow {
  background-color: var(--color-yellow);
}

.o-section--bg-navy {
  background-color: var(--color-dark-blue);
}

.o-section--bg-navy-2 {
  background-color: var(--color-navy);
}

.o-section--bg-grad {
  background-image: var(--gradation);
}

.o-section--bg-paper,
.o-section--bg-blue-paper {
  background: linear-gradient(0deg, transparent calc(100% - 1px), rgba(35, 24, 21, .1) calc(100% - 1px)) repeat center / 28px 28px, linear-gradient(90deg, transparent calc(100% - 1px), rgba(35, 24, 21, .1) calc(100% - 1px)) repeat center / 28px 28px;
}

.o-section--bg-blue-paper {
  background-color: #f3f7fc;
}

.o-section--fw {
  z-index: var(--layer-middle);
}

.o-section--fw::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/bg_flowing-water_01.png) no-repeat center top / 100% auto;
  background-image: image-set(url(../img/bg_flowing-water_01.png) 1x, url(../img/bg_flowing-water_01@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/bg_flowing-water_01.png) 1x, url(../img/bg_flowing-water_01@2x.png) 2x);
  pointer-events: none;
  z-index: var(--layer-lower);
}
@media screen and (max-width: 767px) {
  .o-section--fw::after {
    background-image: url(../img/bg_flowing-water_01_sp.png);
    background-image: image-set(url(../img/bg_flowing-water_01_sp.png) 1x, url(../img/bg_flowing-water_01_sp@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/bg_flowing-water_01_sp.png) 1x, url(../img/bg_flowing-water_01_sp@2x.png) 2x);
  }
}

.o-section--fw-2::after {
  background-image: url(../img/bg_flowing-water_02.png);
  background-image: image-set(url(../img/bg_flowing-water_02.png) 1x, url(../img/bg_flowing-water_02@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/bg_flowing-water_02.png) 1x, url(../img/bg_flowing-water_02@2x.png) 2x);
}
@media screen and (max-width: 767px) {
  .o-section--fw-2::after {
    background-image: url(../img/bg_flowing-water_02_sp.png);
    background-image: image-set(url(../img/bg_flowing-water_02_sp.png) 1x, url(../img/bg_flowing-water_02_sp@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/bg_flowing-water_02_sp.png) 1x, url(../img/bg_flowing-water_02_sp@2x.png) 2x);
  }
}

.o-section--fw-3-1::after {
  background-image: url(../img/bg_flowing-water_03-1.png);
  background-image: image-set(url(../img/bg_flowing-water_03-1.png) 1x, url(../img/bg_flowing-water_03-1@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/bg_flowing-water_03-1.png) 1x, url(../img/bg_flowing-water_03-1@2x.png) 2x);
  background-position: center bottom;
}
@media screen and (max-width: 767px) {
  .o-section--fw-3-1::after {
    background-image: url(../img/bg_flowing-water_03-1_sp.png);
    background-image: image-set(url(../img/bg_flowing-water_03-1_sp.png) 1x, url(../img/bg_flowing-water_03-1_sp@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/bg_flowing-water_03-1_sp.png) 1x, url(../img/bg_flowing-water_03-1_sp@2x.png) 2x);
  }
}

.o-section--fw-3-2::after {
  background-image: url(../img/bg_flowing-water_03-2.png);
  background-image: image-set(url(../img/bg_flowing-water_03-2.png) 1x, url(../img/bg_flowing-water_03-2@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/bg_flowing-water_03-2.png) 1x, url(../img/bg_flowing-water_03-2@2x.png) 2x);
}
@media screen and (max-width: 767px) {
  .o-section--fw-3-2::after {
    background-image: url(../img/bg_flowing-water_03-2_sp.png);
    background-image: image-set(url(../img/bg_flowing-water_03-2_sp.png) 1x, url(../img/bg_flowing-water_03-2_sp@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/bg_flowing-water_03-2_sp.png) 1x, url(../img/bg_flowing-water_03-2_sp@2x.png) 2x);
  }
}

.o-section--of-hidden {
  overflow: hidden;
}

.o-container {
  margin-inline: auto;
  padding-inline: 20px;
  width: min(100%, 1040px);
}

.o-container--w850 {
  width: min(100%, 890px);
}

.o-container--w900 {
  width: min(100%, 940px);
}

.o-container--w950 {
  width: min(100%, 990px);
}

.o-container--w1100 {
  width: min(100%, 1140px);
}

.o-container--w1200 {
  width: min(100%, 1240px);
}

.o-container--h-full {
  height: 100%;
}

.o-stack {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .o-stack {
    gap: calc(10 * var(--rem));
  }
}

.o-stack--center {
  align-items: center;
}

.o-media {
  position: relative;
}

.o-media__inner {
  display: flex;
}
@media screen and (max-width: 767px) {
  .o-media__inner {
    flex-direction: column;
    gap: calc(35 * var(--rem));
  }
}
@media screen and (min-width: 768px) {
  .o-media__inner {
    min-height: 26.357vw;
  }
}

.o-media__inner--reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .o-media__inner--reverse,
  .o-media__inner--reverse-sp {
    flex-direction: column-reverse;
  }
}

@media screen and (max-width: 767px) {
  .o-media__inner--gap20-sp {
    gap: calc(20 * var(--rem));
  }
}

.o-media__inner--min-h-auto {
  min-height: auto;
}

.o-media__body,
.o-media__figure {
  flex-basis: 50%;
}
@media screen and (max-width: 767px) {
  .o-media__body,
  .o-media__figure {
    flex-basis: auto;
  }
}

.o-media__body {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--rem));
  padding-top: calc(35 * var(--rem));
}
@media screen and (max-width: 767px) {
  .o-media__body {
    align-items: center;
    padding-top: calc(20 * var(--rem));
  }
}

.o-media__body--pt0 {
  padding-top: 0;
}

@media screen and (min-width: 768px) {
  .o-media__body--pt10-pc {
    padding-top: calc(10 * var(--rem));
  }
}

@media screen and (min-width: 768px) {
  .o-media__body--pt20-pc {
    padding-top: calc(20 * var(--rem));
  }
}

@media screen and (max-width: 767px) {
  .o-media__body--gap10-sp {
    gap: calc(10 * var(--rem));
  }
}

@media screen and (min-width: 768px) {
  .o-media__body--gap15-pc {
    gap: calc(15 * var(--rem));
  }

  .o-media__body--gap25-pc {
    gap: calc(25 * var(--rem));
  }
}

@media screen and (min-width: 768px) {
  .o-media__body--w45pct-pc {
    flex-basis: 45%;
  }
  .o-media__body--w56pct-pc {
    flex-basis: 56%;
  }
}

@media screen and (min-width: 768px) {
  .o-media__figure--w55pct-pc {
    flex-basis: 55%;
  }
  .o-media__figure--w44pct-pc {
    flex-basis: 44%;
  }
}

.o-media__figure--protrude {
  flex-basis: auto;
  position: absolute;
  top: 0;
  right: 0;
  width: 46.643%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .o-media__figure--protrude {
    position: static;
    width: 100%;
    height: auto;
    transform: translateX(20px);
  }
}

@media screen and (min-width: 768px) {
  .o-media__figure--protrude-half {
    width: 50%;
  }
}

@media screen and (min-width: 768px) {
  .o-media__figure--protrude-w682 {
    width: 48.714%;
  }
}

@media screen and (max-width: 767px) {
  .o-media__figure--protrude-center-sp {
    transform: translateX(0);
  }
}

@media screen and (max-width: 767px) {
  .o-media__figure--protrude-full-sp {
    transform: translateX(-20px);
    width: calc(100% + 40px);
  }
}

/* Components */
.c-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100dvh;
  background-color: var(--color-white);
  transition: visibility .3s ease-out, opacity .3s ease-out;
  z-index: var(--layer-top);
}

.c-loading.is-loaded {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.c-loading__spinner {
  animation: logoFade 2s ease-in-out infinite;
}

@keyframes logoFade {
  0%, 100% { opacity: 0.1; }
  50% { opacity: 1; }
}

.c-mask {
  mask-image: var(--url-wave), var(--url-square);
  mask-position: 0% -1px, 0% 0%;
  mask-size: 100%, cover;
  mask-repeat: no-repeat, no-repeat;
  mask-composite: exclude;
  width: 100%;
  height: 100%;
}

.c-mask--btm {
  mask-image: var(--url-wave-ud), var(--url-square);
  mask-position: 0% calc(100% + 1px), 0% 0%;
}

.c-mask--btm-mirrored {
  mask-image: var(--url-wave-ud-mirrored), var(--url-square);
  mask-position: 0% calc(100% + 1px), 0% 0%;
}

.c-full-image {
  width: 100%;
}

.c-full-image--cover {
  height: 100%;
  object-fit: cover;
}

.c-full-image--cover-top {
  object-position: top;
}

.c-stretch-image {
  height: 100%;
}

.c-arrow {
  display: block;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  background: var(--color-white) var(--url-arrow) no-repeat center / 25% auto;
}

.c-arrow--brd {
  border: 1px solid var(--color-brand);
}

.c-hero {
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-hero {
    display: flex;
    flex-direction: column;
    gap: calc(10 * var(--rem));
  }
}

.is-recruit .c-hero {
  background-color: var(--color-pale-sky-blue);
}

.c-hero__container {
  position: relative;
  margin-inline: auto;
  padding-inline: 20px;
  width: min(100%, 1170px);
}

.c-hero__title {
  padding-block: calc(185 * var(--rem)) calc(100 * var(--rem));
  background: url(../img/bg_title.png) no-repeat center / cover, var(--gradation) no-repeat center / 100%;
  background-image: image-set(url(../img/bg_title.png) 1x, url(../img/bg_title@2x.png) 2x), var(--gradation);
  background-image: -webkit-image-set(url(../img/bg_title.png) 1x, url(../img/bg_title@2x.png) 2x), var(--gradation);
}
@media screen and (max-width: 767px) {
  .c-hero__title {
    padding-block: calc(75 * var(--rem)) calc(50 * var(--rem));
    background-image: url(../img/bg_title_sp.png), var(--gradation);
    background-image: image-set(url(../img/bg_title_sp.png) 1x, url(../img/bg_title_sp@2x.png) 2x), var(--gradation);
    background-image: -webkit-image-set(url(../img/bg_title_sp.png) 1x, url(../img/bg_title_sp@2x.png) 2x), var(--gradation);
  }
}

.is-recruit .c-hero__title {
  padding-block: calc(200 * var(--rem)) calc(85 * var(--rem));
  background-image: none;
}
@media screen and (max-width: 767px) {
  .is-recruit .c-hero__title {
    padding-block: calc(100 * var(--rem)) calc(25 * var(--rem));
    background-image: none;
  }
}

.c-hero__nav {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-hero__nav {
    position: static;
  }
}

.c-title {
  color: var(--color-brand);
  font-size:calc(40 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .c-title {
    font-size: calc(20 * var(--rem));
  }
}

.c-title--center {
  text-align: center;
}

.c-title--white {
  color: var(--color-white);
}

.c-title--ls200 {
  letter-spacing: .2em;
}

@media screen and (min-width: 768px) {
  .c-title--flex-pc {
    display: flex;
    align-items: center;
    gap: calc(25 * var(--rem));
  }
}

.c-title__eng {
  display: block;
  color: var(--color-primary-blue);
  font-family: var(--font-outfit);
  font-size: calc(70 * var(--rem));
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .c-title__eng {
    font-size: calc(38 * var(--rem));
  }
}

.c-title__eng--large {
  font-size: calc(86 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-title__eng--large {
    font-size: calc(38 * var(--rem));
  }
}

.c-title__caption {
  display: block;
  color: var(--color-black);
  font-size: calc(20 * var(--rem));
  font-weight: 500;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .c-title__caption {
    font-size: calc(12 * var(--rem));
  }
}

.c-title--white .c-title__eng,
.c-title--white .c-title__caption {
  color: inherit;
}

.c-breadcrumb {
  display: flex;
  gap: 1em;
  padding: calc(10 * var(--rem)) calc(45 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    padding-block: 0;
    padding-inline: calc(20 * var(--rem));
  }
}

.is-recruit .c-breadcrumb {
  padding-inline: 20px;
  padding-bottom: calc(25 * var(--rem));
}
@media screen and (max-width: 767px) {
  .is-recruit .c-breadcrumb {
    padding-inline: 0;
  }
}

.c-breadcrumb__item {
  position: relative;
  font-size: calc(11 * var(--rem));
  letter-spacing: .1em;
}
.c-breadcrumb__item:not(:first-of-type)::before {
  content: "";
  position: absolute;
  top: calc(50% + .25em);
  right: calc(100% + .5em);
  width: calc(3 * var(--rem));
  height: calc(1 * var(--rem));
  background-color: var(--color-black);
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__item {
    font-size: calc(10 * var(--rem));
  }
}

.c-breadcrumb__link {
  text-decoration: underline;
}

.c-anchor {
  padding-block: calc(100 * var(--rem)) calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-anchor {
    padding-block: calc(40 * var(--rem));
  }
}

.c-anchor__list {
  display: flex;
  gap: calc(30 * var(--rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-anchor__list {
    flex-wrap: wrap;
    gap: calc(20 * var(--rem)) calc(25 * var(--rem));
  }
}

.c-anchor__item {
  flex: 1;
  position: relative;
  min-height: calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-anchor__item {
    flex: 0;
    flex-basis: calc((100% - 50 * var(--rem)) / 3);
    min-height: calc(25 * var(--rem));
  }
}

@media screen and (max-width: 767px) {
  .c-anchor__item--half-sp {
    flex-basis: calc(50% - 12.5 * var(--rem));
  }
}

.c-anchor__link {
  display: flex;
  align-items: flex-end;
  position: relative;
  border-bottom: 1px solid var(--color-gray);
  padding: 0 28px .5em 0;
  width: 100%;
  height: 100%;
  font-size: calc(14 * var(--rem));
  font-weight: 500;
}
.c-anchor__link::before,
.c-anchor__link::after {
  content: "";
  position: absolute;
}
.c-anchor__link::before {
  right: 10px;
  bottom: 18px;
  border-right: 1px solid var(--color-black);
  border-bottom: 1px solid var(--color-black);
  width: 5px;
  height: 5px;
  transform: rotate(45deg);
  transition: var(--effect-transform);
}
.c-anchor__link:hover::before {
  transform: translateY(5px) rotate(45deg);
}
.c-anchor__link::after {
  right: 0;
  bottom: -1px;
  width: 28px;
  height: 1px;
  background-color: var(--color-royal-blue);
}
@media screen and (max-width: 767px) {
  .c-anchor__link {
    padding-right: 22px;
    font-size: calc(11 * var(--rem));
  }
  .c-anchor__link::before {
    right: 8px;
    bottom: 13px;
    width: 4px;
    height: 4px;
  }
  .c-anchor__link::after {
    width: 22px;
  }
}

.c-anchor__inside-list {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: visibility .3s ease, opacity .3s ease;
  z-index: var(--layer-upper);
}
.c-anchor__inside-list.is-visible {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.c-anchor__inside-item {
  width: 100%;
}
.c-anchor__inside-item:not(:last-of-type) {
  border-bottom: 1px solid var(--color-gray);
}

.c-anchor__inside-link {
  display: block;
  padding: calc(10 * var(--rem)) calc(15 * var(--rem));
  width: 100%;
  height: 100%;
  background-color: var(--color-off-white-blue);
  font-size: calc(13 * var(--rem));
  font-weight: 500;
  letter-spacing: .1em;
  transition: var(--effect-bg);
}
.c-anchor__inside-link:hover {
  background-color: #e8eef4;
}

.c-heading {
  text-align: center;
  font-size: calc(24 * var(--rem));
  font-weight: 700;
  letter-spacing: .2em;
}
@media screen and (max-width: 767px) {
  .c-heading {
    font-size: calc(16 * var(--rem));
  }
}

@media screen and (min-width: 768px) {
  .c-heading--left-pc {
    text-align: left;
  }
}

.c-heading--white {
  color: var(--color-white);
}

.c-heading__text {
  display: inline-block;
  position: relative;
  padding-bottom: calc(10 * var(--rem));
}
.c-heading__text::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-royal-blue);
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .c-heading__text {
    padding-bottom: calc(5 * var(--rem));
  }
}

.c-heading--white .c-heading__text::after {
  background-color: var(--color-white);
}

.c-heading__text--brd-narrow::after {
  width: calc(63 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-heading__text--brd-narrow {
    padding-bottom: calc(10 * var(--rem));
  }
  .c-heading__text--brd-narrow::after {
    width: calc(55 * var(--rem));
  }
}

.c-media-heading {
  width: 100%;
  color: var(--color-brand);
  font-size: calc(27 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-media-heading {
    font-size: calc(16 * var(--rem));
  }
}

.c-media-heading--white {
  color: var(--color-white);
}

.c-media-heading--skyblue {
  color: var(--color-light-blue);
}

.c-media-heading--large {
  font-size: calc(55 * var(--rem));
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-media-heading--large {
    font-size: calc(25 * var(--rem));
  }
}

@media screen and (max-width: 767px) {
  .c-media-heading--fs18-sp {
    font-size: calc(18 * var(--rem));
  }
}

.c-media-heading--fs20 {
  font-size: calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-media-heading--fs26 {
    font-size: calc(18 * var(--rem));
  }
}

.c-media-heading--fs26 {
  font-size: calc(26 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-media-heading--fs26 {
    font-size: calc(20 * var(--rem));
  }
}

.c-media-sub-heading {
  width: 100%;
  font-size: calc(20 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-media-sub-heading {
    font-size: calc(16 * var(--rem));
  }
}

.c-media-sub-heading--white {
  color: var(--color-white);
}

.c-media-sub-heading--fw-regular {
  font-weight: 400;
}

.c-media-text {
  text-align: justify;
  width: 100%;
  letter-spacing: .05em;
}

.c-media-text--white {
  color: var(--color-white);
}

.c-media-text--large {
  font-size: calc(21 * var(--rem));
  line-height: 2.5;
  letter-spacing: .075em;
}
@media screen and (max-width: 767px) {
  .c-media-text--large {
    font-size: calc(13 * var(--rem));
  }
}

.c-figure-cover {
  width: 100%;
  height: 100%;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 11.945% 100%, 0 79.133%);
}

.c-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border: 1px solid var(--color-brand);
  border-radius: 30px;
  padding-inline: calc(30 * var(--rem));
  width: min(79.701%, calc(305 * var(--rem)));
  min-height: calc(60 * var(--rem));
  text-align: center;
  font-weight: 500;
  letter-spacing: .05em;
  transition: var(--effect-bg), var(--effect-color);
}
.c-btn:hover {
  background-color: var(--color-white);
}
.c-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(20 * var(--rem));
  width: calc(6 * var(--rem));
  height: calc(13 * var(--rem));
  background: var(--url-arrow) no-repeat center / 100% auto;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .c-btn {
    border-radius: 26px;
    padding-inline: calc(25 * var(--rem));
    min-height: calc(53 * var(--rem));
    font-size: calc(12 * var(--rem));
  }
  .c-btn::after {
    right: calc(15 * var(--rem));
    width: calc(5 * var(--rem));
    height: calc(11 * var(--rem));
  }
}

.c-btn--medium {
  padding-inline: calc(35 * var(--rem));
  width: min(82.09%, calc(315 * var(--rem)));
  min-height: calc(75 * var(--rem));
  font-size: calc(18 * var(--rem));
}
.c-btn--medium::after {
  width: calc(10 * var(--rem)); 
  height: calc(21 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-btn--medium {
    min-height: calc(75 * var(--rem));
    font-size: calc(16 * var(--rem));
  }
  .c-btn--medium::after {
    width: calc(9 * var(--rem));
    height: calc(18 * var(--rem));
  }
}

.c-btn--large {
  padding-inline: calc(35 * var(--rem));
  width: min(96.119%, 368 * var(--rem));
  min-height: calc(79 * var(--rem));
  font-size: calc(20 * var(--rem));
  font-weight: 600;
}
.c-btn--large::after {
  width: calc(11 * var(--rem));
  height: calc(23 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-btn--large {
    min-height: calc(70 * var(--rem));
    font-size: calc(16 * var(--rem));
  }
  .c-btn--large::after {
    width: calc(9 * var(--rem));
    height: calc(20 * var(--rem));
    right: calc(20 * var(--rem));
  }
}

.c-btn--w340 {
  width: min(100%, 340 * var(--rem));
  height: calc(87 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-btn--w340 {
    width: min(100%, 245 * var(--rem));
    height: calc(49 * var(--rem));
  }
}

.c-btn--bg-white {
  background-color: var(--color-white);
}
.c-btn--bg-white:hover {
  border-color: var(--color-white);
  background-color: var(--color-brand);
  color: var(--color-white);
}
.c-btn--bg-white:hover::after {
  background-image: var(--url-arrow-white);
}

.c-btn--bg-blue {
  background-color: var(--color-blue);
}

.c-btn--colored {
  color: var(--color-brand);
}

.c-btn--white {
  color: var(--color-white);
}
.c-btn--white:hover {
  color: var(--color-brand);
}

.c-btn--square {
  border-radius: 0;
}

.c-btn--no-brd {
  border: none;
}

.c-btn--brd-black {
  border-color: var(--color-black);
}

.c-btn--brd-white {
  border-color: var(--color-white);
}

.c-btn--br20 {
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .c-btn--br20 {
    border-radius: 18px;
  }
}

.c-btn--fs25 {
  font-size: calc(25 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-btn--fs25 {
    font-size: calc(15 * var(--rem));
  }
}

.c-btn--ls0 {
  letter-spacing: 0;
}

.c-btn--arrow-left::after {
  left: calc(20 * var(--rem));
  right: auto;
  transform: translateY(-50%) scale(-1, 1);
}
@media screen and (max-width: 767px) {
  .c-btn--arrow-left::after {
    left: calc(15 * var(--rem));
  }
  .c-btn--large.c-btn--arrow-left::after {
    left: calc(20 * var(--rem));
  }
}

.c-btn--arrow-rose::after {
  background-image: var(--url-arrow-rose);
}

.c-btn--arrow-white::after {
  background-image: var(--url-arrow-white);
}
.c-btn--arrow-white:hover::after {
  background-image: var(--url-arrow);
}

.c-news {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .c-news {
    flex-direction: column;
    gap: calc(25 * var(--rem));
  }
}

.c-news__category {
  display: flex;
  flex-direction: column;
  flex-basis: 32%;
  gap: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-news__category {
    flex-basis: auto;
    gap: calc(25 * var(--rem));
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .c-news__category--pl50-pc {
    padding-left: calc(50 * var(--rem));
  }
}

.c-news__category-list {
  display: flex;
  flex-direction: column;
  gap: calc(25 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-news__category-list {
    flex-direction: row;
    justify-content: center;
    gap: 0;
  }
}

.c-news__category-item {
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-news__category-item {
    flex: 1 0 auto;
  }
}

.c-news__category-link {
  padding-left: 2em;
  font-weight: 500;
  cursor: pointer;
  transition: var(--effect-color);
}
.c-news__category-link:hover {
  color: var(--color-brand);
}
.c-news__category-link.is-active {
  color: var(--color-brand);
}
.c-news__category-link.is-active::before {
  content: "";
  position: absolute;
  top: .6em;
  left: 0;
  border-radius: 50%;
  width: calc(10 * var(--rem)); 
  height: calc(10 * var(--rem)); 
  background-color: var(--color-brand);
}
@media screen and (max-width: 767px) {
  .c-news__category-link {
    padding-left: 1em;
    font-size: calc(13 * var(--rem));
  }
  .c-news__category-link.is-active::before {
    top: 1em;
    width: calc(6 * var(--rem));
    height: calc(6 * var(--rem));
  }
}

.c-news__body {
  display: flex;
  flex-direction: column;
  gap: calc(70 * var(--rem));
  flex-basis: 63.833%;
}
@media screen and (max-width: 767px) {
  .c-news__body {
    flex-basis: auto;
    gap: calc(40 * var(--rem));
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .c-news__body--gap-double {
    gap: calc(140 * var(--rem));
  }
}

.c-news__body-content {
  display: none;
}
.c-news__body-content.is-active {
  display: block;
}

.c-news-list__item {
  border-top: 1px solid var(--color-silver-gray);
}
.c-news-list__item:last-of-type {
  border-bottom: 1px solid var(--color-silver-gray);
}

.c-news-list__link {
  display: flex;
  flex-direction: column;
  gap: calc(15 * var(--rem));
  position: relative;
  padding: calc(30 * var(--rem)) calc(55 * var(--rem)) calc(30 * var(--rem)) 0;
  transition: var(--effect-opacity);
}
.c-news-list__link:hover {
  opacity: .8;
}
@media screen and (max-width: 767px) {
  .c-news-list__link {
    gap: calc(10 * var(--rem));
    padding: calc(15 * var(--rem)) calc(25 * var(--rem)) calc(20 * var(--rem)) 0;
  }
}

.c-news-info {
  display: flex;
  align-items: center;
  gap: calc(10 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-news-info {
    gap: calc(20 * var(--rem));
  }
}

.c-news-info__date {
  font-size: calc(18 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-news-info__date {
    font-size: calc(14 * var(--rem));
  }
}

.c-news-info__tag {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 14px;
  padding-inline: 1em;
  min-width: calc(142 * var(--rem));
  height: calc(28 * var(--rem));
  background-color: var(--color-brand);
  text-align: center;
  color: var(--color-white);
  font-size: calc(15 * var(--rem));
  font-weight: 500;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .c-news-info__tag {
    border-radius: 12px;
    min-width: calc(124 * var(--rem));
    height: calc(25 * var(--rem));
    font-size: calc(12 * var(--rem));
  }
}

.c-news-list__arrow {
  position: absolute;
  top: 50%;
  right: calc(5 * var(--rem));
  width: calc(44 * var(--rem));
  height: calc(44 * var(--rem));
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .c-news-list__arrow {
    right: 0;
    width: calc(21 * var(--rem));
    height: calc(21 * var(--rem));
  }
}

.c-news-list__empty {
  padding-block: 5em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-news-list__empty {
    padding-block: 2.5em;
  }
}

.c-confetti {
  display: inline-block;
  width: 100%;
  height: 100%;
  background: var(--url-confetti) no-repeat center / 100% auto;
}

.c-confetti--gray {
  background-image: var(--url-confetti-gray);
}

.c-confetti--white {
  background-image: var(--url-confetti-white);
}

.c-confetti--blur {
  opacity: .5;
  filter: blur(7px);
}
@media screen and (max-width: 767px) {
  .c-confetti--blur {
    filter: blur(2px);
  }
}

.c-persons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(100 * var(--rem)) 0;
  width: min(100%, 1060px);
}
@media screen and (max-width: 767px) {
  .c-persons {
    gap: calc(80 * var(--rem));
  }
}

.c-persons__item {
  display: flex;
  justify-content: center;
  flex-basis: 50%;
}
@media screen and (max-width: 767px) {
  .c-persons__item {
    flex-basis: 100%;
  }
}

.c-persons__link {
  display: block;
  position: relative;
  border-radius: 30px;
  padding: calc(60 * var(--rem)) calc(25 * var(--rem));
  width: 83.774%;
  aspect-ratio: 508/611;
  background-color: var(--color-coral-red);
  transition: var(--effect-opacity);
  z-index: var(--layer-middle);
}
.c-persons__item:nth-of-type(2n) .c-persons__link {
  background-color: var(--color-yellow);
}
.c-persons__link:hover {
  opacity: .8;
}
@media screen and (max-width: 767px) {
  .c-persons__link {
    border-radius: 18px;
    padding-block: calc(40 * var(--rem));
    padding-inline: calc(15 * var(--rem));
    width: 80.896%;
  }
}

.c-persons__info {
  color: var(--color-white);
  font-weight: 500;
  line-height: 1.5;
}
.c-persons__item:nth-of-type(2n) .c-persons__info {
  color: var(--color-black);
}
@media screen and (max-width: 767px) {
  .c-persons__info {
    font-size: calc(11 * var(--rem));
  }
}

.c-persons__info-name {
  display: block;
  font-size: calc(30 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-persons__info-name {
    font-size: calc(18 * var(--rem));
  }
}

.c-persons__comment {
  position: absolute;
  left: 0;
  bottom: calc(40 * var(--rem));
  font-size: calc(26 * var(--rem));
  font-weight: 700;
  line-height: 2.25;
}
@media screen and (max-width: 767px) {
  .c-persons__comment {
    bottom: calc(25 * var(--rem));
    font-size: calc(16 * var(--rem));
  }
}

.c-persons__comment-text {
  padding: .25em .5em;
  background-color: var(--color-white);
}

.c-persons__image {
  position: absolute;
  left: 50%;
  bottom: 0;
  height: 120%;
  z-index: var(--layer-lower);
  transform: translateX(-50%);
}

.c-crosstalk {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: calc(40 * var(--rem));
  border-radius: 100px;
  padding: calc(90 * var(--rem));
  width: min(100%, 1067px);
  min-height: calc(521 * var(--rem));
  background: url(../img/bg_crosstalk.jpg) no-repeat center / cover;
  background-image: image-set(url(../img/bg_crosstalk.jpg) 1x, url(../img/bg_crosstalk@2x.jpg) 2x);
  background-image: -webkit-image-set(url(../img/bg_crosstalk.jpg) 1x, url(../img/bg_crosstalk@2x.jpg) 2x);
}
@media screen and (max-width: 767px) {
  .c-crosstalk {
    gap: calc(20 * var(--rem));
    border-radius: 31px;
    padding-block: calc(55 * var(--rem));
    padding-inline: 0;
    min-height: calc(356 * var(--rem));
    background-image: url(../img/bg_crosstalk_sp.jpg);
    background-image: image-set(url(../img/bg_crosstalk_sp.jpg) 1x, url(../img/bg_crosstalk_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/bg_crosstalk_sp.jpg) 1x, url(../img/bg_crosstalk_sp@2x.jpg) 2x);
  }
}

.c-crosstalk--full {
  justify-content: center;
  border-radius: 0;
  padding: calc(65 * var(--rem));
  width: 100%;
  height: 29.714vw;
  min-height: auto;
  background-image: url(../img/bg_crosstalk_large.jpg);
  background-image: image-set(url(../img/bg_crosstalk_large.jpg) 1x, url(../img/bg_crosstalk_large@2x.jpg) 2x);
  background-image: -webkit-image-set(url(../img/bg_crosstalk_large.jpg) 1x, url(../img/bg_crosstalk_large@2x.jpg) 2x);
}
@media screen and (max-width: 767px) {
  .c-crosstalk--full {
    height: max(54.4vw, 204 * var(--rem));
    background-image: url(../img/bg_crosstalk_large_sp.jpg);
    background-image: image-set(url(../img/bg_crosstalk_large_sp.jpg) 1x, url(../img/bg_crosstalk_large_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/bg_crosstalk_large_sp.jpg) 1x, url(../img/bg_crosstalk_large_sp@2x.jpg) 2x);
  }
}

.c-crosstalk__heading {
  display: inline-block;
  text-align: center;
  color: var(--color-white);
}

.c-crosstalk__heading-em {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-crosstalk__heading-em {
    gap: calc(10 * var(--rem));
  }
}

.c-crosstalk__heading-em--large {
  gap: calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-crosstalk__heading-em--large {
    gap: calc(15 * var(--rem));
  }
}

.c-crosstalk__heading-text {
  font-family: var(--font-outfit);
  font-size: calc(86 * var(--rem));
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-crosstalk__heading-text {
    font-size: calc(45 * var(--rem));
  }
}

.c-crosstalk__heading-text--large {
  font-size: min(7.143vw, calc(100 * var(--rem)));
}
@media screen and (max-width: 767px) {
  .c-crosstalk__heading-text--large {
    font-size: max(14.133vw, calc(53 * var(--rem)));
  }
}

.c-crosstalk__heading-sign {
  position: relative;
  width: calc(56 * var(--rem));
  height: calc(56 * var(--rem));
}
.c-crosstalk__heading-sign::before,
.c-crosstalk__heading-sign::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 132%;
  height: 4px;
  background-color: var(--color-white);
}
.c-crosstalk__heading-sign::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-crosstalk__heading-sign::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .c-crosstalk__heading-sign {
    width: calc(30 * var(--rem));
    height: calc(30 * var(--rem));
  }
  .c-crosstalk__heading-sign::before,
  .c-crosstalk__heading-sign::after {
    height: 2px;
  }
}

.c-crosstalk__heading-sign--large {
  width: min(4.714vw, 66 * var(--rem));
  height: min(4.714vw, 66 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-crosstalk__heading-sign--large {
    width: max(9.333vw, 35 * var(--rem));
    height: max(9.333vw, 35 * var(--rem));
  }
}

.c-crosstalk__heading-caption {
  display: block;
  position: relative;
  font-size: calc(20 * var(--rem));
  font-weight: 500;
}
.c-crosstalk__heading-caption::before,
.c-crosstalk__heading-caption::after {
  content: "";
  position: absolute;
  top: 50%;
  width: calc(50% - 4.5em);
  height: 2px;
  background-color: var(--color-white);
  transform: translateY(-50%);
}
.c-crosstalk__heading-caption::before {
  left: 0;
}
.c-crosstalk__heading-caption::after {
  right: 0;
}
@media screen and (max-width: 767px) {
  .c-crosstalk__heading-caption {
    font-size: calc(11 * var(--rem));
  }
  .c-crosstalk__heading-caption::before,
  .c-crosstalk__heading-caption::after {
    height: 1px;
  }
}

.c-crosstalk__heading-caption--large {
  font-size: min(1.643vw, calc(23 * var(--rem)));
}
@media screen and (max-width: 767px) {
  .c-crosstalk__heading-caption--large {
    font-size: max(3.2vw, calc(12 * var(--rem)));
  }
}

.c-crosstalk__text {
  text-align: center;
  color: var(--color-white);
  font-size: calc(18 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-crosstalk__text {
    width: min(100%, 242 * var(--rem));
    font-size: calc(14 * var(--rem));
  }
}

.c-entry-wrap {
  padding-block: calc(70 * var(--rem)) calc(100 * var(--rem));
  background: url(../img/bg_entry_top.png) no-repeat center top / 100% auto, url(../img/bg_entry_bottom.png) no-repeat center bottom / 100% auto;
  background-image: image-set(url(../imgbg_entry_top.png) 1x, url(../img/bg_entry_top@2x.png) 2x), image-set(url(../imgbg_entry_bottom.png) 1x, url(../img/bg_entry_bottom@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/bg_entry_top.png) 1x, url(../img/bg_entry_top@2x.png) 2x), -webkit-image-set(url(../img/bg_entry_bottom.png) 1x, url(../img/bg_entry_bottom@2x.png) 2x);
}
@media screen and (max-width: 767px) {
  .c-entry-wrap {
    padding-top: calc(50 * var(--rem));
    background-image: url(../img/bg_entry_top_sp.png), url(../img/bg_entry_bottom_sp.png);
    background-image: image-set(url(../imgbg_entry_top_sp.png) 1x, url(../img/bg_entry_top_sp@2x.png) 2x), image-set(url(../imgbg_entry_bottom_sp.png) 1x, url(../img/bg_entry_bottom_sp@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/bg_entry_top_sp.png) 1x, url(../img/bg_entry_top_sp@2x.png) 2x), -webkit-image-set(url(../img/bg_entry_bottom_sp.png) 1x, url(../img/bg_entry_bottom_sp@2x.png) 2x);
  }
}

.c-entry-wrap__inner {
  display: flex;
  flex-direction: column;
  gap: calc(50 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-entry-wrap__inner {
    gap: calc(30 * var(--rem));
  }
}

.c-entry-wrap__title {
  text-align: center;
  color: var(--color-white);
  font-size: calc(24 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-entry-wrap__title {
    font-size: calc(18 * var(--rem));
    letter-spacing: .2em;
  }
}

.c-entry {
  display: flex;
  justify-content: center;
  gap: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-entry {
    flex-direction: column;
    gap: calc(25 * var(--rem));
  }
}

.c-entry--mt70 {
  margin-top: calc(70 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-entry--mt70 {
    margin-top: calc(35 * var(--rem));
  }
}

.c-entry__block {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(20 * var(--rem));
  border: 2px solid var(--color-white);
  border-radius: 50px;
  padding: calc(20 * var(--rem));
  width: calc(50% - 20 * var(--rem));
  min-height: calc(348 * var(--rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-entry__block {
    gap: calc(10 * var(--rem));
    border-width: 1px;
    border-radius: 28px;
    width: 100%;
    min-height: calc(195 * var(--rem));
  }
}

.c-entry__heading {
  color: var(--color-white);
  font-size: calc(25 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-entry__heading {
    font-size: calc(16 * var(--rem));
  }
}

.c-entry__text {
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .c-entry__text {
    font-size: calc(12 * var(--rem));
  }
}

.c-entry__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: calc(20 * var(--rem)) calc(40 * var(--rem));
  width: 100%;
  transition: var(--effect-opacity);
}
.c-entry__links:hover {
  opacity: .8;
}
@media screen and (max-width: 767px) {
  .c-entry__links {
    gap: calc(20 * var(--rem));
  }
}

.c-entry__link-bnr {
  width: min(50%, 250 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-entry__link-bnr {
    width: min(100%, 136 * var(--rem));
  }
}

.c-entry__empty {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: calc(10 * var(--rem));
  width: min(100%, 361 * var(--rem));
  min-height: calc(59 * var(--rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .c-entry__empty {
    min-height: calc(49 * var(--rem));
  }
}

.c-gotop {
  position: fixed;
  right: calc(45 * var(--rem));
  bottom: calc(45 * var(--rem));
  width: calc(57 * var(--rem));
  height: calc(57 * var(--rem));
  filter: drop-shadow(0 0 3px var(--color-brand));
  transform: rotate(-90deg);
  transition: filter .3s ease;
  z-index: var(--layer-upper);
}
.c-gotop:hover {
  filter: drop-shadow(0 0 5px var(--color-brand));
}
@media screen and (max-width: 767px) {
  .c-gotop {
    right: calc(10 * var(--rem));
    bottom: calc(10 * var(--rem));
    width: calc(30 * var(--rem)); 
    height: calc(30 * var(--rem)); 
  }
}

@media screen and (max-width: 767px) {
  .c-gotop--up-sp {
    bottom: calc(70 * var(--rem));
  }
}

.c-entry-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  border-top: 2px solid var(--color-white);
  border-left: 2px solid var(--color-white);
  border-right: 2px solid var(--color-white);
  border-radius: 20px 20px 0 0;
  width: 100%;
  height: calc(60 * var(--rem));
  background-color: var(--color-primary-blue);
  text-align: center;
  color: var(--color-white);
  font-size: calc(20 * var(--rem));
  font-weight: 500;
  letter-spacing: .1em;
  transition: visibility .3s ease, opacity .3s ease;
  z-index: var(--layer-upper);
}
.c-entry-btn.is-hidden {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.c-map {
  position: relative;
  padding-top: 56.25%;
  width: 100%;
  height: 0;
}

.c-map--office {
  padding-top: 27.4%;
}

.c-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-side-menu {
  display: flex;
  justify-content: flex-end;
  border-radius: 0 50px 50px 0;
  padding: calc(50 * var(--rem)) calc(40 * var(--rem)) calc(50 * var(--rem)) calc(20 * var(--rem));
  width: 100%;
  height: 100%;
  background-color: var(--color-primary-blue);
}
@media screen and (max-width: 767px) {
  .c-side-menu {
    justify-content: flex-start;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    padding-block: calc(40 * var(--rem));
    padding-inline: calc(30 * var(--rem));
  }
}

@media screen and (min-width: 768px) {
  .c-side-menu--p60-pc {
    padding-block: calc(60 * var(--rem));
    padding-right: calc(60 * var(--rem));
  }
}

@media screen and (min-width: 768px) {
  .c-side-menu--pblk70-pc {
    padding-block: calc(70 * var(--rem));
  }
}

.c-side-menu__list {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-side-menu__list {
    gap: calc(30 * var(--rem));
  }
}

.c-side-menu__link {
  display: block;
  position: relative;
  padding-left: 1.75em;
  color: var(--color-white);
}
.c-side-menu__link::after {
  content: "";
  position: absolute;
  top: calc(100% + .25em);
  left: 1.75em;
  width: 0;
  height: 1px;
  background-color: var(--color-white);
  transition: var(--effect-width);
}
.c-side-menu__link:hover::after {
  width: calc(100% - 1.75em);
}
.c-side-menu__link::before {
  content: "";
  position: absolute;
  top: .5em;
  left: 0;
  border-radius: 50%;
  width: .8em;
  height: .8em;
  background-color: var(--color-white);
  opacity: 0;
  transition: opacity .3s ease;
}
.c-side-menu__link.is-current {
  font-weight: 700;
}
.c-side-menu__link.is-current::before {
  opacity: 1;
}

.c-intro {
  display: flex;
  align-items: flex-start;
  padding-inline: calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-intro {
    flex-direction: column;
    gap: calc(25 * var(--rem));
    padding-inline: 0;
  }
}

.c-intro--pil0 {
  padding-inline: 0;
}

.c-intro__heading {
  flex-basis: 47%;
  color: var(--color-primary-blue);
  font-size: calc(30 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .c-intro__heading {
    flex-basis: 100%;
    font-size: calc(20 * var(--rem));
  }
}

.c-intro__heading--white {
  color: var(--color-white);
}

.c-intro__heading--small {
  font-size: calc(26 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-intro__heading--small {
    font-size: calc(21 * var(--rem));
  }
}
@media screen and (min-width: 768px) {
  .c-intro__heading--small {
    flex-basis: 42%;
  }
}

.c-intro__text {
  flex-basis: 53%;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .c-intro__text {
    flex-basis: 100%;
  }
}

.c-intro__text--white {
  color: var(--color-white);
}

.c-intro__text--small {
  font-size: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .c-intro__text--small {
    font-size: calc(13 * var(--rem));
  }
}
@media screen and (min-width: 768px) {
  .c-intro__text--small {
    flex-basis: 58%;
  }
}

.c-empty {
  font-size: calc(18 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-empty {
    font-size: calc(16 * var(--rem));
  }
}

/* Layauts */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: calc(120 * var(--rem));
  transition: background-color .5s ease;
  z-index: var(--layer-top);
}
@media screen and (max-width: 1000px) {
  .l-header {
    height: calc(60 * var(--rem));
  }
}

.l-header.is-change {
  background-color: var(--color-white);
}

.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;  
  padding: calc(35 * var(--rem)) calc(35 * var(--rem)) 0 calc(40 * var(--rem));
}
@media screen and (max-width: 1000px) {
  .l-header__inner {
    padding-top: calc(20 * var(--rem));
    padding-inline: calc(20 * var(--rem));
  }
}

@media screen and (min-width: 1001px) {
  .is-recruit .l-header__inner {
    align-items: center;  
    padding-top: calc(20 * var(--rem));
    padding-inline: calc(25 * var(--rem)) calc(155 * var(--rem));
  }
}
@media screen and (max-width: 1000px) {
  .is-recruit .l-header__inner {
    padding-top: calc(10 * var(--rem));
  }
}


@media screen and (max-width: 1000px) {
  .l-header__logo {
    width: min(67.062%, 226 * var(--rem));
  }
}

.is-recruit .l-header__logo {
  display: flex;
  align-items: center;
  gap: calc(20 * var(--rem));
  width: min(47.049%, 574 * var(--rem));
}
@media screen and (max-width: 1000px) {
  .is-recruit .l-header__logo {
    flex-direction: column;
    gap: 0;
    width: min(70.746%, 237 * var(--rem));
  }
}

.l-header__logo-link {
  display: block;
  width: 100%;
  height: 100%;
}

.is-recruit .l-header__logo-link {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1001px) {
  .is-recruit .l-header__logo-link {
    width: 72.5%;
  }
}

.l-header__logo-text {
  font-family: var(--font-outfit);
  font-size: min(1.571vw, calc(22 * var(--rem)));
  font-weight: 500;
  letter-spacing: .1em;
}
@media screen and (max-width: 1000px) {
  .l-header__logo-text {
    font-size: min(4vw, 15 * var(--rem));
  }
}

.l-header__switch {
  flex-shrink: 0;
  position: relative;
  width: 25px;
  height: 18px;
  z-index: var(--layer-upper);
}

.l-header__switch-line {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-brand);
  transition: opacity .3s ease, transform .3s ease;
}
.l-header__switch.is-active .l-header__switch-line {
  background-color: var(--color-white);
}
.l-header__switch-line:nth-of-type(1) {
  top: 2px;
}
.l-header__switch.is-active .l-header__switch-line:nth-of-type(1) {
  top: 9.5px;
  transform: rotate(225deg);
}
.l-header__switch-line:nth-of-type(2) {
  top: 9.5px;
}
.l-header__switch.is-active .l-header__switch-line:nth-of-type(2) {
  opacity: 0;
  visibility: hidden;
}
.l-header__switch-line:nth-of-type(3) {
  bottom: 0;
}
.l-header__switch.is-active .l-header__switch-line:nth-of-type(3) {
  top: 9.5px;
  transform: rotate(-225deg);
}
@media screen and (min-width: 1001px) {
  .l-header__switch {
    display: none;
  }
}

.is-recruit .l-header__switch-line {
  background-color: var(--color-primary-blue);
}

.l-header__nav {
  display: flex;
  flex-direction: column-reverse;
  gap: calc(10 * var(--rem));
  width: min(100%, 678 * var(--rem));
}
@media screen and (max-width: 1000px) {
  .l-header__nav {
    flex-direction: column;
    gap: calc(40 * var(--rem));
    position: absolute;
    top: 0;
    left: 0;
    padding: calc(80 * var(--rem)) calc(40 * var(--rem));
    width: 100%;
    height: 0;
    background-color: var(--color-brand);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    overflow-y: scroll;
    transition: height .3s ease, opacity .3s ease, visibility .3s ease;
  }
  .l-header__nav.is-open {
    height: 100dvh;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }
}

@media screen and (max-width: 1000px) {
  .is-recruit .l-header__nav {
    background-color: var(--color-primary-blue);
  }
}
@media screen and (min-width: 1001px) {
  .is-recruit .l-header__nav {
    width: min(100%, 517 * var(--rem));
  }
}

.l-header__nav-list {
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 1000px) {
  .l-header__nav-list {
    flex-wrap: wrap;
    justify-content: center;
  }
}

.l-header__nav-item {
  flex: 1 0 auto;
  text-align: center;
}
@media screen and (max-width: 1000px) {
  .l-header__nav-item {
    border-top: 1px solid var(--color-white);
    width: 100%;
    color: var(--color-white);
  }
  .l-header__nav-item:last-of-type {
    border-bottom: 1px solid var(--color-white);
  }
}

.l-header__nav-item--entry {
  transition: var(--effect-opacity);
}
.l-header__nav-item--entry:hover {
  opacity: .8;
}
@media screen and (min-width: 1001px) {
  .l-header__nav-item--entry {
    position: absolute;
    top: 0;
    right: 0;
    border-bottom-left-radius: 20px;
    width: calc(145 * var(--rem));
    height: calc(88 * var(--rem));
    background-color: var(--color-primary-blue);
    color: var(--color-white);
    font-size: calc(20 * var(--rem));
    letter-spacing: .1em;
  }
}

.l-header__nav-link,
.l-header__lang-link {
  position: relative;
  font-size: calc(15 * var(--rem));
}
.l-header__nav-link::after,
.l-header__lang-link::after {
  content: "";
  position: absolute;
  top: calc(100% + .25em);
  left: 50%;
  width: 0;
  height: 2px;
  background-color: var(--color-brand);
  transform: translateX(-50%);
  transition: var(--effect-width);
}
.l-header__nav-link:hover::after,
.l-header__lang-link:hover::after {
  width: 100%;
}

@media screen and (max-width: 1000px) {
  .l-header__nav-link {
    display: block;
    padding-block: calc(20 * var(--rem));
    width: 100%;
    height: 100%;
  }
}

.l-header__nav-link--full-center::after {
  content: none;
}
@media screen and (min-width: 1001px) {
  .l-header__nav-link--full-center {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
  }
}

@media screen and (max-width: 1000px) {
  .l-header__nav-text--pc-only {
    display: none;
  }
}

@media screen and (min-width: 1001px) {
  .l-header__nav-text--sp-only {
    display: none;
  }
}

.l-header__lang {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: clamp(.1875rem, 3.542vw - 29.583px, 20 * var(--rem));
}
@media screen and (max-width: 1000px) {
  .l-header__lang {
    justify-content: center;
    margin-bottom: 0;
    padding-right: 0;
    color: var(--color-white);
  }
}

@media screen and (max-width: 1000px) {
  .l-header__lang-link {
    font-size: 84.375%;
  }
}

.l-header__lang-line {
  padding-inline: .5em;
  font-size: calc(12 * var(--rem));
}
@media screen and (max-width: 1000px) {
  .l-header__lang-line {
    font-size: 67.5%;
  }
}

.l-footer {
  padding-block: calc(60 * var(--rem)) calc(30 * var(--rem));
  background-color: var(--color-navy);
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding-top: calc(45 * var(--rem));
  }
}

.is-recruit .l-footer {
  padding-block: calc(90 * var(--rem)) calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .is-recruit .l-footer {
    padding-block: calc(60 * var(--rem)) calc(20 * var(--rem));
  }
}

.l-footer__wrap {
  position: relative;
}

.l-footer__inner {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .l-footer__inner {
    flex-direction: column;
    gap: calc(45 * var(--rem));
  }
}

@media screen and (max-width: 767px) {
  .is-recruit .l-footer__inner {
    gap: calc(30 * var(--rem));
  }
}

.l-footer__info {
  display: flex;
  flex-direction: column;
  gap: calc(5 * var(--rem));
  width: 47%;
}
@media screen and (max-width: 767px) {
  .l-footer__info {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .is-recruit .l-footer__info {
    width: 41%;
  }
}

.l-footer__info-logo {
  display: block;
}
@media screen and (max-width: 767px) {
  .l-footer__info-logo {
    width: min(74.627%, 250 * var(--rem));
  }
}

.l-footer__info-name {
  font-weight: 500;
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  .l-footer__info-name {
    font-size: calc(12 * var(--rem));
  }
}

.l-footer__info-text {
  font-size: calc(13 * var(--rem));
}
@media screen and (max-width: 767px) {
  .l-footer__info-text {
    font-size: calc(11 * var(--rem));
  }
}

.l-footer__nav {
  display: grid;
  grid-template-columns: 41.4% 1fr;
  grid-template-rows: repeat(2, auto);
  gap: calc(45 * var(--rem));
  width: 53%;
}
@media screen and (max-width: 767px) {
  .l-footer__nav {
    grid-template-columns: 46.567% 1fr;
    gap: calc(25 * var(--rem));
    width: 100%;
  }
}

.is-recruit .l-footer__nav {
  grid-template-columns: repeat(6, auto);
  grid-template-rows: repeat(3, auto);
  gap: 0;
}
@media screen and (max-width: 767px) {
  .is-recruit .l-footer__nav {
    grid-template-columns: 41.8% 1fr;
    grid-auto-flow: column;
    gap: calc(10 * var(--rem)) 0;
  }
}
@media screen and (min-width: 768px) {
  .is-recruit .l-footer__nav {
    width: 59%;
  }
}

.l-footer__nav-list {
  padding-left: calc(8 * var(--rem));
}
@media screen and (max-width: 767px) {
  .l-footer__nav-list {
    padding-left: 0;
  }
}

.l-footer__nav-link,
.l-footer__inside-nav-link,
.l-footer__corporate-link {
  position: relative;
}
.l-footer__nav-link::after,
.l-footer__inside-nav-link::after,
.l-footer__corporate-link::after {
  content: "";
  position: absolute;
  top: calc(100% + .25em);
  left: 50%;
  width: 0;
  height: 1px;
  background-color: var(--color-white);
  transform: translateX(-50%);
  transition: var(--effect-width);
}
.l-footer__nav-link:hover::after,
.l-footer__inside-nav-link:hover::after,
.l-footer__corporate-link:hover::after {
  width: 100%;
}

.l-footer__nav-link {
  font-weight: 500;
  line-height: 2.25;
}
@media screen and (max-width: 767px) {
  .l-footer__nav-link {
    font-size: calc(12 * var(--rem));
  }
}

@media screen and (min-width: 768px) {
  .is-recruit .l-footer__nav-link {
    font-size: calc(17 * var(--rem));
  }
}

.l-footer__inside-nav-link {
  font-size: calc(14 * var(--rem));
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .l-footer__inside-nav-link {
    font-size: calc(11 * var(--rem));
  }
}

.l-footer__corporate-link {
  position: absolute;
  right: calc(40 * var(--rem));
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .l-footer__corporate-link {
    position: static;
    margin-top: calc(20 * var(--rem));
  }
}

.l-footer__corporate-text {
  padding-right: calc(15 * var(--rem));
  background: var(--url-arrow-white) no-repeat right center / calc(7 * var(--rem)) auto;
  font-size: calc(15 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .l-footer__corporate-text {
    background-size: calc(5 * var(--rem)) auto;
    font-size: calc(11 * var(--rem));
  }
}

.l-footer__copyright {
  margin-top: calc(60 * var(--rem));
  text-align: center;
  font-size: calc(13 * var(--rem));
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    margin-top: calc(35 * var(--rem));
    font-size: calc(10 * var(--rem));
  }
}

.is-recruit .l-footer__copyright {
  margin-top: calc(65 * var(--rem));
  color: #9aa9c2;
}
@media screen and (max-width: 767px) {
  .is-recruit .l-footer__copyright {
    margin-top: calc(25 * var(--rem));
  }
}
@media screen and (min-width: 768px) {
  .is-recruit .l-footer__copyright {
    text-align: left;
  }
}

/* Pages */
.p-top-slider {
  position: relative;
}
@media screen and (max-width: 767px) {
.p-top-slider {
  position: relative;
}
}

.p-top-slider__news {
  position: absolute;
  left: 7.143vw;
  bottom: 7.143vw;
  width: 32.143%;
  z-index: var(--layer-high);
}
@media screen and (max-width: 767px) {
  .p-top-slider__news {
    position: static;
    padding-inline: 20px;
    width: 100%;
  }
}

.p-top-slider__news .c-news-list__item:first-of-type {
  border-top: none;
}

.p-top-slider__news .c-news-list__link {
  gap: 0;
  padding-block: min(1.0714vw, 15 * var(--rem)) min(.357vw, 5 * var(--rem));
  padding-right: calc(10 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-top-slider__news .c-news-list__link {
    flex-direction: row;
    align-items: flex-start;
    gap: calc( 10 * var(--rem));
    padding-block: calc(10 * var(--rem));
  }
}

@media screen and (max-width: 767px) {
  .p-top-slider__news .c-news-info {
    flex-shrink: 0;
    gap: calc(5 * var(--rem));
  }
}

.p-top-slider__news .c-news-info__date {
  font-size: min(1vw, 14 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-top-slider__news .c-news-info__date {
    font-size: calc(11 * var(--rem));
  }
}

.p-top-slider__news .c-news-info__tag {
  border-radius: 11px;
  min-width: min(7.429vw, 104 * var(--rem));
  height: min(1.5vw, 21 * var(--rem));
  font-size: min(.786vw, 11 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-top-slider__news .c-news-info__tag {
    border-radius: 10px;
    min-width: calc(70 * var(--rem));
    height: calc(20 * var(--rem));
    font-size: calc(10 * var(--rem));
  }
}

.p-top-slider__news .c-news-list__title {
  font-size: min(.929vw, 13 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-top-slider__news .c-news-list__title {
    font-size: calc(11 * var(--rem));
  }
}

.p-top-slider__news .c-news-list__arrow {
  display: none;
}

.p-top-slider__confetti {
  display: inline-block;
  position: absolute;
  -webkit-tap-highlight-color: transparent;
  outline: none;
  z-index: var(--layer-upper);
}

.p-top-slider__confetti-inner {
  display: inline-block;
  width: 100%;
  height: 100%;
}

.p-top-slider__confetti--no1 {
  top: 12.143vw;
  left: 15vw;
  width: 2.286vw;
  height: 2.071vw;
}
.p-top-slider__confetti--no1 .p-top-slider__confetti-inner {
  transform: rotate(356deg);
}
@media screen and (max-width: 767px) {
  .p-top-slider__confetti--no1 {
    top: 8vw;
    left: 29.067vw;
    width: 2.933vw;
    height: 2.667vw;
  }
}

.p-top-slider__confetti--no2 {
  top: 16vw;
  left: 23.643vw;
  width: 1.571vw;
  height: 1.714vw;
}
.p-top-slider__confetti--no2 .p-top-slider__confetti-inner {
  transform: rotate(-79deg);
}
@media screen and (max-width: 767px) {
  .p-top-slider__confetti--no2 {
    top: 11.467vw;
    left: 30.933vw;
    width: 1.867vw;
    height: 2.133vw;
  }
}

.p-top-slider__confetti--no3 {
  top: 5.786vw;
  left: 33.214vw;
  width: 7.5vw;
  height: 8vw;
}
.p-top-slider__confetti--no3 .p-top-slider__confetti-inner {
  transform: rotate(-279deg);
}
@media screen and (max-width: 767px) {
  .p-top-slider__confetti--no3 {
    top: -1.333vw;
    left: 42.667vw;
    width: 9.333vw;
    height: 9.867vw;
  }
}

.p-top-slider__confetti--no4 {
  top: 19.214vw;
  left: -4.357vw;
  width: 12.714vw;
  height: 11.714vw;
}
.p-top-slider__confetti--no4 .p-top-slider__confetti-inner {
  transform: rotate(-325deg);
}
@media screen and (max-width: 767px) {
  .p-top-slider__confetti--no4 {
    top: 15.2vw;
    left: -3.733vw;
    width: 15.733vw;
    height: 14.4vw;
  }
}

.p-top-slider__confetti--no5 {
  top: 47.429vw;
  left: 5.643vw;
  width: 3.143vw;
  height: 3.357vw;
}
.p-top-slider__confetti--no5 .p-top-slider__confetti-inner {
  transform: rotate(-311deg);
}
@media screen and (max-width: 767px) {
  .p-top-slider__confetti--no5 {
    top: 50.667vw;
    left: 8.8vw;
    width: 4vw;
    height: 4.267vw;
  }
}

.p-top-slider__confetti--no6 {
  top: 43.643vw;
  left: 18.214vw;
  width: 12.929vw;
  height: 13.714vw;
}
.p-top-slider__confetti--no6 .p-top-slider__confetti-inner {
  transform: rotate(-82deg);
}
@media screen and (max-width: 767px) {
  .p-top-slider__confetti--no6 {
    top: 80vw;
    left: 18.933vw;
    width: 16vw;
    height: 17.067vw;
  }
}

.p-top-slider__confetti--no7 {
  top: 55.643vw;
  left: 37.071vw;
  width: 2.286vw;
  height: 2.071vw;
}
.p-top-slider__confetti--no7 .p-top-slider__confetti-inner {
  transform: rotate(180deg);
}

.p-top-slider__confetti--no8 {
  top: 50.714vw;
  left: 49.357vw;
  width: 2.071vw;
  height: 2.214vw;
}
.p-top-slider__confetti--no8 .p-top-slider__confetti-inner {
  transform: rotate(-164deg);
}

.p-top-slider__confetti--no9 {
  top: 61.714vw;
  left: -1vw;
  width: 9vw;
  height: 8.286vw;
}
.p-top-slider__confetti--no9 .p-top-slider__confetti-inner {
  transform: rotate(-118deg);
}
@media screen and (max-width: 767px) {
  .p-top-slider__confetti--no9 {
    top: 100.8vw;
    left: -.8vw;
    width: 11.2vw;
    height: 10.133vw;
  }
}

.p-top-slider__confetti--no10 {
  top: 58.357vw;
  right: 14vw;
  width: 7.429vw;
  height: 6.857vw;
}
.p-top-slider__confetti--no10 .p-top-slider__confetti-inner {
  transform: rotate(-172deg);
}
@media screen and (max-width: 767px) {
  .p-top-slider__confetti--no10 {
    top: 100.533vw;
    right: 18.667vw;
    width: 6.933vw;
    height: 6.4vw;
  }
}

.p-top-slider__confetti--no11 {
  top: 64.357vw;
  right: 1.286vw;
  width: 7.5vw;
  height: 8vw;
}
.p-top-slider__confetti--no11 .p-top-slider__confetti-inner {
  transform: rotate(-104deg);
}
@media screen and (max-width: 767px) {
  .p-top-slider__confetti--no11 {
    top: 167.733vw;
    right: 3.733vw;
    width: 9.333vw;
    height: 9.867vw;
  }
}

.p-top-slider__confetti--no12 {
  top: 91.571vw;
  right: 6.286vw;
  width: 2.214vw;
  height: 2.071vw;
}
.p-top-slider__confetti--no12 .p-top-slider__confetti-inner {
  transform: rotate(-293deg);
}

@media screen and (max-width: 767px) {
  .p-top-profile {
    margin-top: calc(35 * var(--rem));
  }
}

.p-top-profile__inner {
  display: flex;
  flex-direction: column;
  gap: calc(35 * var(--rem));
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-profile__inner {
    gap: calc(10 * var(--rem));
  }
}

.p-top-profile__heading {
  color: var(--color-brand);
  font-size: calc(28 * var(--rem));
  font-weight: 500;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-top-profile__heading {
    font-size: calc(16 * var(--rem));
  }
}

.p-top-profile__figure {
  position: absolute;
  top: calc(50% - 11px);
  left: 50%;
  text-align: center;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-top-profile__figure {
    position: static;
    transform: unset;
  }
}

@media screen and (max-width: 767px) {
  .p-top-profile__figure-image {
    width: 94%;
  }
}

.p-top-profile__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(10 * var(--rem));
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-top-profile__list {
    justify-content: center;
    gap: calc(5 * var(--rem));
    width: 100%;
  }
}

.p-top-profile__list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(5 * var(--rem));
  border-radius: 50%;
  padding-top: calc(35 * var(--rem));
  width: calc(179 * var(--rem));
  height: calc(179 * var(--rem));
  background-image: linear-gradient(180deg, var(--color-brand), #10a9e0);
  text-align: center;
  color: var(--color-white);
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-top-profile__list-item {
    gap: 0;
    padding-top: calc(20 * var(--rem));
    width: calc(108 * var(--rem));
    height: calc(108 * var(--rem));
  }
}

.p-top-profile__list-term {
  padding-bottom: calc(5 * var(--rem));
  text-decoration: underline;
  text-underline-offset: calc(5 * var(--rem));
  font-size: calc(14 * var(--rem));
  letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
  .p-top-profile__list-term {
    font-size: calc(9 * var(--rem));
  }
}

.p-top-profile__list-em {
  font-size: calc(23 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-top-profile__list-em {
    font-size: calc(14 * var(--rem));
  }
}

.p-top-profile__list-note {
  font-size: calc(12 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-top-profile__list-note {
    font-size: calc(9 * var(--rem));
  }
}

.p-top-mission {
  display: flex;
  flex-direction: column;
  gap: calc(80 * var(--rem));
  margin-top: calc(30 * var(--rem));
  padding-top: max(13.929vw, 195 * var(--rem));
  background-image: linear-gradient(180deg, var(--color-brand), #00bacc 63%);
  clip-path: polygon(50% 0%, 100% 17.435%, 100% 100%, 0 100%, 0% 17.435%);
  z-index: var(--layer-lower);
}
@media screen and (max-width: 767px) {
  .p-top-mission {
    gap: calc(30 * var(--rem));
    padding-top: 24vw;
    clip-path: polygon(50% 0%, 100% 9.396%, 100% 100%, 0 100%, 0% 9.396%);
  }
}

.p-top-mission__text {
  display: flex;
  flex-direction: column;
  gap: calc(35 * var(--rem));
  margin-inline: auto;
  width: min(88.657%, 460px);
}

.p-top-mission__text-row {
  color: var(--color-white);
  font-size: calc(18 * var(--rem));
  line-height: 2;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-top-mission__text-row {
    font-size: calc(13 * var(--rem));
    line-height: 2.5;
    letter-spacing: 0;
  }
}

.p-top-mission__image {
  height: max(45.143vw, 632 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-top-mission__image {
    height: 58.4vw;
  }
}

.p-top-3min {
  display: flex;
  justify-content: center;
}

.p-top-3min__btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: calc(75 * var(--rem));
  width: min(100%, 850 * var(--rem));
  height: calc(191 * var(--rem));
  transition: var(--effect-opacity);
  z-index: var(--layer-middle);
}
.p-top-3min__btn:hover {
  opacity: .8;
}
.p-top-3min__btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color-brand) url(../img/bg_3min.png) no-repeat center / cover;
  background-image: image-set(url(../img/bg_3min.png) 1x, url(../img/bg_3min@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/bg_3min.png) 1x, url(../img/bg_3min@2x.png) 2x);
  background-blend-mode: screen;
  z-index: var(--layer-lower);
}
@media screen and (max-width: 767px) {
  .p-top-3min__btn {
    padding-block: calc(40 * var(--rem));
    padding-inline: calc(40 * var(--rem));
    height: calc(150 * var(--rem));
  }
  .p-top-3min__btn::after {
    background: var(--color-brand) url(../img/bg_3min_sp.png) no-repeat center / cover;
    background-image: image-set(url(../img/bg_3min_sp.png) 1x, url(../img/bg_3min_sp@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/bg_3min_sp.png) 1x, url(../img/bg_3min_sp@2x.png) 2x);
  }
}

.p-top-3min__btn-text {
  text-align: center;
  color: var(--color-white);
  font-size: calc(28 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-top-3min__btn-text {
    font-size: calc(16 * var(--rem));
  }
}

.p-top-3min__btn-em {
  font-size: 150%;
}

.p-top-3min__btn-image {
  width: min(70.133%, 464 * var(--rem));
}

.p-top-3min__arrow {
  position: absolute;
  top: 50%;
  right: calc(35 * var(--rem));
  width: calc(40 * var(--rem));
  height: calc(40 * var(--rem));
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-top-3min__arrow {
    right: calc(20 * var(--rem));
    width: calc(20 * var(--rem));
    height: calc(20 * var(--rem));
  }
}

.p-top-about {
  display: flex;
  flex-direction: column;
  gap: calc(80 * var(--rem));
  margin-top: calc(80 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-top-about {
    gap: calc(50 * var(--rem));
    margin-top: calc(20 * var(--rem));
  }
}

.p-top-about__block {
  position: relative;
  padding-top: calc(85 * var(--rem));
}
.p-top-about__block::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(calc(100% - 40px), 1220px);
  height: 1px;
  background-color: var(--color-gray);
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-top-about__block {
    padding-top: calc(40 * var(--rem));
  }
  .p-top-about__block:first-of-type {
    padding-top: 0;
  }
  .p-top-about__block:first-of-type::before {
    content: none;
  }
}

.p-top-about__content {
  display: flex;
  justify-content: space-between;
  padding-block: calc(25 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-top-about__content {
    flex-direction: column;
    align-items: center;
    gap: calc(25 * var(--rem));
    padding-top: calc(20 * var(--rem));
  }
}

.p-top-about__content-text {
  flex-basis: 50%;
  text-align: justify;
  letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
  .p-top-about__content-text {
    flex-basis: auto;
  }
}

.p-top-about__bg {
  position: relative;
  margin-top: calc(80 * var(--rem));
  height: max(38.857vw, 544 * var(--rem));
  z-index: var(--layer-lower);
}
@media screen and (max-width: 767px) {
  .p-top-about__bg {
    margin-top: calc(40 * var(--rem));
    height: 58.667vw;
  }
}

.p-top-recruit {
  position: relative;
  z-index: var(--layer-lower);
}

.p-top-recruit__content {
  padding-block: calc(100 * var(--rem)) calc(10 * var(--rem));
  background-color: var(--color-brand);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__content {
    padding-top: calc(45 * var(--rem));
    padding-bottom: 0;
  }
}

.p-top-recruit__wrap {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__wrap {
    flex-direction: column;
    gap: calc(30 * var(--rem));
  }
}

.p-top-recruit__info {
  display: flex;
  flex-direction: column;
  flex-basis: 45.833%;
  gap: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-top-recruit__info {
    flex-basis: auto;
    gap: calc(20 * var(--rem));
    position: relative;
    width: 100%;
  }
}

.p-top-recruit__text {
  padding-bottom: calc(80 * var(--rem));
  color: var(--color-white);
  font-size: calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-top-recruit__text {
    padding-bottom: 0;
    font-size: calc(14 * var(--rem));
  }
}

.p-top-recruit__arrow {
  width: calc(96 * var(--rem));
  height: calc(96 * var(--rem));
  transition: var(--effect-opacity);
}
.p-top-recruit__info:hover .p-top-recruit__arrow {
  opacity: .8;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__arrow {
    position: absolute;
    top: .5em;
    right: 0;
    width: calc(21 * var(--rem));
    height: calc(21 * var(--rem));
  }
}

.p-top-recruit__list {
  display: flex;
  flex-wrap: wrap;
  flex-basis: 51.833%;
  gap: calc(20 * var(--rem)) calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-top-recruit__list {
    flex-basis: auto;
    gap: calc(10 * var(--rem));
    width: 75.821%;
  }
}

.p-top-recruit__item {
  width: calc(50% - 15 * var(--rem));
  height: calc(213 * var(--rem));
}
.p-top-recruit__item:nth-of-type(3),
.p-top-recruit__item:nth-of-type(4) {
  transform: translateX(63.3%);
}
.p-top-recruit__item:nth-of-type(5),
.p-top-recruit__item:nth-of-type(6) {
  transform: translateX(114.815%);
}
@media screen and (max-width: 767px) {
  .p-top-recruit__item {
    width: calc(50% - 5 * var(--rem));
    height: auto;
  }
}

.p-top-news {
  padding-block: calc(60 * var(--rem)) calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-top-news {
    padding-block: calc(20 * var(--rem)) calc(60 * var(--rem));
  }
}

.p-top-contact {
  padding-block: calc(80 * var(--rem));
  background: url(../img/bg_logo.png) no-repeat right bottom / 44% auto;
  background-image: image-set(url(../img/bg_logo.png) 1x, url(../img/bg_logo@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/bg_logo.png) 1x, url(../img/bg_logo@2x.png) 2x);
}
@media screen and (max-width: 767px) {
  .p-top-contact {
    padding-block: calc(40 * var(--rem)) calc(60 * var(--rem));
    background-image: url(../img/bg_logo_sp.png);
    background-image: image-set(url(../img/bg_logo_sp.png) 1x, url(../img/bg_logo_sp@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/bg_logo_sp.png) 1x, url(../img/bg_logo_sp@2x.png) 2x);
    background-size: 100% auto;
  }
}

.p-top-contact__inner {
  display: flex;
  margin-top: calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-top-contact__inner {
    flex-direction: column;
    gap: calc(25 * var(--rem));
    margin-top: calc(10 * var(--rem));
  }
}

.p-top-contact__inner-block {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  flex-basis: 50%;
  gap: calc(15 * var(--rem));
}
.p-top-contact__inner-block:not(:first-of-type) {
  border-left: 1px solid var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-top-contact__inner-block {
    flex-basis: auto;
    width: 100%;
  }
  .p-top-contact__inner-block:not(:first-of-type) {
    border-top: 1px solid var(--color-white);
    border-left: none;
    padding-top: calc(25 * var(--rem));
  }
}

.p-top-contact__inner-heading {
  text-align: center;
  color: var(--color-white);
  font-size: calc(20 * var(--rem));
  font-weight: 700;
  letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
  .p-top-contact__inner-heading {
    font-size: calc(14 * var(--rem));
  }
}

.p-top-contact__tel-row {
  color: var(--color-white);
  font-size: calc(20 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-top-contact__tel-row {
    font-size: calc(12 * var(--rem));
  }
}

.p-top-contact__tel-link {
  transition: var(--effect-opacity);
}
.p-top-contact__tel-link:hover {
  opacity: .8;
}

.p-top-contact__tel-number {
  font-family: var(--font-barlow);
  font-size: calc(43 * var(--rem));
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-top-contact__tel-number {
    font-size: calc(26 * var(--rem));
  }
}

.p-top-banner {
  padding-block: calc(70 * var(--rem));
}

.p-top-banner-slider {
  width: min(100%, 1190px);
}

.p-top-banner-slider .swiper-wrapper {
  align-items: flex-end;
}

.p-top-banner-slider__link {
  transition: var(--effect-opacity);
}
.p-top-banner-slider__link:hover {
  opacity: .7;
}

.p-top-banner-slider__caption {
  text-align: center;
  color: var(--color-brand);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-top-banner-slider__caption {
    font-size: calc(11 * var(--rem));
  }
}

.p-top-banner-slider__brd {
  position: absolute;
  top: 0;
  left: -30px;
  width: 1px;
  height: 100%;
  background-color: var(--color-silver-gray);
}

.p-top-banner__us {
  margin-top: calc(60 * var(--rem));
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-banner__us {
    margin-top: calc(30 * var(--rem));
  }
}

.p-top-banner__medius-link {
  display: inline-block;
  width: min(47.733%, 285 * var(--rem));
}

.p-top-banner__medius-text {
  font-size: calc(14 * var(--rem));
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-top-banner__medius-text {
    font-size: calc(11 * var(--rem));
  }
}

.p-news {
  padding-block: calc(70 * var(--rem)) calc(130 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-news {
    padding-block: calc(40 * var(--rem)) calc(90 * var(--rem));
  }
}

.p-news__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-news__inner {
    gap: calc(15 * var(--rem));
  }
}

.p-news__hero {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--rem));
  border-bottom: 1px solid var(--color-silver-gray);
  padding-bottom: calc(20 * var(--rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-news__hero {
    gap: calc(10 * var(--rem));
  }
}

.p-news__hero-title {
  font-size: calc(24 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-news__hero-title {
    font-size: calc(14 * var(--rem));
    font-weight: 400;
  }
}

.p-news__btn {
  margin-top: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-news__btn {
    margin-top: calc(35 * var(--rem));
  }
}

.p-3min-intro {
  padding-block: calc(120 * var(--rem));
  background: url(../css/bg_3min-intro.jpg) no-repeat center / cover;
  background-image: image-set(url(../img/bg_3min-intro.jpg) 1x, url(../img/bg_3min-intro@2x.jpg) 2x);
  background-image: -webkit-image-set(url(../img/bg_3min-intro.jpg) 1x, url(../img/bg_3min-intro@2x.jpg) 2x);
}
@media screen and (max-width: 767px) {
  .p-3min-intro {
    margin-top: calc(15 * var(--rem));
    padding-block: calc(60 * var(--rem));
  }
}

.p-3min-intro__heading {
  text-align: center;
  color: var(--color-white);
  font-size: calc(24 * var(--rem));
  letter-spacing: .1em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-3min-intro__heading {
    font-size: calc(16 * var(--rem));
    letter-spacing: .05em;
  }
}

.p-3min-intro__text {
  margin-top: calc(25 * var(--rem));
  text-align: center;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-3min-intro__text {
    margin-top: calc(15 * var(--rem));
    text-align: justify;
    letter-spacing: .05em;
  }
}

.p-3min-field {
  padding-bottom: calc(35 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-field {
    padding-block: calc(5 * var(--rem)) calc(15 * var(--rem));
  }
}

.p-3min-field__list {
  display: flex;
  justify-content: center;
  gap: calc(60 * var(--rem));
  margin-top: calc(55 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-field__list {
    flex-wrap: wrap;
    gap: calc(30 * var(--rem)) calc(20 * var(--rem));
    margin-top: calc(20 * var(--rem));
  }
}

.p-3min-field__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  gap: calc(20 * var(--rem));
  position: relative;
  text-align: center;
}
.p-3min-field__item:last-of-type::after {
  content: "など";
  position: absolute;
  top: 100%;
  right: 0;
  font-size: calc(18 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-field__item {
    flex: 0;
    gap: calc(15 * var(--rem));
    flex-basis: calc(50% - 10 * var(--rem));
  }
  .p-3min-field__item:last-of-type::after {
    top: auto;
    left: calc(50% + 3em);
    right: auto;
    bottom: 0;
    font-size: calc(14 * var(--rem));
  }
}

.p-3min-field__image {
  width: 90%;
}

.p-3min-field__term {
  font-size: calc(20 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-3min-field__term {
    font-size: calc(16 * var(--rem));
  }
}

.p-3min-field__description {
  font-size: calc(18 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-field__description {
    font-size: calc(14 * var(--rem));
    letter-spacing: .05em;
  }
}

.p-3min-business {
  padding-block: calc(75 * var(--rem)) max(195 * var(--rem), 13.929vw);
  background-image: var(--gradation);
}
@media screen and (max-width: 767px) {
  .p-3min-business {
    padding-block: calc(60 * var(--rem)) max(70 * var(--rem), 18.667vw);
  }
}

.p-3min-business__heading {
  margin-top: calc(45 * var(--rem));
  text-align: center;
  color: var(--color-brand);
  font-size: calc(27 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-3min-business__heading {
    margin-top: calc(25 * var(--rem));
    font-size: calc(18 * var(--rem));
    letter-spacing: 0;
  }
}

.p-3min-business__marker {
  background-image: linear-gradient(0deg, var(--color-white) 30%, transparent 30%);
}

.p-3min-business__text {
  display: flex;
  flex-direction: column;
  gap: 1em;
  margin-block: calc(10 * var(--rem)) calc(20 * var(--rem));
  width: min(100%, 725px);
  letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
  .p-3min-business__text {
    margin-block: calc(15 * var(--rem)) calc(30 * var(--rem));
  }
}

.p-3min-business__caption {
  text-align: center;
  font-size: calc(18 * var(--rem));
  font-weight: 600;
  letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
  .p-3min-business__caption {
    font-size: calc(16 * var(--rem));
  }
}

.p-3min-business__list {
  display: flex;
  gap: calc(25 * var(--rem));
  position: relative;
  padding-bottom: calc(40 * var(--rem));
  width: min(100%, 963px);
}
.p-3min-business__list::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  border-top: 19px solid var(--color-brand);
  border-left: 24px solid transparent;
  border-right: 24px solid transparent;
  width: 0;
  height: 0;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-3min-business__list {
    flex-wrap: wrap;
    gap: calc(20 * var(--rem));
    margin-top: calc(10 * var(--rem));
  }
  .p-3min-business__list::after {
    border-top-width: 17px;
    border-left-width: 22px;
    border-right-width: 22px;
  }
}

.p-3min-business__item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-basis: calc(50% - 12.5 * var(--rem));
  position: relative;
  border-radius: 10px;
  padding: calc(20 * var(--rem));
  background-color: var(--color-white);
  min-height: calc(130 * var(--rem));
  text-align: center;
  color: var(--color-brand);
  font-size: calc(18 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-3min-business__item {
    flex-basis: 100%;
    border-radius: 5px;
    min-height: calc(145 * var(--rem));
    font-size: calc(16 * var(--rem));
  }
}

.p-3min-business__plus {
  position: absolute;
  top: 50%;
  left: calc(-38 * var(--rem));
  border-radius: 50%;
  width: calc(48 * var(--rem));
  height: calc(48 * var(--rem));
  background-color: var(--color-brand);
  transform: translateY(-50%);
}
.p-3min-business__plus::before,
.p-3min-business__plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 58%;
  height: 10%;
  background-color: var(--color-white);
}
.p-3min-business__plus::before {
  transform: translate(-50%, -50%);
}
.p-3min-business__plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
@media screen and (max-width: 767px) {
  .p-3min-business__plus {
    top: auto;
    left: 50%;
    bottom: calc(100% - 10 * var(--rem));
    width: calc(39 * var(--rem));
    height: calc(39 * var(--rem));
    transform: translateX(-50%);
  }
}

.p-3min-group {
  padding-block: calc(30 * var(--rem)) calc(125 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-group {
    padding-block: calc(25 * var(--rem)) calc(40 * var(--rem));
  }
}

.p-3min-group__image {
  margin-top: calc(60 * var(--rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-3min-group__image {
    margin-top: calc(20 * var(--rem));
  }
}

.p-3min-why {
  padding-block: calc(90 * var(--rem)) max(235 * var(--rem), 16.786vw);
  background-color: var(--color-dark-blue);
}
@media screen and (max-width: 767px) {
  .p-3min-why {
    padding-block: calc(55 * var(--rem)) max(calc(120 * var(--rem)), 32vw);
  }
}

.p-3min-why__wrap {
  display: flex;
  flex-direction: column;
  gap: calc(75 * var(--rem));
  margin-top: calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-why__wrap {
    gap: calc(60 * var(--rem));
    margin-top: calc(55 * var(--rem));
  }
}

.p-3min-why__image {
  position: relative;
  width: 92.346%;
  height: max(100%, 228 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-why__image {
    width: 100%;
    height: 54.4vw;
  }
}

.p-3min-why__number {
  position: absolute;
  top: calc(-1 * calc(25 * var(--rem)));
  left: calc(-15 * var(--rem));
  width: min(18.133vw, 101 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-why__number {
    top: calc(-15 * var(--rem));
    left: calc(-10 * var(--rem));
  }
}

@media screen and (min-width: 768px) {
  .p-3min-why__image--ml-auto-pc {
    margin-left: auto;
  }
}

.p-3min-data {
  padding-block: calc(40 * var(--rem)) calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-data {
    padding-bottom: calc(30 * var(--rem));
  }
}

.p-3min-data__list {
  display: grid;
  grid-template-columns: repeat(3, auto);
  grid-template-rows: repeat(2, auto);
  gap: calc(15 * var(--rem)) calc(20 * var(--rem));
  margin-top: calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-data__list {
    grid-template-columns: unset;
    grid-template-rows: unset;
    gap: calc(10 * var(--rem));
    margin-top: calc(20 * var(--rem));
  }
}

.p-3min-data__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(10 * var(--rem));
  border-radius: 20px;
  padding: calc(30 * var(--rem));
  background-color: var(--color-off-white-blue);
}
@media screen and (max-width: 767px) {
  .p-3min-data__item {
    gap: calc(20 * var(--rem));
    border-radius: 5px;
    padding-inline: calc(15 * var(--rem));
  }
}

.p-3min-data__item:nth-of-type(1) {
  grid-column: 1/4;
  grid-row: 1;
}
.p-3min-data__item:nth-of-type(2) {
  grid-column: 1;
  grid-row: 2;
}
.p-3min-data__item:nth-of-type(3) {
  grid-column: 2;
  grid-row: 2;
}
.p-3min-data__item:nth-of-type(4) {
  grid-column: 3;
  grid-row: 2;
}
@media screen and (max-width: 767px) {
  .p-3min-data__item:nth-of-type(1),
  .p-3min-data__item:nth-of-type(2),
  .p-3min-data__item:nth-of-type(3),
  .p-3min-data__item:nth-of-type(4) {
    grid-column: unset;
    grid-row: unset;
  }
  .p-3min-data__item:nth-of-type(2),
  .p-3min-data__item:nth-of-type(3),
  .p-3min-data__item:nth-of-type(4) {
    padding-inline: calc(25 * var(--rem));
  }
  .p-3min-data__item:nth-of-type(2) {
    padding-block: calc(15 * var(--rem));
  }
  .p-3min-data__item:nth-of-type(3),
  .p-3min-data__item:nth-of-type(4) {
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    gap: calc(10 * var(--rem));
  }
}

.p-3min-data__category {
  text-align: center;
  color: var(--color-royal-blue);
  font-size: calc(22 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-3min-data__category {
    font-size: calc(16 * var(--rem));
  }
}

.p-3min-data-grph-wrap {
  display: flex;
  justify-content: center;
  gap: calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-data-grph-wrap {
    gap: calc(20 * var(--rem));
  }
}

.p-3min-data-grph {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(5 * var(--rem));
  flex-basis: calc(80 * var(--rem));
}

.p-3min-data-grph__value,
.p-3min-data-grph__year {
  text-align: center;
  font-size: calc(18 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-3min-data-grph__value,
  .p-3min-data-grph__year {
    font-size: calc(13 * var(--rem));
  }
}

.p-3min-data-grph__bar-wrap {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 87.5%;
  height: calc(104 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-data-grph__bar-wrap {
    height: calc(76 * var(--rem));
  }
}

.p-3min-data-grph__bar {
  display: block;
  background-color: var(--color-royal-blue);
}

.p-3min-data__value-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(10 * var(--rem));
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-3min-data__value-wrap {
    flex-wrap: wrap;
    flex-direction: row;
    gap: calc(10 * var(--rem)) 0;
  }
}

.p-3min-data__value {
  text-align: center;
  color: var(--color-royal-blue);
  font-size: calc(28 * var(--rem));
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-3min-data__value {
    font-size: calc(19 * var(--rem));
  }
}

.p-3min-data__value--small {
  transform: scale(.7);
  transform-origin: center bottom;
}
@media screen and (max-width: 767px) {
  .p-3min-data__value--small {
    transform-origin: right bottom;
  }
}

.p-3min-data__em {
  font-size: calc(94 * var(--rem));
  font-weight: 800;
  line-height: .75;
}
@media screen and (max-width: 767px) {
  .p-3min-data__em {
    font-size: calc(60 * var(--rem));
  }
}

.p-3min-data__em--small {
  font-size: calc(89 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-data__em--small {
    font-size: calc(53 * var(--rem));
  }
}

.p-3min-data__note {
  text-align: center;
  font-size: calc(14 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-data__note {
    width: 100%;
    font-size: calc(13 * var(--rem));
  }
}

.p-3min-forward {
  padding-block: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-forward {
    padding-block: calc(5 * var(--rem)) calc(20 * var(--rem));
  }
}

.p-3min-forward__wrap {
  margin-top: calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-forward__wrap {
    margin-top: calc(20 * var(--rem));
  }
}

.p-3min-forward__image {
  margin-left: auto;
  width: 88.158%;
  height: max(100%, 240 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-3min-forward__image {
    margin-left: 0;
    width: 100%;
    height: 45.867vw;
  }
}

.p-works-about {
  padding-block: calc(115 * var(--rem)) calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-works-about {
    padding-block: calc(20 * var(--rem)) calc(25 * var(--rem));
  }
}

.p-works-about__heading {
  margin-bottom: calc(45 * var(--rem));
  text-align: center;
  font-size: calc(24 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-works-about__heading {
    margin-bottom: calc(15 * var(--rem));
    font-size: calc(16 * var(--rem));
    letter-spacing: .05em;
  }
}

@media screen and (max-width: 767px) {
  .p-works-about__text {
    margin-top: calc(10 * var(--rem));
  }
}

.p-works-product {
  padding-block: calc(40 * var(--rem)) calc(80 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-works-product {
    padding-block: calc(25 * var(--rem)) calc(40 * var(--rem));
  }
}

.p-works-product__text {
  margin-top: calc(10 * var(--rem));
  text-align: center;
  letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
  .p-works-product__text {
    margin-top: calc(20 * var(--rem));
    text-align: justify;
  }
}

.p-works-product__list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(50 * var(--rem));
  margin-top: calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-works-product__list {
    gap: calc(40 * var(--rem));
    margin-top: calc(10 * var(--rem));
  }
}

.p-works-product__item {
  display: flex;
  flex-direction: column;
  gap: calc(15 * var(--rem));
  flex-basis: calc(50% - calc(25 * var(--rem)));
}
@media screen and (max-width: 767px) {
  .p-works-product__item {
    gap: calc(10 * var(--rem));
    flex-basis: 100%;
  }
}

.p-works-product__image {
  width: 100%;
  height: calc(225 * var(--rem));
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-works-product__image {
    height: calc(159 * var(--rem));
  }
}

.p-works-product__caption {
  color: var(--color-dark-blue);
  font-size: calc(20 * var(--rem));
  font-weight: 700;
  letter-spacing: .2em;
}
@media screen and (max-width: 767px) {
  .p-works-product__caption {
    font-size: calc(16 * var(--rem));
  }
}

.p-company-heading {
  position: relative;
  border-bottom: 1px solid var(--color-light-gray);
  padding: 0 calc(15 * var(--rem)) calc(10 * var(--rem));
  font-size: calc(22 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
.p-company-heading::before {
  content: "";
  position: absolute;
  top: .25em;
  left: 0;
  width: 3px;
  height: calc(30 * var(--rem));
  background-color: var(--color-royal-blue);
}
@media screen and (max-width: 767px) {
  .p-company-heading {
    padding-inline: calc(10 * var(--rem));
    padding-bottom: calc(5 * var(--rem));
    font-size: calc(15 * var(--rem));
  }
  .p-company-heading::before {
    width: 2px;
    height: calc(18 * var(--rem));
  }
}

.p-company-heading--white {
  color: var(--color-white);
  border-bottom-color: var(--color-white);
}
.p-company-heading--white::before {
  background-color: var(--color-light-blue);
}

.p-company-message-head {
  position: relative;
  padding-top: calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-message-head {
    padding-top: calc(85 * var(--rem));
  }
}

.p-company-message-head__content {
  height: 32.286vw;
  background: url(../img/bg_message.jpg) no-repeat center / cover;
  background-image: image-set(url(../img/bg_message.jpg) 1x, url(../img/bg_message@2x.jpg) 2x);
  background-image: -webkit-image-set(url(../img/bg_message.jpg) 1x, url(../img/bg_message@2x.jpg) 2x);
}
@media screen and (max-width: 767px) {
  .p-company-message-head__content {
    height: max(57.333vw, 215 * var(--rem));
    background-image: url(../img/bg_message_sp.jpg);
    background-image: image-set(url(../img/bg_message_sp.jpg) 1x, url(../img/bg_message_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/bg_message_sp.jpg) 1x, url(../img/bg_message_sp@2x.jpg) 2x);
    padding-block: max(13.333vw, 50 * var(--rem));
  }
}

.p-company-message-head__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: calc(45 * var(--rem));
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-company-message-head__inner {
    justify-content: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .p-company-message-head__heading {
    position: absolute;
    top: calc(20 * var(--rem));
    left: 50%;
    transform: translateX(-50%);
  }
}

.p-company-message-head__copy {
  font-size: min(2.571vw,  calc(36 * var(--rem)));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-company-message-head__copy {
    font-size: max(4.8vw, calc(18 * var(--rem)));
  }
}

.p-company-message-body {
  padding-block: calc(55 * var(--rem)) calc(80 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-message-body {
    padding-block: calc(25 * var(--rem)) calc(65 * var(--rem));
  }
}

.p-company-message-body__text {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}

.p-company-message-body__signature {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: calc(10 * var(--rem));
  margin-top: calc(10 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-message-body__signature {
    gap: calc(20 * var(--rem));
  }
}

.p-company-message-body__name {
  text-align: right;
  font-size: calc(18 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-company-message-body__name {
    font-size: calc(14 * var(--rem));
  }
}

.p-company-message-body__image {
  width: min(59.104%, 316 * var(--rem));
  transform: translateX(calc(15 * var(--rem)));
}
@media screen and (max-width: 767px) {
  .p-company-message-body__image {
    transform: translateX(calc(10 * var(--rem)));
  }
}

.p-company-overview {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(65 * var(--rem));
  padding-top: calc(85 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-overview {
    gap: calc(40 * var(--rem));
    padding-top: calc(5 * var(--rem));
  }
}

.p-company-overview__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 calc(25 * var(--rem));
  width: min(100%, 677px);
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-company-overview__list {
    gap: 0 calc(10 * var(--rem));
  }
}

.p-company-overview__term,
.p-company-overview__description {
  padding: calc(15 * var(--rem)) calc(5 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-overview__term,
  .p-company-overview__description {
    padding-block: calc(10 * var(--rem));
    padding-inline: 0;
  }
}

.p-company-overview__term {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-basis: calc(133 * var(--rem));
  border-top: 1px solid var(--color-light-blue);
  text-align: center;
  font-weight: 600;
}
.p-company-overview__term:last-of-type {
  border-bottom: 1px solid var(--color-light-blue);
}
@media screen and (max-width: 767px) {
  .p-company-overview__term {
    flex-basis: calc(65 * var(--rem));
  }
}

.p-company-overview__description {
  flex-basis: calc(100% - 8.3125rem - 25 * var(--rem));
  border-top: 1px solid var(--color-white);
}
.p-company-overview__description:last-of-type {
  border-bottom: 1px solid var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-company-overview__description {
    flex-basis: calc(100% - 4.0625rem - 10 * var(--rem));
  }
}

.p-company-management {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(80 * var(--rem));
  margin-block: calc(80 * var(--rem)) calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-management {
    gap: calc(45 * var(--rem));
    margin-block: calc(70 * var(--rem)) calc(50 * var(--rem));
  }
}

.p-company-management__block {
  display: flex;
  flex-direction: column;
  gap: calc(40 * var(--rem));
  width: min(100%, 775px);
}
.p-company-management__block:not(:first-of-type) {
  margin-top: calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-management__block {
    gap: calc(35 * var(--rem));
  }
  .p-company-management__block:not(:first-of-type) {
    margin-top: calc(5 * var(--rem));
  }
}

.p-company-management__list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(40 * var(--rem)) calc(80 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-management__list {
    gap: calc(25 * var(--rem)) calc(30 * var(--rem));
  }
}

.p-company-management__item {
  display: flex;
  flex-direction: column;
  gap: calc(15 * var(--rem));
  width: min(100% / 3 - 160 / 3 * var(--rem), 205px);
}
@media screen and (max-width: 767px) {
  .p-company-management__item {
    gap: calc(5 * var(--rem));
    width: calc(50% - 15 * var(--rem));
  }
}

.p-company-management__image {
  width: 100%;
  aspect-ratio: 205/268;
}

.p-company-management__text {
  color: var(--color-white);
}

.p-company-management__position {
  font-size: calc(14 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-management__position {
    font-size: calc(11 * var(--rem));
  }
}

.p-company-management__name {
  font-size: calc(18 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-company-management__name {
    font-size: calc(14 * var(--rem));
  }
}

.p-company-philosophy {
  padding-block: calc(100 * var(--rem)) max(235 * var(--rem), 16.786vw);
  background: url(../img/bg_flowing-water_04.png) no-repeat center / cover, var(--gradation);
  background-image: image-set(url(../img/bg_flowing-water_04.png) 1x, url(../img/bg_flowing-water_04@2x.png) 2x), var(--gradation);
  background-image: -webkit-image-set(url(../img/bg_flowing-water_04.png) 1x, url(../img/bg_flowing-water_04@2x.png) 2x), var(--gradation);
}
@media screen and (max-width: 767px) {
  .p-company-philosophy {
    padding-block: calc(55 * var(--rem)) max(calc(130 * var(--rem)), 34.667vw);
    background-image: url(../img/bg_flowing-water_04_sp.png), var(--gradation);
    background-image: image-set(url(../img/bg_flowing-water_04_sp.png) 1x, url(../img/bg_flowing-water_04_sp@2x.png) 2x), var(--gradation);
    background-image: -webkit-image-set(url(../img/bg_flowing-water_04_sp.png) 1x, url(../img/bg_flowing-water_04_sp@2x.png) 2x), var(--gradation);
  }
}

.p-company-philosophy__block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(30 * var(--rem));
  margin-top: calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-philosophy__block {
    gap: calc(25 * var(--rem));
    margin-top: calc(35 * var(--rem));
  }
}

.p-company-philosophy-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(15 * var(--rem));
  text-align: center;
  letter-spacing: .2em;
}
@media screen and (max-width: 767px) {
  .p-company-philosophy-heading {
    gap: calc(10 * var(--rem));
  }
}

.p-company-philosophy-heading__text {
  padding-inline: .25em;
  background-image: linear-gradient(0deg, var(--color-white) 30%, transparent 30%);
  font-size: calc(24 * var(--rem));
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-company-philosophy-heading__text {
    font-size: calc(20 * var(--rem));
  }
}

.p-company-philosophy-heading__caption {
  color: var(--color-brand);
  font-size: calc(15 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-company-philosophy-heading__caption {
    font-size: calc(14 * var(--rem));
  }
}

.p-company-philosophy-mission {
  position: relative;
  margin-top: calc(10 * var(--rem));
  padding-block: calc(5 * var(--rem)) calc(25 * var(--rem));
  width: min(100%, 750px);
  text-align: center;
  font-size: calc(24 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
.p-company-philosophy-mission::before,
.p-company-philosophy-mission::after {
  content: "";
  position: absolute;
  top: 0;
  border-top: 1px solid var(--color-royal-blue);
  border-bottom: 1px solid var(--color-royal-blue);
  width: calc(30 * var(--rem));
  height: 100%;
}
.p-company-philosophy-mission::before {
  left: 0;
  border-left: 1px solid var(--color-royal-blue);
}
.p-company-philosophy-mission::after {
  right: 0;
  border-right: 1px solid var(--color-royal-blue);
}
@media screen and (max-width: 767px) {
  .p-company-philosophy-mission {
    margin-top: 0;
    padding-block: calc(10 * var(--rem)) calc(15 * var(--rem));
    font-size: calc(18 * var(--rem));
  }
  .p-company-philosophy-mission::before,
  .p-company-philosophy-mission::after {
    width: calc(13 * var(--rem));
  }
}

.p-company-philosophy-vision {
  display: flex;
  margin-block: calc(10 * var(--rem)) calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-philosophy-vision {
    flex-direction: column;
    margin-block: calc(5 * var(--rem));
  }
}

.p-company-philosophy-vision__item {
  flex-basis: calc(100% / 3);
  padding-inline: calc(40 * var(--rem));
  font-size: calc(18 * var(--rem));
  font-weight: 500;
  letter-spacing: .1em;
}
.p-company-philosophy-vision__item:not(:first-of-type) {
  border-left: 1px solid var(--color-royal-blue);
}
@media screen and (max-width: 767px) {
  .p-company-philosophy-vision__item {
    flex-basis: 100%;
    border-bottom: 1px solid var(--color-royal-blue);
    padding-block: calc(15 * var(--rem));
    padding-inline: 0;
    text-align: center;
    font-size: calc(14 * var(--rem));
  }
  .p-company-philosophy-vision__item:first-of-type {
    padding-top: 0;
  }
  .p-company-philosophy-vision__item:not(:first-of-type) {
    border-left: none;
  }
}

.p-company-philosophy-value {
  font-size: calc(18 * var(--rem));
  font-weight: 500;
  letter-spacing: .1em;
  width: min(100%, 530px);
}
@media screen and (max-width: 767px) {
  .p-company-philosophy-value {
    margin-top: calc(5 * var(--rem));
    font-size: calc(14 * var(--rem));
    letter-spacing: .05em;
  }
}

.p-company-philosophy-value__row {
  position: relative;
  padding-left: 1em;
}
.p-company-philosophy-value__row::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 100%;
  background: var(--url-arrow) no-repeat top .5em center / 44% auto;
}

.p-company-history-wrap {
  padding-top: calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-history-wrap {
    padding-block: calc(15 * var(--rem));
  }
}

.p-company-history {
  width: min(100%, 850px);
}

.p-company-history__switch {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border: 1px solid var(--color-white);
  padding-inline: calc(55 * var(--rem));
  width: 100%;
  height: calc(70 * var(--rem));
  text-align: center;
  color: var(--color-white);
  font-size: calc(24 * var(--rem));
  font-weight: 700;
  letter-spacing: .2em;
}
.p-company-history__switch::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(30 * var(--rem));
  width: calc(22 * var(--rem));
  height: calc(22 * var(--rem));
  background: var(--url-arrow-white) no-repeat center / auto 100%;
  transform: translateY(-50%) rotate(90deg);
  transition: transform .3s ease;
}
.p-company-history[open] .p-company-history__switch::after {
  transform: translateY(-50%) rotate(270deg);
}
@media screen and (max-width: 767px) {
  .p-company-history__switch {
    padding-inline: calc(35 * var(--rem));
    height: calc(60 * var(--rem));
    font-size: calc(18 * var(--rem));
  }
  .p-company-history__switch::after {
    right: calc(15 * var(--rem));
    width: calc(17 * var(--rem));
    height: calc(17 * var(--rem));
  }
}

.p-company-history__list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(20 * var(--rem)) 0;
  margin-top: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-history__list {
    margin-top: calc(30 * var(--rem));
  }
}

.p-company-history__term {
  padding-left: calc(5 * var(--rem));
  flex-basis: calc(160 * var(--rem));
  color: var(--color-light-blue);
  font-size: calc(24 * var(--rem));
  letter-spacing: .025em;
}
@media screen and (max-width: 767px) {
  .p-company-history__term {
    padding-left: 0;
    flex-basis: calc(94 * var(--rem));
    font-size: calc(21 * var(--rem));
  }
}

.p-company-history__year {
  font-family: var(--font-exsans);
}

.p-company-history__description {
  flex-basis: calc(100% - 160 * var(--rem));
  color: var(--color-white);
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  .p-company-history__description {
    padding-top: .5em;
    flex-basis: calc(100% - 94 * var(--rem));
    line-height: 1.75;
  }
}

.p-company-history-name {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(30 * var(--rem));
  margin-top: calc(70 * var(--rem));
  border-radius: 20px;
  padding: calc(65 * var(--rem));
  background-color: #d3dbe5;
}
@media screen and (max-width: 767px) {
  .p-company-history-name {
    gap: calc(15 * var(--rem));
    margin-top: calc(50 * var(--rem));
    border-radius: 5px;
    padding-block: calc(30 * var(--rem));
    padding-inline: calc(10 * var(--rem));
  }
}

.p-company-history-name__heading {
  text-align: center;
  font-size: calc(24 * var(--rem));
  font-weight: 700;
  letter-spacing: .2em;
}
@media screen and (max-width: 767px) {
  .p-company-history-name__heading {
    font-size: calc(16 * var(--rem));
  }
}

.p-company-history-name__text {
  text-align: center;
  font-size: calc(18 * var(--rem));
  font-weight: 500;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-company-history-name__text {
    font-size: calc(14 * var(--rem));
  }
}

.p-company-history-name__em {
  color: var(--color-royal-blue);
  font-weight: 700;
}

.p-company-history-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(20 * var(--rem));
  padding: calc(45 * var(--rem));
  width: min(100%, 775px);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-company-history-logo {
    padding-top: calc(30 * var(--rem));
    padding-inline: calc(20 * var(--rem));
    padding-bottom: calc(25 * var(--rem));
  }
}

.p-company-history-logo__image {
  width: min(91.636%, 437 * var(--rem));
}

.p-company-history-logo__text {
  width: min(100%, 512px);
}
@media screen and (max-width: 767px) {
  .p-company-history-logo__text {
    font-size: calc(13 * var(--rem));
  }
}

.p-company-group {
  padding-block: calc(115 * var(--rem)) calc(225 * var(--rem));
  background-image: var(--gradation);
}
@media screen and (max-width: 767px) {
  .p-company-group {
    padding-block: calc(40 * var(--rem)) calc(115 * var(--rem));
  }
}

.p-company-group__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-group__inner {
    gap: calc(20 * var(--rem));
  }
}

.p-company-group__text {
  width: min(100%, 726px);
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-company-group__text {
    margin-top: calc(10 * var(--rem));
  }
}

.p-company-group__area {
  margin-top: calc(70 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-group__area {
    margin-top: calc(50 * var(--rem));
  }
}

.p-company-group__area-image {
  margin-top: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-group__area-image {
    margin-top: calc(20 * var(--rem));
  }
}

.p-company-group__tree {
  margin-top: calc(115 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-group__tree {
    margin-top: calc(55 * var(--rem));
  }
}

.p-company-group__tree-image {
  margin-top: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-group__tree-image {
    margin-top: calc(10 * var(--rem));
  }
}

.p-company-group__business {
  margin-top: calc(110 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-group__business {
    margin-top: calc(55 * var(--rem));
  }
}

.p-company-group__btn {
  display: flex;
  justify-content: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-company-group__btn {
    margin-top: calc(40 * var(--rem));
  }
}

.p-company-group-medius {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(10 * var(--rem));
  padding: calc(30 * var(--rem)) calc(15 * var(--rem)) calc(45 * var(--rem));
  width: min(100%, 852px);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-company-group-medius {
    gap: calc(15 * var(--rem));
    padding-inline: calc(10 * var(--rem));
  }
}

.p-company-group-medius__heading {
  text-align: center;
  color: var(--color-brand);
  font-size: calc(24 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-company-group-medius__heading {
    font-size: calc(18 * var(--rem));
  }
}

.p-company-group-medius__text {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-company-group-medius__text {
    font-size: calc(13 * var(--rem));
  }
}

.p-company-business {
  display: flex;
  justify-content: space-between;
  gap: calc(20 * var(--rem));
  margin-top: calc(15 * var(--rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-company-business {
    flex-direction: column;
    gap: calc(25 * var(--rem));
    margin-top: calc(20 * var(--rem));
  }
}

.p-company-business__block {
  display: flex;
  flex-direction: column;
  gap: calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-business__block {
    gap: calc(25 * var(--rem));
  }
}

.p-company-business__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(10 * var(--rem));
}

.p-company-business__heading {
  padding-inline: .5em;
  background-color: #6094f5;
  color: var(--color-white);
  font-size: calc(18 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-company-business__heading {
    font-size: calc(16 * var(--rem));
  }
}

.p-company-business__heading--orange {
  background-color: #f59d56;
}

.p-company-business__heading--green {
  background-color: #37c4ba;
}

.p-company-business__heading--yellow {
  background-color: #f0d146;
}

.p-company-business__heading--porple {
  background-color: #b2a0eb;
}

.p-company-business__item {
  font-size: calc(15 * var(--rem));
}
.p-company-business__item::before {
  content: "・";
}
@media screen and (max-width: 767px) {
  .p-company-business__item {
    font-size: calc(13 * var(--rem));
  }
}

.p-company-office {
  padding-bottom:  calc(95 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-office {
    padding-bottom:  calc(50 * var(--rem));
  }
}

.p-company-office__hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-office__hero {
    gap: calc(30 * var(--rem));
  }
}

.p-company-office__text {
  text-align: center;
  font-size: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-office__text {
    font-size: calc(14 * var(--rem));
  }
}

.p-company-office-anchor {
  display: flex;
  flex-wrap: wrap;
  gap: calc(10 * var(--rem)) calc(15 * var(--rem));
  width: min(100%, 790px);
}
@media screen and (max-width: 767px) {
  .p-company-office-anchor {
    gap: calc(15 * var(--rem)) calc(10 * var(--rem));
  }
}

.p-company-office-anchor__item {
  width: calc(100 * var(--rem));
  min-height: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-office-anchor__item {
    width: 22.687%;
    min-height: calc(31 * var(--rem));
  }
}

.p-company-office-anchor__link {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border: 1px solid var(--color-royal-blue);
  padding-inline: calc(20 * var(--rem));
  width: 100%;
  height: 100%;
  text-align: center;
  font-size: calc(15 * var(--rem));
  font-weight: 500;
  letter-spacing: .1em;
}
.p-company-office-anchor__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(10 * var(--rem));
  border-right: 1px solid var(--color-royal-blue);
  border-bottom: 1px solid var(--color-royal-blue);
  width: calc(5 * var(--rem));
  height: calc(5 * var(--rem));
  transform: translateY(-50%) rotate(45deg);
  transition: var(--effect-transform);
}
.p-company-office-anchor__link:hover::after {
  transform: translateY(calc(-50% + 3px)) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .p-company-office-anchor__link {
    padding-inline: calc(15 * var(--rem));
    font-size: calc(12 * var(--rem));
  }
  .p-company-office-anchor__link::after {
    right: calc(5 * var(--rem));
    width: calc(4 * var(--rem));
    height: calc(4 * var(--rem));
  }
}

.p-company-office-content {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--rem));
  margin-top: calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-office-content {
    gap: calc(10 * var(--rem));
    margin-top: calc(40 * var(--rem));
  }
}

.p-company-office-content--mt100 {
  margin-top: calc(100 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-office-content--mt100 {
    margin-top: calc(50 * var(--rem));
  }
}

.p-company-office-license {
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--rem));
}

.p-company-office-license__heading {
  color: #636363;
  font-size: calc(14 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-company-office-license__heading {
    font-size: calc(12 * var(--rem));
  }
}

.p-company-office-license__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: calc(20 * var(--rem)) calc(25 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-office-license__wrap {
    gap: calc(10 * var(--rem)) calc(15 * var(--rem));
  }
}

.p-company-office-license__link {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--color-brand);
  border-radius: 5px;
  padding: calc(10 * var(--rem));
  width: min(100%, calc(315 * var(--rem)));
  min-height: calc(46 * var(--rem));
  background-color: var(--color-brand);
  text-align: center;
  color: var(--color-white);
  font-size: calc(14 * var(--rem));
  transition: var(--effect-bg), var(--effect-color);
}
.p-company-office-license__link:hover {
  border-color: var(--color-brand);
  background-color: var(--color-white);
  color: var(--color-brand);
}
@media screen and (max-width: 767px) {
  .p-company-office-license__link {
    border-radius: 3px;
    padding: calc(5 * var(--rem));
    width: calc(50% - 7.5 * var(--rem));
    min-height: calc(40 * var(--rem));
    font-size: calc(12 * var(--rem));
  }
}

@media screen and (max-width: 767px) {
  .p-company-office-license__link--wide-sp {
    width: min(100%, calc(276 * var(--rem)));
  }
}

.p-company-office-list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(45 * var(--rem)) calc(50 * var(--rem));
  margin-top: calc(25 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-office-list {
    gap: calc(30 * var(--rem));
    margin-top: calc(20 * var(--rem));
  }
}

.p-company-office-list__item {
  display: flex;
  flex-direction: column;
  gap: calc(15 * var(--rem));
  flex-basis: calc(50% - 25 * var(--rem));
  border-radius: 5px;
  padding: calc(30 * var(--rem));
  background-color: var(--color-off-white-blue);
}
@media screen and (max-width: 767px) {
  .p-company-office-list__item {
    gap: calc(10 * var(--rem));
    flex-basis: 100%;
    border-radius: 4px;
    padding: calc(20 * var(--rem));
  }
}

.p-company-office-list__heading {
  border-bottom: 1px solid var(--color-light-gray);
  padding-bottom: calc(10 * var(--rem));
  color: var(--color-brand);
  font-size: calc(20 * var(--rem));
  font-weight: 700;
  letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
  .p-company-office-list__heading {
    font-size: calc(14 * var(--rem));
  }
}

.p-company-office-list__btn {
  display: flex;
  align-items: center;
  position: relative;
  border: 1px solid var(--color-brand);
  border-radius: 15px;
  padding-inline: calc(15 * var(--rem)) calc(25 * var(--rem));
  width: calc(149 * var(--rem));
  min-height: calc(34 * var(--rem));
  background-color: var(--color-white);
  color: var(--color-brand);
  font-size: calc(13 * var(--rem));
  font-weight: 500;
  transition: var(--effect-bg), var(--effect-color);
}
.p-company-office-list__btn:hover {
  background-color: var(--color-brand);
  color: var(--color-white);
}
.p-company-office-list__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(15 * var(--rem));
  border-top: 1px solid var(--color-brand);
  border-right: 1px solid var(--color-brand);
  width: calc(7 * var(--rem));
  height: calc(7 * var(--rem));
  transform: translateY(-50%) rotate(45deg);
}
.p-company-office-list__btn:hover::after {
  border-top-color: var(--color-white);
  border-right-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-company-office-list__btn {
    border-radius: 13px;
    padding-inline: calc(10 * var(--rem)) calc(20 * var(--rem));
    width: calc(130 * var(--rem));
    min-height: calc(28 * var(--rem));
    font-size: calc(12 * var(--rem));
  }
  .p-company-office-list__btn::after {
    right: calc(10 * var(--rem));
    width: calc(6 * var(--rem));
    height: calc(6 * var(--rem));
  }
}

.p-company-responsibility {
  padding-block: calc(20 * var(--rem)) calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-responsibility {
    padding-block: 0 calc(20 * var(--rem));
  }
}

.p-company-responsibility__text,
.p-company-responsibility__btn {
  margin-top: calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-company-responsibility__text,
  .p-company-responsibility__btn {
    margin-top: calc(20 * var(--rem));
  }
}

.p-company-responsibility__text {
  width: min(100%, 829px);
  text-align: justify;
}

.p-contact {
  padding-block: calc(80 * var(--rem)) calc(110 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding-block: calc(35 * var(--rem)) calc(45 * var(--rem));
  }
}

@media screen and (min-width: 768px) {
  .p-contact__form {
    margin-top: calc(40 * var(--rem));
  }
}

.p-thanks {
  padding-block: calc(10 * var(--rem)) calc(100 * var(--rem));
}
@media screen and (min-width: 768px) {
  .p-thanks {
    padding-bottom: calc(80 * var(--rem));
  }
}

.p-thanks__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(60 * var(--rem));
}
@media screen and (min-width: 768px) {
  .p-thanks__inner {
    gap: calc(40 * var(--rem));
  }
}

.p-thanks__heading {
  text-align: center;
  color: var(--color-brand);
  font-size: calc(27 * var(--rem));
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-thanks__heading {
    font-size: calc(20 * var(--rem));
  }
}

.p-thanks__text {
  width: min(100%, 660px);
  text-align: justify;
}

.p-privacy {
  padding-block: calc(90 * var(--rem)) calc(145 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-privacy {
    padding-block: calc(40 * var(--rem)) calc(90 * var(--rem));
  }
}

.p-privacy__block {
  display: flex;
  flex-direction: column;
  gap: calc(25 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-privacy__block {
    gap: calc(20 * var(--rem));
  }
  .p-privacy__block:not(:first-of-type) {
    margin-top: calc(10 * var(--rem));
  }
}

.p-privacy__block--gap50 {
  gap: calc(50 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-privacy__block--gap50 {
    gap: calc(40 * var(--rem));
  }
}

.p-privacy__text {
  margin-bottom: calc(25 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-privacy__text {
    margin-bottom: calc(20 * var(--rem));
  }
}

.p-privacy__term {
  font-size: calc(18 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-privacy__term {
    font-size: calc(16 * var(--rem));
  }
}

.p-recruit-arrow {
  background: url(../img/bg_arrow_orange.png) no-repeat center / 100% auto;
  background-image: image-set(url(../img/bg_arrow_orange.png) 1x, url(../img/bg_arrow_orange@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/bg_arrow_orange.png) 1x, url(../img/bg_arrow_orange@2x.png) 2x);
}

.p-recruit-arrow--blue {
  background-image: url(../img/bg_arrow_blue.png);
  background-image: image-set(url(../img/bg_arrow_blue.png) 1x, url(../img/bg_arrow_blue@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/bg_arrow_blue.png) 1x, url(../img/bg_arrow_blue@2x.png) 2x);
}

.p-recruit-arrow--purple {
  background-image: url(../img/bg_arrow_purple.png);
  background-image: image-set(url(../img/bg_arrow_purple.png) 1x, url(../img/bg_arrow_purple@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/bg_arrow_purple.png) 1x, url(../img/bg_arrow_purple@2x.png) 2x);
}

.p-recruit-arrow--red {
  background-image: url(../img/bg_arrow_red.png);
  background-image: image-set(url(../img/bg_arrow_red.png) 1x, url(../img/bg_arrow_red@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/bg_arrow_red.png) 1x, url(../img/bg_arrow_red@2x.png) 2x);
}

.p-recruit-arrow--green {
  background-image: url(../img/bg_arrow_green.png);
  background-image: image-set(url(../img/bg_arrow_green.png) 1x, url(../img/bg_arrow_green@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/bg_green_blue.png) 1x, url(../img/bg_arrow_green@2x.png) 2x);
}

.p-recruit-arrow--blur {
  filter: blur(5px);
}
@media screen and (max-width: 767px) {
  .p-recruit-arrow--blur {
    filter: blur(2.5px);
  }
}

.p-recruit-slider {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-recruit-slider {
    height: 158.667vw;
  }
}

.p-recruit-slider__title {
  position: absolute;
  top: 26.071vw;
  left: 10.357vw;
  z-index: var(--layer-high);
}
@media screen and (max-width: 767px) {
  .p-recruit-slider__title {
    top: 56vw;
    left: 6.667vw;
  }
}

.p-recruit-slider__title-text {
  padding-inline: .714vw;
  background-color: var(--color-white);
  font-size: 3.571vw;
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-recruit-slider__title-text {
    padding-inline: 1.333vw;
    font-size: 6.133vw;
  }
}

.p-recruit-slider__title-image {
  position: absolute;
  top: calc(100% + .357vw);
  left: 7.143vw;
  width: 34vw;
}
@media screen and (max-width: 767px) {
  .p-recruit-slider__title-image {
    top: calc(100% + .667vw);
    left: 12.533vw;
    width: 57.867vw;
  }
}

.p-recruit-slider .swiper-wrapper,
.p-recruit-data-slider .swiper-wrapper {
  transition-timing-function: linear;
}

.p-recruit-slider__arrow {
  position: absolute;
  z-index: var(--layer-upper);
}
.p-recruit-slider__arrow:nth-of-type(1) {
  top: 16.857vw;
  right: calc(50% - 4.214vw);
  width: 18.429vw;
  height: 8.643vw;
}
.p-recruit-slider__arrow:nth-of-type(2) {
  top: 10vw;
  left: calc(50% + 37.929vw);
  width: 10.714vw;
  height: 5vw;
}
.p-recruit-slider__arrow:nth-of-type(3) {
  right: calc(50% + 37.643vw);
  bottom: 6.643vw;
  width: 9.143vw;
  height: 4.286vw;
}
.p-recruit-slider__arrow:nth-of-type(4) {
  right: 50%;
  bottom: -5.286vw;
  width: 17.143vw;
  height: 8vw;
}
.p-recruit-slider__arrow:nth-of-type(5) {
  left: calc(50% + 26.857vw);
  bottom: 11.857vw;
  width: 13.214vw;
  height: 6.143vw;
}
.p-recruit-slider__arrow:nth-of-type(6) {
  top: 22.133vw;
  right: calc(50% + 27.733vw);
  width: 14.933vw;
  height: 6.933vw;
}
.p-recruit-slider__arrow:nth-of-type(7) {
  top: 100%;
  right: calc(50% + 33.067vw);
  width: 15.733vw;
  height: 7.467vw;
}
@media screen and (max-width: 767px) {
  .p-recruit-slider__arrow:nth-of-type(1) {
    top: 36vw;
    left: calc(50% + 14.933vw);
    right: auto;
    width: 22.133vw;
    height: 10.4vw;
  }
  .p-recruit-slider__arrow:nth-of-type(3) {
    right: calc(50% + 16.8vw);
    bottom: 19.2vw;
    width: 14.667vw;
    height: 6.933vw;
  }
  .p-recruit-slider__arrow:nth-of-type(4) {
    left: calc(50% + 18.933vw);
    right: auto;
    bottom: 0;
    width: 27.733vw;
    height: 13.067vw;
  }
}

.p-recruit-heading {
  width: 100%;
  font-size: calc(32 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-heading {
    font-size: calc(20 * var(--rem));
  }
}

.p-recruit-heading--white {
  color: var(--color-white);
}

.p-recruit-text {
  font-weight: 500;
}

.p-recruit-text--white {
  color: var(--color-white);
}

.p-recruit-about {
  margin-top: calc(-95 * var(--rem));
  padding-block: calc(165 * var(--rem)) calc(135 * var(--rem));
  background: url(../img/bg_recruit-about.png?260623) no-repeat center bottom / 100% auto, url(../img/bg_tokyo.png?260623) no-repeat center top / 100% auto;
  background-color: var(--color-primary-blue);
  background-image: image-set(url(../img/bg_recruit-about.png?260623) 1x, url(../img/bg_recruit-about@2x.png?260623) 2x), image-set(url(../img/bg_tokyo.png?260623) 1x, url(../img/bg_tokyo@2x.png?260623) 2x);
  background-image: -webkit-image-set(url(../img/bg_recruit-about.png?260623) 1x, url(../img/bg_recruit-about@2x.png?260623) 2x), -webkit-image-set(url(../img/bg_tokyo.png?260623) 1x, url(../img/bg_tokyo@2x.png?260623) 2x);
  clip-path: polygon(0 5.695%, 100% 0, 100% 100%, 0% 100%);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-recruit-about {
    margin-top: calc(-30 * var(--rem));
    padding-block: calc(60 * var(--rem)) calc(100 * var(--rem));
    background-image: url(../img/bg_tokyo_sp.png?260623);
    background-image: image-set(url(../img/bg_tokyo_sp.png?260623) 1x, url(../img/bg_tokyo_sp@2x.png?260623) 2x);
    background-image: -webkit-image-set(url(../img/bg_tokyo_sp.png?260623) 1x, url(../img/bg_tokyo_sp@2x.png?260623) 2x);
    background-position: center top;
    clip-path: polygon(0 1.879%, 100% 0, 100% 100%, 0% 100%);
  }
}

.p-recruit-about__title {
  margin-top: calc(50 * var(--rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-recruit-about__title {
    margin-top: 0;
  }
}

.p-recruit-about__media-heading {
  margin-top: calc(45 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-about__media-heading {
    margin-top: calc(30 * var(--rem));
  }
}

.p-recruit-about__media-text {
  margin-top: calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-about__media-text {
    margin-top: calc(10 * var(--rem));
  }
}

.p-recruit-about__figures {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  gap: min(5.714vw, calc(80 * var(--rem))) min(4.643vw, 65 * var(--rem));
  flex-basis: min(96.857%, 678 * var(--rem));
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-recruit-about__figures {
    gap: min(10.667vw, 40 * var(--rem)) min(9.333vw, 35 * var(--rem));
    flex-basis: 100%;
  }
}

.p-recruit-about__figures-cover {
  border-radius: 50px;
  overflow: hidden;
}
.p-recruit-about__figures-cover:nth-of-type(1) {
  flex-basis: 26.991%;
  height: min(17.143vw, 240 * var(--rem));
  transform: translateY(min(3.214vw, 45 * var(--rem)));
}
.p-recruit-about__figures-cover:nth-of-type(2) {
  flex-basis: 56.637%;
  height: min(25.143vw, 352 * var(--rem));
}
.p-recruit-about__figures-cover:nth-of-type(3) {
  flex-basis: 56.047%;
  height: min(17.929vw, 251 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-about__figures-cover {
    border-radius: 26px;
  }
  .p-recruit-about__figures-cover:nth-of-type(1) {
    flex-basis: 25.867%;
    height: 33.867vw;
    transform: translateY(min(6.667vw, 25 * var(--rem)));
  }
  .p-recruit-about__figures-cover:nth-of-type(2) {
    flex-basis: 60.597%;
    height: 49.6vw;
  }
  .p-recruit-about__figures-cover:nth-of-type(3) {
    flex-basis: 60%;
    height: 35.2vw;
  }
}

.p-recruit-about__arrow {
  position: absolute;
  z-index: var(--layer-upper);
}
.p-recruit-about__arrow:nth-of-type(1) {
  top: 53.869%;
  left: -2%;
  width: 9.143vw;
  height: 4.286vw;
} 
.p-recruit-about__arrow:nth-of-type(2) {
  top: 74.015%;
  right: -3.571%;
  width: 10.714vw;
  height: 5vw;
}
.p-recruit-about__arrow:nth-of-type(3) {
  top: -78.771%;
  right: 0;
  width: 12vw;
  height: 5.6vw;
  filter: blur(1px);
}
.p-recruit-about__arrow:nth-of-type(4) {
  top: 3.601%;
  left: 0;
  width: 19.733vw;
  height: 9.333vw;
  filter: blur(1.7px);
}
@media screen and (max-width: 767px) {
  .p-recruit-about__arrow:nth-of-type(1) {
    top: 54.017%;
    left: -5.97%;
    width: 17.867vw;
    height: 8.267vw;
  } 
  .p-recruit-about__arrow:nth-of-type(2) {
    top: 73.961%;
    right: -10.448%;
    width: 21.067vw;
    height: 9.867vw;
  }
}

.p-recruit-ideal-profile {
  padding-block: calc(110 * var(--rem)) calc(125 * var(--rem));
  background: url(../img/bg_ideal-profile_top.png) no-repeat center top / 100% auto, url(../img/bg_ideal-profile_bottom.png) no-repeat center bottom / 100% auto;
  background-image: image-set(url(../img/bg_ideal-profile_top.png) 1x, url(../img/bg_ideal-profile_top@2x.png) 2x), image-set(url(../img/bg_ideal-profile_bottom.png) 1x, url(../img/bg_ideal-profile_bottom@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/bg_ideal-profile_top.png) 1x, url(../img/bg_ideal-profile_top@2x.png) 2x), -webkit-image-set(url(../img/bg_ideal-profile_bottom.png) 1x, url(../img/bg_ideal-profile_bottom@2x.png) 2x);
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile {
    padding-block: calc(60 * var(--rem)) calc(55 * var(--rem));
    background-image: url(../img/bg_ideal-profile_top_sp.png),  url(../img/bg_ideal-profile_bottom_sp.png);
    background-image: image-set(url(../img/bg_ideal-profile_top_sp.png) 1x, url(../img/bg_ideal-profile_top_sp@2x.png) 2x), image-set(url(../img/bg_ideal-profile_bottom_sp.png) 1x, url(../img/bg_ideal-profile_bottom_sp@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/bg_ideal-profile_top_sp.png) 1x, url(../img/bg_ideal-profile_top_sp@2x.png) 2x), -webkit-image-set(url(../img/bg_ideal-profile_bottom_sp.png) 1x, url(../img/bg_ideal-profile_bottom_sp@2x.png) 2x);
  }
}

.p-recruit-ideal-profile__wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(40 * var(--rem));
  border-radius: 89px;
  padding: calc(65 * var(--rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__wrap {
    gap: calc(20 * var(--rem));
    border-radius: 40px;
    padding-block: calc(40 * var(--rem)) calc(50 * var(--rem));
    padding-inline: calc(10 * var(--rem));
  }
}

.p-recruit-ideal-profile__lead {
  display: flex;
  flex-direction: column;
  gap: 1.75em;
  color: var(--color-brand);
  font-size: calc(18 * var(--rem));
  font-weight: 500;
  letter-spacing: .075em;
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__lead {
    padding-inline: calc(15 * var(--rem));
    font-size: calc(13 * var(--rem));
  }
}

.p-recruit-ideal-profile__title {
  margin-top: calc(20 * var(--rem));
  text-align: center;
  color: var(--color-deep-navy);
  font-size: calc(32 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__title {
    font-size: calc(20 * var(--rem));
  }
}

.p-recruit-ideal-profile__copy {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(45 * var(--rem));
  margin-top: calc(10 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__copy {
    flex-direction: column;
    gap: calc(25 * var(--rem));
    margin-top: calc(5 * var(--rem));
  }
}

.p-recruit-ideal-profile__copy-image {
  width: min(67.619%, 340 * var(--rem));
}

.p-recruit-ideal-profile__copy-text {
  color: var(--color-deep-navy);
  font-size: calc(24 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__copy-text {
    text-align: center;
    font-size: calc(16 * var(--rem));
  }
}

.p-recruit-ideal-profile__rinciples {
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--rem));
  border-radius: 20px;
  padding: calc(40 * var(--rem)) calc(20 * var(--rem)) calc(30 * var(--rem));
  width: 100%;
  background-color: var(--color-pale-blue-gray);
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__rinciples {
    gap: calc(25 * var(--rem));
    border-radius: 18px;
    padding-block: calc(35 * var(--rem));
    padding-inline: calc(15 * var(--rem));
  }
}

.p-recruit-ideal-profile__rinciples-wrap {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__rinciples-wrap {
    flex-direction: column;
    gap: calc(30 * var(--rem));
  }
}

.p-recruit-ideal-profile__rinciples-list {
  display: flex;
  flex-direction: column;
  gap: calc(15 * var(--rem));
  flex-basis: calc(100% / 3);
}
.p-recruit-ideal-profile__rinciples-list:not(:last-of-type) {
  position: relative;
  border-right: 1px solid var(--color-deep-navy);
}
.p-recruit-ideal-profile__rinciples-list:not(:last-of-type)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(-20 * var(--rem));
  width: calc(40 * var(--rem));
  height: calc(68 * var(--rem));
  background: var(--color-pale-blue-gray) var(--url-arrow-navy) no-repeat center / 43.5% auto;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__rinciples-list {
    flex-direction: row;
    gap: calc(5 * var(--rem));
    flex-basis: 100%;
  }
  .p-recruit-ideal-profile__rinciples-list:not(:last-of-type) {
    border-right: none;
    border-bottom: 1px solid var(--color-deep-navy);
    padding-bottom: calc(30 * var(--rem));
  }
  .p-recruit-ideal-profile__rinciples-list:not(:last-of-type)::after {
    top: auto;
    left: 50%;
    right: auto;
    bottom: calc(-30 * var(--rem));
    width: calc(20 * var(--rem));
    height: calc(59 * var(--rem));
    background-size: 75% auto;
    transform: translateX(-50%) rotate(90deg);
  }
}

.p-recruit-ideal-profile__rinciples-item {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__rinciples-item {
    flex-direction: column;
    flex-basis: calc(100% / 3);
  }
}

.p-recruit-ideal-profile__rinciples-icon {
  flex-basis: 40%;
  padding-left: calc(20 * var(--rem));
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__rinciples-icon {
    flex-basis: 100%;
    padding-left: 0;
    text-align: center;
  }
}

.p-recruit-ideal-profile__rinciples-text {
  flex-basis: 60%;
  padding-inline: calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__rinciples-text {
    flex-basis: 100%;
    padding-inline: 0;
    text-align: center;
  }
}

.p-recruit-ideal-profile__rinciples-term {
  color: var(--color-deep-navy);
  font-size: calc(26 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__rinciples-term {
    font-size: calc(16 * var(--rem));
  }
}

.p-recruit-ideal-profile__rinciples-description {
  color: #455866;
  font-size: calc(13 * var(--rem));
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__rinciples-description {
    font-size: calc(10 * var(--rem));
  }
}

.p-recruit-ideal-profile__rinciples-theme {
  text-align: center;
  color: var(--color-deep-navy);
  font-size: calc(40 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__rinciples-theme {
    font-size: calc(30 * var(--rem));
  }
}

.p-recruit-ideal-profile__content {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__content {
    flex-direction: column;
    margin-top: calc(15 * var(--rem));
  }
}

.p-recruit-ideal-profile__content-left {
  display: flex;
  flex-direction: column;
  flex-basis: 64%;
  gap: calc(15 * var(--rem));
  padding-left: calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__content-left {
    flex-basis: 100%;
    padding-left: 0;
  }
}

.p-recruit-ideal-profile__content-heading {
  color: var(--color-deep-navy);
  font-size: calc(24 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__content-heading {
    text-align: center;
    font-size: calc(16 * var(--rem));
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__content-text {
    padding-inline: calc(15 * var(--rem));
  }
}

.p-recruit-ideal-profile__content-right {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-basis: 36%;
  padding-inline: calc(10 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-ideal-profile__content-right {
    flex-basis: 100%;
    padding-inline: calc(30 * var(--rem));
  }
}

.p-recruit-job-introduction {
  padding-block: calc(90 * var(--rem)) calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-job-introduction {
    padding-block: calc(15 * var(--rem)) calc(50 * var(--rem));
  }
}

.p-recruit-job {
  display: flex;
  flex-direction: column;
  gap: calc(90 * var(--rem));
  margin-top: calc(45 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-job {
    gap: calc(80 * var(--rem));
    margin-top: calc(15 * var(--rem));
  }
}

.p-recruit-job__wrap {
  display: flex;
  justify-content: center;
  gap: calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-job__wrap {
    flex-direction: column;
    gap: calc(70 * var(--rem));
  }
}

.p-recruit-job__card {
  display: flex;
  flex-direction: column;
  gap: calc(15 * var(--rem));
  position: relative;
  
}
@media screen and (max-width: 767px) {
  .p-recruit-job__card {
    gap: calc(10 * var(--rem));
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-job__card--ud {
    flex-direction: column-reverse;
  }
}

.p-recruit-job__card--trisect {
  flex-basis: 29.167%;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__card--trisect {
    flex-basis: 100%;
  }
}

.p-recruit-job__card-image {
  text-align: center;
}

.p-recruit-job__card-image--left {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0 67px 67px 0;
  width: calc(50% + 80px);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__card-image--left {
    position: static;
    margin-top: calc(10 * var(--rem));
    border-radius: 0 31px 31px 0;
    width: calc(100% - 20px);
  }
}

.p-recruit-job__card-info {
  display: flex;
  flex-direction: column;
  gap: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-job__card-info {
    gap: calc(10 * var(--rem));
  }
}

.p-recruit-job__card-info--w1000 {
  margin-inline: auto;
  padding-inline: 20px;
  width: min(100%, 1040px);
}
@media screen and (min-width: 768px) {
  .p-recruit-job__card-info--w1000 {
    min-height: calc(27vw + 43px);
  }
}

.p-recruit-job__card-number {
  color: var(--color-primary-blue);
  font-family: var(--font-outfit);
  font-size: calc(40 * var(--rem));
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__card-number {
    font-size: calc(35 * var(--rem));
  }
}

.p-recruit-job__card-number--protrude {
  position: absolute;
  top: calc(-10 * var(--rem));
  left: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-job__card-number--protrude {
    top: calc(-15 * var(--rem));
    left: 0;
  }
}

.p-recruit-job__card-number-content {
  border-top: 2px solid var(--color-primary-blue);
  line-height: inherit;
}

.p-recruit-job__card-title {
  font-size: calc(26 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__card-title {
    font-size: calc(22 * var(--rem));
  }
}

.p-recruit-job__card-number--right,
.p-recruit-job__card-title--right,
.p-recruit-job__card-text--right {
  margin-left: auto;
  width: 37%;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__card-number--right,
  .p-recruit-job__card-title--right,
  .p-recruit-job__card-text--right {
    margin-left: 0;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .p-recruit-job__card-title--right {
    font-size: calc(35 * var(--rem));
  }
}

.p-recruit-job__card-text {
  font-weight: 500;
}

.p-recruit-service {
  margin-top: calc(85 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-service {
    margin-top: calc(40 * var(--rem));
  }
}

.p-recruit-service__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(25 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-service__inner {
    gap: calc(15 * var(--rem));
  }
}

.p-recruit-service__customer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(15 * var(--rem));
  border-radius: 19px;
  padding: calc(25 * var(--rem)) calc(25 * var(--rem)) calc(40 * var(--rem));
  width: min(84.179%, 482 * var(--rem));
  background-color: var(--color-navy);
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-recruit-service__customer {
    gap: calc(10 * var(--rem));
    border-radius: 13px;
    padding: calc(20 * var(--rem));
  }
}

.p-recruit-service__customer-image {
  width: min(52.066%, 194 * var(--rem));
}

.p-recruit-service__customer-text {
  text-align: center;
  font-size: calc(24 * var(--rem));
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-recruit-service__customer-text {
    font-size: calc(16 * var(--rem));
  }
}

.p-recruit-service__customer-small {
  font-size: calc(16 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-recruit-service__customer-small {
    font-size: calc(10 * var(--rem));
  }
}

.p-recruit-service__vector {
  position: relative;
  width: 10px;
  height: 52px;
  background-color: var(--color-brand);
}
.p-recruit-service__vector::before,
.p-recruit-service__vector::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  transform: translateX(-50%);
}
.p-recruit-service__vector::before {
  bottom: 100%;
  border-bottom: 11px solid var(--color-brand);
}
.p-recruit-service__vector::after {
  top: 100%;
  border-top: 11px solid var(--color-brand);
}
@media screen and (max-width: 767px) {
  .p-recruit-service__vector {
    width: 7px;
    height: 34px;
  }
  .p-recruit-service__vector::before,
  .p-recruit-service__vector::after {
    border-left-width: 8px;
    border-right-width: 8px;
  }
  .p-recruit-service__vector::before {
    border-bottom-width: 7px;
  }
  .p-recruit-service__vector::after {
    border-top-width: 7px;
  }
}

.p-recruit-service__business {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(30 * var(--rem));
  border-radius: 31px;
  padding: calc(50 * var(--rem)) calc(20 * var(--rem));
  width: 100%;
  background-color: var(--color-pale-blue-gray);
}
@media screen and (max-width: 767px) {
  .p-recruit-service__business {
    border-radius: 21px;
    padding-block: calc(30 * var(--rem));
  }
}

.p-recruit-service__business-logo {
  width: min(92.203%, 416 * var(--rem));
}

.p-recruit-service__business-list {
  display: flex;
  justify-content: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-recruit-service__business-list {
    flex-wrap: wrap;
    gap: calc(40 * var(--rem)) 0;
  }
}

.p-recruit-service__business-item {
  display: flex;
  flex-direction: column;
  gap: calc(15 * var(--rem));
  position: relative;
  padding-inline: calc(20 * var(--rem));
  flex-basis: 25%;
}
.p-recruit-service__business-item:not(:first-of-type) {
  border-left: 1px solid var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-recruit-service__business-item {
    gap: calc(10 * var(--rem));
    padding-inline: 0 calc(15 * var(--rem));
    flex-basis: 50%;
  }
  .p-recruit-service__business-item:not(:first-of-type) {
    border-left: none;
  }
  .p-recruit-service__business-item:nth-of-type(2n) {
    border-left: 1px solid var(--color-white);
    padding-inline: calc(15 * var(--rem)) 0;
  }
  .p-recruit-service__business-item:nth-of-type(n+3)::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: calc(100% + 20 * var(--rem));
    width: 100%;
    height: 1px;
    background-color: var(--color-white);
  }
}

.p-recruit-service__business-heading {
  display: flex;
  align-items: center;
  border-radius: 20px;
  min-height: calc(40 * var(--rem));
  background-color: #3bb6e0;
  color: var(--color-white);
  font-weight: 700;
}
.p-recruit-service__business-item:nth-of-type(2) .p-recruit-service__business-heading {
  background-color: var(--color-royal-blue);
}
.p-recruit-service__business-item:nth-of-type(3) .p-recruit-service__business-heading {
  background-color: #d83d3a;
}
.p-recruit-service__business-item:nth-of-type(4) .p-recruit-service__business-heading {
  background-color: #f7d748;
  color: var(--color-black);
}
@media screen and (max-width: 767px) {
  .p-recruit-service__business-heading {
    border-radius: 14px;
    min-height: calc(29 * var(--rem));
  }
}

.p-recruit-service__business-number {
  flex-basis: 3em;
  text-align: center;
  font-size: calc(16 * var(--rem));
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-recruit-service__business-number {
    font-size: calc(12 * var(--rem));
  }
}

.p-recruit-service__business-job {
  padding-inline: calc(10 * var(--rem));
  flex-basis: calc(100% - 3em);
  font-size: calc(18 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-service__business-job {
    font-size: calc(13 * var(--rem));
  }
}

.p-recruit-service__business-body {
  padding-inline: 20px;
}
@media screen and (max-width: 767px) {
  .p-recruit-service__business-body {
    padding-inline: 10px;
  }
}

.p-recruit-service__business-row {
  font-weight: 500;
}
.p-recruit-service__business-row::before {
  content: "●";
  margin-right: .5em;
  color: var(--color-royal-blue);
  font-size: 50%;
}
@media screen and (max-width: 767px) {
  .p-recruit-service__business-row {
    font-size: calc(13 * var(--rem));
  }
}

.p-recruit-interview {
  position: relative;
  padding-block: calc(75 * var(--rem)) calc(165 * var(--rem));
  padding-bottom: calc(300 * var(--rem));
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview {
    padding-block: calc(70 * var(--rem)) max(53.333vw, calc(200 * var(--rem)));
  }
}

.p-recruit-interview__contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(110 * var(--rem));
  margin-top: calc(80 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__contents {
    gap: calc(65 * var(--rem));
    margin-top: calc(40 * var(--rem));
  }
}

.p-recruit-interview__image {
  position: absolute;
  left: calc(50% + 210px);
  bottom: 0;
  width: min(59.733%, 386px);
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__image {
    left: auto;
    right: calc(15 * var(--rem));
  }
}

.p-recruit-data {
  padding-bottom: calc(90 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-data {
    padding-bottom: calc(65 * var(--rem));
  }
}

.p-recruit-data-slider {
  margin-bottom: calc(20 * var(--rem));
}

.p-recruit-data__inner {
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--rem));
}

.p-recruit-data-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(15 * var(--rem));
  margin-top: calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list {
    gap: calc(10 * var(--rem));
    margin-top: calc(20 * var(--rem));
  }
}

.p-recruit-data-list__item {
  display: flex;
  flex-direction: column;
  border-radius: 20px;
  padding: calc(15 * var(--rem));
  flex-basis: calc(323 * var(--rem));
  min-height: calc(243 * var(--rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__item {
    border-radius: 10px;
    padding: calc(10 * var(--rem));
    flex-basis: max(50% - 5 * var(--rem), 162 * var(--rem));
    min-height: calc(143 * var(--rem));
  }
}

.p-recruit-data-list__term {
  text-align: center;
  color: var(--color-blue);
  font-size: calc(22 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__term {
    font-size: calc(11 * var(--rem));
  }
}

.p-recruit-data-list__value {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: calc(10 * var(--rem));
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value {
    gap: calc(5 * var(--rem));
  }
}

.p-recruit-data-list__value--fd-colmn {
  flex-direction: column;
}

.p-recruit-data-list__value-gap0 {
  gap: 0;
}

.p-recruit-data-list__value-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(5 * var(--rem));
  width: 43.686%;
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-block {
    width: 45.139%;
  }
}

.p-recruit-data-list__value-block--half {
  width: 50%;
}

.p-recruit-data-list__value-block--43pct {
  width: 43%;
}

.p-recruit-data-list__value-block--57pct {
  width: 57%;
}

.p-recruit-data-list__value-block--beside-graph {
  margin-bottom: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-block--beside-graph {
    margin-bottom: calc(20 * var(--rem));
    padding-right: calc(5 * var(--rem));
  }
}

.p-recruit-data-list__value-gender {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(10 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-gender {
    gap: calc(5 * var(--rem));
  }
}

.p-recruit-data-list__value-graph-wrap {
  position: relative;
  margin-right: auto;
  width: calc(140 * var(--rem));
  height: calc(140 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-graph-wrap {
    width: calc(74 * var(--rem));
    height: calc(74 * var(--rem));
  }
}

.p-recruit-data-list__value-graph-data {
  display: flex;
  flex-direction: column;
  gap: calc(5 * var(--rem));
  position: absolute;
  top: 0;
  right: -1em;
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-graph-data {
    right: -.5em;
  }
}

.p-recruit-data-list__value-graph {
  border-radius: 50%;
  width: 100%;
  height: 100%;
  background: conic-gradient(#fabd21 0% var(--new), var(--color-blue) var(--new) var(--career));
}

.p-recruit-data-list__value-graph-inside {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  width: 48%;
  height: 48%;
  background-color: var(--color-white);
  text-align: center;
  color: var(--color-blue);
  font-size: calc(13 * var(--rem));
  font-weight: 700;
  line-height: 1.5;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-graph-inside {
    width: 64%;
    height: 64%;
    font-size: calc(10 * var(--rem));
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-icon {
    height: min(8.267vw, 31 * var(--rem));
  }
}

.p-recruit-data-list__value-category {
  text-align: center;
  font-size: calc(18 * var(--rem));
  font-weight: 700;
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-category {
    font-size: calc(10 * var(--rem));
  }
}

.p-recruit-data-list__value-category--small {
  font-size: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-category--small {
    font-size: calc(10 * var(--rem));
  }
}

.p-recruit-data-list__value-category--beside-graph {
  position: relative;
}
.p-recruit-data-list__value-category--beside-graph::before {
  content: "";
  position: absolute;
  top: calc(100% + (5 * var(--rem)));
  left: 0;
  border-top: 1px solid var(--color-black);
  border-right: 1px solid var(--color-black);
  width: 110%;
  height: calc(35 * var(--rem));
  transform: translateX(22.5%) skewX(45deg);
  z-index: var(--layer-upper);
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-category--beside-graph {
    margin-left: auto;
  }
  .p-recruit-data-list__value-category--beside-graph::before {
    width: 90%;
    height: calc(18 * var(--rem));
  }
}

.p-recruit-data-list__value-text {
  display: flex;
  align-items: flex-end;
  color: var(--color-blue);
  font-size: calc(106 * var(--rem));
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-text {
    font-size: calc(54 * var(--rem));
  }
}

.p-recruit-data-list__value-text--small {
  font-size: calc(75 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-text--small {
    font-size: calc(38 * var(--rem));
  }
}

.p-recruit-data-list__value-text--beside-graph {
  margin-top: calc(10 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-text--beside-graph {
    margin-top: calc(5 * var(--rem));
    margin-left: auto;
  }
}

.p-recruit-data-list__value-text--on-circle {
  font-size: calc(24 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-text--on-circle {
    font-size: calc(12 * var(--rem));
  }
}

.p-recruit-data-list__value-em {
  font-family: var(--font-outfit);
  font-weight: 600;
  line-height: .75;
}

.p-recruit-data-list__value-em--small {
  font-size: 95%;
}

.p-recruit-data-list__value-unit {
  font-size: calc(32 * var(--rem));
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-unit {
    font-size: calc(16 * var(--rem));
  }
}

.p-recruit-data-list__value-unit--fs-half {
  font-size: 50%;
}

.p-recruit-data-list__value-unit--fs-70pct {
  font-size: 70%;
}

.p-recruit-data-list__value-unit--sign {
  font-family: var(--font-outfit);
}

@media screen and (max-width: 767px) {
  .p-recruit-data-list__value-image {
    width: min(61.806%, 89 * var(--rem));
  }
}

.p-recruit-data-note {
  text-align: right;
  color: var(--color-white);
  font-size: calc(14 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-recruit-data-note {
    font-size: calc(10 * var(--rem));
  }
}

.p-recruit-training {
  padding-block: calc(75 * var(--rem)) calc(70 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-training {
    padding-block: calc(45 * var(--rem)) 0;
  }
}

.p-recruit-training__text {
  margin-top: calc(10 * var(--rem));
  width: 88.4%;
}
@media screen and (max-width: 767px) {
  .p-recruit-training__text {
    margin-top: calc(20 * var(--rem));
    width: 100%;
  }
}

.p-recruit-training__btn {
  margin-top: calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-training__btn {
    margin-block: calc(40 * var(--rem));
  }
}

.p-recruit-benefits {
  padding-block: calc(65 * var(--rem)) calc(85 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-benefits {
    padding-bottom: calc(60 * var(--rem));
  }
}

.p-recruit-benefits__text {
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-benefits__text {
    gap: calc(30 * var(--rem));
  }
}

.p-recruit-benefits__list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(15 * var(--rem));
  margin-top: calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-benefits__list {
    gap: calc(10 * var(--rem));
    margin-top: calc(15 * var(--rem));
  }
}

.p-recruit-benefits__list-item {
  display: flex;
  flex-direction: column;
  border-radius: 20px;
  padding: calc(25 * var(--rem)) calc(10 * var(--rem));
  flex-basis: calc(100% / 3 - 10 * var(--rem));
  min-height: calc(192 * var(--rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-recruit-benefits__list-item {
    border-radius: 13px;
    padding-block: calc(15 * var(--rem));
    flex-basis: calc(50% - (5 * var(--rem)));
    min-height: calc(141 * var(--rem));
  }
}

.p-recruit-benefits__list-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .p-recruit-benefits__list-image {
    max-width: calc(65 * var(--rem));
    max-height: calc(60 * var(--rem));
  }
}

.p-recruit-benefits__list-text {
  text-align: center;
  color: var(--color-blue);
  font-size: calc(22 * var(--rem));
  font-weight: 700;
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  .p-recruit-benefits__list-text {
    font-size: calc(15 * var(--rem));
  }
}

.p-recruit-benefits__btn {
  margin: calc(20 * var(--rem)) auto 0;
}
@media screen and (max-width: 767px) {
  .p-recruit-benefits__btn {
    margin-top: calc(30 * var(--rem));
  }
}

.p-recruit-wlb {
  position: relative;
  padding-top: calc(90 * var(--rem));
}
.p-recruit-wlb::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: calc(209 * var(--rem));
  background-color: var(--color-red);
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  z-index: var(--layer-upper);
}
@media screen and (max-width: 767px) {
  .p-recruit-wlb {
    padding-top: calc(55 * var(--rem));
    padding-bottom: calc(40 * var(--rem));
  }
  .p-recruit-wlb::after {
    height: calc(67 * var(--rem));
  }
}

.p-recruit-wlb__text {
  margin-top: calc(5 * var(--rem));
  width: 93%;
}
@media screen and (max-width: 767px) {
  .p-recruit-wlb__text {
    width: 100%;
  }
}

.p-recruit-wlb__btn {
  margin-top: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-wlb__btn {
    margin-bottom: calc(5 * var(--rem));
  }
}

.p-recruit-contact {
  display: flex;
  flex-direction: column;
  gap: calc(110 * var(--rem));
  border-bottom-right-radius: 159px;
  padding-block: calc(195 * var(--rem)) calc(150 * var(--rem));
  background: url(../img/bg_recruit_contact_top.png) no-repeat center top / 100% auto, url(../img/bg_recruit_contact_bottom.png) no-repeat center bottom / 100% auto, linear-gradient(0deg, #0dbde0, #4d9eff);
  background-image: image-set(url(../img/bg_recruit_contact_top.png) 1x, url(../img/bg_recruit_contact_top@2x.png) 2x), image-set(url(../img/bg_recruit_contact_bottom.png) 1x, url(../img/bg_recruit_contact_bottom@2x.png) 2x), linear-gradient(0deg, #0dbde0, #4d9eff);
  background-image: -webkit-image-set(url(../img/bg_recruit_contact_top.png) 1x, url(../img/bg_recruit_contact_top@2x.png) 2x), -webkit-image-set(url(../img/bg_recruit_contact_bottom.png) 1x, url(../img/bg_recruit_contact_bottom@2x.png) 2x), linear-gradient(0deg, #0dbde0, #4d9eff);
}
@media screen and (max-width: 767px) {
  .p-recruit-contact {
    gap: calc(70 * var(--rem));
    border-bottom-right-radius: 50px;
    padding-block: calc(90 * var(--rem)) calc(100 * var(--rem));
    background-image: url(../img/bg_recruit_contact_top_sp.png), url(../img/bg_recruit_contact_bottom_sp.png), linear-gradient(0deg, #0dbde0, #4d9eff);
    background-image: image-set(url(../img/bg_recruit_contact_top_sp.png) 1x, url(../img/bg_recruit_contact_top_sp@2x.png) 2x), image-set(url(../img/bg_recruit_contact_bottom_sp.png) 1x, url(../img/bg_recruit_contact_bottom_sp@2x.png) 2x), linear-gradient(0deg, #0dbde0, #4d9eff);
    background-image: -webkit-image-set(url(../img/bg_recruit_contact_top_sp.png) 1x, url(../img/bg_recruit_contact_top_sp@2x.png) 2x), -webkit-image-set(url(../img/bg_recruit_contact_bottom_sp.png) 1x, url(../img/bg_recruit_contact_bottom_sp@2x.png) 2x), linear-gradient(0deg, #0dbde0, #4d9eff);
  }
}

.p-recruit-contact__inner {
  display: flex;
  flex-direction: column;
  gap: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-contact__inner {
    gap: calc(30 * var(--rem));
  }
}

.p-recruit-faq-wrap {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-faq-wrap {
    gap: calc(10 * var(--rem));
  }
}

.p-recruit-faq__question,
.p-recruit-faq__answer {
  display: flex;
  align-items: center;
  gap: calc(25 * var(--rem));
  border-radius: 20px;
  padding: calc(20 * var(--rem)) calc(70 * var(--rem)) calc(20 * var(--rem)) calc(30 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-recruit-faq__question,
  .p-recruit-faq__answer {
    gap: calc(10 * var(--rem));
    border-radius: 7px;
    padding-block: calc(15 * var(--rem));
    padding-inline: calc(15 * var(--rem)) calc(40 * var(--rem));
  }
}

.p-recruit-faq__question {
  position: relative;
  background-color: var(--color-white);
  font-size: calc(18 * var(--rem));
}
.p-recruit-faq__question::before,
.p-recruit-faq__question::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(25 * var(--rem));
  width: calc(18 * var(--rem));
  height: 2px;
  background-color: var(--color-blue);
  transition: opacity .3s ease, transform .3s ease;
}
.p-recruit-faq__question::before {
  transform: translateY(-50%);
}
.p-recruit-faq__question::after {
  transform: translateY(-50%) rotate(90deg);
}
.p-recruit-faq[open] .p-recruit-faq__question::after {
  opacity: 0;
  transform: translateY(-50%) rotate(-90deg);
}
@media screen and (max-width: 767px) {
  .p-recruit-faq__question {
    font-size: calc(13 * var(--rem));
  }
  .p-recruit-faq__question::before,
  .p-recruit-faq__question::after {
    right: calc(20 * var(--rem));
    width: calc(12 * var(--rem));
  }
}

.p-recruit-faq__answer {
  margin-top: calc(5 * var(--rem));
  background-color: var(--color-blue);
  color: var(--color-white);
}

.p-recruit-faq__icon {
  color: var(--color-blue);
  font-family: var(--font-outfit);
  font-size: calc(35 * var(--rem));
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-recruit-faq__icon {
    font-size: calc(25 * var(--rem));
  }
}

.p-recruit-faq__icon--white {
  color: var(--color-white);
}

.p-recruit-entry-title {
  margin-bottom: calc(10 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-entry-title {
    margin-bottom: 0;
  }
}

.p-recruit-feature {
  display: flex;
  flex-direction: column;
  gap: calc(40 * var(--rem));
  margin-top: calc(80 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-feature {
    margin-top: calc(35 * var(--rem));
  }
}

.p-recruit-feature__heading {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: calc(10 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-recruit-feature__heading {
    flex-wrap: wrap;
    gap: calc(5 * var(--rem));
  }
}

.p-recruit-feature__heading-logo {
  width: min(84.478%, 474 * var(--rem));
}

.p-recruit-feature__heading-image {
  vertical-align: bottom;
}

.p-recruit-feature__heading-small {
  font-size: calc(23 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-feature__heading-small {
    font-size: calc(14 * var(--rem));
  }
}

.p-recruit-feature__heading-text {
  font-size: calc(32 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-recruit-feature__heading-text {
    font-size: calc(18 * var(--rem));
  }
}

.p-recruit-feature-slider .swiper-slide {
  display: flex;
  align-items: flex-end;
  height: auto;
  transform: scale(.7);
  transform-origin: bottom;
  transition: transform 2s ease;
}
.p-recruit-feature-slider .swiper-slide-active {
  transform: scale(1);
}

.p-interview-mv,
.p-interview-mv__wrapper {
  position: relative;
}

.p-interview-mv__image {
  width: 100%;
  height: 42.429vw;
}
@media screen and (max-width: 767px) {
  .p-interview-mv__image {
    height: max(89.333vw, 335 * var(--rem));
  }
}

.p-interview-mv__comment,
.p-interview-mv__profile {
  position: absolute;
  bottom: calc(-40 * var(--rem));
}

.p-interview-mv__comment {
  left: min(8.571vw, calc(120 * var(--rem)));
  color: var(--color-primary-blue);
  font-size: min(3.429vw ,calc(48 * var(--rem)));
  font-weight: 700;
  line-height: 2.25;
  z-index: var(--layer-upper);
}
@media screen and (max-width: 767px) {
  .p-interview-mv__comment {
    left: 0;
    bottom: calc(-20 * var(--rem));
    font-size: max(5.6vw ,calc(21 * var(--rem)));
    line-height: 2;
  }
}

.p-interview-mv__comment-text {
  padding-inline: .25em;
  background-color: var(--color-white);
}

.p-interview-mv__profile {
  right: 0;
  border-radius: 20px 0 0 20px;
  padding: 1.5em 2.5em;
  width: min(29.714%, 416 * var(--rem));
  background-color: var(--color-primary-blue);
  color: var(--color-white);
  font-size: min(1.143vw, calc(16 * var(--rem)));
}
@media screen and (max-width: 767px) {
  .p-interview-mv__profile {
    position: static;
    border-radius: 0;
    padding: calc(40 * var(--rem)) 20px calc(20 * var(--rem));
    width: 100%;
    font-size: max(3.2vw, calc(12 * var(--rem)));
  }
}

.p-interview-mv__profile-job {
  font-size: min(1.286vw, calc(18 * var(--rem)));
}
@media screen and (max-width: 767px) {
  .p-interview-mv__profile-job {
    font-size: max(3.2vw, calc(12 * var(--rem)));
  }
}

.p-interview-mv__profile-name {
  font-size: min(1.714vw, calc(24 * var(--rem)));
}
@media screen and (max-width: 767px) {
  .p-interview-mv__profile-name {
    font-size: max(5.6vw, calc(21 * var(--rem)));
  }
}

.p-interview-content {
  padding-block: calc(120 * var(--rem)) calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-interview-content {
    padding-block: calc(50 * var(--rem)) calc(10 * var(--rem));
  }
}

.p-interview-content__inner {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-interview-content__inner {
    flex-direction: column;
  }
}

.p-interview-content__menu {
  flex-basis: 29%;
  height: calc(582 * var(--rem));
}

.p-interview-content__body {
  flex-basis: 71%;
  border-radius: 50px 0 0 50px;
  padding: calc(80 * var(--rem)) calc(20 * var(--rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-interview-content__body {
    flex-basis: auto;
    margin-left: auto;
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
    padding-block: calc(40 * var(--rem)) calc(55 * var(--rem));
    padding-inline: calc(20px + 10 * var(--rem)) 20px;
    width: calc(100% - 20px);
  }
}

.p-interview-content__list {
  display: flex;
  flex-direction: column;
  gap: calc(35 * var(--rem));
  margin-inline: auto;
  width: min(100%, 752px);
}
@media screen and (max-width: 767px) {
  .p-interview-content__list {
    gap: calc(50 * var(--rem));
  }
}

.p-interview-content__item {
  display: flex;
  flex-direction: column;
  gap: calc(50 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-interview-content__item {
    gap: calc(20 * var(--rem));
  }
}

.p-interview-content__text {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--rem));
}

.p-interview-content__heading {
  color: var(--color-primary-blue);
  font-size: calc(32 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-interview-content__heading {
    font-size: calc(18 * var(--rem));
  }
}

.p-interview-content__sentence {
  font-size: calc(15 * var(--rem));
  line-height: 2.25;
}
@media screen and (max-width: 767px) {
  .p-interview-content__sentence {
    font-size: calc(13 * var(--rem));
  }
}

.p-interview-content__image {
  width: 100%;
  height: min(27.143vw, 380 * var(--rem));
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-interview-content__image {
    width: calc(100% + 20px);
    height: 54.667vw;
  }
}

.p-interview-heading {
  text-align: center;
  font-size: calc(24 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-interview-heading {
    font-size: calc(16 * var(--rem));
  }
}

.p-interview-schedule {
  padding-block: calc(55 * var(--rem)) calc(65 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-interview-schedule {
    padding-block: calc(50 * var(--rem)) calc(40 * var(--rem));
  }
}

.p-interview-heading--white {
  color: var(--color-white);
}

.p-interview-schedule__list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(20 * var(--rem)) 0;
  position: relative;
  margin-top: calc(10 * var(--rem));
  width: min(100%, 607px);
  color: var(--color-white);
  font-size: calc(18 * var(--rem));
  font-weight: 700;
}
.p-interview-schedule__list::before {
  content: "";
  position: absolute;
  top: 1em;
  left: calc(6 * var(--rem));
  width: 1px;
  height: calc(100% - 2em);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-interview-schedule__list {
    gap: calc(5 * var(--rem)) 0;
    margin-top: calc(20 * var(--rem));
    font-size: calc(13 * var(--rem));
  }
  .p-interview-schedule__list::before {
    content: "";
    left: calc(5 * var(--rem));
    height: calc(100% - 4em);
  }
}

.p-interview-schedule__term {
  position: relative;
  flex-basis: calc(187 * var(--rem)); 
  padding-left: calc(39 * var(--rem)); 
}
.p-interview-schedule__term::before {
  content: "";
  position: absolute;
  top: .5em;
  left: 0;
  border-radius: 50%;
  width: calc(12 * var(--rem));
  height: calc(12 * var(--rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-interview-schedule__term {
    flex-basis: 100%;
    padding-left: calc(28 * var(--rem));
  }
  .p-interview-schedule__term::before {
    width: calc(10 * var(--rem)); 
    height: calc(10 * var(--rem));
  }
  .p-interview-schedule__term:not(:first-of-type) {
    margin-top: calc(20 * var(--rem));
  }
}

.p-interview-schedule__description {
  flex-basis: calc(100% - 187 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-interview-schedule__description {
    flex-basis: 100%;
    padding-left: calc(28 * var(--rem));
  }
}

.p-interview-private {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(55 * var(--rem));
  border-radius: 50px;
  padding: calc(40 * var(--rem)) calc(60 * var(--rem)) calc(60 * var(--rem));
  background-color: var(--color-yellow);
}
@media screen and (max-width: 767px) {
  .p-interview-private {
    gap: calc(20 * var(--rem));
    border-radius: 20px;
    padding-block: calc(40 * var(--rem));
    padding-inline: calc(25 * var(--rem));
  }
}

.p-interview-private__inner {
  display: flex;
  gap: calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-interview-private__inner {
    flex-direction: column;
    gap: calc(15 * var(--rem));
  }
}

.p-interview-private__text {
  display: flex;
  flex-direction: column;
  gap: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-interview-private__text {
    gap: calc(10 * var(--rem));
  }
}

.p-interview-private__heading {
  font-size: calc(26 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-interview-private__heading {
    font-size: calc(18 * var(--rem));
  }
}

@media screen and (max-width: 767px) {
  .p-interview-private__sentence {
    font-size: calc(13 * var(--rem));
  }
}

.p-interview-private__image {
  flex-shrink: 0;
  flex-basis: 46.875%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-interview-private__image {
    flex-basis: 100%;
    height: 44.267vw;
  }
}

.p-interview-other {
  padding-top: calc(70 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-interview-other {
    padding-block: 0 calc(20 * var(--rem));
  }
}

.p-interview-other__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(50 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-interview-other__inner {
    gap: calc(60 * var(--rem));
  }
}

.p-interview-other__wrap {
  width: min(100%, 848px);
}
@media screen and (max-width: 767px) {
  .p-interview-other__wrap {
    width: 79.403%;
  }
}

.p-crosstalk-hero {
  margin-top: calc(120 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk-hero {
    margin-top: calc(60 * var(--rem));
  }
}

.p-crosstalk-breadcrumb-wrap {
  padding-inline: 45px;
}
@media screen and (max-width: 767px) {
  .p-crosstalk-breadcrumb-wrap {
    margin-top: calc(15 * var(--rem));
    padding-inline: 20px;
  }
}

.p-crosstalk-intro {
  padding-top: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk-intro {
    padding-top: 0;
  }
}

.p-crosstalk-about {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-crosstalk-about {
    gap: calc(15 * var(--rem));
  }
}

.p-crosstalk-about__heading {
  color: var(--color-primary-blue);
  font-size: calc(36 * var(--rem));
  font-weight: 900;
  letter-spacing: .075em;
}
@media screen and (max-width: 767px) {
  .p-crosstalk-about__heading {
    font-size: calc(20 * var(--rem));
  }
}

.p-crosstalk-about__text {
  font-size: calc(18 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-crosstalk-about__text {
    font-size: calc(14 * var(--rem));
  }
}

.p-crosstalk-member {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(25 * var(--rem));
  margin-top: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk-member {
    gap: calc(15 * var(--rem));
    margin-top: calc(25 * var(--rem));
  }
}

.p-crosstalk-member__heading {
  display: inline-block;
  position: relative;
  text-align: center;
  color: var(--color-primary-blue);
  font-family: var(--font-outfit);
  font-size: calc(24 * var(--rem));
  font-weight: 700;
  letter-spacing: .05em;
}
.p-crosstalk-member__heading::before,
.p-crosstalk-member__heading::after {
  content: "";
  position: absolute;
  top: 50%;
  width: calc(20 * var(--rem));
  height: 2px;
  background-color: var(--color-primary-blue);
  transform: translateY(-50%);
}
.p-crosstalk-member__heading::before {
  right: calc(100% + 15 * var(--rem));
}
.p-crosstalk-member__heading::after {
  left: calc(100% + 15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk-member__heading {
    font-size: calc(18 * var(--rem));
  }
  .p-crosstalk-member__heading::before,
  .p-crosstalk-member__heading::after {
    width: calc(16 * var(--rem));
  }
}

.p-crosstalk-member__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(45 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk-member__list {
    gap: calc(15 * var(--rem));
  }
}

.p-crosstalk-member__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1 0 auto;
  gap: calc(5 * var(--rem));
  text-align: center;
}

.p-crosstalk-member__image {
  border-radius: 50%;
  width: calc(120 * var(--rem)); 
  height: calc(120 * var(--rem)); 
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-crosstalk-member__image {
    width: calc(84 * var(--rem));
    height: calc(84 * var(--rem));
  }
}

.p-crosstalk-member__job {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 3.5em;
  font-size: calc(12 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-crosstalk-member__job {
    font-size: calc(10 * var(--rem));
  }
}

.p-crosstalk-member__name {
  font-size: calc(20 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-crosstalk-member__name {
    font-size: calc(14 * var(--rem));
  }
}

.p-crosstalk-member__carrer {
  color: var(--color-brand);
  font-size: calc(14 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk-member__carrer {
    font-size: calc(10 * var(--rem));
  }
}

.p-crosstalk-wrap {
  position: relative;
  padding-block: calc(65 * var(--rem)) calc(140 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk-wrap {
    padding-block: calc(50 * var(--rem)) calc(100 * var(--rem));
  }
}

.p-crosstalk-wrap__menu {
  position: sticky;
  top: calc(120 * var(--rem));
  left: 0;
  width: 27%;
  height: calc(727 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk-wrap__menu {
    top: calc(60 * var(--rem));
    width: 87.733%;
    height: max(159.467vw, 598 * var(--rem));
    transform: translateX(-100%);
    transition: transform .3s ease;
  }
  .p-crosstalk-wrap__menu.is-open {
    transform: translateX(0);
  }
}

.p-crosstalk-wrap__menu-switch {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 100%;
  border-radius: 0 10px 10px 0; 
  padding-inline: calc(20 * var(--rem));
  width: calc(30 * var(--rem)); 
  height: calc(90 * var(--rem));
  background-color: var(--color-primary-blue);
  text-align: center;
  color: var(--color-white);
  font-size: calc(13 * var(--rem));
  font-weight: 500;
  writing-mode: vertical-rl;
}

.p-crosstalk-wrap__menu-line {
  content: "";
  position: absolute;
  left: 50%;
  width: calc(13 * var(--rem));
  height: 1px;
  background-color: var(--color-white);
  transition: opacity .3s ease, transform .3s ease;
  transform: translateX(-50%);
}
.p-crosstalk-wrap__menu-line:nth-of-type(1) {
  bottom: 21px;
}
.p-crosstalk-wrap__menu-line:nth-of-type(2) {
  bottom: 18px;
}
.p-crosstalk-wrap__menu-line:nth-of-type(3) {
  bottom: 15px;
}
.p-crosstalk-wrap__menu-switch.is-active .p-crosstalk-wrap__menu-line:nth-of-type(1) {
  bottom: 18px;
  transform: translateX(-50%) rotate(225deg);
}
.p-crosstalk-wrap__menu-switch.is-active .p-crosstalk-wrap__menu-line:nth-of-type(2) {
  opacity: 0;
}
.p-crosstalk-wrap__menu-switch.is-active .p-crosstalk-wrap__menu-line:nth-of-type(3) {
  bottom: 18px;
  transform: translateX(-50%) rotate(-225deg);
}

.p-crosstalk {
  display: flex;
  flex-direction: column;
  gap: calc(125 * var(--rem));
  margin-top: calc(-725 * var(--rem));
  margin-left: auto;
  width: 73%;
}
@media screen and (max-width: 767px) {
  .p-crosstalk {
    gap: calc(60 * var(--rem));
    margin-top: calc(-1 * max(159.467vw, 600 * var(--rem)));
    width: 100%;
  }
}

.p-crosstalk__block {
  display: flex;
  flex-direction: column;
  gap: calc(70 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk__block {
    gap: calc(35 * var(--rem));
  }
}

.p-crosstalk__text {
  display: flex;
  flex-direction: column;
  gap: calc(25 * var(--rem));
  padding-inline: calc(100 * var(--rem)) calc(125 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk__text {
    padding-inline: 20px;
  }
}

.p-crosstalk__head {
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--rem));
}

.p-crosstalk__heading {
  color: var(--color-primary-blue);
  font-family: var(--font-outfit);
  font-size: calc(24 * var(--rem));
  font-weight: 700;
  letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
  .p-crosstalk__heading {
    font-size: calc(16 * var(--rem));
  }
}

.p-crosstalk__term {
  font-size: calc(32 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-crosstalk__term {
    font-size: calc(18 * var(--rem));
  }
}

.p-crosstalk__list {
  display: flex;
  flex-direction: column;
  gap: calc(50 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk__list {
    gap: calc(40 * var(--rem));
  }
}

.p-crosstalk__item {
  display: flex;
  gap: calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk__item {
    gap: calc(20 * var(--rem));
  }
}

.p-crosstalk__person {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(5 * var(--rem));
  flex-basis: calc(80 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk__person {
    flex-basis: calc(56 * var(--rem));
  }
}

.p-crosstalk__icon {
  border-radius: 50%;
  width: calc(80 * var(--rem));
  height: calc(80 * var(--rem));
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-crosstalk__icon {
    width: calc(56 * var(--rem));
    height: calc(56 * var(--rem));
  }
}

.p-crosstalk__name {
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-crosstalk__name {
    font-size: calc(12 * var(--rem));
  }
}

.p-crosstalk__comment {
  display: flex;
  align-items: center;
  flex-basis: calc(100% - 65 * var(--rem));
  font-size: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-crosstalk__comment {
    flex-basis: calc(100% - 23.5 * var(--rem));
    font-size: calc(13 * var(--rem));
  }
}

.p-crosstalk__image {
  width: 100%;
  height: 40.214vw;
}
@media screen and (max-width: 767px) {
  .p-crosstalk__image {
    height: 55.467vw;
  }
}

.p-training-group {
  padding-block: calc(10 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-training-group {
    padding-block: calc(5 * var(--rem)) calc(30 * var(--rem));
  }
}

.p-training-group__inner {
  display: flex;
  flex-direction: column;
  gap: calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-training-group__inner {
    gap: calc(30 * var(--rem));
  }
}

.p-training-group__body {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-training-group__body {
    margin-top: calc(10 * var(--rem));
  }
}

.p-training-group-tab {
  display: flex;
  margin-left: auto;
  width: 84%;
}
@media screen and (max-width: 767px) {
  .p-training-group-tab {
    width: 100%;
  }
}

.p-training-group-tab__item {
  flex: 1;
  border: 1px solid #c5ccd4;
  padding: calc(10 * var(--rem));
  color: #c5ccd4;
  text-align: center;
  font-weight: 700;
  letter-spacing: .2em;
  cursor: pointer;
  transition: var(--effect-bg), var(--effect-color);
}
.p-training-group-tab__item:not(:first-of-type) {
  border-left: none;
}
.p-training-group-tab__item:not(.is-active):hover {
  color: var(--color-white);
  background-color: var(--color-tomato-red);
}
.p-training-group-tab__item:not(.is-active):nth-of-type(2):hover {
  background-color: var(--color-yellow);
}

.p-training-group-tab__item.is-active {
  border-color: var(--color-tomato-red);
  background-color: var(--color-tomato-red);
  color: var(--color-white);
}
.p-training-group-tab__item:nth-of-type(2).is-active {
  border-color: var(--color-yellow);
  background-color: var(--color-yellow);
}

.p-training-group-content {
  display: none;
  gap: calc(15 * var(--rem));
}
.p-training-group-content.is-active {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-training-group-content {
    gap: calc(20 * var(--rem));
  }
}


.p-training-group-content__block {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-dark-blue);
  padding-bottom: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-training-group-content__block {
    padding-bottom: calc(20 * var(--rem));
  }
}

.p-training-group-content__term {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-basis: 13%;
  padding: calc(10 * var(--rem));
  background-color: var(--color-primary-blue);
  text-align: center;
  color: var(--color-white);
  font-weight: 700;
  letter-spacing: .2em;
}
@media screen and (max-width: 767px) {
  .p-training-group-content__term {
    text-orientation: upright;
    font-size: calc(12 * var(--rem));
    writing-mode: vertical-rl;
  }
}

.p-training-group-content__description {
  display: flex;
  flex-direction: column;
  gap: calc(30 * var(--rem));
  flex-basis: 84%;
  padding: calc(20 * var(--rem));
  background-color: #f7c3c1;
}
@media screen and (max-width: 767px) {
  .p-training-group-content__description {
    gap: calc(10 * var(--rem));
    padding: calc(10 * var(--rem));
  }
}

.p-training-group-content:nth-of-type(2) .p-training-group-content__description {
  background-color: #f7ebc6;
}

.p-training-group-content__inside-block {
  display: flex;
  flex-direction: column;
  gap: calc(5 * var(--rem));
  padding: calc(10 * var(--rem)) calc(30 * var(--rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-training-group-content__inside-block {
    padding-inline: calc(10 * var(--rem));
  }
}

.p-training-group-content__heading {
  color: var(--color-tomato-red);
  font-size: calc(18 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-training-group-content__heading {
    font-size: calc(12 * var(--rem));
  }
}

.p-training-group-content:nth-of-type(2) .p-training-group-content__heading {
  color: var(--color-mustard-yellow);
}

@media screen and (min-width: 768px) {
  .p-training-group-content__list {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
  }
}

.p-training-group-content__item {
  position: relative;
  padding-left: 1em;
  letter-spacing: .05em;
}
.p-training-group-content__item::before {
  content: "";
  position: absolute;
  top: .6em;
  left: 0;
  border-radius: 50%;
  width: .6em;
  height: .6em;
  background-color: var(--color-tomato-red);
}
@media screen and (max-width: 767px) {
  .p-training-group-content__item {
    font-size: calc(11 * var(--rem));
  }
}

.p-training-group-content:nth-of-type(2) .p-training-group-content__item::before {
  background-color: var(--color-mustard-yellow);
}

.p-training-support {
  display: flex;
  flex-direction: column;
  gap: calc(50 * var(--rem));
  padding-block: calc(90 * var(--rem)) calc(55 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-training-support {
    gap: calc(30 * var(--rem));
    padding-block: calc(20 * var(--rem)) calc(40 * var(--rem));
  }
}

@media screen and (min-width: 768px) {
  .p-training-support__text {
    margin-top: calc(15 * var(--rem));
  }
}

.p-training-support__image {
  margin-left: auto;
  width: 87.727%;
  height: min(100%, 240 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-training-support__image {
    margin-top: calc(30 * var(--rem));
    width: 100%;
    height: 55.733vw;
  }
}

.p-benefits-intro {
  padding-block: calc(75 * var(--rem));
  background-color: var(--color-pale-sky-blue);
}
@media screen and (max-width: 767px) {
  .p-benefits-intro {
    padding-block: calc(10 * var(--rem)) calc(65 * var(--rem));
  }
}

.p-benefits-anchor {
  display: flex;
  justify-content: center;
  gap: calc(20 * var(--rem));
  margin-top: calc(45 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-anchor {
    gap: calc(5 * var(--rem));
    margin-top: calc(55 * var(--rem));
  }
}

.p-benefits-anchor__item {
  flex-basis: calc(200 * var(--rem));
  min-height: calc(50 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-anchor__item {
    flex-basis: calc((100% - 10 * var(--rem)) / 3);
  }
}

.p-benefits-anchor__link {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-radius: 5px;
  padding-inline: calc(20 * var(--rem));
  width: 100%;
  height: 100%;
  background-color: var(--color-primary-blue);
  text-align: center;
  color: var(--color-white);
  font-size: calc(14 * var(--rem));
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: .1em;
}
.p-benefits-anchor__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(10 * var(--rem));
  border-right: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
  width: calc(5 * var(--rem)); 
  height: calc(5 * var(--rem)); 
  transform: translateY(-50%) rotate(45deg);
  transition: var(--effect-transform);
}
.p-benefits-anchor__link:hover::after {
  transform: translateY(calc(-50% + 3px)) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .p-benefits-anchor__link {
    border-radius: 4px;
    padding-inline: calc(10 * var(--rem));
    font-size: calc(12 * var(--rem));
  }
  .p-benefits-anchor__link::after {
    right: calc(5 * var(--rem));
    width: calc(3 * var(--rem)); 
    height: calc(3 * var(--rem)); 
  }
}

.p-benefits-about {
  padding-bottom: calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-about {
    padding-bottom: calc(45 * var(--rem));
  }
}

.p-benefits-about__inner {
  display: flex;
  flex-direction: column;
  gap: calc(65 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-about__inner {
    gap: calc(35 * var(--rem));
  }
}

.p-benefits-about__body {
  display: flex;
  flex-wrap: wrap;
  gap: calc(40 * var(--rem)) calc(50 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-about__body {
    gap: calc(45 * var(--rem));
  }
}

.p-benefits-about__block {
  display: flex;
  flex-direction: column;
  gap: calc(25 * var(--rem));
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-benefits-about__block--half-pc {
    width: calc(50% - 25 * var(--rem));
  }
}

.p-benefits-about__heading {
  display: flex;
  align-items: flex-start;
  gap: calc(15 * var(--rem));
  border-bottom: 1px solid var(--color-silver-gray);
  padding-bottom: calc(10 * var(--rem));
  color: var(--color-navy);
  font-size: calc(24 * var(--rem));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-benefits-about__heading {
    gap: calc(10 * var(--rem));
    font-size: calc(18 * var(--rem));
  }
}

.p-benefits-about__icon {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-benefits-about__icon {
    width: calc(40 * var(--rem));
  }
}

.p-benefits-about__title {
  padding-top: .25em;
}

.p-benefits-about__title-small {
  display: block;
  font-size: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-about__title-small {
    font-size: calc(11 * var(--rem));
  }
}

.p-benefits-about__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: calc(50 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-about__wrap {
    align-items: stretch;
    gap: calc(15 * var(--rem));
  }
}

.p-benefits-about__content {
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--rem));
  flex: 1;
  border-radius: 10px;
  padding: calc(20 * var(--rem));
  background-color: var(--color-white);
  font-size: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-about__content {
    gap: calc(5 * var(--rem));
    border-radius: 6px;
    padding: calc(15 * var(--rem));
    font-size: calc(13 * var(--rem));
  }
}

@media screen and (max-width: 767px) {
  .p-benefits-about__content--full-sp {
    flex: auto;
    flex-basis: 100%;
  }
}

.p-benefits-about__term {
  color: var(--color-brand);
  font-size: calc(18 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-benefits-about__term {
    font-size: calc(16 * var(--rem));
  }
}

.p-benefits-about__list-wrap {
  display: flex;
}

.p-benefits-about__list--half {
  width: 50%;
}

.p-benefits-about__item {
  position: relative;
  padding-left: 1em;
}
.p-benefits-about__item::before {
  content: "";
  position: absolute;
  top: .75em;
  left: 0;
  border-radius: 50%;
  width: .5em;
  height: .5em;
  background-color: var(--color-royal-blue);
}

.p-benefits-about__note {
  font-size: calc(12 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-about__note {
    font-size: calc(10 * var(--rem));
  }
}

.p-benefits-about__note-row {
  padding-left: 2.5em;
  text-indent: -2.5em;
}

.p-benefits-about__image {
  text-align: center;
}

.p-benefits-about__system {
  margin-top: calc(120 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-about__system {
    margin-top: calc(60 * var(--rem));
  }
}

.p-benefits-recreation {
  padding-bottom: calc(60 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-recreation {
    padding-block: calc(15 * var(--rem)) calc(50 * var(--rem));
  }
}

.p-benefits-recreation__intro {
  margin-top: calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-recreation__intro {
    margin-top: calc(20 * var(--rem));
  }
}

.p-benefits-recreation__body {
  display: flex;
  flex-direction: column;
  gap: calc(80 * var(--rem));
  margin-top: calc(80 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-recreation__body {
    gap: calc(70 * var(--rem));
    margin-top: calc(50 * var(--rem));
  }
}

.p-benefits-recreation-media {
  display: grid;
  grid-template-columns: repeat(2, 50%);
  grid-auto-rows: max-content auto;
  align-items: start;
  gap: calc(20 * var(--rem)) 0;
  position: relative;
  min-height: calc(229 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-recreation-media {
    grid-template-columns: auto;
    grid-auto-rows: auto;
    min-height: auto;
  }
}

.p-benefits-recreation-media__heading {
  grid-column: 2;
  grid-row: 1;
  color: var(--color-white);
  font-size: calc(24 * var(--rem));
  font-weight: 700;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .p-benefits-recreation-media__heading {
    grid-column: 1;
    font-size: calc(20 * var(--rem));
  }
}

.p-benefits-recreation-media__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 43.4%;
  height: min(100%, 229 * var(--rem));
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-benefits-recreation-media__image {
    position: static;
    grid-row: 2;
    width: 100%;
    height: 47.2vw;
  }
}

.p-benefits-recreation-media__text {
  display: grid;
  grid-column: 2;
  grid-row: 2;
  gap: calc(20 * var(--rem));
  color: var(--color-white);
  font-size: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-benefits-recreation-media__text {
    grid-column: 1;
    grid-row: 3;
    font-size: calc(13 * var(--rem));
  }
}

.p-job-description {
  padding-block: calc(60 * var(--rem)) calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-job-description {
    padding-block: calc(15 * var(--rem)) calc(50 * var(--rem));
  }
}

.p-job-description__wrap {
  background-color: var(--color-white);
}

.p-job-description__list {
  display: flex;
  flex-wrap: wrap;
  font-size: calc(18 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-job-description__list {
    font-size: calc(14 * var(--rem));
  }
}

.p-job-description__term {
  flex-basis: calc(200 * var(--rem));
  padding: calc(25 * var(--rem)) calc(35 * var(--rem));
  background-color: var(--color-primary-blue);
  color: var(--color-white);
  font-weight: 500;
}
.p-job-description__term:not(:first-of-type),
.p-job-description__description:not(:first-of-type) {
  border-top: 1px solid var(--color-silver-gray);
}
@media screen and (max-width: 767px) {
  .p-job-description__term {
    flex-basis: calc(77 * var(--rem));
    padding-block: calc(20 * var(--rem));
    padding-inline: calc(10 * var(--rem));
  }
}

.p-job-description__description {
  flex-basis: calc(100% - 200 * var(--rem));
  padding: calc(25 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-job-description__description {
    flex-basis: calc(100% - 77 * var(--rem));
    padding-block: calc(20 * var(--rem));
    padding-inline: calc(10 * var(--rem));
  }
}

.p-job-description__empty {
  padding: calc(85 * var(--rem)) 20px;
  text-align: center;
}

.p-404 {
  padding-block: calc(10 * var(--rem)) calc(30 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-404 {
    padding-block: 0 calc(15 * var(--rem));
  }
}

.p-404__heading {
  text-align: center;
  color: var(--color-brand);
  font-size: calc(27 * var(--rem));
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-404__heading {
    font-size: calc(20 * var(--rem));
  }
}

.p-404__text {
  margin-top: calc(35 * var(--rem));
  width: min(100%, 540px);
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-404__text {
    margin-top: calc(30 * var(--rem));
  }
}

.p-404__btn {
  margin-top: calc(35 * var(--rem));
}
@media screen and (max-width: 767px) {
  .p-404__btn {
    margin-top: calc(45 * var(--rem));
  }
}

/* Utilities */
@media screen and (max-width: 767px) {
  .u-pc-only {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .u-sp-only {
    display: none !important;
  }
}

.u-mt-auto {
  margin-top: auto !important;
}

.u-ml-auto {
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .u-mr-auto-sp {
    margin-right: auto;
  }
}

/* CMS */
.post-content {
  border-bottom: 1px solid var(--color-silver-gray);
  padding-bottom: calc(35 * var(--rem));
  width: 100%;
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  .post-content {
    padding-bottom: calc(40 * var(--rem));
  }
}


.post-content a {
  padding-left: 1em;
  color: var(--color-brand);
  font-weight: 500;
  background: var(--url-arrow) no-repeat left center / calc(6 * var(--rem)) auto;
  transition: var(--effect-opacity);
}
.post-content a:hover {
  opacity: .7;
}
@media screen and (max-width: 767px) {
  .post-content a {
    background-size: calc(5 * var(--rem)) auto;
  }
}

.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6,
.post-content b,
.post-content strong {
  font-weight: bolder;
}

.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
  margin: 1.5em 0 .75em;
}

.post-content p {
  margin-bottom: 2.5em;
}
@media screen and (max-width: 767px) {
  .post-content p {
    margin-bottom: 1.5em;
  }
}

.post-content blockquote {
  margin-left: 40px;
  margin-right: 40px;
}

.post-content i,
.post-content cite,
.post-content em,
.post-content var,
.post-content address {
  font-style: italic;
}

.post-content pre,
.post-content tt,
.post-content code,
.post-content kbd,
.post-content samp {
  font-family: monospace;
}

.post-content pre {
  white-space: pre;
}

.post-content button,
.post-content textarea,
.post-content input,
.post-content select {
  display: inline-block;
}

.post-content big {
  font-size: 1.17em;
}

.post-content small,
.post-content sub,
.post-content sup {
  font-size: 0.83em;
}

.post-content sub {
  vertical-align: sub;
}

.post-content sup {
  vertical-align: super;
}

.post-content thead,
.post-content tbody,
.post-content tfoot {
  vertical-align: middle;
}

.post-content td,
.post-content th,
.post-content tr {
  vertical-align: inherit;
}

.post-content s,
.post-content strike,
.post-content del {
  text-decoration: line-through;
}

.post-content hr {
  border: 1px inset;
}

.post-content ul {
  list-style: disc;
}

.post-content ol {
  list-style: decimal;
}

.post-content ol,
.post-content ul,
.post-content dir,
.post-content menu,
.post-content dd {
  margin-left: 40px;
}

.post-content ol {
  list-style-type: decimal;
}

.post-content ol ul,
.post-content ul ol,
.post-content ul ul,
.post-content ol ol {
  margin-top: 0;
  margin-bottom: 0;
}

.post-content u,
.post-content ins {
  text-decoration: underline;
}

.post-content center {
  text-align: center;
}

.post-content img {
  max-width: 100%;
  height: auto;
}

.post-content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.post-content .alignleft {
  float: left;
  margin: 0.5em 1em 0.5em 0;
}

.post-content .alignright {
  float: right;
  margin: 0.5em 0 0.5em 1em;
}

.pagination {
  position: relative;
  margin: 0 auto;
}

.pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(30 * var(--rem));
}

.pagination ul li .page-numbers {
  font-size: calc(14 * var(--rem));
  letter-spacing: .2em;
  transition: var(--effect-color);
}
.pagination ul li .page-numbers:hover {
  color: var(--color-brand);
}
.pagination ul li .page-numbers.current {
  text-decoration: underline;
  text-underline-offset: .5em;
  color: var(--color-brand);
}
@media screen and (max-width: 767px) {
  .pagination ul li .page-numbers {
    font-size: calc(12 * var(--rem));
  }
}

.screen-reader-text {
  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
}

.pagination ul li .prev.page-numbers,.pagination ul li .next.page-numbers {
  display: block;
  width: 1em;
  height: 1em;
  background: var(--url-arrow) no-repeat center / 42% auto;
}
.prev.page-numbers {
  transform: scale(-1,1);
}

.form {
  display: flex;
  flex-wrap: wrap;
}

.form__term {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1em;
  flex-basis: calc(230 * var(--rem));
  border-bottom: 1px solid var(--color-light-gray);
  padding-block: calc(25 * var(--rem));
}
@media screen and (max-width: 767px) {
  .form__term {
    justify-content: flex-start;
    flex-basis: 100%;
    padding-block: calc(20 * var(--rem)) 0;
    border-bottom: none;
  }
}

.form__label {
  font-weight: 700;
}

.form__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  width: calc(44 * var(--rem));
  min-height: calc(23 * var(--rem));
  background-color: var(--color-coral-red);
  text-align: center;
  color: var(--color-white);
  font-size: calc(12 * var(--rem));
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .form__icon {
    border-radius: 4px;
    width: calc(39 * var(--rem));
    min-height: calc(20 * var(--rem));
    font-size: calc(10 * var(--rem));
  }
}

.form__icon--gray {
  background-color: #949494;
}

.form__description {
  flex-basis: calc(100% - 230 * var(--rem));
  border-bottom: 1px solid var(--color-light-gray);
  padding-block: calc(25 * var(--rem));
  padding-left: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .form__description {
    flex-basis: 100%;
    padding-block: calc(20 * var(--rem));
    padding-left: 0;
    font-size: calc(13 * var(--rem));
  }
}

.form__description .wpcf7-list-item {
  margin-left: 0;
  margin-right: 1em;
}
@media screen and (max-width: 767px) {
  .form__description .wpcf7-list-item {
    display: block;
    margin-right: 0;
  }
}

@media screen and (min-width: 768px) {
  .form__description .wpcf7-radio .wpcf7-list-item {
    margin-right: calc(60 * var(--rem));
  }
}

.form__description input[type="text"],
.form__description input[type="email"],
.form__description input[type="tel"],
.form__description textarea {
  border: none;
  border-radius: 10px;
  padding: 10px 20px;
  width: 100%;
  background-color: #f0f0f0;
}

.form__description:has(.wpcf7-not-valid-tip) input[type="text"],
.form__description:has(.wpcf7-not-valid-tip) input[type="email"],
.form__description:has(.wpcf7-not-valid-tip) input[type="tel"],
.form__description:has(.wpcf7-not-valid-tip) textarea {
  border: 1px solid #ea5e6b;
  background-color: #ffebec;
}

.form__note {
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--rem));
  margin-top: calc(40 * var(--rem));
}
@media screen and (max-width: 767px) {
  .form__note {
    margin-top: calc(30 * var(--rem));
  }
}

.form__heading {
  font-weight: 700;
}

.form__text {
  font-size: calc(15 * var(--rem));
}
@media screen and (max-width: 767px) {
  .form__text {
    font-size: calc(13 * var(--rem));
  }
}

.form__link {
  text-decoration: underline;
  color: var(--color-royal-blue);
}

.form__agree {
  margin-top: calc(50 * var(--rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .form__agree {
    margin-top: calc(30 * var(--rem));
  }
}

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

.form__submit {
  margin-top: calc(50 * var(--rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .form__submit {
    margin-top: calc(40 * var(--rem));
  }
}

.form__submit input[type="submit"] {
  display: inline-block;
  border: 1px solid var(--color-brand);
  border-radius: 36px;
  padding: calc(25 * var(--rem));
  width: min(100%, 366 * var(--rem));
  background: var(--color-brand) var(--url-arrow-white) no-repeat center right calc(20 * var(--rem)) / calc(7 * var(--rem)) auto;
  color: var(--color-white);
  font-size: calc(20 * var(--rem));
  font-weight: 500;
  letter-spacing: .05em;
  cursor: pointer;
  transition: var(--effect-bg), var(--effect-color);
}
.form__submit input[type="submit"]:not([disabled]):hover {
  background-color: var(--color-white);
  background-image: var(--url-arrow);
  color: var(--color-brand);
}
@media screen and (max-width: 767px) {
  .form__submit input[type="submit"] {
    border-radius: 26px;
    padding: calc(15 * var(--rem));
    width: min(100%, 266 * var(--rem));
    background-position: center right calc(15 * var(--rem));
    background-size: calc(5 * var(--rem));
    font-size: calc(15 * var(--rem));
  }
}

/* js */
.js-fade-in {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity .6s ease, transform .6s ease;
}

.js-fade-in.is-active {
  opacity: 1;
  transform: translateY(0);
}