#sec1 {
	position: relative;
	padding: 20vw 0;
}
#sec1::before {
	content: "";
	background: url(../img/ippin/sec1_deco03.png) no-repeat top center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 100vw;
	height: 529px;
	position: absolute;
	top: 0;
	left: 50vw;
}
#sec1 .deco-1 {
	position: absolute;
	top: -19vw;
	left: 0;
	width: 77vw;
}
#sec1 .deco-2 {
	position: absolute;
	top: 101vw;
	right: 0;
	width: 55vw;
	z-index: 1;
}
#sec1 h2 {line-height: 2;margin-bottom: 5vw;}
#sec1 .text {position: relative;z-index: 3;}

@media screen and (min-width: 768px) {
#sec1 {
	margin-bottom: 0;
	padding: 133px 0 73px;
}
#sec1::before {
	width: 628px;
	height: 529px;
	top: 0;
	left: calc(50% + 131px);
}
#sec1 .deco-1 {
	top: -215px;
	left: -406px;
	width: 661px;
}
#sec1 .deco-2 {
	top: 362px;
	right: -385px;
	width: 661px;
}
#sec1 h2 {
	width: 112px;
	height: 400px;
	margin-left: auto;
	margin-bottom: -291px;
	margin-right: 143px;
	letter-spacing: 6px;
}
#sec1 .text {
	width: 638px;
	height: 571px;
	line-height: 46px;
}
}
.group-sec {
	position: relative;
}
.group-sec::before {
	content: "";
	background: url(../img/ippin/sec3_bg.jpg) no-repeat top center;
	background-size: 100% 100%;
	position: absolute;
	top: -100px;
	right: 0;
	left: 0;
	height: 3116px;
}

@media screen and (min-width: 768px) {
.group-sec::before {
	background: url(../img/ippin/sec3_bg.jpg) no-repeat top center;
	background-size: 100% 100%;
	top: -100px;
	right: 0;
	left: 0;
	height: 3116px;
}
}
#sec2 {
	position: relative;
	margin-bottom: 15vw;
}
#sec2 h2 {
	width: 25vw;
	height: 64vw;
	margin: 0 auto -19vw;
	line-height: 2;
	position: relative;
	z-index: 2;
}
#sec2 .set1 {
	position: relative;
}
#sec2 .set1 .photo {
	height: 65vw;
	margin-bottom: 5vw;
}
#sec2 .set1 .info {
}
#sec2 .set1 .info .text {
	margin-bottom: 6vw;
}
#sec2 .set1 .info .box__dl {
	padding: 5vw 3vw;
}
#sec2 .set1 .info .box__dl + .box__dl {
	margin-top: 3vw;
}
#sec2 .set1 .info .note-1 {
	padding-top: 10px;
	margin-bottom: 10vw;
}
#sec2 .set1 .info .note-2 {
	font-size: 12px;
	text-align: right;
	opacity: .8;
}

@media screen and (min-width: 768px) {
#sec2 {
	margin-bottom: 101px;
}
#sec2 h2 {
	width: 125px;
	height: 343px;
	line-height: 60px;
	margin-bottom: -103px;
	letter-spacing: 6px;
}
#sec2 .set1 {
	margin-bottom: 0;
}
#sec2 .set1 .photo {
	margin-left: -137px;
	width: 700px;
	height: 550px;
	margin-bottom: 0;
}
#sec2 .set1 .info {
	width: 397px;
	margin-right: -60px;
	padding-top: 25px;
}
#sec2 .set1 .info .text {
	margin-bottom: 55px;
	padding-left: 7px;
	padding-right: 19px;
}
#sec2 .set1 .info .box__dl {
	padding: 25px 18px;
}
#sec2 .set1 .info .box__dl + .box__dl {
	margin-top: 18px;
}
#sec2 .set1 .info .note-1 {
	padding-top: 7px;
	margin-bottom: 69px;
	padding-left: 6px;
}
#sec2 .set1 .info .note-2 {
	font-size: 15px;
}
}
#sec3 {
	position: relative;
	margin-bottom: 23vw;
}
#sec3::after {
	content: "";
	background: url(../img/ippin/sec3_line.png) no-repeat bottom center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 93vw;
	height: 506px;
	position: absolute;
	right: 0;
	bottom: -26vw;
	left: calc(50% - 50px);
	/* z-index: -1; */
}
#sec3 .set1 {
	position: relative;
	margin-bottom: 10vw;
	z-index: 1;
}
#sec3 .set1 .photo {
	height: 60vw;
}
#sec3 .set1 .info {
	padding-top: 8vw;
}
#sec3 .set1 .info h2 {
	text-align: center;
	margin-bottom: 8vw;
}
#sec3 .box__dl {
	padding: 5vw 3vw;
}

