  /* CSS Document */

.p-switch_page{
    background-color: #ededed;
    text-align: center;
    padding: 0.625rem 0 0.75rem;
    margin: 0 1px 1.875rem;
    line-height: 1;
    font-size: 1.5rem;
    font-weight: bold;
    border-bottom: #1c418d 2px solid;
    letter-spacing: 0.06em;
}
.p-switch_page ul{
    display: flex;
    justify-content: center;
}
.p-switch_page .p-label{
    flex: 0 0 auto;
    width: 240px;
    position: relative;
    margin: 0 0.5rem;
}
.p-switch_page .p-label a{
    display: block;
    padding: 0.75rem;
    border-radius: 4px;
    background-color: #d2d2d2;
    color: #555;
    text-decoration: none;
    transition: all 0.3s;
}
.p-switch_page .p-label a:hover{
    background-color: #c0c0c0;
}
.p-switch_page .p-label.current a,
.p-switch_page .p-label.current a:hover{
    background-color: #1c418d;
    color: #fff;
}
.p-switch_page .p-label.current::after{
    content: "";
    display: block;
    position: absolute;
    left: 50%; top:100%;
    margin-left: -8px;
    width: 0px; height: 0px;
    border-style: solid;
	border-width: 10px 8px 0px 8px;
	border-color: #1c418d transparent transparent transparent;
}

/*p-city_main*/

.p-city_main{
    height: 768px;
    margin: 2rem 1px;
    position: relative;
}
.p-city_main__loading{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.3s;
}
.p-city_main__loading.is-hidden{
	opacity: 0;
}
.p-city_main__imageArea{
    border-top: #6a6a6a 4px solid;
    border-bottom: #6a6a6a 4px solid;
    background-color: #e1e1e1;
    position: absolute;
    top:0px; left: 0px;
    width: 958px;
    opacity: 0;
    transition: opacity 0.6s;
}
.p-city_main__imageArea#city_after{
    border-color: #009245;
    background-color: #cce9da;
}
.p-city_main__imageArea.is-appear{
    opacity: 1;
}
.p-city_main__image{
    position: relative;
    margin: 0 auto;
    width: 760px;
    height: 760px;
    background-color: #fff;
		opacity: 0;
		transition: opacity 0.3s;
}
.p-city_main__toAfter,
.p-city_main__toBefore{
    position: absolute;
    width: 138px; height: 276px;
    top:50%;
    margin-top: -138px;
}
.p-city_main__toAfter{
    right:-99px;
}
.p-city_main__toBefore{
    left:-99px;
}
.p-city_main__toAfter a,
.p-city_main__toBefore a{
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    width:100%; height: 100%;
    transition: background-color 0.3s;
}
.p-city_main__toAfter a{
    background-color: #009245;
    border-radius: 138px 0 0 138px;
}
.p-city_main__toAfter a:hover{
    background-color: #007838;
}

.p-city_main__toBefore a{
    background-color: #6a6a6a;
    border-radius: 0 138px 138px 0;
}
.p-city_main__toBefore a:hover{
    background-color: #444;
}

/*p-point*/
.p-city_main__image .p-point{
    position: absolute;
    width: 26px; height: 26px;
    border-radius: 50%;
    background: url(/tech/green_infra/sustainable_city/images/img_city_mark.svg) no-repeat;
    box-shadow:2px 3px 12px rgba(0,0,0,0.8);
    cursor: pointer;
}
.p-city_main__image .p-popup{
    display: none;
    background-color: rgba(255,255,255,0.9);
    border-radius: 6px;
    border: #009245 2px solid;
    width: 300px;
    box-sizing: border-box;
    padding: 0.75rem 0.9375rem;
    position: absolute;
    left: -136px;
    bottom: calc(0% + 40px);
    box-shadow:2px 3px 12px rgba(0,0,0,0.4);
    font-size: 0.875rem;
    line-height: 1.4;
    opacity: 0;
    transition: opacity 0.1s;
    z-index: 50;
}
.p-city_main__image .p-popup::after{
    content: "";
    display: block;
    position: absolute;
    left:calc(50% - 8px); top:100%;
    width: 0px; height: 0px;
    border-style: solid;
	border-width: 16px 8px 0px 8px;
	border-color: #009245 transparent transparent transparent;
}


.p-city_main__image .p-mark{
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.p-city_main__image .p-popup.is-appear{
    opacity: 1;
}
#main .p-city_main__image .p-popup h4{
    margin: 0 0 0.25rem;
    color: #009245;
}





