@charset "UTF-8";
#key .kv {
  background: url("../img/index/kv_sp.jpg") top center/cover;
}
#key h2 {
  position: absolute;
  z-index: 2;
  top: 36%;
  right: 25vw;
  font-size: 5vw;
  color: #fff;
}
#key h2 i {
  width: 8vw;
  position: absolute;
  top: 56%;
  right: -7vw;
}
@media only screen and (max-width: 767px) {
  #key h2 {
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    word-wrap: break-word;
    height: 90vw;
  }
}
@media only screen and (min-width: 768px) {
  #key h2 {
    font-size: 30px;
    width: 460px;
    top: 382px;
    right: auto;
    left: 18%;
  }
  #key h2 i {
    width: 190px;
    top: 40px;
    right: -60px;
  }
  #key .kv {
    background-image: url("../img/index/kv.jpg");
  }
}

#sec1 {
  padding: 20vw 0px 24vw;
  position: relative;
}
#sec1::before {
  content: "";
  position: absolute;
  bottom: 0px;
  right: 0px;
  width: 50%;
  height: 50%;
  background: url("../img/shared/bg3.jpg") repeat top left;
}
#sec1 .sec1-bg {
  box-sizing: border-box;
  background: url("../img/index/sec1_bg_sp.jpg") bottom center/cover;
  color: #fff;
  padding: 20vw 2% 38vw;
  position: relative;
}
#sec1 .sec1-bg h2 {
  width: 55%;
  margin: 0px auto 20vw;
}
#sec1 .sec1-bg h3 {
  text-align: center;
  position: relative;
  font-size: 7vw;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
#sec1 .sec1-bg h3 span {
  font-size: 6vw;
}
#sec1 .sec1-bg h3 i {
  position: absolute;
  bottom: -6vw;
  right: 0px;
  width: 50%;
}
#sec1 .sec1-txt {
  margin: 8vw 0px 0px;
  padding-bottom: 8vw;
  border-bottom: 4px double #867e72;
}
@media only screen and (min-width: 768px) {
  #sec1 {
    padding: 111px 0px 173px;
  }
  #sec1::before {
    height: 720px;
  }
  #sec1 .sec1-bg {
    background-image: url("../img/index/sec1_bg.jpg");
    padding: 152px 100px 224px;
  }
  #sec1 .sec1-bg h2 {
    width: 275px;
    margin: 0px auto 145px;
  }
  #sec1 .sec1-bg h3 {
    font-size: 67px;
    line-height: 92px;
  }
  #sec1 .sec1-bg h3 span {
    font-size: 60px;
  }
  #sec1 .sec1-bg h3 i {
    width: 336px;
    bottom: -42px;
    right: -24px;
  }
  #sec1 .sec1-txt {
    width: 745px;
    margin: 58px auto 0px;
    padding-bottom: 53px;
    text-align: center;
    letter-spacing: 0.15em;
  }
}

#sec2 {
  background: url("../img/index/sec2_bg_sp.jpg") center/cover;
  color: #fff;
  padding: 32vw 0px;
}
#sec2 h2 {
  width: 40%;
  text-align: center;
  font-size: 6vw;
  margin: 0px auto 10vw;
  letter-spacing: 0.04em;
  border-bottom: 1px solid #fff;
}
#sec2 .sec2-btn a {
  margin: 8vw auto 0px;
}
@media only screen and (min-width: 768px) {
  #sec2 {
    background-image: url("../img/index/sec2_bg.jpg");
    padding: 227px 0px 212px;
    text-align: center;
  }
  #sec2 h2 {
    width: 200px;
    margin: 0px auto 67px;
    font-size: 27px;
    line-height: 36px;
  }
  #sec2 .sec2-btn a {
    width: 320px;
    margin: 50px auto 0px;
  }
}

