/*
	Theme Name:すみだ環境学習ツール｜省エネ
	Description:すみだ環境学習ツール｜省エネ オリジナルテーマです。
	Version:1.0
*/


@charset 'UTF-8';

:root {
    --topPage-color: #599C33;
	--housePage-color: #008EC1;
	--businessPage-color: #BE8E00;
	--trafficPage-color: #D03418;
	--parkPage-color: #C4097B;
	--toiletPage-color: #407936;
	--bathPage-color: #023067;
	--washroomPage-color: #CB6A06;
	--livingPage-color: #0075A2;
	--studyPage-color: #AD0E28;
	--kitchenPage-color: #E2A500;
	--outsidePage-color: #004C80;
	--clothesPage-color: #CC011E;
	--breakPage-color: #289038;
	--supermarketPage-color: #800A31;
	--restaurantPage-color: #DD8A0B;
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

body {
    margin: 0 auto;
    font-family: 'Noto Sans JP', sans-serif;
    width: 1200px;
}

ul {
    list-style: none;
}

a {
    text-decoration: none;
    color: white;
}

a:hover {
    cursor: pointer;
}


/*----マウスオーバー・アニメーション----*/
main a img{
  transition-duration: .2s;
}
main a:hover img {
  transform: scale(1.2);
}
main .section01-right a:hover img {/*サイトイメージのイラスト*/
  transform: scale(1.05);
}

@media screen and (max-width: 500px) {
	main a img{
	  transition-duration: 0;
	}
	main a:hover img {
	  transform: scale(1);
	}
	main .section01-right a:hover img {/*サイトイメージのイラスト*/
	  transform: scale(1);
	}
}
/*--------------------------------------*/


.sp-br {
    display: none;
}

/*文字画像はイベント効果を無効*/
.pe-none {
    pointer-events: none;
}

/*-----------------------------------------
     ハンバーガーボタンクリックしたときに
     表示されるメニュー
-------------------------------------------*/
.navi {
    position: fixed;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #8cc9b6;
    z-index: 4000;
    overflow: auto;
}

.navi.navi-active {
    animation-name: naviActive;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
}

@keyframes naviActive {
    0% {
        top: -100%;
    }
    100% {
        top: 0;
    }
}

.navi .menu {
    margin-top: 72px;
    text-align: center;
}

.navi .item {
    background-color: white;
    border-radius: 8px;
    width: 57.3%;
    margin: 0 auto 22px auto;
    position: relative;
    transform: scaleX(0);
    transform-origin: left;
}

.navi .item:nth-child(6) {
    margin-bottom: 62px;
}

.navi-active .item {
    animation-name: naviItemAnime;
    animation-delay: 0.8s;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}

@keyframes naviItemAnime {
    0% {
        transform: scaleX(0);
        transform-origin: left;
    }

    100% {
        transform: scaleX(1);
    }
}

.item a {
    display: inline-block;
    width: 100%;
    color: black;
    font-weight: bold;
    padding: 20px 0 20px 36px;
    text-align: left;
    font-size: 16px;
}

/*---------------リスト左の縦のライン-------------*/
.item a::before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 15px;
    height: 100%;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}
/*それぞれのラインカラー*/
.item:nth-child(1) a::before {
    background-color: #f50000;
}

.item:nth-child(2) a::before {
    background-color: var(--topPage-color);
}

.item:nth-child(3) a::before {
    background-color: var(--housePage-color);
}

.item:nth-child(4) a::before {
    background-color: #e9d200;
}

.item:nth-child(5) a::before {
    background-color: #ff5e00;
}

.item:nth-child(6) a::before {
    background-color: #c400ba;
}

/*---------------家族編、商業施設編の右側の上矢印----------------*/
.item span {
    position: absolute;
    display: inline-block;
    width: 50px;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 200;
}

.item span::before,
.item span::after {
    position: absolute;
    content: '';
    width: 3px;
    height: 16px;
    top: 23px;
    z-index: 200;
}

.item span::before {
    transform: rotate(35deg);
    left: 38%;
}

.item span::after {
    transform: rotate(-35deg);
    right: 38%;
}

/*矢印カラー*/
.item:nth-child(3) span::before,
.item:nth-child(3) span::after {
    background-color: var(--housePage-color);
}

.item:nth-child(4) span::before,
.item:nth-child(4) span::after {
    background-color: #e9d200;
}

/*上矢印がクリックされたら矢印の向きを逆にする*/
span.openSpan::before {
    transform: rotate(-35deg);
}

span.openSpan::after {
    transform: rotate(35deg);
}

/*----------上矢印をクリックしたら表示されるサブメニュー-----------*/
.sub-menu {
    display: none;
}

.sub-menu-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
}

.sub-item {
    width: 50%;
}

