.l-main {
  padding-block-end: 10rem;
}

.l-side-buttons {
  display: none;
}

.l-drawer__buttons {
  display: none;
}

.l-bottom-buttons {
  display: none;
}

.l-key-visual {
  margin-block-end: 0;
}
@media (width > 768px) {
  .l-key-visual__inner {
    padding-bottom: 8rem;
  }
}
.l-key-visual__title .ja {
  line-height: 1.8;
}
@media (width <= 768px) {
  .l-key-visual__title .ja {
    font-size: 2rem;
  }
}

.p-floating-button {
  position: fixed;
  right: 5rem;
  bottom: 5rem;
  z-index: 350;
}
@media (width <= 768px) {
  .p-floating-button {
    right: 1.5rem;
    bottom: 1.5rem;
  }
}
.p-floating-button a {
  display: grid;
  place-content: center;
  padding-block-start: 0.5lh;
  aspect-ratio: 1;
  width: 20rem;
  border-radius: 50%;
  background-color: var(--color-blue);
  color: #fff;
  font-family: var(--font-family-en);
  font-size: 3rem;
  line-height: 1.5;
  text-align: center;
  text-transform: uppercase;
  transition: opacity var(--base-transition);
}
.p-floating-button a:hover {
  opacity: 0.7;
}
@media (width <= 768px) {
  .p-floating-button a {
    width: 8.6rem;
    font-size: 1.3rem;
  }
}

.p-heading-01 {
  margin-block-end: 6rem;
  font-size: 4.8rem;
  font-weight: 700;
  text-align: center;
  line-height: var(--line-height-x-narrow);
  color: var(--color-blue);
}
@media (width <= 768px) {
  .p-heading-01 {
    margin-block-end: 4rem;
    font-size: 3rem;
  }
}
.p-heading-02 {
  margin-block-end: 2rem;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  line-height: var(--line-height-x-narrow);
  color: var(--color-blue);
}
@media (width <= 768px) {
  .p-heading-02 {
    margin-block-end: 2rem;
    font-size: 2.2rem;
  }
}

.p-intro {
  position: relative;
  overflow: hidden;
  border-radius: 1.2rem;
}
@media (width > 768px) {
  .p-intro {
    display: grid;
    margin-block-start: -5.6rem;
  }
}
@media (width <= 768px) {
  .p-intro {
    margin-block-start: -6.5rem;
    border-radius: 1rem;
  }
}
.p-intro .__text {
  background-color: #fff;
}
@media (width > 768px) {
  .p-intro .__text {
    grid-area: 1/1/-1/-1;
    align-content: center;
    z-index: 2;
    padding: 3.4rem;
    width: fit-content;
  }
}
@media (width <= 768px) {
  .p-intro .__text {
    padding: 2.2rem 0 1.5rem;
    text-align: center;
  }
}
.p-intro .__image {
  grid-area: 1/1/-1/-1;
}

