/* CSS Document */
#topkeyimg{
	background: url("../img/mv.webp") center center no-repeat;
	background-size: cover;
	height: calc(100vh - 115px);
	max-height: 1000px;
}



#topkeyimg .keyimgrap{
	/*max-width: 1200px;
	min-width: 920px;*/
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}

#topkeyimg .key_logo{
	width: 220px;
    height: auto;
    padding-top: 45px;
    margin-right: 70px;
}

#topkeyimg .keyimgrap .in_rap{
	height: 120px;
	color: #fff;
	font-family: "MS 明朝", serif;
	text-shadow: 1px 1px 2px #000;
}

/*#topkeyimg .keyimgrap .in_rap .text01{
	border-left: 2px solid #fff;
	padding-left: 35px;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-bottom: 30px;
}

#topkeyimg .keyimgrap .in_rap .text01 p{
	margin-bottom: 15px;
}

#topkeyimg .keyimgrap .in_rap .text02{
	font-size: 20px;
}*/

#topkeyimg .keyimgrap .in_rap .text03{
	margin: auto;
	text-align:center; 
	opacity: 0;
	animation: 1.5s fadeup ease-in-out forwards;
}

#topkeyimg .keyimgrap .in_rap .text03 img{
	width: 60%;
	height: auto;
	margin-bottom: 40px;
}
@keyframes fadeup {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@-webkit-keyframes fadeup {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

#s01{
	padding-top: 50px;
	margin-bottom: 50px;
}

#s01 h2{
	text-align: center;
	margin-bottom: 50px;
}

#s01 h2 hr{
	border-left: 1px solid #000;
	width: 0;
	height: 60px;
	margin: auto;
	margin-bottom: 15px;
}

#s01 h2 small{
	font-size: 20px;
	display: inline-block;
	margin-bottom: 15px;
}

#s01 .rap01{
	display: flex;
	margin-bottom: 100px;
}

#s01 .rap01 .box03,
#s01 .rap01 .box02,
#s01 .rap01 .box01{
	width : calc(100% / 3) ;
	text-align: center;
	font-size: 20px;
}

#s01 .rap01 .box03 .img,
#s01 .rap01 .box02 .img,
#s01 .rap01 .box01 .img{
	height: 390px;
	margin-bottom: 35px;
}

#s01 .rap01 .box01 .img{
	background: url("../img/img01.webp") center center no-repeat;
	background-size: cover;
}
#s01 .rap01 .box02 .img{
	background: url("../img/img02.webp") center center no-repeat;
	background-size: cover;
}
#s01 .rap01 .box03 .img{
	background: url("../img/img03.webp") center center no-repeat;
	background-size: cover;
}

#s01 .rap02 a{
	display: block;
	width: 400px;
	height: 90px;
	border: 1px solid #000;
	margin: auto;
	line-height: 90px;
	text-align: center;
	font-weight: bold;
	background: url( "../img/arrow02_b.svg") center right 30px no-repeat;
	background-size: 9px;
}

#s02 .rap04,
#s02 .rap03,
#s02 .rap02,
#s02 .rap01{
	height: 600px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	text-align: center;
	margin-bottom: 5px;
}


#s02 .rap03 p.f22,
#s02 .rap02 p.f22,
#s02 .rap01 p.f22{
	font-size: 22px;
	margin-bottom: 35px;
	line-height: 180%;
	text-shadow: 1px 1px 2px #000;
}


#s02 .rap03 p.f35,
#s02 .rap02 p.f35,
#s02 .rap01 p.f35{
	font-size: 35px;
	margin-bottom: 80px;
	text-shadow: 1px 1px 2px #000;
}

#s02 .rap04 a,
#s02 .rap03 a,
#s02 .rap02 a,
#s02 .rap01 a{
	display: block;
	color: #fff;
	width: 400px;
	height: 90px;
	border: 1px solid #fff;
	margin: auto;
	line-height: 90px;
	text-align: center;
	font-weight: bold;
	background: url("../img/arrow02.svg") center right 30px no-repeat;
	background-size: 9px;
}


#s02 .rap01{
	background: url("../img/img04.webp") center center no-repeat;
	background-size: cover;
}

#s02 .rap02{
	background: url("../img/img05.webp") center center no-repeat;
	background-size: cover;
}

#s02 .rap03{
	background: url("../img/img06.webp") center center no-repeat;
	background-size: cover;
}

#s02 .rap04{
	background: url("../img/img07.webp") center center no-repeat;
	background-size: cover;
}



#news .box_rap{
	max-width: 1050px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#news .box_rap .box{
	width: 500px;
	margin-bottom: 35px;
	position: relative;
}

#news .box_rap .box .img_rap{
	width: 500px;
	height: 350px;
	overflow: hidden;
	filter: grayscale(1);
	background: url("../img/logo02.webp") center center no-repeat #ddd;
}

#news .box_rap .box a:hover .img_rap{
	filter: grayscale(0);
}

#news .box_rap .box .img_rap img{
	width: 500px;
	height: auto;
}

#news .box_rap .box .cat{
	position: absolute;
	top: 0;
	left: 0;
	background: #000;
	padding: 5px;
	padding-left: 15px;
	padding-right: 15px;
}

#news .box_rap .box .cat a{
	color: #fff;
	font-size: 14px;
}
#news .box_rap .box figure{
	position: relative;
}


#news .box_rap .box figcaption{
	  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	position: absolute;
	top: 25px;
	right: 20px;
	background-color: rgba(255,255,255,0.5);
	padding: 15px;
	font-size: 14px;
}