@charset "UTF-8";
:root {
  --font-family-base: "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  --font-family-en: "Plus Jakarta Sans", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  --font-family-mobo: "MOBO-SemiBold", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  --font-family-kumbh-sans: "Kumbh Sans", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
}

:root {
  --font-weight-base: 500;
}

:root {
  --color-base: #1A1C25;
  --color-placeholder: #D4D4D4;
  --color-gray-01: #E9EBF1;
  --color-gray-02: #D4D4D4;
  --color-blue-01: #183672;
  --color-blue-02: #104879;
  --color-green: #006B64;
  --color-yellow-01: #FFF2CA;
  --color-yellow-02: #FFE25A;
  --color-orange: #F37E14;
  --color-red-01: #FF1000;
}

:root {
  --z-index-level-top: 2147483647;
}

:root {
  --leading-trim: calc((1em - 1lh) / 2);
}

/* 言語が英語（ラテン系言語）の場合、cap-heightベースにする */
:root:lang(en) {
  --leading-trim: calc((1cap - 1lh) / 2);
}

/* もし lh が未対応のブラウザであれば fallback */
@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px;
  }
}
:root {
  --width-pc-design: 1920;
  --width-pc-design-content: 1380;
  --width-pc-design-content-percent: 98%;
  --width-pc-design-content-vw: calc(var(--width-pc-design-content) / (--width-pc-design-content * .05) * 100vw);
  --width-pc-design-content-rem: calc((var(--width-pc-design-content) / 10) * 1rem);
  --width-sp-design: 414;
  --width-sp-design-content: 370;
  --width-sp-design-content-percent: calc(var(--width-sp-design-content) / var(--width-sp-design) * 100%);
  --width-sp-design-content-vw: calc(var(--width-sp-design-content) / var(--width-sp-design) * 100vw);
  --width-sp-design-content-rem: calc((var(--width-sp-design-content) / 10) * 1rem);
}

:root {
  --border-radius-infinity: calc(1px / 0);
}

:root {
  --opacity-base: .5;
}

:root {
  --transition-base: .4s;
  --transition-sub: .6s;
  --transition-animation-base: .4s;
  --transition-animation-sub: .6s;
}

.p-fv {
  display: grid;
  position: relative;
  padding-bottom: 10rem;
  background: var(--color-blue-01);
  overflow: clip;
}
@media screen and (max-width: 767px) {
  .p-fv {
    padding-bottom: 2.6rem;
  }
}
.p-fv::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -12.5rem;
  z-index: 1;
  translate: -50% 0;
  width: max(2400px, 125vw);
  height: 33.2rem;
  background: var(--color-blue-01);
  filter: blur(5rem);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-fv::before {
    bottom: calc(-63 / var(--width-sp-design) * 100vw);
    width: calc(660 / var(--width-sp-design) * 100vw);
    height: calc(332 / var(--width-sp-design) * 100vw);
    filter: blur(calc(50 / var(--width-sp-design) * 100vw));
  }
}
.p-fv .hgroup {
  grid-row: 1;
  grid-column: 1;
  position: relative;
  z-index: 2;
  margin-top: auto;
  max-width: 91.6666666667%;
}
@media screen and (max-width: 767px) {
  .p-fv .hgroup {
    width: calc(380 / var(--width-sp-design) * 100vw);
    max-width: 100%;
  }
}
.p-fv .hgroup_ttl {
  width: 83.1818181818%;
  opacity: var(--_hgroup-opacity);
  transition: opacity var(--transition-sub);
}
@media screen and (max-width: 767px) {
  .p-fv .hgroup_ttl {
    width: 35.4rem;
  }
}
.p-fv .hgroup_txt {
  font-size: 2.2rem;
  line-height: 1.7272727273;
  letter-spacing: 0.05em;
  color: #fff;
  margin-top: 3.7rem;
  opacity: var(--_hgroup-opacity);
  transition: opacity var(--transition-sub) var(--transition-base);
}
@media screen and (max-width: 767px) {
  .p-fv .hgroup_txt {
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 3.2rem;
  }
}
.p-fv .splide {
  grid-row: 1;
  grid-column: 1;
}
@media screen and (max-width: 767px) {
  .p-fv .splide {
    padding-bottom: 17.4rem;
  }
}

