@charset "UTF-8";

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

  "Energyflex" Index SP Styles Overwrite

====================================================================== */
.l-footer::before {
  height: calc(67 / 780 * 100vw);
  aspect-ratio: 780 / 67;
  background-image: url(../images/top/2026/top_sec11_bg_btm_sp.png);
}

/*
  Main Visual
====================================================================== */
.main-visual {
  transform: translateY(-1px);
  margin: 0 0 -1px;
}
.mv > figure { width: 100%; }
.mv .contents-area { margin: 0; }
.mv .contents-area > .inner figure { display: none; }
.mv-heading { font-size: calc(60 / 780 * 100vw); }
.mv-heading + p { font-size: calc(26 / 780 * 100vw); }

/* Slick Slider Overwrite
---------------------------------------------------------------------- */
.slick-prev,
.slick-next {
  width: calc(80 / 780 * 100vw);
  height: calc(80 / 780 * 100vw);
}
.slick-prev:before,
.slick-next:before {
  width: calc(28 / 780 * 100vw);
  height: calc(8 / 780 * 100vw);
}

.main-visual .slick-prev,
.main-visual .slick-next {
  top: 30%;
  transform: translateY(-30%);
}
.main-visual .slick-prev { left: 10px; }
.main-visual .slick-next { right: 10px; }

/*
  Section01
====================================================================== */
.sec01 {
  transform: translateY(0);
  margin: 0;
  background-image: url(../images/top/2026/top_sec01_green_bg_sp.png);
}
.sec01 h2 { font-size: calc(48 / 780 * 100vw); }
.sec01 h2 span::after {
  width: calc(323 / 780 * 100vw);
  height: 9px;
  background-image: url(../images/top/2026/top_sec01_underline_b_sp.png);
}
.sec01 > div .inner { width: 100%; }
.sec01 > div figure {
  margin: calc(45 / 780 * 100vw) 0 0;
  transform: translateY(0);
}
.sec01 > figure { aspect-ratio: 780 / 1830; }
.sec01 > figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.sec01 > i { display: none; }

/*
  Section02
====================================================================== */
.sec02 {
  margin: 0;
  padding: 0 0 calc(135 / 780 * 100vw);
}
.sec02 .contents-area {
  position: relative;
  margin: 0;
  padding: calc(135 / 780 * 100vw) 0 0;
  background: none, var(--white);
}
.sec02 .contents-area h2 {
  font-size: calc(48 / 780 * 100vw);
  padding: 0 calc(60 / 780 * 100vw)
}
.sec02 .contents-area::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(-100 / 780 * 100vw);
  width: 100%;
  aspect-ratio: 780 / 613;
  display: inline-block;
  background: url(../images/top/2026/top_sec02_bg002b_sp.png) no-repeat 50% 0 / 100%;
}
.sec02 .contents-area h2 span { font-size: calc(72 / 48 * 1em); }
.sec02 .contents-area > .inner { width: 100%; }
.sec02 .contents-area > .inner:last-of-type { padding: 0; }
.sec02 .contents-area > .inner:last-of-type figure {
  width: 100%;
  margin: auto;
}

/* Worst Case
---------------------------------------------------------------------- */
.worst-cases { margin: calc(140 / 780 * 100vw) 0 0; }
.worst-cases h3 {
  font-size: calc(54 / 780 * 100vw);
  line-height: calc(70 / 54);
}
.worst-case { display: block; }
.worst-case > figure { width: 100%; }
.worst-case > div {
  width: 100%;
  padding: calc(40 / 780 * 100vw) 0 calc(40 / 780 * 100vw) calc(40 / 780 * 100vw);
}
.worst-case > div dl dt { font-size: calc(36 / 780 * 100vw); }
.worst-case > div dl dd { font-size: calc(26 / 780 * 100vw); }
.worst-case > div i {
  top: calc(-30 / 780 * 100vw);
  right: calc(40 / 780 * 100vw);
  width: calc(75 / 780 * 100vw);
  height: calc(99 / 780 * 100vw);
}

