/* CSS Document */

#topkeyimg{
	background: url("../img/mv.webp");
	background-size: cover;
	height: 80vh;
	max-height: 1000px;
	display: flex;
	align-items: center;
}

#topkeyimg div{
	max-width: 1200px;
	min-width: 1000px;
	margin: auto;
}

#topkeyimg div .f38{
	color: #fff;
	font-size: 38px;
	line-height: 180%;
	margin-bottom: 20px;
}

#topkeyimg div .f25{
	color: #fff;
}

#news{
	padding-top: 35px;
	padding-bottom: 35px;
}

#news .rap{
	width: 1100px;
	margin: auto;
	margin-top: -40px;
}

#news h2{
	width: 135px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	background: #0059B2;
	color: #fff;
	margin-left: 35px;
	margin-bottom: 30px;
}

#news hr{
	border-bottom: 1px solid #0059B2;
}


#news dt{
	padding: 15px;
	padding-left: 35px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 15px;
	position: relative;
	/*cursor: pointer;*/
}
/*
#news dt:after {
  content: "";
  border-top: 3px solid #FF9326;
  border-left: 3px solid #FF9326;
  display: inline-block;
  width: 15px;
  height: 15px;
  transform: rotate(-135deg) translateY(9px);
  position: absolute;
  right: 20px;
  top: 50%;
  transition: transform .4s;
}


*/

#news dt em{
	padding-right: 30px;
}

#news dd{
	padding: 35px;
	padding-top: 15px;
	padding-bottom: 25px;
}

#news dd.is-open{
  display: block;
}

#news dt.is-open::after {
  transform: rotate(45deg) translateY(-10px);

}


#s01{
	background: url("../img/bg01.webp");
	background-size: cover;
	margin-top: 50px;
	padding-top: 50px;
	padding-bottom: 50px;
	margin-bottom: 50px;
}

#s01 .h{
	display: flex;
	align-items: center;
	margin-bottom: 50px;
}

#s01 .h hr{
	border-bottom: 2px solid #fff;
	flex-grow: 1;
	margin-bottom: 2px;
}

#s01 .h hr:last-child{
	width: 40%;
}

@media screen and (max-width: 1200px){
#s01 .h hr:last-child{
	width: 800px;
}
}


#s01 .h .inh{
	width: 280px;
	text-align: center;
	color: #fff;
	position: relative;
}

#s01 .h .inh h2{
	font-size: 30px;
	justify-content: space-between;
	position: relative;
	padding-top: 25px;
}

#s01 .h .inh .ql{
	background: url("../img/brackets01.svg") left center no-repeat;
	background-size: 30px;
	width: 30px;
	height: 60px;
	display: inline-block;
	position: absolute;
	left: 0;
	top: 5px;
}

#s01 .h .inh .qr{
	background: url("../img/brackets02.svg") right center no-repeat;
	background-size: 30px;
	width: 30px;
	height: 60px;
	display: inline-block;
	position: absolute;
	right: 0;
	top: 5px;
}

#s01 .h .inh small{
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
}

#s01 .box_rap{
	display: flex;
	justify-content: space-between;
	width: 1150px;
	margin: auto;
}

#s01 .box_rap .box{
	color: #fff;
	width: 430px;
}

#s01 .box_rap .img{
	margin-top: -100px;
}

#s01 .box_rap .f20{
	font-size: 20px;
	font-weight: bold;
	line-height: 180%;
	margin-bottom: 30px;
}

#s01 .box_rap .f16{
	margin-bottom: 30px;
}

#s01 .box_rap .box a{
	width: 205px;
	height: 60px;
	display: block;
	padding-right:95px; 
	background: url("../img/arrow02.webp") 205px 22px no-repeat #FF9326;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 60px;
    transition: 0.2s ;
}

 #s01 .box_rap .box a:hover{
      background: url("../img/arrow02.webp") 205px 22px no-repeat #0059B2;
}
   
#s02{
	background: url("../img/bg02.webp") left;
	background-size: cover;
	margin-top: 50px;
	padding-top: 50px;
	padding-bottom: 50px;
}

#s02 .h{
	display: flex;
	align-items: center;
	margin-bottom: 50px;
}

#s02 .h hr{
	border-bottom: 2px solid #fff;
	flex-grow: 1;
	margin-bottom: 2px;
}

#s02 .h hr:first-child{
	width: 40%;
}

@media screen and (max-width: 1200px){
#s02 .h hr:first-child{
	width: 600px;
}
}


#s02 .h .inh{
	width: 280px;
	text-align: center;
	color: #fff;
	position: relative;
}

#s02 .h .inh h2{
	font-size: 30px;
	justify-content: space-between;
	position: relative;
	padding-top: 25px;
}

#s02 .h .inh .ql{
	background: url("../img/brackets01.svg") left center no-repeat;
	background-size: 30px;
	width: 30px;
	height: 60px;
	display: inline-block;
	position: absolute;
	left: 0;
	top: 5px;
}

#s02 .h .inh .qr{
	background: url("../img/brackets02.svg") right center no-repeat;
	background-size: 30px;
	width: 30px;
	height: 60px;
	display: inline-block;
	position: absolute;
	right: 0;
	top: 5px;
}

#s02 .h .inh small{
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	letter-spacing: 0.01em;
}

#s02 .box_rap{
	display: flex;
	justify-content: space-between;
	width: 1150px;
	margin: auto;
	flex-direction: row-reverse;
}

#s02 .box_rap .box{
	width: 430px;
	color: #fff;
}

#s02 .box_rap .img{
	margin-top: -100px;
}

