@charset "UTF-8";
footer{
  padding-top: 60px;
}
#sec1 {
  padding: 65px 0 102px;
}

#sec1 h2 {
  text-align: center;
  margin-bottom: 50px;
}

#sec1 .blk {
  position: relative;
  display: flex;
  justify-content: center;
  padding-right: 65px;
}

#sec1 h3 {
  width: 27px;
  position: relative;
  z-index: 1;
  order: 3;
}

#sec1 .txt {
  width: 534px;
  margin: 0 50px;
  position: relative;
  z-index: 1;
  order: 2;
}
#sec1 h3 img,
#sec1 .txt img{
  width: 100%;
  height: auto;
}
#sec1 .btn {
  width: 42px;
  height: 180px;
  position: relative;
  z-index: 1;
  order: 1;
}

#sec1 .btn a {
  font-size: 18px;
  line-height: 41px;
  font-weight: 500;
  letter-spacing: 0.1em;
  height: 100%;
  text-align: center;
  border: 1px solid #143754;
  cursor: pointer;
  padding-bottom: 25px;
  transition: 0.3s all ease-in-out;
}

#sec1 .btn a:before {
  background: #143754;
}

#sec1 .btn a:after {
  content: '';
  height: 18px;
  background-image: url("../img/shared/arrow5.svg");
  background-repeat: no-repeat;
  background-size: 18px;
  background-position: center;
  position: absolute;
  left: 0;
  right: 0;
  right: 0;
  bottom: 25px;
  z-index: 2;
  transition: 0.3s all ease-in-out;
}

#sec1 .btn a:hover {
  color: #fff;
}

#sec1 .btn a:hover:after {
  background-image: url("../img/shared/arrow5_wh.svg");
}

#sec1 .deco1 {
  position: absolute;
  left: -55px;
  top: -70px;
}

#sec1 .deco2 {
  position: absolute;
  left: -127px;
  top: 100px;
}

#sec1 .deco3 {
  position: absolute;
  left: -307px;
  bottom: -140px;
}

#sec1 .deco4 {
  position: absolute;
  left: 93px;
  bottom: -245px;
}

#sec1 .deco5 {
  position: absolute;
  top: -43px;
  right: -250px;
}

#sec1 .deco6 {
  position: absolute;
  top: 140px;
  right: -125px;
}

#sec1 .deco7 {
  position: absolute;
  top: 240px;
  right: -70px;
}

#sec1 .deco8 {
  position: absolute;
  bottom: -266px;
  right: -230px;
}

#sec1 .deco9 {
  position: absolute;
  left: 522px;
  bottom: -180px;
}

#sec1 .blk2 {
  margin-top: 325px;
}

#sec1 h4 {
  text-align: center;
  font-size: 18px;
  line-height: 24px;
  font-weight: 500;
  letter-spacing: 0.15em;
  padding-bottom: 10px;
  margin-bottom: 44px;
  background-image: url("../img/shared/line.jpg");
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center bottom;
}

.banner {
  margin-bottom: 20px;
}

@media only screen and (max-width: 1080px) {
  #sec1 .deco1 {
    left: -20px;
  }
  #sec1 .deco2 {
    left: -29px;
  }
  #sec1 .deco3 {
    left: -181px;
  }
  #sec1 .deco4 {
    left: 193px;
  }
  #sec1 .deco5 {
    right: -176px;
  }
  #sec1 .deco6 {
    right: -10px;
  }
  #sec1 .deco7 {
    right: -3px;
  }
  #sec1 .deco8 {
    right: -150px;
  }
  #sec1 .deco9 {
    left: 465px;
  }
}

@media only screen and (max-width: 980px) {
  #sec1 .blk {
    padding-right: 13px;
  }
  #sec1 .txt {
    margin: 0 35px;
  }
  #sec1 .deco1 {
    left: -10px;
  }
  #sec1 .deco2 {
    display: none;
  }
  #sec1 .deco3 {
    left: -192px;
    bottom: -166px;
  }
  #sec1 .deco5 {
    top: -117px;
  }
  #sec1 .deco6 {
    right: 3px;
  }
  #sec1 .deco9 {
    left: 375px;
  }
  #sec1 .banner {
    padding: 0 20px;
  }
  #sec1 .banner img {
    width: 100%;
    height: auto;
  }
}

