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

  FUNCTIONS

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

  VARIABLE

----------------------------------------------*/
:root {
  --base-font-color: #2d2d2d;
  --base-background-color: #ffffff;
  --gutter: 15;
  --container-width: 1120;
  --base-font-size: 15;
}

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

  FOUNDATION

----------------------------------------------*/
html {
  font-size: 62.5%;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-print-color-adjust: exact;
}
@media (min-width: 769px) {
  html {
    overflow-y: scroll;
  }
}

body {
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  padding: 0;
  -webkit-overflow-scrolling: touch;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  font-family: "Meiryo UI", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: var(--base-font-color);
  background-color: var(--base-background-color);
  font-size: calc(var(--base-font-size) * 1px);
  line-height: 2;
  word-break: break-word;
  position: relative;
  font-feature-settings: "palt";
  min-width: initial;
}
@media print {
  body {
    min-width: 1124px;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
ul,
ol,
dl,
dt,
dd {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
}

ul {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

svg {
  display: block;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
  outline: none;
  color: inherit;
}
a:hover {
  outline: none;
  color: inherit;
}

a[target=_blank]:hover, a[target=_blank]:focus {
  text-decoration: none;
  color: inherit;
}

::-moz-selection {
  color: #fff;
  background: #00a9e0;
}

::selection {
  color: #fff;
  background: #00a9e0;
}

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

  LAYOUT

----------------------------------------------*/
.l-container {
  width: 100%;
  max-width: calc((var(--container-width) + var(--gutter) * 2) * 1px);
  padding: 0 calc(var(--gutter) * 1px);
  margin-left: auto;
  margin-right: auto;
}

@keyframes c-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}
.c-bounce {
  animation: c-bounce 4.5s ease-in-out infinite;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .c-bounce {
    animation: none;
  }
}
.c-bounce:nth-child(3n+1) {
  animation-duration: 4.2s;
  animation-delay: -0.4s;
}
.c-bounce:nth-child(3n+2) {
  animation-duration: 5s;
  animation-delay: -1.2s;
}

.c-fade {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.c-fade.scrolled {
  opacity: 1;
  transform: translateY(0);
}
.c-fade--2 {
  transition-delay: 0.15s;
}
.c-fade--3 {
  transition-delay: 0.3s;
}
.c-fade--4 {
  transition-delay: 0.45s;
}
@media (prefers-reduced-motion: reduce) {
  .c-fade {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

a.p-button.c-fade {
  transition: opacity 0.8s ease, transform 0.8s ease;
}
a.p-button.c-fade.scrolled:hover, a.p-button.c-fade.scrolled:focus, a.p-button.c-fade.scrolled:active {
  color: #fff;
  opacity: 0.7;
  transition: opacity 0.3s;
}

.l-lp-header {
  position: relative;
  background-color: #fff702;
  overflow: hidden;
}
@media (max-width: 374px) {
  .l-lp-header {
    height: 146.6666666667vw;
  }
}
.l-lp-header__inner {
  position: relative;
  width: 100%;
  height: 550px;
  margin: 0 auto;
  overflow: hidden;
}
@media (max-width: 374px) {
  .l-lp-header__inner {
    transform: scale(0.2666666667vw);
    transform-origin: top center;
  }
}
@media (min-width: 768px) {
  .l-lp-header__inner {
    width: 1920px;
    height: 555px;
    left: 50%;
    margin-left: -960px;
    margin-right: 0;
    transform: none;
  }
}
.l-lp-header__cloud {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 24px;
  width: 876px;
  height: 580px;
  margin-left: -451.5px;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%22876%22%20height%3D%22580%22%20viewBox%3D%220%200%20876%20580%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20opacity%3D%220.65%22%20d%3D%22M876%20236.444C876%20188.357%20837.016%20149.374%20788.927%20149.374C780.693%20149.374%20772.726%20150.52%20765.174%20152.654C763.899%20126.699%20742.451%20106.047%20716.179%20106.047C698.601%20106.047%20683.188%20115.3%20674.528%20129.195C664.141%20109.395%20643.393%2095.8772%20619.484%2095.8772C603.743%2095.8772%20589.38%20101.74%20578.43%20111.389C576.839%2049.6012%20526.251%200%20464.076%200C417.528%200%20377.479%2027.8044%20359.615%2067.7076C348.307%2060.0907%20334.69%2055.6468%20320.03%2055.6468C285.581%2055.6468%20256.874%2080.1982%20250.436%20112.755C241.103%20102.254%20227.501%2095.6337%20212.35%2095.6337C185.99%2095.6337%20164.307%20115.65%20161.67%20141.312C146.428%20116.057%20118.721%2099.1682%2087.073%2099.1682C38.9841%2099.1644%200%20138.147%200%20186.234C0%20195.228%201.36593%20203.906%203.89612%20212.071V580H813.559V319.975C849.648%20309.349%20875.996%20275.978%20875.996%20236.448L876%20236.444ZM260.119%20164.597H260.013C260.024%20164.563%20260.04%20164.528%20260.055%20164.494C260.078%20164.528%20260.097%20164.563%20260.119%20164.597Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fsvg%3E") no-repeat 0 0/100% 100%;
  pointer-events: none;
}
@media (min-width: 768px) {
  .l-lp-header__cloud {
    top: -23px;
    width: 2302px;
    height: 1525px;
    margin-left: -1143px;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%222303%22%20height%3D%221525%22%20viewBox%3D%220%200%202303%201525%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20opacity%3D%220.65%22%20d%3D%22M2303%20621.635C2303%20495.21%202200.51%20392.721%202074.09%20392.721C2052.44%20392.721%202031.49%20395.732%202011.64%20401.343C2008.29%20333.104%201951.9%20278.809%201882.83%20278.809C1836.62%20278.809%201796.1%20303.136%201773.33%20339.666C1746.02%20287.611%201691.48%20252.071%201628.62%20252.071C1587.24%20252.071%201549.48%20267.485%201520.69%20292.853C1516.51%20130.407%201383.51%200%201220.05%200C1097.68%200%20992.39%2073.1006%20945.427%20178.01C915.698%20157.985%20879.898%20146.301%20841.357%20146.301C750.792%20146.301%20675.321%20210.849%20658.396%20296.444C633.859%20268.836%20598.099%20251.431%20558.268%20251.431C488.968%20251.431%20431.962%20304.056%20425.03%20371.525C384.959%20305.126%20312.118%20260.724%20228.915%20260.724C102.489%20260.714%200%20363.202%200%20489.628C0%20513.275%203.59101%20536.091%2010.2429%20557.557V1524.88H2138.84V841.247C2233.72%20813.31%202302.99%20725.575%202302.99%20621.645L2303%20621.635ZM683.853%20432.742H683.573C683.603%20432.652%20683.643%20432.562%20683.683%20432.472C683.743%20432.562%20683.793%20432.652%20683.853%20432.742Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fsvg%3E");
  }
}
.l-lp-header__sun {
  display: none;
  position: absolute;
  z-index: 1;
  pointer-events: none;
  border-radius: 50%;
  background-color: #fffca6;
}
@media (min-width: 768px) {
  .l-lp-header__sun {
    display: block;
    left: 1132px;
    top: 66px;
    width: 258px;
    height: 258px;
  }
}
.l-lp-header__char {
  position: absolute;
  z-index: 5;
  height: auto;
  pointer-events: none;
}
.l-lp-header__char--left {
  left: -40px;
  bottom: -30px;
  width: 245px;
}
@media (min-width: 768px) {
  .l-lp-header__char--left {
    left: 330px;
    top: 170px;
    bottom: auto;
    width: 431px;
  }
}
.l-lp-header__char--right {
  right: -40px;
  bottom: -20px;
  width: 190px;
}
@media (min-width: 768px) {
  .l-lp-header__char--right {
    left: 1254px;
    right: auto;
    top: 206px;
    bottom: auto;
    width: 335px;
  }
}
.l-lp-header__logo {
  position: absolute;
  z-index: 4;
  left: 26px;
  top: 150px;
  width: 323px;
  margin: 0;
}
.l-lp-header__logo img {
  width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 768px) {
  .l-lp-header__logo {
    left: 725px;
    top: 185px;
    width: 513px;
  }
}
.l-lp-header__decos {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}
.l-lp-header__deco {
  position: absolute;
  height: auto;
  display: block;
}
.l-lp-header__deco--dash-top {
  left: 10px;
  top: 72px;
  width: 340px;
}
@media (min-width: 768px) {
  .l-lp-header__deco--dash-top {
    left: 739px;
    top: 65px;
    width: 528px;
  }
}
.l-lp-header__deco--dash-bottom {
  left: 128px;
  top: 268px;
  width: 80px;
}
@media (min-width: 768px) {
  .l-lp-header__deco--dash-bottom {
    left: 968px;
    top: 452px;
    width: 120px;
  }
}
.l-lp-header__deco--dash-right {
  display: none;
}
@media (min-width: 768px) {
  .l-lp-header__deco--dash-right {
    display: block;
    left: 1237px;
    top: 244px;
    width: 58px;
  }
}
.l-lp-header__deco--dash-left {
  display: none;
}
@media (min-width: 768px) {
  .l-lp-header__deco--dash-left {
    display: block;
    left: 594px;
    top: 273px;
    width: 244px;
  }
}
.l-lp-header__deco--airplane {
  left: 319px;
  top: 134px;
  width: 39px;
}
@media (min-width: 768px) {
  .l-lp-header__deco--airplane {
    left: 1058px;
    top: 98px;
    width: 51px;
  }
}
.l-lp-header__deco--voice {
  display: none;
  left: 14px;
  top: 137px;
  width: 52px;
}
@media (min-width: 768px) {
  .l-lp-header__deco--voice {
    display: none;
  }
}
.l-lp-header__deco--text {
  left: 268px;
  top: 272px;
  width: 72px;
}
@media (min-width: 768px) {
  .l-lp-header__deco--text {
    left: 1127px;
    top: 397px;
    width: 98px;
  }
}
.l-lp-header__deco--video {
  left: 107px;
  top: 290px;
  width: 52px;
}
@media (min-width: 768px) {
  .l-lp-header__deco--video {
    left: 860px;
    top: 434px;
    width: 74px;
  }
}
.l-lp-header__deco--clapper {
  display: none;
}
@media (min-width: 768px) {
  .l-lp-header__deco--clapper {
    display: block;
    left: 993px;
    top: 478px;
    width: 81px;
  }
}
.l-lp-header__deco--bubble-left {
  left: 92px;
  top: 363px;
  width: 75px;
}
@media (min-width: 768px) {
  .l-lp-header__deco--bubble-left {
    left: 610px;
    top: 180px;
    width: 105px;
  }
}
.l-lp-header__deco--bubble-right {
  left: 203px;
  top: 344px;
  width: 75px;
}
@media (min-width: 768px) {
  .l-lp-header__deco--bubble-right {
    left: 1225px;
    top: 152px;
    width: 105px;
  }
}
.l-lp-header__dot {
  position: absolute;
  border-radius: 50%;
  display: block;
}
.l-lp-header__dot--white-l {
  left: 50px;
  top: 42px;
  width: 23px;
  height: 23px;
  background-color: #fff;
}
@media (min-width: 768px) {
  .l-lp-header__dot--white-l {
    left: 1304px;
    top: 37px;
  }
}
.l-lp-header__dot--white-s {
  left: 329px;
  top: 48px;
  width: 13px;
  height: 13px;
  background-color: #fff;
}
@media (min-width: 768px) {
  .l-lp-header__dot--white-s {
    left: 660px;
    top: 68px;
  }
}
.l-lp-header__dot--white-b {
  display: none;
}
@media (min-width: 768px) {
  .l-lp-header__dot--white-b {
    display: block;
    left: 1212px;
    top: 506px;
    width: 13px;
    height: 13px;
    background-color: #fff;
  }
}
.l-lp-header__dot--blue {
  left: 207px;
  top: 413px;
  width: 15px;
  height: 15px;
  background-color: #7ecef4;
}
@media (min-width: 768px) {
  .l-lp-header__dot--blue {
    left: 803px;
    top: 396px;
    width: 25px;
    height: 25px;
  }
}
.l-lp-header__dot--orange {
  left: 52px;
  top: 285px;
  width: 15px;
  height: 15px;
  background-color: #f9b4a1;
}
@media (min-width: 768px) {
  .l-lp-header__dot--orange {
    left: 1063px;
    top: 381px;
  }
}

.l-lp-footer {
  background-color: #fff702;
  color: #000;
  text-align: center;
  padding: 60px 0;
}
@media (min-width: 768px) {
  .l-lp-footer {
    padding: 100px 0;
  }
}
.l-lp-footer__inner {
  max-width: 826px;
  margin: 0 auto;
}
.l-lp-footer__logo {
  width: 317px;
  margin: 0 auto;
}
.l-lp-footer__logo img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  .l-lp-footer__logo {
    width: 513px;
  }
}
.l-lp-footer__sns {
  position: relative;
  width: 126px;
  height: 48px;
  margin: 36px auto 0;
}
@media (min-width: 768px) {
  .l-lp-footer__sns {
    width: 157px;
    height: 60px;
    margin-top: 50px;
  }
}
.l-lp-footer__sns-img {
  display: block;
  width: 100%;
  height: auto;
}
.l-lp-footer__sns-link {
  position: absolute;
  top: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .l-lp-footer__sns-link {
    width: 60px;
    height: 60px;
  }
}
.l-lp-footer__sns-link--x {
  left: 0;
}
.l-lp-footer__sns-link--yt {
  right: 0;
}
.l-lp-footer__name {
  margin-top: 36px;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.27;
}
@media (min-width: 768px) {
  .l-lp-footer__name {
    margin-top: 50px;
  }
}
.l-lp-footer__contact {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 315px;
  height: 65px;
  margin: 30px auto 0;
  padding: 0;
  background-color: #fff;
  border: 0.65px solid #000;
  border-radius: 52px;
  box-shadow: 4px 4px 0 0 #ffd102;
  color: #000;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
}
.l-lp-footer__contact:active {
  opacity: 0.85;
}
@media (min-width: 1120px) {
  .l-lp-footer__contact:hover {
    opacity: 0.85;
  }
}
@media (min-width: 768px) {
  .l-lp-footer__contact {
    width: 389px;
    height: 80px;
    margin-top: 29px;
    border-width: 0.8px;
    border-radius: 64px;
    box-shadow: 5px 5px 0 0 #ffd102;
  }
}
.l-lp-footer__contact-row {
  display: flex;
  align-items: center;
}
.l-lp-footer__contact-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .l-lp-footer__contact-icon {
    width: 40px;
    height: 40px;
  }
}
.l-lp-footer__contact-label {
  margin-left: 6px;
  font-weight: 700;
  font-size: 1.94rem;
  line-height: 1.25;
}
@media (min-width: 768px) {
  .l-lp-footer__contact-label {
    font-size: 2.4rem;
  }
}
.l-lp-footer__contact-sub {
  margin-top: 2px;
  font-size: 1.04rem;
  font-weight: 400;
  line-height: 1.25;
}
@media (min-width: 768px) {
  .l-lp-footer__contact-sub {
    font-size: 1.28rem;
  }
}
.l-lp-footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 59px;
}
@media (min-width: 768px) {
  .l-lp-footer__bottom {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    margin-top: 50px;
    text-align: left;
  }
}
.l-lp-footer__iibc {
  display: block;
  width: 236px;
  height: auto;
}
@media (min-width: 768px) {
  .l-lp-footer__iibc {
    flex-shrink: 0;
  }
}
.l-lp-footer__legal {
  margin-top: 23px;
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: left;
  font-weight: 400;
}
.l-lp-footer__legal br {
  display: none;
}
@media (min-width: 768px) {
  .l-lp-footer__legal {
    margin-top: 12px;
    margin-left: 25px;
    width: 565px;
  }
  .l-lp-footer__legal br {
    display: inline;
  }
}

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

  MAIN

----------------------------------------------*/
.lp-about {
  position: relative;
  overflow: hidden;
  background-color: #6577d9;
  padding: 133px 0 60px;
  text-align: center;
  color: #fff;
}
@media (min-width: 768px) {
  .lp-about {
    padding: 124px 0 49px;
  }
}
.lp-about__deco {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 60px;
  width: 559px;
  height: 81px;
  transform: translateX(-50%);
  pointer-events: none;
}
@media (min-width: 768px) {
  .lp-about__deco {
    top: 45px;
    width: 1202px;
    height: 258px;
    margin-left: -21px;
  }
}
.lp-about__deco-img {
  display: block;
  width: 100%;
  height: auto;
}
.lp-about__deco-img--pc {
  display: none;
}
@media (min-width: 768px) {
  .lp-about__deco-img--pc {
    display: block;
  }
}
@media (min-width: 768px) {
  .lp-about__deco-img--sp {
    display: none;
  }
}
.lp-about__inner {
  position: relative;
  z-index: 1;
  max-width: 345px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .lp-about__inner {
    max-width: 580px;
  }
}
.lp-about__en {
  font-family: Jost, "Century Gothic", "Avenir Next", Avenir, sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.35;
  letter-spacing: 0.02em;
  color: #fff702;
}
@media (min-width: 768px) {
  .lp-about__en {
    font-size: 2.5rem;
  }
}
.lp-about__title {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0;
  color: #fff702;
  line-height: 1;
}
.lp-about__title .en {
  font-family: Jost, "Century Gothic", "Avenir Next", Avenir, sans-serif;
  font-weight: 700;
  font-size: 4.8rem;
  letter-spacing: 0.02em;
}
.lp-about__title .ja {
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1;
  margin-left: 0.08em;
}
@media (min-width: 768px) {
  .lp-about__title .en {
    font-size: 6rem;
  }
  .lp-about__title .ja {
    font-size: 4.5rem;
    padding-top: 0.12em;
  }
}
.lp-about__text {
  margin-top: 8.8px;
  font-size: 1.8rem;
  line-height: 26px;
  font-weight: 400;
  word-break: keep-all;
}
@media (min-width: 768px) {
  .lp-about__text {
    margin-top: 11px;
    font-size: 1.6rem;
    line-height: 30px;
  }
}

.lp-theme {
  overflow: hidden;
  background-color: #e7eeff;
  padding: 30px 0 0;
  text-align: center;
}
@media (min-width: 768px) {
  .lp-theme {
    padding: 0;
  }
}
.lp-theme__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .lp-theme__inner {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0;
    min-height: 410px;
  }
}
.lp-theme__visual {
  order: 2;
  width: 341px;
  margin-top: 17px;
}
@media (min-width: 768px) {
  .lp-theme__visual {
    order: 0;
    width: 533px;
    margin-top: 50px;
    margin-right: -18px;
    flex-shrink: 0;
  }
}
.lp-theme__illust {
  display: block;
  width: 100%;
  height: auto;
}
.lp-theme__illust--pc {
  display: none;
}
@media (min-width: 768px) {
  .lp-theme__illust--pc {
    display: block;
  }
}
@media (min-width: 768px) {
  .lp-theme__illust--sp {
    display: none;
  }
}
.lp-theme__body {
  order: 1;
  width: 274px;
}
@media (min-width: 768px) {
  .lp-theme__body {
    order: 0;
    width: 576px;
    padding-top: 0;
  }
}
.lp-theme__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 261px;
  height: 40px;
  border-radius: 37px;
  background-color: #6577d9;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}
@media (min-width: 768px) {
  .lp-theme__label {
    font-size: 1.6rem;
  }
}
.lp-theme__title {
  margin: 15px 0 0;
  color: #6577d9;
  line-height: 50px;
}
.lp-theme__title .en {
  display: block;
  font-family: Jost, "Century Gothic", "Avenir Next", Avenir, sans-serif;
  font-weight: 700;
  font-size: 4rem;
  letter-spacing: -0.05em;
}
.lp-theme__title sup {
  font-size: 0.38em;
  top: -0.85em;
}
@media (min-width: 768px) {
  .lp-theme__title {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 0.18em;
    margin-top: 13px;
    line-height: 1.05;
  }
  .lp-theme__title .en {
    display: inline;
    font-size: 5.5rem;
  }
}
.lp-theme__text {
  margin-top: 15px;
  font-size: 1.8rem;
  line-height: 26px;
  letter-spacing: 0.1em;
  color: #000;
  font-weight: 400;
}
@media (min-width: 768px) {
  .lp-theme__text {
    margin-top: 25px;
    font-size: 2rem;
    line-height: 1.25;
  }
}

.lp-speaking {
  overflow: hidden;
  background-color: #fff;
  padding: 30px 0 40px;
  text-align: center;
}
@media (min-width: 768px) {
  .lp-speaking {
    padding: 100px 0 57px;
  }
}
.lp-speaking__inner {
  max-width: 918px;
  margin: 0 auto;
}
.lp-speaking__title {
  margin: 0 auto 8px;
  color: #6577d9;
  line-height: 50px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  flex-wrap: wrap;
}
.lp-speaking__title .en,
.lp-speaking__title .ja {
  display: block;
}
.lp-speaking__title .en {
  font-family: Jost, "Century Gothic", "Avenir Next", Avenir, sans-serif;
  font-weight: 700;
  font-size: 4rem;
  letter-spacing: -0.05em;
}
.lp-speaking__title .ja {
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1;
  margin-top: 7px;
}
.lp-speaking__title sup {
  font-size: 0.38em;
  top: -0.85em;
}
@media (min-width: 768px) {
  .lp-speaking__title {
    width: 491px;
    margin-bottom: 10px;
    line-height: 1;
  }
  .lp-speaking__title .en,
  .lp-speaking__title .ja {
    display: inline;
  }
  .lp-speaking__title .en {
    font-size: 4rem;
  }
  .lp-speaking__title .ja {
    font-size: 3rem;
    margin-top: 0;
    margin-left: 6px;
    padding-bottom: 2px;
  }
}
.lp-speaking__visual {
  position: relative;
  width: 100%;
  max-width: 918px;
  height: 196px;
  margin: 0 auto 8px;
}
@media (min-width: 768px) {
  .lp-speaking__visual {
    height: 292px;
    margin-bottom: 18px;
  }
}
.lp-speaking__city, .lp-speaking__people {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
}
.lp-speaking__city--pc {
  display: none;
}
@media (min-width: 768px) {
  .lp-speaking__city--pc {
    display: block;
    left: 0;
    top: 27px;
    width: 918px;
  }
}
.lp-speaking__city--sp {
  left: 50%;
  top: 10px;
  width: 375px;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  .lp-speaking__city--sp {
    display: none;
  }
}
.lp-speaking__people--pc {
  display: none;
}
@media (min-width: 768px) {
  .lp-speaking__people--pc {
    display: block;
    left: 50%;
    top: 14px;
    width: 488px;
    transform: translateX(-50%);
  }
}
.lp-speaking__people--sp {
  left: 50%;
  top: 0;
  width: 280px;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  .lp-speaking__people--sp {
    display: none;
  }
}
.lp-speaking__text {
  font-size: 1.8rem;
  line-height: 26px;
  color: #000;
}
@media (min-width: 768px) {
  .lp-speaking__text {
    font-size: 1.6rem;
    line-height: 32px;
  }
}

.lp-feature {
  background-color: #fff;
  padding: 30px 0 70px;
  text-align: center;
}
@media (min-width: 768px) {
  .lp-feature {
    padding: 30px 0 70px;
  }
}
.lp-feature__card {
  margin: 0 auto;
  padding: 30px 24px 50px;
  border: 2px solid #6577d9;
  border-radius: 15px;
}
@media (min-width: 768px) {
  .lp-feature__card {
    max-width: 920px;
    padding: 55px 80px 50px;
    border-radius: 20px;
  }
}
.lp-feature__title {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 30px;
  color: #6577d9;
  line-height: 50px;
}
.lp-feature__title .en {
  position: relative;
  z-index: 1;
  display: block;
  font-family: Jost, "Century Gothic", "Avenir Next", Avenir, sans-serif;
  font-weight: 700;
  font-size: 4rem;
  letter-spacing: -0.05em;
}
.lp-feature__title .ja {
  position: relative;
  z-index: 1;
  display: block;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.26;
  margin-top: 7px;
}
.lp-feature__title sup {
  font-size: 0.38em;
  top: -0.85em;
}
.lp-feature__title::before, .lp-feature__title::after {
  content: "";
  position: absolute;
  left: 50%;
  z-index: 0;
  height: 20px;
  background-color: #fff702;
  transform: translateX(-50%);
}
.lp-feature__title::before {
  top: 31px;
  width: 160px;
}
.lp-feature__title::after {
  top: 81px;
  width: 293px;
}
@media (min-width: 768px) {
  .lp-feature__title {
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
    margin-bottom: 50px;
    line-height: 1;
  }
  .lp-feature__title .en {
    display: inline;
  }
  .lp-feature__title .ja {
    display: inline;
    margin-left: 8px;
  }
  .lp-feature__title::before {
    display: none;
  }
  .lp-feature__title::after {
    top: 33px;
    width: 555px;
  }
}
.lp-feature__list {
  max-width: 480px;
  margin: 0 auto 30px;
  text-align: left;
}
@media (min-width: 768px) {
  .lp-feature__list {
    max-width: 480px;
    margin-bottom: 50px;
  }
}
.lp-feature__list li {
  position: relative;
  min-height: 46px;
  padding: 10px 0 10px 55px;
  margin-bottom: 25px;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.25;
  color: #000;
}
.lp-feature__list li:last-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .lp-feature__list li {
    padding-top: 11px;
    padding-left: 69px;
    margin-bottom: 25px;
  }
}
.lp-feature__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2246%22%20height%3D%2246%22%20viewBox%3D%220%200%2046%2046%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M23.0002%2042.1667C33.5859%2042.1667%2042.1668%2033.5858%2042.1668%2023C42.1668%2012.4143%2033.5859%203.83337%2023.0002%203.83337C12.4144%203.83337%203.8335%2012.4143%203.8335%2023C3.8335%2033.5858%2012.4144%2042.1667%2023.0002%2042.1667ZM29.7775%2016.2227C30.1374%2015.8633%2030.6253%2015.6616%2031.1339%2015.662C31.6425%2015.6623%2032.1302%2015.8647%2032.4896%2016.2246C32.849%2016.5845%2033.0507%2017.0724%2033.0503%2017.5811C33.05%2018.0897%2032.8476%2018.5773%2032.4877%2018.9367L21.6527%2029.7716L21.6451%2029.7793C21.4675%2029.9579%2021.2564%2030.0996%2021.0238%2030.1963C20.7912%2030.2931%2020.5419%2030.3429%2020.29%2030.3429C20.0381%2030.3429%2019.7887%2030.2931%2019.5562%2030.1963C19.3236%2030.0996%2019.1125%2029.9579%2018.9349%2029.7793L18.9272%2029.7716L13.5127%2024.357C13.3296%2024.1802%2013.1836%2023.9687%2013.0831%2023.7349C12.9827%2023.5011%2012.9298%2023.2496%2012.9276%2022.9951C12.9254%2022.7406%2012.9739%2022.4882%2013.0703%2022.2526C13.1666%2022.0171%2013.3089%2021.8031%2013.4889%2021.6231C13.6689%2021.4432%2013.8829%2021.3008%2014.1184%2021.2045C14.354%2021.1081%2014.6064%2021.0596%2014.8608%2021.0618C15.1153%2021.064%2015.3668%2021.1169%2015.6007%2021.2173C15.8345%2021.3178%2016.046%2021.4638%2016.2228%2021.6469L20.29%2025.7121L29.7775%2016.2246V16.2227Z%22%20fill%3D%22%236577D9%22%2F%3E%20%3C%2Fsvg%3E") no-repeat center/contain;
}
.lp-feature__btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}
@media (min-width: 768px) {
  .lp-feature__btns {
    flex-direction: row;
    justify-content: center;
    gap: 26px;
  }
}
.lp-feature__item {
  width: 208px;
}
.lp-feature__caption {
  margin: 0 0 10px;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.25;
  color: #000;
}

