@charset "UTF-8";
/*------------------------------------------------------------
  carbon
------------------------------------------------------------*/
.energySolutionBody, .energySolutionBody * {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}

.energySolutionBody img {
  width: 100%;
  height: 100%;
  display: block;
}
.energySolutionBody a {
  display: block;
  text-decoration: none;
}

.content {
  margin: 0 auto;
  width: 95%;
  max-width: 1200px;
  position: relative;
  z-index: 1;
}

.halt {
  font-feature-settings: "halt";
}

@media screen and (width: 768px) {
  #sidr {
    height: inherit !important;
  }
}
/* mainVisual
------------------------------------------------------------*/
.mv {
  width: 100%;
  overflow: hidden;
}
.mv .mvTtl {
  margin: 0;
}
.mv img {
  min-width: 1900px;
  width: 100%;
  height: auto;
  vertical-align: top;
  margin-left: 50%;
  transform: translateX(-50%);
}

/* introBg
------------------------------------------------------------*/
.introBg {
  position: relative;
  overflow: hidden;
  background-image: url(/files/user/corporate/img/energy-solution/bg_intro.jpg);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

/* intro
------------------------------------------------------------*/
.intro {
  position: relative;
  padding: 58px 0 75px;
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
}
.intro .scrollDown {
  position: absolute;
  top: 50px;
  left: max((min(100vw, 1300px) - 100vw) / 2, -72px);
  animation: arrowmove 1.5s ease-in-out infinite;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 38px;
}
.intro .scrollDown a {
  color: #86a2ac;
  font-size: 14px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-decoration: none;
  white-space: nowrap;
  transform: rotate(-90deg);
  transform-origin: center center;
}
.intro .scrollDown::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 44px;
  width: 1px;
  height: 18px;
  background: #86a2ac;
  transform: skewX(-36deg);
}
.intro .scrollDown::after {
  content: "";
  width: 1px;
  height: 120px;
  background: #86a2ac;
}
.intro .introInner {
  position: relative;
  display: flex;
  gap: 30px;
  align-items: flex-end;
  padding-left: max(60px - (100vw - min(100vw, 1300px)) / 2, 0px);
}
.intro .introInner p {
  flex: 0 0 auto;
  font-size: 19px;
  line-height: 2.4;
  color: #393f4f;
  letter-spacing: 0.025em;
}
.intro .introImg {
  max-width: 431px;
  margin-bottom: 30px;
}
.intro .introImg img {
  vertical-align: top;
}

@keyframes arrowmove {
  0% {
    top: 53px;
  }
  50% {
    top: 63px;
  }
  100% {
    top: 53px;
  }
}
/* news
------------------------------------------------------------*/
.news {
  padding: 0 0 90px;
}
.news .content {
  max-width: 1310px;
}
.news .newsInner {
  display: flex;
  gap: 39px;
  align-items: flex-start;
  background: #99A591;
  padding: 52px 85px;
  color: #fff;
}
.news .newsTitle {
  margin: 0 0 26px 5px;
  width: 204px;
}
.news .newsBtn {
  display: inline-flex;
  gap: 20px;
  font-size: 19px;
  color: #fff;
  letter-spacing: 0.05em;
  transition: color 0.3s;
}
.news .newsBtn:hover {
  color: #2D683A;
}
.news .newsBtnArrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border: 1px solid #fff;
  transition: border-color 0.3s;
}
.news .newsBtnArrow img {
  width: 24px;
}
.news .newsBtn:hover .newsBtnArrow {
  border-color: rgba(255, 255, 255, 0.7);
}
.news .newsList {
  display: flex;
  flex-direction: column;
  gap: 32px;
  flex: 1;
  padding: 0 0 0 40px;
  margin: 0;
  position: relative;
  box-shadow: inset 3px 0 0 0 rgba(255, 255, 255, 0.4);
}
.news .newsItem {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: #fff;
}
.news .newsDate {
  font-size: 17px;
  font-family: "Roboto", sans-serif;
  letter-spacing: 0.025em;
  color: #fff;
  white-space: nowrap;
  flex: 0 0 11%;
  transition: color 0.3s;
}
.news .newsCategory {
  font-size: 14px;
  letter-spacing: 0.05em;
  color: #fff;
  background: #2D683A;
  white-space: nowrap;
  text-align: center;
  padding: 3px 12px;
  flex: 0 0 18%;
}
.news .newsText {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.025em;
  margin-left: -2px;
  transition: color 0.3s;
}
.news .newsItem:hover .newsDate,
.news .newsItem:hover .newsText {
  color: #2D683A;
}

/* initiatives
------------------------------------------------------------*/
.initiatives {
  background: url(/files/user/corporate/img/energy-solution/bg_initiatives.jpg) center center/cover no-repeat;
  padding: 65px 0 106px;
  overflow: hidden;
}
.initiatives .content {
  max-width: 1300px;
}
.initiatives .initiativesTitle {
  margin: 0 0 78px;
}
.initiatives .initiativesTitleEn {
  max-width: 928px;
  width: 100%;
  margin: 0 0 18px 10px;
}
.initiatives .initiativesTitleJa {
  display: block;
  font-size: 45px;
  color: #fff;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding-bottom: 16px;
  position: relative;
}
.initiatives .initiativesTitleJa::after {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 24.3%;
  width: 100vw;
  height: 10px;
  background: #cfd400;
}
.initiatives .initiativesBtnLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 27px;
  font-size: 21px;
  color: #393f4f;
  text-decoration: none;
  background: #cfd400;
  border: 3px solid #cfd400;
  border-radius: 100px;
  padding: 10px 24px;
  min-width: 327px;
  height: 60px;
  box-sizing: border-box;
}
.initiatives .initiativesBtnLink:hover {
  background: #fff;
}
.initiatives .initiativesBtnArrow {
  display: inline-flex;
}
.initiatives .initiativesBtnArrow img {
  width: 19px;
}

/* panel
------------------------------------------------------------*/
.panel {
  margin-bottom: 67px;
  background-color: transparent;
}
.panel .panelList {
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 31px 20px;
}
.panel .panelItem {
  display: flex;
  flex-direction: column;
}
.panel .panelLink {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-decoration: none;
  color: #393f4f;
  background: #fff;
  padding: 21px 22px 19px;
  min-height: 380px;
}
.panel .panelImg {
  aspect-ratio: 133/90;
  overflow: hidden;
  margin-bottom: 17px;
}
.panel .panelImg img {
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}
.panel .panelLink:hover .panelImg img {
  transform: scale(1.05);
  opacity: 1;
}
.panel .panelMeta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.panel .panelCategory {
  font-size: 14px;
  color: #fff;
  background: #91a790;
  display: inline-block;
  padding: 2px 8px;
  white-space: nowrap;
  font-weight: 400;
}
.panel .panelDate {
  font-size: 17px;
  color: #365862;
  font-family: "Roboto", sans-serif;
  white-space: nowrap;
  margin-left: auto;
  letter-spacing: 0.025em;
  transition: 0.3s;
  font-weight: 400;
}
.panel .panelLink:hover .panelDate,
.panel .panelLink:hover .panelText {
  color: #2D683A;
}
.panel .panelText {
  font-size: 16px;
  line-height: 1.56;
  transition: 0.3s;
}
.panel .panelText::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 19px;
  background: url(/files/user/corporate/img/energy-solution/icon_arrow_green.svg) center/contain no-repeat;
  vertical-align: middle;
  margin-left: 4px;
}

