@charset "utf-8";
/* ポップアップ
--------------------------------------------------------------------*/

.popup000Bg{
	content: "";
	display: block;
	min-width: 100vw;
	min-height: 100vh;
	background: #000000b2;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	overflow-y: scroll;
}
.HydeContents{
	width: 1300px;
	opacity: 0;
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 100;
	transform: translate(-50%,-50%);
	pointer-events: none;
	transition: opacity var(--MTS);
}
.HydeContents.openPopup {
	max-width: 90%;
	opacity: 1;
	pointer-events: all;
}

.popupContents{
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 202;
    width: 100vw;
    height: calc(100vh - 60px);
	transition: opacity .3s;
	opacity: 0;
	pointer-events: none;
}
.openPopup{
	opacity: 1;
	pointer-events: all;
}
.popupImg{
	position: absolute;
	z-index: 10;
	width: 820px;
	max-width: 90%;
	padding: 40px 50px;
	display: flex;
	justify-content: center;
	background: #fff;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
}
.popupClauseBtn{
    position: absolute;
    top: 10px;
    right: 10px;
    width: 22px;
    height: 25px;
	background: url(../img/img04_claused.png);
	background-size: cover;
	background-repeat: no-repeat;
	cursor: pointer;
}
.scrollOff{
	overflow: hidden;
}
@media screen and (max-width: 768px){
	.popupImg{
		padding: 20px;
	}
	.popupContents{
		height: calc(100vh - 53px);
	}
}	
/* reset
--------------------------------------------------------------------*/

h3,h4{
	font-weight: 500;
}
figcaption{
	font-size: 1.6rem;
}
.inner{
	margin: 0 auto;
	padding: 0;
	width: 1140px;
	max-width: 90%;
}
br.sp{
	display: none;
}
.figureReset{
	margin: 0;
}
.marginCenter{
	width: fit-content;
	margin: 0 auto;
}
/* CSS Document */
body.mission .main_image .main_txt .number span.num{
	color: #8fc31f;
}
.sectionText{
	margin-bottom: 60px;
}
.accentText{
	font-size: 1.8rem;
	color: #009bcf;
	text-decoration: none;
	margin-bottom: 5px
}
a.accentText{
	display: flex;
	align-items: center;
}
a.accentText::after{
	content: "";
	display: block;
	width: 24px;
	aspect-ratio: 1 / 1;
	background: url(../img/anchor_icon.png);
	background-repeat: no-repeat;
	background-size: cover;
	margin-left: 15px;
}

.mainContainer{
	margin-bottom: 60px;
}
.mainContainer a.accentText{
	margin-bottom: 15px;
}
.mainContainer .mainText{
	margin-bottom: 35px;
}
.whiteSection{
	padding: 60px 0;
}
.BlueSection{
	background: #f1f7f9;
	padding: 60px 0;
}
.BlueSection .mainContainer{
	margin-bottom: 30px;
}
.flexContainer{
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}
section .flexContainer:last-of-type{
	margin-bottom: 0;
}
.flexContainer .w35{
	width: 35%;
}
.flexContainer .w48{
	width: 49%;
}
.flexContainer .w46{
	width: 46%;
}
.flexContainer .w60{
	width: 60%;
}
.conversionContainer{
	margin-top: 50px;
}
.conversionContainer .w60 {
    padding-top: 40px;
}
.pdImg figcaption{
	font-weight: 500;
	margin-top: 50px;
	margin-bottom: 20px;
}
.lastLink{
	padding: 60px 0 120px;
	display: flex;
	justify-content: center;
}
.flex2column{
	display: flex;
	justify-content: space-between;
}
.flex2column figure{
	width: calc((95% / 2));
}
.popupContainer{
	width: fit-content;
	position: relative;
	margin: 0 auto;
}
.popupContainer .popupBtn{
    width: 21%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    bottom: 8.2%;
    left: 52.1%;
}

@media screen and (max-width: 768px){
	.whiteSection{
		padding: 40px 0 40px;
	}
	.sectionText{
		margin-bottom: 30px;
	}
	body#mission10.utilityservice .main_image .main_img{
		background: none;
	}
	.mainContainer{
		margin-bottom: 30px;
	}
	.mainContainer .mainText{
		margin-bottom: 25px;
	}
	.BlueSection{
		padding: 40px 0;
	}
	a.accentText{
		width: fit-content;
		position: relative;
		text-align: center;
	}
	a.accentText::after{
		width: 20px;
		position: absolute;
		bottom: 6px;
		right: -25px;
		margin-left: 0;
	}
	.flex2column{
		display: block;
	}
	.flex2column figure{
		width: fit-content;
		margin: 0 auto;
	}
	.flex2column figure:first-of-type{
		margin: 0 auto 30px;
	}
	.flexContainer,
	section .flexContainer:last-of-type{
		display: block;
		margin-bottom: 50px;
	}
	section .flexContainer:last-of-type.sp0mb{
		margin-bottom: 0;
	}

	.flexContainer .w35,
	.flexContainer .w48,
	.flexContainer .w46,
	.flexContainer .w60{
		width: 100%;
	}
	.flexContainer .w35,
	.flexContainer .w46{
		margin-bottom: 25px;
	}
	.conversionContainer{
		margin-top: 0;
	}
	.conversionContainer .w60 {
		padding-top: 0;
	}
	.pdImg img{
		padding: 0  calc(calc(100% - 350px) / 2);
	}
	.pdImg figcaption{
		margin-top: 0;
	}
	
	.popupContainer .popupBtn {
		bottom: 12.2%;
		left: 47.5%;
	}
	br.sp{
		display: block;
	}
	span.pc{
		display: none;
	}
	.spScroll{
		width: 100%;
		overflow: auto;
	}

	.spScroll img{
		width: auto;
    	max-width: unset;
	}
	.sp0pt{
		padding-top: 0;
	}
	.sp0pb{
		padding-bottom: 0;
	}
	.sp0mb{
		margin-bottom: 0;
	}
}