.lp-coming {
  background-color: #cfe8ff;
  padding: 30px 0;
  text-align: center;
  color: #2e4b7d;
}
@media (min-width: 768px) {
  .lp-coming {
    padding: 87px 0 75px;
  }
}
.lp-coming__inner {
  max-width: 845px;
  margin: 0 auto;
}
.lp-coming__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(calc(304 / 375 * 100vw), 304px);
  height: 52px;
  border-radius: 56px;
  background-color: #fff;
  color: #2e4b7d;
  font-family: Jost, "Century Gothic", "Avenir Next", Avenir, sans-serif;
  font-weight: 700;
  font-size: min(calc(33.6 / 375 * 100vw), 3.36rem);
  line-height: 1;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .lp-coming__label {
    width: 434px;
    height: 74px;
    border-radius: 80px;
    font-size: 4.8rem;
    margin-bottom: 20px;
  }
}
.lp-coming__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 6px 0 0;
  color: #2e4b7d;
  line-height: 1;
}
@media (min-width: 768px) {
  .lp-coming__title {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    margin-top: 0;
    gap: 14px;
  }
}
.lp-coming__date {
  position: relative;
  display: inline-block;
  font-weight: 700;
  font-size: min(calc(78 / 375 * 100vw), 7.8rem);
  letter-spacing: -0.05em;
  line-height: 1;
  padding-right: 0.75em;
}
.lp-coming__dow {
  position: absolute;
  right: 0.02em;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #2e4b7d;
  color: #fff;
  font-size: min(calc(36 / 375 * 100vw), 3.6rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  transform: translateY(-50%);
  padding-top: 2px;
}
.lp-coming__lead {
  display: block;
  width: 100%;
  margin-top: 8px;
  font-weight: 700;
  font-size: min(calc(46 / 375 * 100vw), 4.6rem);
  line-height: 60px;
}
@media (min-width: 768px) {
  .lp-coming__lead {
    display: inline;
    width: auto;
    margin-top: 0;
    font-size: 6rem;
    line-height: 1.05;
  }
}

.lp-lr {
  position: relative;
  overflow: hidden;
  background-color: #f8e8d7;
  padding: 30px 0;
  text-align: center;
}
@media (min-width: 768px) {
  .lp-lr {
    padding: 100px 0;
  }
}
.lp-lr__inner {
  position: relative;
  max-width: 920px;
  margin: 0 auto;
}
.lp-lr__head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(calc(83 / 375 * 100vw), 83px);
  padding-left: 60px;
}
@media (min-width: 768px) {
  .lp-lr__head {
    min-height: 61px;
    padding-left: 0;
    margin-bottom: 30px;
  }
}
.lp-lr__catch {
  margin: 0;
  padding-top: 8px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.25;
  color: #000;
}
@media (min-width: 768px) {
  .lp-lr__catch {
    padding-top: 22px;
    letter-spacing: 0.5em;
  }
}
.lp-lr__new {
  position: absolute;
  top: 10px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 67px;
  height: 67px;
  color: #fff;
  font-family: Jost, "Century Gothic", "Avenir Next", Avenir, sans-serif;
  font-weight: 700;
  font-size: 1.73rem;
  line-height: 1;
  pointer-events: none;
  transform: rotate(-20deg);
}
.lp-lr__new img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.lp-lr__new span {
  position: relative;
  z-index: 1;
  padding-top: 2px;
}
@media (min-width: 768px) {
  .lp-lr__new {
    left: 199px;
    top: 0;
    width: 84px;
    height: 84px;
    font-size: 2.16rem;
  }
}
.lp-lr__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 22px;
  color: #ec6744;
  font-weight: 700;
  line-height: 1.25;
}
@media (min-width: 768px) {
  .lp-lr__title {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: baseline;
    gap: 0;
    margin: 0 0 55px;
    line-height: 1;
  }
}
.lp-lr__title-line {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
}
.lp-lr__title-ja, .lp-lr__title-vol {
  font-size: 4rem;
  line-height: 1.275;
}
.lp-lr__title-en, .lp-lr__title-en-rest {
  font-family: Jost, "Century Gothic", "Avenir Next", Avenir, sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.lp-lr__title-en {
  font-size: 4rem;
  line-height: 50px;
}
.lp-lr__title-en sup {
  font-size: 0.45em;
  top: -0.55em;
}
@media (min-width: 768px) {
  .lp-lr__title-en {
    font-size: 4.5rem;
    line-height: 1;
    letter-spacing: 0;
  }
}
.lp-lr__title-en-rest {
  font-size: 3rem;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lp-lr__title-en-rest {
    font-size: 4.5rem;
    line-height: 1;
    letter-spacing: 0;
  }
}
.lp-lr__row {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .lp-lr__row {
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 89px;
    padding-left: 61px;
  }
}
.lp-lr__book {
  position: relative;
  width: 239px;
  margin: 0 auto 8px;
}
@media (min-width: 768px) {
  .lp-lr__book {
    width: 275px;
    margin: 0;
    flex-shrink: 0;
  }
}
.lp-lr__book::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -18px;
  z-index: 0;
  width: 302px;
  height: 57px;
  background-color: #ffd7af;
  border-radius: 50%;
  filter: blur(9.15px);
  opacity: 0.2;
  transform: translateX(-50%);
  pointer-events: none;
}
@media (min-width: 768px) {
  .lp-lr__book::after {
    bottom: -16px;
    width: 348px;
    height: 66px;
  }
}
.lp-lr__book-img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
}
.lp-lr__aside {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
@media (min-width: 768px) {
  .lp-lr__aside {
    width: 409px;
    padding-top: 0;
    align-items: flex-end;
  }
}
.lp-lr__blob {
  position: relative;
  width: 295px;
  height: 208px;
  margin: 0 auto 40px;
}
@media (min-width: 768px) {
  .lp-lr__blob {
    width: 409px;
    height: 288px;
    margin: 0 0 36px;
  }
}
.lp-lr__blob-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.lp-lr__blob-bg--pc {
  display: none;
}
@media (min-width: 768px) {
  .lp-lr__blob-bg--pc {
    display: block;
  }
}
@media (min-width: 768px) {
  .lp-lr__blob-bg--sp {
    display: none;
  }
}
.lp-lr__blob-sub, .lp-lr__blob-date, .lp-lr__blob-lead {
  position: relative;
  z-index: 1;
  margin: 0;
}
.lp-lr__blob-sub {
  padding-top: 42px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 23.04px;
  color: #000;
}
@media (min-width: 768px) {
  .lp-lr__blob-sub {
    padding-top: 61px;
    font-size: 2rem;
    line-height: 30px;
  }
}
.lp-lr__blob-date {
  position: relative;
  display: inline-block;
  margin-top: 4px;
  padding-right: 0.72em;
  color: #ec6744;
  font-weight: 700;
  font-size: 5.76rem;
  letter-spacing: -0.05em;
  line-height: 1;
}
@media (min-width: 768px) {
  .lp-lr__blob-date {
    margin-top: 8px;
    font-size: 8rem;
  }
}
.lp-lr__blob-dow {
  position: absolute;
  right: 0.02em;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #ec6744;
  color: #fff;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  transform: translateY(-50%);
  padding-top: 2px;
}
@media (min-width: 768px) {
  .lp-lr__blob-dow {
    width: 50px;
    height: 50px;
    font-size: 3.6rem;
  }
}
.lp-lr__blob-lead {
  margin-top: 6px;
  color: #e36947;
  font-weight: 700;
  font-size: 3.24rem;
  line-height: 1.15;
}
@media (min-width: 768px) {
  .lp-lr__blob-lead {
    margin-top: 5px;
    font-size: 4.5rem;
    line-height: 32px;
  }
}

.lp-kamakura {
  position: relative;
  overflow: hidden;
  background-color: #f5e4f6;
  padding: 30px 0;
  text-align: center;
}
@media (min-width: 768px) {
  .lp-kamakura {
    padding: 100px 0;
  }
}
.lp-kamakura__deco {
  display: none;
}
@media (min-width: 768px) {
  .lp-kamakura__deco {
    display: block;
    position: absolute;
    left: 50%;
    top: 206px;
    width: 1027px;
    height: auto;
    transform: translateX(-526px);
    pointer-events: none;
    z-index: 0;
  }
}
.lp-kamakura__inner {
  position: relative;
  z-index: 1;
  max-width: 770px;
  margin: 0 auto;
}
.lp-kamakura__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 34px;
}
@media (min-width: 768px) {
  .lp-kamakura__head {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-bottom: 43px;
  }
}
.lp-kamakura__badge {
  display: block;
  width: 102px;
  height: 102px;
  margin: 0 auto;
  flex-shrink: 0;
}
.lp-kamakura__title {
  margin: 5px 0 0;
  color: #9548be;
  font-weight: 700;
  font-size: 4rem;
  line-height: 50px;
}
@media (min-width: 768px) {
  .lp-kamakura__title {
    margin: 0;
    text-align: left;
  }
}
.lp-kamakura__title-pc {
  display: none;
}
@media (min-width: 768px) {
  .lp-kamakura__title-pc {
    display: inline;
    background: linear-gradient(#fff, #fff) left 78%/100% 20px no-repeat;
  }
}
.lp-kamakura__title-sp {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lp-kamakura__title-sp span {
  display: inline-block;
  background: linear-gradient(#fff, #fff) center 78%/100% 20px no-repeat;
}
@media (min-width: 768px) {
  .lp-kamakura__title-sp {
    display: none;
  }
}
.lp-kamakura__row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}
@media (min-width: 768px) {
  .lp-kamakura__row {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 82px;
    text-align: left;
  }
}
.lp-kamakura__media {
  width: 266px;
  flex-shrink: 0;
}
.lp-kamakura__phone {
  display: block;
  width: 100%;
  position: relative;
  right: -3%;
}
@media (min-width: 768px) {
  .lp-kamakura__body {
    flex: 1;
    padding-top: 0;
  }
}
.lp-kamakura__lead {
  margin: 0 0 24px;
  font-size: min(calc(38 / 375 * 100vw), 3.8rem);
  font-weight: 700;
  line-height: 50px;
  color: #000;
}
.lp-kamakura__lead span {
  display: block;
}
@media (min-width: 768px) {
  .lp-kamakura__lead {
    margin-bottom: 42px;
  }
}
.lp-kamakura__text {
  margin: 0 0 45px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 32px;
  color: #000;
}
.lp-kamakura__text span {
  display: block;
}
@media (min-width: 768px) {
  .lp-kamakura__text {
    margin-bottom: 50px;
  }
}

.lp-pal {
  position: relative;
  overflow: hidden;
  background-color: #ddefcf;
  padding: 30px 0;
  text-align: center;
}
@media (min-width: 768px) {
  .lp-pal {
    padding: 100px 0;
  }
}
.lp-pal__deco {
  display: none;
}
@media (min-width: 768px) {
  .lp-pal__deco {
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 1118px;
    height: auto;
    transform: translateX(-50%);
    pointer-events: none;
    z-index: 0;
  }
}
.lp-pal__inner {
  position: relative;
  z-index: 1;
  max-width: 794px;
  margin: 0 auto;
}
.lp-pal__title {
  margin: 0 0 41px;
  color: #025738;
  line-height: 1;
}
.lp-pal__title sup {
  font-size: 0.4em;
  top: -0.7em;
}
@media (min-width: 768px) {
  .lp-pal__title {
    margin-bottom: 50px;
  }
}
.lp-pal__name {
  display: block;
  font-family: Jost, "Century Gothic", "Avenir Next", Avenir, sans-serif;
  font-weight: 700;
  font-size: 4rem;
  line-height: 39px;
  letter-spacing: -0.02em;
}
@media (min-width: 768px) {
  .lp-pal__name {
    font-size: 5rem;
    line-height: 66px;
  }
}
.lp-pal__sub {
  display: block;
  margin-top: 5px;
}
@media (min-width: 768px) {
  .lp-pal__sub {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 15px;
    margin-top: 0;
  }
}
.lp-pal__test {
  display: block;
  font-family: Jost, "Century Gothic", "Avenir Next", Avenir, sans-serif;
  font-weight: 700;
  font-size: min(calc(28 / 375 * 100vw), 2.8rem);
  line-height: 39px;
  letter-spacing: -0.02em;
}
@media (min-width: 768px) {
  .lp-pal__test {
    font-size: 5rem;
    line-height: 66px;
  }
}
.lp-pal__ja {
  display: block;
  margin-top: 6px;
  font-weight: 700;
  font-size: 4rem;
  line-height: 1.275;
}
@media (min-width: 768px) {
  .lp-pal__ja {
    margin-top: 0;
  }
}
.lp-pal__row {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .lp-pal__row {
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 51px;
    text-align: left;
  }
}
.lp-pal__media {
  width: 283px;
  height: 556px;
  flex-shrink: 0;
  margin-bottom: 55px;
}
@media (min-width: 768px) {
  .lp-pal__media {
    margin-bottom: 0;
  }
}
.lp-pal__phone {
  display: block;
  width: 100%;
  position: relative;
  right: -3%;
}
.lp-pal__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
@media (min-width: 768px) {
  .lp-pal__body {
    flex: 1;
    align-items: flex-start;
    padding-top: 0;
  }
}
.lp-pal__icon {
  display: block;
  width: 132px;
  height: 132px;
  margin: 0 auto 33px;
  border: 0.6px solid #fff;
  border-radius: 20.4px;
  -o-object-fit: cover;
     object-fit: cover;
  background-color: #025738;
}
@media (min-width: 768px) {
  .lp-pal__icon {
    width: 160px;
    height: 160px;
    margin: 0 0 36px 147px;
    border: 1px solid #fff;
    border-radius: 12px;
  }
}
.lp-pal__desc {
  margin: 0;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.25;
  color: #000;
}
.lp-pal__desc span {
  display: block;
}
@media (min-width: 768px) {
  .lp-pal__desc {
    font-size: 2.8rem;
  }
}
.lp-pal__catch {
  margin: 10px 0 45px;
  font-size: min(calc(28 / 375 * 100vw), 2.8rem);
  font-weight: 700;
  line-height: 1.5;
  color: #025738;
  text-align: center;
  width: 100%;
}
@media (min-width: 768px) {
  .lp-pal__catch {
    margin: 15px 0 50px;
    font-size: 4rem;
  }
}

.lp-prep {
  background-color: #f7f7f7;
  padding: 30px 0;
  text-align: center;
}
@media (min-width: 768px) {
  .lp-prep {
    padding: 100px 0;
  }
}
.lp-prep__inner {
  max-width: 920px;
  margin: 0 auto;
}
.lp-prep__title {
  margin: 0 0 8px;
  color: #6577d9;
}
.lp-prep__title .en {
  display: block;
  font-family: Jost, "Century Gothic", "Avenir Next", Avenir, sans-serif;
  font-weight: 700;
  font-size: 4rem;
  line-height: 50px;
}
.lp-prep__title .ja {
  display: block;
  margin-top: 6px;
  font-weight: 700;
  font-size: 3.5rem;
  line-height: 1.25;
}
.lp-prep__title sup {
  font-size: 0.4em;
  top: -0.7em;
}
@media (min-width: 768px) {
  .lp-prep__title {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 50px;
  }
  .lp-prep__title .en {
    line-height: 1.3;
  }
  .lp-prep__title .ja {
    margin-top: 0;
  }
}
.lp-prep__group {
  margin-bottom: 30px;
}
.lp-prep__group:last-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .lp-prep__group {
    margin-bottom: 50px;
  }
}
.lp-prep__label {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .lp-prep__label {
    flex-direction: row;
    margin-bottom: 50px;
  }
}
.lp-prep__label--videos {
  flex-direction: column-reverse;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .lp-prep__label--videos {
    flex-direction: row;
    margin-bottom: 50px;
  }
}
.lp-prep__icon-text {
  display: block;
  width: 70px;
  height: auto;
  margin-bottom: 12px;
}
@media (min-width: 768px) {
  .lp-prep__icon-text {
    position: absolute;
    right: calc(50% + 137px);
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
  }
}
.lp-prep__icon-video {
  display: block;
  width: 70px;
  height: auto;
  margin-bottom: 15px;
}
@media (min-width: 768px) {
  .lp-prep__icon-video {
    position: absolute;
    left: calc(50% + 161px);
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
  }
}
.lp-prep__ribbon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 256px;
  height: 40px;
  margin: 0;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.lp-prep__ribbon--green {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%22256%22%20height%3D%2240%22%20viewBox%3D%220%200%20256%2040%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M146.489%2040H256L240.699%2019.6641L256%200H146.489H109.511H0L15.3006%2019.6641L0%2040H109.511H146.489Z%22%20fill%3D%22%2300B54F%22%2F%3E%20%3C%2Fsvg%3E");
}
.lp-prep__ribbon--coral {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%22256%22%20height%3D%2240%22%20viewBox%3D%220%200%20256%2040%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M146.489%2040H256L240.699%2019.6641L256%200H146.489H109.511H0L15.3006%2019.6641L0%2040H109.511H146.489Z%22%20fill%3D%22%23F18765%22%2F%3E%20%3C%2Fsvg%3E");
}
.lp-prep__articles {
  display: grid;
  gap: 30px;
  justify-items: center;
}
@media (min-width: 768px) {
  .lp-prep__articles {
    grid-template-columns: repeat(3, 1fr);
    gap: 42px;
    justify-items: stretch;
  }
}
.lp-prep__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 315px;
  overflow: hidden;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  color: #000;
  text-align: left;
  min-height: 350px;
}
@media (min-width: 768px) {
  .lp-prep__card {
    max-width: none;
    min-height: 320px;
  }
}
.lp-prep__thumb {
  display: block;
  width: calc(100% - 30px);
  height: 145px;
  margin: 15px 15px 0;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 768px) {
  .lp-prep__thumb {
    width: calc(100% - 26px);
    height: 128px;
    margin: 13px 13px 0;
  }
}
.lp-prep__card-title {
  display: block;
  margin: 8px 15px 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 25px;
}
@media (min-width: 768px) {
  .lp-prep__card-title {
    margin: 7px 13px 0;
  }
}
.lp-prep__card-meta {
  display: block;
  margin: 8px 15px 16px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
}
@media (min-width: 768px) {
  .lp-prep__card-meta {
    margin: 7px 13px 0;
  }
}
.lp-prep__videos {
  display: grid;
  gap: 30px;
  justify-items: center;
}
@media (min-width: 768px) {
  .lp-prep__videos {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    justify-items: stretch;
  }
}
.lp-prep__video {
  position: relative;
  display: block;
  width: 100%;
  max-width: 315px;
  overflow: hidden;
  border-radius: 20px;
  text-decoration: none;
}
@media (min-width: 768px) {
  .lp-prep__video {
    max-width: none;
  }
}
.lp-prep__video-img {
  display: block;
  width: 100%;
  height: 178px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 768px) {
  .lp-prep__video-img {
    height: 248px;
  }
}
.lp-prep__play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 42px;
  height: 42px;
  transform: translate(-50%, -50%);
}
@media (min-width: 768px) {
  .lp-prep__play {
    width: 58px;
    height: 58px;
  }
}