#sec3 {
  padding: 24vw 0px;
}
#sec3 .sec3-img1 {
  width: 90%;
  margin: 0px -8% 8vw auto;
}
#sec3 .sec3-img2 {
  width: 90%;
  margin: 0px 0px 8vw -8%;
  position: relative;
}
#sec3 .sec3-img2 span {
  position: absolute;
  top: 5%;
  right: -14vw;
  width: 5vw;
}
#sec3 h2 {
  font-size: 6vw;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 0px 0px 6vw;
}
#sec3 .sec3-btn a {
  margin: 8vw auto 0px;
}
@media only screen and (min-width: 768px) {
  #sec3 {
    padding: 166px 0px 197px;
  }
  #sec3 .sec3-img1 {
    width: 648px;
    margin: 0px -100px 0px auto;
  }
  #sec3 .sec3-img2 {
    width: 473px;
    margin: -317px 0px 0px -50px;
  }
  #sec3 .sec3-img2 span {
    width: 26px;
    top: 353px;
    right: -100px;
  }
  #sec3 .sec3-box1 {
    width: 430px;
    margin: 63px -10px 0px;
  }
  #sec3 h2 {
    font-size: 27px;
    text-align: left;
    margin: 0px 0px 35px;
  }
  #sec3 .sec3-btn a {
    margin: 27px 0px 0px;
  }
}

#sec4 {
  background: url("../img/index/sec4_bg_sp.jpg") no-repeat top center/100%, url("../img/shared/bg2.jpg") repeat top left;
  color: #fff;
  padding: 30vw 0px 24vw;
}
#sec4 h2 {
  font-size: 6vw;
  margin: 0px auto 12vw;
  position: relative;
}
#sec4 h2::before, #sec4 h2::after {
  content: "”";
  position: absolute;
  top: -5vw;
  right: -6vw;
  font-family: "Shippori Mincho";
  font-size: 7vw;
}
#sec4 h2::after {
  content: "”";
  top: auto;
  bottom: -5vw;
  left: -6vw;
  right: auto;
  transform: rotate(180deg);
}
#sec4 .sec4-img1 {
  position: relative;
  margin: 0px -5% 10vw auto;
}
#sec4 .sec4-img1 span {
  position: absolute;
  width: 6vw;
  top: -6vw;
  left: 6%;
}
#sec4 .sec4-img1 p {
  position: absolute;
  z-index: 1;
  bottom: 4vw;
  right: 5%;
  font-size: 4vw;
  font-weight: 700;
  text-align: right;
  width: 90%;
}
#sec4 .sec4-img2 {
  position: relative;
  width: 90%;
  margin: 0px auto 8vw;
}
#sec4 .sec4-img2 span {
  position: absolute;
  bottom: 6%;
  right: 2vw;
  font-size: 4vw;
  font-weight: 700;
  height: 80%;
}
#sec4 .sec4-map {
  margin: 0px -3% 8vw;
}
@media only screen and (min-width: 768px) {
  #sec4 {
    padding: 198px 0px 195px;
    background-image: url("../img/index/sec4_bg.jpg"), url("../img/shared/bg2.jpg");
  }
  #sec4 h2 {
    font-size: 27px;
    line-height: 60px;
    margin: 0px auto 195px;
  }
  #sec4 h2::before, #sec4 h2::after {
    font-size: 39px;
    top: -21px;
    right: -28px;
  }
  #sec4 h2::after {
    top: auto;
    right: auto;
    bottom: -21px;
    left: -22px;
  }
  #sec4 .sec4-img1 {
    width: 1150px;
    margin: 0px -250px 90px auto;
  }
  #sec4 .sec4-img1 span {
    width: 78px;
    top: -96px;
    left: 24px;
  }
  #sec4 .sec4-img1 p {
    font-size: 20px;
    width: 380px;
    bottom: 51px;
    right: 238px;
  }
  #sec4 .sec4-row {
    flex-direction: row-reverse;
  }
  #sec4 .sec4-img2 {
    width: 577px;
    margin: 106px -58px 0px 0px;
    align-self: flex-start;
  }
  #sec4 .sec4-img2 span {
    font-size: 20px;
    line-height: 41px;
    height: 270px;
    right: 30px;
    bottom: 10px;
  }
  #sec4 .sec4-box1 {
    width: 577px;
    margin: 0px -169px 0px 0px;
  }
  #sec4 .sec4-map {
    width: 100%;
    margin: 0px;
  }
  #sec4 .sec4-txt {
    height: 272px;
    margin: 60px 0px 0px 69px;
  }
}