@media screen and (min-width: 768px) {
#sec3 {
	margin-bottom: 153px;
}
#sec3::after {
	width: 717px;
	height: 506px;
	right: auto;
	bottom: -125px;
	left: calc(50% - -97px);
}
#sec3 .set1 {
	margin-bottom: 76px;
}
#sec3 .set1 .photo {
	margin-right: -72px;
	width: 680px;
	height: 480px;
}
#sec3 .set1 .info {
	padding-top: 120px;
	margin-left: -25px;
	width: 328px;
}
#sec3 .set1 .info h2 {
	margin-bottom: 71px;
}
#sec3 .box__dl {
	margin-left: -40px;
	width: 505px;
	padding: 24px 0px 24px 7px;
}
}
#sec4 {
	position: relative;
	padding-bottom: 23vw;
}
#sec4 .set1 {
	padding-bottom: 10vw;
}
#sec4 .set1 .photo {
	height: 60vw;
}
#sec4 .set1 .info {padding-top: 8vw;}
#sec4 .set1 .info h2 {
	width: 8vw;
	height: 42vw;
	margin: 0 auto 5vw;
}
#sec4 .set1 .info .text {
	padding-left: 0;
}
#sec4 .set2 {
	max-width: 922px;
	margin: 0 auto;
}
#sec4 .set2 .left, #sec4 .set2 .right {
}
#sec4 .set2 .box__dl {
	padding: 5vw 3vw;
}
#sec4 .set2 .box__dl + .box__dl {
	margin-top: 10px;
}

@media screen and (min-width: 768px) {
#sec4 {
	padding-bottom: 233px;
}
#sec4 .set1 {
	padding-bottom: 69px;
}
#sec4 .set1 .photo {
	width: 750px;
	height: 530px;
	margin-left: -76px;
}
#sec4 .set1 .info {
	width: 317px;
	margin-right: -59px;
	padding-top: 22px;
}
#sec4 .set1 .info h2 {
	width: 42px;
	height: 255px;
	margin: 0 auto 50px;
	letter-spacing: 6px;
}
#sec4 .set1 .info .text {
	padding-left: 0;
}
#sec4 .set2 {
}
#sec4 .set2 .left, #sec4 .set2 .right {
	width: 47%;
}
#sec4 .set2 .box__dl {
	padding: 25px 18px 24px 23px;
}
#sec4 .set2 .box__dl + .box__dl {
	margin-top: 19px;
}
}
#sec5 {
	position: relative;
	margin-bottom: 18vw;
}
#sec5::before {
	content: "";
	background: url(../img/ippin/sec5_deco03.png) no-repeat top center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 72vw;
	height: 667px;
	position: absolute;
	top: -29vw;
	left: 0;
}
#sec5 .deco-1 {
	width: 67vw;
	height: 376px;
	position: absolute;
	right: -14vw;
	top: -17vw;
}
#sec5 .deco-2 {
	width: 60vw;
	height: 291px;
	position: absolute;
	left: 0;
	top: 90vw;
}
#sec5 h2 {
	text-align: center;
	margin-bottom: 10vw;
}
#sec5 h2 span {
	display: block;
	margin-bottom: 4vw;
	line-height: 1;
}
#sec5 .set {
	position: relative;
	z-index: 2;
}
#sec5 .set .photo {
	height: 100vw;
	margin-bottom: 5vw;
}
#sec5 .set .info {
}
#sec5 .set .info .text {
	margin-bottom: 8vw;
}
#sec5 .set .info .box__dl {
	padding: 24px 18px;
}

