@charset "utf-8";

/* CSS Document */
body.mission .main_image .main_txt .number span.num{
	color: #8fc31f;
}
.inner{
	margin: 0 auto;
	padding: 0;
	width: 1140px;
	max-width: 90%;
}

.read_txt{
	margin-bottom: 60px;
}

.inner .flex{
	margin-bottom: 10px;
}
.inner .flex .item{
	width: calc((100% - 26px) / 3);	
}

.btn-link a{
	font-size: 18px;
	font-size: 1.8rem;
}

.txt-area{
	width: 50%;
}
.txt-area.merit{
	width: 50%;
	margin-right: 2%;
}
.txt-area.merit ul li{
	margin-bottom: 10px;
	font-size: 1.8rem;
	color: #333;
	line-height: 1.6;
}

.flex > figure + figure{
	margin-left: 20px;
}
.flex2Column{
	display: flex;
	justify-content: space-between;
}
.flex2Column .flex2ColumnItem:first-of-type{
	width: 47%;
}
.flex2Column .flex2ColumnItem:last-of-type{
	width: calc(95% - 47%);
}
.flex2Column.longFlex  .flex2ColumnItem:first-of-type{
	width: 33%;
}
.flex2Column.longFlex  .flex2ColumnItem:last-of-type{
	width: calc(95% - 33%);
}

.flex2Column .imgFlex{
	width: 100%;
}
.flex2Column .imgFlex img{
	width: 100%;
}


.realizationImg{
	margin: 50px 0 0;
}
.realizationImg img{
	width: 100%;
}
.realizationImg figcaption{
	font-size: 1.6rem;
	text-align: right;
}

.contentsSection{
	margin-bottom: 80px;
}

.accentText{
	font-size: 1.8rem;
	color: #009bcf;
	text-decoration: none;
}
a.accentText::after,
.h301 a::after{
	content: "";
	display: inline-block;
	width: 24px;
	aspect-ratio: 1 / 1;
	background: url(../img/anchor_icon.png);
	background-repeat: no-repeat;
	background-size: cover;
	margin-left: 15px;
}
.lastLink{
	display: flex;
	justify-content: center;
	margin-bottom: 80px;
}
.contentsSection.mieruka a{
	transition: .5s;
	&:hover{
		opacity: .7;
	}
}
.contentsSection.mieruka .linkImgContainer{
	padding-top: 65px;
}
.contentsSection.mieruka .linkImgContainer p{
    font-size: 2rem;
	margin: 0 0 40px;
}
.nowrap{
	white-space: nowrap;
    vertical-align: baseline;
}
br.sp{
	display: none;
}
.h301 a{
	text-decoration: underline;
}
@media screen and (max-width: 768px){
	.read_txt{
		margin-bottom: 40px;
	}
	.flex2Column{
		display: block;
		margin-bottom: 30px;
	}
	.flex2Column .flex2ColumnItem:first-of-type,
	.flex2Column .flex2ColumnItem:last-of-type,
	.flex2Column.longFlex  .flex2ColumnItem:first-of-type,
	.flex2Column.longFlex  .flex2ColumnItem:last-of-type{
		width: 100%;
	}
	.flex2Column .flex2ColumnItem:last-of-type{
		margin-top: 30px;
	}
	.inner .flex .item{
	width: 100%;
	margin-bottom: 20px;
	}
	.inner .flex .item:last-child{
		margin-bottom: 0;
	}
	.inner .flex .item img{
		width: 100%;
	}
	
	.btn-link a{
		font-size: 16px;
		font-size: 1.6rem;
	}
	
	.inner > section{
		margin-bottom: 40px;
	}
	
	.txt-area,
	.txt-area.merit{
		width: 100%;
		margin-bottom: 30px;
		margin-right: 0;
	}
	
	.txt-area.merit ul li{
		font-size: 1.6rem;
	}
	
	.flex > figure + figure{
		margin: 20px 0 0;
	}
	.contentsSection{
		margin-bottom: 0;
	}
	.realizationImg {
		margin: 0 auto;
		background: #f1f7f9;
	}
	.realizationImg img{
		padding: 0  calc(calc(100% - 400px) / 2);
	}
	.realizationImg figcaption{
		background: #fff;
	}

	body#mission09.utilityservice .main_image .main_img{
		background: none;
	}
	a.accentText,
	.h301 a{
		width: fit-content;
		position: relative;
		text-align: center;
	}
	a.accentText::after,
	.h301 a::after{
		width: 20px;
	}
	.contentsSection.mieruka .linkImgContainer{
		padding-top: 40px;
	}
	
	.contentsSection.mieruka .linkImgContainer p{
		font-size: 1.8rem;
		margin: 0 0 20px;
	}
	br.sp{
		display: block;
	}
	span.pc{
		display: none;
	}
}
@media screen and (max-width: 425px){
	.flex2Column .imgFlex .spScroll{
		overflow: auto;
	}

	.flex2Column .imgFlex .spScroll img{
		width: auto;
    	max-width: unset;
	}
}

/* 2024/11 */

.zebFlex {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
	align-items: center;
}

.zebLogo {
	width: 25%;
	text-align: center;
}

.zebTxt {
	width: 65%;
}


.zebTable {
	width: 100%;
}
.zebTable th,
.zebTable td {
	border: 1px solid #d8ebf1;
}

.zebTable th {
	background: #d8ebf1;
	font-weight: 400;
	text-align: center;
	font-size: 1.8rem;
	color: #019bd1;
}

.zebTable td {
	width: 30%;
	font-weight: 300;
	padding: 12.25px 17px;
}

.alignRight {
	text-align: right;
}

@media screen and (max-width: 787px){

	
	.zebFlex {
		display: block;
	}

	.zebLogo {
		width: auto;
		text-align: center;
		margin-bottom: 30px;
	}
	
	.zebLogo img {
		max-width: 60%;
	}

	.zebTxt {
		width: auto;
	}

	
	
}