#rss {
  padding: 20vw 0px;
  background: url("../img/shared/bg4.jpg") repeat top left;
}
#rss h2 {
  text-align: center;
  font-size: 6vw;
  line-height: 2.5;
  width: 85%;
  margin: 0px auto 10vw;
  border-bottom: 1px solid #746e65;
}
#rss #feed {
  margin: 0px -5%;
}
#rss #feed dl {
  width: 180px !important;
  margin: 0px 4vw;
}
#rss #feed dl dt {
  width: 100%;
  height: 120px;
  cursor: pointer;
}
#rss #feed dl dt a {
  width: 100%;
  height: 100%;
}
#rss #feed dl dt span, #rss #feed dl dt img {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}
#rss #feed dl dd {
  text-align: center;
  margin: 2vw 0px 0px;
}
#rss #feed dl dd .rss-time {
  font-size: 12px;
  color: #5a544c;
}
#rss #feed .slick-dots {
  width: 40vw;
  margin: 40px auto 0px;
  display: flex;
  justify-content: space-between;
}
#rss #feed .slick-dots li {
  width: 33.3333333333%;
}
#rss #feed .slick-dots li button {
  font-size: 0px;
  border: none;
  width: 100%;
  height: 2px;
  background: #878178;
}
#rss #feed .slick-dots li.slick-active button {
  background: #282828;
}
#rss .rss-btn a {
  margin: 16vw auto 0px;
}
@media only screen and (min-width: 768px) {
  #rss {
    padding: 120px 0px 114px;
  }
  #rss h2 {
    position: relative;
    font-size: 27px;
    margin: 68px 0px 0px 28px;
    width: 140px;
    border-bottom: none;
  }
  #rss h2::before {
    content: "";
    position: absolute;
    top: -60px;
    right: -60px;
    width: 2px;
    height: 230px;
    border-left: 1px solid #746e65;
  }
  #rss #feed {
    width: 705px;
    margin: 0px 10px 0px;
    display: flex;
    justify-content: space-between;
  }
  #rss #feed dl {
    width: 203px !important;
    margin: 0px;
  }
  #rss #feed dl dt {
    height: 148px;
  }
  #rss #feed dl dt:hover {
    opacity: 0.8;
  }
  #rss #feed dl dd {
    margin: 17px 0px 0px;
    line-height: 26px;
  }
  #rss #feed dl dd .rss-time {
    font-size: 14px;
  }
  #rss #feed dl dd .rss-ttl {
    cursor: pointer;
  }
  #rss #feed dl dd .rss-ttl:hover {
    text-decoration: underline;
  }
  #rss .rss-btn {
    position: absolute;
    top: 143px;
    left: 31px;
  }
  #rss .rss-btn a {
    margin: 0px;
    font-size: 15px;
    width: 133px;
    line-height: 24px;
  }
  #rss .rss-btn a i {
    width: 12px;
    height: 4px;
  }
}

