@charset "UTF-8";

/* ======================================================================

  "Energyflex" Common SP Styles Overwrite

====================================================================== */
html { scroll-padding-top: calc(120 / 780 * 100vw); }
.pc { display: none; }

/*
  Header
====================================================================== */
.l-header { padding: 0 0 0 calc(40 / 780 * 100%); }

/* お問い合わせ
---------------------------------------------------------------------- */
.inq-btn { display: none; }

/* Toggle Menu - Trigger
---------------------------------------------------------------------- */
.menu-trigger {
  width: calc(120 / 780 * 100vw);
  height: calc(120 / 780 * 100vw);
  background: url(../images/burger_open02_sp.svg) no-repeat 50% 50% / cover #f5fafe;
}
.menu-trigger.is-toggled {
  background: url(../images/burger_close02_sp.svg) no-repeat 50% 50% / cover var(--d-green);
}

/* Toggle Menu - Contents
---------------------------------------------------------------------- */
.toggle-menu { padding: calc(120 / 780 * 100%) calc(60 / 780 * 100%) calc(90 / 780 * 100%) calc(90 / 780 * 100%); }
.toggle-menu ul { margin: calc(110 / 780 * 100%) 0 calc(60 / 780 * 100%); }
.toggle-menu ul + p {
  font-size: calc(24 / 780 * 100vw);
  margin: 0 0 calc(80 / 780 * 100%);
}
.toggle-menu dl dd a { width: calc(100% - 3px); }
.toggle-menu dl dd:first-of-type a { pointer-events: auto; }
.toggle-menu dl dd:last-of-type a { padding: 0 0 0 27px; }
.toggle-menu dl dd:last-of-type a::before { left: calc(55 / 780 * 100vw - 3px) }
.toggle-menu dl dd:first-of-type figure { width: calc(400 / 780 * 100vw); }
.toggle-menu dl dd:first-of-type figure figcaption {
  font-size: calc(24 / 780 * 100vw);
  letter-spacing: .1em;
}

@media screen and (max-width:480px) {
  .toggle-menu dl dd:first-of-type figure figcaption { font-size: calc((24 / 780 * 100vw) * 1.05); }
}

/* 電話番号 - Add 202606
---------------------------------------------------------------------- */
.phone-num { display: none; }

/*
  Contents
====================================================================== */
.l-contents { padding: calc(120 / 780 * 100vw) 0 0; }

/*
  Footer
====================================================================== */

/* Foot Content
---------------------------------------------------------------------- */
.f-content01 ul + p {
  font-size: calc(22 / 780 * 100vw);
  margin: calc(60 / 780 * 100%) 0 0;
}
.tel-num a {
  display: inline-block;
  pointer-events: auto;
}
.tel-num a img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media screen and (max-width:480px) {
  .f-content01 ul + p { font-size: calc(22 / 780 * 100vw * 1.15); }
}

/*
  Footer Fixed Button
====================================================================== */
.fixed-btn { padding: 0; }
.fixed-btn a {
  position: relative;
  height: calc(101 / 780 * 100vw);
  border-top: solid 2px var(--black);
  border-left: solid 2px var(--black);
  border-right: solid 2px var(--black);
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  transition: all .3s;
  place-items: center;
}
.fixed-btn a.tel-btn {
  width: calc(190 / 780 * 100vw);
  background-color: #0d47a1;
  float: left;
}
.fixed-btn a.tel-btn img {
  width: calc(59 / 780 * 100vw);
  height: calc(59 / 780 * 100vw);
}
.fixed-btn a.inq-btn {
  font-size: calc(30 / 780 * 100vw);
  width: calc(580 / 780 * 100vw);
  background-color: var(--yellow);
  float: right;
}
.fixed-btn a::before { content: none; }
.fixed-btn a.inq-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 20vw;
  width: calc(19 / 780 * 100vw);
  height: calc(23 / 780 * 100vw);
  display: inline-block;
  background: url(../images/triangle_w.svg) no-repeat 50% 50% / 100%;
}
.fixed-btn a.inq-btn:hover { background-color: var(--white); }
.fixed-btn a.inq-btn:hover::before { background-image: url(../images/triangle_yellow.svg); }