@charset "UTF-8";


/* --------------------------------------------------
		overrie
-------------------------------------------------- */

@media screen and (max-width: 736px) {
}


/* --------------------------------------------------
		component
-------------------------------------------------- */

@media screen and (max-width: 736px) {
}


/* --------------------------------------------------
		visual
-------------------------------------------------- */
.p-visual {
	background-image: url(../img/bg_visual.jpg);
}
.p-visual__title {
	padding-top: 115px;
}

@media screen and (max-width: 736px) {
.p-visual {
	background-image: url(../img/bg_visual_sp.jpg);
}
.p-visual__title {
	padding-top: 58px;
}
}


/* --------------------------------------------------
		history
-------------------------------------------------- */
.history {
	padding-top: 50px;
}
.history-year {
	position: relative;
}
.history-year > li {
	position: relative;
	z-index: 2;
	padding-bottom: 70px;
}
.history-year > li:nth-child(2) {
	padding-bottom: 20px;
}
.history-year > li:nth-child(7),
.history-year > li:nth-child(8),
.history-year > li:nth-child(9) {
	z-index: 3;
}
.history-year > li:last-child {
	padding-bottom: 210px;
}
.history-year > li:before {
	content: "";
	position: absolute;
	/* z-index: 2; */
	top: 0;
	left: 27px;
	width: 15px;
	height: 100%;
	background-color: #FFEA9A;
}
.history-year li .title {
	position: relative;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0 0 10px -40px;
}
.history-year li .title.noyear {
	margin-left: 110px;
}
.history-year li .sub {
	margin: 0 0 10px 14px;
}
.history-year li .title .year {
	text-align: center;
	width: 150px;
	height: 150px;
	border-radius: 50% 50%;
	background-color: #FFEA9A;
	line-height: 1.4;
	padding-top: 40px;
}
.history-year li .title .point {
	display: block;
	text-align: center;
	width: 40px;
	height: 40px;
	border-radius: 50% 50%;
	background-color: #FFEA9A;
	line-height: 1.4;
	padding-top: 40px;
	margin: 0 auto 10px;
}
.history-year li .title .year span {
	display: block;
	font-size: 2.6rem;
	font-weight: bold;
}
.history-year li .title .text {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	font-size: 2.0rem;
	font-weight: bold;
	margin-left: 15px;
}
.history-year li .list {
	position: relative;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: -30px -15px 0;
}
.history-year li .list > li {
	margin-top: 30px;
	padding: 0 15px;
	width: 343px;
}
.history-year li .list .pkg {
	position: relative;
	opacity: 0;
}
.history-year li .list .frame {
	border: 4px solid #FFFFFF;
}
.history-year li .list .note {
	display: block;
	font-size: 1.4rem;
	line-height: 1.6;
	margin-top: 5px;
}
.history-year li .event-box {
	position: relative;
	background-color: #FFFFFF;
}
.history-year li .event-box:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border-top: 12px solid #FFF8DD;
	border-right: 12px solid #FFEA9A;
	border-bottom: 12px solid #FFEA9A;
	border-left: 12px solid #FFF8DD;
}
.history-year li .event-title {
	position: relative;
	padding: 20px 30px 20px 70px;
	font-size: 1.8rem;
	font-weight: bold;
}
.history-year li .event-list {
	padding: 15px 0 30px;
	margin: 0 30px;
	font-size: 1.6rem;
	line-height: 1.6;
	border-top: 1px dotted #001D4B;
}
.history-year li .event-list li {
	text-indent: -1.0em;
	margin-left: 1.0em;
}
.history-year li .event-list li + li {
	margin-top: 4px;
}
.history-year li .memory-now {
	position: relative;
	display: inline-block;
	background-color: #FFEB9D;
	text-align: center;
	width: 720px;
	font-size: 2.6rem;
	margin-left: 15px;
	background-image: url(../img/img_end.png),
					  url(../img/img_end.png);
	background-position: -20px 50%, calc(100% + 20px) 50%;
	background-repeat: no-repeat;
	background-size: 40px 100%;
	opacity: 0;
}
.history-year li .memory-now span {
	display: inline-block;
	padding: 17px 60px;
	background-image: url(../img/img_attend_l.png),
					  url(../img/img_attend_r.png);
	background-position: left center, right center;
	background-repeat: no-repeat;
	background-size: 40px 40px;
}
.history-year .graph {
	position: absolute;
	left: 540px;
	top: 50px;
}
.history-year .graph ul {
	position: absolute;
	bottom: -20px;
	right: 80px;
	width: 1207px;
}
.history-year .graph ul li {
	position: relative;
	height: 75px;
	width: 0;
	background-color: #FFFFFF;
}
.history-year .graph .text {
	position: relative;
	z-index: 1;
	opacity: 0;
}
.history-year li .ribon {
	margin-top: 50px;
	padding-left: 150px;
	font-weight: bold;
}

