/* visual */
.visual{
	/* background: url(../img/visual01.jpg) no-repeat center bottom / cover; */
	/* background-attachment: fixed; */
	height: 400vh;
	position: relative;
}

.visual .bg{
	position: relative;
	bottom: 0;
	width: 100%;
	height: 100vh;
	background: url(../img/visual01.jpg) no-repeat center bottom / cover;
	z-index: 1;
}

.visual .inner{
	height: 100vh;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	position: sticky;
	top: 0;
	max-width: none;
	width: 100%;
}

.visual .inner article{
	position: absolute;
	top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
	width: 100%;
	height: 100%;
	z-index: 5;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	padding: 0 5%;
}

.visual .inner .txtBox{
	width: 100%;
}

.visual .inner .txtBox p{
	font-size: 26px;
	font-family: "pm";
	color: #fff;
	line-height: 1.3;
	opacity: 0;
}

.visual .inner .txtBox p.txt1{
	font-family: "pb";
	margin-top: 50px;
	opacity: 1;
}

.visual .inner .txtBox p.txt2{
	margin-top: 60px;
	transition: all 0.6s;
	transform: translateY(10px);
}

.visual.ani1 .inner .txtBox p.txt2{
	opacity: 1;
	transform: translateY(0px);
}

.visual .inner .txtBox p.txt3{
	transition: all 0.6s;
	transform: translateY(10px);
}

.visual.ani3 .inner .txtBox p.txt3{
	opacity: 1;
	transform: translateY(0px);
}

.visual .inner .txtBox h2{
	font-size: 55px;
	line-height: 1.3;
	font-family: "pb";
	color: #fff;
	margin-top: 30px;
	opacity: 0;
	transition: all 0.6s;
	transform: translateY(10px);
}

.visual.ani2 .inner .txtBox h2{
	opacity: 1;
	transform: translateY(0px);
}

.visual .inner .txtBox h2 strong{
	font-family: "pb";
	color: #5799ff;
}

.visual .inner .txtBox .line{
	width: 40px;
	height: 40px;
	display: block;
	margin: 30px auto;
	position: relative;
	opacity: 0;
	transition: all 0.6s;
	transform: translateY(10px);
}

.visual.ani3 .inner .txtBox .line{
	opacity: 1;
	transform: translateY(0px);
}

.visual .inner .txtBox .line::after{
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) rotate(-45deg);
}

.visual ul{
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
	opacity: 0;
	transition: all 0.6s;
	transform: translateY(10px);
}

.visual.ani4 ul{
	opacity: 1;
	transform: translateY(0px);
}

.visual ul li{
	width: calc(100%/3 - 120px/3);
	max-width: 515px;
}

.visual ul li img{
	max-width: 100%;
	transition: all 0.3s;
}

.visual ul li:hover img{
	transform: translateY(-12px);
}

/* scrollMove */
.scrollMove{
	position: fixed;
	left: 50%;
	bottom: 100px;
	transform: translate(-50%,0);
	width: 50px;
	height: 80px;
	border: 1px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 50;
	border-radius: 500px;
}

.scrollMove .fa{
	color: #fff;
	font-size: 30px;
	animation: 2s scro infinite;
}

@keyframes scro{
	0%{transform: translateY(0px)}
	10%{transform: translateY(4px)}
	20%{transform: translateY(0px)}
	30%{transform: translateY(4px)}
	40%{transform: translateY(0px)}
}

/* section */
.section{
	padding: 150px 0;
}

/* section1 */
.section.section1{
	overflow-x: hidden;
	padding: 80px 0 0;
}

.section1 article{
	position: relative;
	padding: 100px 0;
}

.section1 article::before{
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: calc(100% - 170px - 100px);
	background: #f5f5f5;
}

.section1 article + article{
	margin-top: 50px;
}

.section1 article .inner{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}

.section1 article .imgBox{
	max-width: 724px;
	width: 48%;
	position: relative;
}

.section1 article .imgBox::after{
	content: '01';
	display: flex;
	align-items: center;
	justify-content: center;
	width: 83px;
	height: 83px;
	color: #fff;
	font-family: "pb";
	font-size: 32px;
	background: var(--mainCol);
	position: absolute;
	left: 50px;
	top: 0;
	transform: translateY(-50%);
}

.section1 article.art02 .imgBox::after{
	content: '02';
	left: auto;
	right: 50px;
}

.section1 article.art03 .imgBox::after{
	content: '03';
}