.p-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 208px;
  height: 51px;
  padding: 0 16px;
  border: 1px solid #fff;
  border-radius: 37px;
  color: #fff;
  font-size: 2rem;
  letter-spacing: -0.025em;
  font-weight: 400;
  text-decoration: none;
  line-height: 1;
  transition: opacity 0.3s;
}
.p-button img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.p-button--blue {
  background-color: #6577d9;
}
.p-button--orange {
  background-color: #d98a55;
}
.p-button--green {
  background-color: #00a36c;
}
.p-button--green-dark {
  background-color: #025738;
}
.p-button--coral {
  background-color: #e36947;
}
.p-button--purple {
  background-color: #9548be;
}
@media (min-width: 768px) {
  .p-button--left {
    margin-right: 89px;
  }
}
@media (min-width: 768px) {
  .p-button--right {
    margin-left: 123px;
  }
}

a.p-button:hover, a.p-button:focus, a.p-button:active {
  color: #fff;
  opacity: 0.7;
}

@media (min-width: 768px) {
  .u-sp {
    display: none;
  }
}

@media (min-width: 845px) {
  .u-lg {
    display: none;
  }
}

@media (max-width: 767px) {
  .u-md-only {
    display: none;
  }
}

.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*----------------------------------------------
	contact modal (2025 LP)
