/*============================
base
============================*/
body {
  margin:0;
}
html  {
  scroll-behavior: smooth;
}

.lp_main {
  overflow-x: hidden;
  max-width: 750px;
  margin: 0 auto;
}
.lp_main a {
  text-decoration: none;
  transition: all ease 0.3s;
}
.lp_main a:hover {
  filter: brightness(1.1);
}
.lp_main a img {
  border: 0;
  vertical-align: middle;
}
.lp_main img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  line-height: 0;
  font-size: 0;
}

.lp_main h1,
.lp_main h2,
.lp_main h3,
.lp_main h4,
.lp_main p,
.lp_main li,
.lp_main dt,
.lp_main dd{
  margin:0;
  padding:0;
  line-height: 0;
  font-size: 0;
  list-style: none;
}
.lp_main ol,
.lp_main ul,
.lp_main dl {
  margin: 0;
  padding:0;
  list-style: none;
}

/*============================
utility
============================*/
.lp_main .p-box {
  position: relative;
}

/*============================
アコーディオン共通
============================*/
.lp_main .aco_btn {
  position: relative;
  cursor: pointer;
}
.lp_main .aco_contents {
  display: none;
}

/* アイコン共通 */
.lp_main .icn_area {
  display: flex;
  position: absolute;
  top: 50%;
  right: 2%;
  width: 5%;
  height: 38%;
  transform: translate(0, -50%);
  align-items: center;
  justify-content: center;
}

/* アイコン くの字 */
.lp_main .icn__hook::before {
  content: '';
  width: min(calc((20 / 750) * 100vw), 20px);
  height: min(calc((20 / 750) * 100vw), 20px);
  border-top: solid clamp(1px, calc((2 / 750) * 100vw), 2px) #000;
  border-right: solid clamp(1px, calc((2 / 750) * 100vw), 2px) #000;
  transform: rotate(135deg) translate(-20%, 20%);
}
.lp_main .icn__hook.is_active::before {
  transform: rotate(-45deg) translate(-20%, 20%);
}

/*============================
contents
============================*/
.lp_main .point04_ani {
  position: absolute;
  top: 44%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: calc(635 / 750 * 100%);
}
.lp_main .point11_ani {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: calc(629 / 750 * 100%);
}

.lp_main .sec_cv {
  position: relative;
}
.lp_main .sec_cv .btn-cv {
  position: absolute;
  width: calc(586 / 750 * 100%);
  top: 59%;
  left: 13%;
}

/*============================
.sec_cycle（cycle_03 とボタン＋アコーディオン）
============================*/
.lp_main .sec_cycle .cycle_03_accordion_box {
  margin: 0;
  background-color: #fef668;
  padding-bottom: 5%;
}
.lp_main .sec_cycle .cycle_03_overlay_btn {
  width: calc(690 / 750 * 100%);
  margin: 0 auto;
  line-height: 0;
}
/* アイコン見た目：FAQ と同じ形状を親scaleで縦のみ調整（対称維持） */
.lp_main .sec_cycle .icn_area {
  transform: translate(0, -50%) scale(1, 0.6);
}
.lp_main .sec_cycle .icn__hook::before {
  border-top: solid clamp(2px, calc((3 / 750) * 100vw), 4px) #fff;
  border-right: solid clamp(2px, calc((3 / 750) * 100vw), 4px) #fff;
}

/*============================
.sec_faq
============================*/
.lp_main .sec_faq {
  background-color: #fef668;
  padding-bottom: 5%;
}
.lp_main .sec_faq .accordion {
  width: calc(690/750*100%);
  margin: 0 auto calc(35/750*100%);
}

/* ---------------------------------------------
 追従ボタン（poreclearserum_normal 準拠）
--------------------------------------------- */
.lp_main .bl_floatArea {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transition: visibility .4s, opacity .4s;
  box-sizing: border-box;
  pointer-events: none;
}
.lp_main .bl_floatArea.is_show {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.lp_main .bl_floatArea_inner {
  max-width: 750px;
  margin: 0 auto;
  box-sizing: border-box;
}
.lp_main .bl_floatArea_btn {
  display: block;
  text-align: center;
  width: calc(700 / 750 * 100%);
  margin-left: 4%;
  margin-right: auto;
  max-width: none;
}
.lp_main .bl_floatArea_btn img {
  width: 100%;
  height: auto;
}

 #footer {
  background-color: #000;
  max-width: 750px;
  margin: 0 auto;
}
#footer .footer-inner {
  box-sizing: border-box;
  padding: min(calc(80/750*100%),80px) min(calc(30/750*100%),30px);
  margin: 0 auto;
}
 #footer ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
}

 #footer ul li a{
  font-size: min(calc(22/750*100vw),22px);
  letter-spacing:  min(calc(2/750*100vw),2px);
  line-height: 1;
  color: #FFF;
  border-bottom: 1px solid #FFF;
  text-decoration: none;
}


#footer .copy {
  font-size: min(calc(22/750*100vw),22px);
  line-height: 1;
  color: #FFF;
  text-align: center;
  margin-top: 2em;
}