#key {
  position:relative
}
#key .slide1 {
  background:url(../img/line/slide01.jpg) no-repeat center top/cover;
  min-height:810px
}
#header {
  padding:18px 0 65px;
  position:relative
}
#header::after {
  position:absolute;
  content:"";
  background:#959595;
  height:55px;
  width:1px;
  left:50%;
  bottom:2px;
  transform:translateX(-50%)
}
.head-line {
  position:absolute;
  bottom:40px;
  right:30%;
  box-shadow:1px 1px 10px 2px rgba(0,0,0,.15)
}
#sec1 {
  margin-bottom:125px
}
#sec1 .slider {
  margin:0 -200px
}
#sec1 .s-content {
  position:relative;
  z-index:1;
  padding-top:75px
}
#sec1 .s-content h2 {
  text-align:center
}
#sec1 .s-content h2 ul {
  width:515px;
  display:flex;
  justify-content:space-between;
  margin:auto
}
#sec1 .s-content .txt {
  color:#fff;
  margin:80px auto 0;
  line-height:40px;
  padding-left:40px;
  letter-spacing:1.7px;
  text-shadow:1px 1px 10px rgba(0,0,0,.2)
}
#sec1 .s-line h2 {
  margin-top:245px;
  text-align:center
}
#sec1 .s-line .info {
  width:650px;
  margin-top:70px;
  margin-left:290px;
  position:relative
}
#sec1 .s-line .info::before {
  content:"";
  background:url(../img/line/sec1_catch.png) no-repeat 0 0/100%;
  width:337px;
  height:443px;
  position:absolute;
  left:calc(50% - 700px);
  top:-10px
}
#sec1 .s-line .info>p {
  border:1px solid #000;
  padding:18px 70px;
  display:inline-block;
  font-size:19px;
  font-weight:bold;
  letter-spacing:4px;
  margin-bottom:20px;
  position:relative
}
#sec1 .s-line .info>p::before {
  content:"";
  position:absolute;
  background:url(../img/line/sec1_before.png) no-repeat 0 0/100%;
  width:24px;
  height:14px;
  top:50%;
  transform:translateY(-50%);
  left:-24px
}
#sec1 .s-line .info .p2 {
  margin-left:90px;
  padding:18px 25px 18px 60px
}
#sec1 .s-line .info .p3 {
  margin-left:50px;
  padding:18px 60px
}
#sec1 .s-line .qr {
  margin:50px 0 0 275px;
  position:relative
}
#sec1 .s-line .qr .txt {
  position:absolute;
  top:85px;
  left:225px;
  line-height:40px
}
#sec2 {
  background:url(../img/line/sec2_bg.jpg) repeat;
  padding:175px 0 205px;
  -webkit-clip-path:polygon(80% 0, 100% 12%, 100% 100%, 0 100%, 0 20%);
  clip-path:polygon(80% 0, 100% 12%, 100% 100%, 0 100%, 0 20%)
}
#sec2 .row {
  display:flex;
  justify-content:space-between
}
#sec2 .row .column-left {
  margin:80px 0 0 25px;
  position:relative
}
#sec2 .row .column-left::before {
  position:absolute;
  content:"";
  background:url(../img/line/sec2_deco2.png) no-repeat 0 0/100%;
  width:440px;
  height:293px;
  left:-40px;
  bottom:-100px
}
#sec2 .row .column-left h2 {
  margin-left:35px;
  margin-bottom:55px
}
#sec2 .row .column-left .desc {
  background-color:#fff;
  border:2px solid #baae8c;
  font-size:19px;
  padding:35px 20px 30px 50px;
  line-height:40px;
  letter-spacing:2px
}
#sec2 .row .column-left .txt {
  font-size:20px;
  line-height:35px;
  font-weight:bold;
  margin:70px -10px 0 auto;
  width:315px;
  letter-spacing:4px
}
#sec2 .row .column-right {
  width:900px;
  margin-right:-385px;
  margin-top:150px;
  position:relative
}
#sec2 .row .column-right::before {
  position:absolute;
  content:"";
  background:url(../img/line/sec2_deco1.png) no-repeat 0 0/100%;
  width:158px;
  height:436px;
  left:-85px;
  top:-180px;
  z-index:1
}
#sec2 .slick-dots {
  display:flex
}
#sec2 .slick-dots li {
  width:55px;
  margin-right:10px
}
#sec2 .slick-dots li button {
  width:55px;
  border-radius:0;
  font-size:0;
  border:none;
  padding:2px;
  background:#410f0f;
  border:2px solid #410f0f;
  cursor:pointer
}
#sec2 .slick-dots li button:hover {
  opacity:.7
}
#sec2 .slick-dots li.slick-active button {
  background:#fff;
  border:2px solid #410f0f
}
#sec3 {
  padding:178px 0 150px;
  position:relative;
  z-index:1
}
#sec3 .row {
  display:flex;
  justify-content:space-between
}
#sec3 .row .column-left {
  margin-left:-132px
}
#sec3 .row .column-right {
  margin:50px 15px 0 0
}
#sec3 .row .column-right ul {
  border:2px solid #baae8c;
  margin:45px -25px 0 -25px;
  padding:40px 25px 45px;
  line-height:35px
}
#sec4 {
  padding:225px 0 100px;
  margin-top:-220px;
  background:url(../img/line/sec4_bg.jpg) repeat;
  -webkit-clip-path:polygon(0 0, 100% 9%, 100% 100%, 0% 100%);
  clip-path:polygon(0 0, 100% 9%, 100% 100%, 0% 100%)
}
#sec4 .s-top h2 {
  text-align:center
}
#sec4 .s-top .row {
  display:flex;
  justify-content:space-between;
  margin:115px -110px 0
}
#sec4 .s-top .row .column-left {
  position:relative;
  margin-top:70px
}
#sec4 .s-top .row .column-left h3 {
  position:absolute;
  top:-105px;
  right:55px
}
#sec4 .s-top .row .column-left .txt {
  line-height:40px;
  margin:60px 0 0 125px
}
#sec4 .s-top .row .column-right {
  position:relative
}
#sec4 .s-top .row .column-right h3 {
  position:absolute;
  top:-135px;
  right:55px
}
#sec4 .s-top .row .column-right .txt {
  line-height:40px;
  margin:40px 0 0 60px
}
#sec4 .s-bot {
  padding-top:130px
}
#sec4 .s-bot h2 {
  text-align:center;
  margin-bottom:40px
}
#sec4 .s-bot .slick-slide {
  width:auto !important;
  margin:0 25px
}
#sec4 .s-bot .slick-slide img {
  width:auto !important
}
#sec4 .s-bot .sec4-slide {
  height:520px
}
#sec4 .s-bot .sec4-slide .slide-2 {
  margin-top:100px
}
#sec4 .s-bot .sec4-slide .slide-3 {
  margin-top:20px
}
#sec4 .s-bot .sec4-slide .slide-4 {
  margin-top:70px
}
#sec4 .s-bot .sec4-slide .slide-5 {
  margin-top:200px
}
#sec4 .s-bot .sec4-slide .slide-7 {
  margin-top:150px
}
#sec4 .s-bot .sec4-slide .slick-arrow {
  display:none !important
}
#sec4 .s-bot .sec4-slide .slick-track {
  display:flex
}
#sec4 .s-bot .sec4-slide .slick-track .slick-slide {
  float:none !important
}
#sec5 {
  position:relative;
  padding:160px 0
}
#sec5 h2 {
  position:absolute;
  top:0;
  left:280px
}
#sec5 .row {
  display:flex;
  justify-content:space-between;
  align-items:flex-end
}
#sec5 .row .column-left {
  margin-left:-350px;
  margin-top:185px
}
#sec5 .row .content {
  margin:0 0 40px 150px;
  line-height:35px
}
#sec5 .row .content .top {
  margin-bottom:35px;
  margin-left:25px
}
#sec5 .row .content dl {
  padding:30px;
  border:1px solid #baae8c
}
#sec5 .row .column-right {
  margin-right:-480px;
  margin-bottom:125px;
  position:relative
}
#sec5 .row .column-right .photo-circle {
  position:absolute;
  left:-345px;
  top:-370px
}
#sec5 .line-bot {
  position:relative;
  min-height:600px;
  margin:180px 0 0 0
}
#sec5 .line-bot::before {
  position:absolute;
  content:"";
  background:url(../img/line/sec5_bot.jpg) no-repeat 0 0/100%;
  width:1301px;
  height:595px;
  left:calc(50% - 650px);
  top:0;
  z-index:-1
}
#sec5 .line-bot p {
  font-size:25px;
  font-weight:bold;
  position:absolute;
  top:335px;
  left:350px;
  line-height:40px;
  letter-spacing:4px
}
