/* ===========================================
   KUMON 学習療法センター LP
   大人のためのKUMON デザイン反映版
   =========================================== */

@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&display=swap');

:root {
  --lp-green: #63b600;
  --lp-green-dark: #1EA821;
  --lp-green-soft: #eaf6df;
  --lp-orange: #F49403;
  --lp-orange-soft: #fff0c9;
  --lp-orange-hard: #EBA420;
  --lp-yellow: #f7d879;
  --lp-pink: #F38280;
  --lp-black: #000000;
  --lp-light-black: #333333;
  --lp-white: #fff;
  --lp-sky-blue: #1493D3;
  --lp-light-blue: #7EC4E8;
  --translucent-lp-blue: #7EC4E8;
  --lp-gray: #0B0B0B;

  --lp-bg: #f7f3e6;
  --lp-bg-thincream: #F7F4E9;
  --lp-bg-cream: #FFE3B2;
  --lp-bg-white: #ffffff;
  --lp-bg-blue: #41a6d9;
  --lp-bg-light-blue: #7EC4E8;
  --lp-text: #2b2b2b;
  --lp-sub: #5f5a4c;
  --lp-border: #eadfbd;

  --lp-font: "Zen Maru Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, -apple-system, sans-serif;
  --lp-other-font: "Nunito", sans-serif;
  --lp-max: 1280px;
  --lp-middle: 1120px;
  --lp-header-h: 72px;
  --lp-radius: 24px;
  --lp-shadow: 0 12px 28px rgba(95, 75, 35, .10);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--lp-header-h);
  font-size: 62.5%;
}

body.page-lp-new {
  margin: 0;
  font-family: var(--lp-font);
  color: var(--lp-text);
  background: var(--lp-bg-thincream);
  /* line-height: 1.8;
  letter-spacing: .02em; */
  -webkit-font-smoothing: antialiased;
}

body {
  margin: 0;
}

body.page-lp-new img {
  max-width: 100%;
  height: 100%;
  display: block;
}

body.page-lp-new a {
  text-decoration: none;
}

body.page-lp-new ul {
  padding: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  list-style: none;
  flex: 1;
}

body.page-lp-new button {
  font-family: inherit;
}

body.page-lp-new figure {
  margin: 0;
  width: 100%;
}

.lp-container {
  max-width: var(--lp-max);
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: content-box;
}

.lp-inner {
  max-width: var(--lp-middle);
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: content-box;
}

/* .lp-other-inner {
  max-width: var(--lp-middle);
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
} */

/* .lp-section {
  padding: 76px 0;
} */

.lp-section__eyebrow {
  margin-top: 0;
  margin-bottom: 24px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
}

.lp-section__eyebrow.lp-add-mt {
  margin-top: 24px;
  margin-bottom: 0;
}

.lp-pink {
  color: var(--lp-pink);
}

.lp-white {
  color: var(--lp-white);
}

.lp-light-blue {
  color: var(--lp-light-blue);
}

.lp-orange {
  color: var(--lp-orange);
}

.lp-black {
  color: var(--lp-black);
}

.lp-light-blue {
  color: var(--lp-light-blue);
}

.lp-section__title {
  margin: 0;
}

.lp-section__title span {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2;
  display: inline-block;
  padding-bottom: 10px;
  background-repeat: repeat-x;
  background-size: 11px 3px;
  background-position: left bottom;
  letter-spacing: 0.03em;
}

.lp-section__title {
  margin: 0;
}

/* .lp-section__title > span {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2;
  display: inline-block;
  padding-bottom: 10px;
  background-repeat: repeat-x;
  background-size: 11px 3px;
  background-position: left bottom;
  letter-spacing: 0.03em;
} */

.lp-section__title-em {
  display: inline-flex;
  align-items: center;
}

.lp-section__title-em::after {
  content: "";
  display: inline-block;
  width: 90px;
  height: 2px;
  margin-left: 10px;
  background-color: var(--lp-light-black);
  vertical-align: middle;
  margin-right: 10px;
}

.lp-section__title span .font-large {
  font-size: 5.6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
}