@media only screen and (max-width: 767px) {
  footer{
    padding-top: 28px;
  }
  #sec1 {
    padding: 42px 0;
  }
  #sec1 h2 {
    width: 261px;
    margin: 0 auto 18px;
  }
  #sec1 .blk {
    display: block;
  }
  #sec1 h3 {
    width: 124px;
    margin: 0 auto;
  }
  #sec1 .txt {
    max-width: 293px;
    width: 96%;
    margin: 38px auto;
  }
  #sec1 .btn {
    width: 167px;
    height: 30px;
    margin: 0 auto;
  }
  #sec1 .btn a {
    writing-mode: horizontal-tb;
    -o-writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb;
    -moz-writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
    line-height: 27px;
    font-size: 11px;
    padding: 0 15px 0 0;
  }
  #sec1 .btn a:after {
    width: 11px;
    height: 100%;
    background-size: 100%;
    left: auto;
    right: 42px;
    bottom: 0;
    top: 0;
  }
  #sec1 .deco1 {
    width: 8.8%;
    top: -47px;
    left: 5%;
  }
  #sec1 .deco3 {
    width: 27.2%;
    left: -5%;
    top: 73px;
    bottom: auto;
  }
  #sec1 .deco4 {
    display: none;
  }
  #sec1 .deco5 {
    width: 35%;
    right: -12%;
    top: -46px;
  }
  #sec1 .deco6 {
    display: none;
  }
  #sec1 .deco7 {
    width: 22%;
    left: 8%;
    right: auto;
    bottom: -21vw;
    top: auto;
  }
  #sec1 .deco8 {
    width: 28.5%;
    right: -3.2%;
    bottom: -13vw;
  }
  #sec1 .deco9 {
    width: 10%;
    right: 5%;
    top: 20vw;
    left: auto;
    bottom: auto;
  }
  #sec1 .blk2 {
    margin-top: 104px;
  }
  #sec1 h4 {
    font-size: 14px;
    line-height: 19px;
    letter-spacing: 0.05em;
    background-size: 261px;
    margin-bottom: 18px;
    padding-bottom: 8px;
  }
  #sec1 .banner {
    padding: 0 32px;
  }
}

@media only screen and (max-width: 400px) {
  #sec1 .deco3 {
    left: -9%;
  }
  #sec1 .deco5 {
    top: -41px;
  }
}

@media only screen and (max-width: 370px) {
  #sec1 .deco1 {
    left: 1%;
  }
  #sec1 .deco3 {
    left: -13%;
  }
}

#sec2 {
  padding: 100px 0;
  background: #FFF9ED;
  text-align: center;
  position: relative;
  z-index: 0;
}

#sec2 .wrap:before {
  content: '';
  background-image: url("../img/index/sec2-deco1.png");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 227px;
  height: 994px;
  position: absolute;
  top: 25px;
  left: -255px;
  z-index: -1;
}

#sec2 .wrap:after {
  content: '';
  background-image: url("../img/index/sec2-deco2.png");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 264px;
  height: 994px;
  position: absolute;
  top: 32px;
  right: -287px;
  z-index: -1;
}

#sec2 h2 {
  max-width: 855px;
  width: 100%;
  margin: 0 auto 15px;
  text-align: center;
  padding: 0px 25px;
  background: url("../img/shared/ttl-bg-l.png") no-repeat left top/auto, url("../img/shared/ttl-bg-r.png") no-repeat right top/auto;
}

#sec2 h2 span {
  display: block;
  padding: 15px 0;
  background: url("../img/shared/ttl-bg-c.png") repeat-x center top;
}

#sec2 .txt {
  letter-spacing: 0.15em;
}

#sec2 ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#sec2 ul li {
  width: 259px;
  margin: 50px 20px 0;
}

#sec2 ul dl dt {
  background-image: url("../img/index/sec2-frame.png");
  background-repeat: no-repeat;
  background-size: 100%;
  padding: 12px;
}

#sec2 ul dl dt span {
  display: block;
  overflow: hidden;
  border-radius: 50%;
}

#sec2 ul dl dt img {
  width: 100%;
  height: auto;
  transition: 0.6s all ease-in-out;
}

#sec2 ul dl dd {
  line-height: 22px;
  font-weight: 600;
  margin-top: 10px;
}

#sec2 ul dl dd small {
  display: block;
  font-size: 14px;
  font-weight: 500;
}

#sec2 ul dl dd .lts {
  letter-spacing: -0.1em;
}

#sec2 ul a {
  display: block;
}

#sec2 ul a:hover {
  text-decoration: none;
}

#sec2 ul a:hover dl dt img {
  opacity: 1;
  transform: scale(1.1);
}

#sec2 .btn {
  width: 360px;
  margin: 58px auto 0;
}