.p-concept {
  position: relative;
  padding-block: 8rem 12.3rem;
  background: var(--color-blue-01);
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .p-concept {
    padding-block: 5.4rem 6rem;
  }
}
.p-concept::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -0.5rem 0;
  background: inherit;
}
.p-concept .c-wrap {
  position: relative;
  z-index: 1;
  max-width: 166rem;
}
@media screen and (min-width: 768px) {
  .p-concept .c-wrap {
    display: grid;
    padding-left: 8.6rem;
  }
}
.p-concept .c-wrap::before, .p-concept .c-wrap::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(33, 138, 210, 0.32);
  filter: blur(5rem);
  transform: rotate(20deg);
}
.p-concept .c-wrap::before {
  top: -19.5rem;
  left: -7rem;
  width: 53.7rem;
  height: 44.4rem;
}
@media screen and (max-width: 767px) {
  .p-concept .c-wrap::before {
    top: -11rem;
    left: 0.5rem;
    width: 24.1rem;
    height: 20rem;
  }
}
.p-concept .c-wrap::after {
  right: -28.9rem;
  bottom: -22.7rem;
  width: 53.7rem;
  height: 44.4rem;
}
@media screen and (max-width: 767px) {
  .p-concept .c-wrap::after {
    right: -10rem;
    bottom: -7.9rem;
    width: 30.1rem;
    height: 24.9rem;
  }
}
.p-concept .txt-box {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-concept .txt-box {
    grid-row: 1;
    grid-column: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-concept .txt-box::before {
    content: "";
    position: absolute;
    top: 46.1rem;
    right: 1.6rem;
    z-index: -1;
    width: 14.5rem;
    height: 12rem;
    border-radius: 50%;
    background: rgba(255, 242, 202, 0.18);
    filter: blur(5rem);
    transform: rotate(20deg);
  }
}
.p-concept .txt-box_hgroup_en {
  font-size: 2.4rem;
  line-height: 1.25;
  font-weight: 700;
  font-family: var(--font-family-en);
  color: #fff;
  text-transform: capitalize;
  position: relative;
  padding-right: 10rem;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-concept .txt-box_hgroup_en {
    font-size: 1.2rem;
    line-height: 1.25;
    padding-right: 4.6rem;
  }
}
.p-concept .txt-box_hgroup_en::after {
  content: "";
  position: absolute;
  top: 60%;
  right: 0;
  translate: 0 -50%;
  width: 8rem;
  height: 0.1rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-concept .txt-box_hgroup_en::after {
    width: 4rem;
  }
}
.p-concept .txt-box_hgroup_jp {
  font-size: 4rem;
  line-height: 1.45;
  font-weight: 700;
  color: #fff;
  margin-top: 6.1rem;
}
@media screen and (max-width: 767px) {
  .p-concept .txt-box_hgroup_jp {
    font-size: 1.8rem;
    line-height: 1.5555555556;
    margin-top: 3rem;
  }
}
.p-concept .txt-box_hgroup_jp_lg {
  font-size: 5.6rem;
  line-height: 1.4464285714;
  display: block;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-concept .txt-box_hgroup_jp_lg {
    font-size: 3.2rem;
    line-height: 1.4375;
    margin-top: 1.5rem;
  }
}
.p-concept .txt-box_txt {
  font-size: 2rem;
  line-height: 2.1;
  color: #fff;
  margin-top: 6.8rem;
}
@media screen and (min-width: 768px) {
  .p-concept .txt-box_txt {
    max-width: 80rem;
  }
}
@media screen and (max-width: 767px) {
  .p-concept .txt-box_txt {
    font-size: 1.6rem;
    line-height: 2.25;
    margin-top: 4rem;
  }
}
.p-concept .txt-box_txt + .txt-box_txt {
  margin-top: 4.2rem;
}
@media screen and (max-width: 767px) {
  .p-concept .txt-box_txt + .txt-box_txt {
    margin-top: 3.6rem;
  }
}
.p-concept .box {
  display: grid;
  width: 52.7318932656%;
}
@media screen and (min-width: 768px) {
  .p-concept .box {
    grid-row: 1;
    grid-column: 1;
    position: relative;
    margin: auto 0 0 auto;
  }
  .p-concept .box::before {
    content: "";
    position: absolute;
    left: -19.1rem;
    bottom: -23.8rem;
    z-index: -1;
    width: 33.4rem;
    height: 27.6rem;
    border-radius: 50%;
    background: rgba(255, 242, 202, 0.18);
    filter: blur(5rem);
    transform: rotate(20deg);
  }
}
@media screen and (max-width: 767px) {
  .p-concept .box {
    margin-top: 0.4rem;
    width: 99.4594594595%;
  }
}
.p-concept .box.is-bottom-action .box_img {
  opacity: 1;
  translate: 0 0;
}
.p-concept .box_img {
  grid-row: 1;
  grid-column: 1;
  opacity: 0;
  translate: 0 10%;
  transition: opacity ease-out var(--transition-animation-base), translate ease-out var(--transition-animation-base);
}
.p-concept .box_img:nth-child(1) {
  margin-left: auto;
  width: 43.3734939759%;
}
@media screen and (max-width: 767px) {
  .p-concept .box_img:nth-child(1) {
    width: 43.4782608696%;
  }
}
.p-concept .box_img:nth-child(2) {
  margin-top: 24.0963855422%;
  width: 77.1084337349%;
  transition-delay: 200ms;
}
@media screen and (max-width: 767px) {
  .p-concept .box_img:nth-child(2) {
    margin-top: 19.0217391304%;
    width: 76.0869565217%;
  }
}

.p-business {
  position: relative;
  padding-top: 28.3rem;
  background: var(--color-blue-01);
  container-type: inline-size;
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .p-business {
    padding-top: 8.9rem;
  }
}
.p-business .c-loop {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100cqi;
}
.p-business .c-wrap {
  max-width: 166rem;
}
@media screen and (max-width: 767px) {
  .p-business .c-wrap {
    width: 94.2028985507%;
  }
}
.p-business .hgroup {
  position: relative;
  z-index: 1;
}
.p-business .hgroup_txt {
  font-size: 2rem;
  line-height: 1.45;
  color: #fff;
  padding: 0.8rem 2rem;
  width: fit-content;
  background: var(--color-blue-01);
}
@media screen and (max-width: 767px) {
  .p-business .hgroup_txt {
    font-size: 1.4rem;
    line-height: 1.4285714286;
    padding: 0.8rem 1rem;
  }
}
.p-business .hgroup_ttl {
  font-size: 5rem;
  line-height: 1.44;
  font-weight: 700;
  color: #fff;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-business .hgroup_ttl {
    font-size: 2.8rem;
    line-height: 1.4285714286;
    margin-top: 0.4rem;
    padding-left: 1rem;
  }
}
.p-business .list {
  counter-reset: number 0;
  position: relative;
  z-index: 3;
  margin-top: 6rem;
  padding: 10rem 8.4337349398% 12rem;
}
@media screen and (max-width: 767px) {
  .p-business .list {
    margin-top: 2.6rem;
    padding: 4rem 2rem 6rem;
  }
}
.p-business .list::before, .p-business .list::after {
  content: "";
  position: absolute;
}
.p-business .list::before {
  right: 0;
  bottom: 0;
  z-index: -1;
  width: calc(100% - 49rem);
  height: 8rem;
  border-radius: 50%;
  background: rgba(26, 28, 37, 0.22);
  filter: blur(4rem);
}
@media screen and (max-width: 767px) {
  .p-business .list::before {
    right: 50%;
    translate: 50% 0;
    width: 76.9230769231%;
    height: 6rem;
  }
}
.p-business .list::after {
  inset: 0;
  z-index: -1;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-business .list_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    min-height: min(48rem, 28.3353010626vw);
  }
  .p-business .list_item:nth-child(odd) {
    padding-left: 57.9710144928%;
  }
  .p-business .list_item:nth-child(odd) .list_img {
    left: 0;
  }
  .p-business .list_item:nth-child(even) {
    padding-right: 57.9710144928%;
  }
  .p-business .list_item:nth-child(even) .list_img {
    right: 0;
  }
}
.p-business .list_item:nth-child(n+2) {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .p-business .list_item:nth-child(n+2) {
    margin-top: 5rem;
  }
}
.p-business .list_hgroup_num {
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 700;
  font-family: var(--font-family-en);
  color: var(--color-blue-01);
  text-transform: capitalize;
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-business .list_hgroup_num {
    font-size: 1.2rem;
    line-height: 1.25;
  }
}
.p-business .list_hgroup_num::after {
  content: counter(number, decimal-leading-zero);
  counter-increment: number 1;
  display: block;
}
.p-business .list_hgroup_ttl {
  font-size: 3.2rem;
  line-height: 1.5;
  font-weight: 700;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-business .list_hgroup_ttl {
    font-size: 2.2rem;
    line-height: 1.5454545455;
    margin-top: 1.4rem;
  }
}
@media screen and (min-width: 768px) {
  .p-business .list_img {
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    width: 52.1739130435%;
  }
}
@media screen and (max-width: 767px) {
  .p-business .list_img {
    margin-top: 2rem;
  }
}
.p-business .list_txt {
  font-size: 1.6rem;
  line-height: 2.125;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-business .list_txt {
    font-size: 1.4rem;
    line-height: 1.8571428571;
    margin-top: 1.4rem;
  }
}
.p-business .list_btn {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-business .list_btn {
    text-align: center;
    margin-top: 3rem;
  }
}
.p-business .list_btn_link {
  height: 6rem;
}