.lp-bg-pink {
  background-image: repeating-radial-gradient(ellipse 3px 2px, #F38280 0 100%, transparent 100% 200%);
}

.lp-bg-white {
  background-image: repeating-radial-gradient(ellipse 3px 2px, #FFF 0 100%, transparent 100% 200%);
}

.lp-bg-orange {
  background-image: repeating-radial-gradient(ellipse 3px 2px, #F49403 0 100%, transparent 100% 200%);
}

.lp-bg-change {
  background-image: repeating-radial-gradient(ellipse 3px 2px, #1493D3 0 100%, transparent 100% 200%);
}

.lp-section__title span:not(:first-child) {
  margin-top: 8px;
}

.position-center {
  text-align: center;
}

.position-left {
  text-align: left;
}

.position-right {
  text-align: right;
}

.lp-br-sp {
  display: none;
}

.lp-br-pc {
  display: block;
}

.white-space {
  white-space: no-wrap;
}

/* =========================
   HEADER
========================= */

/* .lp-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: rgba(247, 243, 230, .95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(234, 223, 189, .75);
  transform: translateY(-100%);
  transition: transform .25s ease, box-shadow .25s ease;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;

  background: rgba(247, 243, 230, .95);
  background-color: var(--lp-bg-thincream);
  backdrop-filter: blur(8px);
  transform: translateY(0);
} */

/* .lp-header.is-scrolled {
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
}

.lp-gnav {
  flex: 1;
} */

/* .lp-header-main .lp-gnav {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
} */

/* .lp-header-fixed .lp-gnav {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
} */

/* .lp-header.is-scrolled .lp-gnav {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  opacity: 0;
  visibility: hidden;
} */
.lp-header {
  width: 100%;
  background: var(--lp-bg-thincream);
  z-index: 1000;
  padding-top: 13px;
  padding-bottom: 13px;
}

/* 200px以上スクロール後、追従ヘッダー化 */
/* .lp-header.is-scrolled {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 4;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
  animation: headerSlideDown .25s ease forwards;
  padding-top: 16px;
  padding-bottom: 16px;
} */
.lp-header.is-scrolled,
.lp-header.is-hiding {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 4;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
  padding-top: 16px;
  padding-bottom: 16px;
}

.lp-header.is-scrolled {
  animation: headerSlideDown .25s ease forwards;
}

.lp-header.is-hiding {
  animation: headerSlideUp .25s ease forwards;
}

@keyframes headerSlideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes headerSlideUp {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}

/* .lp-header__inner {
  max-width: var(--lp-max);
  height: var(--lp-header-h);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 26px;
} */

.lp-logo {
  display: inline-flex;
  flex-direction: column;
  max-width: 120px;
  width: 100%;
}

/* .lp-logo__mark {
  color: #1d73be;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: .08em;
} */

/* .lp-logo__sub {
  margin-top: 3px;
  color: var(--lp-sub);
  font-size: 11px;
  font-weight: 700;
} */

/* 初期状態ではナビ非表示 */
.lp-gnav {
  flex: 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, visibility .25s ease;
}

.lp-header .lp-gnav {
  flex: 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity .25s ease,
    visibility 0s linear .25s;
}

/* 600px以上スクロール後にナビ表示 */
.lp-header.is-scrolled .lp-gnav {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition:
    opacity .25s ease,
    visibility 0s linear 0s;
}

.lp-header.is-hiding .lp-gnav {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity .25s ease,
    visibility 0s linear .25s;
}

.lp-gnav ul {
  gap: 24px;
  margin-right: 32px;
  justify-content: flex-end;
  display: flex;
}

.lp-gnav a {
  color: var(--lp-light-black);
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.03em;
  padding: 0 8px;
}

.lp-gnav a:hover {
  opacity: 0.7;
}

.lp-header-container {
  display: flex;
  align-items: center;
}

.lp-header__cta {
  display: inline-flex;
  align-items: center;
  padding: 19.5px 24px;
  color: var(--lp-green-dark);
  background: #fff;
  border: 2px solid var(--lp-green-dark);
  border-radius: 20px;
  font-size: 1.7rem;
  font-weight: 700;
  text-decoration: none;
  line-height: 1;
  box-shadow: 0 2px 0 0 #1EA821;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  justify-content: center;
  height: 56px;
}

.lp-header__cta::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 8px;
  background-color: var(--lp-green-dark);
  mask-image: url("../img/lp-new/envelope-regular-full-green.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("../img/lp-new/envelope-regular-full-green.svg");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.lp-header__cta:hover {
  background-color: var(--lp-green-dark);
  color: var(--lp-white);
  box-shadow: none;
  transform: translateY(2px);
}

.lp-header__cta:hover::after {
  background-color: var(--lp-white);
}

.lp-hamburger {
  display: none;
  width: 36px;
  height: 36px;
  padding: 0;
  background: transparent;
  border: 0;
}

.lp-hamburger span {
  display: block;
  width: 28px;
  height: 3px;
  margin: 6px auto;
  background: var(--lp-gray);
  border-radius: 999px;
}


/* .lp-header__inner {
  max-width: var(--lp-max);
  height: var(--lp-header-h);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 26px;
}

.lp-logo {
  display: inline-flex;
  flex-direction: column;
  line-height: 1.1;
}

.lp-logo__mark {
  color: #1d73be;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: .08em;
}

.lp-logo__sub {
  margin-top: 3px;
  color: var(--lp-sub);
  font-size: 11px;
  font-weight: 700;
}

.lp-gnav {
  flex: 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, visibility .25s ease;
}

.lp-gnav ul {
  display: flex;
  justify-content: center;
  gap: 26px;
}

.lp-gnav a {
  color: var(--lp-sub);
  font-size: 14px;
  font-weight: 800;
}

.lp-gnav a:hover {
  color: var(--lp-green-dark);
}

.lp-header__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 22px;
  color: var(--lp-green-dark);
  background: #fff;
  border: 2px solid var(--lp-green);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 4px 0 rgba(99, 182, 0, .18);
}

.lp-hamburger {
  display: none;
  width: 36px;
  height: 36px;
  padding: 0;
  background: transparent;
  border: 0;
}

.lp-hamburger span {
  display: block;
  width: 28px;
  height: 3px;
  margin: 6px auto;
  background: var(--lp-green-dark);
  border-radius: 999px;
} */

/* 1個目：通常ヘッダー */
/* .lp-header-main {
  width: 100%;
  background: var(--lp-bg-thincream);
} */

/* 2個目：追従ヘッダー */
/* .lp-header-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;

  background: var(--lp-bg-thincream);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(234, 223, 189, .75);
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);

  transform: translateY(-100%);
  transition: transform .25s ease;
} */

/* 200px以上スクロール後 */
/* .lp-header-fixed.is-scrolled {
  transform: translateY(0);
} */

/* =========================
   DRAWER
========================= */

.lp-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 998;
}

body.is-drawer-open .lp-drawer-overlay {
  opacity: 1;
  visibility: visible;
}

body.is-drawer-open {
  overflow: hidden;
}

.lp-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 2000;
  width: calc(100vw - 32px);
  /* height: auto; */
  transform: translateX(100%);
  transition: transform .25s ease;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  height: 100dvh;
  overflow-x: hidden;
  box-sizing: border-box;
}

.lp-drawer.is-open {
  transform: translateX(0);
}

.lp-drawer-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 20px;
  background: var(--lp-bg-thincream);
}

.lp-drawer-row-figure {
  max-width: 66px;
}

.lp-drawer__close {
  right: 20px;
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;
}

.lp-drawer__close::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-color: var(--lp-gray);

  mask-image: url("../img/lp-new/xmark-solid-full.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;

  -webkit-mask-image: url("../img/lp-new/xmark-solid-full.svg");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

body.page-lp-new ul.lp-drawer__nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 0;
  padding-left: 16px;
  padding-right: 16px;
  background: var(--lp-bg-thincream);
}

body.page-lp-new ul.lp-drawer__nav a {
  display: block;
  padding: 17.5px 16px;
  color: var(--lp-text);
  font-size: 17px;
  font-weight: 800;
  border-bottom: 1px dashed var(--lp-border);
  position: relative;
}

body.page-lp-new ul.lp-drawer__nav a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background-image: url(../img/lp-new/lp-normal-arrow-btn.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.lp-drawer__cta {
  display: block;
  padding: 16px 20px;
  color: #fff;
  background: var(--lp-green);
  border-radius: 999px;
  text-align: center;
  font-weight: 900;
}

/* =========================
   HERO
========================= */

.text-dot {
    position: relative;
    display: inline-block;
}

.text-dot::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 8px;
    height: 8px;
    background: var(--lp-light-blue);
    border-radius: 50%;
    transform: translate(-50%, 0);
}

/* .lp-hero {
  --hero-left: max(80px, calc((100vw - 1280px) / 2 + 80px));

  overflow: hidden;
  padding: 36px 0 46px;
  background-color: var(--lp-bg-thincream);
} */

.lp-hero {
  --hero-left: max(80px, calc((100vw - 1280px) / 2 + 80px));

  position: relative;
  overflow: hidden;
  padding: 24px 0 26px;
  background-color: var(--lp-bg-thincream);
}

.lp-hero__sub span {
  font-size: 5.6rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
}

/* .lp-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: 320px 1fr;
  align-items: center;
  gap: 0;
  min-height: 520px;
  padding-left: var(--hero-left);
  box-sizing: border-box;
} */

.lp-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: 320px 1fr;
  align-items: center;
  gap: 0;
  min-height: 451px;
  padding-left: var(--hero-left);
  box-sizing: border-box;
  margin-top: 29px;
}

/* 左側テキスト */
.lp-hero__text {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 80px;
}

/* 右側画像を左側へ食い込ませる */
/* .lp-hero__visual {
  position: relative;
  z-index: 1;
  margin-left: -160px;
  min-width: 0;
} */
 .lp-hero__visual {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 72.578125vw;
  height: 100%;
  margin-left: 0;
  min-width: 0;
}

.lp-hero__visual::after {
  content: "";
  position: absolute;
  left: 40px;
  bottom: -26px;
  width: 100%;
  height: 26px;
  background-color: var(--lp-bg-light-blue);
  border-radius: 0 0 0 20px;
  z-index: -1;
}

.lp-hero__visual picture {
  display: block;
  height: 100%;
}

.lp-hero__visual img {
  display: block;
  width: 100%;
  border-radius: 20px 0 0 20px;
  object-fit: cover;
}

.lp-hero__title {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
  color: var(--lp-light-black);
}

.lp-hero__title .text-box {
  position: relative;
  z-index: 4;
  display: inline-block;
  padding-top: 14px;
  padding-right: 21.5px;
  padding-bottom: 14px;
  background-color: var(--lp-bg-white);
  /* background-size: 11px 3px; */
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  white-space: nowrap;
  border-bottom: none;
  border-radius: 0 10px 10px 0;
  padding-left: 3px;
  left: -10px;
}

.lp-hero__title .text-box::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--hero-left) * -1);
  right: 100%;
  background: rgba(255, 255, 255, .92);
  z-index: -2;
}

.lp-hero__title .text-box::after {
  content: "";
    position: absolute;
    left: calc(var(--hero-left) * -1);
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    height: 2px;
    background-image: repeating-radial-gradient(ellipse 3px 2px, #8fd0ef 0 100%, transparent 100% 200%);
    background-size: 18px 6px;
    background-repeat: repeat-x;
    z-index: -1;
    background-size: 11px 3px;
}

/* .lp-hero__title strong::before {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  width: 100vw;
  height: 100%;
  background: rgba(255, 255, 255, .92);
  z-index: -1;
}

.lp-hero__visual {
  position: relative;
}

.lp-hero__visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0 0 0 80px;
  box-shadow: var(--lp-shadow);
  object-fit: cover;
} */

/* =========================
   TROUBLE
========================= */

.lp-trouble {
  margin-top: 42px;
}

.lp-trouble__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px;
  background: #fff;
  border-radius: 40px;
  padding-top: 32px;
  padding-bottom: 40px;
  padding-right: 24px;
  padding-left: 24px;
  margin-top: 56px;
}

.lp-trouble-card {
  text-align: center;
}

.lp-trouble-card figure {
  overflow: hidden;
  background: var(--lp-bg-white);
  margin: 0;
}

.lp-trouble-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 20px;
}

.lp-trouble-card h3 {
  margin-top: 0;
  margin-bottom: 24px;
  color: var(--lp-black);
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
}