/*
  Section03
====================================================================== */
.sec03 { padding: 0 0 calc(100 / 780 * 100vw); }
.sec03 .sec-header > .inner {
  padding: calc(135 / 780 * 100vw) 0 0;
}
.sec03 .sec-header::before {
  top: calc(-80 / 780 * 100vw);
  width: calc(151 / 780 * 100vw);
  height: calc(180 / 780 * 100vw);
}
.sec03 .sec-header h2 {
  font-size: calc(36 / 780 * 100vw);
  line-height: calc(60 / 36);
  white-space: nowrap;
  padding: 0 calc(20 / 780 * 100vw);
  margin: 0 0 calc(40 / 780 * 100vw);
}
.sec03 .sec-header h2 span {
  font-size: calc(46 / 36 * 1em);
  line-height: calc(60 / 46);
  display: block;
  margin: 5px 0;
}
.sec03 .sec-header h2 span::after {
  left: 0;
  bottom: -7.5px;
  width: calc(628 / 780 * 100vw * 1.025);
  height: 10px;
  background-image: url(../images/top/2026/top_sec03_underline_sp.png);
}
.sec03 .sec-header div figure img {
  width: 100%;
  aspect-ratio: 746 / 424;
}

.consultation { display: block; }
.consultation h3 {
  font-size: calc(54 / 780 * 100vw);
  transform: translateY(0);
  margin: calc(30 / 780 * 100vw) 0 0;
}
.consultation figure {
  max-width: initial;
  width: 100%;
}

.resolution-unit {
  transform: translateY(calc(-65 / 780 * 100vw));
  margin: 0 0 calc(-65 / 780 * 100vw);
  background-position: 0 0;
  background-image: url(../images/top/2026/top_sec03_img001_sp.png);
  background-size: 100%;
}
.resolution-list {
  width: calc(660 / 780 * 100vw);
  margin: auto;
}
.resolution { margin: 0 0 calc(100 / 780 * 100vw); }
.resolution .inner { padding: calc(140 / 780 * 100vw) 0 0; }
.resolution h2 {
  font-size: calc(60 / 780 * 100vw);
  text-align: left;
  transform: translateX(calc(220 / 780 * 100vw));
}
.resolution h4 {
  font-size: calc(40 / 780 * 100vw);
  text-align: left;
  transform: translateX(calc(220 / 780 * 100vw));
}
.resolution-item {
  height: calc(190 / 780 * 100vw);
  transform: skewX(-10deg);
}
.resolution-item dl { display: block; }
.resolution-item dl dt {
  height: calc(80 / 780 * 100vw);
  padding: 0 0 0 calc(25 / 780 * 100vw);
}
.resolution-item:nth-of-type(4) dl dt { padding: 0 0 0 calc(25 / 780 * 100vw); }
.resolution-item dl dd {
  height: calc(110 / 780 * 100vw);
  padding: 0 calc(25 / 780 * 100vw) 0 calc(40 / 780 * 100vw);
}
.resolution-item dl dt span {
  font-size: calc(30 / 780 * 100vw);
  transform: skewX(10deg);
}
.resolution-item:nth-of-type(4) dl dt span { transform: skewX(10deg) scaleX(1.0); }
.resolution-item dl dd span {
  font-size: calc(26 / 780 * 100vw);
  line-height: calc(40 / 26);
  transform: skewX(10deg);
}
.resolution-unit h3 {
  font-size: calc(54 / 780 * 100vw);
  line-height: calc(70 / 54);
}

.two-solutions .inner { padding: 0; }
.two-solutions .inner > div {
  gap: 0 calc(20 / 780 * 100vw);
  margin: calc(30 / 780 * 100vw) 0 calc(50 / 780 * 100vw);
}
.solution { height: calc(240 / 780 * 100vw); }
.solution p { font-size: calc(28 / 780 * 100vw); }
.solution h4 {
  font-size: calc(36 / 780 * 100vw);
  line-height: calc(44 / 36);
}

