#key {
  width: 100%;
  margin-bottom: -11px;
}
video {
  width: 100%;
  height: auto;
}
#sec1 {
  background: url(../img/index/sec1-bg.jpg) no-repeat center top;
  -webkit-background-size: cover;
  background-size: cover;
  padding: 154px 0 146px;
}
#sec1 .wrap {
  background: url(../img/index/sec1-bgin.png) no-repeat center top;
  text-align: center;
  padding: 140px 0 156px;
}
#sec1 .txt {
  padding-top: 36px;
  font-size: 17px;
  line-height: 34px;
  color: #362800;
}
#sec1 .txt p + p {
  padding-top: 30px;
}
#sec1 .txt span {
  font-size: 27px;
  line-height: 43px;
  font-weight: bold;
}
#sec2 {
  background: #000;
}
#sec2 .bg-scale {
  max-width: 1600px;
}
#sec2 .bg {
  margin: auto;
  width: 100%;
  max-width: 1600px;
  position: relative;
  overflow: hidden;
  background: url(../img/svg/sec2-bg-long.jpg) no-repeat center top #2569AF;
	background-size: 100% auto;
}
#sec2 .caption .txt5 {
  display: none;
}
@media screen and (min-width:768px) {
  #sec2 .bg {
    height: 3850px;
  }
}
#sec2 .bg > * {
  position: relative;
  z-index: 1;
}
#sec2 h2 {
  text-align: center;
  padding-top: 100px;
}
#sec2 .top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
#sec2 .txt-svg {
  fill: #5E401C;
  font-size: 19px;
  font-weight: 600;
}
.txt-shadow {
  text-shadow:
    0 0 5px #FFFFFF, 3px 0 5px #FFFFFF, 0 3px 5px #FFFFFF, -3px 0 5px #FFFFFF, 0 -3px 5px #FFFFFF, 3px 3px 5px #FFFFFF, 3px -3px 5px #FFFFFF, -3px 3px 5px #FFFFFF, -3px -3px 5px #FFFFFF !important;
}
#sec2 .top .txt {
  text-align: center;
  padding: 40px 0 30px;
  font-size: 19px;
  font-weight: bold;
  color: #593211;
  line-height: 39px;
}
#sec2 .box {
  background: url(../img/index/sec2-boxbg.png) no-repeat center top;
  padding-bottom: 57px;
  position: absolute;
  top: 55.5%;
  left: 0;
  right: 0;
}

#sns-bnr {
    padding: 50px 0;
    background: url(../img/svg/sec2-bg-long.jpg) no-repeat top -3850px center;
    background-size: 100% auto;
    margin: auto;
    width: 100%;
    max-width: 1600px;
}
#sns-bnr a{
    width:60%;
    display:block;
    margin:0 auto;

    }


@media screen and (min-width:768px) {
   
  #sec2 .box {
    top: 60%;
  }
    .sns a{
        width:60%;
        display:block;
        margin:0 auto;
    } 
    .sns a img{
        width:100%;
    }
}

@media (max-width:767px){
	    #sns-bnr {
        background: url(../img/index/sec2-bgrp.png) repeat top -498px center;
        background-size: 150% auto;
    }
	#sns-bnr a {
    width: 90%;
}
}


@media (max-width:500px){
    
  #sec2 .box {
    top: 50%;
  }
}
.sns a img {
  display: inline-block;
  animation: floatOnSea 2s ease-in-out infinite;
  animation-play-state: paused;
}

.sns a:hover img {
  animation-play-state: running; 
}

/* 小刻みに揺れる波のような動き */
@keyframes floatOnSea {
 0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}