#s02 .box_rap .box .f20{
	font-size: 20px;
	font-weight: bold;
	line-height: 180%;
	margin-bottom: 30px;
}

#s02 .box_rap .f16{
	margin-bottom: 30px;
}

#s02 .box_rap .box a{
	width: 205px;
	height: 60px;
	display: block;
	padding-right:95px; 
	background: url("../img/arrow02.webp") 205px 22px no-repeat #FF9326;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 60px;
    transition: 0.2s ;
}

 #s02 .box_rap .box a:hover{
      background: url("../img/arrow02.webp") 205px 22px no-repeat #0059B2;
}

#s03{
	background: url("../img/bg03.webp") no-repeat;
	background-size: cover;
	background-attachment: fixed;
	padding-top: 150px;
	padding-bottom: 150px;
}

#s03 .h{
	display: flex;
	align-items: center;
	margin-bottom: 50px;
	z-index: 10;
	position: relative;
}

#s03 .h hr{
	border-bottom: 2px solid #0059B2;
	flex-grow: 1;
	margin-bottom: 2px;
}

#s03 .h hr:last-child{
	width: 40%;
}

@media screen and (max-width: 1200px){
#s03 .h hr:last-child{
	width: 600px;
}
}


#s03 .h .inh{
	width: 430px;
	text-align: center;
	color: #0059B2;
	position: relative;
}

#s03 .h .inh h2{
	font-size: 30px;
	justify-content: space-between;
	position: relative;
	padding-top: 25px;
	font-weight: bold;
}

#s03 .h .inh .ql{
	background: url("../img/brackets03.svg") left center no-repeat;
	background-size: 30px;
	width: 30px;
	height: 60px;
	display: inline-block;
	position: absolute;
	left: 0;
	top: 5px;
}

#s03 .h .inh .qr{
	background: url("../img/brackets04.svg") right center no-repeat;
	background-size: 30px;
	width: 30px;
	height: 60px;
	display: inline-block;
	position: absolute;
	right: 0;
	top: 5px;
}

#s03 .rap{
	width: 1050px;
	margin: auto;
	position: relative;
}

#s03 .rap .bg{
	width: 800px;
	height: 600px;
	background: #ddd;
	transform: rotate(-2deg);
	position: absolute;
	top: -150px;
	left: -100px;
	z-index: 0;
}

#s03 .rap .box{
	position: relative;
	z-index: 10;
}

#s03 .rap .box .f30{
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 20px;
}

#s03 .rap .box .f25{
	margin-bottom: 30px;
}

#s03 .rap .box .box_rap{
	display: flex;
	justify-content: space-between;
	width: 600px;
}

#s03 .rap .box .box_rap li{
	margin-bottom: 15px;
}

#s03 .rap .box .box_rap .obj01 a{
	width: 205px;
	height: 60px;
	display: block;
	padding-right:95px; 
	background: url("../img/arrow02.webp") 205px 22px no-repeat #0059B2;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 60px;
    transition: 0.2s ;
}

#s03 .rap .box .box_rap .obj01 a:hover{
      background: url("../img/arrow02.webp") 205px 22px no-repeat #FF9326;
}

#s03 .rap .box .box_rap .obj02 a{
	width: 300px;
	height: 60px;
	display: block; 
	background: #FF9326;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 60px;
    transition: 0.2s ;
}

#s03 .rap .box .box_rap .obj02 a:hover{
      background: #0059B2;
}

#s04{
	background: url("../img/bg04.webp") center no-repeat;
	background-size:cover;
	padding-top: 100px;
	padding-bottom: 50px;
	margin-bottom: 150px;
}

#s04 .h{
	display: flex;
	align-items: center;
	margin-bottom: 50px;
}

#s04 .h hr{
	border-bottom: 2px solid #fff;
	flex-grow: 1;
	margin-bottom: 2px;
}

#s04 .h hr:last-child{
	width: 40%;
}

@media screen and (max-width: 1200px){
#s04 .h hr:last-child{
	width: 800px;
}
}


#s04 .h .inh{
	width: 280px;
	text-align: center;
	color: #fff;
	position: relative;
}

#s04 .h .inh h2{
	font-size: 30px;
	justify-content: space-between;
	position: relative;
	padding-top: 25px;
}

#s04 .h .inh .ql{
	background: url("../img/brackets01.svg") left center no-repeat;
	background-size: 30px;
	width: 30px;
	height: 60px;
	display: inline-block;
	position: absolute;
	left: 0;
	top: 5px;
}

#s04 .h .inh .qr{
	background: url("../img/brackets02.svg") right center no-repeat;
	background-size: 30px;
	width: 30px;
	height: 60px;
	display: inline-block;
	position: absolute;
	right: 0;
	top: 5px;
}

#s04 .h .inh small{
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
}

#s04 .box_rap{
	width: 1150px;
	margin: auto;
	display: flex;
	justify-content: space-between;
}

#s04 .box_rap .box{
	width: 480px;
	color: #fff;
	padding-top: 50px;
}

#s04 .box_rap .img{
	margin-top: -100px;
}

#s04 .box_rap .box p{
	line-height: 200%;
	margin-bottom: 50px;
}

#s04 .box_rap .box a{
	width: 205px;
	height: 60px;
	display: block;
	padding-right:95px; 
	background: url("../img/arrow02.webp") 205px 22px no-repeat #FF9326;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 60px;
    transition: 0.2s ;
}

 #s04 .box_rap .box a:hover{
      background: url("../img/arrow02.webp") 205px 22px no-repeat #0059B2;
}