/*
  Section Label Heading
====================================================================== */
.label-heading { height: calc(260 / 780 * 100vw); }
.label-heading h3 { width: calc(500 / 780 * 100vw); }

/*
  Section04
====================================================================== */
.sec04 {
  transform: translateY(calc(-65 / 780 * 100vw));
  aspect-ratio: 780 / 1410;
  background-image: url(../images/top/2026/top_sec04_bg_sp.png);
  background-position: 50% 0;
  padding: calc(65 / 780 * 100%) 0 calc(115 / 780 * 100%);
}
.sec04 h2 { font-size: calc(48 / 780 * 100vw); }
.sec04 .inner > p {
  font-size: calc(36 / 780 * 100vw);
  line-height: calc(50 / 36);
}
.cv-unit {
  display: block;
  padding: 0;
  overflow: visible;
}
.cv {
  width: auto;
  padding: calc(50 / 780 * 100vw);
}
.cv:last-of-type { margin: 0; }
.cv::after { box-shadow: 6px 6px 0 0 rgba(var(--blk-rgb), .1); }

.tag { font-size: calc(21 / 780 * 100vw); }

/* Slick Slider Overwrite
---------------------------------------------------------------------- */
.cv-unit .slick-track { padding: 0 0 15px; }
.cv-unit .slick-list { margin: 0 -10px; }
.cv-unit .slick-slide { margin: 0 10px; }

.cv-unit .slick-prev { left: 10px; }
.cv-unit .slick-next { right: 10px; }

/*
  Section05
====================================================================== */
.sec05 { padding: 0 0 calc(100 / 780 * 100vw); }
.sec05::before, .sec05::after { width: 100%; }
.sec05::before { top: calc(260 / 780 * 100vw); }
.sec05 > i {
  top: calc(190 / 780 * 100vw);
  right: calc(-190 / 780 * 100vw);
  width: calc(598 / 780 * 100vw);
  aspect-ratio: 598 / 674;
}
.sec05 > .inner {
  width: calc(740 / 780 * 100vw);
  padding: calc(190 / 780 * 100vw) 0 0;
}

/* アウトソーシング 選ばれる5つの特徴
---------------------------------------------------------------------- */
.five-features-unit {
  margin: 0 0 calc(75 / 780 * 100vw);
  padding: 0 calc(40 / 780 * 100vw);
}
.five-features-unit h2 {
  font-size: calc(70 / 780 * 100vw);
  letter-spacing: 0;
  white-space: nowrap;
}
.five-feature {
  height: auto;
  display: grid;
}
.five-feature > div {
  z-index: 1;
  grid-area: 1 / 1;
  width: 100%;
  padding: 0 calc(30 / 780 * 100vw);
  background: rgba(255,255,255,.78);
}
.five-feature > div dl dt i { width: calc(135 / 780 * 100vw); }
.five-feature > div dl dt span {
  font-size: calc(36 / 780 * 100vw);
  line-height: calc(54 / 36);
}
.five-feature > div dl dd {
  font-size: calc(26 / 780 * 100vw);
  line-height: calc(40 / 26);
}
.five-feature figure {
  position: relative;
  z-index: 0;
  width: 100%;
  height: auto;
  grid-area: 1 / 1;
}

/* アウトソーシング比較表
---------------------------------------------------------------------- */
.os-comparison { margin: 0 0 calc(60 / 780 * 100vw); }
.os-comparison h3 {
  font-size: calc(36 / 780 * 100vw);
  line-height: calc(60 / 36);
}
.os-comparison h3 span { font-size: calc(46 / 36 * 1em); }
.os-comparison figure {
  max-width: initial;
}

/* Movie
---------------------------------------------------------------------- */
.movie-unit {
  width: 100%;
  padding: calc(15 / 780 * 100vw) calc(20 / 780 * 100vw) calc(10 / 780 * 100vw);
}

/*
  Section09
====================================================================== */
.sec09 {
  padding: 0 0 calc(calc(140 / 780 * 100vw));
  background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 27%,rgba(197,228,239,1) 100%);
}
.contract-work-unit > figure img { aspect-ratio: auto; }