#sec5 {
  padding: 0px 0px 20vw;
}
#sec5 .sec5-bg {
  background: url("../img/index/sec5_bg_sp.jpg") center/cover;
  width: 100%;
  height: 100vw;
}
#sec5 .sec5-1 h2 {
  font-size: 7vw;
  margin: 16vw 0px 8vw;
  position: relative;
  text-align: center;
}
#sec5 .sec5-1 h2::before {
  content: "";
  position: absolute;
  top: -16vw;
  left: 50%;
  width: 2px;
  height: 14vw;
  border-left: 1px solid #746e65;
  transform: translateX(-50%);
}
#sec5 .sec5-1 .sec5-logo {
  width: 50%;
  margin: 0px auto;
}
#sec5 .sec5-1 .sec5-txt1 {
  text-align: center;
  margin: 1vw auto 8vw;
}
#sec5 .sec5-1 .sec5-btn1 a {
  margin: 3vw auto 10vw;
}
#sec5 .sec5-1 .sec5-btn1 a::before, #sec5 .sec5-1 .sec5-btn1 a::after {
  border-color: #000 !important;
}
#sec5 .sec5-1 .sec5-list dl {
  display: flex;
  justify-content: space-between;
  line-height: 1.5;
  margin: 0px 0px 3vw;
  padding: 0px 0px 3vw;
  border-bottom: 1px solid #aca498;
}
#sec5 .sec5-1 .sec5-list dl dt {
  width: 28%;
  box-sizing: border-box;
}
#sec5 .sec5-1 .sec5-list dl dd {
  width: 72%;
  word-break: break-word;
  white-space: normal;
  text-align: left;
  letter-spacing: 0.05em;
}
#sec5 .sec5-1 .sec5-list dl dd a {
  display: inline-block;
  position: relative;
}
#sec5 .sec5-1 .sec5-list dl dd a i {
  width: 11px;
  display: inline-block;
  position: relative;
  margin-right: 4px;
  top: -1px;
}
#sec5 .sec5-1 .sec5-list dl dd a::after {
  content: "";
  position: relative;
  display: inline-block;
  width: 24px;
  height: 4px;
  background: url("../img/shared/arrow1.png") center right/cover;
  margin-left: 8px;
  right: 0px;
  top: -4px;
  transition: all 0.3s;
}
#sec5 .sec5-1 .sec5-sns {
  margin: 6vw auto 12vw;
  width: 80px;
}
#sec5 .sec5-1 .sec5-sns p {
  width: 33px;
}
#sec5 .sec5-1 .sec5-box1 {
  background: url("../img/shared/bg4.jpg") repeat top left;
  box-sizing: border-box;
  margin: 16vw auto;
  padding: 6vw 6% 10vw;
}
#sec5 .sec5-1 .sec5-box1 h3 {
  text-align: center;
  font-size: 4.5vw;
  margin: 8vw auto 6vw;
}
#sec5 .sec5-1 .sec5-box1 ul.sec5-txt2{
      list-style: disc;
      text-align: justify;
    margin: 0 auto 0 1em;
    max-width: 94%;
}
#sec5 .sec5-1 .sec5-box1 ul.sec5-txt2 li + li{
  margin-top: 0.4em;
      line-height: 1.7;
}
#sec5 #gmap h3 {
  width: 40%;
  position: relative;
  z-index: 1;
  margin: 0px 0px -2vw auto;
}
#sec5 #gmap #map {
  width: 100%;
  height: 480px;
  filter: grayscale(1);
}
#sec5 #gmap .sec5-btn2 a {
  margin: 10vw auto 0px;
}
@media only screen and (min-width: 768px) {
  #sec5 {
    padding: 0px 0px 157px;
  }
  #sec5 .sec5-bg {
    background-image: url("../img/index/sec5_bg.jpg");
    height: 578px;
  }
  #sec5 .sec5-1 h2 {
    margin: 158px 0px 75px;
    font-size: 27px;
  }
  #sec5 .sec5-1 h2::before {
    height: 150px;
    top: -159px;
  }
  #sec5 .sec5-1 .sec5-logo {
    width: 252px;
  }
  #sec5 .sec5-1 .sec5-txt1 {
    margin: 12px auto 52px;
  }
  #sec5 .sec5-1 .sec5-btn1 a {
    margin: 16px auto 105px;
  }
  #sec5 .sec5-1 .sec5-list .sec5-col {
    width: 475px;
  }
  #sec5 .sec5-1 .sec5-list dl {
    margin: 0px 0px 13px;
    padding: 0px 0px 12px;
    line-height: 25px;
  }
  #sec5 .sec5-1 .sec5-list dl dt {
    width: 118px;
    padding-left: 8px;
  }
  #sec5 .sec5-1 .sec5-list dl dd {
    width: calc(100% - 118px);
    letter-spacing: 0.1em;
  }
  #sec5 .sec5-1 .sec5-list dl dd a:hover::after {
    right: -10px;
    transition: all 0.3s;
  }
  #sec5 .sec5-1 .sec5-sns {
    width: 92px;
    margin: 26px 0px 0px auto;
  }
  #sec5 .sec5-1 .sec5-box1 {
    margin: 111px auto 60px;
    padding: 40px 10px 81px;
    text-align: center;
  }
  #sec5 .sec5-1 .sec5-box1 h3 {
    margin: 31px auto 14px;
    font-size: 18px;
  }
#sec5 .sec5-1 .sec5-box1 ul.sec5-txt2{
    max-width: 804px;
    text-align: left;
    margin: 0 auto;
}
  #sec5 #gmap h3 {
    width: 139px;
    margin: 0px 0px -4px auto;
  }
  #sec5 #gmap #map {
    height: 425px;
  }
  #sec5 #gmap .sec5-btn2 a {
    margin: 45px auto 6px;
  }
  #sec5 #gmap .sec5-btn3 a {
    width: 180px;
    text-align: center;
    font-size: 12px;
    color: rgba(0, 0, 0, 0.6);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    margin: 0px auto;
  }
  #sec5 #gmap .sec5-btn3 a:hover {
    text-decoration: none;
  }
}/*# sourceMappingURL=index.css.map */