@charset "UTF-8";

#ttl-area::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	content: "";
	width: 720px;
	height: 378px;
	background: url("../images/wideplan/wide.svg") center no-repeat;
	background-size: contain;
	transform: translateX(-760px);
	z-index: 0;
}
#ttl-area small {
	font-size: 71%;
}
@media screen and (max-width: 767px) {
	#ttl-area::after {
		width: 65%;
		height: 45%;
		left: 0;
		transform: translateX(0);
	}
	#ttl-area small {
		display: block;
	}
}

figcaption {
	font-size: 11px;
}

.poslink { position:absolute; left:0; top:0; height:100%; width: 100%; z-index: 11; }

/* sec01 */
.sec01{
	background: url("../images/plan/bg_sec01.png") right 60px no-repeat;
	background-size: 550px auto;
	padding: 150px 0 100px;
}
.sec01 .inner {
	width: 1054px;
	margin: 0 auto;
}
.sec01 h2 {
	max-width: 1200px;
	width: 90%;
	margin: 0 auto 140px;
	text-align: center;
	position: relative;
}
.sec01 h2 img {
	max-width: 323px;
	width: 80%;
	position: relative;
	z-index: 1;
} 
.sec01 h2::after {
	content: "";
	width: 100%;
	height: 2px;
	background: #4C4945;
	z-index: 0;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 22%;
}
.sec01 h3 {
	font-size: 35px;
	letter-spacing: 0.14em;
	line-height: 1.6;
	margin-bottom: 30px;
	text-align: center;
}
.sec01 h3:nth-of-type(3) {
	margin-bottom: 60px;
}
.sec01 h4 {
	font-size: 24px;
	text-align: center;
	margin: 0 0 40px;
}
.sec01 h4.point01 {
	letter-spacing: 0.2em;
	background: url("../images/wideplan/bg_point01.svg") no-repeat left top / auto 100%;
	height: 128px;
	padding: 75px 0 0 190px;
}
.sec01 h4.point01 span {
	padding: 0 4px;
	background: linear-gradient(transparent 70%, rgba(245,164,35,0.38) 70%, rgba(245,164,35,0.38) 90%,transparent 90%);
}
.sec01 h4.point02 {
	letter-spacing: -0.02em;
	background: url("../images/wideplan/bg_point02.svg") no-repeat left top / auto 100%;
	height: 128px;
	padding: 75px 0 0 190px;
}
.sec01 h4.point02 span {
	padding: 0 4px;
	background: linear-gradient(transparent 70%, rgba(189,0,8,0.38) 70%, rgba(189,0,8,0.38) 90%,transparent 90%);
}
.sec01 .graph p {
	font-size: 11px;
	text-align: right;
	margin: 30px 0 140px;
}
.sec01 ul {
	display: flex;
	justify-content: space-between;
}
.sec01 li {
	width: 320px;
}
.sec01 li p {
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.14em;
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.sec01{
		background-size: 50% auto;
		padding: 40px 0;
	}
	.sec01 .inner {
		width: 90%;
		margin: 0 auto;
	}
	.sec01 h2 {
		width: 100%;
		margin: 0 auto 30px;
	}
	.sec01 h2 img {
		width: 40%;
	} 
	.sec01 h3 {
		font-size: 4.2vw;
		letter-spacing: 0;
		margin-bottom: 20px;
	}
	.sec01 h3:nth-of-type(3) {
		margin-bottom: 20px;
	}
	.sec01 h4 {
		font-size: 3.6vw;
		text-align: left;
		margin: 0 0 20px;
	}
	.sec01 h4.point01 {
		letter-spacing: 0.08em;
		background: url("../images/wideplan/bg_point01.svg") no-repeat left top / auto 50px;
		height: 50px;
		padding: 28px 0 0 80px;
	}
	.sec01 h4.point02 {
		letter-spacing: -0.02em;
		background: url("../images/wideplan/bg_point02.svg") no-repeat left top / auto 50px;
		height: 50px;
		padding: 28px 0 0 80px;
	}
	.sec01 .graph p {
		font-size: 11px;
		text-align: left;
		margin: 20px 0 60px;
	}
	.sec01 ul {
		flex-direction: column;
		align-items: center;
		gap: 30px;
	}
	.sec01 li {
		max-width: 320px;
		width: 100%;
	}
	.sec01 li p {
		font-size: 3.2vw;
		line-height: 1.4;
		margin-top: 10px;
	}
}