#sec2 .btn a {
  border: 2px solid #D09140;
  background: #fff;
  color: #D09140;
  font-size: 18px;
  font-weight: 600;
  border-radius: 30px;
  padding: 12px 10px 12px 0;
  transition: 0.3s all ease-in-out;
}

#sec2 .btn a:after {
  content: '';
  width: 7px;
  background-image: url("../img/shared/arrow.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  position: absolute;
  right: 80px;
  top: 0;
  bottom: 0;
  transition: 0.3s all ease-in-out;
}

#sec2 .btn a:hover {
  color: #fff;
}

#sec2 .btn a:hover:after {
  background-image: url("../img/shared/arrow_wh.png");
}

@media only screen and (max-width: 1300px) {
  #sec2 .wrap:before {
    left: -167px;
  }
  #sec2 .wrap:after {
    right: -225px;
  }
}

@media only screen and (max-width: 900px) {
  #sec2 .wrap:before {
    left: -84px;
    top: 60px;
  }
  #sec2 .wrap:after {
    right: -148px;
    top: 64px;
  }
  #sec2 h2 {
    width: 92%;
  }
  #sec2 ul li:nth-child(1){
    order: 1;
  }
  #sec2 ul li:nth-child(2){
    order: 2;
  }
  #sec2 ul li:nth-child(3){
    order: 4;
  }
  #sec2 ul li:nth-child(4){
    order: 3;
  }
  #sec2 ul li:nth-child(5){
    order: 5;
  }
  #sec2 ul li:nth-child(6){
    order: 6;
  }
}
@media screen and (max-width: 900px) and (min-width: 768px){
  
}
@media only screen and (max-width: 767px) {
  #sec2 {
    padding: 35px 0;
  }
  #sec2 .wrap:before {
    display: none;
  }
  #sec2 .wrap:after {
    display: none;
  }
  #sec2 h2 {
    background: url("../img/shared/ttl-bg_sp.png") no-repeat center/100%;
    width: 313px;
    padding: 0;
    margin-bottom: 10px;
  }
  #sec2 h2 span {
    background: transparent;
    padding: 3px 0 5px;
  }
  #sec2 h2 img {
    width: 91px;
  }
  #sec2 .txt {
    font-size: 14px;
    line-height: 19px;
    letter-spacing: 0.05em;
  }
  #sec2 ul {
    padding: 0 20px;
  }
  #sec2 ul li {
    width: 50%;
    margin: 25px 0 0;
    padding: 0 10px;
  }
  #sec2 ul dl dt {
    padding: 7px;
  }
  #sec2 ul dl dd {
    margin-top: 5px;
    line-height: 15px;
  }
  #sec2 ul dl dd small {
    font-size: 11px;
  }
  #sec2 ul dl dd .lts {
    letter-spacing: 0;
  }
  #sec2 .btn {
    margin-top: 34px;
    width: 231px;
  }
  #sec2 .btn a {
    font-size: 13px;
    letter-spacing: 0;
    padding: 5.5px 14px 4.5px 0;
    border-width: 1px;
  }
  #sec2 .btn a:after {
    width: 5px;
    right: 47px;
    top: 1px;
  }
}

@media only screen and (max-width: 400px) {
  #sec2 ul {
    padding: 0 10px;
  }
}

@media only screen and (max-width: 370px) {
  #sec2 ul {
    padding: 0 5px;
  }
  #sec2 ul li {
    padding: 0 5px;
  }
}

#sec3 {
  padding: 100px 0;
}

#sec3 h2 {
  text-align: center;
  margin-bottom: 14px;
}

#sec3 .txt {
  line-height: 21px;
  letter-spacing: 0.15em;
  text-align: center;
  margin-bottom: 47px;
}

#sec3 h3 {
  margin-bottom: 25px;
}

#sec3 .btn a {
  font-size: 14px;
  line-height: 22px;
  font-weight: 600;
  letter-spacing: 0.07em;
  position: relative;
  padding-bottom: 5px;
}

#sec3 .btn a img {
  margin-left: 20px;
}

#sec3 .btn a:before {
  content: '';
  height: 1px;
  background: #E27979;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  transition: 0.3s all ease-in-out;
}

#sec3 .btn a:hover {
  text-decoration: none;
}

#sec3 .btn a:hover:before {
  width: 100%;
  left: 0;
  right: auto;
}

#sec3 .btn a:hover img {
  opacity: 1;
}

#sec3 .s3l {
  width: 550px;
  float: left;
}

#sec3 .s3l #instafeed {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -10px 8px;
}

