#rss {
  background: url("../img/shared/bg04.jpg") repeat center;
  color: #fff;
  text-align: center;
  padding: 10vw 0;
}

#rss h2 {
  font-size: 6.5vw;
  line-height: 1;
  letter-spacing: 0.13em;
}

#rss #feed {
  margin-top: 5vw;
}

#rss #feed dl {
  display: flex;
  line-height: 1;
  padding: 0 4% 0;
}

#rss #feed dl dt {
  margin-right: 5%;
}

#rss #feed dl dd {
  flex: 1;
  text-align: left;
}

#rss .more {
  width: 78%;
  margin: 7vw auto 0;
}

#rss .more a {
  display: block;
  font-size: 17px;
  letter-spacing: 0.1em;
  line-height: 1;
  border: 1px solid #fff;
  padding: 3vw 0 3.5vw;
}

#rss .more a:hover {
  opacity: 0.8;
}

#rss .sns {
  width: 50px;
  margin: 7vw auto 0;
}

@media screen and (min-width: 1000px) {
  #rss {
    text-align: left;
    padding: 0 0 0;
  }

  #rss .wrap {
    display: flex;
    justify-content: center;
    padding: 41px 0 37px 43px;
  }

  #rss h2 {
    font-size: 34.3px;
  }

  #rss #feed {
    margin: 14px 0 4px 28px;
    width: 390px;
  }

  #rss #feed dl {
    padding: 0;
  }

  #rss #feed dl dt {
    margin-right: 12px;
  }

  #rss .more {
    width: 95px;
    margin: 9px 0 0 17px;
  }

  #rss .more a {
    font-size: 15px;
    text-align: center;
    padding: 4px 0;
  }

  #rss .sns {
    width: 32px;
    line-height: 35px;
    margin: 2px 0 0 38px;
    padding: 0 20px 1px 22px;
    position: relative;
  }

  #rss .sns img {
    width: 100%;
  }

  #rss .sns a {
    display: block;
  }

  #rss .sns::before {
    content: "";
    position: absolute;
    background: #fff;
    opacity: 0.45;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1px;
  }

  #rss .sns::after {
    content: "";
    position: absolute;
    background: #fff;
    opacity: 0.45;
    top: 0;
    bottom: 0;
    right: 0;
    width: 1px;
  }
}

#sec1 {
  padding-bottom: 30vw;
}

#sec1 h2 {
  display: flex;
  justify-content: center;
  position: relative;
  margin-top: -57vw;
}

#sec1 h2 span {
  display: block;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.1em;
}

#sec1 h2 span:first-child {
  font-size: 10.5vw;
  padding-right: 5%;
}

#sec1 h2 span:first-child i {
  color: #3e2214;
  letter-spacing: 0.1em;
}

#sec1 h2 span:not(:first-child) {
  position: relative;
  font-weight: 300;
  font-size: 6vw;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0 3% 0;
}

#sec1 h2 span:last-child::before {
  content: "";
  position: absolute;
  background: #fff;
  opacity: 0.5;
  width: 1px;
  top: 0;
  right: 0;
  bottom: 0;
}

#sec1 h2 span:last-child::after {
  content: "";
  position: absolute;
  background: #fff;
  opacity: 0.5;
  width: 1px;
  top: 0;
  left: 0;
  bottom: 0;
}

#sec1 .txt-img {
  position: absolute;
  top: -23vw;
  right: 0;
}

#sec1 .photo1 {
  position: absolute;
  top: 1vw;
  left: 0;
}

#sec1 .photo2 {
  padding-top: 12vw;
  margin-right: -5.5%;
}

#sec1 .txt {
  padding-top: 5vw;
}

#sec1 .bnr-shared {
  margin-top: 7vw;
}

