@charset "UTF-8";
@import 'lwp2.css';

html {
    font-size: 15px;
}
body {
    font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    color: #333;
    line-height: 1.7;
}
a, a:visited {
    color: #333;
}
a:hover {
    text-decoration: none;
    color: #339933;
}
span.aks { /* あんまり改行 されたくない */
	display: inline-block;
}

/* header */
.ec-layoutRole__header {
	position: sticky;
	top: 0;
	z-index: 11;
	background-color: #fff;
}
.ec-headerNaviRole {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}
.ec-headerNaviRole .ec-headerNaviRole__left {
	width: 90px;
    margin-left: 30px;
}
.ec-headerNaviRole .ec-headerNaviRole__right {
	width: 100%;
    /*flex-direction: column;
    align-items: flex-end;
    padding-top: 0.3rem;*/
}
.ec-headerNaviRole h1 {
        margin: 0;
    }
.ec-headerNav .ec-headerNav__item {
	line-height: 0.8rem;
	font-size: 0.8rem;
}
.ec-headerRole__menu {
	margin: 0.2rem 0 0;
}
.ec-headerRole__menu a {
	margin: 0 0 0 0.5rem;
	padding: 0.5rem 1rem;
	background-color: #339933;
	border-radius: 1rem;
	transition: all .4s;
    color: #fff;
    font-weight: bold;
    line-height: 1;
    font-size: 120%;
    flex-basis: 20%;
    text-align: center;
    text-shadow: 1px 1px 0 #444;
    transform: scale(0.9);
}
.ec-headerRole__menu a:hover {
    background-color: #99cc66;
    color: #e3f8db;
}
/*.main_menu li {
	display: inline-block;
    margin-right: 1rem;
}*/
.ec-headerNav .ec-headerNav__itemLink:hover {
    color: #339933;
}
/* drawer */
.drawer_logo {
	padding: 0.5rem;
	background-color: #e3f8db;
    border-bottom: 1px solid #ccc;
}
.ec-drawerRole .ec-headerCategoryArea .ec-headerCategoryArea__heading,
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li a {
	color: #339933;
	background: #e3f8db;
    font-weight: bold;
}
.ec-drawerRole, .ec-drawerRole .ec-headerLinkArea {
	background-color: #339933;
}
.ec-drawerRoleClose {
	left: 200px;
	z-index: 100001;
}
/* footer */
.ec-blockTopBtn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #e3f8db;
    opacity: 0.8;
    right: 0.5rem;
}
.ec-blockTopBtn .fas.fa-angle-up {
    font-size: 45px;
    color: #aaa;
}
.ec-footerRole {
	background-color: #339933;
}
.ec-footerNavi .ec-footerNavi__link a {
    border-bottom: 1px solid #e3f8db;
}
/* slider */
.item.slick-slide img {
	height: 70vw;
	object-fit: cover;
}
.top_slider {
    position: relative;
    min-height: 160px;
}
.top_slider h2 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border: 5px #fff solid;
	padding: 1rem;
	border-radius: 5px;
	color: #fff;
	background-color: rgba(0,0,0,0.2);
	text-shadow: 1px 1px 1px #000;
	text-align: center;
	font-size: 1.2rem;
	width: 70%;
	max-width: 400px;
}
.top_slider h2 span {
	display: block;
	font-size: 70%;
	margin-top: 1rem;
}
sub.co2 {
	bottom: 0;
}
/* banner */
.banners {
	width: 90%;
    margin-top: 3rem;
}
.banner {
	height: 40vw;
    position: relative;
    margin-bottom: 1rem;
    overflow: hidden;
    border-radius: 0.5rem;
    box-shadow: 0 0 5px #777;
    border: solid 1px #bfe5b9;
}
.banner img {
	object-fit: cover;
	height: 100%;    
    transition: all .4s;
    position: relative;
    z-index: 0;
}
.banner:hover img {
    transform: scale(1.2);
    opacity: 0.7;
}
/*
.banner_title {
	position: absolute;
	bottom: 0.8rem;
	right: calc(0.8rem + 15px);
	margin: 0;
	font-size: 2rem;
	padding: 0.5rem 1rem;
	color: white;
	background-color: #339933;
	font-weight: bold;
	height: 6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: -1px -1px 3px #000;
	z-index: 1;
	border-radius: 0.5rem;
	text-shadow: 0 0 2px #000;
}
*/
.banner_title {
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 0;
	font-size: 1.5rem;
	border: solid #e8f9e2 2px;
	padding: 0.5rem 1rem;
	color: white;
	background-color: #339933;
	font-weight: bold;
	height: 4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: -1px -1px 3px #000;
	border-radius: 0.5rem 0 0.5rem 0;
	text-shadow: 0 0 2px #000;
    z-index: 1;
}
.banner_title::before {
	
}
.banner_desc {
	position: absolute;
	top: 1rem;
	left: 1rem;
	color: #fff;
	font-weight: bold;
	font-size: 1.2rem;
	text-shadow: 0 0 2px #000;
    z-index: 1;
}
.banner_desc::before {
	content: '';
	display: block;
	width: calc(100% + 3rem);
	position: absolute;
	z-index: -1;
	left: -1rem;
	border-top: 2rem solid #ff0000;
	border-right: 1rem transparent solid;
	border-bottom: 1px solid #fff;
}
.led_notice {
	text-shadow: 1px 1px 1px #000, 1px 1px 1px #000, 1px 1px 3px #000;
}
/* main_product */
.ec-role {
    color: #333;
}
#main_product {
    margin-top: 3rem;
    background-color: #bfe5b9;
    padding: 2rem;
}
.main_product_title {
    letter-spacing: 1px;
    font-weight: bold;
    margin-bottom: 1.5rem;
}
.main_product_title span {
    position: relative;
}
.main_product_title span::before,
.main_product_title span::after {
	content: '';
	width: 1rem;
	height: 1rem;
	background-color: green;
	display: block;
	position: absolute;
	bottom: 0.5rem;
	left: -2rem;
	border-radius: 50%;
}
.main_product_title span::after {
	right: -1.7rem;
	left: auto;
	bottom: 0.6rem;
}
.video {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* news */
.ec-newsRole__newsColumn i {
	color: #fff;
}

/* top_to_contact */
.top_to_contact_mark.move.active + .to-contact {
    transform: translateX(-200px);
}

/*** pages ***/
.page_title {
	background-color: #99cc66;
	color: #fff;
	padding: 1rem;
	text-shadow: 1px 1px 0 #000;
}
#led_a1, #led_a2, #led_a3, #led_a4, #led_a5,
#jair_a1, #jair_a2, #jair_a3, #jair_a4, #jair_a5,
#h_renta_a1, #h_renta_a2, #h_renta_a3, #h_renta_a4, #h_renta_a5,
#enet_a1, #enet_a2, #enet_a3, #enet_a4, #enet_a5 {
    display: inline-block;
	margin-top: -60px;
	padding-top: 60px;
}
.page_contents {
    background-color: #fff;
	border-bottom: 1px dotted #99cc66;
	padding: 1rem 0;
    max-width: 960px;
    margin: auto;
}
.page_contents h3 {
    position: relative;
    padding-bottom: 0.5rem;
    margin: 1rem auto;
}
.page_contents h3::before, .pages h3::after {
	content: '';
	display: block;
	position: absolute;
	height: 3px;
    bottom: 0;
}
.page_contents h3::before {
    width: 5%;
	background: #393;
	left: 0;
}
.page_contents h3::after {
    width: 10%;
	background: #9c6;
	left: 5%;
}
.lead_large {
	font-size: 2rem;
	margin-bottom: 2rem;
	line-height: 1.2;
	font-weight: bold;
}
.page_contents .green_bg {
	/*background-color: #bfe5b9;*/
    background-image: repeating-linear-gradient( to right, rgba(191, 229, 185, 0.2) 0px 2px, transparent 2px 4px), repeating-linear-gradient( to bottom, rgba(191, 229, 185,0.2) 0px 2px, transparent 2px 4px);
	padding: 1.5rem/*1.5rem 1.5rem 1.5rem 3rem*/;
	border-radius: 0.5rem;
    font-size: 1.1rem;
}
ul.green_bg li {
	list-style: none;
    margin: 0.5rem auto;
}
.col-right {
    padding: 0 0 0.5rem 1rem;
}
.green_bg .badge.badge-success {
	font-weight: normal;
	line-height: ;
	transform: translatey(-2px);
}
.green_bg .lead {
	color: green;
	font-weight: bold;
}
#page_h_renta .green_bg {
	padding: 3rem 2rem;
}
.point {
	margin: 0.5rem;
	padding: 1rem 0.5rem;
	position: relative;
}
.point::before {
	transform: skewX(-20deg);
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
	background-color: #339933;
	border: solid 2px yellow;
}
.point p {
	font-weight: bold;
	font-size: 1.5rem;
	color: #fff;
	text-shadow: 1px 1px 0 #222;
    margin-bottom: 0;
}
.page_contents h4 {
	color: #393;
}
.page_contents .card {
	height: 100%;
    text-align: center;
    border: none;
}
.page_contents .card img.small_photo {
	max-width: 150px;
	align-self: center;
}
.page_contents .card-body {
	padding: 0.5rem;
}
.dia li {
    list-style: none;
}
.dia li::before {
	content: '';
	width: 0.5rem;
	height: 0.5rem;
	background-color: green;
	display: inline-block;
	margin-right: 0.5rem;
	transform: rotate(45deg);
	vertical-align: 2px;
}
.next-arrow{
    right:-1rem!important;
}
.prev-arrow{
    left:-1rem!important;
}
.slide-arrow {
	z-index: 1 !important;
	color: #333;
	position: absolute;
	border: none;
	background-color: transparent;
	font-size: 1.5rem;
    top: 45%;
}
.page_contents .example .card {
    padding: 0 0.5rem;
}
.page_contents .example {
    max-height: calc(80vw + 5rem);
}
.page_contents .example .card img {
	width: 100%;
	height: 80vw;
	object-fit: cover;
    object-position: top;
}
.sample_title {
	font-weight: bold;
	text-decoration: ;
	font-size: 110%;
}
.table-responsive table th, .table-responsive table td {
	white-space: nowrap;
}
.ex_before {
    font-size: 1.5rem;
	border: solid 0.5rem #aaa;
	padding: 1rem;
	border-radius: 0.5rem;
	margin: 1rem;
    background-color: #eee;
}
.ex_after {
    font-size: 1.5rem;
	border: solid 0.5rem #99cc66;
	padding: 1rem;
	border-radius: 0.5rem;
	margin: 1rem;
    line-height: 1.4;
    background-color: #e8f9e2;
}
.ex_before span.st, .ex_after span.st {
    font-size: 3rem;
}
span.tate {
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
}
.ex_change {
	font-size: 1.5rem;
	padding: 1.5rem 0.5rem;
	border-radius: 0.5rem;
	background-image: url('../img/pages/down.png');
	background-repeat: no-repeat;
	background-position: center center;
	height: 130px;
}
.ex_result {
	font-size: 2.5rem;
	font-weight: bold;
	text-shadow: 0 0 10px yellow;
}
.ex_result span.st {
    font-size: 3.5rem;
}
#page_user_data .ex_after {
	line-height: 1.7;
}
.btn_area .btn, .dl_area .btn {
	margin: 1rem auto;
	padding: 1rem;
    max-width: 98%;
    display: block;
}
a.btn:hover {
	opacity: 0.7;
}
.to-contact {
	bottom: 1rem;
	left: 0;
    transition: all .4s;
    border: 2px solid #fff;
    border-left: none;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    border-radius: 0 5px 5px 0;
}
.to-contact a.btn {
	border-radius: 0 5px 5px 0;
	font-size: 1rem;
	width: 150px;
	transition: all .4s;
}
.btn_area.move.active ~ .to-contact {
	transform: translateX(-200px);
}