.p-gain {
  margin-block-start: 15rem;
}
@media (width <= 768px) {
  .p-gain {
    margin-block-start: 10rem;
  }
}
.p-gain {
  padding-block: 8rem 10rem;
}
@media (width <= 768px) {
  .p-gain {
    padding-block: 5rem 7rem;
  }
}
.p-gain {
  background-color: #efefef;
}
.p-gain-list {
  display: flex;
  gap: 1rem;
}
@media (width <= 768px) {
  .p-gain-list {
    flex-direction: column;
    gap: 3rem;
  }
}
.p-gain-list > li {
  flex: 1;
}
.p-gain-list .__text {
  --clip-height: 5.8rem;
  position: relative;
  z-index: 2;
  display: grid;
  place-content: center;
  margin-inline: auto;
  margin-block-end: -8.9rem;
  padding-block-end: 4rem;
  width: 30.4rem;
  height: 24.3rem;
  background-color: #00afff;
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--clip-height)), 50% 100%, 0 calc(100% - var(--clip-height)));
}
@media (width <= 768px) {
  .p-gain-list .__text {
    --clip-height: 4.3rem;
    margin-block-end: -8.2rem;
    padding-block-end: 3.5rem;
    width: 22.5rem;
    height: 18rem;
    font-size: 2rem;
  }
}
.p-gain-list .__image {
  aspect-ratio: 415/350;
}
@media (width <= 768px) {
  .p-gain-list .__image {
    aspect-ratio: 315/260;
  }
}
.p-gain-list .__image img {
  border-radius: 1.2rem;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (width <= 768px) {
  .p-gain-list .__image img {
    border-radius: 1rem;
  }
}

.p-navi {
  display: flex;
  gap: 2rem;
  margin-block: 8rem 0;
}
@media (width <= 768px) {
  .p-navi {
    gap: 0.2rem;
    margin-block: 10rem 0;
  }
}
.p-navi li {
  flex: 1;
}
.p-navi li a {
  position: relative;
  display: grid;
  place-content: center;
  padding-block-end: 3rem;
  height: 12.8rem;
  background-color: var(--color-blue);
  color: #fff;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  transition: opacity var(--base-transition);
}
@media (width > 768px) {
  .p-navi li a {
    border-radius: 1rem;
  }
}
@media (width <= 768px) {
  .p-navi li a {
    padding-block-end: 2.2rem;
    height: 13rem;
    font-size: 1.6rem;
  }
}
.p-navi li a:hover {
  opacity: 0.7;
}
.p-navi li a::before {
  display: block;
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  aspect-ratio: 1;
  width: 6rem;
  mask: url(/assets/img/icn_arrow_04_b.svg) no-repeat center/contain;
  background-color: currentColor;
}

.p-program {
  --p-color-summer: #ffe7cc;
  --p-color-winter: #ffe5fb;
  margin-block-start: 15rem;
}
@media (width <= 768px) {
  .p-program {
    margin-block-start: 10rem;
  }
}
.p-program-navi {
  display: flex;
  gap: 3.6rem;
}
@media (width > 768px) {
  .p-program-navi {
    margin-block: 10rem;
  }
}
@media (width <= 768px) {
  .p-program-navi {
    flex-direction: column;
    gap: 5rem;
    margin-block-end: 10rem;
  }
}
.p-program-navi .__item {
  position: relative;
  display: block;
  flex: 1;
  padding: 2.3rem 1.3rem 5.6rem;
}
@media (width <= 768px) {
  .p-program-navi .__item {
    padding: 2.7rem 1.3rem 6rem;
  }
}
.p-program-navi .__item:hover {
  opacity: 0.7;
}
.p-program-navi .__item::before {
  display: block;
  content: "";
  position: absolute;
  bottom: -1rem;
  left: 50%;
  translate: -50% 0;
  aspect-ratio: 1;
  width: 6rem;
  mask: url(/assets/img/icn_arrow_04_b.svg) no-repeat center/contain;
  background-color: var(--color-blue);
}
@media (width <= 768px) {
  .p-program-navi .__item::before {
    bottom: 0;
  }
}
.p-program-navi .__item.--summer {
  background-color: var(--p-color-summer);
}
.p-program-navi .__item.--winter {
  background-color: var(--p-color-winter);
}
.p-program-navi .__title {
  position: relative;
  margin-block-end: 1.4rem;
  padding-block-end: 2rem;
  color: var(--color-blue);
  font-size: 4.8rem;
  font-weight: 400;
  font-family: var(--font-family-en);
  line-height: 1;
  text-transform: uppercase;
}
@media (width <= 768px) {
  .p-program-navi .__title {
    font-size: 4rem;
    line-height: 4.6rem;
  }
}
.p-program-navi .__title::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 20rem;
  background-color: currentColor;
  height: 0.1rem;
}
.p-program-navi .__day {
  position: absolute;
  right: 0;
  top: 2.7rem;
  padding-inline: 3rem;
  width: fit-content;
  background-color: var(--color-blue);
  color: #fff;
  font-size: 6.4rem;
  font-weight: 400;
  font-family: var(--font-family-en);
  line-height: 8.6rem;
  text-transform: uppercase;
}
@media (width <= 768px) {
  .p-program-navi .__day {
    padding-inline: 1.6rem;
    font-size: 3.4rem;
    line-height: 4.6rem;
  }
}
.p-program-detail {
  padding-block: 4rem 6rem;
}
@media (width <= 768px) {
  .p-program-detail {
    padding-block: 3.2rem 4rem;
  }
}
.p-program-detail:not(:last-of-type) {
  margin-block-end: 10rem;
}
@media (width <= 768px) {
  .p-program-detail:not(:last-of-type) {
    margin-block-end: 7rem;
  }
}
.p-program-detail .__title {
  position: relative;
  margin-block-end: 3.4rem;
  color: var(--color-blue);
  font-size: 8.4rem;
  font-weight: 400;
  font-family: var(--font-family-en);
  line-height: 1;
  text-transform: uppercase;
}
@media (width <= 768px) {
  .p-program-detail .__title {
    margin-block-end: 2.4rem;
    font-size: 4.8rem;
  }
}
@media (width > 768px) {
  .p-program-detail .__title .__main {
    display: block;
    letter-spacing: var(--letter-spacing);
    white-space: nowrap;
  }
}
@media (width <= 768px) {
  .p-program-detail .__title .__main {
    letter-spacing: 0.1em;
  }
}
.p-program-detail .__title .__day {
  position: absolute;
  right: 0;
  opacity: 0.3;
  font-size: 7.5rem;
}
@media (width > 768px) {
  .p-program-detail .__title .__day {
    top: 100%;
    margin-block-start: 3rem;
    width: fit-content;
  }
}
@media (width <= 768px) {
  .p-program-detail .__title .__day {
    top: 0;
    font-size: 3.3rem;
  }
}
.p-program-detail .__desc {
  font-size: 3rem;
  font-weight: 700;
}
@media (width <= 768px) {
  .p-program-detail .__desc {
    font-size: 1.8rem;
  }
}
.p-program-detail.--summer {
  background-color: var(--p-color-summer);
}
.p-program-detail.--summer .__title {
  --letter-spacing: 0.23em;
}
.p-program-detail.--winter {
  background-color: var(--p-color-winter);
}
.p-program-detail.--winter .__title {
  --letter-spacing: 0.26em;
}
.p-program-slider-navi {
  display: flex;
  gap: 2.4rem;
  margin-block: 11.7rem 3rem;
}
@media (width <= 768px) {
  .p-program-slider-navi {
    gap: 0.1rem;
    margin-block: 13.7rem 3rem;
    background-color: #fff;
  }
}
.p-program-slider-navi li {
  position: relative;
  flex: 1;
}
@media (width <= 768px) {
  .p-program-slider-navi li:last-child button::after {
    display: none;
  }
}
.p-program-slider-navi li .label {
  position: absolute;
  bottom: calc(100% + 1.2rem);
  left: 0;
  right: 0;
  display: grid;
  align-content: center;
  font-size: 2rem;
  font-weight: 700;
  height: 2lh;
  line-height: var(--line-height-narrow);
}
@media (width <= 768px) {
  .p-program-slider-navi li .label {
    bottom: calc(100% + 1.6rem);
    font-size: 1.2rem;
    text-align: center;
  }
}
.p-program-slider-navi li .button-wrap {
  transition: opacity var(--base-transition);
}
@media (width > 768px) {
  .p-program-slider-navi li .button-wrap {
    filter: drop-shadow(0.1rem 0px var(--color-blue));
  }
  .p-program-slider-navi li .button-wrap:hover {
    opacity: 0.7;
  }
}
.p-program-slider-navi li button {
  --trim-width: 3.8rem;
  padding-inline: 2rem;
  width: 100%;
  background-color: var(--color-blue);
  color: #fff;
  font-weight: 700;
  font-size: 2rem;
  line-height: var(--line-height-x-narrow);
  text-align: left;
  transition: var(--base-transition);
  transition-property: background-color, color;
}
@media (width > 768px) {
  .p-program-slider-navi li button {
    border: 1px solid var(--color-blue);
    border-right: 0;
    height: 6rem;
    clip-path: polygon(0 0, calc(100% - var(--trim-width)) 0, 100% 50%, calc(100% - var(--trim-width)) 100%, 0 100%);
  }
}
@media (width <= 768px) {
  .p-program-slider-navi li button {
    position: relative;
    padding-inline: 0.25rem 0;
    font-size: 1.5rem;
    min-height: 7rem;
    text-align: center;
  }
  .p-program-slider-navi li button::after {
    display: block;
    content: "";
    position: absolute;
    left: 100%;
    top: 50%;
    z-index: 2;
    translate: 0 -50%;
    border-width: 0.7rem 1rem;
    border-color: transparent transparent transparent var(--color-blue);
    border-style: solid;
    transition: border-color var(--base-transition);
    filter: drop-shadow(0.1rem 0 0 #fff);
  }
}
.p-program-slider-navi li button.is-active {
  background-color: #fff;
  color: var(--color-blue);
}
@media (width <= 768px) {
  .p-program-slider-navi li button.is-active::after {
    border-color: transparent transparent transparent #fff;
  }
}
.p-program-slider {
  margin-inline: auto;
}
@media (width <= 768px) {
  .p-program-slider {
    width: 31.7rem;
  }
}
.p-program-slider .swiper-slide {
  cursor: grab;
  width: 96.8rem;
}
@media (width <= 768px) {
  .p-program-slider .swiper-slide {
    width: 31.7rem;
  }
  .p-program-slider .swiper-slide.--summer-02 {
    width: 62.3rem;
  }
}

.p-photo {
  margin-block-start: 15rem;
}
@media (width <= 768px) {
  .p-photo {
    margin-block-start: 10rem;
  }
}
.p-photo-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media (width <= 768px) {
  .p-photo-list {
    grid-template-columns: 1fr;
  }
}
.p-photo-list .__item {
  position: relative;
}
@media (width <= 768px) {
  .p-photo-list .__item .__image img {
    aspect-ratio: 317/230;
    object-fit: cover;
  }
}
.p-photo-list .__item figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: grid;
  align-content: flex-end;
  padding: 1.6rem 2rem;
  height: 19.3rem;
  background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--color-blue) 50%, transparent));
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
}
@media (width <= 768px) {
  .p-photo-list .__item figcaption {
    padding: 1.2rem 1.6rem;
    height: 14.8rem;
    font-size: 1.6rem;
  }
}