.sub-item a {
    text-align: center;
    padding: 16px 0;
}

/*--------家編のサブメニュー--------*/
/*ボーダー*/
.house-sub-menu {
    border-top: solid 3px var(--housePage-color);
}

.house-sub-menu .sub-item {
    border-bottom: dotted 2px var(--housePage-color);
    border-right: dotted 2px var(--housePage-color);
}

/*２つ目、４つ目、６つ目の右の点線を消す*/

.house-sub-menu .sub-item:nth-child(2),
.house-sub-menu .sub-item:nth-child(4),
.house-sub-menu .sub-item:nth-child(6) {
    border-right: none;
}

/*７つ目のリストの下の点線を消す*/
.house-sub-menu .sub-item:nth-child(7) {
    border-bottom: none;
}

/*8つ目のリストの下と右の点線を消す*/
.house-sub-menu .sub-item:nth-child(8) {
    border-bottom: none;
    border-right: none;
}

/*--------商業施設編のサブメニュー--------*/
/*ボーダー*/
.business-sub-menu {
    border-top: solid 3px #e9d200;
}

.business-sub-menu .sub-item {
    border-bottom: dotted 2px #e9d200;
    border-right: dotted 2px #e9d200;
}

/*２つ目、４つ目の右の点線を消す*/

.business-sub-menu .sub-item:nth-child(2),
.business-sub-menu .sub-item:nth-child(4) {
    border-right: none;
}

/*３つ目、４つ目のリストの下の点線を消す*/
.business-sub-menu .sub-item:nth-child(3),
.business-sub-menu .sub-item:nth-child(4) {
    border-bottom: none;
}

/*-----------ハンバーガーメニューの下にある画像--------------*/
.navi-img {
    width: 96%;
	max-width: 1200px;
    margin: auto auto 0 auto !important;
}

.navi-img img {
    width: 100%;
}

/*--------------------メニューを閉じるボタン---------------------*/
.close-btn {
    position: absolute;
    width: 54px;
    height: 54px;
    background-color: white;
    top: 72px;
    right: 6%;
    cursor: pointer;
    border: solid 2px #008066;
    z-index: 5000;
}

.close-btn span {
    position: absolute;
    background-color: #008066;
    width: 36px;
    height: 2px;
    top: 50%;
    transform: translateY(-50%);
    right: 14%;
}

.close-btn span:nth-child(1) {
    transform: rotate(-45deg);
}

.close-btn span:nth-child(2) {
    transform: rotate(45deg);
}

/*---------------------------
            header
----------------------------*/
/*---------------hamburgerボタン---------------*/
header {
    position: relative;
}

.hamburger {
    position: absolute;
    border: solid 3px #008066;
    right: 46px;
    top: 46px;
    width: 54px;
    height: 54px;
    z-index: 100;
	cursor: pointer;
}

.hamburger span {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 3px;
    width: 36px;
    background-color: #008066;
}

.hamburger span:nth-child(1) {
    top: 12px;
}

.hamburger span:nth-child(2) {
    top: 22px;
}

.hamburger span:nth-child(3) {
    bottom: 12px;
}

/*--------------------------
          section01
---------------------------*/
.section01 {
    padding: 26px 46px 120px 100px;
    display: flex;
}

.section01-left {
    width: 52%;
    padding-right: 30px;
}

.section-right {
    width: 48%;
}

.section01 h2 {
    margin-top: 60px;
    margin-bottom: 36px;
    font-size: 60px;
    color: var(--topPage-color);
}

.section01 h2 span {
    font-size: 32px;
    display: block;
    color: black;
}

.section01-text-rerative {
    position: relative;
    width: 100%;
    height: 150px;
}

.section01-text-rerative .section01-text {
    font-size: 20px;
    letter-spacing: 4px;
    line-height: 1.7em;
    height: 150px;
    display: table-cell;
    vertical-align: middle;
}

.section01-text-rerative img {
    position: absolute;
    top: -10px;
    left: -17px;
}

.section01-right img a {
    width: 486px;
}

.section01-right img {
    width: 486px;
}


/*---------------------------
         section02
----------------------------*/
.section02 {
    position: relative;
    padding: 145px 70px 58px 70px;
    background-color: #DBDED2;
}

/*------------------吹き出しの部分-----------------*/
.section02 p {
    position: absolute;
    background-color: var(--topPage-color);
    color: white;
    font-size: 24px;
    width: 800px;
    top: -85px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    padding: 38px 0;
    line-height: 2em;
}

.section02 p::after {
    position: absolute;
    content: '';
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    border-top: solid 36px var(--topPage-color);
    border-left: solid 21px transparent;
    border-right: solid 21px transparent;
}

/*-------------------星マークの部分-------------------*/
.img-area {
    position: relative;
}

