header{
   height: 118px;
}
#main_content{
   padding-top: 88px;
}
#main_content.front-page{
   padding-top: 118px;
}
.dotted-list a{
   text-decoration: underline;
   transition: .3s;
}
.dotted-list a:hover{
   filter: alpha(opacity=80);
   -khtml-opacity: 0.8;
   -moz-opacity: 0.8;
   opacity:0.8;
}

#main_content .category-area
#main_content .column-box .news-area{
   max-width: 860px;
}
#main_content .column-box .news-area{
   width: 100%;
   margin: auto;
}
.sub_title-text {
   font-size: 28px;
   text-align: center;
}

.jigyo-all{
   text-align: center;
   padding-bottom: 80px;
}

.rpi-main-visual{
   position: relative;
}
.rpi-main-visual .images{
   position: relative;
   height: 600px;
   text-align: center;
   overflow: hidden;
}
.rpi-main-visual .images .img,
.rpi-main-visual .images img{
   position: absolute;
   top: 0;
   height: 600px;
   width: 100%;
}
.rpi-main-visual .images .img{
   background-color: transparent;
   background-position: center;
   background-size: auto 100%;
			background-repeat: no-repeat;
}
.rpi-main-visual .images .main1{
   animation: fadeIn 2s ease 0s 1 normal;
   -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
.rpi-main-visual .images .main2{
   filter: alpha(opacity=0);
   -khtml-opacity: 0.0;
   -moz-opacity: 0.0;
   opacity:0.0;
   animation: fadeIn 2s ease 2s 1 alternate;
   animation-fill-mode: forwards !important;
   -webkit-animation: fadeIn 2s ease 2s 1 alternate;
}
.rpi-main-visual .copy{
   filter: alpha(opacity=0);
   -khtml-opacity: 0.0;
   -moz-opacity: 0.0;
   opacity:0.0;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   text-align: center;
   color: #fff;
   font-family: "YuMincho +36p Kana","游明朝体+36ポかな","游明朝体","YuMincho","ヒラギノ明朝 ProN","Hiragino Mincho ProN","ＭＳ 明朝","MS Mincho",serif;
   animation-name: copyfadein;
   animation-duration: 1.5s;
   animation-delay: 2s;
   animation-fill-mode: forwards;
   animation-iteration-count: 1;
}
@keyframes copyfadein {
   from {
      opacity: 0;
      transform: translateY(20px);
   }
   to {
      opacity: 1;
      transform: translateY(0);
   }
}
.rpi-main-visual .copy .copy-inner{
   padding-top: 200px;
}
.rpi-main-visual .copy .title-sub{
   font-size: 32px;
   letter-spacing: 10px;
}
.rpi-main-visual .copy .company-name{
   font-size: 48px;
   letter-spacing: 20px;
   margin-top: 50px;
}
.rpi-main-visual .copy .company-name span{
   display: inline-block;
   vertical-align: middle;
   font-size: 32px;
   letter-spacing: 15px;
   margin-right: 0;
}
.rpi-main-visual .copy .company-copy{
   font-size: 20px;
   letter-spacing: 5px;
   margin-top: 30px;
}
.rpi-main-visual .copy .desc-container{
   width: 100%;
}
.rpi-main-visual .copy .desc{
   font-size: 16px;
   font-family: "游ゴシック体","YuGothic","ＭＳ ゴシック","MS Gothic", sans-serif;
   letter-spacing: 5px;
   line-height: 2;
}
.rpi-main-visual .copy .btns{
   margin-top: 25px;
}
.rpi-main-visual .copy .btns .btn{
   background: #023894;
   -webkit-border-radius: 100px;
   -moz-border-radius: 100px;
   border-radius: 100px;
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 18px;
   font-weight: 500;
   padding: 1px 60px 3px 60px;
   transition: .3s;
			color: #fff;
}
.rpi-main-visual .copy .btns .btn:hover{
   color: #fff;
   background: #2475B7;
}

.rpi-main-visual .sp-only.images{
   position: relative;
   width: 100vw;
   height: calc((800/820)*100vw);
   text-align: center;
   overflow: hidden;
}
.rpi-main-visual .sp-only.images .img,
.rpi-main-visual .sp-only.images img{
   position: absolute;
   top: 0;
   left: 0;
   height: auto;
   width: 100%;
}

.category-list a{
   transition: .3s;
}
.category-list a:hover{
   filter: alpha(opacity=80);
   -khtml-opacity: 0.8;
   -moz-opacity: 0.8;
   opacity:0.8;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@media screen and (max-width: 780px) {
   #main_content, .sub_title-area{
      padding-top: 100px;
   }
   .rpi-main-visual .copy .copy-inner{
      padding-top: 120px;
   }
   .rpi-main-visual .copy .title-sub{
      font-size: 20px;
      letter-spacing: 8px;
   }
   .rpi-main-visual .copy .company-name{
				margin-top: 5%;
   }
			.rpi-main-visual .copy .company-name img {
				width: 30%;
   }
   .rpi-main-visual .copy .company-name span{
      display: block;
      font-size: 20px;
      letter-spacing: 10px;
      padding-bottom: 12px;
   }
   .rpi-main-visual .copy .company-copy{
      font-size: 13px;
      letter-spacing: 4px;
      margin-top: 15px;
   }
   .rpi-main-visual .copy .desc-container{
      width: 100%;
   }
   .rpi-main-visual .copy .desc{
      font-size: 12px;
      letter-spacing: 1px;
      line-height: 1.6;
   }
   .rpi-main-visual .copy .btns{
      margin-top: 3vw;
   }
			.rpi-main-visual .copy .btns .btn{
				font-size: 1.5vw;
				padding: 1px 10% 3px 10%;
				color: #fff;
			}
}

@media screen and (max-width: 480px) {
   #main_content, .sub_title-area{
      padding-top: 118px;
   }
   .sub_title-text{
      font-size: 20px;
   }
}

@media screen and (max-width: 380px) {
   .sub_title-text{
      font-size: 20px;
   }
}