@charset "UTF=8";

html {
  font-size: 100%;
  scroll-behavior: smooth;
  /* ここはPCのメインコンテンツ幅に応じて固定値で入れて下さい */
  font-size: 21.6425120772px;
}

body {
  -webkit-font-smoothing: antialiased;
}

em {
  font-style: normal;
}
li {
  list-style: none;
}
a {
  text-decoration: none;
  transition: 0.3s;
}
a:hover {
  transform: translateX(-50%) scale(1.03);
}
img {
  width: 100%;
  height: auto;
}

/* スマホデザインが414pxで作られている場合の,rem可変を同倍率可変にする場合は有効・不要なら削除 */
@media screen and (max-width: 767.98px) {
  html {
    font-size: 3.8647342995vw;
  }
}

:where(.mui) img {
  width: 100%;
}

/* ========================================
   無限ループスライダー共通
======================================== */

/* FVスライダー */
.mui-fv-slider {
  overflow: hidden;
}

.mui-fv-slider__track {
  display: flex;
  width: max-content;
  animation: mui-slide-fv 12s linear infinite;
}

.mui-fv-slider__item {
  flex-shrink: 0;
  width: 194.83px;
  width: 12.176875rem;
  padding: 0 4px;
  padding: 0 0.25rem;
  box-sizing: border-box;
}

.mui-fv-slider__item img {
  width: 100%;
  height: 100%;
}