@media screen and (min-width: 768px) {
#sec5 {
	margin-bottom: 159px;
}
#sec5::before {
	width: 804px;
	height: 667px;
	top: -266px;
	left: auto;
	right: calc(50% - 54px);
}
#sec5 .deco-1 {
	width: 662px;
	height: 376px;
	right: -401px;
	top: -257px;
}
#sec5 .deco-2 {
	width: 640px;
	height: 291px;
	right: auto;
	top: 457px;
	left: -320px;
}
#sec5 h2 {
	letter-spacing: 4px;
	margin-bottom: 93px;
}
#sec5 h2 span {
	margin-bottom: 26px;
}

#sec5 .set {
	justify-content: space-around;
}

#sec5 .set .photo {
	width: 420px;
	height: 470px;
	margin-left: -35px;
	margin-bottom: 0;
}
#sec5 .set .info {
	width: 365px;
	margin-right: 0;
	padding-top: 47px;
	padding-right: 9px;
}
#sec5 .set .info .text {
	margin-bottom: 55px;
}
#sec5 .set .info .box__dl {
	padding: 24px 49px 24px 20px;
}
}
#sec6 {
	position: relative;
	margin-bottom: 15vw;
}
#sec6 .wrap {
	max-width: 1142px;
}
#sec6 .box .inside {
	max-width: 880px;
	margin: 0 auto;
	padding: 10vw 5vw;
}
#sec6 .box .inside h2 {
	text-align: center;
	margin-bottom: 8vw;
}
#sec6 .box .inside h3 {
    margin-bottom: 5vw;
	text-align: center;
}
#sec6 .box .inside .row-1 {
    margin-bottom: 13vw;
}
#sec6 .box .inside .col {
}
#sec6 .box .inside .col h4 {
	text-align: center;
	font-size: 16px;
	line-height: 1;
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
#sec6 .box .inside .col dl {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	text-align: left;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	line-height: 30px;
	justify-content: space-between;
	padding: 10px 0;
}
#sec6 .box .inside .col dl dd {
	text-align: right;
}
#sec6 .box .inside .note-1 {
	line-height: 2.5;
	max-width: 558px;
	margin: 0 auto 8vw;
	text-align: center;
}
#sec6 .box .inside .note-2 {
	max-width: 476px;
	margin: 0 auto;
	opacity: .8;
}

@media screen and (min-width: 768px) {
#sec6 {
	margin-bottom: 150px;
}
#sec6 .box .inside {
	padding: 89px 0 101px;
}
#sec6 .box .inside h2 {
	margin-bottom: 88px;
}
#sec6 .box .inside h3 {
	margin-bottom: 48px;
}
#sec6 .box .inside .row-1 {
	margin-bottom: 98px;
}
#sec6 .box .inside .col {
	width: 45.5%;
}
#sec6 .box .inside .col h4 {
	font-size: 16px;
	padding-top: 16px;
	padding-bottom: 16px;
}
#sec6 .box .inside .col dl {
	padding: 10px 0;
}
#sec6 .box .inside .note-1 {
	line-height: 42px;
	margin: 0 auto 98px;
	padding-top: 10px;
}
#sec6 .box .inside .note-2 {
	margin: 0 auto;
	line-height: 38px;
	letter-spacing: 0.1em;
	font-size: 15px;
	font-weight: 300;
	
}
}
#sec7 {
	margin-bottom: 20vw;
}

@media screen and (min-width: 768px) {
#sec7 {
	margin-bottom: 190px;
}
}

@media only screen and (min-width: 768px) and (max-width: 1299px) {
	#sec2 .set1 .info {
		margin-right: -40px;
	}
	#sec4 .set1 .info {
		margin-right: -30px;
	}
	#sec6 .wrap {
		padding-left: 20px;
		padding-right: 20px;
	}
}
