@charset "UTF-8";
.p-mv{
 margin-top:80px;
 margin-bottom:120px;
 position: relative;
}
@media screen and (max-width: 768px){
 .p-mv{
   margin-top:50px;
   margin-bottom:50px;
  }
}
.mv-text-area{
 position:absolute;
 max-width:1000px;
 width: 100%;
 top: 181px;
 left: calc((100% - 1000px)/2);
 z-index:2;
}
@media screen and (max-width: 768px){
 .mv-text-area{
  position:absolute;
  max-width:initial;
  width: 100%;
  top: 0;
  left: 0;
  z-index:2;
  padding:50px 20px 0;
 }
 
}

.mv-text-area .scroll{
 display:block;
 margin-top:20px;
 position:relative;
}
@media screen and (max-width: 768px){
 .mv-text-area .scroll{
  margin-top:248px;
 }
}

.mv-text-area .scroll::after {
    content: "";
    position: absolute;
    top: 0;
    left: -4px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #E62334;
    animation: scrollmove 1.6s ease-in-out infinite, 
    scrollmovehide 1.6s ease-out infinite;
}

@keyframes scrollmove{
      0%{top:0px;}
     100%{top:calc(100% - 10px);}
}

@keyframes scrollmovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
}

.main{
 width:100%;
}

.main .about{
 background:url(/materials/common/img/about-img.jpg);
 background-size: 950px 560px;
 background-position: right top;
 background-repeat: no-repeat;
 min-height: 560px;
 margin-bottom:80px;
 position: relative;
}
@media screen and (max-width: 768px){
 .main .about{
   background:url(/materials/common/img/about-img-sp.jpg);
   background-size: contain;
   background-repeat: no-repeat;
   margin-bottom:40px;
  }
}
.main .about::before{
 content:url(/materials/common/img/about-before-img.png);
 transform: scale(0.5);
 transform-origin: 0 0;
 position: absolute;
 top:0;
 left:-16px;
}
@media screen and (max-width:1400px){
 .main .about::before{
  top:-10px;
  left:-56px;
 }
}
@media screen and (max-width:1300px){
 .main .about::before{
  top:-40px;
  left:-80px;
 }
}
@media screen and (max-width:1200px){
 .main .about::before{
  top:-60px;
  left:-100px;
 }
}
@media screen and (max-width: 1100px){
 .main .about::before{
  content:none;
 }
}
.main .inner{
 max-width:1000px;
 width:100%;
 margin: 0 auto;
 padding-top:60px;
}
@media screen and (max-width: 768px){
 .main .inner{
   padding:282px 15px 0;
   
  }
 .about .inner-text{
  position:relative;
 }
 .about .inner-text::before{
   content:url(/materials/common/img/about-before-img-sp.png);
   transform: scale(0.5);
   transform-origin: 100% 0;
   display:block;
   position: absolute;
   top:-22px;
   right:-15px;
  }
}

.main .service{
 background:url(/materials/common/img/service-img.jpg);
 background-size: 950px 560px;
 background-position: left top;
 background-repeat: no-repeat;
 min-height: 560px;
 margin-bottom:80px;
 position: relative;
}

@media screen and (max-width: 768px){
 .main .service{
  background:url(/materials/common/img/service-img-sp.jpg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-bottom:40px;
  }
}
.main .service .inner::after{
 content:url(/materials/common/img/service-before-img.png);
 transform: scale(0.5);
 transform-origin: 0 0;
 position: absolute;
 top:0;
 right:-370px;
}

@media screen and (max-width: 768px){
.main .service .inner::after{
 content:none;
 }
.main .service .inner-text{
 position:relative;
}
.main .service .inner-text::before{
 content:url(/materials/common/img/service-before-img-sp.png);
 transform: scale(0.5);
 transform-origin: 100% 0;
 display: block;
 position: absolute;
 top: -10px;
 right: -15px;
}
 
}
.inner-text{
 background:#fff;
 max-width:525px;
 width:100%;
 border-radius:10px;
 padding:60px 90px 60px 0;
}
@media screen and (max-width: 768px){
 .inner-text{
   max-width:initial;
   border-radius:10px 0 0;
   padding:36px 30px 40px;
  }
}
.about .std_btn a{
 margin-left:0; 
}


.service .inner{
 position: relative;
}
@media screen and (max-width: 768px){
 .service .inner{
  padding:282px 15px 0;
 }
}
.service .inner-text{
 margin-left:auto;
 padding:60px;

}

@media screen and (max-width: 768px){
 .service .inner-text{
   max-width:initial;
   border-radius:10px 0 0;
   padding:36px 30px 40px;
  }
}

.inner-text-title{
 margin-bottom:40px;
}
@media screen and (max-width: 768px){
 .inner-text-title{
  transform: scale(0.9);
  margin-bottom: 20px;
 }
}
.h2-title-text{
 font-size:36px;
 line-height:1.8;
 margin-bottom:50px;
}
@media screen and (max-width: 768px){
 .h2-title-text{
  font-size:28px;
  line-height:1.6;
  margin-bottom:30px;
 }
}
.inner-text > .text{
 font-size:16px;
 line-height:1.6; 
 margin-bottom:40px;
}
@media screen and (max-width: 768px){
 .inner-text > .text{
  margin-bottom:30px;
 }

}

/* info
---------------------- */
.main .info{
 background:#F9E7E0;
 border-radius:183px 0 0;
 padding:100px 0 ;
}
.main .info .h2-title-text{
 line-height:1;
}
@media screen and (max-width: 768px){
 .main .info{
 border-radius:74px 0 0;
 padding:56px 0 70px;
 }
 .main .info .h2-title-text{
 line-height:1;
 }
}

.info .inner{
 text-align:center;
 padding-bottom:0;
}
@media screen and (max-width: 768px){
 .main .info .inner{
  padding: 0 25px 0;
 }
}
.info .inner-text-title{
 display:block;
 margin:0 auto 33px;
}

@media screen and (max-width: 768px){
 .info .inner-text-title{
  margin:0 auto 22px;
 }

}

.infomations{
 background:#fff;
 border-radius:10px 0 0 10px;
 text-align:left;
 padding:0 40px 0;
 /* height:302px; */
 /* height:210px; 2件表示時*/
 height:82px;/* 1件表示時*/
 overflow-y: hidden;
}

@media screen and (max-width: 768px){
 .infomations{
  padding:20px 20px 0;
  height:9rem;/* 1件表示時*/
 }
 
}

.infomations .news{
 display:flex;
 font-size:16px;
 border-bottom:1px solid #ddd;
 padding:30px 10px;
}
.infomations .news{  border-bottom:none; }/* 1件表示時*/

@media screen and (max-width: 768px){
 .infomations .news{
  display:block;
  padding:23px 0px 20px;
 }
}
.infomations .news a{
 text-decoration: underline;
}
.infomations .news dt{
 margin-right:38px;
}