@media screen and (min-width: 1000px) {
  #sec1 {
    padding-bottom: 0;
  }

  #sec1 .photo-lead {
    height: 626px;
  }

  #sec1 .photo-lead img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  #sec1 h2 {
    justify-content: center;
    min-height: 500px;
    margin: -343px 0px 0 55px;
  }

  #sec1 h2 span:first-child {
    font-size: 62px;
    padding-right: 21px;
  }

  #sec1 h2 span:nth-child(3) {
    margin-left: 0;
  }

  #sec1 h2 span:not(:first-child) {
    font-size: 35px;
    padding: 7px 22px 0;
  }

  #sec1 .wrap {
    max-width: 1150px;
    padding-bottom: 238px;
  }

  #sec1 .txt-img {
    top: -157px;
    right: -188px;
    z-index: -1;
  }

  #sec1 .photo1 {
    /* top: -379px;
    left: -20vw; */
    top: -420px;
    left: -20vw;
  }
  .pc_size {
    width: 600px;
  }

  #sec1 .photo2 {
    padding-top: 0;
    margin-right: 0;
    position: absolute;
    bottom: -70px;
    /* left: 245px; */
    left: 25vw;
    z-index: -1;
  }

  #sec1 .txt {
    width: 567px;
    padding: 86px 0 0 34px;
  }

  #sec1 .bnr-shared {
    margin: 36px 0 0 33px;
  }
}

@media screen and (min-width: 1000px) and (max-width: 1500px) {
  #sec1 .txt-img {
    right: calc(-50vw + 50% + 8px);
  }
}

@media screen and (min-width: 1000px) and (max-width: 1100px) {
  #sec1 .txt-img {
    width: 600px;
  }

  #sec1 .txt-img img {
    width: 100%;
  }
}

#sec2 {
  position: relative;
}

#sec2::before {
  content: "";
  position: absolute;
  background: url("../img/shared/bg03.jpg") repeat center;
  width: 100%;
  top: 0;
  height: 158vw;
  z-index: -1;
}

#sec2 .wrap {
  padding-top: 13vw;
}

#sec2 .photo {
  position: absolute;
  top: -26vw;
  right: 0;
  width: 65%;
}

#sec2 h2 {
  position: relative;
  text-align: center;
  padding-top: 20vw;
}

#sec2 h2:before {
  content: "";
  position: absolute;
  background: #ccc4b9;
  width: 4px;
  height: 15vw;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

#sec2 h2 span {
  display: block;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

#sec2 h2 span:nth-child(1) {
  font-size: 5.7vw;
}

#sec2 h2 span:nth-child(2) {
  font-size: 7.5vw;
}

#sec2 h2 span:nth-child(2) i {
  margin-left: 9%;
}

#sec2 .gr-photo {
  margin-top: 10vw;
}

#sec2 .gr-photo li + li {
  margin-top: 3vw;
}

#sec2 .txt {
  margin-top: 8vw;
}

#sec2 .gr-link {
  margin-top: 8vw;
}

#sec2 .gr-link li + li {
  margin-top: 3vw;
}

@media screen and (min-width: 1000px) {
  #sec2::before {
    height: 527px;
  }

  #sec2 .wrap {
    padding-top: 0;
    max-width: 1076px;
  }

  #sec2 .photo {
    top: -385px;
    /* right: -212px; */
    right: -22vw;
    width: auto;
  }

  #sec2 h2 {
    padding-top: 100px;
  }

  #sec2 h2:before {
    height: 91px;
    top: -9px;
  }

  #sec2 h2 span {
    line-height: 73px;
  }

  #sec2 h2 span:nth-child(1) {
    font-size: 33px;
    margin-left: 4px;
  }

  #sec2 h2 span:nth-child(2) {
    font-size: 46px;
    margin-left: 36px;
  }

  #sec2 h2 span:nth-child(2) i {
    margin-left: 0;
  }

  #sec2 .gr-photo {
    margin-top: 51px;
    display: flex;
    justify-content: space-between;
  }

  #sec2 .gr-photo li img {
    width: 100%;
  }

  #sec2 .gr-photo li:nth-child(1) {
    width: 61.5%;
  }

  #sec2 .gr-photo li:nth-child(2) {
    width: 36.9%;
  }

  #sec2 .gr-photo li + li {
    margin-top: 0;
  }

  #sec2 .txt {
    margin-top: 51px;
    text-align: center;
  }

  #sec2 .gr-link {
    display: flex;
    justify-content: space-between;
    max-width: 770px;
    margin: 45px auto 0;
  }

  #sec2 .gr-link li + li {
    margin-top: 0;
  }
}

