@media print, screen and (min-width: 769px) {
  .l-main {
    padding-left: 0;
  }
}

.p-title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-title {
    height: 13.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-title {
    height: 5.625vw;
  }
}
.p-title::before {
  background: var(--color-dna);
  content: "";
  display: block;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .p-title::before {
    width: 3.2vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-title::before {
    width: 1.5625vw;
  }
}
.p-title::after {
  background: var(--color-tech);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
}
@media only screen and (max-width: 768px) {
  .p-title::after {
    width: 3.2vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-title::after {
    width: 1.71875vw;
  }
}
.p-title h1 {
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-title h1 {
    font-size: 4vw;
    margin-left: 4.8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-title h1 {
    font-size: 2.03125vw;
    margin-left: 2.8125vw;
  }
}

.p-mv {
  position: relative;
}
.p-mv .p-mv__image img {
  display: block;
  height: auto;
  width: 100%;
}
.p-mv .p-mv__catch {
  font-weight: 700;
  position: absolute;
}
@media only screen and (max-width: 768px) {
  .p-mv .p-mv__catch {
    bottom: 5.3333333333vw;
    left: 0;
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv .p-mv__catch {
    bottom: 7.34375vw;
    left: 1.875vw;
  }
}
.p-mv .p-mv__catch span {
  background: #fff;
  clip-path: inset(0 100% 0 0);
  display: table;
  line-height: 1.3;
  -webkit-transition: clip-path 0.6s var(--easing) 1.5s;
  transition: clip-path 0.6s var(--easing) 1.5s;
}
@media only screen and (max-width: 768px) {
  .p-mv .p-mv__catch span {
    font-size: 5.0666666667vw;
    padding: 1.3333333333vw 2.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv .p-mv__catch span {
    font-size: 3.28125vw;
    padding: 0.78125vw 1.875vw;
  }
}
.p-mv .p-mv__catch span + span {
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}
@media only screen and (max-width: 768px) {
  .p-mv .p-mv__catch span + span {
    margin-top: 1.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv .p-mv__catch span + span {
    margin-top: 0.78125vw;
  }
}
.p-mv.start .p-mv__catch span {
  clip-path: inset(0 0 0 0);
}

.p-profile {
  background: var(--color-gray);
}
@media only screen and (max-width: 768px) {
  .p-profile {
    padding: 6.6666666667vw 5.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5625vw;
    padding: 3.515625vw 2.34375vw 3.828125vw 12.96875vw;
  }
}
.p-profile .p-profile__image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .p-profile .p-profile__image {
    margin: 0 auto;
    width: 32vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-profile .p-profile__image {
    width: 15.234375vw;
  }
}
.p-profile .p-profile__image img {
  height: auto;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .p-profile .p-profile__text {
    margin-top: 5.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-profile .p-profile__text {
    padding-top: 0.78125vw;
  }
}
@media only screen and (max-width: 768px) {
  .p-profile .p-profile__position {
    font-size: 3.2vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-profile .p-profile__position {
    font-size: 1.09375vw;
  }
}
@media only screen and (max-width: 768px) {
  .p-profile .p-profile__name {
    font-size: 4.2666666667vw;
    margin-top: 1.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-profile .p-profile__name {
    font-size: 1.40625vw;
    margin-top: 0.625vw;
  }
}
.p-profile .p-profile__description {
  line-height: 1.85;
}
@media only screen and (max-width: 768px) {
  .p-profile .p-profile__description {
    font-size: 3.4666666667vw;
    margin-top: 4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-profile .p-profile__description {
    font-size: 1.09375vw;
    margin-top: 1.875vw;
  }
}

@media only screen and (max-width: 768px) {
  .p-lead {
    margin-top: 9.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-lead {
    margin-top: 5vw;
    width: 57.578125vw;
  }
}
.p-lead p {
  letter-spacing: 0.1em;
  line-height: 1.75;
}
@media only screen and (max-width: 768px) {
  .p-lead p {
    font-size: 3.7333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-lead p {
    font-size: 1.25vw;
  }
}
.p-lead p + p {
  margin-top: 1.75em;
}

@media only screen and (max-width: 768px) {
  .p-section {
    margin-top: 20vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section {
    margin-top: 16.40625vw;
    width: 57.578125vw;
  }
}
@media only screen and (max-width: 768px) {
  .p-section:first-of-type {
    margin-top: 13.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section:first-of-type {
    margin-top: 7.5vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section.p-section--offset {
    margin-left: 28.203125vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section.p-section--indent {
    margin-left: 2.1875vw;
  }
}
.p-section .p-section__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-section .p-section__title h2 {
  border-left: 2px solid #000;
  font-weight: 700;
  line-height: var(--title-lh);
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__title h2 {
    --title-lh: 1.7;
    font-size: 5.0666666667vw;
    padding-left: 4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__title h2 {
    --title-lh: 1.85;
    border-left-width: 0.234375vw;
    font-size: 2.03125vw;
    padding-left: 2.1875vw;
  }
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__title h2 br {
    display: none;
  }
}
.p-section .p-section__title h2::before, .p-section .p-section__title h2::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.p-section .p-section__title h2::before {
  margin-top: calc((1 - var(--title-lh)) * 0.5em);
}
.p-section .p-section__title h2::after {
  margin-bottom: calc((1 - var(--title-lh)) * 0.5em);
}
.p-section .p-section__label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__label {
    width: 33.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__label {
    width: 14.0625vw;
  }
}
.p-section .p-section__label p {
  letter-spacing: 0.12em;
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__label p {
    font-size: 3.7333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__label p {
    font-size: 1.5625vw;
  }
}
.p-section .p-section__label .p-section__number {
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__label .p-section__number {
    font-size: 8vw;
    margin-top: 1.6vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__label .p-section__number {
    font-size: 3.4375vw;
    margin-top: 0.78125vw;
  }
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__image {
    margin-top: 5.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__image {
    margin-top: 2.5vw;
  }
}
.p-section .p-section__image img {
  display: block;
  height: auto;
  width: 100%;
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__image.p-section__image--narrow {
    width: 48.125vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__image.p-section__image--narrow .js-img {
    height: 27.421875vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__image.p-section__image--narrow img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__body {
    margin-top: 6.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__body {
    margin-top: 4.375vw;
  }
}
.p-section .p-section__body p {
  letter-spacing: 0.1em;
  line-height: 1.75;
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__body p {
    font-size: 3.7333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__body p {
    font-size: 1.25vw;
  }
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__q {
    margin: 9.3333333333vw 0 4.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__q {
    margin: 5vw 0 2.34375vw;
  }
}
.p-section .p-section__q:first-child {
  margin-top: 0;
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__media {
    margin-top: 9.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__media {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2.8125vw;
    margin-top: 5vw;
  }
}
.p-section .p-section__media figure {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__media figure {
    margin: 0 auto;
    width: 53.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__media figure {
    width: 19.140625vw;
  }
}
.p-section .p-section__media figure img {
  display: block;
  height: auto;
  width: 100%;
}
.p-section .p-section__media figure figcaption {
  line-height: 1.75;
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__media figure figcaption {
    font-size: 2.9333333333vw;
    margin-top: 2.1333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__media figure figcaption {
    font-size: 1.015625vw;
    margin-top: 1.25vw;
  }
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__media .p-section__media__text {
    margin-top: 5.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__media .p-section__media__text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__photo {
    margin-top: 9.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__photo {
    margin-top: 5vw;
  }
}
.p-section .p-section__photo img {
  display: block;
  height: auto;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .p-section .p-section__photo + .p-section__q {
    margin-top: 6.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-section .p-section__photo + .p-section__q {
    margin-top: 3.75vw;
  }
}

@media only screen and (max-width: 768px) {
  .p-photo {
    margin-top: 13.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-photo {
    margin-left: 2.1875vw;
    margin-top: 11.71875vw;
  }
}
.p-photo img {
  display: block;
  height: auto;
  width: 100%;
}

.p-note {
  letter-spacing: 0.1em;
  line-height: 1.75;
}
@media only screen and (max-width: 768px) {
  .p-note {
    font-size: 3.2vw;
    margin-top: 4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-note {
    font-size: 1.171875vw;
    margin-left: 2.1875vw;
    margin-top: 2.1875vw;
  }
}

@media only screen and (max-width: 768px) {
  .p-back {
    margin-top: 10.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-back {
    margin-top: 6.640625vw;
  }
}