#key .slide1 {
  background-image: url("../img/index/key_slide1.jpg");
}

#key .slide2 {
  background-image: url("../img/index/key_slide2.jpg");
}

#key .slide3 {
  background-image: url("../img/index/key_slide3.jpg");
}

#sec1 {
  padding-top: 248px;
  padding-bottom: 242px;
  background: url("../img/shared/pattern1.png") repeat-x center bottom, url("../img/index/sec1_deco.jpg") no-repeat center top;
}

#sec1 h2 {
  margin-left: -2px;
  margin-top: -15px;
}

#sec1 h2:after {
  content: url("../img/shared/ttl_ico1.png");
  position: absolute;
  font-size: 0;
  z-index: -1;
  top: -17px;
  left: 130px;
}

#sec1 h2 .r1, #sec1 h2 .r2 {
  display: block;
}

#sec1 h2 .r2 {
  margin-top: 20px;
  letter-spacing: 7px;
}

#sec1 .imgArea {
  width: 452px;
}

#sec1 .img1 {
  margin-right: -196px;
  margin-left: 76px;
}

#sec1 .img2 {
  margin-top: 60px;
  margin-left: -1px;
  position: relative;
  width: 530px;
}
#sec1 .img2 span{
  position: absolute;
  top: 16px;
  right: 16px;
  color: #fff;
  border: 1px solid #fff;
  background: rgba(0,0,0,0.7);  
  font-size: 30px;
  width: 64px;
  height: 112px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
}

#sec1 .txt {
  margin-top: 37px;
  margin-left: 30px;
  letter-spacing: 1.3px;
  line-height: 28px;
}
#sec1 .fr{
  position: relative;
}
#sec1 .btnStyle{
  position: absolute;
  bottom: -60px;
  right: -24px;
}

#sec3 {
  padding-bottom: 115px;
  padding-top: 80px;
  background: url("../img/shared/pattern2.png"), url("../img/index/sec3_bg.png") no-repeat center top;
}

#sec3 .imgArea {
  width: 500px;
}

#sec3 .img1 {
  margin-left: -101px;
  z-index: 1;
}

#sec3 .img1 figcaption {
  padding: 30px 0 23px;
  top: -30px;
  left: 30px;
}

#sec3 .img2 {
  text-align: right;
  margin-top: -20px;
  margin-right: -50px;
}

#sec3 .img2 figcaption {
  padding: 21px 0 20px;
  top: -30px;
  right: 50px;
}

#sec3 .img3 {
  margin-top: 60px;
  margin-left: -200px;
}

#sec3 .img3 figcaption {
  padding: 26px 0 21px;
  left: 416px;
  top: -96px;
}

#sec3 .txtArea {
  padding-top: 56px;
}

#sec3 .ttl {
  line-height: 1.48;
  margin-left: -2px;
  letter-spacing: 5px;
}

#sec3 .txt {
  margin-top: 39px;
  letter-spacing: 1.3px;
}

#sec3 .btnArea {
  width: 940px;
  margin: 54px auto 0;
}

#sec4 {
  padding-top: 314px;
  padding-bottom: 82px;
  background: url("../img/index/sec4_bg.jpg") no-repeat center/cover;
  position: relative;
  z-index: 0;
}

#sec4:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: -12px;
  z-index: -1;
  background: url("../img/index/sec4_deco.png") no-repeat center top;
}

#sec4 .img1 {
  position: absolute;
  top: -300px;
  right: calc(50% - 150px);
}

#sec4 .img1 figcaption {
  top: 520px;
  right: 366px;
}

#sec4 .img2 {
  position: absolute;
  top: -59px;
  left: 50%;
}

#sec4 .img2 figcaption {
  top: 174px;
  left: 366px;
  padding: 31px 0 25px;
}

#sec4 .img3 {
  position: absolute;
  top: 413px;
  right: calc(50% + 208px);
}

#sec4 .img3 figcaption {
  top: 164px;
  right: 142px;
  padding: 27px 0 18px;
}

#sec4 .img4 {
  position: absolute;
  top: 445px;
  left: calc(50% - 32px);
}