/* product detail */
.red_price {
	color: #de5d50;
	font-size: 1.3rem;
	font-weight: bold;
}
.red_price span {
	font-size: 1rem;
    font-weight: normal;
}
.ec-productRole__description li {
    line-height: 1.7;
}
.lead_2 {
    font-size: 200%;
}
.lead.fw_bold {
    font-weight: bold;
}

/* order */
.ec-orderPayment {
    margin: 2rem auto;
}

/* save */
.lead_large_2 {
    font-size: 1.5rem;
    line-height: 1.5;
}
.lead_large_3 {
    font-size: 1.5rem;
    line-height: 1.5;
    border-width: 5px;
}
.alert-warning_2 {
    color: #222;
    background-color: #fff468;
    border-color: #222;
}
.display-4 {
    font-size: 2.5rem;
}
.page_contents .pink_bg {
    background-image: repeating-linear-gradient( to right, rgba(255, 51, 153, 0.1) 0px 2px, transparent 2px 4px), repeating-linear-gradient( to bottom, rgba(255, 51, 153,0.1) 0px 2px, transparent 2px 4px);
    padding: 1.5rem/*1.5rem 1.5rem 1.5rem 3rem*/;
    border-radius: 0.5rem;
    font-size: 1.1rem;
    text-shadow: -1px -1px 3px #fff, 1px -1px 3px #fff, -1px 1px 3px #fff, 1px 1px 3px #fff;
}
.to-contact.to_ecokeeper a {
    width: auto;
}