.lp-trouble-card p {
  margin-top: 16px;
  margin-bottom: 0;
  color: var(--lp-black);
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.lp-trouble__message {
  margin-top: 56px;
  text-align: center;
}

.lp-trouble__message p {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.lp-trouble__message p:not(:first-child) {
  margin-top: 16px;
}

/* =========================
   CONTINUE
========================= */

.lp-continue {
  position: relative;
}

.lp-continue::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: -40px;
  left: 0;
  width: 165px;
  height: 220px;
  background-image: url(../img/lp-new/lp-circle.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.lp-continue__inner {
  margin-top: -32px;
  position: relative;
}

.lp-continue-bg {
  position: relative;
  background-color: var(--lp-bg-light-blue);
  height: 740px;
}

.lp-continue-bg-before {
  /* content: "";
  position: absolute;
  width: 100vw;
  height: 30vw;
  top: 0;
  left: 0;
  background-image: url(../img/lp-new/lp-continue-upper.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top left; */
  background-image: url(../img/lp-new/lp-continue-upper.png);
  background-size: 100%;
  background-repeat: no-repeat;
  height: 0;
  padding-top: 20.1171875%;
  z-index: -1;
}

.lp-continue-bg-after {
  /* content: "";
  position: absolute;
  width: 100vw;
  height: 30vw;
  bottom: 0;
  left: 0;
  background-image: url(../img/lp-new/lp-continue-bottom.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom left; */
  background-image: url(../img/lp-new/lp-continue-bottom.png);
  background-size: 100%;
  background-repeat: no-repeat;
  height: 0;
  padding-top: 21.015625%;
  z-index: -1;
}

.lp-continue__photos-container {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  position: relative;
  top: 110px;
}

.lp-continue__photos-container:nth-child(2) {
  margin-top: 27px;
}

.lp-continue__photos-container:nth-child(3) {
  margin-top: 19px;
}

.no01-mr {
  margin-right: 67px;
}

.no03-mr {
  margin-right: 63px;
}

.lp-continue__photo img {
  width: 100%;
  object-fit: cover;
}

.lp-continue__photo--blue {
  max-width: 392px;
  width: 100%;
  position: absolute;
  left: 9px;
  bottom: 166px;
}

.lp-continue__photo--green {
  max-width: 430px;
  width: 100%;
  position: absolute;
  left: 140px;
  top: -140px;
}

.lp-continue__photo--pink {
  max-width: 472px;
  width: 100%;
  position: absolute;
  left: 10px;
  top: -85px;
}

.lp-continue__content {
  /* position: relative; */
  position: absolute;
  top: 120px;
  right: 70px;
  max-width: 557px;
  margin-left: auto;
  text-align: left;
  z-index: 2;
}

.lp-continue__content .lp-section__title {
  margin-bottom: 28px;
}

.lp-continue-box {
  margin: 0;
  padding-top: 32px;
  padding-bottom: 32px;
  padding-left: 40px;
  padding-right: 40px;
  background: #fff;
  border-radius: 40px;
}

/* .lp-continue-box::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22px;
  bottom: 22px;
  width: 8px;
  border-radius: 999px;
} */

.lp-continue-box-title {
  display: inline-block;
  padding-top: 10px;
  padding-left: 24px;
  padding-right: 10px;
  padding-bottom: 10px;
  border-radius: 99px;
}

body.page-lp-new ul.lp-continue-ul {
  margin-top: 16px;
}

/* .lp-continue-box--blue::before {
  background: var(--lp-bg-blue);
} */

/* .lp-continue-box--green::before {
  background: var(--lp-green);
} */

/* .lp-continue-box--pink::before {
  background: var(--lp-pink);
} */

.lp-continue-box h3 {
  display: inline-block;
  margin: 0;
  color: var(--lp-white);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
}

.lp-continue-box p {
  font-size: 2.9rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  margin-top: 16px;
  margin-bottom: 0;
}

.lp-continue-box span {
  display: inline-block;
  padding: 6px 13px;
  border-radius: 999px;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
  background: var(--lp-bg-white);
  margin-left: 16px;
}

.lp-continue-box--blue {
  background: var(--lp-bg-blue);
}

.lp-continue-box--green {
  background: var(--lp-green);
}

.lp-continue-box--pink {
  background: var(--lp-pink);
}

.lp-continue-box li {
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

/* .lp-continue-box li::before {
  content: "・";
  position: absolute;
  left: 0;
} */

/* =========================
   SERVICE
========================= */

.lp-service {
  margin-top: 42px;
}

.lp-service__grid {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.lp-service-card {
  padding: 32px;
  overflow: hidden;
  background: #fff;
  border-radius: 28px;
}

.lp-service-card:nth-child(1) {
  border-radius: 40px 0 0 0;
}

.lp-service-card:nth-child(2) {
  border-radius: 0 40px 0 0;
}

.lp-service-card:nth-last-child(1) {
  border-radius: 0 0 40px 0;
}

.lp-service-card:nth-last-child(2) {
  border-radius: 0 0 0 40px;
}

.lp-service-card figure {
  margin: 0;
  position: relative;
}

/* 下記コードは復活する可能性があるかも？ */
/* .lp-service-card figure::after {
  content: "?";
  position: absolute;
  right: 16px;
  bottom: -62px;
  color: #B2ECFF;
  font-size: 15.6rem;
  font-weight: 900;
  line-height: 1;
} */

.lp-service-card img {
  width: 100%;
  object-fit: cover;
  border-radius: 20px;
}

.lp-service-card__body {
  padding: 16px 0;
}

.lp-service-card__sub {
  display: inline-block;
}

.lp-service-card__body .lp-service-card__category {
  display: inline-block;
  padding: 5px 24px;
  color: var(--lp-white);
  border-radius: 99px;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin-right: 8px;
}

.lp-service-card__body .lp-service-card__other {
  display: inline-block;
  padding: 5px 24px;
  color: var(--lp-light-black);
  background-color: rgba(126, 196, 232, 0.2);
  border-radius: 99px;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.lp-service-card__body .lp-service-card__inner + .lp-service-card__inner {
  margin-top: 40px;
}

.lp-service-card__body h3 {
  margin-top: 8px;
  margin-bottom: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: var(--lp-sky-blue);
}

.lp-service-card__body p {
  margin-top: 8px;
  margin-bottom: 0;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: var(--lp-black);
}

.lp-normal-btn-wrap {
  text-align: right;
}

.lp-normal-btn {
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  padding: 16px 32px;
  color: var(--lp-orange-hard);
  background: #fff;
  border: 2px solid var(--lp-orange-hard);
  border-radius: 10px;
  font-size: 1.9rem;
  font-weight: 700;
  text-decoration: none;
  line-height: 1;
  box-shadow: 0 2px 0 0 #E89A09;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  width: 100%;
  justify-content: center;
}

.lp-normal-btn::after {
  content: "";
  display: inline-block;
  width: 19.2px;
  height: 14.41px;
  margin-left: 8px;
  background-color: var(--lp-orange-hard);
  mask-image: url("../img/lp-new/arrow-right-solid-full.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("../img/lp-new/arrow-right-solid-full.svg");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.lp-normal-btn:hover {
  background-color: var(--lp-orange-hard);
  color: var(--lp-white);
  box-shadow: none;
  transform: translateY(2px);
}

.lp-normal-btn:hover::after {
  background-color: var(--lp-white);
}

/* .lp-service-card__body p {
  margin: 0 0 18px;
  color: var(--lp-sub);
  font-size: 14px;
}

.lp-service-card__body a {
  display: inline-flex;
  align-items: center;
  padding: 8px 20px;
  color: #b48100;
  background: #fff;
  border: 2px solid var(--lp-orange);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
}

.lp-service-card__body a::after {
  content: "";
  display: inline-block;
  width: 19.2px;
  height: 14.41px;
  margin-left: 8px;
  background-color: var(--lp-black);
  mask-image: url("../img/lp-new/arrow-right-solid-full.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("../img/lp-new/arrow-right-solid-full.svg");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.lp-service-card__body a:hover::after {
  background-color: var(--lp-orange-hard);
} */

/* =========================
   SCIENCE
========================= */

.lp-science {
  margin-top: 100px;
}

.lp-science__box {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 28px;
  align-items: center;
  padding: 32px;
  background: rgba(255, 255, 255, .72);
  border-radius: 28px;
  box-shadow: var(--lp-shadow);
}

.lp-science__photo img {
  width: 100%;
  border-radius: 18px;
  object-fit: cover;
}

.lp-science__content p {
  margin: 0 0 8px;
  color: var(--lp-green-dark);
  font-weight: 900;
}

.lp-science__content h2 {
  margin: 0 0 20px;
  font-size: 32px;
  font-weight: 900;
}

.lp-science__content h2 span {
  margin: 0 8px;
  color: var(--lp-green);
}

.lp-science__logos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 0 0 18px;
}

.lp-science__logos div {
  padding: 18px 12px;
  background: #fff;
  border-radius: 18px;
  color: var(--lp-green-dark);
  text-align: center;
  font-size: 17px;
  font-weight: 900;
}

.lp-science__logos small {
  display: block;
  margin-top: 4px;
  color: var(--lp-sub);
  font-size: 12px;
}

.lp-science__note {
  color: var(--lp-sub) !important;
  font-size: 14px;
  font-weight: 600 !important;
}

/* =========================
   BAND
========================= */

/* .lp-band {
  background: #ffe6ae;
  padding: 18px 0;
}

.lp-band p {
  margin: 0;
  color: var(--lp-green-dark);
  text-align: center;
  font-size: 18px;
  font-weight: 900;
} */

/* =========================
   CASE
========================= */

.lp-case {
  background: var(--lp-bg-light-blue);
  border-radius: 40px;
  padding-top: 80px;
  padding-bottom: 95px;
  margin-top: 85px;
}

.lp-case__eyebrow {
  margin: 0 0 8px;
  text-align: center;
  font-size: 14px;
  font-weight: 900;
}

.lp-case__title {
  margin: 0 0 34px;
  text-align: center;
  font-size: 30px;
  font-weight: 900;
}

.lp-case__list {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 38px;
}

.lp-case-card {
  /* display: grid; */
  /* grid-template-columns: 1.1fr .9fr; */
  /* gap: 22px; */
  /* align-items: center; */
  background: #fff;
  color: var(--lp-text);
  border-radius: 40px;
}

.lp-case__figure {
  margin: 0;
  overflow: hidden;
  max-width: 348px;
  width: 100%;
  display: block;
}

.lp-case__figure img {
  width: 100%;
  object-fit: cover;
}

.lp-case-card__text-wrap {
  padding: 32px;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: stretch;
}

.lp-case-card__title {
  display: flex;
  align-items: center;
  gap: 16px;
}

.lp-case-card__title span.category {
  display: inline-block;
  padding: 10px 24px;
  color: var(--lp-white);
  border-radius: 99px;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

.lp-case-card__title span.category.other-padding {
  white-space: nowrap;
  padding: 10px 0 10px 24px;
}

.lp-case-card__title span.lp-service-card__other {
  display: inline-block;
  padding: 10px 24px;
  color: var(--lp-light-black);
  border-radius: 99px;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

.label-bg-blue {
  background: var(--lp-sky-blue);
}

.label-bg-green {
  background: var(--lp-green-dark);
}

.label-bg-pink {
  background: var(--lp-pink);
}

.label-color-blue {
  color: var(--lp-sky-blue);
}

.label-color-green {
  color: var(--lp-green-dark);
}

.label-color-pink {
  color: var(--lp-pink);
}

.lp-case-card__title span.facility {
  display: inline-block;
  color: var(--lp-light-black);
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

.lp-case-card__text h3 {
  margin-top: 24px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
}

.lp-case-card__text p {
  margin-top: 16px;
  margin-bottom: 0;
  color: var(--lp-black);
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

/* .lp-case-card__text a,
.lp-case-card__columns a {
  display: inline-flex;
  padding: 7px 18px;
  color: #b48100;
  border: 2px solid var(--lp-orange);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
} */

.lp-case-card--wide {
  display: block;
}

.lp-case-card__columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  margin-top: 16px;
}

.lp-case-card__columns h4 {
  margin: 0 0 8px;
  color: var(--lp-pink);
  font-size: 16px;
  font-weight: 900;
}

/* .lp-case-card__container {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: space-between;
} */

/* .lp-company-name {
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: var(--lp-light-black);
} */

/* .lp-case-card__columns p {
  margin: 0 0 12px;
  color: var(--lp-sub);
  font-size: 13px;
} */

/* =========================
   SEMINAR
========================= */

.lp-seminar {
  padding-top: 100px;
}

.lp-seminar__content .lp-section__title span {
  white-space: nowrap;
}

.lp-normal-btn.lp-add-width-mt {
  max-width: 476px;
  margin-top: 27px;
}

.lp-seminar__box {
  /* display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 26px;
  align-items: center;
  padding: 30px;
  background: #fff;
  border: 32px solid var(--lp-orange-hard);
  border-radius: 20px;
  box-shadow: var(--lp-shadow); */
  display: flex;
  justify-content: center;
  padding: 24px 0;
  background: var(--lp-bg-white);
  border: 32px solid var(--lp-orange-hard);
  border-radius: 20px;
}

.lp-seminar__illust {
  position: relative;
}

.first-image {
  max-width: 212px;
  width: 100%;
  bottom: -35px;
  left: 65px;
}

.second-image {
  max-width: 231px;
  width: 100%;
  bottom: -63px;
  right: 90px;
}

.lp-seminar__illust img {
  margin: 0 auto;
  object-fit: contain;
}

.lp-seminar__content p.text {
  color: var(--lp-sub);
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin-top: 16px;
  margin-bottom: 0;
}

/* =========================
   TOPICS
========================= */

.lp-topics {
  margin-top: 100px;
}

.topics-list {
  margin-top: 56px;
}

.topics-list-item {
  padding-top: 24px;
  padding-bottom: 24px;
  padding-left: 16px;
  padding-right: 100px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 56px;
  background-color: var(--lp-bg-white);
}

.topics-list-item:hover {
  opacity: 1;
  background-color: var(--lp-bg-white);
}

.topics-list-item:hover .list-date,
.topics-list-item:hover .list-title {
  opacity: 0.7;
}

.topics-list-item:first-child {
  border-radius: 10px 10px 0 0;
}

.topics-list-item:last-child {
  border-radius: 0 0 10px 10px;
}

.topics-list-item::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background-size: 11px 3px;
  background-image: repeating-radial-gradient(ellipse 3px 2px, #F7F4E9 0 100%, transparent 100% 200%);
}

.topics-list-item:last-child:before {
  content: none;
}

.topics-list-item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background-image: url("../img/lp-new/lp-normal-arrow-btn.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.list-date {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
  color: var(--lp-orange-hard);
  margin: 0;
}

.list-title {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.03em;
  color: var(--lp-light-black);
  max-width: 948px;
  width: 100%;
}

/* =========================
   MESSAGE
========================= */

.lp-message {
  padding-top: 100px;
}

.lp-message-inner {
  position: relative;
}

.lp-message-image {
  position: relative;
}

body.page-lp-new .lp-message-image figure {
  max-width: 673px;
  width: 100%;
  margin-left: auto;
}

.lp-message h2 {
  margin: 0 0 34px;
  text-align: center;
  font-size: 28px;
  font-weight: 900;
}

.lp-message-text {
  position: absolute;
  bottom: -112px;
  left: 0;
  border-radius: 40px;
  padding: 64px 24px;
  max-width: 577px;
  width: 100%;
  background-color: var(--lp-bg-thincream);
  box-sizing: content-box;
}

.lp-message-text p {
  font-size: 4rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.03em;
  color: var(--lp-black);
  margin: 0;
}

.lp-message-text-rerative {
  position: relative;
}

.lp-message-text-rerative::before {
  content: "";
  position: absolute;
  right: 0;
  top: -120px;
  transform: translateY(-50%);
  width: 267px;
  height: 181px;
  background-repeat: no-repeat;
  z-index: 2;
  background-image: url(../img/lp-new/message02.png);
  background-size: 100%;
  background-repeat: no-repeat;
}

/* .lp-message__body {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  align-items: center;
  gap: 36px;
}

.lp-message__text {
  position: relative;
  z-index: 1;
  padding: 34px;
  background: rgba(255, 255, 255, .84);
  border-radius: 28px;
  box-shadow: var(--lp-shadow);
}

.lp-message__text p:first-child {
  margin: 0 0 24px;
  font-size: 27px;
  line-height: 1.8;
  font-weight: 900;
}

.lp-message__text p:last-child {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
}

.lp-message__visual img {
  width: 100%;
  border-radius: 28px;
  box-shadow: var(--lp-shadow);
  object-fit: cover;
} */

/* =========================
   CONTACT
========================= */

.lp-contact {
  padding-top: 212px;
}

/* .lp-contact h2 {
  margin: 0 0 28px;
  text-align: center;
  font-size: 28px;
  font-weight: 900;
} */

.lp-contact-inner {
  position: relative;
  overflow: hidden;
  border-radius: 40px;
  margin-top: 56px;
}

.lp-contact-inner picture,
.lp-contact-inner img {
  display: block;
  width: 100%;
}

.lp-contact-inner img {
  height: auto;
}

.lp-contact-text-wrap {
  position: absolute;
  top: 50%;
  right: 87px;
  max-width: 533px;
  width: 100%;
  transform: translateY(-50%);
}

.lp-contact-text__lead {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: var(--lp-light-black);
  margin-top: 0;
  margin-bottom: 0;
}

.lp-contact__tel-wrap {
  display: flex;
  align-items: center;
  margin-top: 25px;
}

.lp-contact__tel-label {
  color: var(--lp-light-black);
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lp-contact__tel-label::before {
  content: "";
  display: inline-block;
  width: 34px;
  height: 34px;
  margin-right: 8px;
  background-color: var(--lp-light-black);
  mask-image: url("../img/lp-new/phone-flip-solid-full.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("../img/lp-new/phone-flip-solid-full.svg");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.lp-contact-text__tel-number {
  font-family: var(--lp-other-font);
  color: var(--lp-orange-hard);
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  pointer-events: none;
  cursor: default;
  margin-left: 23px;
}

.lp-contact-text__info {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin-top: 8px;
  margin-bottom: 0;
}

/* .lp-contact-text__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  color: #fff;
  background: var(--lp-green);
  border-radius: 999px;
  font-size: 16px;
  font-weight: 900;
} */

/* .lp-contact__box {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 28px;
  align-items: center;
  padding: 26px;
  background: #fff;
  border-radius: 28px;
  box-shadow: var(--lp-shadow);
}

.lp-contact__box figure {
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
}

.lp-contact__box img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
} */

.lp-contact__content p {
  margin: 0 0 18px;
  color: var(--lp-green-dark);
  font-size: 18px;
  font-weight: 900;
}

.lp-contact__tel {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px dashed var(--lp-border);
}

.lp-contact__tel span,
.lp-contact__tel small {
  display: block;
  color: var(--lp-sub);
  font-size: 12px;
}

.lp-contact__tel strong {
  display: block;
  margin: 4px 0;
  font-size: 28px;
  line-height: 1.2;
}

/* =========================
   BUTTON
========================= */

.lp-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 30px;
  color: #fff !important;
  background: var(--lp-green);
  border: 0;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 900;
  box-shadow: 0 6px 0 rgba(34, 131, 60, .18);
  transition: transform .15s ease, opacity .15s ease;
}

.lp-button:hover {
  transform: translateY(2px);
  opacity: .92;
}

.lp-button--orange {
  background: var(--lp-orange);
  box-shadow: 0 6px 0 rgba(181, 129, 0, .18);
}

/* =========================
   FAQ
========================= */
.lp-faq {
  padding-top: 100px;
  padding-bottom: 100px;
}

.lp-faq-title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: var(--lp-sky-blue);
  margin-top: 0;
  margin-bottom: 16px;
}

.lp-faq-ul-wrap {
  margin-top: 56px;
}

.lp-faq-ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* .lp-faq__item {
  border-top: 2px dashed #f0a51a;
  border-bottom: 2px dashed #f0a51a;
} */

.lp-faq__item {
  position: relative;
  border-top: none;
  border-bottom: none;
  padding: 4px 0;
}

.lp-faq__item::before,
.lp-faq__item::after {
  /* content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-size: 20px 3px;
  background-image: repeating-radial-gradient(ellipse 6px 2px, #F49403 0 100%, transparent 100% 200%); */
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-size: 11px 3px;
  background-image: repeating-radial-gradient(ellipse 3px 2px, #1493D3 0 100%, transparent 100% 200%);
}

.lp-faq__item::before {
  top: 0;
}

.lp-faq__item::after {
  bottom: 0;
}

.lp-faq__item:not(:first-child)::before {
  background-image: none;
}

.lp-faq__item::before {
  top: 0;
}

.lp-faq__item::after {
  bottom: 0;
}

.lp-faq__q {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 24px 16px;
  border: none;
  background-color: transparent;
  cursor: pointer;
  text-align: left;
  gap: 16px;
  border-radius: 10px 10px 0 0;
}

.lp-faq__q:hover {
  opacity: 0.7;
}

.lp-faq__a {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  background: #fff;
  border-radius: 0 0 10px 10px;
  transition: grid-template-rows 0.2s ease;
}

.lp-faq__a-inner {
  min-height: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0 16px;
  transition: padding 0.2s ease;
  gap: 16px;
}

.lp-faq__item.is-open .lp-faq__q {
  background: var(--lp-bg-white);
}

.lp-faq__item.is-open .lp-faq__q:hover {
  opacity: 1;
}

.lp-faq__item.is-open {
  padding: 16px 0;
}

.lp-faq__item.is-open .lp-faq__a {
  grid-template-rows: 1fr;
}

.lp-faq__item.is-open .lp-faq__a-inner {
  padding: 24px 16px;
}

.lp-faq__toggle {
  position: absolute;
  top: 50%;
  right: 24px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background-image: url("../img/lp-new/plus-solid-full.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  color: var(--lp-orange-hard);
  transition: transform 0.2s ease;
}

.lp-faq__item.is-open .lp-faq__toggle {
  background-image: url("../img/lp-new/minus-solid-full.svg");
}

.lp-faq__icon {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--lp-white);
  background-color: var(--lp-orange-hard);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lp-faq__icon span {
  display: block;
  transform: translateY(-2px);
}

.lp-faq__text-q {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.03em;
  color: var(--lp-light-black);
}

.lp-faq__text-a {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.03em;
  color: var(--lp-light-black);
}

.lp-faq__item.is-open .lp-faq__text-q {
  color: var(--lp-orange-hard);
}

.lp-faq__icon--answer {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;

  color: var(--lp-orange-hard);
  background-color: var(--lp-white);
  border: 2px solid var(--lp-orange-hard);
  border-radius: 50%;
  box-sizing: border-box;
}

.lp-faq__icon--answer span {
  display: block;
  transform: translateY(-2px);
}

/* =========================
   FOOTER
========================= */

.lp-footer-top {
  background-color: var(--lp-bg-light-blue);
}

.lp-footer-middle {
  background-color: var(--lp-sky-blue);
  padding-top: 32px;
  padding-bottom: 32px;
}

.lp-footer-bottom {
  background-color: var(--lp-bg-blue);
  padding-top: 16px;
  padding-bottom: 16px;
}

.lp-contact-btn-wrap {
  padding-top: 32px;
  padding-bottom: 32px;
}

.lp-contact-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 24.5px;
  margin: 0 auto;
  color: #1596d4;
  background: #fff;
  border-radius: 10px;
  text-decoration: none;
  border: 2px solid var(--lp-light-blue);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  box-shadow: 0 4px 0 0 rgba(255, 255, 255, 0.6);
  box-sizing: border-box;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.lp-contact-btn::after {
  content: "";
  display: inline-block;
  width: 37px;
  height: 37px;
  color: var(--lp-bg-white);
  background-color: var(--lp-sky-blue);
  mask-image: url("../img/lp-new/envelope-regular-full.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("../img/lp-new/envelope-regular-full.svg");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.lp-contact-btn:hover::after {
  color: var(--lp-sky-blue);
  background-color: var(--lp-bg-white);
}

.lp-contact-btn:hover {
  color: #fff;
  background: #1396d4;
  box-shadow: 0 4px 0 rgba(255, 255, 255, 0.45);
}

.lp-footer-wrap {
  display: flex;
}

.lp-footer-logo {
  max-width: 130px;
  width: 100%;
  padding: 18.5px 8px;
  background-color: var(--lp-bg-white);
}

/* .lp-footer__tel {
  margin-left: 24px;
} */

.lp-footer__tel-label {
  color: var(--lp-white);
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
}

.lp-footer__tel-label::before {
  content: "";
  display: inline-block;
  width: 34px;
  height: 34px;
  margin-right: 8px;
  background-color: var(--lp-white);
  mask-image: url(../img/lp-new/phone-flip-solid-full-white.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url(../img/lp-new/phone-flip-solid-full-white.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.lp-footer__tel-number {
  font-family: var(--lp-other-font);
  color: var(--lp-white);
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  pointer-events: none;
  cursor: default;
  margin-top: 11px;
}

.lp-footer__info {
  color: var(--lp-white);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin-top: 0;
  margin-bottom: 0;
}

.lp-footer__middlelinks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-left: auto;
}

.lp-footer__middlelink {
  padding: 20px;
  border: 1px solid var(--lp-bg-white);
  border-radius: 10px;
}

.lp-middlelink-title {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: var(--lp-white);
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.lp-middlelink-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 191.5px;
  width: 100%;
  padding: 16px;
  margin: 0 auto;
  color: #1596d4;
  background: #fff;
  border-radius: 10px;
  text-decoration: none;
  border: 1px solid var(--lp-sky-blue);
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  box-sizing: border-box;
  transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.lp-middlelink-btn::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  color: var(--lp-bg-white);
  background-color: var(--lp-sky-blue);
  border: 1px solid var(--lp-sky-blue);
  mask-image: url(../img/lp-new/arrow-right-to-bracket-solid-full.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url(../img/lp-new/arrow-right-to-bracket-solid-full.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.lp-middlelink-btn:hover::after {
  color: var(--lp-sky-blue);
  background-color: var(--lp-bg-white);
  border: 1px solid var(--lp-bg-white);
}

.lp-middlelink-btn:hover {
  color: var(--lp-white);
  background:var(--lp-sky-blue);
  border: 1px solid var(--lp-bg-white);
}

.lp-footer__bottomlinks {
  display: flex;
  align-items: center;
  gap: 17px;
}

.links-wrap {
  display: flex;
  gap: 17px;
}

.lp-youtube::after {
  content: '';
  display: inline-block;
  width: 40px;
  height: 40px;
  color: var(--lp-bg-white);
  background-color: var(--lp-sky-blue);
  border: 1px solid var(--lp-sky-blue);
  mask-image: url(../img/lp-new/icon-youtube.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url(../img/lp-new/icon-youtube.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.lp-instagram::after {
  content: '';
  display: inline-block;
  width: 40px;
  height: 40px;
  color: var(--lp-bg-white);
  background-color: var(--lp-sky-blue);
  border: 1px solid var(--lp-sky-blue);
  mask-image: url(../img/lp-new/icon-instagram.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url(../img/lp-new/icon-instagram.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.sns-links {
  display: flex;
  gap: 8px;
}

.sns-links-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 59px;
  height: 59px;
  background-color: var(--lp-bg-white);
  border-radius: 50%;
}

.sns-links-icon:hover::after {
  color: var(--lp-sky-blue);
  background-color: var(--lp-bg-white);
  border: 1px solid var(--lp-bg-white);
}

.sns-links-icon:hover {
  color: var(--lp-white);
  background:var(--lp-sky-blue);
  border: 1px solid var(--lp-bg-white);
}

.menu-links {
  display: flex;
}

.menu-link {
  color: var(--lp-white);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
}

.menu-link::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 16px;
  margin-left: 16px;
  background-color: #fff;
}

.menu-link:hover {
  opacity: 0.7;
}

.menu-link:last-child::after {
  content: none;
}

.menu-link:not(:first-child) {
  padding-left: 16px;
}

.lp-footer__copy {
  margin-left: auto;
  margin-top: 0;
  margin-bottom: 0;
}

.lp-footer__copy small {
  color: var(--lp-white);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  margin: 0;
}

/* =========================
   FIXED CTA
========================= */

.lp-fixed-cta-wrap {
  display: none;
}

.lp-fixed-cta {
  display: none;
}

.lp-header.is-scrolled .lp-logo {
  max-width: 92px;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 980px) {
  :root {
    --lp-header-h: 60px;
  }

  html,
  body {
    overflow-x: hidden;
  }

  .lp-logo {
    max-width: 66px;
    width: 100%;
  }

  .lp-header.is-scrolled .lp-logo {
    max-width: 66px;
  }

  .lp-container {
    padding: 0 20px;
  }

  .lp-container.lp-other-inner {
    padding: 0 0;
  }

  .lp-inner {
    padding: 0 16px;
  }

  .lp-inner.mb-minus {
    margin-bottom: -140px;
  }

  .lp-inner.lp-other-inner {
    padding: 0 0;
  }

  .lp-section__title {
    font-size: 23px;
    margin-bottom: 28px;
  }

  .lp-normal-btn.other-mt {
    margin-top: 27px;
    text-align: left;
    line-height: 1.4;
    padding: 14px 40px 14px 16px;
    position: relative;
  }

  .lp-normal-btn.other-mt::after {
    position: absolute;
    right: 16px;
  }

  /* .lp-header__inner {
    height: 60px;
    padding: 0 18px;
  } */

  /* .lp-logo__mark {
    font-size: 20px;
  }

  .lp-logo__sub {
    font-size: 10px;
  } */

    /* 1個目の通常ヘッダーは非表示 */
  /* .lp-header-main {
    display: none;
  } */

  /* 2個目の追従ヘッダーを常に表示・追従 */
  /* .lp-header-fixed {
    transform: translateY(0);
  } */

  .lp-br-sp {
    display: block;
  }

  .lp-br-pc {
    display: none;
  }

  /* スマホではナビとCTAは非表示 */
  .lp-header-fixed .lp-gnav,
  .lp-header-fixed .lp-header__cta {
    display: none;
  }

  /* ハンバーガー表示 */
  .lp-header-fixed .lp-hamburger {
    display: block;
    margin-left: auto;
  }

  .lp-hero {
    padding: 88px 0 58px;
  }

  .lp-hero__visual::after {
    left: 40px;
    bottom: -20px;
    height: 20px;
    border-radius: 0 0 0 10px;
  }

  .lp-hero__text {
    padding: 0;
    left: 16px;
    top: 25px;
  }

  .lp-hero__sub {
    margin-bottom: 0;
    margin-top: 0;
  }

  .lp-hero__sub span {
    font-size: 3.2rem;
    z-index: 2;
    position: relative;
  }

  .text-dot {
    letter-spacing: -0.1em !important;
  }

  .text-dot::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -4px;
    width: 4px;
    height: 4px;
    background: var(--lp-light-blue);
    border-radius: 50%;
    transform: translate(-50%, 0);
  }

  .lp-hero__title .text-box {
    position: relative;
    z-index: 4;
    display: inline-block;
    padding-top: 8px;
    padding-right: 10px;
    padding-bottom: 8px;
    background-color: var(--lp-bg-white);
    /* background-size: 11px 3px; */
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.03em;
    white-space: nowrap;
    border-bottom: none;
    border-radius: 0 10px 10px 0;
    padding-left: 3px;
    left: 30px;
    bottom: -20px;
  }

  .lp-hero__title {
    font-size: 2rem;
    line-height: 1.9;
  }

  .lp-service__grid,
  .lp-case-card__columns {
    grid-template-columns: 1fr;
  }

  .lp-service__grid {
    margin-top: 32px;
  }

  .lp-trouble {
    margin-top: 40px;
  }

  .lp-trouble__grid {
    grid-template-columns: repeat(2, 1fr);
    border-radius: 20px;
    gap: 16px 15px;
    margin-top: 29px;
    padding: 18px 8px 24px;
  }

  .lp-trouble-card h3 {
    font-size: 1.8rem;
  }

  .lp-trouble-card p {
    text-align: left;
    font-size: 1.6rem;
  }

  .lp-trouble__message h3 {
    font-size: 20px;
  }

  .lp-trouble__message p {
    font-size: 2rem;
    text-align: left;
    position: relative;
    z-index: 3;
  }

  /* .lp-continue__photos {
    grid-template-columns: 1fr;
    max-width: 260px;
    margin: 0 auto;
  } */

  .lp-seminar__content p.text {
    margin-bottom: 0;
    margin-top: 8px;
  }

  .lp-continue-box {
    padding: 16px;
  }

  .lp-continue-box p {
    font-size: 2.2rem;
    line-height: 1.4;
  }

  body.page-lp-new ul.lp-continue-ul {
    margin-top: 8px;
  }

  .lp-continue-box li {
    font-size: 1.6rem;
  }

  .lp-service-card__body h3 {
    font-size: 2rem;
  }

  .lp-service-card__body p {
    font-size: 1.6rem;
  }

  .lp-service-card__body .lp-service-card__inner + .lp-service-card__inner {
    margin-top: 24px;
  }

  .lp-science__logos {
    grid-template-columns: 1fr;
  }

  .lp-seminar__box {
    grid-template-columns: 1fr;
    text-align: center;
    border: 16px solid var(--lp-orange-hard);
    padding: 24px 16px;
  }

  .lp-science {
    margin-top: 80px;
  }

  .lp-message {
    padding-top: 80px;
  }

  .lp-message__text {
    padding: 24px;
  }

  .lp-message__text p:first-child {
    font-size: 22px;
  }

  .topics-list-item {
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 16px;
    padding-right: 56px;
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 8px;
    flex-direction: column;
  }

  .lp-service-card {
    padding: 16px;
  }

  .lp-service-card:nth-child(1) {
    border-radius: 20px 20px 0 0;
  }

  .lp-service-card:nth-child(2) {
    border-radius: 0 0 0 0;
  }

  .lp-service-card__body .lp-service-card__category {
    padding: 4px 16px;
    font-size: 1.4rem;
  }

  .lp-service-card__body .lp-service-card__other {
    padding: 4px 16px;
    font-size: 1.4rem;
  }

  .lp-service-card__body .lp-service-card__other.lp-add-mt {
    margin-top: 8px;
  }

  .lp-service-card:nth-last-child(1) {
    border-radius: 0 0 20px 20px;
  }

  .lp-service-card:nth-last-child(2) {
    border-radius: 0 0 0 0;
  }

  .lp-continue-box h3 {
    font-size: 1.8rem;
    line-height: 1.4;
  }

  .lp-continue-box span {
    font-size: 1.6rem;
    padding: 6px 8px;
    margin-left: 8px;
    min-width: 115px;
    flex: 1;
    text-align: center;
  }

  .lp-continue-box span.min-width-none {
    min-width: initial;
  }

  .lp-continue__photos-container:nth-child(2) {
    margin-top: 8px;
  }

  .lp-continue__photos-container:nth-child(2) .lp-continue-box {
    padding: 16px;
    top: -30px;
    position: relative;
  }

  .lp-continue__photos-container:nth-child(3) .lp-continue-box {
    padding: 16px;
    top: -59px;
    position: relative;
  }

  .lp-continue-box-title {
    display: flex;
    align-items: center;
    padding-top: 8.5px;
    padding-left: 16px;
    padding-right: 10px;
    padding-bottom: 8.5px;
  }

  .lp-case {
    border-radius: 20px;
    padding-top: 20px;
    padding-bottom: 40px;
    margin-top: 80px;
  }

  .lp-contact {
    padding-top: 190px;
  }

  .lp-contact__tel strong {
    font-size: 23px;
  }

  .lp-faq__q {
    padding: 16px 32px 16px 8px;
  }

  .lp-faq__item.is-open .lp-faq__a {
    padding: 16px 8px;
  }

  .lp-faq__item.is-open .lp-faq__a-inner {
    padding: 0;
  }

  .lp-faq__a-inner {
    padding: 0;
  }

  .lp-footer {
    padding-bottom: 100px;
  }

  .lp-fixed-cta-wrap {
    display: block;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 2;
    background-color: rgba(30, 168, 33, 0.8);
    padding: 6px;
    width: 100%;

    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }

  .lp-fixed-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    max-width: 295px;
    width: 100%;
    padding: 15px;
    margin: 0 auto;
    color: var(--lp-green-dark);
    background: var(--lp-bg-white);
            border: 2px solid var(--lp-green-dark);
            box-shadow: 0 4px 0 0 #1EA821;
    border-radius: 10px;
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    box-sizing: border-box;
    transition: transform 0.2s ease;
    
  }

  .lp-fixed-cta::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    color: var(--lp-bg-white);
    background-color: var(--lp-green-dark);
    mask-image: url(../img/lp-new/arrow-right-solid-full-green.svg);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url(../img/lp-new/arrow-right-solid-full-green.svg);
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }

  .lp-fixed-cta-wrap.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .lp-contact-text__tel {
    pointer-events: auto;
    cursor: pointer;
  }
  .lp-gnav,
  .lp-header__cta {
    display: none;
  }

  .lp-hamburger {
    display: block;
    margin-left: auto;
  }

  .lp-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transform: translateY(0);
    animation: none;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .lp-header.is-scrolled,
  .lp-header.is-hiding {
    position: fixed;
    transform: translateY(0);
    animation: none;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .lp-header.is-scrolled {
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
  }

  .lp-header .lp-gnav,
  .lp-header .lp-header__cta {
    display: none;
  }

  .lp-hamburger {
    display: block;
    margin-left: auto;
  }

  .lp-hero__inner,
  .lp-continue__inner,
  .lp-science__box,
  .lp-message__body,
  .lp-contact__box {
    grid-template-columns: 1fr;
  }

  .lp-hero__inner {
    min-height: 156px;
    margin-top: -10px;
  }

  .lp-hero__visual img {
    border-radius: 10px 0 0 10px;
  }

  /* .lp-continue__photos {
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
  } */

  .lp-continue__photo,
  .lp-continue__photo--blue,
  .lp-continue__photo--green,
  .lp-continue__photo--pink {
    width: 100%;
    margin: 0;
  }

  .lp-case-card {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }

  .lp-case__figure {
    margin: 0;
    overflow: hidden;
    max-width: none;
    width: 100%;
  }

  .lp-normal-btn {
    font-size: 1.5rem;
  }

  .lp-case__list {
    grid-template-columns: 1fr;
    margin-top: 32px;
    gap: 32px;
  }

  .lp-case-card__text-wrap {
    padding: 16px 16px 24px 16px;
  }

  .lp-case-card__title span.category {
    padding: 8px 16px;
    font-size: 1.8rem;
  }

  .lp-case-card__title span.facility {
    font-size: 1.9rem;
    line-height: 1.4;
  }

  .lp-case-card__text p {
    font-size: 1.7rem;
    line-height: 1.6;
    margin-top: 8px;
  }

  .lp-case-card__title span.category.other-padding {
    white-space: nowrap;
    padding: 8px 16px;
    flex: 1;
    text-align: center;
  }

  .lp-case-card__text h3 {
    font-size: 1.8rem;
    line-height: 1.4;
    margin-bottom: 0;
  }

  .lp-case-card__text h3 + p + h3 {
    margin-top: 32px;
  }

  .lp-topics {
    margin-top: 80px;
  }

  .list-title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .lp-seminar {
    padding-top: 80px;
  }

  .lp-seminar__content .lp-section__title span {
    width: 100%;
  }

  .lp-section__eyebrow.lp-add-mt {
    margin-top: 16px;
  }

  .lp-continue::before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50px;
    left: 0;
    width: 53px;
    height: 66px;
    background-image: url(../img/lp-new/lp-circle_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
  }

  .lp-continue__inner {
    margin-top: -80px;
    display: flex;
    flex-direction: column;
  }

  .lp-continue-bg-before {
    background-image: url(../img/lp-new/lp-continue-upper_sp.png);
    padding-top: 32.4%;
    order: 1;
  }

  .lp-continue-bg-after {
    background-image: url(../img/lp-new/lp-continue-bottom_sp.png);
    padding-top: 35%;
    order: 4;
  }

  .lp-continue__content {
    width: 100%;
    top: 0;
    right: 0;
    max-width: none;
    margin-left: auto;
    text-align: left;
    z-index: 2;
    position: relative;
    order: 2;
    background-color: var(--lp-light-blue);
    padding: 0 16px;
  }

  .lp-section__eyebrow {
    font-size: 1.9rem;
    line-height: 1.4;
    margin-bottom: 16px;
  }

  .first-image {
    display: none;
  }

  .second-image {
    display: none;
  }

  .lp-section__title span {
    font-size: 2.4rem;
    margin-bottom: 0;
  }

  .lp-section__title span.bg-image-none {
    background-image: none;
    padding-bottom: 0;
  }

  .lp-section__title span:not(:first-child) {
    margin-top: 0;
  }

  .lp-section__title span .font-large {
    font-size: 3.4rem;
    line-height: 1.4;
  }

  .lp-bg-change {
    background-image: repeating-radial-gradient(ellipse 3px 2px, #EBA420 0 100%, transparent 100% 200%);
  }

  body.page-lp-new figure {
    margin: 0;
    width: 100%;
  }

  .lp-continue-bg {
    height: auto;
    order: 3;
  }

  .lp-continue__photos-container {
    display: block;
    top: 0;
    width: 100%;
    margin-top: 38px;
  }

  .lp-continue__photos-container:nth-child(2) {
    margin-top: 8px;
  }

  .lp-continue__photos-container:nth-child(3) {
    margin-top: 0;
  }

  .no01-mr {
    margin-right: 0;
  }

  .no03-mr {
    margin-right: 0;
  }

  body.page-lp-new figure.lp-continue__photo--blue {
    max-width: none;
    width: 100%;
    position: relative;
    left: -45px;
    bottom: 0;
  }

  body.page-lp-new figure.lp-continue__photo--green {
    max-width: 430px;
    width: 100%;
    position: relative;
    top: 0;
    left: inherit;
    right: -41px;
  }

  body.page-lp-new figure.lp-continue__photo--pink {
    max-width: 472px;
    width: 100%;
    position: relative;
    left: -45px;
    top: -20px;
  }

  .lp-faq {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .lp-faq__icon {
    font-size: 2rem;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
  }

  .lp-faq__icon span {
    transform: translateY(-1px);
  }

  .lp-faq-ul-wrap {
    margin-top: 24px;
  }

  .position-center + .lp-faq-ul-wrap {
    margin-top: 42px;
  }

  .lp-message-text p {
    font-size: 2rem;
  }

  .lp-message-text-rerative::before {
    width: 116px;
    height: 75px;
    left: 30px;
    top: -104px;
  }

  body.page-lp-new .lp-message-image figure {
    max-width: 260px;
  }

  .lp-message-text {
    position: absolute;
    bottom: -112px;
    left: 0;
    border-radius: 0 20px 0 0;
    padding: 16px 16px 16px 8px;
    max-width: 335px;
    box-sizing: border-box;
  }

  .lp-contact-text-wrap {
    right: 0;
    max-width: none;
  }

  .lp-contact-inner {
    border-radius: 15px;
    margin-top: 0;
  }

  .lp-contact__tel-wrap {
    display: block;
    margin-top: 16px;
    margin-left: initial;
    text-align: center;
  }

  .lp-contact-text__tel-number {
    font-size: 3.6rem;
    margin-left: initial;
    margin-top: 11px;
    display: flex;
    justify-content: center;
  }

  .lp-contact-text__info {
    font-size: 1.4rem;
    text-align: center;
  }

  .lp-contact-text__lead {
    font-size: 1.9rem;
    text-align: center;
  }

  .lp-faq-title {
    font-size: 2rem;
  }

  .lp-faq__text-q {
    font-size: 1.8rem;
  }

  .lp-faq__text-a {
    font-size: 1.6rem;
  }

  .lp-faq__toggle {
    right: 8px;
    width: 16px;
    height: 16px;
  }

  .lp-footer__middlelinks {
    margin-left: initial;
    margin-top: 24px;
  }

  .lp-footer__tel-number {
    display: flex;
    justify-content: center;
  }

  /* .lp-footer__tel {
    margin-left: initial;
    margin-top: 24px;
  } */

  .lp-contact-btn {
    padding: 15.5px;
    font-size: 1.8rem;
  }

  .lp-drawer-btn-wrap {
    padding: 16px;
    background-color: var(--lp-light-blue);
  }

  .lp-drawer-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 15px;
    margin: 0 auto;
    color: #1596d4;
    background: #fff;
    border-radius: 10px;
    text-decoration: none;
    border: 2px solid var(--lp-light-blue);
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    box-shadow: 0 4px 0 0 rgba(255, 255, 255, 0.6);
    box-sizing: border-box;
    transition:
      color 0.2s ease,
      background-color 0.2s ease,
      box-shadow 0.2s ease,
      transform 0.2s ease;
  }

  .lp-drawer-btn::after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    color: var(--lp-bg-white);
    background-color: var(--lp-sky-blue);
    mask-image: url("../img/lp-new/envelope-regular-full.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("../img/lp-new/envelope-regular-full.svg");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }

  .lp-drawer-btn:hover::after {
    color: var(--lp-sky-blue);
    background-color: var(--lp-bg-white);
  }

  .lp-drawer-btn:hover {
    color: #fff;
    background: #1396d4;
    box-shadow: 0 4px 0 rgba(255, 255, 255, 0.45);
  }

  .lp-drawer__middlelinks {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 0;
    background: var(--lp-sky-blue);
    padding: 16px;
  }

  .lp-drawer__middlelink {
    padding: 16px 8px;
    border: 1px solid var(--lp-bg-white);
    border-radius: 10px;
  }

  .lp-drawerlink-title {
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    color: var(--lp-white);
    display: flex;
    justify-content: center;
    margin-bottom: 16px;
  }

  .lp-drawerlink-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    /* padding: 16px 17.5px; */
    padding: 16px 14px;
    margin: 0 auto;
    color: #1596d4;
    background: #fff;
    border-radius: 10px;
    text-decoration: none;
    border: 1px solid var(--lp-sky-blue);
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    box-sizing: border-box;
    transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  }

  .lp-drawerlink-btn::after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    color: var(--lp-bg-white);
    background-color: var(--lp-sky-blue);
    border: 1px solid var(--lp-sky-blue);
    mask-image: url(../img/lp-new/arrow-right-to-bracket-solid-full.svg);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url(../img/lp-new/arrow-right-to-bracket-solid-full.svg);
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }

  .lp-drawerlink-btn:hover::after {
    color: var(--lp-sky-blue);
    background-color: var(--lp-bg-white);
    border: 1px solid var(--lp-bg-white);
  }

  .lp-drawerlink-btn:hover {
    color: var(--lp-white);
    background:var(--lp-sky-blue);
    border: 1px solid var(--lp-bg-white);
  }

  .lp-drawer-links {
  display: flex;
  gap: 16px;
  padding: 16px;
  justify-content: center;
  background: var(--lp-sky-blue);
}

.lp-drawer-links-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 59px;
  height: 59px;
  background-color: var(--lp-bg-white);
  border: 1px solid var(--lp-bg-white);
  border-radius: 50%;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.lp-drawer-links-icon::after {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: var(--lp-sky-blue);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  transition: background-color 0.2s ease;
}

.lp-drawer-youtube::after {
  mask-image: url(../img/lp-new/icon-youtube.svg);
  -webkit-mask-image: url(../img/lp-new/icon-youtube.svg);
}

.lp-drawer-instagram::after {
  mask-image: url(../img/lp-new/icon-instagram.svg);
  -webkit-mask-image: url(../img/lp-new/icon-instagram.svg);
}

/* hover時に反転 */
.lp-drawer-links-icon:hover {
  background-color: var(--lp-sky-blue);
  border-color: var(--lp-bg-white);
}

.lp-drawer-links-icon:hover::after {
  background-color: var(--lp-bg-white);
}

  .lp-footer__bottomlinks {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 17px;
  }

  .links-wrap {
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }

  .lp-footer-group-wrap {
    display: flex;
    justify-content: center;
  }

  .lp-footer-logo {
    max-width: 120px;
    padding: 8px;
  }

  .sns-links-icon {
    width: 42px;
    height: 42px;
  }
  
  .menu-link {
    font-size: 1.3rem;
  }

  .lp-middlelink-btn {
    min-width: auto;
  }

  .lp-footer__tel-label {
    justify-content: center;
  }

  .lp-footer__info {
    text-align: center;
  }

  .sns-links {
    order: 1;
    display: flex;
    align-items: center;
  }

  .menu-links {
    order: 2;
    display: flex;
    align-items: center;
  }

  .sns-links,
  .menu-links {
    display: flex;
    align-items: center;
  }

  .lp-footer__copy {
    order: 3;
    width: 100%;
    margin-left: 0;
    margin-top: 8px;
    text-align: center;
  }

  .lp-footer-wrap {
    display: block;
  }
}