@charset "UTF-8";
/* ------------------------------------

colors setting

------------------------------------ */
/* ------------------------------------

colors setting の変数ではなく
下記の左側の変数をcssで指定する

×：$black
◯：$dark-text

------------------------------------ */
/*  text-color
*----------------------------------- */
/*  background-color
*----------------------------------- */
/*  border-color
*----------------------------------- */
/*  system-color
*----------------------------------- */
/*  cv
*----------------------------------- */
/*  footer
*----------------------------------- */
/*  menu
*----------------------------------- */
/*  new icon
*----------------------------------- */
/*  horizontal
*----------------------------------- */
/*  slick-color
*----------------------------------- */
/* mobile */
/* ------------------------------------

l-〇〇

------------------------------------ */
.page-top .l-〇〇__container {
  width: 1200px;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-〇〇__container {
    width: auto;
  }
}

/* ------------------------------------

l-main

------------------------------------ */
@media (min-width: 762px) {
  .page-top .l-wrapper {
    padding-right: 70px;
  }
}

@media (min-width: 762px) {
  .page-top .l-main {
    padding-bottom: 155px;
  }
}
@media (max-width: 761px) {
  .page-top .l-main {
    max-width: 100vw;
    padding-bottom: 15.3846153846vw;
  }
}

.page-top {
  max-width: 100vw;
  overflow-x: hidden;
}

/* ------------------------------------

l-side

------------------------------------ */
.page-top .l-side {
  width: 70px;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  background-color: #fff;
  padding-top: 74px;
  padding-bottom: 24px;
}
@media (max-width: 761px) {
  .page-top .l-side {
    display: none;
  }
}
.page-top .l-side__image {
  width: 47px;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}
.page-top .l-side__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
}

/* ------------------------------------

l-visual

------------------------------------ */
.page-top .l-visual {
  margin-bottom: 10px;
}
@media (max-width: 761px) {
  .page-top .l-visual {
    margin-bottom: 7.6923076923vw;
  }
}
.page-top .l-visual__container {
  width: 100%;
  position: relative;
}
@media (max-width: 761px) {
  .page-top .l-visual__container {
    padding-bottom: 15.3846153846vw;
  }
}
.page-top .l-visual__image {
  width: 100%;
  height: auto;
}
.page-top .l-visual .p-item {
  width: 92%;
  margin: 0 auto;
  position: absolute;
  bottom: 9%;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border-radius: 999px;
  overflow: hidden;
}
@media (max-width: 761px) {
  .page-top .l-visual .p-item {
    width: 95.8974358974vw;
    bottom: 9.4871794872vw;
  }
}
.page-top .l-visual .p-item__cover {
  display: flex;
  align-items: stretch;
}
.page-top .l-visual .p-item__catch {
  width: 142px;
  font-family: "montserrat", sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  background-color: #6AAF9D;
  padding: 0 0 2px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 761px) {
  .page-top .l-visual .p-item__catch {
    width: 22.5641025641vw;
    font-size: 18px;
    font-size: 4.6153846154vw;
    padding: 0 0 2px 2.5641025641vw;
  }
}
.page-top .l-visual .p-item__inner {
  width: calc(100% - 142px);
  padding: 20px 25px;
  display: flex;
  align-items: center;
}
@media (max-width: 761px) {
  .page-top .l-visual .p-item__inner {
    width: calc(100% - 22.5641025641vw);
    padding: 3.5897435897vw 3.5897435897vw;
    min-height: 14.358974359vw;
  }
}
.page-top .l-visual .p-item__post-title {
  font-size: 16px;
  line-height: 1.4;
  width: 100%;
  text-align: left;
  -webkit-line-clamp: 1;
}
@media (max-width: 761px) {
  .page-top .l-visual .p-item__post-title {
    font-size: 14px;
    font-size: 3.5897435897vw;
  }
}

/* ------------------------------------

l-intro

------------------------------------ */
.page-top .l-intro {
  margin-bottom: 130px;
}
@media (max-width: 761px) {
  .page-top .l-intro {
    margin-bottom: 51.2820512821vw;
  }
}
.page-top .l-intro__container {
  width: min(98%, 1200px);
  margin: 0 auto;
  position: relative;
  min-height: 900px;
  padding-top: 300px;
}
@media (max-width: 761px) {
  .page-top .l-intro__container {
    width: 100%;
    min-height: auto;
    padding: 0 5.1282051282vw;
  }
}
.page-top .l-intro__lead {
  border-radius: 50%;
  background: #C63D3B;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.page-top .l-intro__lead.strokeLine {
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35);
}
.page-top .l-intro__lead.strokeLine.visible {
  transform: scale(1);
}
@media (min-width: 762px) {
  .page-top .l-intro__lead {
    width: 370px;
    height: 370px;
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
  }
}
@media (max-width: 761px) {
  .page-top .l-intro__lead {
    position: relative;
    z-index: 100;
    width: 46.1538461538vw;
    height: 46.1538461538vw;
  }
}
.page-top .l-intro__lead p {
  font-weight: 700;
  line-height: 1.35;
  font-size: 48px;
}
@media (max-width: 761px) {
  .page-top .l-intro__lead p {
    font-size: 22px;
    font-size: 5.641025641vw;
  }
}
.page-top .l-intro .line01 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: min(780px, 75vw);
  left: clamp(-540px, -79%, -260px);
  top: clamp(-190px, -24vw, -72px);
}
.page-top .l-intro .line01 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-intro .line01 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: 3200px;
  transition: stroke-dashoffset 3s linear;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-intro .line01 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-intro .line01 {
    width: 58.9743589744vw;
    left: 15.3846153846vw;
    top: -45.641025641vw;
  }
}
.page-top .l-intro .line02 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 54vw;
  left: 25%;
  bottom: -12vw;
}
.page-top .l-intro .line02.visible path {
  stroke-dashoffset: 0;
}
.page-top .l-intro .line02 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-intro .line02 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: 3200px;
  transition: stroke-dashoffset 3s linear 1.5s;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-intro .line02 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-intro .line02 {
    width: 87.1794871795vw;
    left: auto;
    top: auto;
    left: 35.8974358974vw;
    bottom: -36.9230769231vw;
  }
}
.page-top .l-intro__message {
  position: relative;
  z-index: 2;
  width: min(50%, 600px);
  min-height: 1000px;
  margin-left: auto;
}
@media (max-width: 761px) {
  .page-top .l-intro__message {
    width: 100%;
    min-height: 143.5897435897vw;
    margin: 28.2051282051vw auto 0;
  }
}
.page-top .l-intro__message.visible .line01 path {
  stroke-dashoffset: 0;
}
.page-top .l-intro__message.visible .l-intro__message-inner {
  transform: scale(1);
}
.page-top .l-intro__message-inner {
  border-radius: 300px;
  background: #fff;
  margin-right: min(8%, 97px);
  padding: 136px 60px 120px;
  color: #C63D3B;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 1s;
}
@media (max-width: 761px) {
  .page-top .l-intro__message-inner {
    border-radius: 100vw;
    padding: 25.641025641vw 5.1282051282vw 30.7692307692vw;
    margin: 0;
  }
}
.page-top .l-intro__message-body p {
  text-align: center;
  line-height: 2;
  font-weight: 500;
  margin-bottom: 2em;
  font-size: 18px;
  word-break: keep-all;
}
@media (max-width: 761px) {
  .page-top .l-intro__message-body p {
    font-size: 18px;
    font-size: 4.6153846154vw;
    line-height: 1.9;
  }
}
.page-top .l-intro__message-catch {
  text-align: center;
  font-weight: 900;
  line-height: 1.35;
  margin-top: 28px;
  font-size: 50px;
}
@media (max-width: 761px) {
  .page-top .l-intro__message-catch {
    margin-top: 3.0769230769vw;
    font-size: 32px;
    font-size: 8.2051282051vw;
  }
}