@keyframes mui-slide-fv {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* ギャラリースライダー */
.mui-gallery__slider {
  overflow: hidden;
  position: absolute;
  top: 0;
}

.mui-gallery__track {
  display: flex;
  width: max-content;
  animation: mui-slide-gallery 16s linear infinite;
}

.mui-gallery__item {
  flex-shrink: 0;
  width: 14.499375rem;
  padding: 0 4px;
  padding: 0 0.25rem;
  box-sizing: border-box;
}

@keyframes mui-slide-gallery {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.mui {
}

/* ここにPCを時の背景 */
.mui:before {
  content: "";
  background-image: url(../img/pc-bg.webp);
  background-size: cover;
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: -1;
}

@media screen and (max-width: 767.98px) {
  .mui:before {
    display: none;
  }
}

.mui__inner {
  list-style: none;
  display: grid;
  grid-template-columns: minmax(0, 2.8fr) 560px minmax(0, 1fr);
  align-items: start;
  width: 100%;
  margin-inline: auto;
  gap: 2%;
  max-width: 1920px;
}

.mui-pc-logo {
  position: fixed;
  top: 2.2%;
  left: 2%;
  z-index: 9999;
  transition: 0.3s;
}
.mui-pc-logo:hover {
  opacity: 0.7;
}

.mui-pc-logo__img {
  width: 303.21px;
  height: 56px;
}

.mui-pc-left {
  container-type: inline-size;
  justify-self: start;
  width: 100%;
  max-width: 970px;
  min-width: 0;
  height: 100%;
  transform: translateY(10px);
}

.mui-pc-left__inner {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.mui-pc-left__img {
  width: 100cqi;
  height: auto;
  max-height: 60vh;
  object-fit: contain;
  display: block;
}

.mui-pc-left__img-text {
  width: 42cqi;
  height: auto;
  min-width: 220px;
  max-height: 108.31px;
  object-fit: contain;
  display: block;
  margin-top: -9.0476190476vw;
  margin-left: 4.1666666667vw;
  margin-bottom: 2.6785714286vw;
}

@media screen and (min-width: 1240px) and (max-width: 1440px) {
  .mui-pc-left__img-text {
    margin-top: -7.047619vw;
  }
}

@media screen and (min-width: 767.98px) and (max-width: 1239px) {
  .mui-pc-left__img-text {
    margin-top: -5.047619vw;
  }
}

@media screen and (min-width: 2000px) {
  .mui-pc-left__img-text {
    margin-top: -180px;
  }
}

.mui-content {
  outline: 5px solid #fff;
  margin-top: 42px;
  box-shadow: 0 0 26px 0 rgba(52, 101, 120, 0.6);
}

.mui-content__inner {
  width: 560px;
  margin-inline: auto;
  overflow: hidden;
  background: #fff;
}

.mui-content__inner > * {
  position: relative;
}

.mui-pc-right {
  justify-self: end;
  margin-left: 10.2%;
}
.mui-pc-right__inner {
  position: sticky;
  top: 50vh;
  transform: translateY(-50%);
}

.mui-pc-right__img {
  width: 200px;
  width: 12.5rem;
  height: 200px;
  height: 12.5rem;
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
  display: block;
}

@media screen and (max-width: 1059.98px) {
  .mui-pc-right {
    display: none;
  }
}

@media screen and (max-width: 767.98px) {
  .mui {
  }

  .mui__inner {
    width: 100%;
    display: block;
    background: #fff;
  }

  .mui-pc-logo {
    display: none;
  }

  .mui-pc-left {
    display: none;
  }

  .mui-pc-left__inner {
  }

  .mui-content {
    margin-top: 0;
    outline: 0;
    box-shadow: none;
  }

  .mui-content__inner {
    width: 100%;
  }

  .mui-pc-right {
  }

  .mui-pc-right__inner {
  }
}

.mui-fv {
}
.mui-fv__inner {
  position: relative;
}
.mui-fv__title {
}
.mui-fv__title img {
}
.mui-fv-slider {
  position: absolute;
  top: 48%;
}
.mui-fv-slider__item {
}
.mui-fv-slider__item img {
}
.mui-cta {
  position: absolute;
  bottom: 3%;
  width: 100%;
}
.mui-cta__body {
  width: 382px;
  width: 23.875rem;
  position: relative;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.mui-intro-cta .mui-cta__body {
  width: 100%;
}

.mui-cta__body img {
}
.mui-cta__btn {
  position: absolute;
  top: 41%;
  width: 344px;
  width: 21.5rem;
  left: 50%;
  transform: translateX(-50%);
}
.mui-cta__btn img {
}
.mui-cta__tel {
  position: absolute;
  width: 341px;
  width: 21.3125rem;
  top: 68%;
  left: 50%;
  transform: translateX(-50%);
}
.mui-cta__tel img {
}
/* セクション固有CTA */
/* FV */
.mui-fv-cta {
}
.mui-fv-cta .mui-cta__body {
}
.mui-fv-cta .mui-cta__body img {
}
.mui-fv-cta .mui-cta__btn {
}
.mui-fv-cta .mui-cta__btn img {
}
.mui-fv-cta .mui-cta__tel {
}
.mui-fv-cta .mui-cta__tel img {
}
/* PC LEFT */
.mui-pc-left-cta {
  position: relative;
  width: 50cqi;
  margin-top: -4.6%;
  transform: translateX(6.428571%);
  min-width: 300px;
}
.mui-pc-left-cta__body {
  width: 100%;
}
.mui-pc-left-cta__body img {
}
.mui-pc-left-cta__btn {
  position: absolute;
  top: 42%;
  width: 88.9%;
  left: 50%;
  transform: translateX(-50%);
}
.mui-pc-left-cta__btn img {
}
.mui-pc-left-cta__tel {
  position: absolute;
  width: 88.9%;
  top: 68.5%;
  left: 50%;
  transform: translateX(-50%);
}
.mui-pc-left-cta__tel img {
}
/* INTRO */
.mui-intro-cta {
  position: relative;
}
.mui-intro-cta .mui-cta__body {
}
.mui-intro-cta .mui-cta__body img {
}
.mui-intro-cta .mui-cta__btn {
  width: 374px;
  width: 23.375rem;
  top: 26.7%;
}
.mui-intro-cta .mui-cta__btn img {
}
.mui-intro-cta .mui-cta__tel {
  width: 373.11px;
  width: 23.319375rem;
  top: 60%;
}
.mui-intro-cta .mui-cta__tel img {
}
/* SOLUTION */
.mui-solution-cta {
  position: relative;
}
.mui-solution-cta .mui-cta__body {
  width: 100%;
}
.mui-solution-cta .mui-cta__body img {
}
.mui-solution-cta .mui-cta__btn {
  width: 374px;
  width: 23.375rem;
  top: 26.7%;
  top: 0%;
}
.mui-solution-cta .mui-cta__btn img {
}
.mui-solution-cta .mui-cta__tel {
  width: 373.11px;
  width: 23.319375rem;
  top: 38%;
}
.mui-solution-cta .mui-cta__tel img {
}
/* COMPARE */
.mui-compare-cta {
}
.mui-compare-cta .mui-cta__body {
}
.mui-compare-cta .mui-cta__body img {
}
.mui-compare-cta .mui-cta__btn {
}
.mui-compare-cta .mui-cta__btn img {
}
.mui-compare-cta .mui-cta__tel {
}
.mui-compare-cta .mui-cta__tel img {
}
.mui-intro {
}
.mui-intro__inner {
}
.mui-intro__title {
}
.mui-intro__title img {
}
.mui-intro__feature {
}
.mui-intro__feature img {
}
.mui-solution {
}
.mui-solution__inner {
}
.mui-solution__title {
}
.mui-solution__title img {
}
.mui-solution__problem {
}
.mui-solution__problem img {
}
.mui-solution__lead {
}
.mui-solution__lead img {
}
.mui-solution__resolve {
}
.mui-solution__resolve img {
}
.mui-solution__catch {
}
.mui-solution__catch img {
}
.mui-feature-list {
}
.mui-feature-list__item {
}
.mui-feature-list__title {
}
.mui-feature-list__title img {
}
.mui-feature-list__img {
}
.mui-feature-list__img img {
}
.mui-feature-list__desc {
}
.mui-feature-list__desc img {
}
.mui-gallery {
  position: relative;
}
.mui-gallery__bg {
}
.mui-gallery__bg img {
}
.mui-gallery__list {
}
.mui-gallery__item {
  width: 231.99px;
  width: 14.499375rem;
  height: 176.22px;
  height: 11.01375rem;
}
.mui-gallery__item img {
}
.mui-result__title {
}
.mui-result__title img {
}
.mui-result__card {
}
.mui-result__card img {
}
.mui-result__lead {
}
.mui-result__lead img {
}
.mui-voice {
}
.mui-voice__inner {
}
.mui-voice__title {
}
.mui-voice__title img {
}
.mui-voice-student {
}
.mui-voice-student__item {
}
.mui-voice-student__name {
}
.mui-voice-student__name img {
}
.mui-voice-student__text {
}
.mui-voice-student__text img {
}
.mui-voice__subtitle {
}
.mui-voice__subtitle img {
}
.mui-voice-parent {
}
.mui-voice-parent__item {
}
.mui-voice-parent__name {
}
.mui-voice-parent__name img {
}
.mui-voice-parent__text {
}
.mui-voice-parent__text img {
}
.mui-flow {
}
.mui-flow__inner {
}
.mui-flow__title {
}
.mui-flow__title img {
}
.mui-flow__list {
}
.mui-flow__item {
}
.mui-flow__scene {
}
.mui-flow__scene img {
}
.mui-flow__desc {
}
.mui-flow__desc img {
}
.mui-compare {
  width: 100%;
  overflow: hidden;
}
.mui-compare__inner {
  max-width: 100%;
  margin-inline: auto;
}
.mui-compare__title {
}
.mui-compare__title img {
}
.mui-compare__content {
  position: relative;
}
.mui-compare__bg {
  position: relative;
}
.mui-compare__bg img {
}
.mui-compare__table {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 1;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}
.mui-compare__table::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}
.mui-compare__table img {
  width: 647.56px;
  width: 40.4725rem;
  height: 487.43px;
  height: 30.464375rem;
  max-width: none;
  display: block;
}
.mui-steps {
}
.mui-steps__inner {
}
.mui-steps__title {
}
.mui-steps__title img {
}
.mui-steps__list {
}
.mui-steps__item {
}
.mui-steps__item img {
}
.mui-faq {
  background: #e7f4ff;
  padding: 31.94px 0 50px;
  padding: 1.99625rem 0 3.125rem;
}
.mui-faq__inner {
  width: 87%;
  margin-inline: auto;
}
.mui-faq__label {
  width: 101.895px;
  width: 6.3684375rem;
  height: 48.178px;
  height: 3.011125rem;
  background: url(../img/faq-label-bg.webp) no-repeat center / contain;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 18.546px;
  font-size: 1.159125rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 2.5964px;
  letter-spacing: 0.162275rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 8px;
  padding-bottom: 0.5rem;
  margin-inline: auto;
  margin-bottom: 5px;
  margin-bottom: 0.3125rem;
}
.mui-faq__title {
  color: #0058c9;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 34.471px;
  font-size: 2.1544375rem;
  font-style: normal;
  font-weight: 900;
  line-height: 150%; /* 51.707px */
  letter-spacing: 2.758px;
  letter-spacing: 0.172375rem;
  margin-bottom: 26px;
  margin-bottom: 1.625rem;
}
.mui-faq__list {
}
.mui-faq__item {
  border-bottom: 1px solid #b5c9e0;
  border-bottom: 0.0625rem solid #b5c9e0;
}

.mui-faq__question {
  color: #00214b;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 145%; /* 23.2px */
  letter-spacing: 0.96px;
  letter-spacing: 0.06rem;
  display: flex;
  align-items: center;
  gap: 3.6px;
  gap: 0.225rem;
  padding: 13px 18px 13px 0;
  padding: 0.8125rem 1.125rem 0.8125rem 0;
  margin: 0;
  position: relative;
  cursor: pointer;
  user-select: none;
}
/* ＋ アイコン（横棒） */
.mui-faq__question::before {
  content: "";
  position: absolute;
  right: 6px;
  right: 0.375rem;
  top: 50%;
  width: 12px;
  width: 0.75rem;
  height: 2px;
  height: 0.125rem;
  background: #00214b;
  transform: translateY(-50%);
}
/* ＋ アイコン（縦棒 → is-open で90deg 回転して横棒と重なる） */
.mui-faq__question::after {
  content: "";
  position: absolute;
  right: 11px;
  right: 0.6875rem;
  top: 50%;
  width: 2px;
  width: 0.125rem;
  height: 12px;
  height: 0.75rem;
  background: #00214b;
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0.3s ease;
}
.mui-faq__item.is-open .mui-faq__question::after {
  transform: translateY(-50%) rotate(90deg);
}
.mui-faq__icon {
  width: 21px;
  width: 1.3125rem;
  height: 19px;
  height: 1.1875rem;
  display: inline-block;
  flex-shrink: 0;
}
.mui-faq__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.mui-faq__answer {
  color: #00214b;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 22.5px */
  letter-spacing: 0.9px;
  letter-spacing: 0.05625rem;
  margin: 0;
  padding: 0 0 18px 35px;
  padding: 0 0 1.125rem 2.1875rem;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.mui-access {
  background: url(../img/access-bg.webp) no-repeat;
  background-size: cover;
  padding: 33.6px 0 31px;
  padding: 2.1rem 0 1.9375rem;
}
.mui-access__inner {
}
.mui-access__title {
  color: #fdfdfd;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 24.566px;
  font-size: 1.535375rem;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 36.848px */
  letter-spacing: 4.422px;
  letter-spacing: 0.276375rem;
  background: #0058c9;
  width: fit-content;
  margin-inline: auto;
  padding: 7px 25px 11px 30px;
  padding: 0.4375rem 1.5625rem 0.6875rem 1.875rem;
  margin-bottom: 13px;
  margin-bottom: 0.8125rem;
}
.mui-access__subtitle {
  color: #003590;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 145%; /* 23.2px */
  letter-spacing: 0.96px;
  letter-spacing: 0.06rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  gap: 0.625rem;
  position: relative;
  margin-bottom: 6.53px;
  margin-bottom: 0.408125rem;
}

.mui-access__subtitle::before,
.mui-access__subtitle::after {
  content: "";
  display: block;
  width: 2px;
  width: 0.125rem;
  height: 15.85px;
  height: 0.990625rem;
  background-color: #003590;
  flex-shrink: 0;
}

.mui-access__subtitle::before {
  transform: rotate(-20deg);
}

.mui-access__subtitle::after {
  transform: rotate(20deg);
}
.mui-access__map {
  width: 87.8550724638%;
  height: 204.09px;
  height: 12.755625rem;
  margin-inline: auto;
  margin-bottom: 16.39px;
  margin-bottom: 1.024375rem;
}
.mui-access__map iframe {
  width: 100%;
  height: 100%;
}
.mui-access__info {
  width: 87%;
  margin-inline: auto;
}

.mui-access__info-01 {
  margin-bottom: 16.53px;
  margin-bottom: 1.033125rem;
}
.mui-access__label {
  display: flex;
  align-items: center;
  gap: 4px;
  gap: 0.25rem;
  color: #003590;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 145%; /* 23.2px */
  letter-spacing: 1.92px;
  letter-spacing: 0.12rem;
  margin-bottom: 3px;
  margin-bottom: 0.1875rem;
}
.mui-access__label-mark {
  display: inline-block;
  width: 14.424px;
  width: 0.9015rem;
  height: 14.424px;
  height: 0.9015rem;
  background-color: #003590;
  flex-shrink: 0;
  border-radius: 1.28px;
  border-radius: 0.08rem;
}
.mui-access__text {
  color: #003590;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 400;
  line-height: 145%; /* 21.75px */
  letter-spacing: 0.9px;
  letter-spacing: 0.05625rem;
}

.mui-access__text-note {
  color: #003590;
  font-family: "Noto Sans JP";
  font-size: 13px;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 145%; /* 18.85px */
  letter-spacing: 0.78px;
  letter-spacing: 0.04875rem;
  margin-top: 1.8px;
  margin-top: 0.1125rem;
}
.mui-contact {
  background: url(../img/form-bg.webp) no-repeat;
  background-size: cover;
  padding: 33px 0 32.6px;
  padding: 2.0625rem 0 2.0375rem;
}
.mui-contact__inner {
  width: 92.270531401%;
  margin-inline: auto;
}

.mui-contact__sub-lead {
  color: #0095ff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 17.546px;
  font-size: 1.096625rem;
  font-style: normal;
  font-weight: 900;
  line-height: 150%; /* 26.319px */
  letter-spacing: 1.93px;
  letter-spacing: 0.120625rem;
  background: url(../img/form-fukidashi.webp) no-repeat;
  background-size: 100% 100%;
  width: fit-content;
  margin-inline: auto;
  padding: 4px 20px 13px 20px;
  padding: 0.25rem 1.25rem 0.8125rem 1.25rem;
}

.mui-contact__sub-lead em {
  color: #a5a900;
}
.mui-contact__lead {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 26.471px;
  font-size: 1.6544375rem;
  font-style: normal;
  font-weight: 900;
  line-height: 150%; /* 39.707px */
  letter-spacing: 1.588px;
  letter-spacing: 0.09925rem;
}
.mui-contact__form {
  border-radius: 30px;
  border-radius: 1.875rem;
  background: #fff;
  margin-top: 18.54px;
  margin-top: 1.15875rem;
  padding: 18px 0 33px;
  padding: 1.125rem 0 2.0625rem;
}
.mui-contact__title {
  color: #00214b;
  font-family: "Noto Sans JP";
  font-size: 22.1px;
  font-size: 1.38125rem;
  font-style: normal;
  font-weight: 700;
  line-height: 145%; /* 32.045px */
  letter-spacing: 1.989px;
  letter-spacing: 0.1243125rem;
  text-align: center;
  margin-bottom: 43px;
  margin-bottom: 2.6875rem;
}
.mui-contact__title em {
  color: #00b7ff;
  font-family: "Noto Sans JP";
  font-size: 29.9px;
  font-size: 1.86875rem;
  font-style: normal;
  font-weight: 900;
  line-height: 145%; /* 43.355px */
  letter-spacing: 2.691px;
  letter-spacing: 0.1681875rem;
}
.mui-contact__body {
  width: 90.3%;
  margin-inline: auto;
}

/* --- フィールド行 --- */
.mui-contact__field {
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}

.mui-contact__fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

/* --- ラベル --- */
.mui-contact__label {
  display: flex;
  align-items: center;
  gap: 8px;
  gap: 0.5rem;
  color: #00214b;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  margin-bottom: 8px;
  margin-bottom: 0.5rem;
}

legend.mui-contact__label {
  display: flex;
  width: 100%;
}

/* --- 必須バッジ --- */
.mui-contact__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0095ff;
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1;
  border-radius: 4px;
  border-radius: 0.25rem;
  padding: 3px 6px;
  padding: 0.1875rem 0.375rem;
}

/* --- インプットラッパー --- */
.mui-contact__input-wrap {
  display: flex;
  flex-direction: column;
  gap: 4px;
  gap: 0.25rem;
}

.mui-contact__input-wrap--select {
  position: relative;
}

/* --- テキスト・Tel・Emailインプット共通 --- */
.mui-contact__input {
  width: 100%;
  box-sizing: border-box;
  border: 1.5px solid #c8d6e5;
  border-radius: 8px;
  border-radius: 0.5rem;
  padding: 12px 14px;
  padding: 0.75rem 0.875rem;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-size: 0.9375rem;
  color: #00214b;
  background: #f7fafd;
  outline: none;
  transition: border-color 0.2s;
  -webkit-appearance: none;
  appearance: none;
}

.mui-contact__input:focus {
  border-color: #00b7ff;
  background: #fff;
}

.mui-contact__input::placeholder {
  color: #b0bec8;
  font-size: 13px;
  font-size: 0.8125rem;
}

/* --- セレクトボックス --- */
.mui-contact__select {
  width: 100%;
  box-sizing: border-box;
  border: 1.5px solid #c8d6e5;
  border-radius: 8px;
  border-radius: 0.5rem;
  padding: 12px 40px 12px 14px;
  padding: 0.75rem 2.5rem 0.75rem 0.875rem;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-size: 0.9375rem;
  color: #00214b;
  background: #f7fafd url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2300214b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  cursor: pointer;
  transition: border-color 0.2s;
}

.mui-contact__select:focus {
  border-color: #00b7ff;
  background-color: #fff;
}

/* --- チェックボックスグループ --- */
.mui-contact__checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  gap: 0.625rem 1rem;
  margin-top: 4px;
  margin-top: 0.25rem;
}

.mui-contact__checkbox-label {
  display: flex;
  align-items: center;
  gap: 6px;
  gap: 0.375rem;
  cursor: pointer;
}

.mui-contact__checkbox {
  width: 18px;
  width: 1.125rem;
  height: 18px;
  height: 1.125rem;
  border: 1.5px solid #c8d6e5;
  border-radius: 4px;
  border-radius: 0.25rem;
  accent-color: #0095ff;
  cursor: pointer;
  flex-shrink: 0;
}

.mui-contact__checkbox-text {
  color: #00214b;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
}

/* --- テキストエリア --- */
.mui-contact__textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1.5px solid #c8d6e5;
  border-radius: 8px;
  border-radius: 0.5rem;
  padding: 12px 14px;
  padding: 0.75rem 0.875rem;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-size: 0.9375rem;
  color: #00214b;
  background: #f7fafd;
  outline: none;
  resize: vertical;
  transition: border-color 0.2s;
  -webkit-appearance: none;
  appearance: none;
}

.mui-contact__textarea:focus {
  border-color: #00b7ff;
  background: #fff;
}

.mui-contact__textarea::placeholder {
  color: #b0bec8;
  font-size: 13px;
  font-size: 0.8125rem;
}

/* --- エラーメッセージ --- */
.mui-contact__error {
  display: none;
  color: #d32f2f;
  font-family: "Noto Sans JP";
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 500;
  margin-top: 4px;
  margin-top: 0.25rem;
}

.mui-contact__error.is-visible {
  display: block;
}

.mui-contact__input.is-error,
.mui-contact__select.is-error,
.mui-contact__textarea.is-error {
  border-color: #d32f2f;
  background: #fff5f5;
}

/* --- 通知バナー --- */
.mui-contact__notice {
  display: none;
  border-radius: 8px;
  border-radius: 0.5rem;
  padding: 14px 16px;
  padding: 0.875rem 1rem;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
}

.mui-contact__notice.is-success {
  display: block;
  background: #e8f5e9;
  color: #1b5e20;
  border: 1px solid #a5d6a7;
}

.mui-contact__notice.is-error {
  display: block;
  background: #ffebee;
  color: #b71c1c;
  border: 1px solid #ef9a9a;
}

/* --- 送信ボタン --- */
.mui-contact__submit {
  margin-top: 32px;
  margin-top: 2rem;
  text-align: center;
}

.mui-contact__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0095ff 0%, #00214b 100%);
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 1.6px;
  letter-spacing: 0.1rem;
  border: none;
  border-radius: 50px;
  border-radius: 3.125rem;
  padding: 18px 40px;
  padding: 1.125rem 2.5rem;
  width: 100%;
  max-width: 380px;
  max-width: 23.75rem;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.2s;
  box-shadow: 0 4px 16px rgba(0, 149, 255, 0.35);
  -webkit-appearance: none;
  appearance: none;
}