----------------------------------------------*/
body:has(.contactModal.open) {
  overflow: hidden;
}

.contactModal {
  display: flex;
  inset: 0;
  opacity: 0;
  position: fixed;
  transition: opacity 0.5s;
  z-index: -1;
}
.contactModal.open {
  opacity: 1;
  z-index: 9999;
}

.contactModalOverlay {
  background: rgba(0, 0, 0, 0.8);
  cursor: pointer;
  display: flex;
  inset: 0;
  position: fixed;
  z-index: 9998;
}

.contactModalMain {
  background: #fff;
  display: flex;
  height: 100%;
  margin: auto;
  max-height: 702px;
  max-width: 1000px;
  position: relative;
  width: 95%;
  z-index: 9999;
}

.contactModal_inner {
  font-size: 14px;
  height: 100%;
  overflow: auto;
  padding: 70px 18px 18px;
  width: 100%;
}
.contactModal_inner > :not(:last-child) {
  margin-bottom: 25px;
}

.contactModal_title {
  border-left: 6px solid #000064;
  box-sizing: border-box;
  font-size: 24px;
  font-weight: 700;
  padding-left: 20px;
}

.contactModal_button {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 25px;
  justify-content: center;
}

.contactModal_closeButton {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateY(-100%);
}
.contactModal_closeButton > svg {
  height: 20px;
  width: 20px;
}

.contactModal .toeic_button {
  align-items: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 3.5em;
  box-sizing: border-box;
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  justify-content: center;
  line-height: inherit;
  margin: auto;
  min-width: 300px;
  padding: 10px 30px 9px !important;
  position: relative;
  text-decoration: none !important;
}
.contactModal .toeic_button:hover {
  text-decoration: none !important;
}
.contactModal .toeic_button.themeColor {
  background: #000064;
  border: 1px solid #000064;
  color: #fff;
}
.contactModal .toeic_button.outlined {
  background: #fff;
  border: 1px solid #000064;
  color: #000064;
}/*# sourceMappingURL=theme.css.map */