#sec3 {
  padding: 17vw 0 25vw;
}

#sec3 .wrap {
  padding-bottom: 4vw;
}

#sec3 .frame-line {
  inset: 30vw 3% 0;
}

#sec3 h2 {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 1;
}

#sec3 h2 span {
  display: block;
  height: -moz-fit-content;
  height: fit-content;
  color: #fff;
  line-height: 1;
  padding: 3vw 3.5%;
  margin: 0 2% 0;
}

#sec3 h2 span:not(:last-child) {
  background: url("../img/shared/bg04.jpg") repeat center;
  font-size: 7.1vw;
  letter-spacing: 0.12em;
}

#sec3 h2 span:last-child {
  font-size: 5.8vw;
  letter-spacing: 0.1em;
  position: relative;
  background: url("../img/shared/bg03.jpg") repeat center;
}

#sec3 h2 span:last-child::before {
  content: "";
  position: absolute;
  background: url("../img/shared/bg03.jpg") repeat center;
  -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
  width: 6vw;
  height: 7vw;
  bottom: 2vw;
  left: -6vw;
}

#sec3 .gr {
  margin-top: -39vw;
  padding: 109vw 10% 17vw;
  color: #fff;
  position: relative;
}

#sec3 .gr::before {
  content: "";
  position: absolute;
  background: url("../img/index/sec3_bg_sp.jpg") no-repeat center top/cover;
  inset: 9vw 4vw 5vw;
  z-index: -1;
}

#sec3 .gr .bnr-shared {
  margin-top: 6vw;
  width: 100%;
}

@media screen and (min-width: 1000px) {
  #sec3 {
    padding: 134px 0 148px;
  }

  #sec3 .wrap {
    max-width: 1268px;
    padding: 70px 0 46px;
  }

  #sec3 .frame-line {
    inset: 27px 0 0;
  }

  #sec3 h2 {
    justify-content: end;
    position: absolute;
    top: 0;
    right: 73px;
  }

  #sec3 h2 span {
    margin: 0;
  }

  #sec3 h2 span:not(:last-child) {
    padding: 16px 14.5px 16px;
    font-size: 40px;
    margin-right: 17px;
  }

  #sec3 h2 span:last-child {
    font-size: 30px;
    padding: 20px 19px 17px;
  }

  #sec3 h2 span:last-child::before {
    width: 23px;
    height: 25px;
    bottom: 9px;
    left: -22px;
  }

  #sec3 .gr {
    margin: 0 42px 0 45px;
    padding: 302px 0 39px 44px;
  }

  #sec3 .gr::before {
    background-image: url("../img/index/sec3_bg.jpg");
    inset: 0;
  }

  #sec3 .gr .txt {
    width: 507px;
  }

  #sec3 .gr .bnr-shared {
    width: 359px;
    margin-top: 30px;
  }
}

#sec4 {
  position: relative;
  padding-bottom: 13vw;
}

#sec4::before {
  content: "";
  position: absolute;
  background: url("../img/shared/bg_bd.jpg") repeat center;
  top: 0;
  left: 0;
  width: 50%;
  height: 276vw;
  z-index: -1;
}

#sec4::after {
  content: "";
  position: absolute;
  background: url("../img/shared/bg01.jpg") repeat center;
  inset: 0;
  z-index: -2;
}

#sec4 h2 {
  text-align: center;
  color: #3e2214;
  position: relative;
  z-index: 1;
  margin-top: -13vw;
}

#sec4 h2 span {
  display: block;
}

#sec4 h2 span:nth-child(1) {
  margin: 0 -5.5% 2vw;
}

#sec4 h2 span:nth-child(2) {
  font-size: 6.6vw;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

#sec4 h2 span:nth-child(2) i {
  font-size: 8.9vw;
  letter-spacing: 0.13em;
}