/* 請負工事 - 選ばれる3つの特徴
---------------------------------------------------------------------- */
.three-features-unit { margin: 0 0 calc(120 / 780 * 100vw); }
.three-features-unit > .inner {
  margin: 0;
  padding: calc(115 / 780 * 100vw) 0 0 calc(60 / 780 * 100vw);
}
.three-features-unit h2 {
  font-size: calc(72 / 780 * 100vw);
  line-height: calc(90 / 72);
}
.three-features { margin: calc(30 / 780 * 100vw) 0 0; }
.three-feature {
  width: calc(660 / 780 * 100vw);
  height: calc(230 / 780 * 100vw);
  transform: skewX(-10deg);
}
.three-feature dl {
  width: 100%;
  height: 100%;
  display: block;
}
.three-feature dl dt {
  height: calc(100 / 780 * 100vw);
  grid-template-columns: calc(130 / 660 * 100%) calc(530 / 660 * 100%);
}
.three-feature dl dt img {
  width: calc(49 / 780 * 100vw);
  height: calc(62 / 780 * 100vw);
  transform: skewX(10deg);
}
.three-feature dl dt span,
.three-feature dl dd span { transform: skewX(10deg); }
.three-feature dl dt > div {
  font-size: calc(30 / 780 * 100vw);
}
.three-feature dl dd { height: calc(130 / 780 * 100vw); }
.three-feature dl dd > span {
  font-size: calc(26 / 780 * 100vw);
  line-height: calc(40 / 26);
}

/* 請負工事 - 適正価格
---------------------------------------------------------------------- */
.fp-comparison .inner {
  width: calc(740 / 780 * 100vw);
  padding: 0;
}
.fp-comparison h3 {
  font-size: calc(36 / 780 * 100vw);
  line-height: calc(60 / 36);
  padding: 0 calc(40 / 780 * 100vw) 0 calc(220 / 780 * 100vw);
}
.fp-comparison h3 span { font-size: calc(46 / 36 * 1em); }
.fp-comparison figure { margin: calc(20 / 780 * 100vw) 0; }

/*
  Section10
====================================================================== */
.sec10 {
  transform: translateY(calc(-10 / 780 * 100vw));
  margin: 0 0 calc(-10 / 780 * 100vw);
}
.sec10::before {
  top: calc(-80 / 780 * 100vw);
  width: calc(151 / 780 * 100vw);
  height: calc(180 / 780 * 100vw);
}
.sec10 h2 {
  font-size: calc(48 / 780 * 100vw);
  white-space: nowrap;
}
.sec10 > figure img { height: calc(555 / 780 * 100vw); }

/*
  Section11
====================================================================== */
.sec11 {
  padding: 0 0 calc(90 / 780 * 100vw);
  transform: translateY(calc(-45 / 780 * 100vw));
}
.sec11::before {
  top: calc(-64 / 780 * 100vw);
  aspect-ratio: 780 / 64;
  background-image: url(../images/top/2026/top_sec11_bg_top_sp.png);
}
/*
.sec11::after {
  bottom: calc(-67 / 780 * 100vw);
  aspect-ratio: 780 / 67;
  background-image: url(../images/top/2026/top_sec11_bg_btm_sp.png);
}
*/

.inq-header {
  transform: translateY(calc((60 + 45) / 780 * 100vw * -1));
  margin: 0;
}
.inq-header > div {
  position: relative;
  top: initial;
  transform: translateY(0);
  width: 100%;
  place-content: center center;
}
.inq-header > div h3 {
  font-size: calc(36 / 780 * 100vw);
  line-height: calc(54 / 36);
  margin: .5em 0;
}
.inq-header > div a {
  width: calc(570 / 780 * 100vw);
  height: calc(150 / 780 * 100vw);
  margin: auto;
  pointer-events: auto;
}
.inq-header > div a figure { width: calc(397 / 780 * 100vw) }
.inq-header > div a figure figcaption { font-size: calc(26 / 780 * 100vw); }