@charset "UTF-8";
:root {
  --blue: #004E97;
  --blue-l: #0069BC;
  --cyan: #5AC2D8;
  --cyan-l: #ADE1EC;
  --yellow: #F6E500;
  --orange: #e8cf15;
  --white: #fff;
  --flow-top: #C9E8F1;
  --flow-end: #8DD1E9;
  --font: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: calc(100vw / 37.6);
  -webkit-text-size-adjust: 100%;
}
@media (min-width: 768px) {
  html {
    font-size: calc(100vw / 150);
  }
}
@media (min-width: 1500px) {
  html {
    font-size: 10px;
  }
}

body {
  margin: 0;
  font-family: var(--font);
  color: var(--blue);
  background: #fff;
  line-height: 1.6;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

p {
  margin: 0;
}

h1,
h2,
h3 {
  margin: 0;
  font-weight: 900;
  line-height: 1.3;
}

:focus-visible {
  outline: 0.3rem solid #FF2E9A;
  outline-offset: 0.2rem;
}

.page {
  max-width: 37.6rem;
  margin: 0 auto;
  overflow: hidden;
}
@media (min-width: 768px) {
  .page {
    max-width: 150rem;
  }
}

.sp-only {
  display: block;
}
@media (min-width: 768px) {
  .sp-only {
    display: none;
  }
}

.pc-only {
  display: none;
}
@media (min-width: 768px) {
  .pc-only {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    -webkit-transition: none !important;
    transition: none !important;
  }
}
.hero {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000), color-stop(87.5%, var(--flow-top)));
  background: linear-gradient(to bottom, #000 0 87.5%, var(--flow-top) 87.5% 100%);
}
@media (min-width: 768px) {
  .hero {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000), color-stop(91.5%, var(--flow-top)));
    background: linear-gradient(to bottom, #000 0 91.5%, var(--flow-top) 91.5% 100%);
  }
}
.hero__inner {
  margin: 0 auto;
}
.hero img {
  width: 100%;
}
.hero__title {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.flow {
  background: -webkit-gradient(linear, left top, left bottom, from(#C9E8F1), color-stop(5%, #D5EDF4), color-stop(10%, #E0F1F7), color-stop(15%, #E9F5F9), color-stop(20%, #F0F9FB), color-stop(25%, #F9FCFD), color-stop(30%, #FDFEFF), color-stop(35%, #FFFFFF), color-stop(57%, #FFFFFF), color-stop(62%, #FDFEFF), color-stop(65%, #F8FCFD), color-stop(70%, #EEF7FA), color-stop(75%, #E3F3F8), color-stop(80%, #D5EDF4), color-stop(85%, #C5E6F0), color-stop(90%, #B3DFEC), color-stop(95%, #9FD8E8), to(#8DD1E9));
  background: linear-gradient(to bottom, #C9E8F1 0%, #D5EDF4 5%, #E0F1F7 10%, #E9F5F9 15%, #F0F9FB 20%, #F9FCFD 25%, #FDFEFF 30%, #FFFFFF 35%, #FFFFFF 57%, #FDFEFF 62%, #F8FCFD 65%, #EEF7FA 70%, #E3F3F8 75%, #D5EDF4 80%, #C5E6F0 85%, #B3DFEC 90%, #9FD8E8 95%, #8DD1E9 100%);
}
@media (min-width: 768px) {
  .flow {
    background: -webkit-gradient(linear, left top, left bottom, from(#C9E8F1), color-stop(10.9%, #DBF0F6), color-stop(21.9%, #EBF6FA), color-stop(32.8%, #F6FBFD), color-stop(44%, #FFFFFF), color-stop(52.2%, #FFFFFF), color-stop(60.1%, #F6FBFD), color-stop(71%, #E3F3F8), color-stop(82%, #C9E8F2), color-stop(92.9%, #A8DBEA), to(#8DD1E9));
    background: linear-gradient(to bottom, #C9E8F1 0%, #DBF0F6 10.9%, #EBF6FA 21.9%, #F6FBFD 32.8%, #FFFFFF 44%, #FFFFFF 52.2%, #F6FBFD 60.1%, #E3F3F8 71%, #C9E8F2 82%, #A8DBEA 92.9%, #8DD1E9 100%);
  }
}

.products {
  position: relative;
  padding: 3.4rem 0 0;
}
@media (min-width: 768px) {
  .products {
    padding: 8.5rem 0 0;
    height: 89.5rem;
  }
}
.products__head {
  position: relative;
  z-index: 2;
  width: 27.3rem;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .products__head {
    width: 94.5rem;
  }
}
.products__head img {
  width: 100%;
}
.products__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, 12.8rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 2.8rem;
     -moz-column-gap: 2.8rem;
          column-gap: 2.8rem;
  row-gap: 4rem;
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .products__grid {
    grid-template-columns: repeat(6, 18.9rem);
    -webkit-column-gap: 2.1rem;
       -moz-column-gap: 2.1rem;
            column-gap: 2.1rem;
    row-gap: 0;
    margin-top: 3.6rem;
  }
}

.deco-l,
.deco-r {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.deco-l {
  left: -6rem;
  top: -4rem;
  width: 18rem;
}
@media (min-width: 768px) {
  .deco-l {
    left: 2.5rem;
    top: -4.8rem;
    width: 31.4rem;
  }
}

.deco-r {
  right: -1.85rem;
  top: -1.7rem;
  width: 12.4rem;
}
@media (min-width: 768px) {
  .deco-r {
    right: 8rem;
    top: -1.2rem;
    width: 27.1rem;
  }
}

.deco--sp-l {
  left: -1.13rem;
  top: 2.4rem;
  width: 10.2rem;
}

.deco--sp-r {
  right: -0.1rem;
  left: auto;
  top: -3rem;
  width: 10.1rem;
}

.product {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.product > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  color: inherit;
  text-decoration: none;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.product > a:hover {
  opacity: 0.82;
}
.product:nth-child(even) .product__card {
  background: var(--blue);
}
.product:nth-child(even) .product__card::before {
  border-bottom-color: var(--blue);
}
.product__fig {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 768px) {
  .product__fig {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    height: 49.8rem;
  }
}
.product__fig img {
  width: 100%;
  max-height: none;
}
.product__card {
  position: relative;
  margin-top: 1.2rem;
  padding: 0;
  border-radius: 0.8rem;
  color: #fff;
  text-align: center;
  background: var(--cyan);
  height: 10rem;
}
@media (min-width: 768px) {
  .product__card {
    margin-top: 1.8rem;
    height: 14.7rem;
    border-radius: 0.9rem;
  }
}
.product__card::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -0.8rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-left: 0.55rem solid transparent;
  border-right: 0.55rem solid transparent;
  border-bottom: 1rem solid var(--cyan);
}
@media (min-width: 768px) {
  .product__card::before {
    top: -1.3rem;
    border-left-width: 0.95rem;
    border-right-width: 0.95rem;
    border-bottom-width: 1.3rem;
  }
}
.product__card::after {
  content: "";
  position: absolute;
  left: 0.6rem;
  right: 0.6rem;
  top: 7rem;
  height: 1px;
  background: #fff;
}
@media (min-width: 768px) {
  .product__card::after {
    left: 0.9rem;
    right: 0.9rem;
    top: 10.4rem;
  }
}
.product__name {
  position: absolute;
  left: 0;
  right: 0;
  top: 3.05rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 1.67rem;
  font-weight: 900;
  line-height: 1.14;
}
@media (min-width: 768px) {
  .product__name {
    top: 4.65rem;
    font-size: 2.35rem;
    line-height: 1.24;
  }
}
.product__spec {
  position: absolute;
  left: 0;
  right: 0;
  top: 5.25rem;
  font-size: 1.22rem;
  font-weight: 700;
  line-height: 1;
}
@media (min-width: 768px) {
  .product__spec {
    top: 7.85rem;
    font-size: 1.85rem;
  }
}
.product__maker {
  position: absolute;
  left: 0;
  right: 0;
  top: 8rem;
  font-size: 1.03rem;
  font-weight: 700;
  line-height: 1;
}
@media (min-width: 768px) {
  .product__maker {
    top: 11.7rem;
    font-size: 1.5rem;
  }
}

.features {
  position: relative;
  height: 112.06rem;
  padding: 0;
}
@media (min-width: 768px) {
  .features {
    height: 93.5rem;
  }
}
.features::before {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  left: 0.2rem;
  top: -3.45rem;
  width: 37.6rem;
  height: 119.21rem;
  background: url("../img/features__glass_sp.webp") no-repeat 0 0/100% 100%;
}
@media (min-width: 768px) {
  .features::before {
    left: 0.3rem;
    top: -10.75rem;
    width: 150.1rem;
    height: 113.7rem;
    background-image: url("../img/features__glass.webp");
  }
}
.features__list {
  position: static;
  width: auto;
  margin: 0;
}

.feature {
  position: static;
  display: block;
  margin: 0;
}
.feature__icon, .feature__title, .feature__text {
  position: absolute;
  z-index: 2;
  margin: 0;
}
.feature__title img, .feature__text img {
  width: 100%;
}

.feature--1 .feature__icon {
  left: 4.6rem;
  top: 41.01rem;
  width: 4.8rem;
}
@media (min-width: 768px) {
  .feature--1 .feature__icon {
    left: 20.67rem;
    top: 16.67rem;
    width: 8.25rem;
  }
}
.feature--1 .feature__title {
  left: 11.2rem;
  top: 39.51rem;
  width: 17.7rem;
}
@media (min-width: 768px) {
  .feature--1 .feature__title {
    left: 32.05rem;
    top: 16rem;
    width: 30.55rem;
  }
}
.feature--1 .feature__text {
  left: 11.2rem;
  top: 42.61rem;
  width: 16.1rem;
}
@media (min-width: 768px) {
  .feature--1 .feature__text {
    left: 32rem;
    top: 21.8rem;
    width: 41.85rem;
  }
}

.feature--2 .feature__icon {
  left: 4.4rem;
  top: 49.61rem;
  width: 5.2rem;
}
@media (min-width: 768px) {
  .feature--2 .feature__icon {
    left: 20.17rem;
    top: 30.5rem;
    width: 9.05rem;
  }
}
.feature--2 .feature__title {
  left: 11.2rem;
  top: 48.21rem;
  width: 20.7rem;
}
@media (min-width: 768px) {
  .feature--2 .feature__title {
    left: 32.1rem;
    top: 30rem;
    width: 35.6rem;
  }
}
.feature--2 .feature__text {
  left: 11.2rem;
  top: 51.41rem;
  width: 17.3rem;
}
@media (min-width: 768px) {
  .feature--2 .feature__text {
    left: 32rem;
    top: 35.75rem;
    width: 46.55rem;
  }
}

.feature--3 .feature__icon {
  left: 4.8rem;
  top: 56.91rem;
  width: 4.5rem;
}
@media (min-width: 768px) {
  .feature--3 .feature__icon {
    left: 21rem;
    top: 41.67rem;
    width: 7.7rem;
  }
}
.feature--3 .feature__title {
  left: 11.3rem;
  top: 57.21rem;
  width: 18rem;
}
@media (min-width: 768px) {
  .feature--3 .feature__title {
    left: 32.2rem;
    top: 44.5rem;
    width: 31.05rem;
  }
}
.feature--3 .feature__text {
  left: 11.2rem;
  top: 60.41rem;
  width: 21.3rem;
}
@media (min-width: 768px) {
  .feature--3 .feature__text {
    left: 32rem;
    top: 50.3rem;
    width: 52.25rem;
  }
}

.cta-row {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 68.21rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.1rem;
  width: 23.65rem;
  margin: 0;
}
@media (min-width: 768px) {
  .cta-row {
    left: 6.78%;
    top: 65rem;
    width: 86.61%;
    -webkit-transform: none;
            transform: none;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.95%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 0;
  }
}

.cta {
  display: block;
  border-radius: 1rem;
  overflow: hidden;
  -webkit-box-shadow: 0.3rem 0.3rem rgba(0, 0, 0, 0.3);
          box-shadow: 0.3rem 0.3rem rgba(0, 0, 0, 0.3);
  -webkit-transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
}
@media (min-width: 768px) {
  .cta {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    border-radius: 1.2rem;
    -webkit-box-shadow: 0.6rem 0.6rem 0 rgba(0, 0, 0, 0.3);
            box-shadow: 0.6rem 0.6rem 0 rgba(0, 0, 0, 0.3);
  }
}
.cta img {
  width: 100%;
}
.cta:hover {
  -webkit-transform: translateX(0.3rem);
          transform: translateX(0.3rem);
  -webkit-transform: translateY(0.3rem);
          transform: translateY(0.3rem);
  -webkit-box-shadow: 0;
          box-shadow: 0;
}

.divider {
  position: relative;
  z-index: 1;
  background: var(--flow-end);
  line-height: 0;
}
.divider svg {
  width: 100%;
  height: auto;
  display: block;
}

.event {
  position: relative;
  background: var(--blue);
  color: #fff;
  padding: 4rem 0 5.02rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .event {
    padding: 3.4rem 0 7rem;
  }
}
.event__deco-l, .event__deco-r, .event__deco--sp-l, .event__deco--sp-r {
  position: absolute;
  pointer-events: none;
  z-index: 1;
}
.event__deco-l {
  left: 12.1rem;
  top: -6.85rem;
  width: 27.95rem;
}
.event__deco-r {
  right: 16.8rem;
  top: 7rem;
  width: 27.9rem;
}
.event__deco--sp-l {
  left: 1.43rem;
  top: -3.01rem;
  width: 11.51rem;
}
.event__deco--sp-r {
  right: 1.43rem;
  top: 11.44rem;
  width: 9.65rem;
}
.event__inner {
  position: relative;
  z-index: 2;
  width: 33.6rem;
  margin: 0 auto;
  text-align: center;
}
@media (min-width: 768px) {
  .event__inner {
    width: 86rem;
  }
}
.event__logo {
  width: 25.7rem;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .event__logo {
    width: 73.8rem;
  }
}
.event__date {
  width: 21.9rem;
  margin: 4.9rem auto 0;
}
@media (min-width: 768px) {
  .event__date {
    width: 34.25rem;
    margin-top: 7.8rem;
  }
}
.event__date img {
  width: 100%;
}
.event__pill {
  width: 29rem;
  height: 2.2rem;
  margin: 1.3rem auto 0;
  background: #fff;
  border-radius: 99rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.event__pill img {
  width: 27.1rem;
}
@media (min-width: 768px) {
  .event__pill {
    width: 67.95rem;
    height: auto;
    margin-top: 1.2rem;
    background: none;
    border-radius: 0;
    display: block;
  }
  .event__pill img {
    width: 100%;
  }
}
.event__venue {
  font-size: 1.35rem;
  font-weight: 700;
  margin-top: 1rem;
  line-height: 1.63;
}
@media (min-width: 768px) {
  .event__venue {
    font-size: 2.5rem;
    margin-top: 1.1rem;
  }
}

.free {
  position: relative;
  width: 31.5rem;
  height: 8.9rem;
  margin: 1.3rem auto 0;
  background: var(--yellow);
  clip-path: polygon(0 50%, 2.6rem 0, calc(100% - 2.6rem) 0, 100% 50%, calc(100% - 2.6rem) 100%, 2.6rem 100%);
}
@media (min-width: 768px) {
  .free {
    width: 69.35rem;
    height: auto;
    margin-top: 1.3rem;
    background: none;
    clip-path: none;
  }
}
.free__l1 {
  position: absolute;
  left: 8.15rem;
  top: 1.4rem;
  width: 15.3rem;
}
.free__l2 {
  position: absolute;
  left: 2.05rem;
  top: 5.4rem;
  width: 26.9rem;
}

.talk__title {
  font-size: 1.95rem;
  font-weight: 700;
  margin-top: 5.6rem;
  line-height: 1.33;
}
@media (min-width: 768px) {
  .talk__title {
    font-size: 4.3rem;
    margin-top: 8.7rem;
    line-height: 1.2;
    width: 110rem;
    margin-left: -12.5rem;
  }
}
.talk__body {
  font-size: 1.2rem;
  font-weight: 500;
  margin-top: 1.1rem;
  line-height: 1.75;
}
@media (min-width: 768px) {
  .talk__body {
    font-size: 2rem;
    margin-top: 1.9rem;
    line-height: 1.85;
  }
}
.talk__hl {
  color: var(--yellow);
  font-size: 1.55rem;
  font-weight: 700;
  margin-top: 0.3rem;
  line-height: 1.68;
}
@media (min-width: 768px) {
  .talk__hl {
    font-size: 2.8rem;
    margin-top: 0.2rem;
    line-height: 1.35;
  }
}

.casts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.3rem;
  margin-top: 4.2rem;
}
@media (min-width: 768px) {
  .casts {
    gap: 10.8rem;
    margin-top: 5rem;
  }
}

.cast {
  width: 13.9rem;
}
@media (min-width: 768px) {
  .cast {
    width: 26.5rem;
  }
}
.cast img {
  width: 100%;
}
.cast__role {
  display: block;
  width: 10.4rem;
  margin: 1.4rem auto 0;
  padding: 0.55rem 0;
  background: var(--yellow);
  color: var(--blue);
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  clip-path: polygon(0 50%, 1rem 0, calc(100% - 1rem) 0, 100% 50%, calc(100% - 1rem) 100%, 1rem 100%);
}
@media (min-width: 768px) {
  .cast__role {
    width: 20rem;
    margin-top: 3.1rem;
    padding: 1.1rem 0;
    font-size: 2.2rem;
    clip-path: polygon(0 50%, 2rem 0, calc(100% - 2rem) 0, 100% 50%, calc(100% - 2rem) 100%, 2rem 100%);
  }
}
.cast__name {
  font-size: 1.95rem;
  font-weight: 700;
  margin-top: 0.55rem;
  line-height: 1.3;
}
@media (min-width: 768px) {
  .cast__name {
    font-size: 3.6rem;
    margin-top: 1.3rem;
    line-height: 1.2;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
  }
}
.cast__name small {
  font-size: 1.2rem;
}
@media (min-width: 768px) {
  .cast__name small {
    font-size: 2.2rem;
  }
}
.cast__note {
  display: block;
  font-size: 1.1rem;
  font-weight: 400;
}
@media (min-width: 768px) {
  .cast__note {
    font-size: 2rem;
  }
}

.apply {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 6.3rem;
}
@media (min-width: 768px) {
  .apply {
    display: block;
    margin-top: 7.4rem;
  }
}
.apply__head {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  position: relative;
  width: 33.3rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0.7rem 0;
  background: #fff;
  color: var(--blue);
  border-radius: 1.4rem;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-indent: 0.5em;
}
@media (min-width: 768px) {
  .apply__head {
    width: 82.4rem;
    font-size: 3rem;
    letter-spacing: 0.16em;
    text-indent: 0.45em;
    border-radius: 2rem;
  }
}
.apply__head::before, .apply__head::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: var(--blue);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 768px) {
  .apply__head::before, .apply__head::after {
    width: 1rem;
    height: 1rem;
  }
}
.apply__head::before {
  left: 1.4rem;
}
@media (min-width: 768px) {
  .apply__head::before {
    left: 2.6rem;
  }
}
.apply__head::after {
  right: 1.4rem;
}
@media (min-width: 768px) {
  .apply__head::after {
    right: 2.6rem;
  }
}
.apply__lead {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.38;
  margin-top: 1rem;
  text-align: center;
}
@media (min-width: 768px) {
  .apply__lead {
    font-size: 2.6rem;
    margin-top: 2.8rem;
    width: 75rem;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: 0.03em;
    text-align: left;
  }
}
.apply__notes {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin-top: 1.05rem;
  text-align: left;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.65;
}
@media (min-width: 768px) {
  .apply__notes {
    font-size: 1.8rem;
    line-height: 1.49;
    width: 75rem;
    margin: 1.6rem auto;
  }
}
.apply__notes li {
  padding-left: 1.1rem;
  text-indent: -1.1rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .apply__notes li {
    padding-left: 1.8rem;
    text-indent: -1.8rem;
  }
}

.btn {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
  display: block;
  width: 33.3rem;
  height: 6.8rem;
  margin: 2.7rem auto 0;
  padding: 1.05rem 0;
  background: var(--yellow);
  color: var(--blue);
  text-align: center;
  line-height: 1.4;
  -webkit-box-shadow: 5px 5px 0 #333;
          box-shadow: 5px 5px 0 #333;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  clip-path: polygon(0 50%, 2.4rem 0, calc(100% - 2.4rem) 0, 100% 50%, calc(100% - 2.4rem) 100%, 2.4rem 100%);
  --sh: .4rem;
  -webkit-filter: drop-shadow(0 var(--sh) 0 rgba(0, 0, 0, 0.3));
          filter: drop-shadow(0 var(--sh) 0 rgba(0, 0, 0, 0.3));
  -webkit-transition: -webkit-filter 0.2s ease, -webkit-transform 0.2s ease;
  transition: -webkit-filter 0.2s ease, -webkit-transform 0.2s ease;
  transition: filter 0.2s ease, transform 0.2s ease;
  transition: filter 0.2s ease, transform 0.2s ease, -webkit-filter 0.2s ease, -webkit-transform 0.2s ease;
}
@media (min-width: 768px) {
  .btn {
    --sh: .6rem;
    width: 87.2rem;
    height: auto;
    margin-top: -0.1rem;
    padding: 2.4rem 0;
    line-height: 1.6;
    clip-path: polygon(0 50%, 5rem 0, calc(100% - 5rem) 0, 100% 50%, calc(100% - 5rem) 100%, 5rem 100%);
  }
}
.btn:hover {
  -webkit-filter: drop-shadow(0 var(--sh) 0 var(--sh-color, rgba(0, 0, 0, 0.3)));
          filter: drop-shadow(0 var(--sh) 0 var(--sh-color, rgba(0, 0, 0, 0.3)));
  -webkit-transform: translateY(0.2rem);
          transform: translateY(0.2rem);
  -webkit-box-shadow: 0 0 0 #333;
          box-shadow: 0 0 0 #333;
  background: var(--orange);
}
.btn strong {
  font-size: 2.05rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media (min-width: 768px) {
  .btn strong {
    font-size: 5rem;
  }
}
.btn span {
  font-size: 1.3rem;
  font-weight: 700;
  margin-left: 0.4rem;
}
@media (min-width: 768px) {
  .btn span {
    font-size: 2.8rem;
    margin-left: 1rem;
  }
}

.period {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  width: 32.8rem;
  margin: 2.2rem auto 0;
}
@media (min-width: 768px) {
  .period {
    width: 65.4rem;
    margin-top: 2.3rem;
    -webkit-transform: translateX(1.7rem);
            transform: translateX(1.7rem);
  }
}
.period img {
  width: 100%;
}

.privacy {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
  margin-top: 2rem;
  text-align: left;
}
@media (min-width: 768px) {
  .privacy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 3.9rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 125rem;
    margin-left: -19.4rem;
    margin-top: 9.5rem;
  }
}
.privacy__title {
  padding: 0.6rem 0;
  border: 0;
  font-size: 1.15rem;
  font-weight: 400;
  text-align: center;
}
.privacy__title::before {
  content: "【";
}
@media (min-width: 768px) {
  .privacy__title::before {
    content: none;
  }
}
.privacy__title::after {
  content: "】";
}
@media (min-width: 768px) {
  .privacy__title::after {
    content: none;
  }
}
@media (min-width: 768px) {
  .privacy__title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 30.5rem;
            flex: 0 0 30.5rem;
    font-size: 1.7rem;
    padding: 2.24rem 0;
    margin-top: 0.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.6);
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  }
}
.privacy__body {
  font-size: 1.05rem;
  font-weight: 400;
  margin-top: 0;
  line-height: 1.7;
}
@media (min-width: 768px) {
  .privacy__body {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

.footer {
  position: relative;
  background: #fff;
  color: #000;
  padding: 3rem 2rem 7rem;
  text-align: justify;
}
@media (min-width: 768px) {
  .footer {
    padding: 2.2rem 0;
  }
}
.footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media (min-width: 768px) {
  .footer__inner {
    width: 140rem;
    margin: 0 auto;
    gap: 1.6rem;
    position: relative;
  }
}
.footer__badge {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 3.4rem;
          flex: 0 0 3.4rem;
  width: 4.5rem;
}
@media (min-width: 768px) {
  .footer__badge {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 4.8rem;
            flex: 0 0 4.8rem;
    width: 4.8rem;
  }
}
.footer__text {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .footer__text {
    font-size: 1.9rem;
    line-height: 1.55;
  }
}
.footer__strong {
  display: inline;
  border: 1px solid #000;
  padding: 0 0.1rem;
  margin: 0.3rem 0 0 6.6rem;
  letter-spacing: -0.05em;
}
@media (min-width: 768px) {
  .footer__strong {
    padding: 0 0.6rem;
    margin-left: 1.4rem;
    margin-top: 0;
  }
}

.pagetop {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 4rem;
          flex: 0 0 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: #fff;
  color: #000;
  margin: 1.2rem 0 0 auto;
  border: 3px solid #000;
  z-index: 10;
}
@media (min-width: 768px) {
  .pagetop {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 5.4rem;
    height: 5.4rem;
    margin: 0;
  }
}
.pagetop svg {
  width: 3rem;
  height: 3rem;
}
@media (min-width: 768px) {
  .pagetop svg {
    width: 4.2rem;
    height: 4.2rem;
  }
}

:root {
  --rv-dur: .85s;
  --rv-ease: cubic-bezier(.22, .61, .36, 1);
  --rv-move: 2.4rem;
}

.js .js-rv,
.js .js-rv-f {
  opacity: 0;
  will-change: opacity, transform;
  -webkit-transition: opacity var(--rv-dur) var(--rv-ease), -webkit-transform var(--rv-dur) var(--rv-ease);
  transition: opacity var(--rv-dur) var(--rv-ease), -webkit-transform var(--rv-dur) var(--rv-ease);
  transition: opacity var(--rv-dur) var(--rv-ease), transform var(--rv-dur) var(--rv-ease);
  transition: opacity var(--rv-dur) var(--rv-ease), transform var(--rv-dur) var(--rv-ease), -webkit-transform var(--rv-dur) var(--rv-ease);
  -webkit-transition-delay: var(--rv-delay, 0s);
          transition-delay: var(--rv-delay, 0s);
}
.js .js-rv {
  -webkit-transform: translateY(var(--rv-move));
          transform: translateY(var(--rv-move));
}
.js .js-rv.is-in {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}
.js .js-rv-f.is-in {
  opacity: 1;
}
.js .features::before {
  opacity: 0;
  -webkit-transition: opacity 1.1s var(--rv-ease);
  transition: opacity 1.1s var(--rv-ease);
}
.js .features.is-in::before {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .js .js-rv,
  .js .js-rv-f {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
  .js .features::before {
    opacity: 1 !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}