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

/* ==========================
.top_visual
============================= */
.mainvisual{
	background: url(../img/mainvisual_bg.png) no-repeat center;
	background-size: cover;
}
/* ==========================
map_list
============================= */
.other_block{
	border-top: 3px solid #393a97;
	margin-bottom: 50px;
	background-color:#ececf0;
	overflow: hidden;
	padding: 30px;
}
.other_top{
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}

.other_top.re{
	flex-direction: row-reverse;
}
.other_img{
	width: 595px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.other_img.bottom_img{
	display: flex;
	align-items: flex-end;
}
.other_txt_box{
	background-color:#383f9a;
	padding: 30px;
	overflow: hidden;
	color: #fff;
	width: 330px;
	min-height: 380px;
	position: relative;
}
.other_txt_box.re{
	right:auto;
	left: 30px;
}

.other_txt_box p.midashi{
	font-size: 160%;
	margin-bottom: 15px;
	
}
.other_txt_box p{
	line-height: 2;
	margin-bottom: 15px;
}
.txt_list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 10px;
}
.txt_list li::after {
  display: block;
  content: '';
  position: absolute;
  top: .6em;
  left: 5px;
  width: 4px;
  height: 4px;
  background-color: #fff;
  border-radius: 50%;
}
.other_merit_wrap{
	background-color:#fff;
	padding: 30px;
	overflow: hidden;
	margin-bottom: 30px;
}

.other_merit_wrap ul{
	display: flex;
	width:100%;
	justify-content: space-between;
	
}
.other_merit_wrap li{
	width: 198px;
	text-align: center;
	font-size: 110%;
	font-weight: bold;
}
.other_merit_wrap li img{
	margin-bottom: 30px;
}
/* ==========================
mv_box
============================= */
.more_btn.blue{
	color: #373f9a;
	background-color: #fff;
	position: absolute;
	bottom: 0;
	width:280px;
}
.more_btn.blue a{
	color: #373f9a;
}
.more_btn.blue .txt{
	background: url(../../../common/img/arrow_icon04.png) no-repeat right center;
	padding-right: 25px;
	
}
.more_btn.blue:hover .txt{
	background: url(../../../common/img/arrow_icon04.png) no-repeat right center;
	padding-right: 25px;
	
}
/* ==========================
.spec_wrap
============================= */
.spec_wrap{
	overflow: hidden;
	margin-bottom: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.spec_box{
	width:360px;
	padding:30px;
	border: 1px solid #ccc;
	margin-bottom: 30px;
}
.spec_midashi{
	background-color:#383f9a;
	color: #fff;
	text-align: left;
	padding: 10px 15px;
	margin-bottom: 30px;
	font-size: 115%;
	font-weight: bold;
}
.num{
	background-color: #fff;
	color: #383f9a;
	width: 30px;
	height: 30px;
	display:inline-block;
	text-align: center;
	margin-right: 10px;
}
.spec_side_box .left_img{
	float: right;
}
.spec_side_box img{
	margin:0.5em 0 0px 30px;
}
.spec_txt p{
		margin-top: -0.5em;
}
.spec_txt p{
	margin-bottom: 30px;
	line-height: 2;
}
.spec_txt p:last-of-type{
	margin-bottom: 0px;
}
.sp_side_box{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.sp_side_box img{
	margin-right: 60px;
}
.spec_lead_txt{
	line-height: 2;
	margin-bottom: 30px;
}
.sp_side_txt{
	
	}
.sp_side_txt p{
	line-height: 2;
	margin-bottom: 30px;
}
.sp_side_txt p:last-of-type{
	margin-bottom: 0px;
}
.txt_list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 10px;
}
.txt_list li::after {
  display: block;
  content: '';
  position: absolute;
  top: .6em;
  left: 5px;
  width: 4px;
  height: 4px;
  background-color: #fff;
  border-radius: 50%;
}


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

/* ==========================
mv_box
============================= */
.other_top {
    display: block;
	}
.other_block{
	padding: 30px 5%;
	}
.other_txt_box {
    padding: 5%;
    width: 90%;
    min-height: 100%;
    position: static;
	margin-bottom: 30px;
	}
.more_btn.blue {
    position: static;
    width: 100%;
	margin-bottom: 0px;
	}
.other_img {
    width: 100%;
    text-align: center;
    display: block;
	}
.other_merit_wrap{
	padding: 5%;
	}
.other_merit_wrap ul {
    flex-wrap: wrap;
	}
.other_merit_wrap ul li{
	width: 48%;
	margin-bottom: 30px;
    font-size: 100%;
    text-align: left;
	}
.other_merit_wrap ul li img{
	margin-bottom: 10px;
	}
.spec_box{
	padding: 5%;
	}
.spec_side_box {
    display: block;
	}
.spec_side_box .left_img {
    text-align: center;
    margin-bottom: 30px;
    float: none;
}
.spec_txt{
	width: 100%;
	}
.spec_side_box img {
        margin-left: 0px;
	}
.sp_side_box {
    display: block;
	}
.sp_side_box img {
    margin-right: 0px;
	}
.other_merit_wrap .left_img{
	text-align: center;
	}
}
@media print {


}
.other_txt_box {
	opacity: 0;
	transform: translateY(40px);
	transition: all 0.8s ease;
}

.other_txt_box.inview {
	opacity: 1;
	transform: translateY(0);
}
.other_merit_wrap ul li img {
	opacity: 0;
	transform: translateY(40px);
	transition: all 0.8s ease;
  }
  
  .other_merit_wrap ul li img.inview {
	opacity: 1;
	transform: translateY(0);
  }
  