.p-case {
  container-type: inline-size;
  overflow-x: clip;
}
.p-case .c-wrap {
  position: relative;
  z-index: 1;
  padding-block: 8rem 14rem;
}
@media screen and (min-width: 768px) {
  .p-case .c-wrap {
    display: grid;
    grid-template-columns: 1fr 36.2rem;
    max-width: 166rem;
  }
}
@media screen and (max-width: 767px) {
  .p-case .c-wrap {
    padding-block: 6rem;
    width: 94.2028985507%;
  }
}
.p-case .c-wrap::before, .p-case .c-wrap::after {
  content: "";
  position: absolute;
  z-index: -1;
}
.p-case .c-wrap::before {
  inset: -16rem calc(50% - 50cqi) 0;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-case .c-wrap::before {
    inset: -6rem calc(50% - 50cqi) 5.2rem;
  }
}
.p-case .c-wrap::after {
  inset: -16rem calc(50% - 50cqi) 0 49rem;
  background: linear-gradient(90deg, #e5eefa 0%, #a9c8ec 100%);
}
@media screen and (max-width: 767px) {
  .p-case .c-wrap::after {
    inset: -6rem calc(50% - 50cqi) 5.2rem 6.2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-case .hgroup {
    display: grid;
    align-items: center;
    grid-template-columns: auto 1fr;
    gap: 0.4rem 2rem;
    grid-row: 1;
    grid-column: 1;
  }
}
.p-case .hgroup_en {
  font-size: 11rem;
  line-height: 1.2545454545;
  font-weight: 700;
  font-family: var(--font-family-en);
  color: var(--color-blue-01);
  text-transform: capitalize;
}
@media screen and (min-width: 768px) {
  .p-case .hgroup_en {
    grid-column: span 2;
  }
}
@media screen and (max-width: 767px) {
  .p-case .hgroup_en {
    font-size: 5rem;
    line-height: 1.26;
  }
}
.p-case .hgroup_jp {
  font-size: 2.2rem;
  line-height: 1.4545454545;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-case .hgroup_jp {
    font-size: 1.8rem;
    line-height: 1.4444444444;
    padding-left: 1rem;
  }
}
.p-case .hgroup_txt {
  font-size: 1.6rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-case .hgroup_txt {
    font-size: 1.4rem;
    line-height: 1.7142857143;
    margin-top: 1.2rem;
    padding-left: 1rem;
  }
}
.p-case .splide {
  margin: 5.6rem calc(50% - 50cqi) 0 0;
}
@media screen and (min-width: 768px) {
  .p-case .splide {
    grid-row: 2;
    grid-column: span 2;
    padding-left: 7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-case .splide {
    margin: 3rem calc(50% - 50cqi) 0;
  }
}
@media screen and (min-width: 768px) {
  .p-case .splide-wrapper {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 4rem;
  }
}
.p-case .splide__arrows {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-case .splide__arrows {
    gap: 2rem;
    position: absolute;
    left: 50%;
    bottom: -2.5rem;
    z-index: 1;
    translate: -50% 0;
  }
}
.p-case .splide__arrow {
  position: relative;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  border: 0.1rem solid var(--color-blue-01);
  background: linear-gradient(90deg, #fff 0%, #fff 50%, var(--color-blue-01) 50%, var(--color-blue-01) 100%) right center/200% 100%;
  transition: background-position var(--transition-base);
}
@media screen and (max-width: 767px) {
  .p-case .splide__arrow {
    width: 5rem;
    height: 5rem;
  }
}
.p-case .splide__arrow::before {
  font-size: 2.8rem;
  color: #fff;
  content: "<";
  display: grid;
  place-content: center;
  position: absolute;
  inset: 0;
  padding-bottom: 0.8rem;
  transition: color var(--transition-base);
}
@media screen and (max-width: 767px) {
  .p-case .splide__arrow::before {
    font-size: 1.6rem;
    padding-bottom: 0.6rem;
  }
}
.p-case .splide__arrow--next::before {
  content: ">";
}
.p-case .splide__arrow svg {
  display: none;
}
.p-case .splide__arrow:focus-visible {
  border-color: var(--color-base);
  background-position: 0 0;
  opacity: 1;
}
.p-case .splide__arrow:focus-visible::before {
  color: var(--color-base);
}
@media (any-hover: hover) {
  .p-case .splide__arrow:hover {
    border-color: var(--color-base);
    background-position: 0 0;
    opacity: 1;
  }
  .p-case .splide__arrow:hover::before {
    color: var(--color-base);
  }
}
.p-case .splide_link {
  display: block;
  padding: 4rem 3.35rem;
  height: 100%;
  background: #fff;
}
.p-case .splide_link:focus-visible {
  --_splide-img-scale: 1.1;
  opacity: 1;
}
@media (any-hover: hover) {
  .p-case .splide_link:hover {
    --_splide-img-scale: 1.1;
    opacity: 1;
  }
}
.p-case .splide_fig {
  display: grid;
}
.p-case .splide_fig_img {
  grid-row: 1;
  grid-column: 1;
  margin-bottom: 1.1rem;
  aspect-ratio: 420/260;
  overflow: hidden;
}
.p-case .splide_fig_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(var(--_splide-img-scale));
  transition: transform var(--transition-base);
}
.p-case .splide_fig_cap {
  font-size: 1.6rem;
  line-height: 1.5;
  grid-row: 1;
  grid-column: 1;
  position: relative;
  z-index: 1;
  margin-top: auto;
  padding: 1rem 1rem 1.2rem;
  width: fit-content;
  min-width: 17.3rem;
  max-width: calc(100% - 3.35rem);
  background: #fff;
}
.p-case .splide_ttl {
  font-size: 2rem;
  line-height: 1.45;
  color: var(--color-blue-01);
  margin-top: 4rem;
}
.p-case .splide_txt {
  font-size: 1.4rem;
  line-height: 1.8571428571;
  letter-spacing: 0.05em;
  margin-top: 2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden;
}
.p-case .c-btn-slide {
  margin-top: 9rem;
}
@media screen and (min-width: 768px) {
  .p-case .c-btn-slide {
    grid-row: 1;
    grid-column: 2;
  }
}
@media screen and (max-width: 767px) {
  .p-case .c-btn-slide {
    text-align: center;
    margin-top: 6.5rem;
  }
}

.p-maker {
  background: #fff;
  container-type: inline-size;
}
.p-maker .c-wrap {
  max-width: 166rem;
}
@media screen and (min-width: 768px) {
  .p-maker .c-wrap {
    display: grid;
    align-items: center;
    grid-template-columns: 49rem 1fr;
  }
}
.p-maker .hgroup {
  position: relative;
  z-index: 1;
  padding-block: 11.3rem 14.9rem;
}
@media screen and (max-width: 767px) {
  .p-maker .hgroup {
    padding-block: 4rem;
  }
}
.p-maker .hgroup::before {
  content: "";
  position: absolute;
  inset: 0 0 0 calc(50% - 50cqi);
  z-index: -1;
  background: var(--color-blue-01);
}
@media screen and (max-width: 767px) {
  .p-maker .hgroup::before {
    inset: 0 calc(50% - 50cqi);
  }
}
.p-maker .hgroup_en {
  font-size: 11rem;
  line-height: 1.2545454545;
  font-weight: 700;
  font-family: var(--font-family-en);
  color: #fff;
  text-transform: capitalize;
}
@media screen and (max-width: 767px) {
  .p-maker .hgroup_en {
    font-size: 5rem;
    line-height: 1.26;
  }
}
.p-maker .hgroup_jp {
  font-size: 2.2rem;
  line-height: 1.4545454545;
  font-weight: 700;
  color: #fff;
  margin-top: 0.4rem;
  padding-left: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-maker .hgroup_jp {
    font-size: 1.8rem;
    line-height: 1.4444444444;
    margin-top: 0;
    padding-left: 0;
  }
}
.p-maker .hgroup_txt {
  font-size: 1.6rem;
  line-height: 1.75;
  color: #fff;
  margin-top: 5rem;
  padding-inline: 1.4rem 15.7rem;
}
@media screen and (max-width: 767px) {
  .p-maker .hgroup_txt {
    font-size: 1.4rem;
    line-height: 1.8571428571;
    letter-spacing: 0.05em;
    margin-top: 3rem;
    padding-inline: 0;
  }
}
.p-maker .loop {
  display: flex;
  margin-right: calc(50% - 50cqi);
  overflow: hidden;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-maker .loop {
    margin: 4rem calc(50% - 50cqi) 0;
  }
}
.p-maker .loop_item {
  --_item-shift: -260;
  --_item-padding-inline: 10;
  --_item-width: 360;
  --_item-val: 5;
  --_animation-time: 70s;
  flex-shrink: 0;
  width: calc((var(--_item-padding-inline) * 2 + var(--_item-width)) * var(--_item-val) / 10 * 1rem);
}
@media screen and (max-width: 767px) {
  .p-maker .loop_item {
    --_item-padding-inline: 5;
    --_item-width: 190;
    --_item-val: 3;
    --_animation-time: 35s;
    --_design-window-width: 414;
    width: calc((var(--_item-padding-inline) * 2 + var(--_item-width)) * var(--_item-val) / var(--_design-window-width) * 100vw);
  }
}
.p-maker .loop_item:first-of-type {
  animation: maker-loop-slide1 var(--_animation-time) calc(var(--_animation-time) / 2 * -1) linear infinite;
}
.p-maker .loop_item:last-of-type {
  animation: maker-loop-slide2 var(--_animation-time) linear infinite;
}
@keyframes maker-loop-slide1 {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes maker-loop-slide2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-200%);
  }
}
.p-maker .loop_list {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-maker .loop_list {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: calc(14 / var(--width-sp-design) * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .p-maker .loop_list:nth-child(even) {
    transform: translateX(calc(var(--_item-shift) / 10 * 1rem));
  }
}
.p-maker .loop_list:nth-child(n+2) {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-maker .loop_list:nth-child(n+2) {
    margin-top: calc(14 / var(--width-sp-design) * 100vw);
  }
}
.p-maker .loop_list_item {
  flex-shrink: 0;
  padding-inline: calc(var(--_item-padding-inline) / 10 * 1rem);
  width: calc((var(--_item-padding-inline) * 2 + var(--_item-width)) / 10 * 1rem);
}
@media screen and (max-width: 767px) {
  .p-maker .loop_list_item {
    padding-inline: calc(var(--_item-padding-inline) / var(--_design-window-width) * 100vw);
    width: calc((var(--_item-padding-inline) * 2 + var(--_item-width)) / var(--_design-window-width) * 100vw);
  }
}
.p-maker .loop_list_item_link {
  display: block;
  pointer-events: all;
  transition: transform var(--transition-base);
}
.p-maker .loop_list_item_link:focus-visible {
  transform: scale(1.1);
  opacity: 1;
}
@media (any-hover: hover) {
  .p-maker .loop_list_item_link:hover {
    transform: scale(1.1);
    opacity: 1;
  }
}

.p-news {
  margin-top: 12rem;
}
@media screen and (max-width: 767px) {
  .p-news {
    margin-top: 4rem;
  }
}
.p-news .c-wrap {
  display: grid;
  grid-template-columns: 39.8rem 1fr;
  padding: 5rem 10rem 5rem 6rem;
  max-width: 120rem;
  background: var(--color-gray-01);
}
@media screen and (max-width: 767px) {
  .p-news .c-wrap {
    grid-template-columns: 1fr 19.5rem;
    padding: 4rem 5.3140096618% 6rem;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-news .hgroup {
    grid-row: 1;
    grid-column: 1;
  }
}
.p-news .hgroup_en {
  font-size: 4rem;
  line-height: 1.275;
  font-weight: 700;
  font-family: var(--font-family-en);
  color: #0B246D;
  text-transform: capitalize;
}
.p-news .hgroup_jp {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
}
.p-news .c-btn-slide {
  margin-top: 8.7rem;
}
@media screen and (min-width: 768px) {
  .p-news .c-btn-slide {
    grid-row: 2;
    grid-column: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-news .c-btn-slide {
    margin-top: 2.5rem;
  }
}
.p-news .c-btn-slide_link {
  font-size: 1.4rem;
  max-width: 24rem;
  height: 6rem;
}
@media screen and (max-width: 767px) {
  .p-news .c-btn-slide_link {
    height: 5rem;
  }
}
.p-news .c-btn-slide_link::after {
  font-size: 1.4rem;
  right: 2rem;
}
.p-news .list {
  grid-column: 2;
}
@media screen and (min-width: 768px) {
  .p-news .list {
    grid-row: span 2;
  }
}
@media screen and (max-width: 767px) {
  .p-news .list {
    grid-column: span 2;
    margin-top: 1.4rem;
  }
}
.p-news .list_item {
  border-bottom: 0.1rem solid #C5C7CB;
}
.p-news .list_link {
  display: grid;
  padding-block: 2.4rem;
}
@media screen and (min-width: 768px) {
  .p-news .list_link {
    grid-template-columns: 10rem 1fr;
  }
}
@media screen and (max-width: 767px) {
  .p-news .list_link {
    display: block;
    padding-block: 1.6rem;
  }
}
.p-news .list_date {
  font-size: 1.6rem;
  line-height: 1.75;
  color: #0B246D;
}
@media screen and (max-width: 767px) {
  .p-news .list_date {
    font-size: 1.4rem;
    line-height: 1.4285714286;
  }
}
.p-news .list_ttl {
  font-size: 1.6rem;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-news .list_ttl {
    margin-top: 1rem;
  }
}

.c-recruit {
  margin-top: 6rem;
}

/*# sourceMappingURL=index.css.map */