#sec2 .box h3 {
  text-align: center;
  padding: 70px 0 35px;
}
#sec2 .main {
  width: 1060px;
  margin: 0 auto;
}
#sec2 .main dl {
  position: relative;
  float: left;
  padding-bottom: 26px;
}
#sec2 .main .number {
  font-family: "TrajanPro";
  font-size: 120px;
  color: #5b3f1a;
  position: absolute;
  bottom: 43px;
  left: 202px;
  line-height: 120px;
  letter-spacing: -3px;
}
#sec2 .main .number span {
  float: left;
}
#sec2 .main .number img {
  margin-top: 50px;
  float: left;
}
#sec2 .main .item1 .txt {
  position: absolute;
  top: 38px;
  right: 40px;
  color: #5b3f1a;
  width: 302px;
}
#sec2 .main .item5 .txt {
  position: absolute;
  right: 39px;
  bottom: 50px;
  color: #5b3f1a;
  font-size: 13px;
}
#sec2 .main .item6 .txt {
  position: absolute;
  top: 48px;
  /* right: 21px; */
  right: 40px;
  color: #5b3f1a;
  width: 360px;
}
#sec2 .main dl:nth-child(3), #sec2 .main dl:nth-child(5) {
  margin-left: 17px;
}
/*sec2の海部分にMovieを挿入*/
#sec2 .movie-link {
  background: url("../img/index/sec2-bgrp.png") repeat;
  background-size: cover;
  width: 100%;
  max-width: 1600px;
  padding: 50px 0;
  margin: 0 auto;
}
#sec2 .movie-link a {
  display: flex;
  width: 70%;
  height: auto;
  margin: 0 auto;
}
#sec2 .movie-link img {
  width: 70%;
  margin: 0 auto;
}
@media (max-width:767px) {
  #sec2 .movie-link {
    background: url("../img/index/sp-sec2-bgrp.jpg") repeat;
    background-size: cover;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
  }
  #sec2 .movie-link a {
    display: flex;
    width: 90%;
    height: auto;
    margin: 0 auto;
  }
  #sec2 .movie-link img {
    width: 90%;
    margin: 0 auto;
  }
}
/**/
#sec3 {
  background: url(../img/index/sec3-bg.jpg) no-repeat center top;
  -webkit-background-size: cover;
  background-size: cover;
  padding: 98px 0 52px;
}
#sec3 h2 {
  text-align: center;
}
#sec3 .txt {
  text-align: center;
  padding: 37px 0 8px;
  font-size: 19px;
  font-weight: bold;
  color: #593211;
  text-shadow: 0px 0px 5px #FFFFFF;
  line-height: 39px;
}
#sec3 .main {
  min-height: 1224px;
  position: relative;
}
#sec3 .main .item1 {
  position: absolute;
  bottom: 283px;
  left: -52px;
  z-index: 1;
}
#sec3 .main .item2 {
  position: absolute;
  bottom: 194px;
  left: 296px;
  z-index: 1;
}
#sec3 .main .item3 {
  position: absolute;
  bottom: 304px;
  right: -19px;
  z-index: 1;
}
#sec3 .main .item4 {
  position: absolute;
  top: 24px;
  left: 59px;
}
#sec3 .main .item5 {
  position: absolute;
  top: 39px;
  left: 383px;
}
#sec3 .main .item6 {
  position: absolute;
  top: 33px;
  right: 19px;
}
#sec3 .main .item {
  cursor: pointer;
}
#sec3 .main .item:hover img {
  opacity: 1 !important;
}
#sec3 .main .item dl {
  transition: all 0.5s ease;
  opacity: 0;
}
#sec3 .main .item:hover dl {
  opacity: 1;
  z-index: 1;
}
#sec3 .main dl dd {
  font-size: 20px;
  color: #54340e;
  line-height: 35px;
  position: absolute;
  top: 85px;
  left: 79px;
  transform: translateZ(0);
}
#sec3 .main .item1 dl dd {
  letter-spacing: -.05em;
  left: 45px;
}
#sec3 .main .item4 dl dd {
  top: 74px;
}
#sec3 .main .item2 dl dd {
  top: 93px;
}
#sec3 .main .item1 dl {
  position: absolute;
  bottom: 54px;
  left: -88px;
}
#sec3 .main .item2 dl {
  position: absolute;
  bottom: 153px;
  left: 3px;
}
#sec3 .main .item3 dl {
  position: absolute;
  bottom: 41px;
  left: 28px;
}
#sec3 .main .item4 dl {
  position: absolute;
  bottom: 170px;
  left: -200px;
}
#sec3 .main .item5 dl {
  position: absolute;
  bottom: 105px;
  left: -93px;
}
#sec3 .main .item6 dl {
  position: absolute;
  bottom: 147px;
  left: 118px;
}
#sec4 {
  background: url(../img/index/sec4-bg.jpg) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
  padding: 98px 0 141px;
}
#sec4 h2 {
  text-align: center;
}
#sec4 .txttop {
  text-align: center;
  padding: 31px 0 88px;
  font-size: 20px;
  font-weight: bold;
  color: #593211;
  text-shadow: 0px 0px 5px #FFFFFF;
  line-height: 39px;
}
#sec4 .listbox {
  text-align: center;
}
#sec4 .listbox .item {
  display: inline-block;
  margin: 0 -69px;
  position: relative;
  cursor: pointer;
}
#sec4 .listbox .item .on {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transition: all 0.5s ease;
}
#sec4 .listbox .item:hover .on {
  opacity: 1;
}
#sec4 .listbox .item a:hover img {
  opacity: 1;
}
#sec4 .modal-content {
  background: url(../img/index/sec4-boxbg.png) no-repeat center top;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  width: 706px;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #54340e;
}
#sec4 .modal-content h3 {
  padding: 39px 0 15px 30px;
  width: 50%;
}
#sec4 .modal-content h3 img, #sec4 .modal-content .photo img {
  max-width: 100%;
  height: auto;
}
#sec4 .modal-content .txt {
  font-size: 16px;
  line-height: 35px;
  padding: 0 0 15px 38px;
}
#sec4 .modal-content .txt span {
  position: relative;
}
#sec4 .modal-content .txt span:before {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  top: 65%;
  content: '';
  background: #fff100;
  z-index: -1;
}
#sec4 .modal-content .name {
  padding: 0 0 77px 37px;
  font-size: 16px;
}
#sec4 .modal-content .name span {
  font-size: 27px;
}
#sec4 .modal-content .photo {
  position: absolute;
  top: 20px;
  right: 10px;
  width: 35%;
}
#sec4 .modal-content .close-modal {
  position: absolute;
  top: -35px;
  right: -35px;
  z-index: 99;
  cursor: pointer;
}
#sec5 {
  background: url(../img/index/sec5-line1.jpg) repeat-x center top, url(../img/index/sec5-line2.jpg) repeat-x center bottom, url(../img/index/sec5-bg.jpg) repeat center top;
  padding: 103px 0 192px;
}
#sec5 h2 {
  text-align: center;
  padding-bottom: 57px;
}
#sec5 .main {
  background: url(../img/index/sec5-bgin_01.jpg) no-repeat center top, url(../img/index/sec5-bgin_03.jpg) no-repeat center bottom, url(../img/index/sec5-bgin_02.jpg) repeat-y center top;
  padding: 88px 0 30px;
}
#sec5 .txttop {
  text-align: center;
  padding: 27px 0 96px;
  font-size: 20px;
  font-weight: bold;
  color: #593211;
  text-shadow: 0px 0px 5px #FFFFFF;
  line-height: 39px;
}
#sec5 .bphoto {
  text-align: center;
  padding-bottom: 98px;
  position: relative;
  width: 1001px;
  margin: 0 auto;
}
#sec5 .bphoto:before {
  background: url(../img/index/sec5-photo1_on.jpg) no-repeat center top;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: '';
  z-index: 1;
  opacity: 0;
  transition: opacity 0.5s ease;
}
#sec5 .bphoto:hover:before {
  opacity: 1;
}
#sec5 .sp-img-fade {
  position: relative;
}
#sec5 .sp-img-fade .slide-fade {
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
#sec5 .img-scale {}
#sec5 .img-scale img {
  max-width: 100%;
  height: auto;
}
#sec5 .info1 {
  padding-bottom: 105px;
  color: #FFF;
  font-size: 17px;
  line-height: 33px;
}
#sec5 .info1 h3 {
  font-size: 30px;
  margin: -3px 0 41px;
}
#sec5 .info1 .fr {
  margin-right: -35px;
}
#sec5 .info2 {
  color: #FFF;
  padding-bottom: 83px;
  font-size: 17px;
  line-height: 33px;
}
#sec5 .info2 h3 {
  font-size: 30px;
  margin: -3px 0 41px;
}
#sec5 .info2 .txt {
  width: 471px;
  margin-right: -24px;
  letter-spacing: -1px;
}
#sec6 {
  background: #000;
}
#sec6 h2 {
  text-align: center;
}
#sec6 .txt {
  text-align: center;
  padding: 54px 0 74px;
  font-size: 20px;
  font-weight: bold;
  color: #593211;
  text-shadow: 0px 0px 5px #FFFFFF;
  line-height: 39px;
}
#sec6 .fl {
  margin-left: 19px;
}
#sec6 .fr {
  margin-right: 19px;
}
#sec6 .bg {
  margin: auto;
  width: 100%;
  max-width: 1440px;
  position: relative;
  overflow: hidden;
}
#sec6 .bg > * {
  position: relative;
  z-index: 1;
}
#sec6 .bg-svg {
  z-index: 0;
}
#sec6 .bg-scale {
  max-width: 1440px;
}
#sec6 .content {
  padding: 92px 0 319px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
