@charset "utf-8";
/* CSS Document */

/* ==========================
.top_visual
============================= */
.mainvisual {
    position: relative; /* ::before の絶対配置の基準にする */
	overflow: hidden;
}

.mainvisual::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: url(../img/mainvisual_bg.png) no-repeat center;
    background-size: cover;
    z-index: -1;
    animation: zoom 20s linear infinite;
}

/* ゆっくり拡大するアニメーション */
@keyframes zoom {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.1); }
    100% { transform: scale(1); }
}

/* ==========================
map_list
============================= */
.top_img{
	/*background: url(../img/main_bg1.png) no-repeat center;*/
	background-size: cover;
	padding: 30px 0;
	text-align: center;
}
/* ==========================
bnr_wrap
============================= */
.bnr_wrap{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 920px;
	margin: auto;
}
.bnr_box{
	width: 440px;
	border-top: 3px solid #384095;
	margin-bottom: 35px;
}
.bnr_box.wide{
	width: 100%;
}

.bnr_txt_box{
	background-color: #fff;
	padding: 30px;
}
.bnr_txt_box .title{
	text-align: center;
	color: #373f9a;
	font-size: 160%;
	margin-bottom: 30px;
	font-weight: bold;
}
.bnr_txt_box .txt{
	margin-bottom: 30px;
	line-height: 2;
}

/* 初期状態: 下にずらして透明 */
.bnr_box {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

  /* スクロールで表示された時の状態 */
.bnr_box.visible {
	opacity: 1;
	transform: translateY(0);
}

@media screen and ( max-width: 767px ){

/* ==========================
mv_box
============================= */
.top_img{
	padding: 30px 5%;
	}
.bnr_txt_box{
	padding: 5%;
	}
}
@media print {


}
