.don {
	max-width: 600px;
	width: 60%;
	margin: -250px 15% 0 auto;
}
#feature {
	width: 100%;
	margin: 0px auto 0px;
	position: relative;
	z-index: 1;
	
	contain: paint;
	opacity: 0;
	animation: fadein-blur 1s ease 1.0s forwards;
}
@keyframes fadein-blur {
  to {
    opacity: 1;
	  margin-top: -100px;
  }
}
@media (max-width: 992px) {
}
@media (max-width: 768px) {
	.don {
        width: 45%;
        margin: -200px 30% 0 auto;
    }
}
@media (max-width: 580px) {
	.don {
        width: 45%;
        margin: -180px 40% 0 auto;
    }
	#feature {
		margin-top: 80px;
		opacity: 0;
		animation: fadein-blur-sp 1s ease 1.0s forwards;
	}
	@keyframes fadein-blur-sp {
      to {
		  opacity: 1;
          margin-top: 0px;
      }
    }
}

/* --------------------------------------------------- */
#sec01 {
	max-width: 1700px;
	width: 100%;
	margin: 0 auto;
}
#sec01 .ttl1 {
	font-size: 5em;
	font-weight: 900;
	line-height: 1.5em;
	margin-left: 5%;
}
#sec01 .ttl2 {
	font-size: 3em;
	font-weight: 900;
	line-height: 1.5em;
	margin-left: 5%;
	margin-bottom: 30px;
}
#sec01 .block2 .ttl1 {
	text-align: right;
	margin-left: 0;
	margin-right: 5%;
}
#sec01 .block2 .ttl2 {
	text-align: right;
	margin-left: 0;
	margin-right: 5%;
}
#sec01 .ttl3 {
	font-family: "Stick", sans-serif;
	font-weight: 400;
	font-size: 4em;
	line-height: 1.5em;
}
#sec01 .block1,
#sec01 .block2 {
	margin-bottom: 100px;
}
#sec01 .block1 .inner {
	height: 560px;
}
#sec01 .block2 .inner {
	display: flex;
	justify-content: space-between;
}
#sec01 .block1 .left,
#sec01 .block2 .right {
	width: 30%;
	margin: 0 5%;
}
#sec01 .block1 .ph,
#sec01 .block2 .ph {
	width: 60%;
	height: 560px;
	position: relative;
}
#sec01 .block1 .ph {
	float: right;
}
#sec01 .block1 .ph1 {
	background: url("../images/feature/ph01.jpg") no-repeat center;
	background-size: cover;
	background-position: right center;
}
#sec01 .block2 .ph2 {
	background: url("../images/feature/ph02.jpg") no-repeat center;
	background-size: cover;
}
#sec01 .block1 .ph3 {
	background: url("../images/feature/ph03.jpg") no-repeat center;
	background-size: cover;
}
#sec01 .block1 .ph .uoo {
	margin: 0;
	position: absolute;
	width: 60%;
	top: -5%;
	left: -3%;
}
#sec01 .block2 .ph .oo {
	position: absolute;
	right: -40%;
	width: 50%;
	bottom: -25%;
}
#sec01 .block1 .ph .waa {
	transform: rotate(20deg);
	width: 40%;
	position: absolute;
	left: -20%;
	bottom: 0;
}
#sec01 .block1 .txt,
#sec01 .block2 .txt {
	line-height: 180%;
}
#sec01 .block1 {
}
@media (max-width: 992px) {
	#sec01 .ttl2 {
        font-size: 2em;
    }
	#sec01 .block2 .ttl1,
    #sec01 .block2 .ttl2 {
        text-align: left;
        margin-left: 5%;
        margin-right: 0;
    }
	#sec01 .ttl3 {
        font-size: 3em;
        line-height: 1.5em;
		margin-bottom: 10px;
    }
	#sec01 .block1,
    #sec01 .block2 {
        margin-bottom: 60px;
    }
	#sec01 .block1 .inner,
    #sec01 .block2 .inner {
		height: auto;
        display: block;
    }
	#sec01 .block1 .left,
    #sec01 .block2 .right {
        width: 90%;
        margin: 0 auto;
    }
    #sec01 .block1 .ph,
    #sec01 .block2 .ph {
		float: none;
        width: 100%;
        height: auto;
		padding-top: 45%;
		margin-bottom: 20px;
    }
	#sec01 .block1 .ph .uoo {
		width: 45%;
		top: -5%;
		left: -1%;
	}
	#sec01 .block2 .ph .oo {
        position: absolute;
        right: 40%;
        width: 45%;
        bottom: -25%;
    }
    #sec01 .block1 .ph .waa {
        transform: rotate(-20deg);
        width: 40%;
        left: auto;
        bottom: -20%;
		right: 5%;
    }
}
@media (max-width: 768px) {
	#sec01 {
		margin: 0 auto 50px;
	}
	#sec01 .block1,
    #sec01 .block2 {
        margin-bottom: 40px;
		position: relative;
    }
	#sec01 .block1::after,
    #sec01 .block2::after {
		content: "";
		border: #333 1px solid;
		position: absolute;
		top: 1%;
		width: 92%;
		left: 4%;
		bottom: -5%;
	}
	#sec01 .ttl1,
	#sec01 .ttl2,
	#sec01 .block2 .ttl1,
	#sec01 .block2 .ttl2 {
		width: 80%;
		margin: 0 auto;
	}
	#sec01 .ttl1 {
        font-size: 4em;
		font-weight: 700;
		margin-bottom: 5px;
    }
	#sec01 .ttl2,
	#sec01 .block2 .ttl2 {
        font-size: 1.4em;
		font-weight: 700;
		margin-bottom: 20px;
    }
	#sec01 .ttl3 {
        font-size: 2.5em;
    }
	#sec01 .block1 .left,
    #sec01 .block2 .right {
        width: 80%;
    }
}
/* --------------------------------------------------- */
#sec02 {
	width: 100%;
	margin: 0 auto;
	background: url("../images/feature/ph04.jpg") no-repeat center;
	background-size: cover;
	padding: 10% 0;
}
#sec02 .ttl-style05 {
	color: #fff;
	margin-bottom: 6%;
}
#sec02 .inner {
	max-width: 1400px;
	width: 90%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
#sec02 .box {
	width: 30%;
	color: #fff;
}
#sec02 .box dt {
	line-height: 170%;
	font-size: 1.2em;
	font-weight: 700;
	margin-bottom: 30px;
}
#sec02 .box dt span {
	display: block;
	text-align: center;
	font-size: 3em;
	font-weight: 400;
	margin-bottom: 30px;
}
#sec02 .box dt img {
	display: block;
	width: 100px;
	margin: 0 auto 30px;
}
#sec02 .box dd {
}
@media (max-width: 992px) {
	#sec02 .inner {
		display: block;
	}
	#sec02 .box {
		max-width: 600px;
        width: 100%;
		margin: 0 auto;
		position: relative;
		padding-bottom: 80px;
    }
	#sec02 .box:last-child {
		padding-bottom: 0;
    }
	#sec02 .box::after {
		content: "";
		width: 70%;
		height: 1px;
		background-color: #fff;
		position: absolute;
		left: 50%;
		bottom: 40px;
		transform: translate(-50%, 0%);
	}
	#sec02 .box:last-child::after {
		display: none;
	}
	#sec02 .box dd {
		line-height: 180%;
	}
}
@media (max-width: 768px) {
	#sec02 .inner {
		width: 80%;
	}
}
/* --------------------------------------------------- */

/* --------------------------------------------------- */

/* --------------------------------------------------- */