.img-area a {
    display: inline-block;
    position: absolute;
}

.section02-bg {
    width: 100%;
    border: solid 4px var(--topPage-color);
}

/*星マークの幅*/

.star-btn {
    width: 112px;
}

.img-area a:nth-child(6) {
    width: 50px;
}
.img-area a:nth-child(7) {
    width: 128px;
}
.img-area a:nth-child(8) {
    width: 77px;
}
.img-area a:nth-child(9) {
    width: 77px;
}

/*--------------------------
　　　　　　footer
--------------------------*/

footer {
    background-color: #7EB19A;
    color: white;
}

.footer-flex {
    display: flex;
    justify-content: center;
    column-gap: 122px;
    padding: 39px 232px 35px 232px;
}

footer .footer-menu .footer-item {
    font-size: 14px;
    position: relative;
    line-height: 1;
    margin-bottom: 22px;
    padding-left: 14px;
    letter-spacing: 1.5px;
}

footer .footer-menu .footer-item:last-child {
    margin-bottom: 0;
}

.footer-left,
.footer-right {
    width: 50%;
}

/*------footer-sub-menuの部分(トイレ編、洗面所編、キッチン編など)-------*/
.footer-sub-menu {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-top: 18px;
    row-gap: 10px;
    padding-left: 1.0em;
}

.footer-sub-menu .footer-sub-item a {
    font-size: 14px;
    letter-spacing: 2px;
    display: inline-block;
}

footer li a:hover {
	background-color:rgba(255, 255, 255, 0.25);
}

.footer-right .footer-sub-menu {
    margin-bottom: 22px;
}

/*----------------------リストの白丸--------------------*/
footer .white-circle::before {
    position: absolute;
    content: '';
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: white;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

/*------------------家編、商業施設編の白い線-------------------*/
footer .white-line {
    position: relative;
    margin-bottom: 0 !important;
}

footer .white-line::after {
    position: absolute;
    content: '';
    background-color: white;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: -8px;
}

/*------------------------copyright---------------------*/
.copyright {
    background-color: #276303;
    padding: 20px 0;
    text-align: center;
    font-size: 14px;
    line-height: 1;
}

/*-----------------------------
         ポップアップの部分
------------------------------*/

.popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
}

.popup-area {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.popup-area-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 400px;
    height: 508px;
    z-index: 2000;
    overflow: hidden;
}

.popup-img-area{
    display: flex;
    height: 508px;
    width: 400px;
    position: absolute;
    top: 0;
    left: 0;
}

.popup-img-box {
    position: relative;
}

.popup-img-box img {
    width: 400px;
    height: 508px;
}

.popup-img-box a {
    position: absolute;
    z-index: 3000;
    bottom: 0;
    right: 0;
    color:blue;
    padding: 7px;
    font-size: 10px;
	line-height: 1.35em;
}
.popup-img-box a:nth-of-type(2){/*出典（上）*/
    bottom: 30px;
}

.popup.popup-active {
    display: block;
    z-index: 2000;
}

.popup-img-box a:hover{
	background-color:rgba(0, 66, 255, 0.18);/*cyan*/
}

/*------------ポップアップ閉じるボタン-------------*/
.close-btn-area {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 400px;
    height: calc((100% - 508px) / 2);
    z-index: 2000;
}

.popup-close-btn {
	position: absolute;
	top: auto;
	right: 0;
	bottom: 0;
	transform: translateY(-50%);
	background-color: white;
	width: 46px;
	height: 46px;
}

.popup-close-btn span {
    position: absolute;
    width: 34px;
    height: 3px;
    background-color: black;
}

.popup-close-btn:hover,
.popup-close-btn span:hover{
	cursor: pointer;
}

.popup-close-btn span:nth-child(1) {
    transform: rotate(-45deg);
    top: 22px;
    left: 6px;
}

.popup-close-btn span:nth-child(2) {
    transform: rotate(45deg);
    top: 22px;
    right: 6px;
}

/*------------ポップアップの背景------------*/
.popup-bg-mask {
    position: fixed;
    top: 0;
    left: 0;
    background-color: black;
    opacity: 0.7;
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: none;
}

.popup-bg-mask.popup-active {
    display: block;
    z-index: 1000;
}

/*---------ポップアップ画像スライド矢印----------*/
.arrow-btn-area {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 625px;
    height: 100%;
}

.prev,
.next {
    position: absolute;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    background-color: white;
    z-index: 2000;
    cursor: pointer;
}

.prev {
    left: 0;
}

.next {
    right: 0;
}

.prev::before,
.prev::after,
.next::before,
.next::after {
    position: absolute;
    content: '';
    background-color: black;
    width: 14px;
    height: 3px;
}

.prev::before {
    transform: rotate(-45deg);
    top: 20px;
    left: 19px;
}

