

#index{
  overflow: hidden;
}


/*-----------------------------------main
*/

.logo_header{
  position: fixed;
  top:50%;
  right: 0;
  transform: translate(0%,-50%);
  z-index: 1002;

}

.limg{
  position: absolute;
  bottom: -390px;
  left: 0;
  z-index: 0;
}

.contact_header.pc{
  position: fixed;
  top:35px;
  left: 50%;
  margin-left: -500px;
  z-index: 1002;
}

.contact_header.sp{
  position: fixed;
  width: 100%;
  top:27px;
  left: 0px;
  z-index: 999;
}

.main_visual{
  width: 100vw;
  height: auto;
  position: relative;
  /*background: url(../img/top/main.png) no-repeat center center;
  background-size: 1900px;
  */
}
.main_box{
  width: 100vw;
  height: 1588px;
  top:0;
  left: 0;
}


.main_visual .main_visual_img{
  position: absolute;
  top:0%;
  left: 50%;
  width: 50vw;
  height: 1588px;
  background: url(../img/index/p1.jpg) no-repeat top right;
  background-attachment: fixed;
  background-size:50% auto;

  margin-top: 100px;
  margin-left: 0px
}

@-moz-document url-prefix() {
    .main_visual .main_visual_img {
          background-size:100% auto;
    }
}
.main_visual_text{
  position: absolute;
  top:183px;
  left: 50%;
  margin-left: -500px;
}
.main_visual_text .h1{
  font-size: 5.8rem;
  letter-spacing: -2.9px;
  margin-bottom: 322px;
}

.main_visual_text .h2{
  font-size: 4rem;
  letter-spacing: -2.9px;
}

.main_visual_text .h3{
  font-size: 2rem;
  letter-spacing: 0px;
  line-height: 2;
}

.main_visual .scroll {
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,-50%);
}
.main_visual .scroll a {
	padding-bottom: 62px;
	display: inline-block;
	font-weight: 700;
	position: relative;
	letter-spacing: 0.06em;
}
.main_visual .scroll a:before {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 1px;
	height: 46px;
	background: rgba(42,42,42,1);
	content: "";
}

.main_visual .scroll a:hover {
	opacity: 0.5;
}
.main_visual .scroll a::after {
    width: 1px;
    height: 46px;
    position: absolute;
    left: 50%;
    bottom: 0;
  background: #DADFE7;
    content: '';
    animation-name: anime1;
    animation-duration: 2s;
    animation-timing-function: ease;
    animation-iteration-count: infinite;
  }

  @keyframes anime1 {
  0% {
    transform: scaleY(0);
  transform-origin: top;
  }

  50% {
  transform: scaleY(1);

  transform-origin: top;
  }
  51% {transform-origin: bottom;}

  100% {
    transform: scaleY(0);
  transform-origin: bottom;
  }
  }

.main_visual .scrollBtn a:hover {
    opacity: 0.7;
}
.main_visual .scroll {
	margin-left: 0px;
}

@media screen and (max-width: 1000px) {
  .main_box{
    width: 100vw;
    height: auto;
    top:0;
    left: 0;
  }
  .main_visual .main_visual_img{
    position: static;
    margin-top: 0;
    margin-left: 0px;
    width:100%;
    height: auto;
  }
  .main_visual_text{
    position: static;
    margin-left: 0px;
  }
  .main_visual_text .h1{
    font-size: 3.4rem;
    letter-spacing: -2.9px;
    margin-bottom: 40px;
    padding: 0 42px;
    box-sizing: border-box;
  }

  .main_visual_text .h2{
    font-size: 3rem;
    letter-spacing: -2.9px;
    padding: 0 42px;
    box-sizing: border-box;
  }

  .main_visual_text .h3{
    font-size: 1.8rem;
    letter-spacing: 0px;
    line-height: 2;
    padding: 0 42px;
    box-sizing: border-box;
  }

  .main_visual_text .line_hr{
    margin-left:42px;
    box-sizing: border-box;
  }


  .main_visual .scroll a {
  	padding-bottom: 52px;
  }
  .main_visual .scroll a:before {
  	height: 36px;
  }
  .main_visual .scroll a::after {
      height: 36px;
    }

}