.section1 article .txtBox{
	width: calc(100% - 48% - 50px);
}

.section1 article .txtBox h2{
	font-size: 36px;
	line-height: 1.3;
	font-family: "pbk";
	padding-bottom: 30px;
	height: 160px;
}

.section1 article .txtBox h2 .sm{
	display: block;
	color: var(--mainCol);
	font-size: 24px;
	font-family: "pbk";
	margin-bottom: 15px;
}

.section1 article .txtBox h5{
	font-family: "pb";
	font-size: 26px;
	line-height: 1.3;
	margin-top: 40px;
	margin-bottom: 10px;
}

.section1 article .txtBox p{
	font-size: 22px;
	font-family: "pm";
	line-height: 1.7;
}

.section1 article.art02 .imgBox{
	order: 1;
}

.section1 article.art02 .txtBox{
	order: 0;
}

/* section2 */
.section2 .inner{
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
}

.section2 h2{
	font-family: "pbk";
	font-size: 45px;
	line-height: 1.3;
	color: var(--mainCol);
	width: 100%;
}

.section2 p{
	font-size: 22px;
	line-height: 1.8;
	font-family: "pr";
	margin-top: 15px;
	width: 100%;
}

.section2 .imgBox{
	max-width: 1091px;
	width: 72%;
	margin-top: -50px;
	position: relative;
}

.section2 .imgBox img{
	margin: 0;
	transition: all 0.4s;
}

.section2 .imgBox .linkBox{
	width: 60%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.section2 .imgBox .linkBox span{
	height: 20%;
	width: 100%;
	display: block;
	margin: auto;
	cursor: pointer;
	background: #ccc;
	opacity: 0;
}

.section2 .imgBox .linkBox span:nth-child(1){
	width: 20%;
}

.section2 .imgBox .linkBox span:nth-child(2){
	width: 40%;
}

.section2 .imgBox .linkBox span:nth-child(3){
	width: 60%;
}

.section2 .imgBox .linkBox span:nth-child(4){
	width: 80%;
}

/* section3 */
.section3{
	background: #f0f2f6;
	overflow-x: hidden;
}

.section3 .inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.section3 .inner .imgBox{
	width: 606px;
}

.section3 .inner .imgBox img{
	filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.2))
}

.section3 .inner .txtBox{
	width: calc(100% - 606px - 80px);
	position: relative;
	padding: 40px;
	padding-left: 80px;
}

.section3 .inner .txtBox::before{
	content: '';
	display: block;
	width: 1000px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(255,255,255,0.8);
}

.section3 .inner .txtBox *{
	position: relative;
	z-index: 1;
}

.section3 .inner .txtBox h2{
	color: var(--mainCol);
	font-size: 45px;
	line-height: 1.3;
	font-family: "pbk";
	margin-bottom: 25px;
}

.section3 .inner .txtBox ul li{
	padding-left: 40px;
	background: url(../img/icon_chk.png) no-repeat top 2px left / 29px auto;
	font-family: "pr";
	font-size: 22px;
	line-height: 1.7;
}

.section3 .inner .txtBox ul li + li{
	margin-top: 15px;
}

.section3 .inner .txtBox ul li strong{
	font-family: "pb";
}

/* section4 */
.section4 .inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

.section4 .inner .leftBox{
	width: calc(100% - 59% - 50px);
}

.section4 .inner .leftBox h2{
	font-family: "pbk";
	font-size: 45px;
	line-height: 1.3;
	color: var(--mainCol);
	margin-bottom: 20px;
}

.section4 .inner .leftBox p{
	font-size: 22px;
	font-family: "pr";
	line-height: 1.7;
}

.section4 .inner .rightBox{
	width: 59%;
	max-width: 900px;
}

.section4 .inner .rightBox ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}

.section4 .inner .rightBox ul li{
	width: calc(100%/2 - 30px/2);
	margin-top: 30px;
	position: relative;
}

.section4 .inner .rightBox ul li:nth-child(-n+2){
	margin-top: 0;
}

.section4 .inner .rightBox ul li p{
	position: absolute;
	top: 20px;
	left: 20px;
	line-height: 1.5;
	color: #fff;
	font-size: 24px;
	font-family: "pb";
}

.section4 .inner .rightBox ul li img{
	max-width: 100%;
}

/* section5 */
.section5 h2{
	font-family: "pbk";
	font-size: 45px;
	line-height: 1.3;
	margin-bottom: 50px;
}

