/* CSS Document */
#topkeyimg{
	background: #000;
	height: 100vh;
	max-height: 1000px;
}

#topkeyimg .keyimgrap{
	height: 100%;
}

#topkeyimg .keyimgrap .in_rap{
	height: 100%;
	color: #fff;
	font-family: "MS 明朝", serif;
	display: flex;
	justify-content: center;
	align-items: center;
	/*text-shadow: 1px 1px 2px #000;*/
}

/*#topkeyimg .keyimgrap .in_rap .text01{
	border-left: 2px solid #fff;
	padding-left: 15px;
	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 .text02 p{
	line-height: 200%;
}*/

#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 h2 .f30{
	font-size: 28px!important;
}

#s01 .rap01{
	/*display: flex;*/
	margin-bottom: 50px;
}

#s01 .rap01 .box03,
#s01 .rap01 .box02,
#s01 .rap01 .box01{
	/*width : calc(100% / 3) ;*/
	width: 90%;
	margin: auto;
	font-size: 16px;
	text-align: center;
	margin-bottom: 30px;
	position: relative;
}

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

#s01 .rap01 .box01 .img{
	background: url("../img/img01.webp") top left no-repeat;
	background-size: 90%;
}
#s01 .rap01 .box02 .img{
	background: url("../img/img02.webp") top right no-repeat;
	background-size: 90%;
}
#s01 .rap01 .box03 .img{
	background: url("../img/img03.webp") top left no-repeat;
	background-size: 90%;
}



#s01 .rap01 .box03 p,
#s01 .rap01 .box01 p{
-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
text-align: justify;
  column-count: 1;
  column-gap: 1em;
  display: inline-block;
	color: #fff;
	padding:20px;
	background-color: rgba(0,0,0,0.88);
	position: absolute;
	bottom: 0;
	right: 5%;
}

#s01 .rap01 .box02 p{
-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
text-align: justify;
  column-count: 1;
  column-gap: 1em;
  display: inline-block;
	color: #fff;
	padding:20px;
	background-color: rgba(0,0,0,0.88);
	position: absolute;
	bottom: 0;
	left: 5%;
}


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

#s02 .rap04,
#s02 .rap03,
#s02 .rap02,
#s02 .rap01{
	/*height: 600px;*/
	height: 300px;
	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: 16px;
	margin-bottom: 10px;
	line-height: 180%;
	text-shadow: 1px 1px 2px #000;
}

#s02 .rap03 p.f35,
#s02 .rap02 p.f35,
#s02 .rap01 p.f35{
	font-size: 25px;
	/*margin-bottom: 80px;*/
	margin-bottom: 30px;
	line-height: 180%;
	text-shadow: 1px 1px 2px #000;
}

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


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

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

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

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


#news .box_rap .box{
	width: 335px;
    height:auto;
	margin: auto;
	position: relative;
}
#news .box_rap figure{
	margin-bottom: 20px;
}
#news .box_rap .box .img_rap{
	width: 335px;
    height: 252px;
	margin: auto;
	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 figure img{
	width:100%;
	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;
}