@media screen and (max-width: 736px) {
.history {
	padding-top: 30px;
}
.history-year > li,
.history-year > li:nth-child(2),
.history-year > li:last-child {
	padding-bottom: 50px;
}
.history-year > li:before {
	left: calc(50% - 2px);
	width: 4px;
}
.history-year li .title {
	display: block;
	margin: 0 0 25px 0;
}
.history-year li .title.noyear {
	margin-left: 0;
}
.history-year li .title .year {
	width: 120px;
	height: 120px;
	padding-top: 34px;
	font-size: 1.2rem;
	margin: 0 auto 15px;
}
.history-year li .title .year span {
	font-size: 2.4rem;
}
.history-year li .title .text {
	margin-left: 0;
	line-height: 1.6;
	text-align: center;
}
.history-year li .list {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: -30px -2.816901408450704% 0;
}
.history-year li .list > li {
	width: 50%;
	padding: 0 2.666666666666667%;
}
.history-year li .list > li.w100 {
	width: 100%;
}
.history-year li .list .frame {
	border-width: 2px;
}
.history-year li .list .note {
	font-size: 1.2rem;
}
.history-year li .event-title {
	padding: 20px 2.816901408450704% 20px calc(2.816901408450704% + 30px);
	font-size: 1.6rem;
	cursor: pointer;
}
.history-year li .event-title:before {
	content: "";
	position: absolute;
	top: calc(50% - 12px);
	right: 2.816901408450704%;
	width: 25px;
	height: 25px;
	background-color: #FFEA9A;
	background-image: url(../img/arrow_openclose.png);
	background-size: 25px 50px;
	background-position: 0 0;
	border-radius: 25px 25px;
}
.history-year li .event-title.is-active:before {
	background-position: 0 -25px;
}
.history-year li .event-body {
	display: none;
}
.history-year li .event-list {
	padding: 15px 0 20px;
	margin: 0 2.816901408450704%;
	font-size: 1.4rem;
}
.history-year li .memory-now {
	background-color: transparent;
	width: auto;
	font-size: 2.0rem;
	margin-left: 0;
	background-image: none;
}
.history-year li .memory-now span {
	padding: 5px 40px;
	background-size: 35px 35px;
}
.history-year .graph {
	position: relative;
	left: 0;
	top: 0;
}
.history-year .graph ul {
	bottom: -5px;
	right: calc(50% - 40px);
	width: 140vw;
}
.history-year .graph ul li {
	height: 30px;
}
.history-year .graph .text {
	margin: 0 auto;
	width: 130px;
}
.history-year li .ribon {
	margin-top: 35px;
	padding-left: 0;
	text-align: center;
}
}


/* --------------------------------------------------
		successive
-------------------------------------------------- */
.successive {
	position: relative;
	z-index: 5;
	margin-top: -140px;
}
.successive__title {
	width: 351px;
	margin: 0 auto;
}
.successive-box {
	position: relative;
	padding: 0 100px;
	background-color: #FFFFFF;
}
.successive-box:before {
	content: "";
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100px;
	height: 400px;
	background-image: url(../img/img_curtain_l.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
}
.successive-box:after {
	content: "";
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	width: 100px;
	height: 400px;
	background-image: url(../img/img_curtain_r.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
}
.successive-list {
	position: relative;
	padding: 90px 0;
	width: calc((240px + 60px) * 39 - 60px + 200px);
	letter-spacing: -0.4em;
}
.successive-list li {
	width: 240px;
	display: inline-block;
	letter-spacing: 0;
	box-sizing: content-box;
}
.successive-list li + li {
	margin-left: 60px;
}
.successive-box-button {
	position: absolute;
	z-index: 4;
	top: calc(50% - 25px);
	width: 50px;
	height: 50px;
	background-color: #115ABF;
	border-radius: 50% 50%;
	background-size: 28px 28px;
	background-repeat: no-repeat;
	background-position: center center;
	cursor: pointer;
	transition: transform .1s ease;
}
.successive-box-button:hover {
	transform: scale(1.1);
}
.successive-box-button.l {
	left: 20px;
	background-image: url(../../common/img/icon_arrow_wl.png);
}
.successive-box-button.r {
	right: 20px;
	background-image: url(../../common/img/icon_arrow_w.png);
}

@media screen and (max-width: 736px) {
.successive {
	margin-top: 0;
}
.successive__title {
	width: 58.66666666666667%;
}
.successive-box {
	padding: 0 13.33333333333333vw;
}
.successive-box:before {
	width: 13.33333333333333%;
	height: 400px;
}
.successive-box:after {
	width: 13.33333333333333%;
	height: 106.6666666666667vw;
}
.successive-list {
	padding: 40px 0;
	width: calc((45.33333333333333vw + 4vw) * 39 - 4vw + 26.66666666666666vw);
}
.successive-list li {
	width: 45.33333333333333vw;
}
.successive-list li + li {
	margin-left: 4vw;
}
.successive-box-button {
	top: calc(50% - 20px);
	width: 40px;
	height: 40px;
	background-size: 20px 20px;
}
.successive-box-button:hover {
	transform: scale(1);
}
.successive-box-button.l {
	left: 10px;
}
.successive-box-button.r {
	right: 10px;
}
}
