@charset "UTF-8";

/* =========================================================
夏の節電アクション2023
========================================================= */

.zen {
	font-family: 'Zen Maru Gothic', sans-serif;
}

#energy_action {
	background: #f7f2ed;
}
#energy_action > h1 {
	height: 0;
	overflow: hidden;
}
#action_inner{
  background: #c7361d;
}
#action_inner::before{
  content: "";
}
.action_ttl{
  color: #f7f2ed;
  text-align: center;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  flex-wrap: wrap-reverse;
  -webkit-box-align: end;
	-ms-flex-align: end;
  align-items: end;
  justify-content: center;
  position: relative;
}
.action_ttl::before,.action_ttl::after{
  content: "";
}
#energy_action #action_types {
  display: flex;
}
#energy_action #action_types > li {
	border: solid 3px #000;
  background: #f7f2ed;
}
#energy_action #action_types > li a{
  position: relative;
}
#energy_action #action_types > li > div img {
	margin-left: auto;
	margin-right: auto;
}

#energy_action #action_types > li a > p {
	font-weight: bold;
	text-align: center;
}
#energy_action #action_types > li a > h3{
  background: #000;
  color: #f7f2ed;
  text-align: center;
}
#energy_action #action_types li a::before,
#energy_action #action_types li a::after{
  content: "";
}
#action_inner .notes_text{
  color: #fff;
}
@media screen and (min-width: 668px) {
	.sp { display: none !important; }
	#energy_action {
		min-width: 1200px;
		padding-top: 150px;
    padding-bottom: 70px;
	}
	#energy_action > h1 {
		padding-top: 350px;
		background: url(../images/mainvis_img.png) no-repeat center center, url(../images/mainvis_bg.png) no-repeat center center;
    background-color:#f7f2ed;
		background-size: auto 100%, cover;
	}
  #action_inner{
    margin: 145px auto 0;
    border-radius: 25px;
    max-width: 900px;
    padding-bottom: 38px;
    position: relative;
  }
  #action_inner::before{
    background:url(../images/action_inner_bg.png) no-repeat top center;
    background-size: contain;
    width: 463px;
    height: 92px;
    display: block;
    text-align: center;
    position: absolute;
    top:-90px;
    right: 0%;
    left: 0%;
    margin: auto;
  }
  .action_ttl{
    font-size: 27px;
    line-height: 1.633;
    top:-47px;
  }
  .action_ttl::before{
    background:url(../images/ico_action_bg.png) no-repeat bottom left;
    background-size: contain;
    width: 23px;
    height: 36px;
    position: absolute;
    bottom: 10px;
    left: 30%;
  }
  .action_ttl::after{
    background:url(../images/ico_action_bg.png) no-repeat bottom left;
    background-size: contain;
    width: 23px;
    height: 36px;
    transform: scale(-1, 1);
    position: absolute;
    bottom: 10px;
    right: 30%;
  }
  #action_inner .notes_text{
    font-size: 13px;
    padding-left: 15px;
    max-width: 798px;
    margin: auto;
  }
  #energy_action #action_types{
    max-width: 798px;
    margin:-28px auto 10px;
    justify-content: space-around;
  }
  #energy_action #action_types > li {
    max-width: 375px;
    width: 46.9%;
    box-sizing: content-box;
    border-radius: 25px;
  }
  #energy_action #action_types > li a{
    border-radius: 25px;
    padding: 5% 0 19%;
    display: block;
    text-decoration: none;

  }
  #energy_action #action_types > li a > p {
    font-size: 15px;
    letter-spacing: -.01em;
  }
  #energy_action #action_types  > li a > h3{
    font-size: 22px;
    margin-top: 15px;
    margin-bottom: 15px;
  }
  #energy_action #action_types li .types_logo{
    width: 53.86%;
    height: 83px;
    margin: auto;
  }
  #energy_action #action_types li .types_logo.frontier{
    width: 54.74%;
  }
  #energy_action #action_types li .types_logo.tohoku{
    width: 59.52%;
    padding-top: 4%;
    padding-right: 6%;
  }
  #energy_action #action_types > li a > p span{
    font-size: 10px;
  }
  #energy_action #action_types > li a::before{
    display: block;
    vertical-align: middle;
    width: 37px;
    height: 37px;
    background: #c7361d;
    border-radius: 50%;
    position: absolute;
    left: calc(50% - 15px);
    bottom: 6%;
  }
  #energy_action #action_types > li a::after{
    color: #fff;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    border-left-color: #fff;
    border-width: 6px 10px;
    border-right: 0;
    transform: translateX(15%);
    position: absolute;
    left: 49.5%;
    bottom: 9.5%;
    margin:auto;
    -webkit-transform: rotate(90deg);
  }
}
@media screen and (max-width: 667px) {
	.pc { display: none !important; }
	#energy_action {
		padding-top: 18vw;
    padding-bottom: 18vw;
		background-size: 67px auto

	}
	#energy_action > h1 {
		padding-top: 100%;
		background: url(../images/mainvis_sp.jpg) no-repeat center bottom;
		background-size: cover;
	}
  /**/

  #action_inner{
    margin: 40% auto 0;
    border-radius: 0 0 15px 15px;
    max-width: inherit;
    padding-bottom: 8%;
    position: relative;
    width: 87.5%;
  }
  #action_inner::before{
    background: url(../images/action_inner_bg_sp.png) no-repeat center bottom;
    background-size: contain;
    width: 100%;
    height: 32vw;
    display: block;
    text-align: center;
    position: absolute;
    top:-31vw;
    right: 0%;
    left: 0%;
    margin: auto;
  }
  .action_ttl{
    font-size: 16px;
    line-height: 1.633;
    top:-20vw;
    letter-spacing: .05em;
  }
  .action_ttl::before{
    background:url(../images/ico_action_bg.png) no-repeat bottom left;
    background-size: contain;
    width: 14px;
    height: 21px;
    margin-right: 10px;
    margin-bottom: 5px;
  }
  .action_ttl::after{
    background:url(../images/ico_action_bg.png) no-repeat bottom left;
    background-size: contain;
    width: 14px;
    height: 21px;
    transform: scale(-1, 1);
    margin-left: 10px;
    margin-bottom: 5px;
  }
  #action_inner .notes_text{
    font-size: 10px;
    padding-left: 7.14%;
    max-width: inherit;
    margin: auto;
  }
  #energy_action #action_types{
    max-width: inherit;
    margin:-18% auto 10px;
    display: block;
    position: relative;
    z-index: 1;
  }
  #energy_action #action_types > li {
    max-width: 375px;
    width: 85.71%;
    box-sizing: content-box;
    border-radius: 25px;
    margin: auto auto 6%;
  }
  #energy_action #action_types li:last-of-type{
    margin-bottom: 0;
  }
  #energy_action #action_types > li a{
    border-radius: 25px;
    padding: 5% 0 19%;
    display: block;
    text-decoration: none;
  }
  #energy_action #action_types > li a > p {
    font-size: 12px;
    letter-spacing: -.15em;
  }
  #energy_action #action_types  > li a > h3{
    font-size: 14px;
    margin-top: 7%;
    margin-bottom: 3%;
  }
  #energy_action #action_types li .types_logo{
    width: 53.86%;
    height: auto;
    margin: auto;
  }
  #energy_action #action_types li .types_logo.frontier{
    width: 54.74%;
  }
  #energy_action #action_types li .types_logo.tohoku{
    width: 59.52%;
    padding-top: 4%;
    padding-right: 6%;
  }
  #energy_action #action_types > li a > p span{
    font-size: 10px;
    transform: scale(0.9);
    transform-origin: left;
  }
  #energy_action #action_types > li a::before{
    display: block;
    vertical-align: middle;
    width: 24px;
    height: 24px;
    background: #c7361d;
    border-radius: 50%;
    position: absolute;
    left: calc(50% - 12px);
    bottom: 6%;
  }
  #energy_action #action_types > li a::after{
    color: #fff;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    border-left-color: #fff;
    border-width: 4px 6px;
    border-right: 0;
    transform: translateX(15%);
    position: absolute;
    left: 48.75%;
    bottom: 9.5%;
    margin:auto;
    -webkit-transform: rotate(90deg);
  }


}



.banner_2023winter {
  text-align: center;
  margin-top: 55px;
}
.banner_2023winter img {
  width: 100%;
  max-width: 704px;
  margin: 0 auto;
}
.modal_2023winter {
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.2);
}
.modal_2023winter a {
  display: block;
  background: #fff;
  max-width: 100%;
  padding: 25px;
}
.modal_2023winter a img {
  width: 880px;
  max-width: 100%;
}
@media screen and (max-width: 667px){
  .banner_2023winter {
    padding: 0 10px;
    margin-top: 20px;
  }
  .modal_2023winter {
    padding: 10px;
  }
  .modal_2023winter a {
    padding: 6px;
  }
}