@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
html {
  scroll-behavior: smooth;
  font-size: 62.5%;
  scroll-padding-top: 80px;
}

body {
  position: relative;
  margin: 0 auto !important;
  font-family: "M PLUS 1" !important;
  color: #333;
}

img {
  width: -webkit-fill-available;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
  /* Safari, Chrome */
  image-rendering: optimizeQuality;
  width: -moz-available;
  pointer-events: none;
  width: 100%;
}

a {
  display: block;
  transition: 0.3s;
}

a:hover {
  transition: 0.3s;
  opacity: 0.7;
}

iframe {
  width: 100%;
  aspect-ratio: 16/9;
}

.fade {
  opacity: 0;
}

.fade-in {
  opacity: 1;
  transition: all 2s;
}

.fade-scale {
  transform: scale(0);
}

.fade-scale-in {
  transform: scale(1);
  transition: all 0.3s;
}

.fv__content {
  margin-top: -1%;
  position: relative;
}
.fv__subTtl {
  position: absolute;
  padding: 1.25% 2%;
  background-color: #fff;
  top: 9%;
  left: 50%;
  border-radius: 55px;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.fv__subTtl p {
  font-weight: 700;
  background-image: linear-gradient(180deg, #91BDDD, #3085C3, #91BDDD);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  font-size: 1.666667vw;
}
.fv__ttl {
  position: absolute;
  color: #F4F80E;
  font-weight: 700;
  font-size: 3.75vw;
  text-shadow: 2px 3px 3px rgba(0, 6, 6, 0.25);
  top: 24%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.fv__list {
  position: absolute;
  display: flex;
  justify-content: space-between;
  color: #1E55AD;
  font-weight: 700;
  width: 68.541667%;
  top: 40%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.fv__item {
  background-color: #EAF788;
  border-radius: 4px;
  width: 30%;
  padding: 1.5%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5625vw;
  text-shadow: 2px 2px 0px #FFF, -2px 2px 0px #FFF, 2px -2px 0px #FFF, -2px -2px 0px #FFF, 2px 0px 0px #FFF, -2px 0px 0px #FFF, 0px 2px 0px #FFF, 0px -2px 0px #FFF;
  /* 上 */
}
.fv__btn {
  position: absolute;
  bottom: 10%;
  width: 45.1562%;
  left: 18%;
}
.fv__btnTxt {
  font-size: 1.666667vw;
  color: #FFF;
  text-align: center;
  font-weight: bold;
}
.fv__btnImg {
  margin-top: 2%;
  border-radius: 30px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.service {
  padding: 5.6774% 0 5.3125%;
  background-image: url(../img/service-bg.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  text-align: center;
  /* 前へ次への矢印カスタマイズ */
  /* 前への矢印カスタマイズ */
  /* 次への矢印カスタマイズ */
}
.service__ttl {
  width: 18.385417%;
  margin: 0 auto;
}
.service__txt {
  font-size: 1.041667vw;
  line-height: 1.7;
  margin-top: 1.667%;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.service__txt span {
  background: linear-gradient(transparent 60%, #FBFF8D 50%);
  padding-bottom: 0.1%;
}
.service__subTtl {
  margin: 3.125% auto 0;
  width: 42.552083%;
}
.service__work {
  margin: 4.0626% auto 0;
}
.service__workTtl {
  width: 45.364583%;
  margin: 0 auto;
}
.service .swiper-container {
  position: relative;
  margin-top: 3.9586%;
}
.service .swiper {
  width: 61.667%;
}
.service .swiper-button-prev,
.service .swiper-button-next {
  height: 12.984%;
  width: 2.396%;
}
.service .swiper-button-prev {
  left: 15.5%;
}
.service .swiper-button-next {
  right: 15.5%;
}
.service .swiper-button-prev::after,
.service .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  margin: auto;
  height: 100%;
  width: 100%;
}
.service .swiper-button-prev::after {
  background-image: url(../img/arrow-left.webp);
}
.service .swiper-button-next::after {
  background-image: url(../img/arrow-right.webp);
}
.service__workTxt {
  margin: 3.2294% auto 0;
  width: 68.75%;
  line-height: 1.5;
  font-size: 1.458333vw;
  color: #FFF;
  background-color: #1E55AD;
  padding: 2% 0;
  font-weight: bold;
}
.service__workTxt span {
  color: #F4F80E;
  font-size: 1.666667vw;
}

.banner {
  margin-top: -3.7%;
}

.cta {
  padding: 2.8646% 0 2.969%;
  position: relative;
  background-image: linear-gradient(90deg, rgb(61, 116, 205), rgb(18, 59, 126));
}
.cta__txt {
  font-size: 1.6666667vw;
  color: #F4F80E;
  font-weight: bold;
  text-align: center;
}
.cta__txt span {
  color: #FFF;
  font-size: 1.5625vw;
}
.cta__img {
  position: absolute;
  width: 19.792%;
  bottom: 0;
  right: 5.8%;
}
.cta__btnImg {
  width: 47.2399%;
  margin: 1.3024% auto 0;
  border-radius: 30px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.voice {
  background-image: url(../img/voice-bg.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 3.9587% 0 3.2813%;
}
.voice__ttl {
  position: relative;
  text-align: center;
  color: #FFF;
  font-weight: bold;
  font-style: italic;
  font-size: 2.916667vw;
}
.voice__ttl::after {
  position: absolute;
  background-image: url(../img/voice-ttl-icon.webp);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 157.15%;
  width: 5.2606%;
  top: 50%;
  right: 35.5%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.voice__list {
  margin: 2.7087% auto 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 68.489583%;
}
.voice__item {
  background-color: #FFF;
  border-radius: 10px;
  width: 47.605%;
  padding: 2.1298% 5.932% 2.1298% 2.586%;
  font-family: "Noto Sans JP";
  border: 1px solid #1E55AD;
}
.voice__item:nth-child(n+3) {
  margin-top: 3.042%;
}
.voice__itemTop {
  display: flex;
}
.voice__itemIcon {
  width: 11.137%;
}
.voice__itemTopContent {
  font-weight: bold;
  margin-left: 3.536%;
}
.voice__itemSubTtl {
  font-size: 0.9375vw;
  font-weight: 500;
}
.voice__itemTtl {
  margin-top: 6.437%;
  color: #1E55AD;
  font-size: 1.458333vw;
}
.voice__itemTxt {
  margin-top: 4.95%;
  line-height: 1.6;
  font-size: 0.9375vw;
}
.voice__itemTxt span {
  font-weight: bold;
  background: linear-gradient(transparent 60%, #FBFF8D 50%);
  padding-bottom: 0.1%;
}

.servicearea {
  background-image: url(../img/servicearea-bg.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 3.9587% 0 3.2813%;
}
.servicearea__ttl {
  width: 33.75%;
  margin: 0 auto;
}
.servicearea__inner {
  width: 68.697917%;
  display: flex;
  justify-content: space-between;
  margin: 2.917% auto 0;
}
.servicearea__content {
  width: 54.739%;
}
.servicearea__txt {
  font-size: 1.041667vw;
  line-height: 1.6;
  font-weight: 500;
  font-family: "Noto Sans JP";
}
.servicearea__txt span {
  background: linear-gradient(transparent 60%, #FBFF8D 50%);
  padding-bottom: 0.1%;
}
.servicearea__imgSp {
  display: none;
}
.servicearea__subTxt {
  margin-top: 4.433%;
}
.servicearea__btnImg {
  margin-top: 1.801%;
}
.servicearea__img {
  width: 41.3196%;
}

.reason {
  background-image: url(../img/reason-bg.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 5% 0 5.625%;
}
.reason__ttl {
  width: 41.041667%;
  margin: 0 auto;
}
.reason__list {
  width: 92.708333%;
  margin: 2.6045% auto 0;
  display: flex;
  justify-content: space-between;
}
.reason__item {
  background-color: #FFF;
  border-radius: 10px;
  border: 4px solid #91BDDD;
  text-align: center;
  padding: 1.798% 2.0789% 5.1689%;
  width: 19.5506%;
}
.reason__itemIcon {
  font-size: 1.927083vw;
  color: #FFF;
  background-color: #1E55AD;
  width: 27.07%;
  line-height: 1.946;
  margin: 0 auto;
  border-radius: 50%;
  font-weight: bold;
}
.reason__itemTtl {
  color: #1E55AD;
  font-weight: bold;
  line-height: 1.3;
  font-size: 1.979167vw;
  margin-top: 5%;
}
.reason__itemTxt {
  margin-top: 5.64%;
  line-height: 1.6;
  text-align: left;
  font-size: 1.041667vw;
  font-family: "Noto Sans JP";
}

.flow {
  background-image: url(../img/flow-bg.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 5.469% 0 8.8024%;
}
.flow__ttl {
  width: 27.8125%;
  margin: 0 auto;
}
.flow__inner {
  position: relative;
  width: 82.057292%;
  margin: 5.4689% auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.flow__inner::after {
  position: absolute;
  content: "";
  width: 28px;
  height: 100%;
  background-image: linear-gradient(180deg, #48A3E9, #013D6B);
  border-radius: 10px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.flow__list {
  width: 47.604%;
}
.flow__item {
  background-color: #FFF;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.667% 7.334%;
}
.flow__item:nth-child(n+2) {
  margin-top: 19.467%;
}
.flow__content {
  width: 64.376%;
}
.flow__itemTtl {
  font-size: 1.6666667vw;
  font-weight: bold;
  color: #1E55AD;
  white-space: nowrap;
}
.flow__itemTxt {
  font-size: 0.9375vw;
  line-height: 1.5;
  margin-top: 4.3099%;
  font-weight: bold;
}
.flow__list:nth-child(2) .flow__item:first-child .flow__itemTxt {
  white-space: nowrap;
}
.flow__itemImg {
  width: 29.376%;
}
.flow__listSp {
  display: none;
}

.cash {
  background-color: #F5B355;
  padding: 4.4274% 0 4.0105%;
}
.cash__ttl {
  width: 15.677083%;
  margin: 0 auto;
}
.cash__txt {
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  font-size: 1.458333vw;
  margin-top: 2.8647%;
}
.cash__inner {
  margin: 2.396% auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 60.885417%;
}
.cash__img {
  width: 56.2878%;
}
.cash__list {
  font-size: 1.041667vw;
  font-weight: bold;
  text-align: center;
  width: 23.9524%;
}
.cash__item {
  border: 5px solid #F8970E;
  background-color: #FFF;
  border-radius: 20px;
  padding: 6.073% 0;
}
.cash__item:nth-child(n+2) {
  margin-top: 7.145%;
}

.qa {
  background-image: url(../img/qa-bg.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 5.417% 0 4.375%;
  /*=========
  accordion
  =========*/
}
.qa__ttl {
  text-align: center;
  font-style: italic;
  font-size: 2.916667vw;
  font-weight: bold;
  background-image: linear-gradient(180deg, #0177D1, #013D6B);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.qa .accordion_area {
  width: 62.5%;
  margin: 2.969% auto 0;
}
.qa .accordion_one:nth-child(n+2) {
  margin-top: 2.25%;
}
.qa .accordion_area .accordion_one .ac_header {
  padding: 3% 0;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition: 0.2s;
  background-color: #FFF;
}
.qa .accordion_area .accordion_one .ac_header::after {
  position: absolute;
  content: "+";
  background-color: #1E55AD;
  top: 50%;
  right: 10%;
  width: 3.667%;
  height: 36.07%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFF;
  font-weight: bold;
  border-radius: 50%;
  font-size: 1.041667vw;
  font-family: "Zen Kaku Gothic New";
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transition: 0.3s;
}
.qa .accordion_area .accordion_one .open.ac_header::after {
  content: "-";
  background-color: #3B3938;
  transition: 0.3s;
  font-size: 1.9vw;
  font-weight: 400;
  display: block;
  text-align: center;
  font-family: "Noto Sans JP";
}
.qa .accordion_area .accordion_one .ac_inner {
  display: none;
  box-sizing: border-box;
  background: #fff;
}
.qa .p-faq__headinner {
  display: block;
  position: relative;
  padding-left: 5.25%;
  padding-right: 8%;
}
.qa .p-faq__headinner p.p-faq__q-txt {
  font-size: 1.041667vw;
  font-family: "Noto Sans JP";
  display: flex;
  align-items: center;
}
.qa .p-faq__headinner p.p-faq__q-txt span {
  margin-right: 5.092%;
  font-family: "Zen Kaku Gothic New";
  font-size: 2.604167vw;
  color: #1E55AD;
}
.qa .p-faq__bodyinner {
  display: block;
  position: relative;
  line-height: 1.5;
  padding: 0 5.25%;
}
.qa .p-faq__bodyinner p.p-faq__a-txt {
  font-size: 1.041667vw;
  display: flex;
  border-top: 1px solid #75E2C6;
  padding: 2.794% 0 5.9597%;
}
.qa .p-faq__bodyinner p.p-faq__a-txt span {
  margin-right: 5.092%;
  font-family: "Zen Kaku Gothic New";
  font-size: 2.604167vw;
  color: #F8970E;
  display: block;
}

.foot.cta {
  position: fixed;
  bottom: 4%;
  z-index: 999;
  background: none;
  padding: 0;
  opacity: 0;
}
.foot.cta .cta__txt {
  display: none;
}
.foot.cta .cta__img {
  display: none;
}
.foot.cta .cta__btnWrapper {
  display: flex;
  justify-content: center;
  gap: 2rem;
}
.foot.cta .cta__btnImg {
  margin: 0;
  width: 38%;
  box-shadow: none;
}

.spBr {
  display: none;
}

/*　上に上がる動き　*/
#cta-btn.UpMove {
  animation: UpAnime 0.8s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#cta-btn.DownMove {
  animation: DownAnime 0.8s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(200px);
  }
}
@media screen and (max-width: 767px) {
  .fv__subTtl {
    width: 84%;
    text-align: center;
    padding: 3.335% 0;
  }
  .fv__subTtl p {
    font-size: 5.866667vw;
  }
  .fv__ttl {
    font-size: 8.8vw;
    width: 100%;
    text-align: center;
    top: 18.5%;
    left: 47%;
    line-height: 1.3;
  }
  .fv__ttl span {
    font-size: 10.56vw;
  }
  .fv__content {
    margin-top: -4%;
  }
  .fv__list {
    width: 84%;
    display: block;
    top: 37%;
  }
  .fv__item {
    width: 100%;
    font-size: 5.333333vw;
    padding: 4.764%;
  }
  .fv__item:nth-child(n+2) {
    margin-top: 5.715%;
  }
  .fv__btn {
    width: 94.133333%;
    left: 50%;
    bottom: 7%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .fv__btnTxt {
    font-size: 4.8vw;
  }
  .fv__btnImg {
    margin-top: 5.1%;
  }
  .service {
    padding: 14.667% 0 18.4%;
    background-image: url(../img/service-bg-sp.webp);
  }
  .service__ttl {
    width: 46.133333%;
  }
  .service__txt {
    font-size: 4.8vw;
    width: 85%;
    margin: 8% auto 0;
    text-align: left;
  }
  .service__subTtl {
    margin: 10.667% auto 0;
    width: 84%;
  }
  .service__work {
    margin: 8% auto 0;
  }
  .service__workTtl {
    width: 89.6%;
  }
  .service .swiper {
    width: 89.6%;
  }
  .service .swiper-button-prev,
  .service .swiper-button-next {
    height: 14.995%;
    width: 12.267%;
  }
  .service .swiper-button-prev {
    left: 2.3%;
  }
  .service .swiper-button-next {
    right: 2.3%;
  }
  .service__workTxt {
    width: 92%;
    font-size: 4.8vw;
    margin: 14.667% auto 0;
    padding: 9.334% 0 8%;
  }
  .service__workTxt span {
    font-size: 6.8vw;
    margin-top: 5.799%;
    display: block;
  }
  .banner {
    margin-top: -10.4%;
  }
  .cta {
    padding: 9.867% 0 8%;
  }
  .cta__txt {
    line-height: 1;
    font-size: 7.466667vw;
  }
  .cta__txt span {
    display: block;
    font-size: 5.333333vw;
    line-height: 1.5;
    margin-top: 10.135%;
    text-align: left;
    padding-left: 9%;
  }
  .cta__img {
    position: absolute;
    width: 37.6%;
    bottom: 33.5%;
    right: 8.5%;
  }
  .cta__btnImg {
    margin-top: 10.135%;
    width: 94.133333%;
  }
  .voice {
    padding: 13.867% 0 15.2%;
    background-image: url(../img/voice-bg-sp.webp);
  }
  .voice__ttl {
    font-size: 9.6vw;
    text-align: left;
    padding-left: 19%;
  }
  .voice__ttl::after {
    height: 100%;
    width: 10.934%;
    top: 50%;
    right: 17.5%;
  }
  .voice__list {
    width: 92%;
    display: block;
    margin: 8% auto 0;
  }
  .voice__item {
    width: 100%;
    padding: 6.957% 0 10%;
  }
  .voice__item:nth-child(n+2) {
    margin-top: 6.958%;
  }
  .voice__itemTop {
    align-items: center;
    justify-content: center;
  }
  .voice__itemIcon {
    width: 17.265%;
  }
  .voice__itemTopContent {
    margin-left: 7.195%;
  }
  .voice__itemSubTtl {
    font-size: 4.8vw;
  }
  .voice__itemTtl {
    font-size: 7.466667vw;
    margin-top: 5%;
  }
  .voice__itemTxt {
    width: 89%;
    margin: 5.833% auto 0;
    font-size: 4.8vw;
  }
  .servicearea {
    background-image: url(../img/servicearea-bg-sp.webp);
    padding: 13.867% 0 10.667%;
  }
  .servicearea__ttl {
    width: 81.333333%;
  }
  .servicearea__inner {
    display: block;
    margin: 8.534% auto 0;
    width: 100%;
  }
  .servicearea__content {
    width: 100%;
  }
  .servicearea__txt {
    font-size: 4.266667vw;
    width: 84.266667%;
    margin: 0 auto;
  }
  .servicearea__imgSp {
    display: block;
    width: 92%;
    margin: 8.534% auto 0;
  }
  .servicearea__subTxt {
    margin-top: 10.667%;
  }
  .servicearea__btnImg {
    margin: 6.135% auto 0;
    width: 94.133333%;
  }
  .servicearea__img {
    display: none;
  }
  .reason {
    background-image: url(../img/reason-bg-sp.webp);
    padding: 13.067% 0;
  }
  .reason__ttl {
    width: 88%;
  }
  .reason__list {
    margin: 10.667% auto 0;
    width: 92%;
    display: block;
  }
  .reason__item {
    width: 100%;
    padding: 4.35% 3.189% 4.928%;
  }
  .reason__item:nth-child(n+2) {
    margin-top: 5.799%;
  }
  .reason__itemInner {
    display: flex;
    align-items: center;
  }
  .reason__itemIcon {
    font-size: 5.9114286vw;
    width: 12.802%;
    line-height: 1.8195;
    margin: 0;
  }
  .reason__itemTtl {
    font-size: 6.4vw;
    font-size: 6.4vw;
    margin-top: 0;
    line-height: 1;
    margin-left: 2%;
  }
  .reason__itemTxt {
    margin-top: 6.35%;
    font-size: 4.266667vw;
  }
  .flow {
    background-image: url(../img/flow-bg-sp.webp);
    padding: 13.335% 0;
  }
  .flow__inner {
    display: none;
  }
  .flow__ttl {
    width: 75.466667%;
  }
  .flow__listSp {
    margin: 8% auto 0;
    width: 92%;
  }
  .flow__item {
    display: block;
    padding: 5.799% 4.35%;
  }
  .flow__item:nth-child(n+2) {
    margin-top: 8%;
  }
  .flow__itemImg {
    width: 59.685%;
    margin: 0 auto;
  }
  .flow__content {
    width: 100%;
  }
  .flow__itemTtl {
    margin-top: 7.937%;
    font-size: 7.4vw;
    white-space: normal;
    line-height: 1.3;
  }
  .flow__itemTxt {
    margin-top: 6.35%;
    font-size: 4.8vw;
  }
  .cash {
    padding: 13.335% 0 11.467%;
  }
  .cash__ttl {
    width: 50%;
  }
  .cash__txt {
    margin: 4% auto 0;
    font-size: 4.266667vw;
    text-align: left;
    width: 84%;
  }
  .cash__inner {
    margin: 8.534% auto 0;
    flex-direction: column-reverse;
    width: 100%;
  }
  .cash__img {
    width: 92%;
    margin-top: 8%;
  }
  .cash__list {
    width: 74.666667%;
    font-size: 5.333333vw;
  }
  .cash__item:nth-child(n+2) {
    margin-top: 3.574%;
  }
  .qa {
    padding: 13.867% 0 18.667%;
  }
  .qa__ttl {
    font-size: 9.6vw;
  }
  .qa .accordion_area {
    margin: 8% auto 0;
    width: 92%;
  }
  .qa .accordion_area .accordion_one .ac_header {
    padding: 8.696% 0;
  }
  .qa .p-faq__headinner {
    padding-right: 16%;
    padding-left: 4.638%;
  }
  .qa .p-faq__headinner p.p-faq__q-txt {
    font-size: 4.266667vw;
    line-height: 1.5;
  }
  .qa .p-faq__headinner p.p-faq__q-txt span {
    font-size: 8vw;
  }
  .qa .accordion_area .accordion_one .ac_header::after {
    top: 36%;
    right: 4%;
    width: 29px;
    height: 29px;
    font-size: 3.733333vw;
  }
  .qa .accordion_area .accordion_one .open.ac_header::after {
    font-size: 6.2vw;
  }
  .qa .p-faq__bodyinner {
    padding-right: 16%;
  }
  .qa .p-faq__bodyinner p.p-faq__a-txt {
    font-size: 4.266667vw;
    padding: 8.696% 0;
  }
  .qa .p-faq__bodyinner p.p-faq__a-txt span {
    font-size: 8vw;
  }
  .foot.cta {
    bottom: 1%;
    z-index: 999;
    background: none;
    padding: 0;
  }
  .foot.cta .cta__txt {
    display: none;
  }
  .foot.cta .cta__img {
    display: none;
  }
  .foot.cta .cta__btnWrapper {
    display: block;
  }
  .foot.cta .cta__btnImg {
    margin: 0 auto;
    width: 95%;
  }
  .footer {
    padding: 9.867% 0 8%;
  }
  .footer__btn {
    width: 90%;
  }
  .pcBr {
    display: none;
  }
  .spBr {
    display: block;
  }
}

/* 固定問い合わせボタン */
.p-front__fix {
  position: fixed;
  bottom: 2rem;
  left: 2rem;
  z-index: 1000;
}

.p-front__fix--trigger {
  width: 9rem;
  height: 9rem;
  background: linear-gradient(135deg, #4A90E2 0%, #357ABD 50%, #4A90E2 100%);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(74, 144, 226, 0.4), 0 2px 6px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
  color: white;
  font-size: 1rem;
  font-weight: bold;
  position: relative;
  border: 3px solid white;
  animation: pulse 2s infinite;
  line-height: 1.2;
  text-align: center;
  padding: 0.5rem;
}

/* 脈動アニメーション */
@keyframes pulse {
  0% {
    box-shadow: 0 6px 20px rgba(74, 144, 226, 0.4), 0 2px 6px rgba(0,0,0,0.1), 0 0 0 0 rgba(74, 144, 226, 0.7);
  }
  70% {
    box-shadow: 0 6px 20px rgba(74, 144, 226, 0.4), 0 2px 6px rgba(0,0,0,0.1), 0 0 0 10px rgba(74, 144, 226, 0);
  }
  100% {
    box-shadow: 0 6px 20px rgba(74, 144, 226, 0.4), 0 2px 6px rgba(0,0,0,0.1), 0 0 0 0 rgba(74, 144, 226, 0);
  }
}

.p-front__fix--trigger:hover {
  transform: scale(1.1);
  box-shadow: 0 8px 25px rgba(74, 144, 226, 0.6), 0 4px 12px rgba(0,0,0,0.2);
}

.p-front__fix--trigger::before {
  content: "💬";
  font-size: 1.6rem;
  margin-bottom: 0.1rem;
  display: block;
}

.p-front__fix--menu {
  position: absolute;
  bottom: 10rem;
  left: 0;
  background: white;
  border-radius: 1.5rem;
  padding: 1.5rem;
  box-shadow: 0 8px 30px rgba(0,0,0,0.15), 0 2px 8px rgba(0,0,0,0.1);
  opacity: 0;
  transform: translateY(1rem);
  transition: all 0.3s ease;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 16rem;
  border: 1px solid rgba(0,0,0,0.05);
}

.p-front__fix--menu.active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.p-front__fix--menu .c-btn {
  margin: 0;
  max-width: none;
  width: 100%;
  padding: 1.2rem 1.8rem;
  font-size: 1.5rem;
  font-weight: bold;
  justify-content: center;
  border-radius: 12px;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: white;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.p-front__fix--menu .c-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.p-front__fix--menu .c-btn .icon {
  font-size: 2rem;
}

/* 電話ボタン */
.p-front__fix--menu .c-btn-tel {
  background: linear-gradient(135deg, #FF4444 0%, #FD3825 100%);
  box-shadow: 0px 4px 0px #812017, 0 2px 8px rgba(253, 56, 37, 0.3);
}



/* スマホ対応 */
@media screen and (max-width: 768px) {
  .p-front__fix--trigger {
    width: 8rem;
    height: 8rem;
    font-size: 0.9rem;
    padding: 0.3rem;
  }
  
  .p-front__fix--trigger::before {
    font-size: 1.4rem;
    margin-bottom: 0.1rem;
  }
  
  .p-front__fix--menu {
    bottom: 9rem;
    width: 15rem;
    padding: 1.2rem;
  }
  
  .p-front__fix--menu .c-btn {
    font-size: 1.3rem;
    padding: 1rem 1.5rem;
    justify-content: center;
  }
  
  .p-front__fix--menu .c-btn .icon {
    font-size: 1.8rem;
  }
}

/* 固定電話フッターのデザイン */
.fixed-phone-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #004098; /* 青色ベース */
    padding: 8px 0;
    box-shadow: 0 -3px 12px rgba(0,0,0,0.3);
    z-index: 10000;
}

.phone-link {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: white;
}

.phone-top-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 2px;
}

.phone-badge {
    background: transparent;
    border: 1px solid white;
    color: white;
    font-size: 11px;
    padding: 1px 5px;
    border-radius: 3px;
    line-height: 1.2;
}

.phone-number {
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.phone-bottom-text {
    font-size: 15px;
    font-weight: bold;
    color: #ffeb3b; /* 黄色い文字 */
}

/* PC等では非表示にする場合（モバイル専用にする場合） */
@media screen and (min-width: 768px) {
    /* .fixed-phone-footer { display: none; } */
}

/*# sourceMappingURL=style.css.map */