@charset "UTF-8";

/* ---------------------------------------------
  reset
--------------------------------------------- */
body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-family: 'Hiragino Kaku Gothic Pro', 'Hiragino Sans', 'BIZ UDPGothic', 'Meiryo', 'MS PGothic', sans-serif;
}

/* 解析タグの隙間対策 */
body > img {
  display: none;
}

.lp_main div, .lp_main span, .lp_main iframe, .lp_main h1, .lp_main h2, .lp_main h3, .lp_main h4, .lp_main h5, .lp_main h6, .lp_main p, .lp_main address, .lp_main img, .lp_main small, .lp_main strong, .lp_main sub, .lp_main sup, .lp_main dl,
.lp_main dt, .lp_main dd, .lp_main ol, .lp_main ul, .lp_main form, .lp_main label, .lp_main table, .lp_main caption, .lp_main tbody, .lp_main tfoot, .lp_main thead, .lp_main tr, .lp_main th, .lp_main td, .lp_main article,
.lp_main aside, .lp_main footer, .lp_main header, .lp_main menu, .lp_main nav, .lp_main section, .lp_main video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 0;
  line-height: 0;
  vertical-align: baseline;
}

.lp_main article, .lp_main aside, .lp_main details, .lp_main figcaption, .lp_main figure,
.lp_main footer, .lp_main header, .lp_main menu, .lp_main nav, .lp_main section {
  display: block;
}

.lp_main ol, .lp_main ul {
  list-style: none;
}

.lp_main :focus {
  outline: 0;
}

.lp_main table {
  border-collapse: collapse;
  border-spacing: 0;
}

.lp_main *,
.lp_main *::before,
.lp_main *::after {
  box-sizing: border-box;
}

.lp_main img,
.lp_main video,
.lp_main svg {
  display: block;
  height: auto;
  vertical-align: bottom;
  width: 100%;
  max-width: 100%;
}

/* ---------------------------------------------
  common
--------------------------------------------- */
/* スムーススクロール */
html {
  scroll-behavior: smooth;
}

.lp_main {
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
}

/* positionで配置したい要素の外側に使用 */
.lp_main .p_box {
  position: relative;
}

.lp_main a {
  transition: all 0.3s;
}

.lp_main a:hover {
  filter: brightness(1.1);
}

/*============================
.offer
============================*/
.lp_main .offer {
  background-color: #bc0000;
  padding: min(calc(66/750*100%), 66px) 0 min(calc(60/750*100%), 60px) 0;
}

.lp_main .offer h2 {
  width: calc(553/750*100%);
  margin: 0 auto calc(24/750*100%);
}

.lp_main .offer .btn-tel {
  width: calc(654/750*100%);
  margin: 0 auto;
}

.lp_main .offer .btn-web {
  width: calc(665/750*100%);
  margin: 0 auto;
}

/*============================
#point
============================*/
.lp_main #point {
  background-color: #fff0f0;
}

.lp_main #point .point-list {
  width: calc(690/750*100%);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: calc(100/690*100%);
}

.lp_main #point .point-list li {
  width: calc(332/690*100%);
  margin-bottom: calc(15/690*100%);
}

/*============================
#merit
============================*/
.lp_main .tab-container {
  width: calc(690/750*100%);
  margin: 0 auto;
}

.lp_main .tab-container .tabs {
  display: flex;
  flex-wrap: wrap;
}

.lp_main #merit .tabs li {
  width: calc(230/690*100%);
}

/*============================
#step
============================*/
.lp_main #step .p_box .btn-inquiry {
  position: absolute;
  width: calc(664/750*100%);
  top: 46%;
  left: 50%;
  transform: translateX(-50%);
}

.lp_main #step .tabs li {
  width: calc(345/690*100%);
}
.lp_main #step .tab-container {
  margin-bottom: calc(85/750*100%);
}
.lp_main #step .tab-container .tab_content {
  position: relative;
}

.lp_main #step .tab-container .tab_content .btn-form {
  position: absolute;
  width: calc(654/750*100%);
  top: 79%;
  left: 50%;
  transform: translateX(-50%);
}

/*============================
#plan
============================*/
.lp_main #plan {
  background-color: #fff0f0;
}

.lp_main #plan .js-accordion {
  width: calc(690/750*100%);
  margin: 0 auto;
  padding-bottom: min(calc(78/750*100%), 78px);
}

.lp_main #plan .js-accordion .js_acoBtn {
  position: relative;
  cursor: pointer;
}

.lp_main #plan .js-accordion .js_acoBtn .js_acoIcn {
  width: calc(31/690*100%);
  padding-top: calc(18/690*100%);
  position: absolute;
  top: 43%;
  right: 5%;
  background-image: url(/lp/lp_common/img/pran-icon_common.png);
  background-size: contain;
  background-repeat: no-repeat;
  transition: all ease 0.2s;
}

.lp_main #plan .js-accordion .js_acoBtn .js_acoIcn.is_active {
  transform: rotate(180deg);
}
.lp_main #plan .js-accordion dd {
  display: none;
}
/*============================
#support
============================*/
.lp_main #support {
  background-color: #e60012;
}

.lp_main #support .p_box {
  padding-bottom: min(calc(90/750*100%), 90px);
}

.lp_main #support video {
  width: calc(690/750*100%);
  margin: 0 auto;
}

/*============================
#qvou
============================*/
.lp_main #qvou {
  background-color: #e60012;
  overflow: hidden;
}