/* ------------------------------------

l-movie

------------------------------------ */
.page-top .l-movie {
  margin-bottom: 160px;
}
@media (max-width: 761px) {
  .page-top .l-movie {
    margin-bottom: 20.5128205128vw;
  }
}
.page-top .l-movie__container {
  width: min(98%, 1200px);
  margin: 0 auto;
  position: relative;
}
@media (min-width: 762px) {
  .page-top .l-movie__container {
    min-height: 520px;
    padding: 0 0 40px;
  }
}
@media (max-width: 761px) {
  .page-top .l-movie__container {
    width: 100%;
    padding: 0 5.1282051282vw 6.1538461538vw;
  }
}
.page-top .l-movie__container.visible .line03 path {
  stroke-dashoffset: 0;
}
.page-top .l-movie__container.visible .l-movie__badge {
  transform: scale(1);
}
.page-top .l-movie__container.visible .l-movie__media-block,
.page-top .l-movie__container.visible .l-movie__aside {
  transform: scale(1);
}
.page-top .l-movie .line03 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 44vw;
  left: -28vw;
  top: -18vw;
}
.page-top .l-movie .line03 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-movie .line03 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: -3200px;
  transition: stroke-dashoffset 1s linear;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-movie .line03 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-movie .line03 {
    width: 71.7948717949vw;
    left: -31.7948717949vw;
    top: -25.641025641vw;
  }
}
.page-top .l-movie__media-block {
  width: min(90%, 880px);
  margin: 0 auto;
  position: relative;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 1.2s;
}
@media (min-width: 762px) {
  .page-top .l-movie__media-block {
    padding-top: 240px;
  }
}
@media (max-width: 761px) {
  .page-top .l-movie__media-block {
    width: 100%;
    padding-top: 36.1538461538vw;
  }
}
.page-top .l-movie__badge {
  position: absolute;
  z-index: 2;
  border-radius: 50%;
  background: #fff;
  color: #DD8682;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 0.8s;
}
@media (min-width: 762px) {
  .page-top .l-movie__badge {
    width: 360px;
    height: 360px;
    top: 0;
    left: 0;
    gap: 10px;
    border: 10px solid #DD8682;
    padding-bottom: 20px;
  }
}
@media (max-width: 761px) {
  .page-top .l-movie__badge {
    width: 46.1538461538vw;
    height: 46.1538461538vw;
    top: 2.0512820513vw;
    left: 5.1282051282vw;
    border-width: 2.0512820513vw;
    gap: 1.0256410256vw;
    padding-bottom: 2.0512820513vw;
  }
}
.page-top .l-movie__badge-num {
  font-family: "montserrat", sans-serif;
  font-weight: 700;
  font-size: 180px;
  line-height: 0.85;
}
@media (max-width: 761px) {
  .page-top .l-movie__badge-num {
    font-size: 90px;
    font-size: 23.0769230769vw;
  }
}
.page-top .l-movie__badge-label {
  font-weight: 900;
  font-size: 36px;
  line-height: 1;
}
@media (max-width: 761px) {
  .page-top .l-movie__badge-label {
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-top .l-movie__media {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.page-top .l-movie__media iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.page-top .l-movie__aside {
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 1s;
}
@media (min-width: 762px) {
  .page-top .l-movie__aside {
    position: absolute;
    z-index: 2;
    top: 152px;
    right: 0;
    text-align: right;
  }
}
@media (max-width: 761px) {
  .page-top .l-movie__aside {
    margin-top: 1.2820512821vw;
    text-align: right;
  }
}
.page-top .l-movie__title {
  margin: 0 0 16px;
  font-size: min(160px, 13vw);
  font-weight: 700;
  color: transparent;
  -webkit-text-stroke: 3px #DD8682;
}
@media (max-width: 761px) {
  .page-top .l-movie__title {
    margin-bottom: 1.2820512821vw;
    font-size: 60px;
    font-size: 15.3846153846vw;
    -webkit-text-stroke-width: 2px;
  }
}
.page-top .l-movie__text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 17px 10px;
  border-radius: 999px;
  background: #DD8682;
  color: #fff;
  font-weight: 900;
  font-size: 24px;
  line-height: 1.3;
}
@media (max-width: 761px) {
  .page-top .l-movie__text {
    font-size: 16px;
    font-size: 4.1025641026vw;
    padding: 1.2820512821vw 2.5641025641vw 1.5384615385vw;
  }
}

/* ------------------------------------

l-reason

------------------------------------ */
.page-top .l-reason {
  position: relative;
  margin-bottom: 95px;
}
@media (max-width: 761px) {
  .page-top .l-reason {
    margin-bottom: 1.5384615385vw;
  }
}
.page-top .l-reason__container {
  width: min(98%, 1200px);
  margin: 0 auto;
  position: relative;
  padding: 40px 0 60px;
}
@media (min-width: 762px) {
  .page-top .l-reason__container {
    padding: 24px 0 56px;
  }
}
@media (max-width: 761px) {
  .page-top .l-reason__container {
    width: 100%;
    padding: 0 5.1282051282vw 10.2564102564vw;
  }
}
.page-top .l-reason .line04 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 700px;
  left: 28%;
  top: -300px;
}
.page-top .l-reason .line04 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-reason .line04 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: 3200px;
  transition: stroke-dashoffset 2s linear;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-reason .line04 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-reason .line04 {
    width: 64.1025641026vw;
    left: 0;
    top: -75.641025641vw;
    transform: none;
  }
}
.page-top .l-reason__link {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 28px;
  width: 100%;
  color: inherit;
  text-decoration: none;
  position: relative;
}
@media (min-width: 762px) {
  .page-top .l-reason__link {
    min-height: 500px;
    align-items: center;
    gap: 0;
  }
}
@media (max-width: 761px) {
  .page-top .l-reason__link {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
}
.page-top .l-reason__link.visible .line04 path {
  stroke-dashoffset: 0;
}
.page-top .l-reason__link.visible .l-reason__visual,
.page-top .l-reason__link.visible .l-reason__body {
  transform: scale(1);
}
.page-top .l-reason__link:hover, .page-top .l-reason__link:active, .page-top .l-reason__link:hover img {
  opacity: 1;
}
.page-top .l-reason__link:hover .l-reason__visual,
.page-top .l-reason__link:hover .l-reason__body {
  filter: brightness(0.95);
}
.page-top .l-reason__visual {
  flex-shrink: 0;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 0.6s;
}
@media (min-width: 762px) {
  .page-top .l-reason__visual {
    width: min(56%, 540px);
  }
}
@media (max-width: 761px) {
  .page-top .l-reason__visual {
    width: min(100%, 76.9230769231vw);
    margin-left: -10.2564102564vw;
    margin-right: auto;
  }
}
.page-top .l-reason__visual-inner {
  position: relative;
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1/1;
  background: #DBDBDB;
}
.page-top .l-reason__visual-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.page-top .l-reason__body {
  flex: 1;
  min-width: 0;
  text-align: left;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 0.8s;
}
@media (min-width: 762px) {
  .page-top .l-reason__body {
    margin-top: 230px;
    margin-left: -40px;
    max-width: 650px;
    position: relative;
    z-index: 2;
  }
}
@media (max-width: 761px) {
  .page-top .l-reason__body {
    width: 100%;
    margin-top: 3.0769230769vw;
    position: relative;
    z-index: 2;
  }
}
.page-top .l-reason__title {
  margin: 0 0 8px;
  font-size: min(120px, 11vw);
  font-weight: 600;
  line-height: 1;
  color: #101010;
  text-align: left;
}
@media (max-width: 761px) {
  .page-top .l-reason__title {
    margin-bottom: 2.0512820513vw;
    font-size: min(68px, 18vw);
  }
}
.page-top .l-reason__subtitle {
  margin: 0 0 24px;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.4;
  color: #101010;
  text-align: left;
}
@media (max-width: 761px) {
  .page-top .l-reason__subtitle {
    margin-bottom: 3.5897435897vw;
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-top .l-reason__lead {
  margin: 0 0 6px;
  font-weight: 900;
  font-size: 24px;
  line-height: 1.5;
  color: #101010;
  text-align: left;
}
@media (max-width: 761px) {
  .page-top .l-reason__lead {
    margin-bottom: 2.0512820513vw;
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-top .l-reason__catch {
  margin: 0;
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px 0;
  font-weight: 900;
  line-height: 1.35;
  color: #101010;
  text-align: left;
}
@media (max-width: 761px) {
  .page-top .l-reason__catch {
    align-items: flex-end;
    gap: 2.0512820513vw 2.5641025641vw;
  }
}
.page-top .l-reason__catch::after {
  content: "";
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #DD8682 url(../images/cmn/icon_arrow_wh_l.svg) calc(50% - 2px) center no-repeat;
  background-size: 22px 22px;
  margin-left: -10px;
  margin-top: 6px;
}
@media (max-width: 761px) {
  .page-top .l-reason__catch::after {
    width: 7.6923076923vw;
    height: 7.6923076923vw;
    background-position: calc(50% - 0.3846153846vw) center;
    background-size: 3.0769230769vw 3.0769230769vw;
  }
}
.page-top .l-reason__catch-text {
  font-size: min(48px, 3.4vw);
  white-space: nowrap;
  text-align: left;
}
@media (max-width: 761px) {
  .page-top .l-reason__catch-text {
    font-size: min(28px, 6.8vw);
  }
}

/* ------------------------------------

l-about

------------------------------------ */
.page-top .l-about {
  position: relative;
  margin-bottom: 200px;
}
@media (max-width: 761px) {
  .page-top .l-about {
    margin-bottom: 35.8974358974vw;
  }
}
.page-top .l-about.visible .line05 path {
  stroke-dashoffset: 0;
}
.page-top .l-about.visible .l-about__link {
  transform: scale(1);
}
.page-top .l-about__container {
  width: calc(100% - 30px);
  margin-left: auto;
  margin-right: 0;
  position: relative;
}
@media (min-width: 762px) {
  .page-top .l-about__container {
    width: min(880px, 100% - 30px);
    min-height: 350px;
  }
}
@media (max-width: 761px) {
  .page-top .l-about__container {
    width: calc(100% - 5.1282051282vw);
    min-height: 58.9743589744vw;
  }
}
.page-top .l-about .line05 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 1200px;
  left: 40vw;
  translate: -50% 0;
  top: -540px;
}
.page-top .l-about .line05 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-about .line05 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: 3200px;
  transition: stroke-dashoffset 2s linear;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-about .line05 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-about .line05 {
    width: 125.641025641vw;
    left: 41.0256410256vw;
    top: -97.4358974359vw;
    transform: none;
  }
}
.page-top .l-about__link {
  display: block;
  position: relative;
  background: #DD8682;
  color: #fff;
  text-decoration: none;
  border-radius: 180px 0 0 180px;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 0.2s;
}
@media (min-width: 762px) {
  .page-top .l-about__link {
    padding: 70px clamp(36px, 5vw, 92px) 78px clamp(48px, 8vw, 150px);
  }
}
@media (max-width: 761px) {
  .page-top .l-about__link {
    border-radius: 15.3846153846vw 0 0 15.3846153846vw;
    padding: 11.2820512821vw 6.6666666667vw 14.358974359vw 7.6923076923vw;
  }
}
.page-top .l-about__link:hover, .page-top .l-about__link:active {
  opacity: 1;
  filter: brightness(0.95);
}
.page-top .l-about__link::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: #fff url(../images/cmn/icon_arrow_pink_l.svg) calc(50% - 2px) center no-repeat;
}
@media (min-width: 762px) {
  .page-top .l-about__link::after {
    width: 52px;
    height: 52px;
    right: clamp(20px, 2vw, 40px);
    bottom: 30px;
    background-size: 21px 21px;
  }
}
@media (max-width: 761px) {
  .page-top .l-about__link::after {
    width: 7.6923076923vw;
    height: 7.6923076923vw;
    right: 5.1282051282vw;
    bottom: 5.1282051282vw;
    background-size: 2.8205128205vw 2.8205128205vw;
  }
}
.page-top .l-about__title {
  margin: 0;
  font-weight: 600;
  line-height: 1;
  text-align: left;
}
@media (min-width: 762px) {
  .page-top .l-about__title {
    display: inline-block;
    font-size: min(100px, 7.2vw);
    vertical-align: baseline;
  }
}
@media (max-width: 761px) {
  .page-top .l-about__title {
    font-size: min(60px, 16vw);
  }
}
.page-top .l-about__subtitle {
  margin: 4px 0 18px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}
@media (min-width: 762px) {
  .page-top .l-about__subtitle {
    display: inline-block;
    margin: 0 0 0 10px;
    font-size: min(18px, 1.95vw);
    vertical-align: baseline;
  }
}
@media (max-width: 761px) {
  .page-top .l-about__subtitle {
    margin: 1.0256410256vw 0 3.0769230769vw;
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-top .l-about__lead {
  font-weight: 900;
  line-height: 1.45;
  text-align: left;
}
@media (min-width: 762px) {
  .page-top .l-about__lead {
    font-size: min(24px, 3vw);
    margin-top: 28px;
  }
}
@media (max-width: 761px) {
  .page-top .l-about__lead {
    margin-top: 2.5641025641vw;
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-top .l-about__catch {
  margin: 0;
  display: block;
  font-weight: 900;
  line-height: 1.2;
  text-align: left;
}
@media (min-width: 762px) {
  .page-top .l-about__catch {
    font-size: min(48px, 4.2vw);
    margin-top: 10px;
  }
}
@media (max-width: 761px) {
  .page-top .l-about__catch {
    font-size: 28px;
    font-size: 7.1794871795vw;
    margin-top: 2.0512820513vw;
  }
}

/* ------------------------------------

l-message

------------------------------------ */
.page-top .l-message {
  position: relative;
  margin-bottom: 380px;
}
@media (max-width: 761px) {
  .page-top .l-message {
    margin-bottom: 46.1538461538vw;
  }
}
.page-top .l-message__container {
  width: min(98%, 1200px);
  margin: 0 auto;
}
@media (max-width: 761px) {
  .page-top .l-message__container {
    width: 100%;
  }
}
.page-top .l-message__inner {
  position: relative;
}
@media (min-width: 762px) {
  .page-top .l-message__inner {
    max-width: 850px;
    margin: 0;
  }
}
@media (max-width: 761px) {
  .page-top .l-message__inner {
    width: 124.6153846154vw;
    margin-left: -12.3076923077vw;
    margin-right: -12.3076923077vw;
  }
}
.page-top .l-message__inner.visible .line06 path {
  stroke-dashoffset: 0;
}
.page-top .l-message__inner.visible .line07 path {
  stroke-dashoffset: 0;
}
.page-top .l-message__inner.visible .l-message__link {
  transform: scale(1);
}
.page-top .l-message .line06 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 60vw;
  right: -50vw;
  top: -10px;
}
.page-top .l-message .line06 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-message .line06 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: -3200px;
  transition: stroke-dashoffset 2s linear;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-message .line06 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-message .line06 {
    width: 43.5897435897vw;
    left: auto;
    right: -2.5641025641vw;
    top: -7.6923076923vw;
    transform: none;
  }
}
.page-top .l-message .line07 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 600px;
  left: 44%;
  bottom: -800px;
}
.page-top .l-message .line07 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-message .line07 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: 3200px;
  transition: stroke-dashoffset 2s linear 3.5s;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-message .line07 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-message .line07 {
    width: 84.6153846154vw;
    left: 38.4615384615vw;
    top: auto;
    bottom: -70.5128205128vw;
    transform: none;
  }
}
.page-top .l-message__link {
  display: block;
  position: relative;
  width: 100%;
  color: inherit;
  text-decoration: none;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 1.8s;
}
@media (min-width: 762px) {
  .page-top .l-message__link {
    padding-top: 160px;
  }
}
@media (max-width: 761px) {
  .page-top .l-message__link {
    padding-top: 30vw;
  }
}
.page-top .l-message__link:hover, .page-top .l-message__link:active, .page-top .l-message__link:hover img {
  opacity: 1;
  filter: brightness(0.95);
}
.page-top .l-message__visual {
  border-radius: 50%;
  overflow: hidden;
}
.page-top .l-message__visual img {
  width: 100%;
  height: auto;
  display: block;
}
.page-top .l-message__badge {
  position: absolute;
  z-index: 2;
  border-radius: 50%;
  background: #fff;
  border: 8px solid #96AD63;
  color: #96AD63;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (min-width: 762px) {
  .page-top .l-message__badge {
    width: 360px;
    height: 360px;
    top: 0;
    left: 86%;
    transform: translateX(-50%);
    padding-bottom: 20px;
  }
}
@media (max-width: 761px) {
  .page-top .l-message__badge {
    width: 46.1538461538vw;
    height: 46.1538461538vw;
    border-width: 1.5384615385vw;
    top: 0;
    left: 49%;
    padding-bottom: 2.0512820513vw;
  }
}
.page-top .l-message__badge-num {
  font-weight: 700;
  line-height: 0.95;
}
@media (min-width: 762px) {
  .page-top .l-message__badge-num {
    font-size: 180px;
  }
}
@media (max-width: 761px) {
  .page-top .l-message__badge-num {
    font-size: 90px;
    font-size: 23.0769230769vw;
  }
}
.page-top .l-message__badge-label {
  font-weight: 900;
  line-height: 1;
}
@media (min-width: 762px) {
  .page-top .l-message__badge-label {
    font-size: 36px;
  }
}
@media (max-width: 761px) {
  .page-top .l-message__badge-label {
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}

/* ------------------------------------

l-personality

------------------------------------ */
@media (min-width: 762px) {
  .page-top .l-personality {
    margin-top: 110px;
    margin-bottom: 66px;
  }
}
@media (max-width: 761px) {
  .page-top .l-personality {
    margin-top: 23.0769230769vw;
    margin-bottom: 32.0512820513vw;
  }
}
.page-top .l-personality__container {
  width: min(98%, 1200px);
  margin: 0 auto;
  position: relative;
}
@media (max-width: 761px) {
  .page-top .l-personality__container {
    width: 100%;
  }
}
.page-top .l-personality__inner {
  margin: 0 auto;
  position: relative;
}
@media (min-width: 762px) {
  .page-top .l-personality__inner {
    width: 500px;
    height: 500px;
  }
}
@media (max-width: 761px) {
  .page-top .l-personality__inner {
    width: 89.7435897436vw;
    height: 89.7435897436vw;
  }
}
.page-top .l-personality__inner.visible .line08 path {
  stroke-dashoffset: 0;
}
.page-top .l-personality__inner.visible .line09 path {
  stroke-dashoffset: 0;
}
.page-top .l-personality__inner.visible .l-personality__link {
  transform: scale(1);
}
.page-top .l-personality .line08 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 350px;
  right: 50%;
  top: -170px;
}
.page-top .l-personality .line08 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-personality .line08 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: -3200px;
  transition: stroke-dashoffset 2s linear;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-personality .line08 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-personality .line08 {
    width: 71.7948717949vw;
    left: -10.2564102564vw;
    top: -41.0256410256vw;
    transform: none;
  }
}
.page-top .l-personality .line09 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 60vw;
  left: 50%;
  bottom: -5%;
}
.page-top .l-personality .line09 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-personality .line09 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: 3200px;
  transition: stroke-dashoffset 2s linear 2.5s;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-personality .line09 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-personality .line09 {
    width: 71.7948717949vw;
    left: 41.0256410256vw;
    top: 43.5897435897vw;
    transform: none;
  }
}
.page-top .l-personality__link {
  position: relative;
  z-index: 2;
  margin-inline: auto;
  border-radius: 50%;
  background: #96AD63;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 1.8s;
}
.page-top .l-personality__link:hover, .page-top .l-personality__link:active {
  opacity: 1;
  filter: brightness(0.95);
}
@media (min-width: 762px) {
  .page-top .l-personality__link {
    width: 500px;
    height: 500px;
    padding: 80px 0 0;
  }
}
@media (max-width: 761px) {
  .page-top .l-personality__link {
    width: 89.7435897436vw;
    height: 89.7435897436vw;
    padding: 12.3076923077vw 0 0;
  }
}
.page-top .l-personality__title {
  margin: 0;
  line-height: 1;
  font-weight: 600;
}
@media (min-width: 762px) {
  .page-top .l-personality__title {
    font-size: 52px;
  }
}
@media (max-width: 761px) {
  .page-top .l-personality__title {
    font-size: 36px;
    font-size: 9.2307692308vw;
  }
}
.page-top .l-personality__subtitle {
  margin: 8px 0 0;
  font-weight: 700;
  line-height: 1.3;
}
@media (min-width: 762px) {
  .page-top .l-personality__subtitle {
    font-size: 18px;
  }
}
@media (max-width: 761px) {
  .page-top .l-personality__subtitle {
    font-size: 16px;
    font-size: 4.1025641026vw;
    margin-top: 2.0512820513vw;
  }
}
.page-top .l-personality__catch {
  margin: 22px 0 0;
  font-weight: 900;
  line-height: 1.35;
}
@media (min-width: 762px) {
  .page-top .l-personality__catch {
    font-size: 36px;
  }
}
@media (max-width: 761px) {
  .page-top .l-personality__catch {
    font-size: 24px;
    font-size: 6.1538461538vw;
    margin-top: 4.6153846154vw;
  }
}
.page-top .l-personality__arrow {
  border-radius: 50%;
  background: #fff url(../images/cmn/icon_arrow_green_l.svg) calc(50% - 3px) center no-repeat;
}
@media (min-width: 762px) {
  .page-top .l-personality__arrow {
    width: 63px;
    height: 63px;
    background-size: 26px 26px;
    margin-top: 30px;
  }
}
@media (max-width: 761px) {
  .page-top .l-personality__arrow {
    width: 7.4358974359vw;
    height: 7.4358974359vw;
    background: #fff url(../images/cmn/icon_arrow_green.svg) calc(50% - 2px) center no-repeat;
    background-size: 3.3333333333vw 3.3333333333vw;
    margin-top: 7.6923076923vw;
  }
}