#animatedModal2 .modal-content .photo, #animatedModal3 .modal-content .photo {
  position: absolute;
  top: 60px;
  right: 16px;
  width: 38%;
}
#animatedModal4 .modal-content .photo {
  position: absolute;
  top: 35px;
  right: 50px;
  width: 20%;
}
#animatedModal5 .modal-content .photo {
  position: absolute;
  top: 35px;
  right: 30px;
  width: 30%;
}
#animatedModal6 .modal-content .photo {
  width: 40%;
}
@media screen and (max-width: 1300px) {
  #sec3 .main .item1 {
    left: -146px;
  }
  #sec3 .main .item3 {
    right: -109px;
  }
  #sec3 .main .item6 dl {
    position: absolute;
    bottom: 218px;
    left: 16px;
  }
  #sec3 .main .item4 dl {
    position: absolute;
    bottom: 248px;
    left: -14px;
  }
  #sec4 .listbox .item {
    margin: 0 -5.1%;
    width: 25%;
  }
  #sec4 .listbox img {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  #sec1 {
    background: url(../img/index/sp-sec1-bg_01.jpg) no-repeat center top, url(../img/index/sp-sec1-bg_03.png) no-repeat center bottom, url(../img/index/sp-sec1-bg_02.jpg) no-repeat center center;
    -webkit-background-size: 100% auto, 100% auto, 100% 100%;
    background-size: 100% auto, 100% auto, 100% 100%;
    padding: 40% 0;
  }
  #sec1 .wrap {
    background: url(../img/index/sp-sec1-bgin_01.png) no-repeat center top, url(../img/index/sp-sec1-bgin_03.png) no-repeat center bottom, url(../img/index/sp-sec1-bgin_02.png) no-repeat center top;
    -webkit-background-size: 100% auto, 100% auto, 100% 100%;
    background-size: 100% auto, 100% auto, 100% 100%;
    padding: 15% 9% 10%;
  }
  #sec1 h2 {
    padding: 0 5%;
  }
  #sec1 .txt {
    font-size: 14px;
    line-height: 27px;
    padding-top: 5%;
    padding-bottom: 10%;
  }
  #sec1 .txt p + p {
    padding-top: 5%;
  }
  #sec1 .txt span {
    font-size: 18px;
    letter-spacing: 0px;
    line-height: 30px;
  }
  #sec2 h2 {
    padding: 10% 5% 0;
  }
  #sec2 .top .txt {
    padding-top: 5%;
    font-size: 14px;
    padding: 5% 3% 0;
    line-height: 25px;
  }
  #sec2 .bg {
    padding-bottom: 10%;
    background:url(../img/index/sec2-bgrp.png) repeat;
  }
  #sec2 .main {
    width: 100%;
  }
  #sec2 .box {
    background: url(../img/index/sp-sec2-bg_01.png) no-repeat center top, url(../img/index/sp-sec2-bg_03.png) no-repeat center bottom;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
    margin: 35% 3% 0;
    position: relative;
    padding: 5%;
    z-index: 1;
  }
  #sec2 .box:before {
    background: url(../img/index/sp-sec2-bg_02.jpg) repeat-y center top;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
    position: absolute;
    top: 28px;
    bottom: 26px;
    left: 0;
    right: 0;
    content: '';
    z-index: -1;
  }
  #sec2 .box h3 {
    padding: 5%;
  }
  #sec2 .box dl {
    background: url(../img/index/sp-sec2-line_01.png) no-repeat center top, url(../img/index/sp-sec2-line_03.png) no-repeat center bottom;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
    position: relative;
    padding: 7% 0;
    float: none;
    margin-bottom: 15px;
  }
  #sec2 .box dl:before {
    background: url(../img/index/sp-sec2-line_02.png) repeat-y center top;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 0;
    right: 0;
    content: '';
    z-index: -1;
  }
  #sec2 .main .txt {
    position: static !important;
    width: auto !important;
    padding: 7% 5% 0;
  }
  #sec2 .main .number {
    font-size: 45px;
    left: 29%;
    bottom: inherit;
    top: 53px;
  }
  #sec2 .main .number img {
    width: 50px;
    margin: 50px 0 0 5px;
  }
  #sec2 .main .item5 .txt {
    display: none;
  }
  #sec2 .main dl:nth-child(3), #sec2 .main dl:nth-child(5) {
    margin-left: 0;
  }
  #sec3 {
    background: url(../img/index/sp-sec3-bg.jpg) no-repeat center top;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 10% 0;
  }
  #sec3 h2 {
    padding: 10% 5% 0;
  }
  #sec3 .txt {
    padding-top: 5%;
    font-size: 14px;
    padding: 5% 3% 0;
    line-height: 25px;
  }
  #sec3 .main {
    min-height: auto;
    padding: 0 8%;
  }
  #sec3 .main .item {
    position: relative !important;
    top: inherit;
    left: inherit;
    right: inherit;
    bottom: inherit;
  }
  #sec3 .main .item dl {
    position: absolute;
    bottom: 20%;
    left: 20%;
    opacity: 1;
  }
  #sec3 .main .item dl dt {
    display: none;
  }
  #sec3 .main .item dl dd {
    position: static;
    font-size: 14px;
    line-height: 24px;
  }
  #sec3 .main .item6 dl {
    left: 15%;
  }
  #sec4 {
    background: url(../img/index/sp-sec4-bg.jpg) no-repeat center top;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 10% 0;
  }
  #sec4 h2 {
    padding: 10% 5% 0;
  }
  #sec4 .txttop {
    padding-top: 5%;
    font-size: 16px;
    padding: 5% 3%;
    line-height: 26px;
  }
  #sec4 .listbox .item {
    margin: 0;
  }
  #sec4 .listbox .off {
    /* opacity: 0; */
    opacity: 1;
  }
  #sec4 .listbox .item:hover .on {
    /* opacity: 0; */
    opacity: 1;
  }
  #sec4 .listbox .slick-current .item .on {
    opacity: 1;
  }
  #sec4 .listbox .item img {
    max-width: 75%;
  }
  #sec4 .slick-prev, #sec4 .slick-next {
    top: 75%;
  }
  #sec4 .slick-prev {
    left: 50%;
    margin-left: -90px;
  }
  #sec4 .slick-next {
    right: 50%;
    margin-right: -100px;
  }
  #sec4 .modal-content {
    width: auto;
    margin: 5%;
    background: url(../img/index/sp-sec4-boxbg_01.jpg) no-repeat center top, url(../img/index/sp-sec4-boxbg-03.jpg) no-repeat center bottom, url(../img/index/sp-sec4-boxbg-02.jpg) repeat-y center top;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
    top: inherit;
    left: inherit;
    transform: translate(0, 0);
  }
  #sec4 .modal-content .close-modal {
    top: 20px;
    right: 20px;
  }
  #sec4 .modal-content .close-modal img {
    width: 30px;
  }
  #sec4 .modal-content .main {
    padding: 10% 7% 15%;
  }
  #sec4 .modal-content h3 {
    padding: 0 5%;
    width: auto !important;
  }
  #sec4 .modal-content .photo {
    position: static;
    padding: 5% 10%;
    width: auto !important;
  }
  #sec4 .modal-content .txt {
    font-size: 16px;
    line-height: 30px;
    padding: 0;
    height: auto !important;
  }
  #sec4 .modal-content .name {
    font-size: 16px;
    padding: 5% 0 0 0;
  }
  #sec4 .modal-content .name span {
    font-size: 25px;
  }
  #sec5 {
    padding: 10% 0 12%;
    -webkit-background-size: 25% auto;
    background-size: 25% auto;
  }
  #sec5 h2 {
    padding: 5%;
  }
  #sec5 .main {
    margin: 0 2.5%;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
    padding: 10% 5% 5%;
  }
  #sec5 .txttop {
    padding-top: 5%;
    font-size: 15px;
    padding: 5% 0;
    line-height: 26px;
  }
  #sec5 h3.text_c {
    padding: 0 10%;
  }
  #sec5 .bphoto {
    width: auto;
    padding-bottom: 0;
  }
  #sec5 .name {
    padding: 5% 0 10%;
  }
  #sec5 .info1 h3, #sec5 .info2 h3 {
    font-size: 20px;
    margin: 5% 3%;
  }
  #sec5 .txt {
    padding: 0 3% 5%;
  }
  #sec5 .info1 {
    padding-bottom: 5%;
    font-size: 14px;
    line-height: 26px;
  }
  #sec5 .info1 .fr {
    margin-right: 0;
    padding: 0 3%;
  }
  #sec5 .info2 {
    padding-bottom: 5%;
    font-size: 14px;
    line-height: 26px;
  }
  #sec5 .info2 .fl {
    margin-right: 0;
    padding: 0 3%;
  }
  #sec5 .info2 .txt {
    width: auto;
    margin-right: 0;
    letter-spacing: 0;
  }
  #sec5 .bphoto:before {
    background: url(../img/index/sp-sec5-photo2.png) no-repeat center top;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
    transition: opacity 1s ease 2s;
  }
  #sec5 .bphoto.animated:before {
    opacity: 1;
  }
  #sec6 {
    background: url(../img/index/sp-sec6-bg.jpg) no-repeat center top;
    -webkit-background-size: cover;
    background-size: cover;
  }
  #sec6 .content {
    padding: 7% 0 15%;
  }
  #sec6 h2 {
    padding: 7% 5% 0;
  }
  #sec6 .txt {
    padding-top: 5%;
    font-size: 15px;
    padding: 5% 0;
    line-height: 26px;
  }
  #sec6 ul {
    padding: 0 17%;
  }
  #sec6 ul .fl, #sec6 ul .fr {
    margin: 0 0 5% 0;
  }
}
@media screen and (max-width: 568px) {
  #sec2 .main .number {
    left: 27%;
    top: 12px;
  }
  #sec4 .modal-content .txt {
    font-size: 14px;
    line-height: 26px;
    letter-spacing: -0.2px;
  }
  #sec4 .modal-content .name {
    font-size: 14px;
  }
  #sec4 .modal-content .name span {
    font-size: 20px;
  }
}
@media screen and (max-width: 320px) {
  #sec1 .txt {
    font-size: 12px;
    line-height: 21px;
    letter-spacing: -0.1px;
  }
  #sec1 .txt span {
    font-size: 16px;
    letter-spacing: 0px;
    line-height: 27px;
  }
  #sec2 .main .number {
    font-size: 40px;
    left: 27%;
    bottom: inherit;
    top: 0%;
  }
  #sec2 .top .txt, #sec3 .txt, #sec4 .txttop, #sec5 .txttop {
    font-size: 13px;
  }
  #sec3 .main .item dl dd {
    position: static;
    font-size: 14px;
    line-height: 22px;
  }
  #sec5 .info1, #sec5 .info2 {
    font-size: 12px;
    line-height: 24px;
  }
  #sec5 .info1 h3, #sec5 .info2 h3 {
    font-size: 17px;
  }
  #sec4 .modal-content .txt, #sec4 .modal-content .name {
    font-size: 12px;
    line-height: 23px;
  }
  #sec4 .modal-content .name span {
    font-size: 16px;
  }
  #sec4 .modal-content .close-modal img {
    width: 25px;
  }
}
html.noscroll, html.noscroll body {
  pointer-events: none;
  overflow-y: hidden !important;
}
html.noscroll #modal {
  pointer-events: visible;
}
#modal {
  opacity: 0;
  margin: auto;
  text-align: center;
  background: rgba(0, 0, 0, .5);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: all .3s ease .3s;
  visibility: hidden;
  z-index: 999999;
}
#modal.pending {
  opacity: 0;
  visibility: visible;
}
#modal.pending * {
  pointer-events: none;
}
#modal.active {
  opacity: 1;
  transition: all .3s ease;
  visibility: visible;
}
#modal:before {
  content: "";
  display: inline-block;
  margin-left: -150px;
  height: 100%;
  vertical-align: middle;
}
#modal .close {
  cursor: pointer;
  background: url(../img/modal/close.png) no-repeat center;
  width: 30px;
  height: 31px;
  position: absolute;
  top: 1em;
  right: 1em;
  z-index: 3;
}
#modal .launch {
  pointer-events: none;
  opacity: 0;
  display: inline-block;
  padding: 72px;
  vertical-align: middle;
  background: url(../img/modal/main.png) no-repeat center / 100% 100%;
  width: 100%;
  max-width: 870px;
  max-height: 100vh;
  transform: translateX(75px);
  transition:
    opacity .3s ease, visibility .3s ease;
  visibility: hidden;
  overflow: auto;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#modal.active .launch {
  opacity: 1;
  transition: all .3s ease .3s;
  visibility: visible;
}
#modal .main {
  pointer-events: visible;
  display: none;
  padding: 60px;
  text-align: left;
  -webkit-overflow-scrolling: none;
}
#modal .main.active {
  display: block;
}
#modal h2 {
  margin-bottom: -115px;
  text-align: center;
  position: relative;
  top: -115px;
}
#modal .slider {
  margin-bottom: 30px;
  position: relative;
}
#modal .lbl {
  width: 25%;
  position: absolute;
  left: -3%;
  bottom: -15%;
  z-index: 1;
}
#modal .lbl img {
  width: 100%;
  height: auto;
}
#modal .photo {
  margin: auto;
  max-width: 100%;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  overflow: hidden;
}
#modal .photo ul {
  position: relative;
}
#modal .photo li {
  float: left;
}
#modal .photo img {
  height: auto;
  max-width: 100%;
}
#modal .control {
  pointer-events: none;
  margin: auto;
  height: 50px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
}
#modal .next, #modal .prev {
  pointer-events: visible;
  cursor: pointer;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 0;
  bottom: 0;
}
#modal .next {
  background-image: url(../img/modal/next.png);
  right: -25px;
}
#modal .prev {
  background-image: url(../img/modal/prev.png);
  left: -25px;
}
#modal .content {
  position: relative;
}
#modal .desc {
  margin-left: 210px;
  color: #54340E;
  font-size: 15px;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  html.noscroll, html.noscroll body {
    position: fixed;
  }
  #modal .close {
    background-image: url(../img/modal/sp-close.png);
    background-size: cover;
    width: 9.244791666666667vw;
    height: 9.244791666666667vw;
    top: 1vmin;
    right: 1vmin;
  }
  #modal:before {
    display: none;
  }
  #modal .launch {
    pointer-events: visible;
    margin: auto;
    padding: 0;
    background-image: url(../img/modal/sp-main.png);
    width: auto;
    max-width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: none;
  }
  #modal .main {
    padding: 7.8125vw;
  }
  #modal h2 {
    margin-bottom: 0;
    top: 0;
  }
  #modal .slider {
    margin-bottom: 5.859375vw;
  }
  #modal .next, #modal .prev {
    background-size: cover;
    width: 3.255208333333333vw;
    height: 4.6875vw;
  }
  #modal .next {
    background-image: url(../img/modal/sp-next.png);
    right: -4.557291666666667vw;
  }
  #modal .prev {
    background-image: url(../img/modal/sp-prev.png);
    left: -4.557291666666667vw;
  }
  #modal .lbl {
    /*
		top: -185px;
		left: -60px;
		transform: scale(.5);
		*/
  }
  #modal .desc {
    margin-left: 0;
  }
}
.svg-animation {
  pointer-events: none;
  margin: auto;
  width: 100%;
  height: 100%;
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0 !important;
}
.svg-animation svg {
  margin: auto;
  width: 100%;
  /* height: 100%; */
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.svg-animation svg .caption image {
  pointer-events: visible;
  cursor: pointer;
}
.bg-scale {
  pointer-events: none;
  opacity: 0;
  width: 100%;
  height: auto;
}
.bg-scale img {
  width: 100%;
  height: auto;
}
.entry-btn {
  position: relative;
  z-index: 1;
}
.entry-btn a.top-btn01 {
  position: absolute;
  top: 32vw;
  left: 9vw;
}
.entry-btn a.top-btn02 {
  position: absolute;
  top: 40vw;
  left: 9vw;
}
.entry-btn img {
  width: 16vw;
}
@media screen and (max-width: 1115px) {
  .entry-btn img {
    width: 200px;
  }
  .entry-btn a.top-btn01 {
    top: 380px;
    left: 80px;
  }
  .entry-btn a.top-btn02 {
    top: 474px;
    left: 80px;
  }
}
@media screen and (max-width: 767px) {
  .entry-btn a.top-btn01 {
    top: 57vw;
    left: 7vw;
  }
  .entry-btn a.top-btn02 {
    top: 73vw;
    left: 7vw;
  }
  .entry-btn img {
    width: 35vw;
  }
}
@media(max-width:500px){
  .entry-btn a.top-btn01 {
    top: 58vw;
    left: 7vw;
  }
  .entry-btn a.top-btn02 {
    top: 75vw;
    left: 7vw;
  }
}
    
.progress {
  position: relative;
}
html:not(.loaded) {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  overflow-y: hidden !important;
}
.progress:before, .progress:after {
  content: "";
  margin: auto;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  transition: all .3s ease;
  z-index: 9999;
}
.progress:before {
  background: #000;
}
.progress:after {
  content: "";
  font-size: 25px;
  text-indent: -9999em;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: preloader 1.1s ease infinite;
  animation: preloader 1.1s ease infinite;
}
html.loaded .progress:before, html.loaded .progress:after {
  opacity: 0;
}
html.done .progress:before, html.done .progress:after {
  display: none;
}
@-webkit-keyframes preloader {
  0%, 100% {
    box-shadow:
      0em -2.6em 0em 0em #cc0000, 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2), 2.5em 0em 0 0em rgba(204, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.2), 0em 2.5em 0 0em rgba(204, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.2), -2.6em 0em 0 0em rgba(204, 0, 0, 0.5), -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.7);
  }
  12.5% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.7), 1.8em -1.8em 0 0em #cc0000, 2.5em 0em 0 0em rgba(204, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.2), 0em 2.5em 0 0em rgba(204, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.2), -2.6em 0em 0 0em rgba(204, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.5);
  }
  25% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.5), 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.7), 2.5em 0em 0 0em #cc0000, 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.2), 0em 2.5em 0 0em rgba(204, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.2), -2.6em 0em 0 0em rgba(204, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2);
  }
  37.5% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.5), 2.5em 0em 0 0em rgba(204, 0, 0, 0.7), 1.75em 1.75em 0 0em #cc0000, 0em 2.5em 0 0em rgba(204, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.2), -2.6em 0em 0 0em rgba(204, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2);
  }
  50% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2), 2.5em 0em 0 0em rgba(204, 0, 0, 0.5), 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.7), 0em 2.5em 0 0em #cc0000, -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.2), -2.6em 0em 0 0em rgba(204, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2);
  }
  62.5% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2), 2.5em 0em 0 0em rgba(204, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.5), 0em 2.5em 0 0em rgba(204, 0, 0, 0.7), -1.8em 1.8em 0 0em #cc0000, -2.6em 0em 0 0em rgba(204, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2);
  }
  75% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2), 2.5em 0em 0 0em rgba(204, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.2), 0em 2.5em 0 0em rgba(204, 0, 0, 0.5), -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.7), -2.6em 0em 0 0em #cc0000, -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2);
  }
  87.5% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2), 2.5em 0em 0 0em rgba(204, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.2), 0em 2.5em 0 0em rgba(204, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.5), -2.6em 0em 0 0em rgba(204, 0, 0, 0.7), -1.8em -1.8em 0 0em #cc0000;
  }
}
@keyframes preloader {
  0%, 100% {
    box-shadow:
      0em -2.6em 0em 0em #cc0000, 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2), 2.5em 0em 0 0em rgba(204, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.2), 0em 2.5em 0 0em rgba(204, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.2), -2.6em 0em 0 0em rgba(204, 0, 0, 0.5), -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.7);
  }
  12.5% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.7), 1.8em -1.8em 0 0em #cc0000, 2.5em 0em 0 0em rgba(204, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.2), 0em 2.5em 0 0em rgba(204, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.2), -2.6em 0em 0 0em rgba(204, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.5);
  }
  25% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.5), 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.7), 2.5em 0em 0 0em #cc0000, 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.2), 0em 2.5em 0 0em rgba(204, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.2), -2.6em 0em 0 0em rgba(204, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2);
  }
  37.5% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.5), 2.5em 0em 0 0em rgba(204, 0, 0, 0.7), 1.75em 1.75em 0 0em #cc0000, 0em 2.5em 0 0em rgba(204, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.2), -2.6em 0em 0 0em rgba(204, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2);
  }
  50% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2), 2.5em 0em 0 0em rgba(204, 0, 0, 0.5), 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.7), 0em 2.5em 0 0em #cc0000, -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.2), -2.6em 0em 0 0em rgba(204, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2);
  }
  62.5% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2), 2.5em 0em 0 0em rgba(204, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.5), 0em 2.5em 0 0em rgba(204, 0, 0, 0.7), -1.8em 1.8em 0 0em #cc0000, -2.6em 0em 0 0em rgba(204, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2);
  }
  75% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2), 2.5em 0em 0 0em rgba(204, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.2), 0em 2.5em 0 0em rgba(204, 0, 0, 0.5), -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.7), -2.6em 0em 0 0em #cc0000, -1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2);
  }
  87.5% {
    box-shadow:
      0em -2.6em 0em 0em rgba(204, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(204, 0, 0, 0.2), 2.5em 0em 0 0em rgba(204, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(204, 0, 0, 0.2), 0em 2.5em 0 0em rgba(204, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(204, 0, 0, 0.5), -2.6em 0em 0 0em rgba(204, 0, 0, 0.7), -1.8em -1.8em 0 0em #cc0000;
  }
}
/* fix for Edge */
html.edge #sec2 .svg-animation.viewpc .car {
  transform: translate(150px, 1170px);
}
html.edge #sec2 .svg-animation.viewpc .boat {
  opacity: 1;
  transform: translate(915px, 1530px);
}
html.edge #sec2 .svg-animation.viewsp .car {
  transform: translate(80px, 1370px);
}
html.edge #sec2 .svg-animation.viewsp .boat {
  opacity: 1;
  transform: translate(485px, 1470px);
}
html.edge #sec6 .bg-svg.viewpc .svg-animation .car {
  transform: translate(1250px, 610px);
}
html.edge #sec6 .bg-svg.viewsp .svg-animation .car {
  transform: translate(600px, 775px);
}