.p-voice {
  margin-block-start: 15rem;
}
@media (width <= 768px) {
  .p-voice {
    margin-block-start: 10rem;
  }
}
.p-voice-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.2rem 3rem;
}
@media (width <= 768px) {
  .p-voice-list {
    grid-template-columns: 1fr;
    gap: 0.1rem;
  }
}
@media (width <= 768px) {
  .p-voice-list .__item {
    width: 29.7rem;
  }
}
.p-voice-list .__item .__category {
  position: relative;
  z-index: 2;
  margin-block-end: -0.5lh;
  padding-inline: 1.2rem;
  width: fit-content;
  background-color: var(--category-color);
  color: #fff;
  font-weight: 700;
  font-size: 2rem;
  line-height: 2.25;
}
@media (width <= 768px) {
  .p-voice-list .__item .__category {
    font-size: 1.8rem;
    line-height: 4rem;
  }
}
.p-voice-list .__item .__voice {
  position: relative;
  padding: 2.5rem 2.8rem;
  background-color: #efefef;
  color: var(--color-blue);
  font-size: 2rem;
  font-weight: 700;
  line-height: var(--line-height-x-wide);
}
@media (width <= 768px) {
  .p-voice-list .__item .__voice {
    padding: 2.5rem 2.8rem;
    font-size: 1.4rem;
  }
}
.p-voice-list .__item .__voice::after {
  display: block;
  content: "";
  position: absolute;
  top: 100%;
  right: 40%;
  aspect-ratio: 6/5;
  width: 6rem;
  background: url(../img/voice_shape_01.svg) no-repeat center top/contain;
}
.p-voice-list .__item::after {
  display: block;
  content: "";
  margin-block-start: 2.2rem;
  margin-inline-start: auto;
  aspect-ratio: 1;
  width: 9.2rem;
  background: var(--icon) no-repeat center/contain;
}
@media (width <= 768px) {
  .p-voice-list .__item::after {
    margin-block-start: 1.8rem;
    margin-inline-end: 2.6rem;
    width: 6.5rem;
  }
}
@media (width <= 768px) {
  .p-voice-list .__item:nth-child(odd) {
    margin-inline-end: auto;
  }
}
@media (width <= 768px) {
  .p-voice-list .__item:nth-child(even) {
    margin-inline-start: auto;
  }
}
.p-voice-list .__item.--creation {
  --category-color: #00ab00;
}
.p-voice-list .__item.--sales {
  --category-color: #deb900;
}
.p-voice-list .__item.--strategy {
  --category-color: #e64474;
}
.p-voice-list .__item.--male {
  --icon: url(../img/voice_icn_01.svg);
}
.p-voice-list .__item.--female {
  --icon: url(../img/voice_icn_02.svg);
}
@media (width > 768px) {
  .p-voice-list .__item.--02 {
    padding-block-start: 3.6rem;
  }
}
@media (width > 768px) {
  .p-voice-list .__item.--05 {
    padding-block-start: 12.6rem;
  }
}