/**
メディアクエリ
 */
@media all and (min-width: 570px) {
    html {
        font-size: 16px;
    }
    .page_contents .example {
        max-height: calc(50vw + 5rem);
    }
    .page_contents .example .card img {
        height: 50vw;
    }
}
@media all and (min-width: 768px) {
    .ec-headerNaviRole {
        /*padding-bottom: 0;*/
        /*align-items: flex-start;*/
    }
    .ec-headerNaviRole .ec-headerNaviRole__left {
        margin-left: auto;
    }
    /*
    .ec-headerNaviRole .ec-headerNaviRole__right {
        padding-top: 0;
    }
    */
    .ec-headerNaviRole .ec-headerNaviRole__left {
        width: 120px;
        transition: all .8s;
    }
    .ec-headerNaviRole h1 {
        margin: 0.5rem 0;
    }
    .ec-headerNaviRole.small .ec-headerNaviRole__left {
        width: 80px;
    }
    .ec-headerNaviRole.small .ec-headerNaviRole__left h1 {
        margin: 0;
        line-height: 1;
    }
    .ec-headerNav .ec-headerNav__itemLink {
        display: none;
    }
    .ec-headerNav .ec-headerNav__itemIcon, .ec-headerNav .ec-headerNav__itemLink {
        font-size: 1rem;
        line-height: 1rem;
        vertical-align: middle;
        margin-bottom: 0.4rem;
        transition: all .4s;
    }
    .ec-headerNaviRole.small .ec-headerNav .ec-headerNav__itemIcon, .ec-headerNaviRole.small .ec-headerNav .ec-headerNav__itemLink {
        font-size: 0.8rem;
        line-height: 0.8rem;
    }
    .ec-headerNav__itemIcon.fas.fa-shopping-cart {
        margin-left: 5px;
    }
    .ec-headerNaviRole.small + .main_menu .ec-headerRole__menu a {
        transform: scale(1);
    }
    .main_menu {
        margin-bottom: 0.2rem;
        transition: all .4s;
    }
    .main_menu li {
        display: inline-block;
        margin-right: 1rem;
        padding-left: 0.5rem;
        position: relative;
        line-height: 1;
        font-size: 1.2rem;
    }
    .main_menu > li::before {
        width: 5px;
        height: 110%;
        content: '';
        background: #393;
        display: inline-block;
        position: absolute;
        left: 0;
        top: 0;
    }
    .sub_menu {
        position: absolute;
        padding-left: 0;
        margin-left: -8px;
        /*background-color: #fff/*bfe5b9*/;
        opacity: 0;
        transition: all .4s;
        pointer-events: none;
    }
    .sub_menu li {
        display: block;
        left: 0;
        width: 180px;
        padding: 0.1rem;
        margin-right: 0;
    }
    .sub_menu li:first-child {
        padding-top: 1rem;
    }
    .sub_menu li a {
        width: 100%;
        display: block;
        margin: 0.1rem 0;
        background-color: #393;
        padding: 0.5rem;
        color: #fff;
    }
    .sub_menu li:first-child a::after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        top: -1px;
        left: 20%;
        border: solid transparent;
        border-bottom-color: #393;
        border-width: 10px;
        margin-left: -10%;
        bottom: 100%;
    }
    /*
    .sub_menu li::before {
        width: 5px;
        height: 100%;
        content: '';
        background: #393;
        display: inline-block;
        position: absolute;
        left: 0;
        top: 0;
    }*/
    /*
    .sub_menu li:first-child a::before {
        content: '';
        height: 0.5rem;
        width: 1px;
        display: block;
    }
    */
    .main_menu > li:hover ul.sub_menu {
        opacity: 1;
        pointer-events: auto;
    }
    .sub_menu li:hover a {
        background-color: #bfe5b9;
        color: #aaa;
    }
    .sub_menu li:first-child:hover a::after {
        border-bottom-color: #bfe5b9;
    }
    /* footer */
    .ec-footerNavi .ec-footerNavi__link a {
        border-bottom: none;
        text-decoration: none;
    }
    /* slider */
    .item.slick-slide img {
        height: auto;
    }
    .top_slider h2 {
        font-size: 2rem;
    }
    /*banner */
    .banners {
        margin-top: 5rem;
    }
    .banner {
        height: 250px;
        margin-bottom: 2rem;
    }
    .banner_title {
        font-size: 2rem;
        height: 5rem;
    }
    .banner_desc {
        font-size: 1.5rem;
    }
    .banner_desc::before {
        bottom: 0;
    }
    /* main_product */
    #main_product {
        margin-top: 5rem;
    }
    .main_product_title {
        letter-spacing: 2px;
    }
    /* top_to_contact */
    .top_to_contact_mark.move.active + .to-contact {
        transform: translateX(0);
    }
    /*** pages ***/
    .page_contents {
        padding: 1rem 0 3rem;
    }
    .lead_large {
	   font-size: 3rem;
    }
    .lead_large_2, .lead_large_3 {
        font-size: 2rem;
    }
    .green_bg .lead {
        font-size: 120%;
    }
    .col-left {
        width: 180px;
    }
    .col-right {
        padding: 0.2rem 0 0.5rem;
        width: calc(100% - 180px);
    }
    #page_jair .col-left {
        width: 220px;
    }
    #page_jair .col-right {
        width: calc(100% - 220px);
    }
    #page_e_net .col-left {
        width: 300px;
    }
    #page_e_net .col-right {
        width: calc(100% - 300px);
    }
    #page_h_renta .green_bg {
        padding: 3rem;
    }
    .page_contents .card img,
    .page_contents .card img.small_photo {
        max-width: 100%;
    }
    .page_contents .example {
        max-height: calc(30vw + 5rem);
    }
    .page_contents .example .card img {
        height: 30vw;
    }
    .btn_area .btn {
        display: inline-block;
        font-size: 1.5rem;
        margin: 1rem;
    }
    .dl_area .btn {
        display: inline-block;
        margin: 1rem;
    }
    .ec-layoutRole__main .ec-productRole {
        margin-top: 60px;
    }
    .to-contact {
        top: 200px;
        right: 0;
        left: auto;
        bottom: auto;
        border-left: 2px solid #fff;
        border-right: none;
        border-radius: 5px 0 0 5px;
        writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
    }
    .to-contact a.btn {
        border-radius: 5px 0 0 5px;
        width: auto;
        font-size: 1.2rem;
    }
    .btn_area.move.active ~ .to-contact {
        transform: translateX(200px);
    }
    .display-4 {
        font-size: 3rem;
    }
}
@media all and (min-width: 992px) {
    .ec-headerNav .ec-headerNav__itemLink {
        display: inline-block;
    }
    .ex_before, .ex_after {
        min-width: 220px;
    }
    .ex_change {
        background-image: url('../img/pages/right.png');
    }
    .ex_result {
        line-height: 1.2;
    }
}