.sec02 {
	background: #eef4f7;
	padding: 70px 0 120px;
}
.sec02 h2 {
	width: 395px;
	margin: 0 auto 40px;
}
.sec02 h3 {
	font-size: 35px;
	line-height: 1.6;
	margin-bottom: 90px;
	text-align: center;
}
.sec02 h4 {
	width: 602px;
	margin: 0 auto 40px;
}
.sec02 .inner {
	width: 1140px;
	background: #FFFFFF;
	padding: 40px 0 20px;
	margin: 0 auto;
}
.sec02 .plan_list {
	width: 960px;
	margin: 0 auto;
}
.sec02 .plan_item {
	display: flex;
	justify-content: space-between;
}
.sec02 .plan_item figure {
	width: 475px;
}
.sec02 .plan_item figure + figure {
	width: 467px;
}
.sec02 .icon_plan {
	width: 1006px;
	display: flex;
	align-items: flex-end;
	gap: 37px;
	margin: 20px auto 0;
}
.sec02 .icon_plan li img {
	display: block;
	vertical-align: bottom;
}
.sec02 .icon_plan + p {
	width: 1006px;
	font-size: 11px;
	letter-spacing: 0.02em;
	text-indent: -1em;
	padding-left: 1em;
	margin: 5px auto 0;
}
@media screen and (max-width: 767px) {
	.sec02 {
		background: #eef4f7;
		padding: 40px 0;
	}
	.sec02 h2 {
		max-width: 395px;
		width: 50%;
		margin: 0 auto 20px;
	}
	.sec02 h3 {
		font-size: 4.2vw;
		margin-bottom: 20px;
	}
	.sec02 h4 {
		max-width: 602px;
		width: 80%;
		margin: 0 auto 30px;
	}
	.sec02 .inner {
		max-width: 1140px;
		width: 90%;
		padding: 20px 0;
	}
	.sec02 .plan_list {
		max-width: 960px;
		width: 90%;
	}
	.sec02 .plan_item {
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
	.sec02 .plan_item figure {
		max-width: 475px;
		width: 100%;
	}
	.sec02 .plan_item figure + figure {
		max-width: 467px;
		width: 100%;
	}
	.sec02 .icon_plan {
		width: 90%;
		flex-direction: column;
		align-items: flex-start;
		gap: 15px;
		margin: 20px auto 0;
	}
	.sec02 .icon_plan li img {
		max-width: 265px;
		width: 77%;
	}
	.sec02 .icon_plan li + li img {
		max-width: 343px;
		width: 100%;
	}
	.sec02 .icon_plan + p {
		max-width: 1006px;
		width: 90%;
		font-size: 10px;
		letter-spacing: -0.02em;
		margin: 5px auto 0;
	}
}

.slide-arrow {
	width: 50px;
	cursor: pointer;
  bottom: 0;
  top: 0;
  margin: auto;
  position: absolute;
	transition: .4s;
}
.slide-arrow:hover {
	opacity: .5;
}
.prev-arrow {
  left: -80px;
	animation: animationArrowLeft 2s ease-in-out infinite;
}
.next-arrow {
  right: -80px;
	animation: animationArrowRight 2s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
	.slide-arrow {
		width: 30px;
		top: 17.2%;
		margin: 0;
		z-index: 10;
	}
	.prev-arrow {
		left: -20px;
		animation: animationArrowLeftSp 2s ease-in-out infinite;
	}
	.next-arrow {
		right: -20px;
		animation: animationArrowRightSp 2s ease-in-out infinite;
	}
}
@keyframes animationArrowLeft {
  0%,100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(20px);
  }
}
@keyframes animationArrowRight {
  0%,100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-20px);
  }
}
@keyframes animationArrowLeftSp {
  0%,100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(15px);
  }
}
@keyframes animationArrowRightSp {
  0%,100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-15px);
  }
}