.p-flow {
  margin-block-start: 15rem;
}
@media (width <= 768px) {
  .p-flow {
    margin-block-start: 10rem;
  }
}
.p-flow {
  padding-block: 8rem 10rem;
}
@media (width <= 768px) {
  .p-flow {
    padding-block: 5rem 7rem;
  }
}
.p-flow {
  background-color: #f5f5fc;
}
@media (width <= 768px) {
  .p-flow .c-flow-list {
    width: 24rem;
    margin-inline: auto;
  }
}
.p-flow-box {
  padding-block: 1.6rem;
  min-height: 17rem;
  align-content: center;
  text-align: center;
  font-weight: 700;
}
@media (width <= 768px) {
  .p-flow-box {
    min-height: 10rem;
  }
}
.p-flow-box dt {
  margin-block-end: 0.4rem;
  font-size: 2.4rem;
  line-height: var(--line-height-x-narrow);
}
@media (width <= 768px) {
  .p-flow-box dt {
    font-size: 2.2rem;
  }
}
.p-flow-box dd {
  font-size: 1.8rem;
  line-height: var(--line-height-narrow);
}
@media (width > 768px) {
  .p-flow-box dd {
    display: flex;
    align-items: center;
    min-height: 2lh;
  }
}

.p-bottom-button {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.6rem;
  margin-block-start: 15rem;
  margin-inline: auto;
  width: min(60rem, 100%);
  height: 15rem;
  background-color: var(--color-blue);
  color: #fff;
  line-height: var(--line-height-x-narrow);
  text-align: center;
  transition: opacity var(--base-transition);
}
@media (width <= 768px) {
  .p-bottom-button {
    margin-block-start: 10rem;
    height: 10rem;
  }
}
.p-bottom-button:hover {
  opacity: 0.7;
}
.p-bottom-button::after {
  display: block;
  content: "";
  position: absolute;
  right: 3.5rem;
  top: 50%;
  aspect-ratio: 1;
  width: 3.6rem;
  background-color: currentColor;
  mask: url(/assets/img/icn_arrow_03_b.svg) no-repeat center/contain;
  scale: 1.6 1;
  translate: 0 -50%;
  rotate: -90deg;
}
@media (width <= 768px) {
  .p-bottom-button::after {
    right: 2.4rem;
    width: 2rem;
  }
}
.p-bottom-button .__main {
  font-family: var(--font-family-en);
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: 0.21em;
  text-transform: uppercase;
}
@media (width <= 768px) {
  .p-bottom-button .__main {
    font-size: 2.8rem;
  }
}
.p-bottom-button .__sub {
  font-size: 2rem;
  font-weight: 700;
}
@media (width <= 768px) {
  .p-bottom-button .__sub {
    font-size: 1.4rem;
  }
}/*# sourceMappingURL=internship.css.map */