/* partner
------------------------------------------------------------*/
.partner {
  overflow: hidden;
  background-color: #bcd1c8;
  background-image: url(/files/user/corporate/img/energy-solution/bg_partner01.png), url(/files/user/corporate/img/energy-solution/bg_partner02.png);
  background-position: top left, bottom right;
  background-repeat: no-repeat, no-repeat;
  background-size: 100%, auto;
  padding-bottom: 48px;
}
.partner .partnerHead {
  padding: 140px 0 80px;
  overflow: hidden;
}
.partner .partnerHeadInner {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}
.partner .partnerTitle {
  margin: 0;
}
.partner .partnerTitleEn {
  max-width: 985px;
  width: 100%;
  margin: 0 0 5px;
}
.partner .partnerTitleJa {
  display: block;
  font-size: 45px;
  color: #fff;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding-bottom: 16px;
  position: relative;
}
.partner .partnerTitleJa::after {
  content: "";
  position: absolute;
  bottom: calc(34.8px - 0.36vw);
  left: calc(339px + 0.41vw);
  width: 100vw;
  height: 10px;
  background: #57b3ba;
}
.partner {
  /* アイケイエス：フルワイド */
}
.partner .partnerItemIks {
  position: relative;
  overflow: hidden;
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  z-index: 0;
}
.partner .partnerItemIksTop {
  display: flex;
  max-width: 1400px;
  width: 100%;
  margin: 0 0 47px auto;
  gap: 50px;
}
.partner .partnerItemIksText {
  color: #393f4f;
  margin-top: 41px;
}
.partner .partnerItemIksBg {
  flex: 0 0 53.2%;
}
.partner .partnerItemIksBg img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.partner .partnerItemIksBottom {
  display: flex;
  gap: 78px;
  max-width: 1400px;
  width: 100%;
}
.partner {
  /* i LABO：コンテンツ幅 */
}
.partner .partnerItemLabo {
  padding: 50px 0 40px;
  margin: 0 auto;
  width: 95%;
  max-width: 1200px;
  border-top: 2px solid #000;
}
.partner .partnerItemLaboInner {
  display: flex;
  flex-wrap: wrap;
  gap: 39px;
  align-items: flex-start;
}
.partner .partnerItemText {
  flex: 0 0 49.9%;
}
.partner .partnerItemImg.-iks {
  flex: 0 0 53.6%;
  margin-top: 13px;
}
.partner .partnerItemImg.-labo {
  order: 2;
  flex: 1;
  margin-top: 30px;
}
.partner .partnerItemImg img {
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.partner .partnerItemImgCaption {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.9;
  color: #393f4f;
}
.partner {
  /* 共通 */
}
.partner .partnerItemName {
  font-size: 28px;
  font-weight: 700;
  color: #393f4f;
  letter-spacing: 0.05em;
  margin-bottom: 46px;
  display: flex;
  align-items: flex-start;
}
.partner .partnerItemName::before {
  content: "";
  margin-top: 1px;
  margin-right: 10px;
  width: 13px;
  height: 30px;
  display: inline-block;
  background-color: #393f4f;
}
.partner .partnerItemName.-labo {
  margin-bottom: 36px;
}
.partner .partnerItemLead {
  font-size: 35px;
  font-weight: 700;
  line-height: 1.42;
  margin: 0 0 8px;
  color: #393f4f;
}
.partner .partnerItemLead.-iks {
  letter-spacing: -0.06em;
}
.partner .partnerItemLead.-labo {
  letter-spacing: 0.05em;
  margin: 0 0 14px;
}
.partner .partnerItemDesc {
  font-size: 16px;
  line-height: 2;
  color: #393f4f;
}
.partner .partnerItemDesc.-labo {
  margin-bottom: 33px;
  letter-spacing: 0.025em;
  line-height: 2.06;
}
.partner .partnerItemLogoArea {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto 24px;
}
.partner .partnerItemLogoArea.-iks {
  display: flex;
  align-items: flex-end;
  gap: 80px;
  margin-bottom: 94px;
}
.partner .partnerItemLogoArea.-labo {
  order: 3;
  flex: 0 0 100%;
  width: 100%;
  margin: 0 0 54px;
}
.partner .partnerItemLogoArea.-labo .partnerItemLogo {
  margin-bottom: 60px;
}
.partner .partnerItemLogoArea .partnerItemLogo {
  max-width: 834px;
}
.partner .partnerItemLogoArea .partnerItemLogo img {
  width: 100%;
  height: auto;
}
.partner .partnerItemCaption {
  font-size: 14px;
  color: #393f4f;
  margin-top: 8px;
  margin-left: 187px;
  line-height: 1.8;
}
.partner .partnerItemSub {
  margin-top: 24px;
}
.partner .partnerItemSub.-iks {
  flex: 0 0 40.8%;
  margin-top: 0;
}
.partner .partnerItemSubTtl {
  font-size: 35px;
  font-weight: 700;
  color: #393f4f;
  margin: 0 0 9px;
  line-height: 1.4;
}
.partner .partnerItemSubTtl.-bottom {
  letter-spacing: 0.05em;
}
.partner .partnerItemSubDesc {
  font-size: 16px;
  line-height: 2.06;
  color: #393f4f;
  margin-bottom: 38px;
  margin-left: 4px;
}
.partner .partnerItemLabel {
  position: absolute;
  right: 0;
  top: 35.4%;
  width: 70px;
  height: 804px;
  opacity: 0.1;
  pointer-events: none;
  z-index: -1;
}
.partner .partnerItemFooter {
  margin-top: 32px;
}
.partner .partnerItemFooterDesc {
  width: 50%;
  font-size: 16px;
  line-height: 1.93;
  color: #393f4f;
  padding-bottom: 20px;
}
.partner .partnerItemBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #fff;
  background-color: #393f4f;
  padding: 10px 24px;
  white-space: nowrap;
  max-width: 387px;
  width: 100%;
  border-radius: 100px;
  margin-bottom: 6px;
}
.partner .partnerItemBtn:hover {
  opacity: 0.7;
}
.partner .partnerItemBtnArrow {
  display: inline-flex;
}
.partner .partnerItemBtnArrow img {
  width: 16px;
  height: 19px;
}

/* solution (overview)
------------------------------------------------------------*/
.solution {
  position: relative;
}
.solution .solutionBg {
  padding: 103px 0 106px;
  background: url(/files/user/corporate/img/energy-solution/bg_solution.png) top center/100% auto no-repeat, #bbd3b6;
  position: relative;
  overflow: clip;
}
.solution .solutionBg::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: rgba(255, 255, 255, 0.3);
  pointer-events: none;
}
.solution .solutionTitle {
  margin: 0 0 60px;
}
.solution .solutionTitleEn {
  max-width: 894px;
  width: 100%;
  margin: 0 0 18px;
}
.solution .solutionTitleJa {
  display: block;
  font-size: 45px;
  color: #fff;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding-bottom: 16px;
  position: relative;
}
.solution .solutionTitleJa::after {
  content: "";
  position: absolute;
  bottom: 1.79vw;
  left: calc(688px - 0.035vw);
  width: 100vw;
  height: 10px;
  background: #cfd400;
}
.solution .solutionNote {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.8;
  text-align: right;
  margin: 0;
}
.solution .solutionList {
  padding: 0 0 74px;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  border-bottom: 1px solid #29444d;
}
.solution .solutionList li {
  display: flex;
  flex-direction: column;
}
.solution .solutionList a {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-decoration: none;
}
.solution .solutionCard {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #fff;
  overflow: hidden;
}
.solution .solutionCardTop {
  padding: 14px 14px 30px;
  position: relative;
  flex: 1;
}
.solution .solutionCardTtl {
  font-size: 21px;
  font-weight: 700;
  color: #393f4f;
  line-height: 1.52;
  margin: 0;
  letter-spacing: 0.025em;
}
.solution .solutionCardArrow {
  position: absolute;
  bottom: 14px;
  right: 14px;
}
.solution .solutionCardArrow::after {
  content: "";
  display: block;
  width: 33px;
  height: 39px;
  background: url(/files/user/corporate/img/energy-solution/icon_arrow_green.svg) center/contain no-repeat;
  transform: rotate(90deg);
}
.solution .solutionCardImg {
  aspect-ratio: 56/53;
  border: 1px solid #fff;
  overflow: hidden;
}
.solution .solutionCardImg img {
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}
.solution .solutionList a:hover .solutionCardImg img {
  transform: scale(1.05);
  opacity: 1;
}

