@charset "utf-8";
/* CSS Document */
.contents{
	padding-top: 200px;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.border-wrap{
	padding-bottom: 160px;
	margin-bottom: 160px;
	border-bottom: 1px solid #a4a1a0;
}
.ttl-img{
	width: 56%;
	max-width: 590px;
}
.ttl-img img{
	display: block;
}
.ttl-tex1{
	font-size: 42px;
	line-height: 1.57;
}
.ttl-tex2{
	font-size: 37px;
	line-height: 1.51;
}
.ttl-tex3{
	font-size: 33px;
	line-height: 1;
}
.con-wrap{
}
.bg-img1{
	position: absolute;
	z-index: 2;
	top:-222px;
	right:-858px;
	width: 1858px;
}
.bg-img2{
	position: absolute;
	z-index: 2;
	top:-308px;
	right:-1175px;
	width: 1508px;
}
.bg-img3{
	position: absolute;
	z-index: 2;
	bottom: -1854px;
	left:-1028px;
	width: 1500px;
}
.bg-img4{
	position: absolute;
	z-index: 2;
	top:-406px;
	left:-1097px;
	width: 1505px;
}
.bg-img5{
	position: absolute;
	z-index: 2;
	top:-630px;
	right:-1308px;
	width: 1665px;
}
.con-wrap{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 3;
}
.con-wrap2{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 3;
}
.con-wrap3{
	width: 100%;
	max-width: 1116px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 3;
	background: #fff;
	padding-top: 70px;
	padding-bottom: 60px;
}
.copy{
	position: relative;
	z-index: 9;
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
 .con-wrap{
	width: 86%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 3;
}
.con-wrap2{
	width: 86%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 3;
} 
}
.gr-bg{
	padding-top: 276px;
	padding-bottom: 150px;
	background: #eeeeee;
	margin-bottom: 150px;
}
.flex-wrap.nmb{
	margin-bottom: -125px;
	bottom: -125px;
}
.flex-wrap.ptn1{
    margin-bottom: 150px;
}
.flex-wrap.ptn3{
    margin-bottom: 90px;
}
.flex-wrap.ptn4{
    margin-bottom: 60px;
}
.flex-list li .pic{
	margin-bottom: 20px;
}
.flex-list li .list-name{
	margin-bottom: 15px;
	font-size: 24px;
	line-height: 1;
	font-weight: 700;
}
.flex-wrap .box8 .ttl-tex2{
	white-space: nowrap;
}
.pic-flex{
	width: 75%;
	display: flex;
	margin-bottom: 65px;
}
.pic-flex li{
	width: 32%;
	margin-right: 1%;
}
.pic-flex li:last-child{
	margin-bottom: 0;
}
.bottom{
	margin-bottom: 280px;
}
.bottom-flex1 .box1{
	width: 20%;
	margin-right: 5%;
}
.bottom-flex1 .box1 .bottom-logo{
	margin-bottom: 130px;
	width: 48%;
	margin-left: auto;
	margin-right: auto;
}
.bottom-flex1 .box1 .logo-text{
	font-size: 26px;
	white-space: nowrap;
	font-weight: 700;
	line-height: 1;
}
.bottom-flex1 .box1 .bottom-link{
	width: 84%;
}
.bottom-flex1 .box1 .bottom-link img{
	display: block;
}
.bottom-flex1 .box2{
	width: 65%;
	margin-right: 10%;
}
.bottom-flex2{
	margin-bottom: 90px;
}
.bottom-flex2 .box3{
	width: 37%;
	margin-left: 1%;
	/*margin-left: 5%;*/
}
.box3_pf{
	width: 40%;
	text-align: center;
	margin-top: 70px;
	margin-right: auto;
	margin-left: auto;
}

.bottom-flex2 .box4{
	width: 47%;
	margin-left: 15%;
}
.bottom-flex3{
	margin-top: 90px;
	margin-bottom: 90px;
}
.bottom-flex3 .box4{
	width: 30%;
	margin-left: 3%;
}
@media print, screen and (min-width: 769px) {
	.flex-wrap{
		display: flex;
		justify-content: space-between;
	}
	.flex-wrap.ptn2{
		flex-direction: row-reverse;
	}
	.flex-wrap .box1,.flex-wrap .box2{
		width: 47%;
	}
	.flex-wrap .box2 img{
		max-width: none;
		width: 146%;
	}
	
	.flex-wrap .box3,.flex-wrap .box4{
		width: 47%;
	}
	.flex-wrap .box4 img{
		max-width: none;
		width: 146%;
		margin-left: -46%;
	}
	.flex-wrap .box5,.flex-wrap .box6{
		width: 47%;
	}
	.flex-wrap .box6 .mini-tex{
		padding-left: 9%;
	}
	.flex-list{
		display: flex;
		margin-bottom: 85px;
	}
	.flex-list li{
		width: 30%;
		margin-right: 5%;
	}
	.flex-list li:last-child{
		margin-right: 0;
	}
	.flex-wrap .box7,.flex-wrap .box8{
		width: 47%;
	}
	.flex-wrap .box9,.flex-wrap .box10{
		width: 47%;
	}
	.flex-wrap .box10.full{
		width: 100%;
	}
	.bottom-flex1,.bottom-flex2,.bottom-flex3{
		display: flex;
		align-items: center;
	}
	.bottom-flex1{
		flex-direction: row-reverse;
	}

}
@media screen and (min-width: 769px) and (max-width: 1200px) {
 .ttl-tex1{
	font-size: 34px;
	line-height: 1.57;
}
.ttl-tex2{
	font-size: 26px;
	line-height: 1.51;
}
.ttl-tex3{
	font-size: 22px;
} 
	.flex-list li .list-name{
		font-size: 18px;
	}
	.bottom-flex1 .box1 .logo-text{
		font-size: 20px;
	}
}
@media only screen and (max-width: 768px) {
.contents{
	padding-top: 26vw;
}
	.flex-wrap .box1{
		margin-bottom: 40px;
	}
	.flex-wrap .box3{
		margin-bottom: 40px;
	}
	.flex-wrap .box5{
		margin-bottom: 40px;
	}
	.flex-wrap .box7{
		margin-bottom: 40px;
	}
.ttl-tex1{
	font-size: 5.6vw;
	line-height: 1.57;
}
.ttl-tex2{
	font-size: 5.2vw;
	line-height: 1.51;
}
.ttl-tex3{
	font-size: 5.1vw;
	line-height: 1.51;
}

.border-wrap{
	padding-bottom: 0px;
	margin-bottom: 100px;
	border-bottom: none;
}

.con-wrap{
	width: 86%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 3;
}
.con-wrap2{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 2;
}
.flex-wrap .box2 img{
		max-width: none;
		width: 112%;
	}
.flex-wrap .box4 img{
		max-width: none;
		width: 112%;
		margin-left: -12%;
	}
	
.gr-bg{
	padding-top: 144px;
	padding-bottom: 40px;
	margin-bottom: 70px;
}

.flex-wrap.nmb{
	margin-bottom: -75px;
	bottom: -75px;
}
	.flex-wrap.ptn1{
		margin-bottom: 70px;
	}
	.flex-wrap.ptn3{
		margin-bottom: 70px;
	}
	.flex-wrap.ptn4{
		margin-bottom: 40px;
	}
	bottom-flex
	.bottom-flex2{
		margin-bottom: 70px;
	}
	.flex-list li{
		width: 100%;
		margin-right: 0%;
		margin-bottom: 40px;
	}
	.flex-list li:last-child{
		margin-right: 0;
		margin-bottom: 60px;
	}
.flex-list li .pic{
	margin-bottom: 5vw;
}
.flex-list li .list-name{
	margin-bottom: 3vw;
	font-size: 5.0vw;
	line-height: 1;
}
	.con-wrap3{
		width: 86%;
		max-width: none;
		margin-left: auto;
		margin-right: auto;
		position: relative;
		z-index: 3;
		padding-top: 7vw;
		padding-bottom: 7vw;
	}
.pic-flex{
	width: 100%;
	display: block;
	margin-bottom: 0px;
}
.pic-flex li{
	width: 100%;
	margin-right: 0%;
	margin-bottom: 10px;
}
.pic-flex li:last-child{
	margin-bottom: 0;
	margin-bottom: 40px;
}
.bottom{
	margin-bottom: 140px;
}
.bottom-flex1 .box1{
	width: 34%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 70px;
}
.bottom-flex1 .box1 .bottom-logo{
	margin-bottom: 70px;
	width: 48%;
	margin-left: auto;
	margin-right: auto;
}
.bottom-flex1 .box1 .logo-text{
	font-size: 4.4vw;
	white-space: nowrap;
	font-weight: 700;
	line-height: 1;
}
.bottom-flex1 .box1 .bottom-link{
	width: 84%;
}
.bottom-flex1 .box1 .bottom-link img{
	display: block;
}
.bottom-flex1 .box2{
	width: 100%;
	margin-right: 0%;
}

.bottom-flex2 .box3{
	width: 73%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 70px;
}
.bottom-flex2 .box4{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.bottom-flex3 .box4{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.bg-img1{
	position: absolute;
	z-index: 2;
	top:-48vw;
	right:-76%;
	width: 196%;
}
.bg-img3{
	position: absolute;
	z-index: 2;
	bottom: -398vw;
	left:-112%;
	width: 337%;
}
.bg-img5{
	position: absolute;
	z-index: 1;
	top:-250vw;
	right:-116%;
	width: 238%;
}
.box3_pf{
	width: 80%;
}

}
@media print, screen and (min-width: 1201px) {

}