.lp_main #qvou .swiper.qvou-swiper {
  width: calc(700/750*100%);
  margin: 0 auto;
  overflow: visible;
  padding-bottom: min(calc(78/750*100%), 78px);
}

.lp_main #qvou .swiper.qvou-swiper .swiper-pagination {
  position: absolute;
  bottom: 4%;
}

.lp_main #qvou .swiper.qvou-swiper .swiper-button-prev {
  background-image: url(/lp/lp_common/img/slide-prev_common.png);
  width: calc(60/700*100%);
  background-size: contain;
  background-repeat: no-repeat;
  padding-top: calc(60/700*100%);
  height: 0;
  top: 53%;
  left: -3%;
}

.lp_main #qvou .swiper.qvou-swiper .swiper-button-prev:after,
.lp_main #qvou .swiper.qvou-swiper .swiper-button-next:after {
  font-size: 0;
}

.lp_main #qvou .swiper.qvou-swiper .swiper-button-next {
  background-image: url(/lp/lp_common/img/slide-next_common.png);
  width: calc(60/700*100%);
  padding-top: calc(60/700*100%);
  background-size: contain;
  background-repeat: no-repeat;
  height: 0;
  top: 53%;
  right: -3%;
}

.lp_main #qvou .swiper.qvou-swiper .swiper-pagination-bullet {
  background-color: #b40000;
  opacity: 1;
  width: min(calc(12/750*100vw), 12px);
  height: min(calc(12/750*100vw), 12px);
  margin: 0 3%;
}

.lp_main #qvou .swiper.qvou-swiper .swiper-pagination-bullet-active {
  background-color: #FFF;
}

/*============================
#faq
============================*/
.lp_main #faq .js-accordion {
  width: calc(690/750*100%);
  margin: 0 auto calc(28/750*100%);
}

.lp_main #faq .js-accordion .js_acoBtn {
  position: relative;
  cursor: pointer;
}

.lp_main #faq .js-accordion .js_acoBtn .js_acoIcn {
  width: min(calc(20/750*100vw), 20px);
  height: min(calc(20/750*100vw), 20px);
  position: absolute;
  top: 40%;
  right: 5%;
  transition: all ease 0.2s;
}

.lp_main #faq .js-accordion .js_acoBtn .js_acoIcn:before,
.lp_main #faq .js-accordion .js_acoBtn .js_acoIcn:after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  top: 50%;
  padding-top: calc(3/20*100%);
  background-image: url(/lp/lp_common/img/faq-icon_common.png);
  background-size: cover;
  transition: all ease 0.2s;
}

.lp_main #faq .js-accordion .js_acoBtn .js_acoIcn:after {
  transform: rotate(90deg);
}

.lp_main #faq .js-accordion .js_acoBtn .js_acoIcn.is_active:after {
  transform: rotate(0deg);
}

.lp_main #faq .js-accordion dd {
  position: relative;
  display: none;
}

.lp_main #faq .js-accordion dd .btn-inquiry {
  position: absolute;
  width: calc(223/750*100%);
  top: 35%;
  left: 50%;
  transform: translateX(-50%);
}
/*============================
#close
============================*/
.lp_main #close .p_box .btn-close-tel {
  position: absolute;
  width: calc(481/750*100%);
  top: 44%;
  left: 50%;
  transform: translateX(-50%);
}
.lp_main #close>.p_box {
  display: none;
}

.lp_main #close .offer {
  margin-bottom: 8%;
}

/* ---------------------------------------------
  追従ボタン
--------------------------------------------- */
.lp_main .bl_floatArea {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 750px;
  margin: auto;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.4s, opacity 0.4s;
}

.lp_main .bl_floatArea.is_show {
  visibility: visible;
  opacity: 1;
}

.lp_main .bl_floatArea_btn {
  width: min(750 / 750 * 100vw, 750px);
}

.lp_main .bl_floatArea.js_floatArea .bl_floatArea_inner .tel-area {
  display: flex;
}

.lp_main .bl_floatArea.js_floatArea .bl_floatArea_inner .tel-area .btn-fixed-tel {
  width: calc(330/750*100%);
}

.lp_main .bl_floatArea.js_floatArea .bl_floatArea_inner .tel-area .btn-fixed-web {
  width: calc(420/750*100%);
}

/* ---------------------------------------------
  footer
--------------------------------------------- */
#footer {
  background-color: #333333;
  color: #ffffff;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  font-size: clamp(12px, calc(16 * 100vw / 750), 16px);
}

#footer .footer-inner {
  max-width: 750px;
  margin: 0 auto;
  padding: min(calc(90/750*100%), 90px) 0 min(calc(145/750*100%), 145px);
}

#footer .footer-inner h2 {
  width: calc(356/750*100%);
  margin: 0 auto calc(75/750*100%);
}

#footer .footer-inner h2 img {
  width: 100%;
}

#footer .footer-list {
  margin: 0;
  padding: 0;
}

#footer li {
  list-style: none;
  display: block;
  text-align: center;
  font-size: clamp(10px, calc(20 * 100vw / 750), 20px);
  letter-spacing: 0.2em;
  font-weight: 600;
  margin-bottom: calc(48/750*100%);
}

#footer li:last-child {
  margin-bottom: 0;
}

#footer .footer_copyright {
  text-align: center;
  font-size: clamp(8px, calc(16 * 100vw / 750), 16px);
  letter-spacing: 0.1em;
  font-weight: 200;
}

#footer a:link {
  color: #ffffff;
  text-decoration: none;
}

#footer a:visited {
  color: #ffffff;
}