.section5 ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.section5 ul li{
	width: calc(100%/2 - 30px/2);
	max-width: 745px;
	margin-top: 30px;
	position: relative;
	background: var(--mainCol);
}

.section5 ul li:nth-child(-n+2){
	margin-top: 0;
}

.section5 ul li img{
	max-width: 100%;
}

.section5 ul li:hover img{
	opacity: 0;
}

.section5 ul li .txtBox{
	position: absolute;
	top: 50px;
	left: 50px;
}

.section5 ul li .txtBox h5{
	color: #fff;
	font-size: 36px;
	font-family: "pbk";
	line-height: 1.6;
}

.section5 ul li .txtBox p{
	font-family: "pm";
	color: #fff;
	font-size: 22px;
	margin-top: 20px;
	line-height: 1.7;
	opacity: 0;
}

.section5 ul li:hover .txtBox p{
	opacity: 1;
}

/* section6 */
.section6 .inner{
	display: flex;
	flex-wrap: wrap;
}

.section6 h2{
	font-family: "pbk";
	font-size: 45px;
	line-height: 1.3;
	margin-bottom: 15px;
	width: 100%;
}

.section6 h2 + p{
	font-size: 22px;
	line-height: 1.7;
	font-family: "pr";
	margin-bottom: 50px;
	width: 100%;
}

.section6 .imgBox{
	margin-right: 100px;
}

/* section7 */
.section7{
	background: url(../img/section7_bg.jpg) no-repeat center / cover;
}

.section7 h2{
	text-align: center;
	color: #fff;
	font-size: 45px;
	line-height: 1.3;
	font-family: "pbk";
	margin-bottom: 15px;
}

.section7 h2 + p{
	font-size: 22px;
	line-height: 1.7;
	font-family: "pl";
	color: #fff;
	margin-bottom: 50px;
	width: 100%;
	text-align: center;
}

.section7 form article{
	display: flex;
	align-items: center;
	justify-content: center;
}

.section7 form article > div{
}

.section7 form article > div + div{
	margin-left: 20px;
}

.section7 form article .inputBox{
	width: 18%;
	
}

.section7 form article .inputBox input{
	background: transparent;
	border: 1px solid #fff;
	box-sizing: border-box;
	height: 40px;
	width: 100%;
	font-family: "pr";
	color: #fff;
	font-size: 16px;
	padding-left: 10px;
}

.section7 form article .inputBox input::placeholder{
	color: #fff;
}

.section7 form article .perBox{
	display: flex;
	align-items: center;
}

.section7 form article .perBox span{
	width: 12px;
	height: 12px;
	box-sizing: border-box;
	border: 1px solid #fff;
	position: relative;
	display: block;
}

.section7 form article .perBox span .fa{
	font-size: 10px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	color: #fff;
	opacity: 0;
}

.section7 form article .perBox input{
	display: none;
}

.section7 form article .perBox input:checked + span .fa{
	opacity: 1;
}

.section7 form article .perBox label{
	color: #fff;
	font-family: "pl";
	font-size: 14px;
	line-height: 1;
	margin-left: 4px;
}

.section7 form article .okBox{
	width: 18%;
}

.section7 form article .okBox a{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	color: #fff;
	background: var(--mainCol);
	font-family: "pm";
	font-size: 16px;
	line-height: 1;
	width: 100%;
}


/* ----------------------------------------responsive 1530px */
@media screen and (max-width: 1530px){

/* visual */
.visual .inner .txtBox p{
	font-size: 23px;
}

.visual .inner .txtBox p.txt1{
	margin-top: 40px;
}

.visual .inner .txtBox p.txt2{
	margin-top: 50px;
}

.visual .inner .txtBox h2{
	font-size: 52px;
	margin-top: 30px;
}

.visual .inner .txtBox .line{
	width: 30px;
	height: 30px;
	margin: 30px auto;
}

.visual ul{
	margin-top: 40px;
}

.visual ul li{
	width: calc(100%/3 - 80px/3);
}

/* section */
.section{
	padding: 150px 0;
}

/* section1 */
.section1 article::before{
	height: calc(100% - 160px - 100px);
}

.section1 article .imgBox{
	max-width: 724px;
	width: 48%;
	position: relative;
}

.section1 article .imgBox::after{
	width: 70px;
	height: 70px;
	font-size: 28px;
}

.section1 article .txtBox{
	width: calc(100% - 48% - 50px);
}

.section1 article .txtBox h2{
	font-size: 32px;
	height: 160px;
}

.section1 article .txtBox h2 .sm{
	font-size: 20px;
}

.section1 article .txtBox h5{
	font-size: 22px;
	margin-top: 40px;
}

.section1 article .txtBox p{
	font-size: 18px;
	font-family: "pm";
	line-height: 1.7;
}

/* section2 */
.section2 h2{
	font-size: 42px;
}

.section2 p{
	font-size: 20px;
}

/* section3 */
.section3 .inner .imgBox{
	width: 40%;
}

.section3 .inner .imgBox img{
	filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.2))
}