.mui-contact__btn:hover {
  opacity: 0.85;
  transform: translateY(-2px);
}

.mui-contact__btn:active {
  transform: translateY(0);
}

.mui-contact__btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}

.mui-footer {
  background: #0058c9;
  padding: 27px 0 25px;
  padding: 1.6875rem 0 1.5625rem;
}
.mui-footer__copyright {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 12px;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
  line-height: 1rem; /* 133.333% */
  letter-spacing: 0.36px;
  letter-spacing: 0.0225rem;
  display: block;
}

.mui-compare .scroll-hint-shadow-wrap {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
}

/* FAQ アコーディオンの開閉ロジックはビューポート幅に関わらず適用 */
.mui-faq__answer {
  box-sizing: border-box;
  margin: 0;
  padding: 0 0 0 35px;
  padding: 0 1.5rem 0 1.5875rem;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
/* 回答テキストの下に空白スペースを作る（scrollHeight に含まれる） */
.mui-faq__answer::after {
  content: "";
  display: block;
  height: 18px;
  height: 1.125rem;
}
.mui-faq__question {
  cursor: pointer;
  user-select: none;
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .mui__inner {
    grid-template-columns: 1fr;
    width: 560px;
  }
  .mui-pc-left,
  .mui-pc-logo {
    display: none;
  }
}

.mui-thanks__logo {
  padding: 13px 0 5px;
  padding: 0.8125rem 0 0.3125rem;
  transition: 0.3s;
}
.mui-thanks__logo:hover {
  opacity: 0.7;
}

.mui-thanks__logo img {
  width: 252.51px;
  width: 15.781875rem;
  margin-inline: auto;
}
.mui-thanks {
  background: url(../img/thanks-bg.webp) no-repeat;
  background-size: cover;
  padding: 35px 0 54.8px;
  padding: 2.1875rem 0 3.425rem;
}
.mui-thanks__ttl {
  color: #fff;
  text-align: left;
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 900;
  line-height: 150%; /* 36px */
  letter-spacing: 2.64px;
  letter-spacing: 0.165rem;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 23px;
  margin-bottom: 1.4375rem;
}
.mui-thanks__message {
  border-radius: 50px;
  border-radius: 3.125rem;
  background: #fff;
  width: 90.3381642512%;
  margin-inline: auto;
  padding: 38px 23px 45px 23px;
  padding: 2.375rem 1.4375rem 2.8125rem 1.4375rem;
}
.mui-thanks__message-text {
  color: #002b3c;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 500;
  line-height: 193%; /* 28.95px */
  letter-spacing: 0.45px;
  letter-spacing: 0.028125rem;
  margin-bottom: 12.6px;
  margin-bottom: 0.7875rem;
}
.mui-thanks-message__link {
  color: #002b3c;
  font-family: "Noto Sans JP";
  font-size: 16.081px;
  font-size: 1.0050625rem;
  font-style: normal;
  font-weight: 400;
  line-height: 25px;
  line-height: 1.5625rem; /* 155.46% */
  letter-spacing: 0.482px;
  letter-spacing: 0.030125rem;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  opacity: 0.52;
}
.mui-footer {
}
.mui-footer__copyright {
}

.fix-btn {
  position: fixed;
  z-index: 9999;
  bottom: 1%;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}
.fix-btn.is-visible {
  opacity: 1;
  visibility: visible;
}
.fix-btn__link {
  width: 81%;
  display: block;
  position: relative;
  transform: translateX(-50%);
  left: 50%;
}

@media screen and (min-width: 768px) {
  .fix-btn {
    display: none;
  }
}