/* move */
.move {
    transition: all .8s;
    transform: translateY(200px);
    opacity: 0;
}
.move.active {
    transition: all .8s;
    transform: translateY(0);
    opacity: 1;
}
.move.slide_in {
    transform: translate(-200px, 0);
}
.move.slide_in.active {
    transform: translateX(0);
}
.move.delay_1 {
    transition-delay: .1s;
}
.move.delay_2 {
    transition-delay: .2s;
}
.move.delay_3 {
    transition-delay: .3s;
}
.move.delay_4 {
    transition-delay: .4s;
}
.move.delay_5 {
    transition-delay: .5s;
}
.move.delay_6 {
    transition-delay: .6s;
}

/* animation */
@keyframes shiny {
    0% {
        transform: scale(0) rotate(25deg);
        opacity: 0;
    }

    50% {
        transform: scale(1) rotate(25deg);
        opacity: 1;
    }

    100% {
        transform: scale(50) rotate(25deg);
        opacity: 0;
    }
}
.shiny {
    position: relative;
    display: block;
    width: 100%;
    /*height: 40px;
    line-height: 40px;*/
    text-align: center;
    text-decoration: none;
    color: #ffffff;
    /*background-color: #384878;*/
    overflow: hidden;
}
.shiny::after {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 50px;
    height: 50px;
    background-image: linear-gradient(100deg,  rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
    
    /* アニメーション */
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 3;
}