.section3 .inner .txtBox{
	width: calc(100% - 40% - 50px);
	padding: 30px;
	padding-left: 50px;
}

.section3 .inner .txtBox h2{
	font-size: 42px;
	margin-bottom: 25px;
}

.section3 .inner .txtBox ul li{
	padding-left: 30px;
	background: url(../img/icon_chk.png) no-repeat top 4px left / 23px auto;
	font-family: "pr";
	font-size: 20px;
	line-height: 1.7;
}

/* section4 */
.section4 .inner .leftBox h2{
	font-family: "pbk";
	font-size: 42px;
}

.section4 .inner .leftBox p{
	font-size: 20px;
}

.section4 .inner .rightBox ul li{
	width: calc(100%/2 - 15px/2);
	margin-top: 15px;
}

.section4 .inner .rightBox ul li p{
	font-size: 20px;
	font-family: "pb";
}

/* section5 */
.section5 h2{
	font-size: 42px;
}

.section5 ul li{
	width: calc(100%/2 - 20px/2);
	margin-top: 20px;
}

.section5 ul li .txtBox h5{
	color: #fff;
	font-size: 32px;
}

.section5 ul li .txtBox p{
	font-size: 20px;
}

/* section6 */
.section6 h2{
	font-size: 42px;
}

.section6 h2 + p{
	font-size: 20px;
}

.section6 .imgBox{
	margin-right: 50px;
}

/* section7 */
.section7 h2{
	font-size: 42px;
}

.section7 h2 + p{
	font-size: 20px;
}



}




/* ----------------------------------------responsive 720px */
@media screen and (max-width: 720px){

/* visual */
.visual{
	height: 200vh;
}

.visual .bg{
	height: 100vh;
	background: url(../img/visual01_m.png) no-repeat center bottom / cover;
}

.visual .inner .txtBox p{
	font-size: 4vw;
}

.visual .inner .txtBox p.txt1{
	margin-top: 10vw;
}

.visual .inner .txtBox p.txt2{
	margin-top: 5vw;
}

.visual .inner .txtBox h2{
	font-size: 6vw;
	margin-top: 5vw;
}

.visual .inner .txtBox .line{
	width: 6vw;
	height: 6vw;
	margin: 5vw auto;
	position: relative;
}

.visual ul{
	margin: auto;
	width: 60%;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 7vw;
}

.visual ul li{
	width: calc(100%/2 - 3vw/2);
	width: 100%;
	margin-top: 3vw;
	max-width: 515px;
}

.visual ul li:nth-child(2n){
	margin-left: 0vw;
}

.visual ul li:hover img{
	transform: translateY(-1vw);
}

/* section */
.section{
	padding: 15vw 0;
}

/* section1 */
.section.section1{
	padding: 10vw 0 0;
}

.section1 article{
	padding: 12vw 0;
}

.section1 article::before{
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: calc(70%);
	background: #f5f5f5;
}

.section1 article + article{
	margin-top: 7vw;
}

.section1 article .imgBox{
	max-width: 724px;
	width: 100%;
	margin-bottom: 5vw;
}

.section1 article .imgBox::after{
	width: 12vw;
	height: 12vw;
	font-size: 4vw;
	left: 5vw;
}

.section1 article.art02 .imgBox::after{
	content: '02';
	right: auto;
	left: 5vw;
}

.section1 article.art03 .imgBox::after{
	content: '03';
}

.section1 article .txtBox{
	width: calc(100%);
}

.section1 article .txtBox h2{
	font-size: 5vw;
	padding-bottom: 6vw;
	height: auto;
}

.section1 article .txtBox h2 .sm{
	font-size: 3.5vw;
	margin-bottom: 3vw;
}

.section1 article .txtBox h5{
	font-size: 4vw;
	margin-top: 0vw;
	margin-bottom: 2vw;
}

.section1 article .txtBox p{
	font-size: 3.5vw;
}

.section1 article.art02 .imgBox{
	order: 0;
}

.section1 article.art02 .txtBox{
	order: 1;
}

/* section2 */
.section2 h2{
	font-size: 5.5vw;
}

.section2 p{
	font-size: 3.5vw;
	margin-top: 3vw;
}

.section2 .imgBox{
	width: 100%;
	margin-top: 5vw;
}

/* section3 */
.section3 .inner{
	flex-wrap: wrap;
	justify-content: space-between;
}

.section3 .inner .imgBox{
	width: 100%;
	margin-bottom: 5vw;
}

.section3 .inner .txtBox{
	width: calc(100%);
	padding: 5vw;
	background: rgba(255,255,255,0.8);
}

.section3 .inner .txtBox::before{
	background: rgba(255,255,255,0.8);
	display: none;
}

.section3 .inner .txtBox h2{
	font-size: 5.5vw;
	margin-bottom: 4vw;
}

.section3 .inner .txtBox ul li{
	padding-left: 5vw;
	background: url(../img/icon_chk.png) no-repeat top 1vw left / 3.5vw auto;
	font-size: 3.5vw;
}

.section3 .inner .txtBox ul li + li{
	margin-top: 3vw;
}

/* section4 */
.section4 .inner .leftBox{
	width: calc(100%);
	margin-bottom: 5vw;
}

.section4 .inner .leftBox h2{
	font-size: 5.5vw;
	margin-bottom: 4vw;
}

.section4 .inner .leftBox p{
	font-size: 3.5vw;
}

.section4 .inner .rightBox{
	width: 100%;
	max-width: none;
}

.section4 .inner .rightBox ul li{
	width: calc(100%/2 - 3vw/2);
	margin-top: 3vw;
}

.section4 .inner .rightBox ul li p{
	top: 3vw;
	left: 3vw;
	font-size: 3.5vw;
}

/* section5 */
.section5 h2{
	font-size: 5.5vw;
	margin-bottom: 7vw;
}

.section5 ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: auto;
}