.title_box{
  font-size: 4rem;
  font-weight: 400;
}

.text_h2{
  line-height: 2;
	font-size: 1.8rem;
	text-align: center;
	margin: 0 auto;
  font-weight: normal;
}
@media screen and (max-width: 1000px) {
  .title_box{
    font-size: 3rem;
  }

}

#Service .bg{
  position: absolute;
  left: 0;
  top:-160px;
  width: 54%;
  height: 1590px;
  z-index: -1;
  background: url(../img/index/bg.png) no-repeat top right #C9000B;
  background-size: 1306px auto;
}

#Service .bg2{
  position: absolute;
  left: 50%;
  top:0px;
  margin-left: -211px;
  width: calc(100% + -211px);
  height: 1430px;
  z-index: -1;
  background: #FFF;
  background-size: 960px auto;
}

#Service ul .sub_title{
  font-size: 28px;
  display:inline-block;
  font-weight: bold;
  margin-bottom: 22px;
  position: relative;
  font-weight: 500;

}

#Service ul li p{
  font-size: 18px;
  margin-bottom: 35px;
  line-height: 2;

}

.padding_right_178{
  padding-right: 178px;
}

@media screen and (max-width: 1000px) {
  #Service ul .sub_title{
    font-size: 20px;
    font-weight: 500;
  }
  #Service ul li{
    font-size: 15px;
    margin-bottom: 0px;
    overflow-wrap: break-word;
  }

  #Service .bg{
    position: absolute;
    left: 0;
    top:0px;
    width: 100%;
    height: 293px;
    z-index: -1;
    background: url(../img/index/bg2.png) no-repeat top left #C9000B;
    background-size: cover;
  }
  #Service ul li p{
    font-size: 15px;
  }
  #Service .bg2{
    display: none;
  }
.bg3{
    height: 100px;
    width: 100%;

    background: #C9000B;
  }
}
/*-----------------------------------Member
*/

.text_box{
  letter-spacing: 0.115em;
}
.text_h2{
  line-height: 2;
	font-size: 1.8rem;
	text-align: center;
	margin: 0 auto;
}
.img_box{
  text-align: center;
  padding: 0 36px;
}
.text_name{
  margin-top: 25px;
  font-size: 2rem;
  font-weight: bold;
}
.text_name span{
  display: block;
  font-weight: normal;
  font-size: 1.3rem;
}

#Access ul,
#Company ul{
}
#Access ul li,
#Company ul li{
  display: flex;
  font-size: 1.8rem;
  margin-bottom: 10px;
  line-height: 1.8;
}
#Access ul li .dl,
#Company ul li .dl{
  display: block;
  width: 200px;
  font-weight: bold;
}

#Access .bg2{
  position: absolute;
  left: 50%;
  top:0px;
  margin-left: -211px;
  width: calc(100% + -211px);
  height: 1430px;
  z-index: -1;
  background: #F8F8F8;
  background-size: 960px auto;
}
@media screen and (max-width: 1000px) {
  #Access ul,
  #Company ul{
    float: none;
    width: 100%;

  }
  #Access ul li,
  #Company ul li{
    text-align: left;
    font-size: 1.3rem;
    margin-bottom: 18px;
  }
  #Access ul li .dl,
  #Company ul li .dl{
    display: inline-block;
    width: 100px;
    font-weight: bold;
  }
  #Access ul li .dr,
  #Company ul li .dr{
    display: inline-block;
    width: calc(100% - 115px);
    word-break: break-all;

  }
  .map_box.sp{
    padding: 0 20px;
    box-sizing: border-box;
  }
  .width_s{
  	width:310px;
  }
  #Access .bg2{
    position: absolute;
    left: 147px;
    top:auto;
    bottom: -380px;
    margin-left: 0;
    width: calc(100% + 147px);
    height: 430px;
    z-index: -1;
    background: #F8F8F8;
    }
}
