body {
  overflow-x: hidden;
}

/* --------------------------------
  lp-kv
-------------------------------- */
.lp-kv {
  display: flex;
  overflow-x: hidden;
  justify-content: center;
  width: 100%;
}

.lp-kv_inner {
  position: relative;
  width: 100%;
}
@media (min-width: 1440px) {
  .lp-kv_inner {
    min-width: 1440px;
    max-width: 1440px;
  }
}

.lp-kv_image {
  display: block;
}
.lp-kv_image img {
  width: 100%;
}

/* KV内の文字：フォントサイズは固定px。位置だけ画像の伸縮に合わせる */
.lp-kv_contents {
  position: absolute;
}
@media (max-width: 767.98px) {
  .lp-kv_contents {
    top: 19.72%;
    left: 6.93%;
  }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .lp-kv_contents {
    top: calc(50% - 80 * var(--base-font, 1) / 10);
    left: 16.72%;
  }
}
@media (min-width: 1024px) {
  .lp-kv_contents {
    top: calc(50% - 117 * var(--base-font, 1) / 10);
    left: calc(50% - 426 * var(--base-font, 1) / 10);
  }
}

.lp-kv_heading {
  color: #1f3b9e;
  font-weight: 700;
  text-shadow: 0 0 calc(6 * var(--base-font, 1) / 10) #fff, 0 0 calc(6 * var(--base-font, 1) / 10) #fff;

  font-feature-settings: "palt";
}
@media (max-width: 767.98px) {
  .lp-kv_heading {
    font-size: calc(29 * var(--base-font, 1) / 10);
    line-height: 1.42;
  }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .lp-kv_heading {
    font-size: calc(36 * var(--base-font, 1) / 10);
    line-height: 1.37;
  }
}
@media (min-width: 1024px) {
  .lp-kv_heading {
    font-size: calc(54 * var(--base-font, 1) / 10);
    line-height: 1.37;
  }
}