.section5 ul li{
	width: calc(100%);
	margin-top: 3vw !important;
	position: relative;
}

.section5 ul li:nth-child(1){
	margin-top: 0 !important;
}

.section5 ul li .txtBox{
	top: 5vw;
	left: 5vw;
}

.section5 ul li .txtBox h5{
	font-size: 5.5vw;
}

.section5 ul li .txtBox p{
	font-size: 4vw;
	margin-top: 4vw;
}

/* section6 */
.section6 h2{
	font-size: 5.5vw;
	margin-bottom: 3vw;
}

.section6 h2 + p{
	font-size: 4vw;
	margin-bottom: 7vw;
}

.section6 .imgBox{
	margin-right: 0;
	width: 100%;
	margin-bottom: 5vw;
}

.section6 .txtBox{
	width: 100%;
}

.section6 .txtBox img{
	width: 100%;
}

/* section7 */
.section7{
	background: url(../img/section7_bg.jpg) no-repeat center / cover;
}

.section7 h2{
	font-size: 5.5vw;
	margin-bottom: 3vw;
}

.section7 h2 + p{
	font-size: 4vw;
	margin-bottom: 7vw;
}

.section7 form article{
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0;
}

.section7 form article > div{
	width: 100%;
}

.section7 form article > div:nth-child(1){
	order: 0;
	width: calc(30% - 10px);
}

.section7 form article > div:nth-child(2){
	order: 1;
	width: calc(40%);
}

.section7 form article > div:nth-child(3){
	order: 3;
}

.section7 form article > div:nth-child(4){
	order: 2;
}

.section7 form article > div + div{
	margin-left: 0px;
}

.section7 form article .inputBox{
	width: calc(100%/2 - 10px/2);
}

.section7 form article .inputBox input{
	height: 35px;
	font-size: 13px;
	padding-left: 10px;
}

.section7 form article .perBox{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 0 0;
}

.section7 form article .perBox span{
	width: 10px;
	height: 10px;
}

.section7 form article .perBox span .fa{
	font-size: 8px;
}

.section7 form article .perBox label{
	font-size: 12px;
	margin-left: 4px;
}

.section7 form article .okBox{
	width: 30%;
}

.section7 form article .okBox a{
	height: 35px;
	font-size: 13px;
}


}