/* mhs (Multi Hybrid System)
------------------------------------------------------------*/
.mhs {
  overflow: hidden;
}
.mhs .mhsMain {
  padding: 80px 0 0;
}
.mhs .mhsTitle {
  margin: 0 0 30px;
}
.mhs .mhsTitleJa {
  display: block;
  font-size: 35px;
  line-height: 1.2;
  color: #393f4f;
  margin: 0 0 20px;
  font-weight: 700;
  position: relative;
}
.mhs .mhsTitleJa::after {
  content: "";
  position: absolute;
  bottom: -45px;
  right: 104.3%;
  width: 100vw;
  height: 10px;
  background: #cfd400;
}
.mhs .mhsTitleEn {
  max-width: 511px;
  width: 100%;
}
.mhs .mhsHeadJa {
  font-size: 43px;
  font-weight: 700;
  color: #393f4f;
  line-height: 1.395;
  margin: 0 0 40px;
}
.mhs .mhsBody {
  display: grid;
  grid-template-columns: minmax(2.5%, calc((100% - 1200px) / 2)) calc(1200px * 0.426) 1fr;
  -moz-column-gap: 6px;
       column-gap: 6px;
  align-items: start;
  margin-bottom: 60px;
}
.mhs .mhsLeft {
  grid-column: 2;
  padding-right: 50px;
}
.mhs .mhsDesc {
  font-size: 18px;
  line-height: 2;
  color: #393f4f;
  max-width: calc(1200px * 0.377);
}
.mhs .mhsRight {
  grid-column: 3;
  max-width: 787px;
}
.mhs .mhsFlows {
  display: flex;
  flex-direction: row;
  gap: 77px;
  align-items: flex-start;
}
.mhs .mhsFlowGroup {
  display: flex;
  flex-direction: column;
}
.mhs .mhsFlowEms {
  flex: 1;
  margin-top: 12px;
}
.mhs .mhsFlowEmsTtl {
  width: 128px;
  margin-bottom: 11px;
}
.mhs .mhsFlowEmsDesc {
  font-size: 14px;
  line-height: 1.57;
  color: #393f4f;
}
.mhs .mhsFlowItem {
  width: calc(1200px * 0.661);
}
.mhs .mhsFlowItem:first-of-type {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #29444d;
  position: relative;
}
.mhs .mhsFlowItem:first-of-type::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 109.4%;
  width: 100vw;
  height: 10px;
  background: #cfd400;
}
.mhs .mhsFlowItemTtl {
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  background-color: #393f4f;
  margin: 0 0 12px;
  letter-spacing: 0.05em;
  padding: 3px 88px;
  border-radius: 10px;
}
.mhs .mhsFlowGroupTtl {
  font-size: 19px;
  line-height: 2;
  color: #393f4f;
  margin: 0 0 4px;
}
.mhs {
  /* Effects: 5 numbered items */
}
.mhs .mhsEffect {
  padding: 57px 0 24px;
}
.mhs .mhsEffectTtl {
  font-size: 33px;
  font-weight: 700;
  color: #393f4f;
  margin: 0 0 20px;
  letter-spacing: 0.05em;
}
.mhs {
  /* effect */
}
.mhs .effectList {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mhs .effectList li {
  display: flex;
  align-items: stretch;
  gap: 42px;
  padding: 52px 25px 52px 0;
  background: #718b81;
  color: #fff;
}
.mhs .effectNumWrap {
  flex: 0 0 20%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.mhs .effectNumWrap::after {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background: #fff;
}
.mhs .effectNumWrap .effectNum {
  margin-left: 25px;
}
.mhs .effectNum {
  height: 72px;
  width: auto;
}
.mhs .effectBody {
  margin-top: 8px;
}
.mhs .effectTtl {
  font-size: 43px;
  color: #fff;
  margin: 0 0 19px;
}
.mhs .effectSubLabel {
  font-size: 25px;
  font-weight: 700;
  color: #cfd400;
  margin: 0 0 5px;
}
.mhs .effectDesc {
  font-size: 16px;
  line-height: 1.6875;
  color: #fff;
  margin: 0;
  text-align: justify;
}
.mhs .effectVisual {
  position: absolute;
  right: 0;
}
.mhs .effectVisual img {
  height: auto;
}
.mhs .effectItem {
  position: relative;
}
.mhs .effectItem.-item01 .effectDesc {
  width: 61%;
}
.mhs .effectItem.-item01 .effectVisual {
  width: 477px;
  right: 41px;
  top: 50%;
  transform: translateY(-50%);
}
.mhs .effectItem.-item02 .effectBody {
  flex: 0 0 52%;
}
.mhs .effectItem.-item02 .effectVisual {
  width: 138px;
  right: 70px;
  top: 50%;
  transform: translateY(-50%);
}
.mhs .effectItem.-item03 .effectBody {
  width: 54%;
}
.mhs .effectItem.-item03 .effectVisual {
  width: 142px;
  bottom: 52px;
  right: 59px;
}
.mhs .effectItem.-item04 .effectBody {
  width: 56%;
}
.mhs .effectItem.-item04 .effectVisual {
  width: 120px;
  right: 91px;
  bottom: 76px;
}
.mhs .effectItem.-item05 .effectBody {
  width: 44%;
}
.mhs .effectItem.-item05 .effectVisual {
  width: 347px;
  right: 30px;
  bottom: 59px;
}

/* v2x
------------------------------------------------------------*/
.v2x {
  overflow: hidden;
}
.v2x .v2xMain {
  background-image: url(/files/user/corporate/img/energy-solution/bg_v2x01.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding: 80px 0 60px;
  position: relative;
}
.v2x .v2xMain::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background: linear-gradient(to bottom, transparent, #fff);
  pointer-events: none;
}
.v2x .v2xTitle {
  margin: 0;
}
.v2x .v2xLabel {
  display: block;
  font-size: 36px;
  font-family: "Roboto", sans-serif;
  color: #393f4f;
  letter-spacing: 0.025em;
  margin: 0 0 4px;
  text-align: left;
  position: relative;
}
.v2x .v2xLabel::after {
  content: "";
  position: absolute;
  bottom: -27px;
  right: 104.3%;
  width: 100vw;
  height: 10px;
  background: #cfd400;
}
.v2x .v2xTitleEn {
  width: 160px;
  margin: 0 0 40px;
}
.v2x .v2xHeadJa {
  font-size: 40px;
  font-weight: 700;
  color: #393f4f;
  margin: 0 0 40px;
}
.v2x .v2xBody {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}
.v2x .v2xLeft {
  flex: 0 0 47.5%;
}
.v2x .v2xDesc {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.025em;
  color: #393f4f;
}
.v2x .v2xRight {
  flex: 0 0 calc(1200px * 0.65);
  position: relative;
}
.v2x .v2xRight img {
  -o-object-fit: contain;
     object-fit: contain;
}
.v2x .v2xRight::after {
  content: "";
  position: absolute;
  bottom: 24%;
  left: 31.6vw;
  width: 200vw;
  height: 10px;
  background: #cfd400;
  pointer-events: none;
}
.v2x .v2xBenefit {
  background-image: url(/files/user/corporate/img/energy-solution/bg_v2x02.png);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: auto;
  padding: 60px 0;
  position: relative;
}
.v2x .v2xBenefit::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background: linear-gradient(to bottom, #fff, transparent);
  pointer-events: none;
}
.v2x .v2xBenefitInner {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}
.v2x .v2xIllust {
  flex: 0 0 55%;
}
.v2x .v2xMerit {
  flex: 1;
}
.v2x .v2xMeritTtl {
  font-size: 33px;
  font-weight: 700;
  color: #393f4f;
  margin: 0 0 16px;
}
.v2x .v2xMeritList {
  padding: 0 0 0 20px;
  margin: 0;
}
.v2x .v2xMeritList li {
  font-size: 18px;
  line-height: 2;
  color: #393f4f;
  padding: 4px 0;
}
.v2x .lineupWrap .flex-direction-nav li {
  background: #00863a;
}
.v2x .lineupWrap .flex-direction-nav a::before {
  background-image: url(/files/user/corporate/img/energy-solution/icon_arrow_white.svg);
}

/* rd (Renewable Diesel)
------------------------------------------------------------*/
.rd {
  overflow: hidden;
  background: #7a9371;
  background-image: url(/files/user/corporate/img/energy-solution/bg_rd.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.rd .lineupWrap .lineupTtl {
  color: #fff;
}
.rd .rdMain {
  padding: 85px 0 60px;
}
.rd .rdTitle {
  margin: 0;
}
.rd .rdTitleJa {
  display: block;
  font-size: 35px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
  margin: 0 0 27px;
  position: relative;
}
.rd .rdTitleJa::after {
  content: "";
  position: absolute;
  bottom: -45px;
  right: 104.3%;
  width: 100vw;
  height: 10px;
  background: #cfd400;
}
.rd .rdTitleEn {
  max-width: 453px;
  width: 100%;
  margin: 0 0 40px;
}
.rd .rdHeadJa {
  font-size: 42px;
  font-weight: 700;
  color: #fff;
  line-height: 1.39;
  margin: 0 0 40px;
}
.rd .rdTop {
  letter-spacing: 0.05em;
}
.rd .rdBottom {
  letter-spacing: -0.025em;
}
.rd .rdBody {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  margin-bottom: 50px;
}
.rd .rdLeft {
  flex: 0 0 48%;
  margin-top: 60px;
}
.rd .rdDesc {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.025em;
  color: #fff;
  margin: 0 0 20px;
  width: 95.3%;
  position: relative;
}
.rd .rdDesc::after {
  content: "";
  position: absolute;
  top: 121px;
  left: 106.3%;
  width: 100vw;
  height: 10px;
  background: #cfd400;
}
.rd .rdRight {
  flex: 0 0 calc(1200px * 0.649);
}

/* hydrogen
------------------------------------------------------------*/
.hydrogen {
  overflow: hidden;
}
.hydrogen .hydrogenMain {
  background: #c7d7dc;
  background-image: url(/files/user/corporate/img/energy-solution/bg_hydrogen.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding: 100px 0 60px;
}
.hydrogen .hydrogenTitle {
  margin: 0;
}
.hydrogen .hydrogenTitleJa {
  display: block;
  font-size: 35px;
  font-weight: 700;
  color: #393f4f;
  letter-spacing: 0.05em;
  line-height: 1.42;
  margin: 0 0 35px;
}
.hydrogen .hydrogenHeadEn {
  max-width: 402px;
  width: 100%;
  margin: 0 0 32px;
}
.hydrogen .hydrogenHeadJa {
  font-size: 45px;
  font-weight: 700;
  color: #393f4f;
  margin: 0 0 6px;
  letter-spacing: 0.05em;
}
.hydrogen .hydrogenHeadSub {
  font-size: 33px;
  color: #393f4f;
  margin: 0 0 24px;
}
.hydrogen .hydrogenInner {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}
.hydrogen .hydrogenLeft {
  flex: 0 0 47.5%;
  position: relative;
}
.hydrogen .hydrogenLeft::after {
  content: "";
  position: absolute;
  top: 96px;
  right: 104.3%;
  width: 100vw;
  height: 10px;
  background: #82b71f;
}
.hydrogen .hydrogenDesc {
  font-size: 18px;
  line-height: 2;
  color: #393f4f;
  letter-spacing: 0.025em;
}
.hydrogen .hydrogenRight {
  flex: 1;
  position: relative;
}
.hydrogen .hydrogenRight::after {
  content: "";
  position: absolute;
  bottom: 15%;
  left: 21.8vw;
  width: 200vw;
  height: 10px;
  background: #82b71f;
  pointer-events: none;
}
.hydrogen .hydrogenCase {
  background: #c7d7dc;
  display: flex;
  flex-direction: column;
  gap: 70px;
}
.hydrogen .hydrogenCaseItem {
  background: #96b5c3;
}
.hydrogen .hydrogenCaseItem .content {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}
.hydrogen .hydrogenCaseLeft {
  flex: 0 0 28%;
  margin-top: auto;
  margin-bottom: 24px;
}
.hydrogen .hydrogenCaseNum {
  height: 118px;
  width: auto;
  flex-shrink: 0;
  margin: 0 0 28px;
}
.hydrogen .hydrogenCaseTtl {
  font-size: 18px;
  font-weight: 700;
  color: #393f4f;
  line-height: 1.88;
  margin: 0 0 2px;
}
.hydrogen .hydrogenCaseText {
  font-size: 16px;
  line-height: 1.625;
  color: #393f4f;
  margin: 0;
}
.hydrogen .hydrogenCaseRight {
  flex: 1;
  margin-bottom: auto;
}
.hydrogen .hydrogenCaseImgs {
  display: flex;
  gap: 12px;
  height: 280px;
}
.hydrogen .hydrogenCaseImgs > * {
  flex: 1;
  background: #ccc;
}
.hydrogen .hydrogenCaseImgs > * img {
  -o-object-fit: cover;
     object-fit: cover;
}

/* lineupWrap (shared slider)
------------------------------------------------------------*/
.lineupSliderOuter {
  padding-left: max(2.5vw, (100vw - 1200px) / 2);
}

.lineupWrap {
  padding: 56px 0 80px;
  overflow: hidden;
}
.lineupWrap .lineupTtl {
  font-size: 33px;
  font-weight: 700;
  color: #29444d;
  margin: 0 0 12px;
  letter-spacing: 0.05em;
}
.lineupWrap .flexslider {
  margin: 0 0 48px;
  border: none;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
}
.lineupWrap .flexslider .slides {
  margin: 0 -13px;
}
.lineupWrap .flexslider .slides > li {
  margin: 0 13px;
}
.lineupWrap .flex-direction-nav {
  position: absolute;
  bottom: -90px;
  right: max(2.5vw, (100vw - 1200px) / 2);
  display: flex !important;
  flex-direction: row;
  gap: 11px;
  margin: 0;
  padding: 0;
  height: auto;
}
.lineupWrap .flex-direction-nav li {
  position: static;
  float: none;
  background: #fff;
}
.lineupWrap .flex-direction-nav li:has(a.flex-disabled) {
  opacity: 0.3;
}
.lineupWrap .flex-direction-nav a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: static !important;
  top: auto !important;
  width: 50px;
  height: 50px;
  margin: 0 !important;
  opacity: 1 !important;
  text-indent: -9999px;
  overflow: hidden;
  text-shadow: none;
  font-size: 0;
  padding: 0;
  background: none !important;
}
.lineupWrap .flex-direction-nav a::before {
  content: "" !important;
  display: block;
  width: 20px;
  height: 24px;
  flex-shrink: 0;
  background: url(/files/user/corporate/img/energy-solution/icon_arrow_green.svg) center/contain no-repeat;
  text-shadow: none;
  position: static;
}
.lineupWrap .flex-direction-nav a.flex-prev::before {
  transform: scaleX(-1);
}
.lineupWrap .flex-direction-nav a.flex-next::before {
  transform: none;
}
.lineupWrap .flex-direction-nav a.flex-disabled {
  pointer-events: none;
  cursor: default;
}
.lineupWrap .flex-direction-nav a:hover {
  background: rgba(255, 255, 255, 0.1);
  opacity: 1 !important;
}
.lineupWrap .lineupItem {
  text-align: center;
}
.lineupWrap .lineupItem.-ghost {
  pointer-events: none;
  visibility: hidden;
}
.lineupWrap .lineupItemLink {
  display: block;
  position: relative;
  aspect-ratio: 7/8;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
  border: 1px solid #fff;
}
.lineupWrap .lineupItemLink img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  transition: transform 0.4s ease;
}
.lineupWrap .lineupItemLink:hover img:not(.lineupItemBtnArrow) {
  transform: scale(1.05);
  opacity: 1;
}
.lineupWrap .lineupItemBtn {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 16px;
  color: #fff;
  text-align: center;
  background: #006934;
  padding: 9px 38px 9px 16px;
  border-radius: 100px;
  margin: 0 25px 15px;
  transition: 0.3s;
}
.lineupWrap .lineupItemLink:hover .lineupItemBtn {
  opacity: 0.7;
}
.lineupWrap img.lineupItemBtnArrow {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: auto;
}

/* banner
------------------------------------------------------------*/
.bannerSection {
  position: relative;
}

.bannerBackTop {
  position: fixed;
  right: 5%;
  bottom: 0;
  z-index: 10;
}
.bannerBackTop.is-home {
  position: absolute;
}

@media all and (min-width: 768px) {
  .bannerBackTop .backTopBtn {
    width: 50px;
    height: 50px;
    transition: 0.3s;
  }
  .bannerBackTop .backTopBtn img {
    width: 24px;
    height: 19px;
  }
  .bannerBackTop .backTopBtn:hover {
    opacity: 0.7;
  }
}
.banner {
  max-width: 1200px;
  width: 95%;
  padding: 138px 0 160px;
  margin: 0 auto;
}
.banner .bannerList {
  padding: 0;
  margin: 0 0 78px;
  display: flex;
  gap: 16px;
}
.banner .bannerItem {
  flex: 1;
}
.banner .bannerItem img {
  -o-object-fit: cover;
     object-fit: cover;
}
.banner .bottomContact {
  text-align: center;
}
.banner .bottomContactBtn {
  display: inline-flex;
  align-items: center;
  gap: 26px;
  font-size: 27px;
  color: #fff;
  text-decoration: none;
  padding: 22px 25px 22px 44px;
  background: #006b4b;
  letter-spacing: 0.05em;
  transition: 0.3s;
}
.banner .bottomContactBtn:hover {
  background: #6fba2c;
}
.banner .bottomContactBtn:hover img {
  opacity: 1;
}
.banner .bottomContactArrow {
  width: 28px;
  height: auto;
  flex-shrink: 0;
}

/* floatContact
------------------------------------------------------------*/
.floatContact {
  position: fixed;
  right: 0;
  bottom: 5%;
  z-index: 100;
  transition: opacity 0.3s, visibility 0.3s;
}
.floatContact.-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.floatContactItem {
  display: flex;
  align-items: center;
  background: #006934;
  color: #fff;
  overflow: hidden;
  transition: background-color 0.2s ease;
}
.floatContactItem:hover {
  background-color: #6fba2c;
  color: #fff;
}

.floatContactText {
  font-size: 13px;
  font-family: "Roboto", sans-serif;
  white-space: nowrap;
  width: 0;
  overflow: hidden;
  padding: 0;
  letter-spacing: 0.025em;
  transition: width 0.3s ease, padding 0.3s ease, border-color 0.3s ease;
  align-self: stretch;
  display: flex;
  align-items: center;
}

.floatContactItem + .floatContactItem .floatContactText {
  border-top: 1px solid transparent;
}

.floatContact:hover .floatContactItem + .floatContactItem .floatContactText {
  border-top-color: #fff;
}

.floatContact:hover .floatContactText {
  width: 260px;
  padding: 0 20px 0 16px;
}

.floatContactIcon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  flex-shrink: 0;
}
.floatContactIcon img {
  height: auto;
}

.floatContactItem.-mail .floatContactIcon img {
  width: 30px;
}

.floatContactItem.-catalog .floatContactIcon img {
  width: 32px;
}

.floatContactLabel {
  font-size: 12px;
  font-family: "Roboto", sans-serif;
  margin-top: 6px;
  letter-spacing: 0.025em;
}

/*------------------------------------------------------------
  PC（768px〜1599px）
------------------------------------------------------------*/
@media all and (min-width: 768px) and (max-width: 1599px) {
  .mv img {
    min-width: 0;
    width: 118.75%; /* 1900 / 1600 */
  }
}
/*------------------------------------------------------------
  PC（768px〜）
------------------------------------------------------------*/
@media all and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
@media all and (max-width: 1100px) and (min-width: 768px) {
  .news .newsInner {
    flex-direction: column;
    gap: 16px;
  }
  .news .newsHead {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .news .newsBtn {
    align-items: flex-end;
  }
  .news .newsItem {
    flex-wrap: wrap;
  }
  .news .newsText {
    flex: 0 0 100%;
  }
  .intro .introInner {
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }
  .intro .introImg {
    flex: none;
    width: 83.4%;
    max-width: 400px;
    margin-bottom: 6px;
  }
}
@media all and (max-width: 1300px) and (min-width: 768px) {
  .intro .introInner p {
    font-size: 16px;
  }
}
@media all and (max-width: 1250px) and (min-width: 1081px) {
  .panel .panelCategory {
    font-size: 12px;
  }
  .panel .panelDate {
    font-size: 12px;
  }
}
@media all and (max-width: 1080px) and (min-width: 768px) {
  .panel .panelList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media all and (max-width: 1430px) {
  .partner .partnerItemIksText {
    padding-left: 40px;
  }
  .partner .partnerItemSub.-iks {
    padding-right: 40px;
  }
  .partner .partnerItemLogoArea {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media all and (max-width: 1000px) and (min-width: 768px) {
  .hydrogen .hydrogenCase {
    padding: 28px 0 54px;
    gap: 0;
  }
  .hydrogen .hydrogenCaseItem {
    padding: 0 0 32px;
  }
  .hydrogen .hydrogenCaseItem > .content {
    padding-bottom: 0;
    flex-direction: column;
    gap: 20px;
    align-items: initial;
  }
  .hydrogen .hydrogenCaseLeft {
    order: 2;
    flex: none;
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 25px;
         column-gap: 25px;
    align-items: start;
    margin-bottom: 0;
  }
  .hydrogen .hydrogenCaseNum {
    grid-row: 1/3;
    height: 59px;
    width: auto;
    margin: 8px 0 0 11px;
  }
  .hydrogen .hydrogenCaseRight {
    order: 1;
    flex: none;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .hydrogen .hydrogenCaseImgs {
    height: 180px;
  }
  .hydrogen .hydrogenInner {
    flex-direction: column;
    gap: 0;
    padding: 0 17px;
  }
  .hydrogen .hydrogenLeft {
    display: contents;
  }
  .hydrogen .hydrogenLeft::after {
    height: 5px;
    right: auto;
    left: 55.3%;
    top: 131px;
    bottom: auto;
  }
  .hydrogen .hydrogenTitleJa {
    order: 1;
    margin: 0 0 17px;
  }
  .hydrogen .hydrogenRight {
    order: 5;
    flex: none;
    width: 100vw;
    margin: 0 calc(50% - 50vw) 16px;
  }
  .hydrogen .hydrogenRight::after {
    display: none;
  }
  .hydrogen .hydrogenDesc {
    order: 6;
  }
}
@media all and (max-width: 1800px) and (min-width: 768px) {
  .partner {
    background-size: 100%, calc(55.81vw - 53.6px) auto;
  }
}
@media all and (max-width: 1243px) and (min-width: 1024px) {
  .effectItem.-item01 .effectVisual {
    width: calc(89.55vw - 637px);
  }
  .effectItem.-item05 .effectVisual {
    width: calc(31.36vw - 43.1px);
  }
  .effectItem.-item04 .effectVisual {
    right: calc(18.64vw - 140.9px);
  }
}
@media all and (max-width: 1023px) and (min-width: 768px) {
  .mhs .effectList li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 15px;
    padding: 24px 0;
  }
  .mhs .effectNumWrap {
    grid-row: 1/3;
    align-self: start;
    gap: 8px;
  }
  .mhs .effectNumWrap::after {
    width: 68px;
  }
  .mhs .effectNumWrap .effectNum {
    margin-left: 11px;
  }
  .mhs .effectNum {
    height: 36px;
  }
  .mhs .effectBody {
    display: contents;
  }
  .mhs .effectTtl {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0 0 6px;
    font-size: 30px;
  }
  .mhs .effectSubLabel {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin: 0;
    font-size: 15px;
  }
  .mhs .effectDesc {
    grid-column: 1/-1;
    grid-row: 3;
    margin-top: 12px;
    font-size: 14px;
  }
  .mhs .effectVisual {
    grid-column: 1/-1;
    grid-row: 4;
    position: static;
    width: auto;
    justify-content: flex-start;
    padding: 0 18px;
  }
  .mhs .effectContent {
    grid-column: 1/-1;
    grid-row: 3;
    padding: 0 18px;
    display: flex;
    overflow: hidden;
  }
  .mhs .effectContent .effectDesc {
    margin-top: 12px;
  }
  .mhs .effectContent .effectDesc .effectVisual {
    float: right;
    height: 100%;
    display: flex;
    align-items: flex-end;
    padding: 0;
    margin-left: 12px;
  }
  .mhs .effectItem.-item01 .effectDesc {
    width: auto;
    padding: 0 18px;
  }
  .mhs .effectItem.-item01 .effectVisual {
    width: 100%;
    max-width: 300px;
    transform: none;
    margin-left: auto;
  }
  .mhs .effectItem.-item02 .effectVisual {
    width: 69px;
    transform: none;
    shape-outside: none;
  }
  .mhs .effectItem.-item02 .effectDesc {
    overflow: hidden;
  }
  .mhs .effectItem.-item02 .effectDesc .effectVisual {
    height: auto;
    margin-top: 6px;
  }
  .mhs .effectItem.-item03 .effectVisual {
    width: 71px;
    shape-outside: inset(calc(100% - 85px) 0 0);
    margin-top: 1px;
  }
  .mhs .effectItem.-item03 .effectDesc {
    overflow: hidden;
  }
  .mhs .effectItem.-item03 .effectDesc .effectVisual {
    height: auto;
    margin-top: 6px;
  }
  .mhs .effectItem.-item04 .effectVisual {
    width: 63px;
    shape-outside: inset(calc(100% - 70px) 0 0);
  }
  .mhs .effectItem.-item04 .effectDesc {
    overflow: hidden;
  }
  .mhs .effectItem.-item04 .effectDesc .effectVisual {
    height: auto;
    margin-top: 6px;
  }
  .mhs .effectItem.-item05 .effectVisual {
    width: 173px;
    shape-outside: none;
  }
  .mhs .effectItem.-item05 .effectDesc {
    overflow: hidden;
  }
  .mhs .effectItem.-item05 .effectDesc .effectVisual {
    height: auto;
    margin-top: 6px;
  }
}
@media all and (max-width: 1050px) and (min-width: 768px) {
  .mhs .mhsBody {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    width: 95%;
  }
  .mhs .mhsLeft {
    display: contents;
  }
  .mhs .mhsRight {
    order: 3;
    width: 100%;
    max-width: 100%;
  }
  .mhs .mhsDesc {
    order: 4;
    max-width: 100%;
    margin-bottom: 60px;
  }
  .mhs .mhsFlows {
    flex-direction: column-reverse;
    gap: 16px;
  }
  .mhs .mhsFlowItem {
    width: 100%;
  }
  .partner {
    padding-left: 40px;
    padding-right: 40px;
  }
  .partner .partnerHead {
    overflow: visible;
  }
  .partner .partnerHeadInner {
    width: 100%;
  }
  .partner .partnerItemLabel {
    display: none;
  }
  .partner .partnerItemIks {
    width: 100%;
    overflow: visible;
  }
  .partner .partnerItemIksTop {
    flex-direction: column;
    width: 100%;
    gap: 27px;
  }
  .partner .partnerItemIksText {
    width: 100%;
    margin-top: 0;
    padding-left: 0;
  }
  .partner .partnerItemIksBg {
    flex: none;
    width: 100%;
  }
  .partner .partnerItemIksBottom {
    flex-direction: column-reverse;
    gap: 0;
    width: 100%;
  }
  .partner .partnerItemLabo {
    width: 100%;
    padding: 0;
    border-top: 1px solid #29444d;
  }
  .partner .partnerItemLaboInner {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 14px;
  }
  .partner .partnerItemText {
    flex: none;
    width: 100%;
  }
  .partner .partnerItemImg {
    flex: none;
    width: 100%;
  }
  .partner .partnerItemImg.-iks {
    margin-top: -20px;
  }
  .partner .partnerItemImg.-labo {
    order: 3;
    margin-top: 18px;
  }
  .partner .partnerItemLogoArea {
    flex-direction: column;
  }
  .partner .partnerItemLogoArea.-iks {
    align-items: flex-start;
    gap: 21px;
  }
  .partner .partnerItemLogoArea.-labo {
    display: flex;
    order: 2;
  }
  .partner .partnerItemLogoArea.-labo .partnerItemLogo {
    margin-bottom: 21px;
  }
  .partner .partnerItemSub.-iks {
    flex: none;
    width: 100%;
    margin: 24px 0 0;
  }
}
/*------------------------------------------------------------
  SP（〜767px）
------------------------------------------------------------*/
@media all and (max-width: 767px) {
  /* Common */
  .pc {
    display: none !important;
  }
  .introBg,
  .initiatives,
  .partner {
    position: relative;
    overflow: hidden;
  }
  .initiatives .backTopWrap {
    bottom: 117px;
  }
  .content {
    width: 100%;
  }
  /* mv */
  .mv img {
    min-width: 0;
    width: 100%;
    margin-left: 0;
    transform: none;
  }
  /* introBg */
  .introBg {
    background-image: none;
  }
  /* intro */
  .intro {
    width: 100%;
    padding: 21px 20px 24px;
    background-image: url(/files/user/corporate/img/energy-solution/bg_intro.jpg);
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: 100% auto;
  }
  .intro .scrollDown {
    display: none;
  }
  .intro .introInner {
    flex-direction: column;
    gap: 20px;
    align-items: center;
    padding-left: 0;
  }
  .intro .introInner p {
    font-size: 12px;
    line-height: 2.16;
    letter-spacing: 0;
    margin: 0 0 -3px;
  }
  .intro .introImg {
    flex: none;
    width: 83.4%;
    margin-bottom: 6px;
    max-width: 400px;
  }
  /* news */
  .news {
    padding: 0;
  }
  .news .content {
    padding: 0;
  }
  .news .newsInner {
    flex-direction: column;
    gap: 16px;
    padding: 24px 19px 37px 31px;
  }
  .news .newsHead {
    width: 100%;
    padding-right: 0;
    padding-bottom: 5px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .news .newsTitle {
    width: 122px;
    margin: 0;
  }
  .news .newsBtn {
    font-size: 12px;
    gap: 10px;
    align-items: flex-end;
  }
  .news .newsBtnArrow {
    width: 33px;
    height: 33px;
  }
  .news .newsBtnArrow img {
    width: 12px;
  }
  .news .newsList {
    padding: 2px 0 0 12px;
    gap: 16px;
  }
  .news .newsItem {
    flex-wrap: wrap;
    gap: 2px 7px;
  }
  .news .newsDate {
    flex: 0 0 auto;
    font-size: 12px;
  }
  .news .newsCategory {
    flex: 0 0 auto;
    font-size: 9.5px;
    padding: 3px 16px;
  }
  .news .newsText {
    flex: 0 0 100%;
    font-size: 11px;
    padding-left: 4px;
  }
  /* initiatives */
  .initiatives {
    padding: 77px 11px 153px;
  }
  .initiatives .initiativesTitle {
    margin-bottom: 53px;
  }
  .initiatives .initiativesTitleEn {
    width: 318px;
  }
  .initiatives .initiativesTitleJa {
    font-size: 19px;
    margin-left: 12px;
  }
  .initiatives .initiativesTitleJa::after {
    bottom: -13px;
    left: 33.3%;
    height: 5px;
  }
  .initiatives .initiativesBtn {
    margin-left: 11px;
  }
  .initiatives .initiativesBtnLink {
    font-size: 12px;
    letter-spacing: 0.05em;
    min-width: 163px;
    height: 33px;
  }
  .initiatives .initiativesBtnArrow img {
    width: 9px;
  }
  /* panel */
  .panel {
    margin-bottom: 52px;
  }
  .panel .panelList {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .panel .panelItem:nth-child(n+5) {
    display: none;
  }
  .panel .panelLink {
    padding: 12px;
    min-height: auto;
  }
  .panel .panelImg {
    margin-bottom: 10px;
  }
  .panel .panelMeta {
    gap: 2px;
  }
  .panel .panelCategory {
    font-size: 7px;
    padding: 2px 5px;
    letter-spacing: 0.025em;
    margin-bottom: 5px;
  }
  .panel .panelDate {
    font-size: 9px;
    margin-bottom: 5px;
  }
  .panel .panelText {
    font-size: 10px;
    line-height: 1.5;
    margin-bottom: 0;
  }
  .panel .panelText::after {
    width: 8px;
    height: 10px;
  }
  /* partner */
  .partner {
    padding: 0 28px 170px;
    background-size: auto, 375px auto;
  }
  .partner .partnerHead {
    padding: 47px 0 16px;
    overflow: visible;
  }
  .partner .partnerHeadInner {
    width: 100%;
  }
  .partner .partnerTitleEn {
    width: 289px;
  }
  .partner .partnerTitleJa {
    display: block;
    font-size: 22px;
    padding-bottom: 0;
  }
  .partner .partnerTitleJa::after {
    bottom: 9px;
    left: 51.9%;
    height: 5px;
    background: #cfd400;
  }
  .partner .partnerItemIks {
    width: 100%;
    overflow: visible;
  }
  .partner .partnerItemIksTop {
    flex-direction: column;
    width: 100%;
    margin: 0 0 21px;
    gap: 27px;
  }
  .partner .partnerItemIksText {
    width: 100%;
    margin-top: 0;
    padding-left: 0;
  }
  .partner .partnerItemIksBg {
    margin: 0 -28px;
    min-height: 200px;
  }
  .partner .partnerItemIksBottom {
    flex-direction: column-reverse;
    gap: 0;
    width: 100%;
  }
  .partner .partnerItemCaption {
    margin-left: 5px;
    font-size: 10px;
    line-height: 1.5;
  }
  .partner .partnerItemLabo {
    width: 100%;
    padding: 0;
    margin: 24px auto 0;
    border-top: 1px solid #29444d;
  }
  .partner .partnerItemLaboInner {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 14px;
  }
  .partner .partnerItemText {
    flex: none;
    width: 100%;
  }
  .partner .partnerItemImg {
    flex: none;
    width: 100%;
    height: 100%;
  }
  .partner .partnerItemImg.-iks {
    height: 100%;
    margin-top: -20px;
  }
  .partner .partnerItemImg.-labo {
    order: 3;
    height: 100%;
    margin-top: 18px;
    margin-bottom: 47px;
  }
  .partner .partnerItemImgCaption {
    margin-left: 5px;
    font-size: 10px;
    line-height: 1.5;
  }
  .partner .partnerItemLogoArea {
    flex-direction: column;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .partner .partnerItemLogoArea.-iks {
    align-items: flex-start;
    gap: 21px;
    margin-bottom: 2px;
    align-items: flex-start;
  }
  .partner .partnerItemLogoArea.-iks .partnerItemLogo {
    width: 291px;
  }
  .partner .partnerItemLogoArea.-labo {
    display: flex;
    order: 2;
    margin-bottom: 0;
  }
  .partner .partnerItemLogoArea.-labo .partnerItemLogo {
    margin-bottom: 25px;
    width: 328px;
  }
  .partner .partnerItemLogoArea.-labo .partnerItemBtn {
    margin-right: -5px;
    padding: 4px 13px 4px 30px;
    gap: 17px;
  }
  .partner .partnerItemBtn {
    align-self: flex-end;
    width: auto;
    margin-right: -12px;
    font-size: 10px;
    padding: 4px 14px;
    gap: 6px;
  }
  .partner .partnerItemBtnArrow img {
    width: 8px;
    height: 10px;
  }
  .partner .partnerItemSub.-iks {
    flex: none;
    width: 100%;
    margin: 24px 0 0;
    padding-right: 0;
  }
  .partner .partnerItemName {
    font-size: 14px;
    margin-bottom: 19px;
    line-height: 1.5;
  }
  .partner .partnerItemName.-labo {
    margin: 18px 0 14px;
  }
  .partner .partnerItemName::before {
    width: 6px;
    height: 15px;
  }
  .partner .partnerItemLead {
    font-size: 18px;
    letter-spacing: 0;
    margin: 0 -1px 8px;
  }
  .partner .partnerItemLead.-labo.partnerItemFooter {
    letter-spacing: 0;
  }
  .partner .partnerItemDesc {
    font-size: 12px;
    line-height: 1.9;
  }
  .partner .partnerItemDesc.-labo {
    line-height: 1.9;
    margin-bottom: 23px;
  }
  .partner .partnerItemDesc.-labo:last-child {
    margin-bottom: 0;
  }
  .partner .partnerItemSubTtl {
    font-size: 18px;
    letter-spacing: 0.05em;
  }
  .partner .partnerItemSubTtl.-bottom {
    font-size: 19px;
    margin-bottom: 12px;
  }
  .partner .partnerItemSubDesc {
    font-size: 12px;
    line-height: 1.9;
    letter-spacing: 0.025em;
    margin-bottom: 44px;
  }
  .partner .partnerItemLabel {
    display: none;
  }
  .partner .partnerItemFooterDesc {
    width: 100%;
    font-size: 12px;
    margin: -9px 0 0;
  }
  /* solution (overview) */
  .solution .solutionBg {
    padding: 46px 0 0;
    background: url(/files/user/corporate/img/energy-solution/bg_solution_sp.png) top center/100% auto no-repeat, #bbd3b6;
  }
  .solution .solutionBg::after {
    display: none;
  }
  .solution .content {
    padding: 0 16px 50px;
  }
  .solution .solutionTitle {
    margin: 0 10px 39px;
  }
  .solution .solutionTitleEn {
    width: 245px;
    margin: 0 0 8px;
  }
  .solution .solutionTitleJa {
    font-size: 22px;
  }
  .solution .solutionTitleJa::after {
    height: 5px;
    bottom: -15px;
    left: 20.3%;
  }
  .solution .solutionNote {
    text-align: left;
    font-size: 11px;
  }
  .solution .solutionList {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 0;
    padding: 0;
    border-bottom: none;
  }
  .solution .solutionCardTop {
    padding: 8px 10px 17px;
    min-height: 60px;
  }
  .solution .solutionCardTtl {
    font-size: 12px;
    letter-spacing: 0;
  }
  .solution .solutionCardArrow {
    bottom: 7px;
    right: 17px;
  }
  .solution .solutionCardArrow::after {
    width: 22px;
    height: 26px;
  }
  .solution .solutionCardImg {
    aspect-ratio: 18/17;
  }
  .solution .solutionSpNav {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    background: #fff;
    border-top: 5px solid #7aad5b;
    z-index: 50;
  }
  .solution .solutionSpNav.-fixed {
    display: none;
    position: fixed;
    top: 64px;
    left: 0;
    margin: 0;
  }
  .solution .solutionSpNav.-fixed.is-show {
    display: block;
  }
  .solution .solutionSpNav.-fixed.is-end {
    display: block;
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    margin: 0;
  }
  .solution .solutionSpNav.-trigger.is-hide {
    visibility: hidden;
  }
  .solution .solutionSpNavSentinel,
  .solution .solutionSpNavSentinelEnd {
    height: 0;
    overflow: hidden;
  }
  .solution .solutionSpNavTitle {
    width: 320px;
    height: auto;
    display: block;
    margin: 0 auto;
    padding: 16px 0 3px;
  }
  .solution .solutionSpNavList {
    display: flex;
    padding: 0;
    margin: 0;
    border-top: 1px solid #629199;
  }
  .solution .solutionSpNavList li {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 1px solid #629199;
    margin: 9px 0;
  }
  .solution .solutionSpNavList li:nth-child(1) {
    flex: 0 0 clamp(106px, 106px + 34 * (424px - 100vw) / 104, 140px);
  }
  .solution .solutionSpNavList li:last-child {
    border-right: none;
  }
}
@media (max-width: 767px) and (min-width: 424px) {
  .solution .solutionSpNavList li:nth-child(1) {
    flex: 1;
  }
}
@media all and (max-width: 767px) {
  .solution .solutionSpNavLink {
    display: block;
    padding: 6px 3px;
    font-size: 11px;
    font-weight: 700;
    color: #393f4f;
    line-height: 1.54;
  }
}
@media all and (max-width: 767px) {
  /* mhs */
  .mhs .mhsMain {
    padding: 15px 0 3px;
  }
  .mhs .mhsMain > .content {
    padding-bottom: 0;
  }
  .mhs .mhsTitle {
    order: 1;
    margin: 0 0 12px;
  }
  .mhs .mhsTitleJa {
    font-size: 20px;
    margin: 0 0 13px;
  }
  .mhs .mhsTitleJa::after {
    height: 5px;
    right: auto;
    left: 73.3%;
    bottom: -64px;
  }
  .mhs .mhsTitleEn {
    max-width: 313px;
  }
  .mhs .mhsHeadJa {
    order: 2;
    font-size: 22px;
    line-height: 1.54;
    margin-bottom: 0;
  }
  .mhs .mhsBody {
    display: flex;
    flex-direction: column;
    margin-bottom: 21px;
    padding: 0 27px;
  }
  .mhs .mhsLeft {
    display: contents;
  }
  .mhs .mhsRight {
    order: 3;
    width: calc(100vw - 7px);
    margin: -8px 7px 11px calc(50% - 50vw);
  }
  .mhs .mhsDesc {
    order: 4;
    font-size: 12px;
    line-height: 1.9;
  }
  .mhs .mhsDiagram {
    aspect-ratio: 1;
  }
  .mhs .mhsFlows {
    flex-direction: column-reverse;
    gap: 16px;
    padding: 0 4px 0 11px;
  }
  .mhs .mhsFlowGroupTtl {
    font-size: 15px;
    margin: 4px 0 3px;
  }
  .mhs .mhsFlowItem {
    width: 100%;
  }
  .mhs .mhsFlowItem:first-of-type {
    padding-bottom: 19px;
    border-bottom: none;
  }
  .mhs .mhsFlowItem:first-of-type::after {
    height: 5px;
  }
  .mhs .mhsFlowItemTtl {
    font-size: 13px;
    border-radius: 8px;
    padding: 3px 65px;
    margin-bottom: 3px;
  }
  .mhs .mhsFlowEmsTtl {
    width: 104px;
    margin-bottom: 14px;
  }
  .mhs .mhsFlowEms {
    margin-top: 0;
  }
  .mhs .mhsFlowEmsDesc {
    font-size: 10px;
    margin-top: -9px;
    line-height: 1.7;
    margin-bottom: 31px;
  }
  .mhs .mhsEffect {
    padding: 53px 12px 0;
  }
  .mhs .mhsEffect > .content {
    padding-bottom: 0;
  }
  .mhs .mhsEffectTtl {
    font-size: 17px;
    margin-bottom: 7px;
  }
  .mhs .lineupWrap {
    padding: 40px 0 32px;
  }
  .mhs {
    /* effect */
  }
  .mhs .effectList li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 15px;
    padding: 27px 0 24px;
  }
  .mhs .effectNumWrap {
    grid-row: 1/3;
    align-self: start;
    gap: 8px;
  }
  .mhs .effectNumWrap::after {
    width: 68px;
  }
  .mhs .effectNumWrap .effectNum {
    margin-left: 11px;
  }
  .mhs .effectNum {
    height: 36px;
  }
  .mhs .effectBody {
    display: contents;
  }
  .mhs .effectTtl {
    grid-column: 2;
    grid-row: 1;
    font-size: 17px;
    align-self: end;
    margin: 0 0 6px;
    padding-right: 15px;
  }
  .mhs .effectSubLabel {
    grid-column: 2;
    grid-row: 2;
    font-size: 12px;
    align-self: start;
    margin: 0;
    padding-right: 18px;
  }
  .mhs .effectDesc {
    grid-column: 1/-1;
    grid-row: 3;
    font-size: 12px;
    margin-top: 12px;
  }
  .mhs .effectDescNote {
    font-size: 10px;
    display: block;
    padding-left: 1em;
    text-indent: -1em;
    margin-top: 6px;
  }
  .mhs .effectVisual {
    grid-column: 1/-1;
    grid-row: 4;
    position: static;
    width: auto;
    justify-content: flex-start;
    padding: 0 18px;
  }
  .mhs .effectContent {
    grid-column: 1/-1;
    grid-row: 3;
    padding: 0 18px;
    display: flex;
    overflow: hidden;
  }
  .mhs .effectContent .effectDesc {
    margin-top: 12px;
  }
  .mhs .effectContent .effectDesc .effectVisual {
    float: right;
    height: 100%;
    display: flex;
    align-items: flex-end;
    padding: 0;
    margin-left: 12px;
  }
  .mhs .effectItem.-item01 .effectDesc {
    width: auto;
    padding: 0 18px;
  }
  .mhs .effectItem.-item01 .effectVisual {
    width: 100%;
    max-width: 300px;
    transform: none;
    margin-left: auto;
  }
  .mhs .effectItem.-item02 .effectVisual {
    width: 69px;
    transform: none;
    shape-outside: none;
  }
  .mhs .effectItem.-item02 .effectDesc {
    overflow: hidden;
  }
  .mhs .effectItem.-item02 .effectDesc .effectVisual {
    height: auto;
    margin-top: 6px;
  }
  .mhs .effectItem.-item03 .effectVisual {
    width: 71px;
    shape-outside: inset(calc(100% - 85px) 0 0);
    margin-top: 1px;
  }
  .mhs .effectItem.-item03 .effectContent .effectDesc .effectVisual {
    height: auto;
    margin-top: 6px;
  }
  .mhs .effectItem.-item04 .effectVisual {
    width: 63px;
    shape-outside: inset(calc(100% - 70px) 0 0);
  }
  .mhs .effectItem.-item04 .effectContent .effectDesc .effectVisual {
    height: auto;
    margin-top: 6px;
  }
  .mhs .effectItem.-item05 .effectVisual {
    width: 173px;
    shape-outside: none;
  }
  .mhs .effectItem.-item05 .effectDesc {
    overflow: hidden;
  }
  .mhs .effectItem.-item05 .effectDesc .effectVisual {
    height: auto;
    margin-top: 6px;
  }
  .mhs .effectBigNum {
    font-size: 52px;
  }
  /* v2x */
  .v2x {
    padding: 0 12px;
  }
  .v2x .v2xMain {
    padding: 34px 0 0;
    background-image: none;
  }
  .v2x .v2xMain > .content {
    padding-bottom: 0;
  }
  .v2x .v2xLabel {
    font-size: 21px;
    margin: 0 0 7px;
  }
  .v2x .v2xLabel::after {
    height: 5px;
    right: auto;
    left: 53.3%;
    bottom: -20px;
  }
  .v2x .v2xTitleEn {
    width: 95px;
    margin: 0 0 22px;
  }
  .v2x .v2xHeadJa {
    font-size: 22px;
    margin-bottom: 0;
  }
  .v2x .v2xBody {
    flex-direction: column;
    gap: 0;
  }
  .v2x .v2xLeft {
    display: contents;
  }
  .v2x .v2xLabel {
    order: 1;
  }
  .v2x .v2xTitleEn {
    order: 2;
  }
  .v2x .v2xHeadJa {
    order: 3;
    margin-bottom: 17px;
  }
  .v2x .v2xRight {
    order: 4;
    flex: none;
    width: 100%;
    height: 272px;
    margin-bottom: 13px;
  }
  .v2x .v2xRight img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: left center;
       object-position: left center;
  }
  .v2x .v2xRight::after {
    display: none;
  }
  .v2x .v2xDesc {
    order: 5;
    font-size: 12px;
    line-height: 1.9;
  }
  .v2x .v2xBenefit {
    padding: 26px 0 0;
    background-image: none;
  }
  .v2x .v2xBenefit .content {
    padding: 0 9px;
  }
  .v2x .v2xBenefitInner {
    flex-direction: column;
    gap: 19px;
  }
  .v2x .v2xIllust {
    flex: none;
    width: 100%;
  }
  .v2x .v2xMerit {
    flex: none;
    width: 100%;
    padding: 0 5px;
  }
  .v2x .v2xMeritTtl {
    font-size: 17px;
    letter-spacing: 0.05em;
    margin: 0 0 5px;
  }
  .v2x .v2xMeritList {
    padding: 0 0 0 14px;
  }
  .v2x .v2xMeritList li {
    font-size: 12px;
    padding: 1px 0;
  }
  .v2x .lineupWrap {
    margin-right: -12px;
    padding-bottom: 55px;
  }
  .v2x .lineupWrap .lineupTtl {
    margin: 0 0 8px 3px;
  }
  .v2x .lineupWrap .flexslider .slides {
    margin: 0 -7px 0 7px;
  }
  /* rd */
  .rd {
    background-image: none;
    padding: 0 12px;
  }
  .rd .rdMain {
    padding: 39px 0 0;
  }
  .rd .rdMain > .content {
    padding-bottom: 0;
  }
  .rd .rdTitleEn {
    width: 294px;
    margin: 0 0 16px 6px;
  }
  .rd .rdHeadJa {
    font-size: 22px;
    margin-bottom: 14px;
    line-height: 1.5;
    letter-spacing: 0;
  }
  .rd .rdTop,
  .rd .rdBottom {
    letter-spacing: inherit;
  }
  .rd .rdBody {
    flex-direction: column;
    gap: 0;
    margin-bottom: 20px;
  }
  .rd .rdLeft {
    flex: none;
    width: 100%;
    margin-top: 0;
  }
  .rd .rdTitleJa {
    font-size: 20px;
    letter-spacing: 0.025em;
    margin: 0 0 12px;
  }
  .rd .rdTitleJa::after {
    height: 5px;
    right: auto;
    left: 56.3%;
    bottom: -66px;
  }
  .rd .rdRight {
    flex: none;
    width: 100%;
    height: 272px;
  }
  .rd .rdRight img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: left center;
       object-position: left center;
  }
  .rd .rdDesc {
    font-size: 12px;
    line-height: 1.9;
    width: 100%;
  }
  .rd .rdDesc::after {
    display: none;
  }
  .rd .rdDescNote {
    font-size: 10px;
    letter-spacing: 0;
  }
  .rd .lineupWrap {
    padding: 33px 0 36px;
    margin-right: -12px;
  }
  .rd .lineupWrap .lineupTtl {
    font-size: 20px;
    color: #fff;
  }
  .rd .lineupWrap .flexslider .slides {
    margin: 0 -7px 0 7px;
  }
  /* hydrogen */
  .hydrogen .hydrogenMain {
    padding: 44px 0 0;
  }
  .hydrogen .hydrogenMain > .content {
    padding-bottom: 0;
  }
  .hydrogen .hydrogenHeadEn {
    order: 2;
    width: 258px;
    margin: 0 0 29px;
  }
  .hydrogen .hydrogenHeadJa {
    order: 3;
    font-size: 22px;
    margin: 0 0 3px;
  }
  .hydrogen .hydrogenHeadSub {
    order: 4;
    margin: 0 0 20px;
    font-size: 18px;
    font-weight: 700;
  }
  .hydrogen .hydrogenInner {
    flex-direction: column;
    gap: 0;
    padding: 0 17px;
  }
  .hydrogen .hydrogenLeft {
    display: contents;
  }
  .hydrogen .hydrogenLeft::after {
    height: 5px;
    right: auto;
    left: 55.3%;
    top: 131px;
    bottom: auto;
  }
  .hydrogen .hydrogenTitleJa {
    order: 1;
    margin: 0 0 17px;
    font-size: 17px;
    line-height: 1.47;
  }
  .hydrogen .hydrogenRight {
    order: 5;
    flex: none;
    width: 100vw;
    margin: 0 calc(50% - 50vw) 16px;
    height: calc(35.71vw + 126.1px);
  }
  .hydrogen .hydrogenRight::after {
    display: none;
  }
  .hydrogen .hydrogenRight img {
    -o-object-fit: cover;
       object-fit: cover;
  }
  .hydrogen .hydrogenDesc {
    order: 6;
    font-size: 12px;
    line-height: 1.9;
  }
  .hydrogen .hydrogenCase {
    padding: 28px 0 54px;
    gap: 0;
  }
  .hydrogen .hydrogenCaseItem {
    padding: 0 0 32px;
  }
  .hydrogen .hydrogenCaseItem > .content {
    padding-bottom: 0;
    flex-direction: column;
    gap: 20px;
    align-items: initial;
  }
  .hydrogen .hydrogenCaseLeft {
    order: 2;
    flex: none;
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 15px;
         column-gap: 15px;
    align-items: start;
    margin-bottom: 0;
  }
  .hydrogen .hydrogenCaseNum {
    grid-row: 1/3;
    height: 59px;
    width: auto;
    margin: 8px 0 0 11px;
  }
  .hydrogen .hydrogenCaseTtl {
    font-size: 13px;
    margin: 0 0 4px;
  }
  .hydrogen .hydrogenCaseText {
    font-size: 12px;
  }
  .hydrogen .hydrogenCaseRight {
    order: 1;
    flex: none;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .hydrogen .hydrogenCaseImgs {
    height: 180px;
  }
  /* lineupWrap */
  .lineupSliderOuter {
    padding-left: 0;
  }
  .lineupWrap {
    padding: 40px 0 64px;
  }
  .lineupWrap .lineupTtl {
    font-size: 17px;
    margin: 0 0 8px;
  }
  .lineupWrap .lineupItemLink {
    aspect-ratio: 165/188;
  }
  .lineupWrap .flex-direction-nav {
    bottom: -55px;
    right: 29px;
  }
  .lineupWrap .flex-direction-nav a {
    width: 32px;
    height: 32px;
  }
  .lineupWrap .flex-direction-nav a::before {
    width: 12px;
    height: 15px;
  }
  .lineupWrap > .content {
    padding-bottom: 0;
  }
  .lineupWrap .lineupTtl {
    margin: 0 0 8px 14px;
  }
  .lineupWrap .flexslider .slides {
    margin: 0 -7px 0 20px;
  }
  .lineupWrap .flexslider .slides > li {
    margin: 0 9px;
    max-width: 165px;
  }
  .lineupWrap .lineupItemBtn {
    font-size: 10px;
    margin: 0 13px 10px;
    padding: 4px 26px 4px 16px;
  }
  .lineupWrap img.lineupItemBtnArrow {
    width: 9px;
    height: 11px;
    right: 14px;
  }
  /* banner */
  .banner {
    width: 100%;
    padding: 48px 23px 32px;
  }
  .banner .bannerList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 8px;
    margin-bottom: 42px;
  }
  .banner .bottomContactBtn {
    font-size: 19px;
    padding: 14px 28px;
    font-weight: 700;
  }
  .banner .bottomContactArrow {
    width: 20px;
  }
  .bannerBackTop {
    position: absolute;
    right: 5%;
    bottom: 20px;
  }
  /* floatContact */
  .floatContact {
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    transform: none;
    display: flex;
    flex-direction: row;
    height: 45px;
    transition: transform 0.3s;
  }
  .floatContact.-hidden {
    opacity: 1;
    visibility: visible;
    transform: translateY(100%);
  }
  .floatContactItem {
    flex: 1;
    justify-content: center;
    height: 45px;
  }
  .floatContactItem + .floatContactItem {
    border-top: none;
    border-left: 1px solid rgba(255, 255, 255, 0.4);
  }
  .floatContactItem:hover {
    background-color: #006934;
  }
  .floatContactText {
    display: none;
  }
  .floatContactIcon {
    flex-direction: row;
    width: auto;
    height: auto;
    gap: 8px;
  }
  .floatContactItem.-mail .floatContactIcon img {
    width: 27px;
  }
  .floatContactItem.-catalog .floatContactIcon img {
    width: 28px;
  }
  .floatContactLabel {
    font-size: 12px;
    margin-top: 0;
  }
}
/*===========
topBackBtn (既存フッターボタン非表示)
===========*/
.topBackBtn {
  display: none !important;
}

/*===========
backTopBtn
===========*/
.backTopWrap {
  position: absolute;
  bottom: 16px;
  right: 16px;
}

.backTopBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 37px;
  height: 37px;
  background: #82b71f;
  border: none;
  border-radius: 0;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.backTopBtn img {
  width: 20px;
  height: 16px;
  transform: rotate(-90deg);
}

/*===========
inview
===========*/
.js-inviewUp {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 2s;
}

.js-inviewUp.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.js-inviewZoom {
  opacity: 0;
  transform: scale(0.8);
  transition: 2s;
}

.js-inviewZoom.is-show {
  opacity: 1;
  transform: scale(1);
}

.js-inviewZoomOut {
  opacity: 0;
  transform: scale(1.2);
  transition: 2s;
}

.js-inviewZoomOut.is-show {
  opacity: 1;
  transform: scale(1);
}

/* initiatives panel / innerContents panel: SP=4番目固定 / PC=8番目固定 */
@media print, screen and (min-width: 768px) {
  .initiatives .panel .panelItem--pinned,
  .innerContents .panel .panelItem--pinned {
    order: 8;
  }
  .initiatives .panel .panelItem:nth-child(5),
  .innerContents .panel .panelItem:nth-child(5) {
    order: 4;
  }
  .initiatives .panel .panelItem:nth-child(6),
  .innerContents .panel .panelItem:nth-child(6) {
    order: 5;
  }
  .initiatives .panel .panelItem:nth-child(7),
  .innerContents .panel .panelItem:nth-child(7) {
    order: 6;
  }
  .initiatives .panel .panelItem:nth-child(8),
  .innerContents .panel .panelItem:nth-child(8) {
    order: 7;
  }
  .innerContents .panel .panelItem:nth-child(9) {
    order: 9;
  }
  .innerContents .panel .panelItem:nth-child(10) {
    order: 10;
  }
  .innerContents .panel .panelItem:nth-child(11) {
    order: 11;
  }
  .innerContents .panel .panelItem:nth-child(12) {
    order: 12;
  }
  .innerContents .panel .panelItem:nth-child(13) {
    order: 13;
  }
  .innerContents .panel .panelItem:nth-child(14) {
    order: 14;
  }
}
@media all and (max-width: 767px) and (min-width: 550px) {
  .intro .introInner p {
    font-size: 16px;
  }
}