@charset "UTF-8";
#key .swiper-container {
  position: relative;
  padding: 0 175px;
  background: #d5d5d5;
}
#key .swiper-container:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: calc(50% + 298px);
  background: #353535;
}
#key .swiper-container > .swiper-slide__content {
  position: absolute;
  top: 0;
}
#key .swiper-slide {
  margin-top: 115px;
  height: 545px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 200ms linear;
  overflow: hidden;
  position: relative;
}
#key .swiper-slide > div {
  height: 100%;
  width: 100%;
  animation: fadeIn 1s ease 0s 1 normal;
  /*animation: scale 18s linear 0s infinite;*/
}
#key .swiper-slide.swiper-slide-active {
  margin-top: 0;
  height: 660px;
}
#key .swiper-slide .heading {
  position: absolute;
}
#key .swiper-slide__content {
  height: 660px;
}



#key .item_1 {
  background: url("../img/index/key_1.jpg") center no-repeat;
  background-size: cover;
}
#key .item_1 .heading {
  top: 105px;
  left: 111px;
}
#key .item_2 {
  background: url("../img/index/key_2.jpg") center no-repeat;
  background-size: cover;
}
#key .item_2 .heading {
  top: 243px;
  left: 137px;
}
#key .item_3 {
  background: url("../img/index/key_3.jpg") center no-repeat;
  background-size: cover;
}
#key .item_3 .heading {
  top: 276px;
  left: 137px;
}
#key .item_4 {
  background: url("../img/index/key_4.jpg") center no-repeat;
  background-size: cover;
}
#key .item_4 .heading {
  top: 155px;
  left: 137px;
}
#key .swiper-button-next, #key .swiper-button-prev {
  width: 50px;
  height: 50px;
  background-size: 50px 50px;
}
#key .swiper-button-prev {
  background-image: url("../img/index/prev_.png");
  left: 175px;
}
#key .swiper-button-next {
  background-image: url("../img/index/next_.png");
  right: 175px;
}
#sec1 {
  padding-top: 272px;
  position: relative;
  padding-bottom: 74px;
}
#sec1 .box {
  width: 848px;
  margin-left: -130px;
  padding: 65px 100px 63px 94px;
  background: rgba(213, 213, 213, 0.88);
  margin-bottom: 56px;
  z-index: 2;
}
#sec1 .box h2 {
  font-size: 42px;
  letter-spacing: 0.06em;
  padding: 51px 0 0 29px;
}
#sec1 .box h2 .fzb {
  font-size: 60px;
}
#sec1 .box h2 span:nth-child(3) {
  animation-delay: 0.025s;
}
#sec1 .box h2 span:nth-child(4) {
  animation-delay: 0.1s;
}
#sec1 .box h2 span:nth-child(5) {
  animation-delay: 0.175s;
}
#sec1 .box h2 span:nth-child(6) {
  animation-delay: 0.25s;
}
#sec1 .box h2 span:nth-child(7) {
  animation-delay: 0.325s;
}
#sec1 .box h2 span:nth-child(8) {
  animation-delay: 0.4s;
}
#sec1 .box h2 span:nth-child(9) {
  animation-delay: 0.475s;
}
#sec1 .box .txt {
  padding: 51px 42px 0 39px;
  text-align: justify;
}
#sec1 .btn_cus {
  margin-left: 5px;
}
#sec1 .photo {
  position: absolute;
  left: -250px;
  z-index: -1;
  bottom: -73px;
}
#sec1 .bg {
  position: absolute;
  top: 172px;
  right: 0;
  left: calc(50% - 630px);
  height: 694px;
  background: url("../img/index/s1_bg_img.jpg") center right no-repeat;
  background-size: cover;
  z-index: -1;
}
#sec2 .set1 {
  padding-top: 135px;
  position: relative;
}
#sec2 .set1 h2 {
  font-size: 35px;
  line-height: 80px;
  letter-spacing: 0;
  margin-left: 555px;
  margin-right: -35px;
}
#sec2 .set1 h2 span {
  color: #fff;
  font-size: 45px;
  letter-spacing: 0;
  position: relative;
}
#sec2 .set1 h2 span:after {
  content: '';
  position: absolute;
  top: -15px;
  left: -49px;
  right: -220px;
  bottom: -10px;
  background: #20758d;
  z-index: -1;
}
#sec2 .set1 h2 span .fzb {
  font-size: 60px;
}
#sec2 .set1 h2 span .lsa {
  letter-spacing: -0.1em;
}
#sec2 .set1 .txt {
  padding: 42px 0 61px 376px;
  letter-spacing: 0.05em;
  margin-right: -10px;
  text-align: justify;
}
#sec2 .set1 .photo {
  position: absolute;
  top: 140px;
  left: calc(50% - 750px);
}
#sec2 .set2 {
  position: relative;
  padding-bottom: 42px;
}
#sec2 .set2:before {
  content: '';
  background: url("../img/index/s2_bg_img.png");
  background-size: cover;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 308px;
  right: calc(50% - 630px);
}
#sec2 .set2 h3 {
  margin-left: 456px;
  margin-top: 26px;
}
#sec2 .set2 h4 {
  font-size: 33px;
  line-height: 50px;
  letter-spacing: -0.02em;
  margin-left: 510px;
  margin-top: 23px;
}
#sec2 .set2 h4 span:nth-child(3) {
  animation-delay: 0.025s;
}
#sec2 .set2 h4 span:nth-child(4) {
  animation-delay: 0.1s;
}
#sec2 .set2 h4 span:nth-child(5) {
  animation-delay: 0.175s;
}
#sec2 .set2 h4 span:nth-child(6) {
  animation-delay: 0.25s;
}
#sec2 .set2 h4 span:nth-child(7) {
  animation-delay: 0.325s;
}
#sec2 .set2 h4 span:nth-child(8) {
  animation-delay: 0.4s;
}
#sec2 .set2 h4 span:nth-child(9) {
  animation-delay: 0.475s;
}
#sec2 .set2 h4 span:nth-child(10) {
  animation-delay: 0.55s;
}
#sec2 .set2 h4 span:nth-child(11) {
  animation-delay: 0.625s;
}
#sec2 .set2 h4 span:nth-child(12) {
  animation-delay: 0.7s;
}
#sec2 .set2 h4 span:nth-child(13) {
  animation-delay: 0.775s;
}
#sec2 .set2 h4 span:nth-child(14) {
  animation-delay: 0.85s;
}
#sec2 .set2 h4 span:nth-child(15) {
  animation-delay: 0.925s;
}
#sec2 .set2 h4 span:nth-child(16) {
  animation-delay: 1s;
}
#sec2 .set2 h4 span:nth-child(17) {
  animation-delay: 1.075s;
}
#sec2 .set2 .photo_1 {
  padding: 41px 0 0 349px;
}
#sec2 .set2 .photo_2 {
  position: absolute;
  top: -27px;
  left: calc(50% + 455px);
}
#sec2 .set2 ul {
  margin-top: -74px;
  margin-left: 23px;
  position: relative;
  z-index: 2;
}
#sec2 .set2 ul li {
  margin-bottom: 35px;
}
#sec2 .set2 ul li a {
  border: 1px solid #20758d;
  background: rgba(205, 205, 205, 0.6);
  color: #20758d;
}
#sec2 .set2 ul li a:hover {
  color: #fff;
  background: none;
}
#sec2 .set2 ul li:after {
  content: url("../img/index/arrow_btn_2.png");
}
#sec2 .set2 ul li:hover:after {
  content: url("../img/shared/arrow_btn_on.png");
}
#sec3 {
  padding-top: 232px;
  position: relative;
}
#sec3:before {
  content: '';
  position: absolute;
  top: 140px;
  left: calc(50% - 73px);
  bottom: 0;
  background: #353535;
  right: 0;
}
#sec3 h2 {
  font-size: 60px;
  line-height: 30px;
  letter-spacing: 0.06em;
  margin-left: 128px;
  color: #20758d;
}
#sec3 h2 span:nth-child(3) {
  animation-delay: 0.025s;
}
#sec3 h2 span:nth-child(4) {
  animation-delay: 0.1s;
}
#sec3 h2 span:nth-child(5) {
  animation-delay: 0.175s;
}
#sec3 h2 span:nth-child(6) {
  animation-delay: 0.25s;
}
#sec3 h2 span:nth-child(7) {
  animation-delay: 0.325s;
}
#sec3 h2 span:nth-child(8) {
  animation-delay: 0.4s;
}
#sec3 h2 span:nth-child(9) {
  animation-delay: 0.475s;
}
#sec3 h2 span:nth-child(10) {
  animation-delay: 0.55s;
}
#sec3 h2 span:nth-child(11) {
  animation-delay: 0.625s;
}
#sec3 h2 span:nth-child(12) {
  animation-delay: 0.7s;
}
#sec3 h2 span:nth-child(13) {
  animation-delay: 0.775s;
}
#sec3 h2 span:nth-child(14) {
  animation-delay: 0.85s;
}
#sec3 .line {
  position: absolute;
  top: 120px;
  left: calc(50% - 750px);
}
#sec3 .line .line_left:before {
  left: 0;
  bottom: 0;
}
#sec3 .line .line_left[style*="visible"]:before {
  width: 950px;
}
#sec3 .photo {
  position: absolute;
  top: 120px;
  left: calc(50% - 750px);
}
#sec3 .text {
  margin-left: 580px;
  color: #fff;
  padding-bottom: 96px;
}
#sec3 .text h3 {
  padding: 180px 0 0 7px;
}
#sec3 .text .txt {
  padding: 35px 0 46px 13px;
}
#sec3 .text .btn_cus {
  margin-left: 13px;
}
#sec4 {
  background: #20758d;
  position: relative;
  color: #FFF;
  z-index: 1;
  padding-bottom: 188px;
}
#sec4:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 260px;
  background: #d5d5d5;
  z-index: -2;
}
#sec4 h2 {
  text-align: center;
  font-family: 'Garamond';
  font-size: 60px;
  letter-spacing: 0.06em;
  padding: 132px 0 128px;
  line-height: 42px;
}
#sec4 h2 .smz {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 22px;
  letter-spacing: 0.14em;
}
#sec4 h2 span:nth-child(3) {
  animation-delay: 0.025s;
}
#sec4 h2 span:nth-child(4) {
  animation-delay: 0.1s;
}
#sec4 h2 span:nth-child(5) {
  animation-delay: 0.175s;
}
#sec4 h2 span:nth-child(6) {
  animation-delay: 0.25s;
}
#sec4 h2 span:nth-child(7) {
  animation-delay: 0.325s;
}
#sec4 h2 span:nth-child(8) {
  animation-delay: 0.4s;
}
#sec4 h2 span:nth-child(9) {
  animation-delay: 0.475s;
}
#sec4 h2 span:nth-child(10) {
  animation-delay: 0.55s;
}
#sec4 h2 span:nth-child(11) {
  animation-delay: 0.625s;
}
#sec4 h2 span:nth-child(12) {
  animation-delay: 0.7s;
}
#sec4 h2 span:nth-child(13) {
  animation-delay: 0.775s;
}
#sec4 h2 span:nth-child(14) {
  animation-delay: 0.85s;
}
#sec4 h2 span:nth-child(15) {
  animation-delay: 0.925s;
}
#sec4 h2 span:nth-child(16) {
  animation-delay: 1s;
}
#sec4 h2 span:nth-child(17) {
  animation-delay: 1.075s;
}
#sec4 h2 span:nth-child(18) {
  animation-delay: 1.075s;
}
#sec4 h2 span:nth-child(19) {
  animation-delay: 1.075s;
}
#sec4 h2 span:nth-child(20) {
  animation-delay: 1.075s;
}
#sec4 .photo {
  position: absolute;
  top: 286px;
  left: calc(50% - 630px);
  z-index: -1;
}
#sec4 .txt {
  padding: 32px 90px 36px 6px;
  width: 500px;
}
#sec4 .btn_cus {
  margin-left: 7px;
}
#sec4 .line {
  position: absolute;
  top: 277px;
  right: 0;
  left: auto;
}
#sec4 .line .line_left:before {
  background: #fff;
  left: auto;
  right: 0;
}
#sec4 .line .line_left[style*="visible"]:before {
  width: 60vw;
}
#sec5 {
  background: url("../img/index/s6_bg.jpg") center no-repeat;
  background-size: cover;
  position: relative;
  height: 630px;
}
#sec5:before {
  content: '';
  position: absolute;
  left: 0;
  right: calc(50% + 247px);
  top: 200px;
  height: 132px;
  background: #3a3a3a;
}
#sec5 h2 {
  position: absolute;
  top: 229px;
  left: 54px;
}
#sec5 .more {
  position: absolute;
  top: 411px;
  left: 60px;
}
#sec5 .more a {
  width: 144px;
  height: 34px;
  font-size: 16px;
  line-height: 31px;
  font-weight: 500;
  letter-spacing: 0.2em;
}
#sec5 .more a:before {
  background: #fff;
}
#sec5 .more a:hover {
  border-color: #fff;
  color: #000;
}
#sec5 .more:after {
  content: url("../img/index/arrow_1.png");
  top: 8px;
  right: -20px;
}
#sec5 .more:hover:after {
  content: url("../img/index/arrow_1_on.png");
}
#feed {
  margin-left: 355px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-right: 55px;
  padding: 96px 0 24px;
}
#feed dl {
  width: 270px;
  margin-bottom: 40px;
}
#feed dl .img span {
  border-radius: 5px;
}
#feed dl dd {
  font-size: 14px;
  color: #c4c4c4;
  line-height: 25px;
  padding: 13px 0 2px 4px;
}


@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	#sec1 .heading .line_left:before{
		bottom: -5px;
	}
	#sec3 .line{
		top: 111px;
	}
	#sec4 .line{
		top: 268px;
	}
}