#sec4 .txt-1 {
  margin-top: 6vw;
}

#sec4 .floor-map {
  margin: 8vw -5.5% 0;
}

#sec4 .photo {
  margin: 15vw 33% 0 12%;
}

#sec4 .sec4-js {
  margin: 0 10% 0 19%;
}

#sec4 .sec4-js .slick-dots {
  padding-top: 3vw;
}

#sec4 .gr-txt {
  border: 1px solid #331717;
  box-sizing: border-box;
  margin: 12vw 2% 0;
  padding: 7vw 5%;
}

#sec4 .gr-txt h3 {
  text-align: center;
  color: #3e2214;
  font-size: 5vw;
  line-height: 1.7;
  letter-spacing: 0.13em;
  margin-bottom: 5vw;
}

#sec4 .gr-txt .price,
#sec4 .gr-txt .time {
  text-align: center;
  font-size: 15px;
}

@media screen and (min-width: 1000px) {
  #sec4 {
    padding-bottom: 210px;
  }

  #sec4::before {
    height: 1336px;
  }

  #sec4 .photo-lead {
    height: 439px;
  }

  #sec4 .photo-lead img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  #sec4 .wrap {
    max-width: 1150px;
  }

  #sec4 h2 {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    text-align: left;
    margin: -62px 20px 0 auto;
  }

  #sec4 h2 span:nth-child(1) {
    margin: 0 0 27px -5px;
    text-align: center;
  }

  #sec4 h2 span:nth-child(2) {
    font-size: 40px;
    line-height: 70px;
  }

  #sec4 h2 span:nth-child(2) i {
    font-size: 57px;
  }

  #sec4 .txt-1 {
    margin: 24px 17px 0 0;
    width: 650px;
    margin-left: auto;
  }

  #sec4 .floor-map {
    position: absolute;
    top: 408px;
    left: 505px;
    margin: 0;
    z-index: 1;
  }

  #sec4 .photo {
    position: absolute;
    top: 161px;
    left: 55px;
    margin: 0;
    z-index: -1;
  }

  #sec4 .sec4-js {
    margin: 103px 0 0 99px;
    width: 480px;
  }

  #sec4 .sec4-js .slick-dots {
    padding-top: 11px;
    justify-content: flex-start;
  }

  #sec4 .gr-txt {
    padding: 40px 0 44px;
    margin: 82px auto 0;
    max-width: 794px;
  }

  #sec4 .gr-txt h3 {
    font-size: 25px;
    line-height: 47px;
    margin-bottom: 0;
    margin-left: 4px;
  }

  #sec4 .gr-txt .price,
  #sec4 .gr-txt .time {
    font-size: 17px;
    line-height: 44px;
  }

  #sec4 .gr-txt .txt-2 {
    text-align: center;
    line-height: 45px;
    margin-top: 10px;
  }
}

@media screen and (min-width: 1000px) and (max-width: 1100px) {
  #sec4 .floor-map {
    right: calc(-50vw + 50% + 8px);
    left: auto;
  }
}
.text_box{
	width:800px;
	margin:40px auto 40px auto;
	padding:20px 0;
    background: #FFF;
    box-shadow: 0px 0px 0px 6px #FFF;
    border: double 3px #000;
}
.text_box p.ttl{
	font-size:24px;
	margin-bottom: 5px;
	letter-spacing: 2px;
	text-align:center;
	line-height:60px;
	color:#000;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.text_box p.txt{
	text-align:center;
	font-size:16px;
	line-height:30px;
	color:#000;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media screen and (max-width: 768px) {
	
.text_box{
	width:95%;
	margin:20px auto 20px auto;
	padding:20px 0;
    background: #FFF;
    box-shadow: 0px 0px 0px 6px #FFF;
    border: double 3px #000;
}
.text_box p.ttl{
	font-size:20px;
	margin-bottom: 5px;
	letter-spacing: 2px;
	text-align:center;
	line-height:40px;
	color:#000;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.text_box p.txt{
	text-align:left;
	padding: 0 10px;
	font-size:15px;
	line-height:26px;
	color:#000;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
}
