@-webkit-keyframes imageSlideCrossFade{
	25%{
		opacity: 1;
	}
	40%{
		opacity: 0;
	}
}

@keyframes imageSlideCrossFade{
	25%{
		opacity: 1;
	}
	40%{
		opacity: 0;
	}
}

@media all and (min-width: 769px){
	.message-index .page-title{
		background-image: url(../img/pc/_pag_ttl_bg.jpg);
	}
	.message-index main{
		padding: 73px 0 85px 0;
	}
	.message-index main .main-title{
		padding: 0 0 36px 0;
	}
	.message-index main .main-title .sub{
		position: relative;
		height: 95px;
		margin: 0 0 30px 0;
		color: #cccccc;
		font-family: 'Noto Serif JP', serif;
		font-size: 42px;
		font-weight: 400;
		text-align: center;
		line-height: 95px;
		letter-spacing: 0.032em;
	}
	.message-index main .main-title .sub:after{
		display: block;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		width: 60px;
		height: 2px;
		margin: auto;
		background: #cccccc;
		content: '';
	}
	.message-index main .main-title h1{
		height: 74px;
		color: #333333;
		font-family: 'Noto Serif JP', serif;
		font-size: 56px;
		font-weight: 400;
		text-align: center;
		line-height: 74px;
		letter-spacing: 0.032em;
	}
	.message-index main .main-title h1 em{
		color: #e44b00;
	}
	.message-index main .lead{
		margin: 0 0 100px 0;
	}
	.message-index main .lead p{
		font-family: 'Noto Serif JP', serif;
		font-size: 18px;
		font-weight: 400;
		text-align: center;
		line-height: 40px;
		letter-spacing: 0.048em;
	}
	.message-index main .top-message{
		width: 1160px;
		margin: 0 auto 0 auto;
	}
	.message-index main .top-message .section-title{
		margin: 0 0 70px 0;
	}
	.message-index main .top-message .section-title .image{
		position: relative;
		z-index: 0;
	}
	.message-index main .top-message .section-title .image img{
		width: 100%;
	}
	.message-index main .top-message .section-title .caption{
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		position: relative;
		z-index: 1;
		width: 520px;
		height: 220px;
		margin: -110px auto 0 auto;
		background: rgba(0, 78, 162, 0.9);

		-webkit-align-items: center;
		        align-items: center;
		-webkit-box-align: center;
		-webkit-box-lines: multiple;
		   -moz-box-lines: multiple;
		-webkit-box-pack: center;
		-ms-flex-align: center;
		-ms-flex-pack: center;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-justify-content: center;
		        justify-content: center;
	}
	.message-index main .top-message .section-title .caption >.wrap h2{
		position: relative;
		height: 70px;
		margin: 0 0 24px 0;
		color: #ffffff;
		font-family: 'Bree Serif', serif;
		font-size: 32px;
		font-weight: normal;
		text-align: center;
		line-height: 70px;
		letter-spacing: 0.032em;
	}
	.message-index main .top-message .section-title .caption >.wrap h2:after{
		display: block;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		width: 50px;
		height: 2px;
		margin: auto;
		background: #ffffff;
		content: '';
	}
	.message-index main .top-message .section-title .caption >.wrap .sub{
		height: 46px;
		color: #ffffff;
		font-family: 'Noto Serif JP', serif;
		font-size: 32px;
		font-weight: 400;
		text-align: center;
		line-height: 30px;
		letter-spacing: 0.032em;
	}
	.message-index main .top-message .section-title .caption >.wrap .sub span{
		display: inline-block;
		margin: 0 15px 0 0;
		font-size: 18px;
		vertical-align: middle;
	}
	.message-index main .top-message >.body h3{
		margin: 0 0 21px 0;
		color: #333333;
		font-family: 'Noto Serif JP', serif;
		font-size: 30px;
		font-weight: 400;
		line-height: 48px;
		letter-spacing: 0.048em;
	}
	.message-index main .top-message >.body p{
		margin: 0 0 10px 0;
		color: #333333;
		font-size: 16px;
		text-indent: 1em;
		line-height: 34px;
		letter-spacing: 0.048em;
	}
	.message-index main .top-message >.body p +p{
		margin-top: 0.5em;
	}
	.message-index main .top-message >.body .sign p{
		margin-bottom: 0;
		text-align: right;
	}
}