#sec4 .img4 figcaption {
  top: 31px;
  left: 209px;
  padding: 24px 0 16px;
}

#sec4 h2 {
  width: 182px;
  height: 399px;
  position: relative;
  margin-left: 374px;
  z-index: 1;
}

#sec4 h2 .c1 {
  font-size: 75px;
  letter-spacing: 9.5px;
}

#sec4 h2 .c2 {
  position: absolute;
  font-size: 33px;
  letter-spacing: 4px;
  top: 113px;
  left: -40px;
  height: 320px;
}

#sec4 .txt {
  position: relative;
  z-index: 1;
  margin-top: 87px;
  margin-left: 42px;
  letter-spacing: 1.2px;
  width: 660px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 38px 40px 40px 53px;
  background: url("../img/index/sec4_txt_bg.png");
}
#sec4 h3{
  font-size: 30px;
  margin-bottom: 4px;
  letter-spacing: 4px;
}
#sec4 .btnStyle{
  margin: 47px auto 0;
}
#sec5 {
  padding-top: 60px;
  padding-bottom: 100px;
  background: url("../img/shared/bg4.jpg");
}

#sec5 h2 {
  font-size: 25px;
  letter-spacing: 5px;
  margin-left: 7px;
  color: #707070;
}

#sec5 h2:before {
  content: url("../img/shared/ttl_ico2.png");
  display: block;
  margin: 0 0 15px -7px;
  font-size: 0;
}
#news{
  background: url("../img/index/news_bg.jpg");
  position: absolute;
  top: -139px;
  right: 33px;
  width: 375px;
  height: 200px;
  box-sizing: border-box;
  z-index: 2;
  padding: 25px 22px 20px;
}
#news h2{
  text-align: center;
  margin-bottom: 18px;
}
#news h2 p{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #707070;
  font-weight: 500;
  font-size: 25px;
  line-height: 30px;
}
#news h2 i{
  display: block;
  margin-right: 10px;
}
#news h2 p:after{
  content:"";
  display: inline-block;
  height: 1px;
  width: 36px;
  background: #000;
  margin-left: 12px;
}
#feed li{
  justify-content: space-between;
}
#feed .img span {
  display: block;
  height: 156px;
  width: 107px;
}

#feed .img:hover {
  opacity: 0.8;
}

#feed .date {
  color: #bc7f15;
}

#feed .title {
  margin-bottom: 10px;
}

#feed .txtBox {
  width: 152px;
  line-height: 26px;
}
.rss-link{
  text-align: right;
}
.rss-link a{
  border: 1px solid #bc7f15;
  color: #bc7f15;
  width: 111px;
  height: 25px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  transition: ease 0.3s;
}
.rss-link a:hover{
  opacity: 0.8;
  text-decoration: none;
}

#sec2{
  background: url("../img/index/sec2_bg.jpg") no-repeat center / cover;
  color: #fff;
  padding: 60px 0 65px;
}
#sec2 h2{
  margin: auto;
  border-bottom: 1px solid rgba(255,255,255,0.5);
  text-align: center;
  font-size: 42px;
  line-height: 93px;
  width: 580px;
  letter-spacing: 6px;
}
.sec2group{
	text-align: center;
  margin: auto;
  width: 300px;
}
.sec2group ul{
  font-weight: bold;
  font-size: 17px;
  line-height: 36px;
  width: 280px;
  letter-spacing: 1.3px;
}
.sec2group li:last-child{
  font-weight: normal;
  font-size: 15px;
  margin: 5px 0 0 8px;
  letter-spacing: 1px;
}
.sec2-tel{
  text-align: center;
	margin-top: 40px;
}
.sec2-txt{
  text-align: center;
  font-size: 15px;
  line-height: 32px;
  margin: 24px 0 39px;
  letter-spacing: 1px;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .rss-link a{
    box-sizing: border-box;
    padding-top: 5px;
  }
  #sec1 .img2 span{
    box-sizing: border-box;
    padding-right: 11px;
  }
  figure .cap2.txt-vertical{
    line-height: 74px;
  }
  #sec4 .img3 figcaption{
    padding: 26px 0 19px;
  }
  figure .cap1.txt-vertical{
    line-height: 76px;
  }
}