#sec3 .s3l #instafeed a {
  margin: 10px;
  display: block;
  width: 170px;
  height: 170px;
  transition: 0.3s all ease-in-out;
}
#sec3 .s3l #instafeed a:hover{
  opacity: 0.8;
}
#sec3 .s3l .btn a {
  color: #E27979;
}

#sec3 .s3r {
  width: 285px;
  float: right;
}

#sec3 .s3r .fbook {
  width: 285px;
  height: 363px;
  margin-bottom: 18px;
}

#sec3 .s3r .fbook span {
  width: 100% !important;
  height: 100% !important;
}

#sec3 .s3r .fbook iframe {
  width: 100% !important;
  height: 100% !important;
  border: none;
}

#sec3 .s3r .btn a {
  color: #469FB4;
}

#sec3 .s3r .btn a:before {
  background: #469FB4;
}

@media only screen and (max-width: 1050px) {
  #sec3 {
    padding-right: 55px;
  }
  #sec3 .s3l {
    margin-left: 20px;
  }
}

@media only screen and (max-width: 980px) {
  #sec3 .s3l {
    margin-left: 3%;
    width: 60%;
  }
  #sec3 .s3l #instafeed {
    margin: 0px 0px 13px;
  }
  #sec3 .s3l #instafeed a {
    width: 32%;
    height: 18vw;
    margin: 0 0 1%;
  }
  #sec3 .s3l #instafeed a+a{
    margin-left: 1%;
  }
  #sec3 .s3l #instafeed a:nth-child(4){
    margin-left: 0;
  }
  #sec3 .s3l #instafeed a:nth-child(4),
  #sec3 .s3l #instafeed a:nth-child(5),
  #sec3 .s3l #instafeed a:nth-child(6){
    margin-bottom: 0;
  }
  #sec3 .s3r {
    width: 35%;
  }
  #sec3 .s3r .fbook {
    width: 100%;
    height: 36.7vw;
  }
}

@media only screen and (max-width: 767px) {
  #sec3 {
    padding: 35px 0 110px;
  }
  #sec3 h2 {
    width: 261px;
    margin: 0 auto 9px;
  }
  #sec3 .txt {
    font-size: 14px;
    line-height: 19px;
    letter-spacing: 0.15em;
    margin-bottom: 27px;
  }
  #sec3 h3 {
    width: 108px;
    margin: 0 auto 9px;
  }
  #sec3 .btn a {
    font-size: 12px;
  }
  #sec3 .btn a img {
    width: 12px;
    margin-left: 18px;
  }
  #sec3 .s3l {
    width: 84%;
    float: none;
    margin: 0 auto 37px;
  }
  #sec3 .s3l #instafeed {
    margin-bottom: 7px;
  }
  #sec3 .s3l #instafeed a{
    height: 28vw;
  }
  #sec3 .s3r {
    width: 84%;
    float: none;
    margin: 0 auto;
  }
  #sec3 .s3r .fbook {
    max-width: 285px;
    width: 100%;
    height: 363px;
    margin: 0 auto 15px;
  }
}

#sec4 {
  background: #143753;
  color: #fff;
  display: flex;
}

#sec4 .s4-blk {
  width: 50%;
  padding: 58px 0px 50px 0px;
  position: relative;
}

#sec4 .blk {
  max-width: 515px;
  width: 86%;
  margin: 0 50px 0 auto;
}

#sec4 h2 {
  padding: 0 0 36px 15px;
  border-bottom: 1px solid;
  margin-bottom: 30px;
}

#sec4 h3 {
  font-size: 20px;
  letter-spacing: 0.15em;
  margin-bottom: 20px;
  padding-left: 15px;
}

#sec4 .info {
  padding-left: 15px;
}

#sec4 .info dl {
  width: 100%;
  display: table;
}

#sec4 .info dl dt {
  width: 76px;
  display: table-cell;
}

#sec4 .info dl dd {
  display: table-cell;
}

#sec4 .btn {
  width: 112px;
  height: 112px;
  position: absolute;
  right: 50px;
  top: 188px;
  z-index: 1;
  overflow: hidden;
  border-radius: 50%;
}

#sec4 .btn:before {
  content: '';
  border: 1px solid;
  border-radius: 50%;
  position: absolute;
  left: 4px;
  right: 4px;
  top: 4px;
  bottom: 4px;
  z-index: -1;
}

#sec4 .btn a {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid;
  border-radius: 50%;
  text-align: center;
  line-height: 20px;
  font-weight: 600;
  padding: 20px 0 0;
  transition: 0.3s all ease-in-out;
  overflow: hidden;
}