@media all and (max-width: 768px){
	.message-index .page-title{
		background-image: url(../img/sp/_pag_ttl_bg.jpg);
	}
	.message-index main{
		padding: 9.33333vw 0 9.33333vw 0;
	}
	.message-index main .main-title{
		padding: 0 0 4.8vw 0;
	}
	.message-index main .main-title .sub{
		position: relative;
		height: 14.4vw;
		margin: 0 0 3.6vw 0;
		color: #cccccc;
		font-family: 'Noto Serif JP', serif;
		font-size: 6.4vw;
		font-weight: 400;
		text-align: center;
		line-height: 14.4vw;
		letter-spacing: 0.032em;
	}
	.message-index main .main-title .sub:after{
		display: block;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		width: 8vw;
		height: 0.26667vw;
		margin: auto;
		background: #cccccc;
		content: '';
	}
	.message-index main .main-title h1{
		height: 10.13333vw;
		color: #333333;
		font-family: 'Noto Serif JP', serif;
		font-size: 7.2vw;
		font-weight: 400;
		text-align: center;
		line-height: 10.13333vw;
	}
	.message-index main .main-title h1 em{
		color: #e44b00;
	}
	.message-index main .lead{
		width: 84vw;
		margin: 0 auto 14.66667vw auto;
	}
	.message-index main .lead p{
		font-family: 'Noto Serif JP', serif;
		font-size: 3.46667vw;
		font-weight: 400;
		text-align: center;
		line-height: 6.4vw;
		letter-spacing: 0;
	}
	.message-index main .top-message{
		width: 92vw;
		margin: 0 auto 0 auto;
	}
	.message-index main .top-message .section-title{
		margin: 0 0 8.66667vw 0;
	}
	.message-index main .top-message .section-title .image{
		position: relative;
		z-index: 0;
	}
	.message-index main .top-message .section-title .image img{
		width: 100%;
	}
	.message-index main .top-message .section-title .caption{
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		position: relative;
		z-index: 1;
		width: 69.33333vw;
		height: 29.33333vw;
		margin: -5.33333vw auto 0 auto;
		background: rgba(0, 78, 162, 0.9);

		-webkit-align-items: center;
		        align-items: center;
		-webkit-box-align: center;
		-webkit-box-lines: multiple;
		   -moz-box-lines: multiple;
		-webkit-box-pack: center;
		-ms-flex-align: center;
		-ms-flex-pack: center;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-justify-content: center;
		        justify-content: center;
	}
	.message-index main .top-message .section-title .caption >.wrap h2{
		position: relative;
		height: 14.66667vw;
		margin: 0 0 3.06667vw 0;
		color: #ffffff;
		font-family: 'Bree Serif', serif;
		font-size: 5.06667vw;
		font-weight: normal;
		text-align: center;
		line-height: 14.66667vw;
		letter-spacing: 0.032em;
	}
	.message-index main .top-message .section-title .caption >.wrap h2:after{
		display: block;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		width: 6.66667vw;
		height: 0.26667vw;
		margin: auto;
		background: #ffffff;
		content: '';
	}
	.message-index main .top-message .section-title .caption >.wrap .sub{
		height: 6.93333vw;
		color: #ffffff;
		font-family: 'Noto Serif JP', serif;
		font-size: 5.06667vw;
		font-weight: 400;
		text-align: center;
		line-height: 6.93333vw;
		letter-spacing: 0.032em;
	}
	.message-index main .top-message .section-title .caption >.wrap .sub span{
		display: inline-block;
		margin: 0 2.4vw 0 0;
		font-size: 2.93333vw;
		vertical-align: middle;
	}
	.message-index main .top-message >.body h3{
		margin: 0 0 2.66667vw 0;
		color: #333333;
		font-family: 'Noto Serif JP', serif;
		font-size: 5.06667vw;
		font-weight: 400;
		line-height: 8vw;
		letter-spacing: 0;
	}
	.message-index main .top-message >.body p{
		margin: 0 0 1.33333vw 0;
		color: #333333;
		font-size: 3.46667vw;
		text-indent: 1em;
		line-height: 6.13333vw;
		letter-spacing: 0.048em;
	}
	.message-index main .top-message >.body p +p{
		margin-top: 0.5em;
	}
	.message-index main .top-message >.body .sign p{
		margin-bottom: 0;
		text-align: right;
	}
}