/* ------------------------------------

l-philosophy

------------------------------------ */
.page-top .l-philosophy {
  position: relative;
  margin-bottom: 315px;
}
@media (max-width: 761px) {
  .page-top .l-philosophy {
    margin-bottom: 35.8974358974vw;
  }
}
.page-top .l-philosophy__container {
  width: min(98%, 1200px);
  margin: 0 auto;
  position: relative;
}
@media (min-width: 762px) {
  .page-top .l-philosophy__container {
    padding: 180px 0 0;
  }
}
@media (max-width: 761px) {
  .page-top .l-philosophy__container {
    width: 100%;
    padding: 34.8717948718vw 0 0;
  }
}
.page-top .l-philosophy__container.visible .line10 path {
  stroke-dashoffset: 0;
}
.page-top .l-philosophy__container.visible .l-philosophy__badge,
.page-top .l-philosophy__container.visible .l-philosophy__link {
  transform: scale(1);
}
.page-top .l-philosophy .line10 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 35vw;
  left: -24vw;
  bottom: 370px;
}
.page-top .l-philosophy .line10 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-philosophy .line10 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: 3200px;
  transition: stroke-dashoffset 2s linear;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-philosophy .line10 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-philosophy .line10 {
    width: 46.1538461538vw;
    left: -15.3846153846vw;
    top: 8.9743589744vw;
    transform: none;
  }
}
.page-top .l-philosophy__badge {
  position: absolute;
  z-index: 2;
  border-radius: 50%;
  background: #fff;
  color: #7C8DC2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 0.1s;
}
@media (min-width: 762px) {
  .page-top .l-philosophy__badge {
    width: 360px;
    height: 360px;
    top: 0;
    left: 0;
    gap: 10px;
    border: 10px solid #7C8DC2;
    padding-bottom: 20px;
  }
}
@media (max-width: 761px) {
  .page-top .l-philosophy__badge {
    width: 46.1538461538vw;
    height: 46.1538461538vw;
    top: 0;
    left: 5.1282051282vw;
    border-width: 2.0512820513vw;
    gap: 1.0256410256vw;
    padding-bottom: 2.0512820513vw;
  }
}
.page-top .l-philosophy__badge-num {
  font-family: "montserrat", sans-serif;
  font-weight: 700;
  font-size: 180px;
  line-height: 0.85;
}
@media (max-width: 761px) {
  .page-top .l-philosophy__badge-num {
    font-size: 90px;
    font-size: 23.0769230769vw;
  }
}
.page-top .l-philosophy__badge-label {
  font-weight: 900;
  font-size: 36px;
  line-height: 1;
}
@media (max-width: 761px) {
  .page-top .l-philosophy__badge-label {
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-top .l-philosophy__link {
  display: block;
  position: relative;
  background: #7C8DC2;
  color: #fff;
  text-decoration: none;
  border-radius: 300px 0 0 300px;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 0.1s;
}
@media (min-width: 762px) {
  .page-top .l-philosophy__link {
    min-height: 430px;
    margin-left: 200px;
    margin-right: calc(50% - 50vw);
    padding: 66px clamp(40px, 5vw, 96px) 82px clamp(56px, 15vw, 210px);
  }
}
@media (max-width: 761px) {
  .page-top .l-philosophy__link {
    width: calc(100% - 5.1282051282vw);
    min-height: 58.9743589744vw;
    border-radius: 15.3846153846vw 0 0 15.3846153846vw;
    padding: 11.2820512821vw 6.6666666667vw 14.358974359vw 7.6923076923vw;
    margin-left: auto;
  }
}
.page-top .l-philosophy__link:hover, .page-top .l-philosophy__link:active {
  opacity: 1;
  filter: brightness(0.95);
}
.page-top .l-philosophy__link::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: #fff url(../images/cmn/icon_arrow_blue_l.svg) calc(50% - 2px) center no-repeat;
}
@media (min-width: 762px) {
  .page-top .l-philosophy__link::after {
    width: 52px;
    height: 52px;
    right: clamp(30px, 5vw, 60px);
    bottom: 30px;
    background-size: 21px 21px;
  }
}
@media (max-width: 761px) {
  .page-top .l-philosophy__link::after {
    width: 7.6923076923vw;
    height: 7.6923076923vw;
    right: 5.1282051282vw;
    bottom: 5.1282051282vw;
    background-size: 2.8205128205vw 2.8205128205vw;
  }
}
.page-top .l-philosophy__title {
  margin: 0;
  font-weight: 600;
  line-height: 1;
  text-align: left;
}
@media (min-width: 762px) {
  .page-top .l-philosophy__title {
    display: inline-block;
    font-size: min(90px, 7.2vw);
    vertical-align: baseline;
  }
}
@media (max-width: 761px) {
  .page-top .l-philosophy__title {
    font-size: 44px;
    font-size: 11.2820512821vw;
  }
}
.page-top .l-philosophy__subtitle {
  margin: 4px 0 18px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}
@media (min-width: 762px) {
  .page-top .l-philosophy__subtitle {
    display: inline-block;
    margin: 0 0 0 18px;
    font-size: min(18px, 1.95vw);
    vertical-align: baseline;
  }
}
@media (max-width: 761px) {
  .page-top .l-philosophy__subtitle {
    margin: 2.5641025641vw 0 0;
    font-size: 16px;
    font-size: 4.1025641026vw;
    display: block;
  }
}
.page-top .l-philosophy__lead {
  font-weight: 900;
  line-height: 1.45;
  text-align: left;
}
@media (min-width: 762px) {
  .page-top .l-philosophy__lead {
    font-size: min(24px, 3vw);
    margin-top: 32px;
  }
}
@media (max-width: 761px) {
  .page-top .l-philosophy__lead {
    margin-top: 3.5897435897vw;
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-top .l-philosophy__catch {
  margin: 0;
  display: block;
  font-weight: 900;
  line-height: 1.2;
  text-align: left;
}
@media (min-width: 762px) {
  .page-top .l-philosophy__catch {
    font-size: min(48px, 4.2vw);
    margin-top: 8px;
  }
}
@media (max-width: 761px) {
  .page-top .l-philosophy__catch {
    font-size: 28px;
    font-size: 7.1794871795vw;
    margin-top: 2.0512820513vw;
  }
}

/* ------------------------------------

l-education

------------------------------------ */
.page-top .l-education {
  position: relative;
}
@media (max-width: 761px) {
  .page-top .l-education {
    margin-bottom: 6.1538461538vw;
  }
}
.page-top .l-education__container {
  width: min(98%, 1200px);
  margin: 0 auto;
  position: relative;
}
@media (max-width: 761px) {
  .page-top .l-education__container {
    width: 100%;
    padding: 0 5.1282051282vw 0;
  }
}
.page-top .l-education__link {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 28px;
  width: 100%;
  color: inherit;
  text-decoration: none;
}
@media (min-width: 762px) {
  .page-top .l-education__link {
    min-height: 500px;
    align-items: center;
    gap: 0;
  }
}
@media (max-width: 761px) {
  .page-top .l-education__link {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    position: relative;
  }
}
.page-top .l-education__link:hover, .page-top .l-education__link:active, .page-top .l-education__link:hover img {
  opacity: 1;
}
.page-top .l-education__link:hover .l-education__visual,
.page-top .l-education__link:hover .l-education__body {
  filter: brightness(0.95);
}
.page-top .l-education__link.visible .line11 path {
  stroke-dashoffset: 0;
}
.page-top .l-education__link.visible .l-education__visual,
.page-top .l-education__link.visible .l-education__body {
  transform: scale(1);
}
.page-top .l-education .line11 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 800px;
  left: 5%;
  top: -480px;
}
.page-top .l-education .line11 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-education .line11 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: 3200px;
  transition: stroke-dashoffset 2s linear;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-education .line11 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-education .line11 {
    width: 94.8717948718vw;
    left: -2.5641025641vw;
    top: -56.4102564103vw;
    transform: none;
  }
}
.page-top .l-education__visual {
  flex-shrink: 0;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 0.4s;
}
@media (min-width: 762px) {
  .page-top .l-education__visual {
    width: min(56%, 650px);
  }
}
@media (max-width: 761px) {
  .page-top .l-education__visual {
    width: 92.8205128205vw;
    margin-left: -11.2820512821vw;
    margin-right: auto;
  }
}
.page-top .l-education__visual-inner {
  position: relative;
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1/1;
  background: #DBDBDB;
}
.page-top .l-education__visual-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.page-top .l-education__body {
  flex: 1;
  min-width: 0;
  text-align: left;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 0.4s;
}
@media (min-width: 762px) {
  .page-top .l-education__body {
    margin-left: -40px;
    max-width: 650px;
    position: relative;
    z-index: 2;
  }
}
@media (max-width: 761px) {
  .page-top .l-education__body {
    width: 100%;
    margin-top: 3.5897435897vw;
    position: relative;
    z-index: 2;
  }
}
.page-top .l-education__title {
  margin: 0 0 8px;
  font-size: min(90px, 7.2vw);
  font-weight: 600;
  line-height: 1;
  color: #101010;
  text-align: left;
}
@media (max-width: 761px) {
  .page-top .l-education__title {
    margin-bottom: 2.0512820513vw;
    font-size: 56px;
    font-size: 14.358974359vw;
  }
}
.page-top .l-education__title.u-first-letter-accent::first-letter {
  color: #7C8DC2;
}
.page-top .l-education__subtitle {
  margin: 0 0 0 10px;
  font-weight: 700;
  font-size: min(18px, 1.95vw);
  vertical-align: baseline;
  line-height: 1.4;
  color: #101010;
  text-align: left;
}
@media (max-width: 761px) {
  .page-top .l-education__subtitle {
    margin-bottom: 3.5897435897vw;
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-top .l-education__catch {
  margin: 0;
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px 0;
  font-weight: 900;
  line-height: 1.35;
  color: #101010;
  text-align: left;
}
@media (max-width: 761px) {
  .page-top .l-education__catch {
    align-items: flex-end;
    gap: 0;
  }
}
.page-top .l-education__catch::after {
  content: "";
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #7C8DC2 url(../images/cmn/icon_arrow_wh_l.svg) calc(50% - 2px) center no-repeat;
  background-size: 22px 22px;
  margin-left: -10px;
  margin-top: 6px;
}
@media (max-width: 761px) {
  .page-top .l-education__catch::after {
    width: 7.6923076923vw;
    height: 7.6923076923vw;
    background-position: calc(50% - 0.3846153846vw) center;
    background-size: 3.0769230769vw 3.0769230769vw;
    margin-left: -7.6923076923vw;
  }
}
.page-top .l-education__catch-text {
  font-size: min(36px, 3.4vw);
  white-space: nowrap;
  text-align: left;
}
@media (max-width: 761px) {
  .page-top .l-education__catch-text {
    font-size: min(28px, 6.8vw);
  }
}

/* ------------------------------------

l-workstyle

------------------------------------ */
.page-top .l-workstyle {
  overflow: hidden;
  position: relative;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 0.4s;
}
@media (min-width: 762px) {
  .page-top .l-workstyle {
    margin-top: -90px;
    margin-bottom: 200px;
  }
}
@media (max-width: 761px) {
  .page-top .l-workstyle {
    margin-bottom: 29.2307692308vw;
  }
}
.page-top .l-workstyle.visible {
  transform: scale(1);
}
.page-top .l-workstyle__container {
  width: min(98%, 1200px);
  margin: 0 auto;
  position: relative;
}
@media (max-width: 761px) {
  .page-top .l-workstyle__container {
    width: 94%;
    box-sizing: border-box;
  }
}
.page-top .l-workstyle__link {
  display: block;
  position: relative;
  z-index: 1;
  background: #fff;
  color: #101010;
  text-decoration: none;
  box-sizing: border-box;
  border: 10px solid #7C8DC2;
}
@media (min-width: 762px) {
  .page-top .l-workstyle__link {
    width: calc(min(973px, 100vw - clamp(18px, (100vw - 1200px) * 0.5 + 24px, 160px)) + clamp(0px, 7vw + max(0px, (100vw - 1440px) * 0.5), 232px));
    margin-left: calc(50% - 50vw);
    margin-right: 0;
    padding: 72px clamp(40px, 5vw, 92px) 86px clamp(72px, 48px + 7vw + max(0px, (100vw - 1440px) * 0.5), 280px);
    border-radius: 0 260px 260px 0;
    border-left: none;
    min-height: 360px;
  }
}
@media (max-width: 761px) {
  .page-top .l-workstyle__link {
    width: 100%;
    margin-left: calc(50% - 50vw);
    margin-right: 0;
    margin-top: 0;
    border: 6px solid #7C8DC2;
    padding: 8.2051282051vw 0vw 9.2307692308vw 5.1282051282vw;
    border-radius: 0 16.9230769231vw 16.9230769231vw 0;
    border-left: none;
  }
}
.page-top .l-workstyle__link:hover, .page-top .l-workstyle__link:active, .page-top .l-workstyle__link:hover img {
  opacity: 1;
  filter: brightness(0.95);
}
.page-top .l-workstyle__title {
  margin: 0;
  font-weight: 600;
  line-height: 1;
  text-align: left;
}
.page-top .l-workstyle__title.u-first-letter-accent::first-letter {
  color: #7C8DC2;
}
@media (min-width: 762px) {
  .page-top .l-workstyle__title {
    display: inline-block;
    font-size: min(90px, 7.2vw);
  }
}
@media (max-width: 761px) {
  .page-top .l-workstyle__title {
    font-size: 44px;
    font-size: 11.2820512821vw;
  }
}
.page-top .l-workstyle__subtitle {
  margin: 0;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}
@media (min-width: 762px) {
  .page-top .l-workstyle__subtitle {
    margin-top: 10px;
    font-size: min(18px, 1.95vw);
  }
}
@media (max-width: 761px) {
  .page-top .l-workstyle__subtitle {
    margin-top: 3.0769230769vw;
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-top .l-workstyle__lead {
  font-weight: 900;
  line-height: 1.45;
  text-align: left;
}
@media (min-width: 762px) {
  .page-top .l-workstyle__lead {
    margin-top: 28px;
    font-size: min(24px, 3vw);
  }
}
@media (max-width: 761px) {
  .page-top .l-workstyle__lead {
    margin-top: 3.5897435897vw;
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.page-top .l-workstyle__catch {
  margin: 0;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  font-weight: 900;
  line-height: 1.35;
  text-align: left;
}
@media (min-width: 762px) {
  .page-top .l-workstyle__catch {
    margin-top: 10px;
  }
}
@media (max-width: 761px) {
  .page-top .l-workstyle__catch {
    margin-top: 2.5641025641vw;
    align-items: flex-end;
    gap: 0;
  }
}
.page-top .l-workstyle__catch::after {
  content: "";
  flex-shrink: 0;
  display: inline-flex;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #7C8DC2 url(../images/cmn/icon_arrow_wh_l.svg) calc(50% - 2px) center no-repeat;
  background-size: 22px 22px;
}
@media (max-width: 761px) {
  .page-top .l-workstyle__catch::after {
    width: 7.6923076923vw;
    height: 7.6923076923vw;
    background-position: calc(50% - 0.3846153846vw) center;
    background-size: 3.0769230769vw 3.0769230769vw;
    margin-left: -10.2564102564vw;
  }
}
@media (min-width: 762px) {
  .page-top .l-workstyle__catch-text {
    font-size: min(36px, 3.4vw);
    max-width: none;
  }
}
@media (max-width: 761px) {
  .page-top .l-workstyle__catch-text {
    font-size: 28px;
    font-size: 7.1794871795vw;
  }
}

/* ------------------------------------

l-pwl（WOMEN / CAREER）

------------------------------------ */
.page-top .l-pwl {
  margin-bottom: 180px;
}
@media (max-width: 761px) {
  .page-top .l-pwl {
    margin-bottom: 38.4615384615vw;
  }
}
.page-top .l-pwl__container {
  width: min(98%, 1200px);
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
}
@media (min-width: 762px) {
  .page-top .l-pwl__container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    align-items: start;
  }
}
@media (max-width: 761px) {
  .page-top .l-pwl__container {
    display: flex;
    flex-direction: column;
    gap: 2.5641025641vw;
    width: 100%;
    padding: 0 5.1282051282vw;
    box-sizing: border-box;
  }
}
.page-top .l-pwl__container.visible .line12 path {
  stroke-dashoffset: 0;
}
.page-top .l-pwl__container.visible .l-pwl__card--women,
.page-top .l-pwl__container.visible .l-pwl__card--career {
  transform: scale(1);
}
.page-top .l-pwl .line12 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 1100px;
  right: -440px;
  top: -590px;
}
.page-top .l-pwl .line12 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-pwl .line12 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: 3200px;
  transition: stroke-dashoffset 2s linear;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-pwl .line12 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-pwl .line12 {
    width: 76.9230769231vw;
    left: auto;
    right: -20.5128205128vw;
    top: -56.4102564103vw;
    transform: none;
  }
}
.page-top .l-pwl__card {
  display: block;
  position: relative;
  color: inherit;
  text-decoration: none;
}
@media (min-width: 762px) {
  .page-top .l-pwl__card--women {
    margin-top: 130px;
    transform: scale(0);
    transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 1.2s;
  }
  .page-top .l-pwl__card--career {
    margin-top: 0;
    transform: scale(0);
    transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 1s;
  }
}
@media (max-width: 761px) {
  .page-top .l-pwl__card--women {
    order: 2;
    transform: scale(0);
    transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 1.2s;
  }
  .page-top .l-pwl__card--career {
    order: 1;
    transform: scale(0);
    transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 1s;
  }
}
.page-top .l-pwl__card:hover, .page-top .l-pwl__card:active, .page-top .l-pwl__card:hover img {
  opacity: 1;
}
.page-top .l-pwl__card:hover, .page-top .l-pwl__card:active {
  filter: brightness(0.95);
}
.page-top .l-pwl__stroke {
  position: relative;
  z-index: 2;
  display: block;
  line-height: 0.88;
  font-weight: 700;
  color: transparent;
  -webkit-text-fill-color: transparent;
  pointer-events: none;
  font-size: min(120px, 8.4vw);
}
@media (min-width: 762px) {
  .page-top .l-pwl__stroke {
    margin: 0 0 clamp(-45px, -4vw, -33px) clamp(-45px, -4vw, -33px);
  }
}
@media (max-width: 761px) {
  .page-top .l-pwl__stroke {
    margin-bottom: -8.2051282051vw;
    font-size: 86px;
    font-size: 22.0512820513vw;
    width: 100vw;
    margin-left: -5vw;
    text-align: center;
  }
}
.page-top .l-pwl__card--women .l-pwl__stroke {
  -webkit-text-stroke-width: clamp(2px, 0.26vw, 3px);
  -webkit-text-stroke-color: #C63D3B;
}
.page-top .l-pwl__card--career .l-pwl__stroke {
  -webkit-text-stroke-width: clamp(2px, 0.26vw, 3px);
  -webkit-text-stroke-color: #D26617;
}
.page-top .l-pwl__visual {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.page-top .l-pwl__photo {
  width: 100%;
  height: auto;
  display: block;
}

/* ------------------------------------

l-wmedia（WADACHI MEDIA）

------------------------------------ */
.page-top .l-wmedia {
  box-sizing: border-box;
}
.page-top .l-wmedia__container {
  width: min(98%, 1100px);
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
}
@media (max-width: 761px) {
  .page-top .l-wmedia__container {
    width: 100%;
    padding: 0 5.1282051282vw;
  }
}
.page-top .l-wmedia__container:hover, .page-top .l-wmedia__container:active, .page-top .l-wmedia__container:hover img {
  opacity: 1;
}
.page-top .l-wmedia__container:hover, .page-top .l-wmedia__container:active {
  filter: brightness(0.95);
}
.page-top .l-wmedia__container.visible .line13 path {
  stroke-dashoffset: 0;
}
.page-top .l-wmedia__container.visible .l-wmedia__link {
  transform: scale(1);
}
.page-top .l-wmedia .line13 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 720px;
  left: -430px;
  top: -450px;
}
.page-top .l-wmedia .line13 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-wmedia .line13 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: -3200px;
  transition: stroke-dashoffset 2s linear;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-wmedia .line13 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-wmedia .line13 {
    width: 120.5128205128vw;
    left: -24.358974359vw;
    top: -87.1794871795vw;
    transform: none;
  }
}
.page-top .l-wmedia__link {
  display: block;
  color: inherit;
  text-decoration: none;
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 1.8s;
}
.page-top .l-wmedia__link:hover, .page-top .l-wmedia__link:active {
  opacity: 1;
  filter: brightness(0.95);
}
.page-top .l-wmedia__inner {
  position: relative;
  display: block;
  width: 100%;
}
.page-top .l-wmedia__picture {
  display: block;
  width: 100%;
}
.page-top .l-wmedia__img {
  width: 100%;
  height: auto;
  display: block;
}
.page-top .l-wmedia__badge {
  position: absolute;
  z-index: 1;
  box-sizing: border-box;
  background: #101010;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  text-align: center;
  border-radius: 999px;
  white-space: nowrap;
}
@media (min-width: 762px) {
  .page-top .l-wmedia__badge {
    right: 30px;
    bottom: -30px;
    padding: 8px 24px 10px;
    font-size: 42px;
  }
}
@media (max-width: 761px) {
  .page-top .l-wmedia__badge {
    top: -5.641025641vw;
    left: 50%;
    transform: translateX(-50%);
    padding: 2.5641025641vw 5.641025641vw;
    font-size: 29px;
    font-size: 7.4358974359vw;
  }
}

/* ------------------------------------

l-line_cmn

------------------------------------ */
.page-top .l-footer-before__container {
  position: relative;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}
.page-top .l-footer-before.visible .l-footer-before__inner {
  transform: scale(1);
}
.page-top .l-footer-before.visible .line14 path {
  stroke-dashoffset: 0;
}
.page-top .l-footer-before .line14 {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 820px;
  right: -390px;
  top: -500px;
}
.page-top .l-footer-before .line14 svg {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-footer-before .line14 path {
  fill: none;
  stroke-dasharray: 3200px;
  stroke-dashoffset: -3200px;
  transition: stroke-dashoffset 2s linear;
}
@media (prefers-reduced-motion: reduce) {
  .page-top .l-footer-before .line14 path {
    transition-duration: 0.01ms;
  }
}
@media (max-width: 761px) {
  .page-top .l-footer-before .line14 {
    width: 89.7435897436vw;
    left: auto;
    right: -21.7948717949vw;
    top: -53.8461538462vw;
    transform: none;
  }
}
.page-top .l-footer-before__inner {
  transform: scale(0);
  transition: transform 0.5s cubic-bezier(1, -0.1, 0.15, 1.35) 1.7s;
}

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