#sec4 .btn a:before {
  content: '';
  width: 0;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  transition: 0.3s all ease-in-out;
}

#sec4 .btn a:after {
  content: '';
  background-image: url("../img/shared/arrow4.png");
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center;
  height: 13px;
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  transition: 0.3s all ease-in-out;
}

#sec4 .btn a:hover {
  color: #143753;
  text-decoration: none;
}

#sec4 .btn a:hover:before {
  width: 100%;
  right: auto;
  left: 0;
}

#sec4 .btn a:hover:after {
  background-image: url("../img/shared/arrow4_bl.png");
}

#sec4 .bg {
  width: 50%;
  background-image: url("../img/index/sec4-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left center;
}

@media only screen and (max-width: 1200px) {
  #sec4 .btn {
    right: 20px;
  }
  #sec4 .blk {
    margin: 0 40px 0 auto;
  }
}

@media only screen and (max-width: 1080px) {
  #sec4 .btn {
    top: 136px;
  }
}

@media only screen and (max-width: 980px) {
  #sec4 .blk {
    width: 90%;
    margin: 0 20px 0 auto;
  }
  #sec4 h2,
  #sec4 h3,
  #sec4 .info {
    padding-left: 0;
  }
  #sec4 .bg {
    background-position: 22% center;
  }
  #sec4 .btn {
    width: 100px;
    height: 100px;
  }
}

@media only screen and (max-width: 767px) {
  #sec4 {
    display: block;
    color: #143753;
    background: transparent;
    padding-bottom: 50px;
  }
  #sec4 .bg {
    display: none;
  }
  #sec4 .s4-blk {
    width: 83%;
    margin: 0 auto;
    padding: 0;
  }
  #sec4 .s4-blk .blk {
    width: 100%;
    margin: 0;
  }
  #sec4 h2 {
    padding: 0;
    border: none;
    width: 261px;
    margin: 0 auto 18px;
  }
  #sec4 .info {
    margin-top: 15px;
  }
  #sec4 .info dl dt {
    width: 65px;
  }
  #sec4 .btn {
    width: 167px;
    height: auto;
    margin: 29px auto 0;
    position: static;
    font-family: "游明朝", YuMincho, serif;
    border-radius: 0;
  }
  #sec4 .btn:before {
    display: none;
  }
  #sec4 .btn a {
    border-radius: 0;
    font-size: 11px;
    line-height: 30px;
    padding: 0 15px 0 0;
    position: relative;
  }
  #sec4 .btn a:before {
    display: none;
  }
  #sec4 .btn a:after {
    content: '';
    width: 11px;
    height: 100%;
    background-image: url("../img/shared/arrow5.png");
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
    position: absolute;
    right: 35px;
    left: auto;
    top: 0;
    bottom: 0;
  }
}

#map {
  position: relative;
  margin-bottom: -1px;
}

#map .box {
  width: 13%;
  height: 21%;
  background-image: url("../img/index/map-box.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center top;
  padding-top: 1.4vw;
  text-align: center;
  font-size: 1.1vw;
  font-weight: 600;
  line-height: 1.3vw;
  letter-spacing: 0.05em;
  position: absolute;
  left: 52%;
  top: 16%;
  z-index: 1;
}

#map .box .ttl {
  color: #fff;
}

#map .box .btn {
  width: 75%;
  margin: 0.7vw auto 0;
}

#map .box .btn a {
  display: block;
  width: 100%;
  background: #fff;
  border-radius: 8px;
  padding: 0.8vw 0;
  transition: 0.3s all ease-in-out;
}

#map .box .btn a:hover {
  text-decoration: none;
  opacity: 0.8;
}

#map .map img {
  width: 100%;
  height: auto;
}

@media only screen and (max-width: 980px) {
  #map .box {
    width: 17%;
    height: 28%;
    padding-top: 2vw;
    font-size: 1.4vw;
    line-height: 1.7vw;
    left: 50%;
    top: 10%;
  }
  #map .box .btn {
    margin: 1vw auto 0;
  }
  #map .box .btn a {
    padding: 1.1vw 0;
  }
}

@media only screen and (max-width: 767px) {
  #map{
    margin-bottom: 0;
  }
  #map .box {
    width: 29%;
    height: 31%;
    background-image: url("../img/index/map-box_sp.png");
    left: 32.8%;
    top: 7%;
    font-size: 3vw;
    line-height: 4vw;
  }
  #map .box .btn {
    width: 90%;
    margin-top: 0.8vw;
  }
  #map .box .btn a {
    border-radius: 3px;
    padding: 1vw 0;
  }
}