.prev::after {
    transform: rotate(45deg);
    bottom: 20px;
    left: 19px;
}

.next::before {
    transform: rotate(45deg);
    top: 20px;
    right: 19px;
}

.next::after {
    transform: rotate(-45deg);
    bottom: 20px;
    right: 19px;
}





/*--------スマートフォン（500px以下）--------*/
@media screen and (max-width: 500px) {
    body {
        max-width: 500px;
    }

    .pc-br {
        display: none;
    }

    .sp-br {
        display: block;
    }
	
    .navi {
        width: 500px;
    }

    .navi .menu {
        margin-top: 120px;
    }
    .navi .item {
        width: 88%;
    } 

    .navi .item:nth-child(6) {
        margin-bottom: 120px;
    }
	
    .sub-item a {
        padding: 12px 0;
    }

    .close-btn {
        top: 20px;
        right: 4%;
    }
	
    .hamburger {
        right: 4%;
        top: 20px;
    }
	
    .section01 {
        padding: 30px 4% 100px 4%;
        display: flex;
        flex-direction: column;
    }

    .section01-left,
    .section01-right {
        width: 100%;
    }
    
    .section01-left {
       padding-right: 0;
       margin-bottom: 30px;
    }
    
    .section01 h2 {
        margin-top: 73px;
        margin-bottom: 52px;
        font-size: 46px;
        text-align: center;
    }
    
    .section01 h2 span {
        font-size: 24px;
    }

	.section01-text {
        margin-top: 30px;
        background-position: -20px 0;
        background-size: 480px;
        background-repeat: no-repeat;
        height: 120px;
		width:450px;
        display: table-cell;
        vertical-align: middle;
		text-align: center;
    }

		.section01-text-rerative .section01-text span{
			font-size: 20px;
			letter-spacing: 4px;
			line-height: 1.7;
		}

    .section02 {
        padding: 145px 4% 58px 4%;
    }
    
    /*------------------吹き出しの部分-----------------*/
    .section02 p {
        width: 92%;
        top: -62px;
        padding: 20px 0;
    }
    
    .section02 p::after {
        bottom: -27px;
        border-top: solid 28px var(--topPage-color);
        border-left: solid 18px transparent;
        border-right: solid 18px transparent;
    }

    .section02-bg {
        border: solid 3px var(--topPage-color);
    }
    
    /*-------------------星マークの部分-------------------*/
    /*星マークの幅*/
    
    .img-area a:nth-child(2),
    .img-area a:nth-child(3),
    .img-area a:nth-child(4),
    .img-area a:nth-child(5) {
        width: 52px;
    }
    
    /*文字画像(家編、商業施設編、交通編、公園編)*/
    .img-area a:nth-child(6) {
        width: 30px;
    }
    .img-area a:nth-child(7) {
        width: 75px;
    }
    .img-area a:nth-child(8) {
        width: 45px;
    }
    .img-area a:nth-child(9) {
        width: 45px;
    }

    .footer-flex {
        column-gap: 0;
        row-gap: 22px;
        padding: 54px 5.5%;
        flex-direction: column;
    }

    footer .footer-menu .footer-item {
        font-size: 18px;
        padding-left: 16px;
    }
    
    .footer-left,
    .footer-right {
        width: 100%;
    }
    
    /*------footer-menuの部分(トイレ編、洗面所編、キッチン編など)-------*/
    .footer-sub-menu {
        padding-top: 16px;
    }

    .footer-sub-menu .footer-sub-item a {
        font-size: 16px;
    }

    /*------------------家編、商業施設編の白い線-------------------*/

    footer .white-line::after {
        width: 96.5%;
    }

    /*------------------------copyright---------------------*/
    .copyright {
        padding: 14px 0;
        font-size: 15px;
    }

    .popup-bg-mask {
        width: 500px;
    }
    
    /*---------ポップアップ画像スライド矢印----------*/
    .arrow-btn-area {
        width: 475px;
    }
    .prev,
    .next {
        width: 33px;
        height: 33px;
    }

    .prev::before,
    .prev::after,
    .next::before,
    .next::after {
        position: absolute;
        content: '';
        background-color: black;
        width: 10px;
        height: 2px;
    }
    
    .prev::before {
        transform: rotate(-45deg);
        top: 12px;
        left: 11px;
    }
    
    .prev::after {
        transform: rotate(45deg);
        bottom: 12px;
        left: 11px;
    }
    
    .next::before {
        transform: rotate(45deg);
        top: 12px;
        right: 11px;
    }
    
    .next::after {
        transform: rotate(-45deg);
        bottom: 12px;
        right: 11px;
    }
    
    .prev.slick-disabled {
        opacity: 0;
    }
    
    .next.slick-disabled {
        opacity: 0;
    }
}