.lp-kv_name {
  color: #333;
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .lp-kv_name {
    margin-top: calc(31.5 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .lp-kv_name {
    margin-top: calc(18 * var(--base-font, 1) / 10);
    margin-left: calc(3 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 1024px) {
  .lp-kv_name {
    margin-top: calc(26 * var(--base-font, 1) / 10);
    margin-left: calc(5 * var(--base-font, 1) / 10);
  }
}

.lp-kv_name-title,
.lp-kv_name-text {
  display: block;
}
.lp-kv_name-title {
  letter-spacing: 0.04em;
}
@media (max-width: 767.98px) {
  .lp-kv_name-title {
    font-size: calc(13 * var(--base-font, 1) / 10);
    line-height: 1.38;
  }
  .lp-kv_name-text {
    font-size: calc(23 * var(--base-font, 1) / 10);
    line-height: 1.5;
  }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .lp-kv_name-title {
    font-size: calc(13 * var(--base-font, 1) / 10);
    line-height: 1.5;
  }
  .lp-kv_name-text {
    font-size: calc(23 * var(--base-font, 1) / 10);
    line-height: 1.5;
  }
}
@media (min-width: 1024px) {
  .lp-kv_name-title {
    font-size: calc(18 * var(--base-font, 1) / 10);
    line-height: 1.5;
  }
  .lp-kv_name-text {
    font-size: calc(33 * var(--base-font, 1) / 10);
    line-height: 1.5;
  }
}


/* --------------------------------
  l-contents
-------------------------------- */
@media (min-width: 768px) {
  .l-contents--wide {
    max-width: calc(1180 * var(--base-font, 1) / 10);
  }
}


/* --------------------------------
  lp-intro
-------------------------------- */
.lp-intro {
  letter-spacing: 0.04em;

  font-feature-settings: "palt";
}
@media (max-width: 767.98px) {
  .lp-intro {
    padding-top: calc(64 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-intro {
    padding-top: calc(120 * var(--base-font, 1) / 10);
  }
}

.lp-intro_lead p {
  text-align: center;
  color: #1f3b9e;
  font-weight: 500;
  line-height: 2.25;
}
@media (max-width: 767.98px) {
  .lp-intro_lead p {
    font-size: calc(16 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-intro_lead p {
    font-size: calc(24 * var(--base-font, 1) / 10);
  }
}

.lp-intro_text p {
  color: #333;
  line-height: 2;
}
@media (max-width: 767.98px) {
  .lp-intro_text p {
    font-size: calc(14 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-intro_text p {
    font-size: calc(15 * var(--base-font, 1) / 10);
  }
  .lp-intro_text p + p {
    margin-top: calc(30 * var(--base-font, 1) / 10);
  }
}
.lp-intro_text strong {
  color: #1f3b9e;
  font-weight: 700;
}

.lp-intro_marker {
  background: linear-gradient(transparent 62%, #fff592 62%);
}

@media (max-width: 767.98px) {
  .lp-intro_message {
    margin-top: calc(64 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-intro_message {
    display: grid;
    align-items: center;
    grid-template-columns: minmax(0, 550fr) minmax(0, 458fr);
    margin-top: calc(120 * var(--base-font, 1) / 10);

    column-gap: calc(72 * var(--base-font, 1) / 10);
  }
}

.lp-intro_message-image img {
  width: 100%;
}
@media (max-width: 767.98px) {
  .lp-intro_message-image {
    margin-right: calc(-24 * var(--base-font, 1) / 10);
  }
}

@media (max-width: 767.98px) {
  .lp-intro_message-text {
    margin-top: calc(16 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-intro_message-text p {
    font-size: calc(16 * var(--base-font, 1) / 10);
  }
  .lp-intro_message-text p + p {
    margin-top: calc(32 * var(--base-font, 1) / 10);
  }
}

@media (max-width: 767.98px) {
  .lp-intro_qa {
    margin-top: calc(48 * var(--base-font, 1) / 10);
  }
  .lp-intro_qa--01 {
    margin-top: calc(64 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-intro_qa {
    display: grid;
    grid-template-rows: auto auto auto 1fr;
    margin-top: calc(160 * var(--base-font, 1) / 10);
  }
  .lp-intro_qa--01 {
    grid-template-columns: minmax(0, 525fr) minmax(0, 470fr);

    column-gap: calc(85 * var(--base-font, 1) / 10);
  }
  .lp-intro_qa--02 {
    grid-template-columns: minmax(0, 470fr) minmax(0, 545fr);

    column-gap: calc(65 * var(--base-font, 1) / 10);
  }
  .lp-intro_qa--03 {
    grid-template-columns: minmax(0, 525fr) minmax(0, 476fr);

    column-gap: calc(79 * var(--base-font, 1) / 10);
  }
}

.lp-intro_qa-heading {
  border-left-style: solid;
  border-left-color: #0379d6;
  color: #000;
  font-weight: 700;
}
/* 見出しは文節（span）の区切りでだけ折り返す */
.lp-intro_qa-heading span {
  display: inline-block;
}
@media (max-width: 767.98px) {
  .lp-intro_qa-heading {
    padding-left: calc(10 * var(--base-font, 1) / 10);
    border-left-width: calc(4 * var(--base-font, 1) / 10);
    font-size: calc(18 * var(--base-font, 1) / 10);
    line-height: 1.4;
  }
}
@media (min-width: 768px) {
  .lp-intro_qa-heading {
    grid-column: 1;
    padding-left: calc(14 * var(--base-font, 1) / 10);
    border-left-width: calc(6 * var(--base-font, 1) / 10);
    font-size: calc(24 * var(--base-font, 1) / 10);
    line-height: 1.45;
  }
  .lp-intro_qa--01 .lp-intro_qa-heading,
  .lp-intro_qa--02 .lp-intro_qa-heading {
    margin-top: calc(5 * var(--base-font, 1) / 10);
  }
  .lp-intro_qa--02 .lp-intro_qa-heading {
    grid-column: 2;
  }
}

@media (max-width: 767.98px) {
  .lp-intro_qa-text {
    margin-top: calc(16 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-intro_qa-text {
    grid-column: 1;
    margin-top: calc(32 * var(--base-font, 1) / 10);
  }
  .lp-intro_qa-text--sub {
    margin-top: calc(30 * var(--base-font, 1) / 10);
  }
  .lp-intro_qa--02 .lp-intro_qa-text {
    grid-column: 2;
  }
}

.lp-intro_qa-image img {
  width: 100%;
}
@media (max-width: 767.98px) {
  .lp-intro_qa-image {
    margin-top: calc(16 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-intro_qa-image {
    grid-column: 2;
    grid-row: 1 / -1;
  }
  .lp-intro_qa--02 .lp-intro_qa-image {
    grid-column: 1;
  }
  .lp-intro_qa--03 .lp-intro_qa-image {
    margin-top: calc(10 * var(--base-font, 1) / 10);
  }
  .lp-intro_qa-image--sub {
    position: relative;
    z-index: 1;
    align-self: start;
    justify-self: start;
    width: 52.34%;
    margin-top: 42.13%;
    margin-left: -12.13%;
  }
}


/* --------------------------------
  lp-parent
-------------------------------- */
@media (max-width: 767.98px) {
  .lp-parent {
    padding-top: calc(80 * var(--base-font, 1) / 10);
    padding-bottom: calc(44 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-parent {
    padding-top: calc(167 * var(--base-font, 1) / 10);
    padding-bottom: calc(114 * var(--base-font, 1) / 10);
  }
}

.lp-parent_heading {
  text-align: center;
  letter-spacing: 0.04em;
  color: #1f3b9e;
  font-weight: 700;
  line-height: 1.5;

  font-feature-settings: "palt";
}
@media (max-width: 767.98px) {
  .lp-parent_heading {
    font-size: calc(24 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-parent_heading {
    font-size: calc(32 * var(--base-font, 1) / 10);
  }
}

@media (max-width: 767.98px) {
  .lp-parent_voice--01 {
    margin-top: calc(22 * var(--base-font, 1) / 10);
  }
  .lp-parent_voice--02 {
    margin-top: calc(48 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-parent_voice--01 {
    margin-top: calc(44 * var(--base-font, 1) / 10);
  }
  .lp-parent_voice--02 {
    margin-top: calc(66 * var(--base-font, 1) / 10);
  }
}

.lp-parent_voice-heading {
  text-align: center;
  color: #1f3b9e;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 767.98px) {
  .lp-parent_voice-heading {
    margin-bottom: calc(7 * var(--base-font, 1) / 10);
    font-size: calc(18 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-parent_voice-heading {
    margin-bottom: calc(6 * var(--base-font, 1) / 10);
    font-size: calc(22 * var(--base-font, 1) / 10);
  }
}

.lp-parent_voice-body {
  position: relative;
  z-index: 0;
}
.lp-parent_voice-body::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  background-color: #eef6fd;
}
@media (max-width: 767.98px) {
  .lp-parent_voice--01 .lp-parent_voice-body {
    padding-right: calc(24 * var(--base-font, 1) / 10);
    padding-bottom: calc(22 * var(--base-font, 1) / 10);
  }
  .lp-parent_voice--01 .lp-parent_voice-body::before {
    left: 0;
    right: calc(24 * var(--base-font, 1) / 10);
    border-radius: 0 calc(15 * var(--base-font, 1) / 10) calc(15 * var(--base-font, 1) / 10) 0;
  }
  .lp-parent_voice--02 .lp-parent_voice-body {
    padding-left: calc(24 * var(--base-font, 1) / 10);
    padding-bottom: calc(46 * var(--base-font, 1) / 10);
  }
  .lp-parent_voice--02 .lp-parent_voice-body::before {
    left: calc(24 * var(--base-font, 1) / 10);
    right: 0;
    border-radius: calc(15 * var(--base-font, 1) / 10) 0 0 calc(15 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-parent_voice-body {
    padding: calc(48 * var(--base-font, 1) / 10) calc(50 * var(--base-font, 1) / 10);
  }
  .lp-parent_voice--01 .lp-parent_voice-body::before {
    left: 0;
    right: max(calc(50% - 540 * var(--base-font, 1) / 10), calc(20 * var(--base-font, 1) / 10));
    border-radius: 0 calc(30 * var(--base-font, 1) / 10) calc(30 * var(--base-font, 1) / 10) 0;
  }
  .lp-parent_voice--02 .lp-parent_voice-body::before {
    left: max(calc(50% - 540 * var(--base-font, 1) / 10), calc(20 * var(--base-font, 1) / 10));
    right: 0;
    border-radius: calc(30 * var(--base-font, 1) / 10) 0 0 calc(30 * var(--base-font, 1) / 10);
  }
}

@media (min-width: 768px) {
  .lp-parent_voice-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto auto;
    margin: 0 auto;
    max-width: calc(840 * var(--base-font, 1) / 10);

    column-gap: calc(40 * var(--base-font, 1) / 10);
  }
}

@media (max-width: 767.98px) {
  .lp-parent_card + .lp-parent_card {
    margin-top: calc(48 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-parent_card {
    display: grid;
    grid-row: span 3;
    grid-template-rows: subgrid;
  }
}

.lp-parent_card-image img {
  width: 100%;
}

.lp-parent_card-catch {
  position: relative;
  color: #333;
  font-weight: 700;
}
.lp-parent_card-catch::before {
  content: "";
  position: absolute;
  top: calc(-2 * var(--base-font, 1) / 10);
  width: calc(17 * var(--base-font, 1) / 10);
  height: calc(14 * var(--base-font, 1) / 10);
  background-image: url("../img/double-quotation.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 767.98px) {
  .lp-parent_card-catch {
    margin-top: calc(24 * var(--base-font, 1) / 10);
    font-size: calc(18 * var(--base-font, 1) / 10);
  }
  .lp-parent_card-catch p {
    line-height: 1.55;
  }
  .lp-parent_voice--01 .lp-parent_card-catch::before {
    left: calc(20 * var(--base-font, 1) / 10);
  }
  .lp-parent_voice--02 .lp-parent_card-catch::before {
    left: calc(-8 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-parent_card-catch {
    margin-top: calc(24 * var(--base-font, 1) / 10);
    font-size: calc(22 * var(--base-font, 1) / 10);
  }
  .lp-parent_card-catch p {
    line-height: 1.55;
  }
  .lp-parent_card-catch::before {
    left: calc(-10 * var(--base-font, 1) / 10);
  }
}

.lp-parent_card-text p {
  color: #333;
  line-height: 2;
}
.lp-parent_card-text strong {
  color: #1f3b9e;
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .lp-parent_card-text {
    margin-top: calc(14 * var(--base-font, 1) / 10);
  }
  .lp-parent_card-text p {
    font-size: calc(14 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-parent_card-text {
    margin-top: calc(15 * var(--base-font, 1) / 10);
  }
  .lp-parent_card-text p {
    font-size: calc(15 * var(--base-font, 1) / 10);
  }
}

@media (max-width: 767.98px) {
  .lp-parent_voice--01 .lp-parent_card-catch,
  .lp-parent_voice--01 .lp-parent_card-text {
    padding-right: calc(30 * var(--base-font, 1) / 10);
    padding-left: calc(40 * var(--base-font, 1) / 10);
  }
  .lp-parent_voice--01 .lp-parent_card-catch {
    padding-right: calc(6 * var(--base-font, 1) / 10);
  }
  .lp-parent_voice--02 .lp-parent_card-catch,
  .lp-parent_voice--02 .lp-parent_card-text {
    padding-right: calc(21 * var(--base-font, 1) / 10);
    padding-left: calc(20 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-parent_card-catch,
  .lp-parent_card-text {
    padding-right: calc(12 * var(--base-font, 1) / 10);
    padding-left: calc(8 * var(--base-font, 1) / 10);
  }
}

/* --------------------------------
  lp-cv02
-------------------------------- */
.lp-cv02 {
  background-color: #FEFBE1;
}
@media (max-width: 767.98px) {
  .lp-cv02 {
    padding-top: calc(30 * var(--base-font, 1) / 10);
    padding-bottom: calc(30 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-cv02 {
    padding-top: calc(50 * var(--base-font, 1) / 10);
    padding-bottom: calc(50 * var(--base-font, 1) / 10);
  }
}

.lp-cv02_inner {
  display: flex;
  flex-direction: column;
}
@media (max-width: 767.98px) {
  .lp-cv02_inner {
    gap: calc(10 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-cv02_inner {
    gap: calc(10 * var(--base-font, 1) / 10);
  }
}

.lp-cv02_heading {
  text-align: center;
  color: #2b558c;
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .lp-cv02_heading {
    margin-right: calc(-12 * var(--base-font, 1) / 10);
    margin-left: calc(-12 * var(--base-font, 1) / 10);
    font-size: calc(19 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-cv02_heading {
    font-size: calc(32 * var(--base-font, 1) / 10);
  }
}
.lp-cv02_heading span {
  font-weight: 900;
}
@media (max-width: 767.98px) {
  .lp-cv02_heading span {
    font-size: calc(22 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-cv02_heading span {
    font-size: calc(34 * var(--base-font, 1) / 10);
  }
}

.lp-cv02_contents {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  width: 100%;
}
@media (max-width: 767.98px) {
  .lp-cv02_contents {
    font-size: calc(22 * var(--base-font, 1) / 10);
    gap: calc(15 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-cv02_contents {
    max-width: calc(625 * var(--base-font, 1) / 10);

    gap: calc(15 * var(--base-font, 1) / 10);
  }
}

.lp-cv02_button-container {
  display: flex;
  flex-direction: column;
}
@media (max-width: 767.98px) {
  .lp-cv02_button-container {
    gap: calc(12 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-cv02_button-container {
    gap: calc(20 * var(--base-font, 1) / 10);
  }
}

.lp-cv02_button-list01 {
  display: flex;
  justify-content: center;
}

.lp-cv02_button-list02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media (max-width: 767.98px) {
  .lp-cv02_button-list02 {
    flex-direction: column;

    gap: calc(12 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-cv02_button-list02 {
    gap: calc(25 * var(--base-font, 1) / 10);
  }
}

@media (min-width: 768px) {
  .lp-cv02_button-list02-item {
    width: calc((100% - 50px) / 3);
    min-width: calc(300 * var(--base-font, 1) / 10);
  }
}

.lp-cv02_note {
  color: #7a7a7a;
  font-weight: 500;
  line-height: 1.6;
}
@media (max-width: 767.98px) {
  .lp-cv02_note {
    padding-left: calc(10 * var(--base-font, 1) / 10);
    text-indent: calc(-10 * var(--base-font, 1) / 10);
    font-size: calc(10 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-cv02_note {
    padding-left: calc(12 * var(--base-font, 1) / 10);
    text-indent: calc(-12 * var(--base-font, 1) / 10);
    font-size: calc(12 * var(--base-font, 1) / 10);
  }
}

.lp-cv02_middle-container {
  display: flex;
}
@media (max-width: 767.98px) {
  .lp-cv02_middle-container {
    align-items: center;
    flex-direction: column;
  }
}
@media (min-width: 768px) {
  .lp-cv02_middle-container {
    align-items: center;
    flex-direction: row-reverse;
    justify-content: center;

    gap: calc(6 * var(--base-font, 1) / 10);
  }
}

@media (max-width: 767.98px) {
  .lp-cv02_image {
    width: calc(300 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-cv02_image {
    width: calc(260 * var(--base-font, 1) / 10);
  }
}

.lp-cv02_text {
  font-weight: 500;
}
@media (max-width: 767.98px) {
  .lp-cv02_text {
    text-align: center;
    font-size: calc(14 * var(--base-font, 1) / 10);
  }
}
@media (min-width: 768px) {
  .lp-cv02_text {
    font-size: calc(18 * var(--base-font, 1) / 10);
    line-height: 1.8;
  }
}


/* --------------------------------
  template
-------------------------------- */
.l-header {
  margin: 0;
}

.mod-pankuzu {
  display: none;
}

.pc .mod-pageTop {
  display: none;
}

.mod-footerInq2 {
  display: none;
}

.l-footer .mod-contCenter {
  display: none;
}

.l-footer .mod-contCenter.campus {
  display: block;
}

.l-footer .mod-contCenter.way {
  display: block;
}

.mod-followNav {
  display: none;
}

.footermenu {
  display: none;
}

.footer-nav-list {
  display: none;
}

.pc .l-footer__followNav {
  padding-bottom: 0;
}

@media screen and (max-width: 1066px) {
  .sp .footer-box__lowerLayer .footer-nav {
    height: auto;
  }
  .sp .footer-box__lowerLayer .footer-nav .footer-nav-copy {
    margin-bottom: 0;
  }
}

/*
* lp-tenhennyu.css
*
*/
