.p-campaign {
  padding: 45px 0 50px;
  margin: 70px 0 0;
  background: #f5f5f5
}
.p-campaign__hdg {
  text-align: center
}
.p-campaign__hdg img {
  width: 275px
}
.p-campaign__subhdg {
  font-size: 21px;
  text-align: center;
  font-weight: 500;
  letter-spacing: .1em
}
.p-campaign__subhdg span {
  position: relative
}
.p-campaign__subhdg span::after,
.p-campaign__subhdg span::before {
  position: absolute;
  top: 50%;
  width: 25px;
  height: 1px;
  background: #707070;
  content: ""
}
.p-campaign__subhdg span::before {
  right: calc(100% + 10px)
}
.p-campaign__subhdg span::after {
  left: calc(100% + 10px)
}
.p-campaign .properties {
  margin: 30px 0 0
}
.p-campaign .properties + .p-campaign__hdg {
  margin: 50px 0 0
}
.p-campaign .property {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff
}
.p-campaign .property + .property {
  margin: 40px 0 0
}
.p-campaign .property__visual {
  position: relative
}
.p-campaign .property__visual img {
  width: 100%
}
.p-campaign .property__badge {
  position: absolute;
  top: 10px;
  left: 10px
}
.p-campaign .property__badge img {
  width: 70px;
  height: auto
}
.p-campaign .property__tag {
  position: absolute;
  top: 10px;
  right: 10px
}
.p-campaign .property__tag img {
  width: 115px
}
.p-campaign .property__contents {
  padding: 15px 20px 20px;
  flex: 1
}
.p-campaign .property__name {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .03em
}
.p-campaign .property__info,
.p-campaign .property__txt {
  font-size: 13px;
  letter-spacing: 0;
  font-weight: 400;
  margin: 10px 0 0
}
.p-campaign .property__info .info {
  display: flex;
  align-items: baseline
}
.p-campaign .property__info .info__head {
  font-weight: 300
}
.p-campaign .property__info .info__body {
  margin: 0 0 0 5px
}
.p-campaign .property__info .access,
.p-campaign .property__info .price {
  font-weight: 700
}
.p-campaign .property__info .price {
  font-size: 16px
}
.p-campaign .property__info .access {
  font-size: 15px
}
.p-campaign .property__txt {
  line-height: 1.5;
  font-weight: 300
}
.p-campaign .property__btn {
  margin: 15px auto 0;
  text-align: center
}
.p-campaign .property__btn .btn {
  display: inline-block;
  width: 178px
}
.p-campaign .property__btn .btn:not([href]):hover {
  opacity: 1
}
.p-campaign .property__btn img,
.p-header .logo img,
.p-message__container .ttl img,
.p-message__visual .visual__img img,
.p-message__visual .visual__typography img {
  width: 100%
}
.p-campaign__container + .p-campaign__container {
  margin: 70px 0 0
}
.p-campaign__inner {
  margin: 0 -20px;
  padding: 40px 20px;
  background: #fffdea;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc
}
.p-campaign__inner .property__contents {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc
}
.c-caption {
  position: absolute;
  z-index: 1;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
  color: #333
}
.c-caption--postion-r-b {
  bottom: 10px;
  right: 10px
}
.c-caption--postion-l-b {
  bottom: 10px;
  left: 10px
}
.c-caption--postion-large-l {
  left: 30px
}
.c-caption--postion-large-b {
  bottom: 10px
}
.c-caption--theme-white {
  text-shadow: 0 0 6px #000,0 0 6px rgba(0,0,0,.5);
  color: #fff
}
.p-contact {
  border-top: 1px solid #231815;
  border-bottom: 1px solid #231815;
  margin: 35px 0 0;
  padding: 30px 0 25px;
  text-align: center
}
.p-contact__tel,
.p-contact__txt {
  margin: 10px 0 0
}
.p-header .logo {
  margin: 20px 0 0 -25px;
  width: 139px
}
.p-mainVisual__container {
  position: relative;
  padding: 0 0 30px
}
.p-mainVisual__container::after,
.p-mainVisual__container::before {
  position: absolute;
  z-index: -1;
  width: 100%;
  left: 0;
  background: #ffec00;
  content: ""
}
.p-mainVisual__container::before {
  top: 10px;
  height: 120px;
  -webkit-clip-path: polygon(50% 0,0 100%,100% 100%);
  clip-path: polygon(50% 0,0 100%,100% 100%)
}
.p-mainVisual__container::after {
  top: 129px;
  bottom: 0
}
.p-mainVisual__img img {
  width: 350px;
  max-width: 100%
}
.p-mainVisual__img--2 {
  margin: -10px 0 0
}
.p-message {
  margin: 70px 0 0
}
.p-message__visual {
  position: relative;
  padding: 0 20px 0 0
}
.p-message__visual .visual,
.p-message__visual .visual__img {
  position: relative
}
.p-message__visual .visual__typography {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 36px
}
.p-message__wrapper {
  position: relative;
  display: inline-block;
  width: 100%
}
.p-message__wrapper::after,
.p-message__wrapper::before {
  position: absolute;
  content: ""
}
.p-message__wrapper::before {
  top: 20px;
  right: 0;
  width: 76px;
  height: 76px;
  background: url(/assets/images/pages/house/mhlp/keihankodate_lp/message_deco1.png) center/contain no-repeat
}
.p-message__wrapper::after {
  bottom: 10px;
  left: 0;
  width: 112px;
  height: 112px;
  background: url(/assets/images/pages/house/mhlp/keihankodate_lp/message_deco2.png) center/contain no-repeat
}
.p-message__container {
  padding: 20px 0 130px
}
.p-message__container .ttl {
  width: 189px
}
.p-message__container .txt {
  margin: 25px 0 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: .1em
}
.p-message__container .txt + .txt {
  margin: 20px 0 0
}
.p-pickup__hdg {
  width: 351px;
  margin: 0 auto
}
.p-pickup .pickup__contents .profile__visual .img img,
.p-pickup .pickup__contents .ttl img,
.p-pickup__hdg img {
  width: 100%
}
.p-pickup .pickup {
  margin: 30px 0 0
}
.p-pickup .pickup__visual {
  position: relative
}
.p-pickup .pickup__visual img {
  width: 100%;
  height: auto
}
.p-pickup .pickup__contents {
  margin: 30px 0 0;
  padding: 0 20px
}
.p-pickup .pickup__contents .profile__visual .name,
.p-pickup .pickup__contents .txt {
  margin: 25px 0 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0
}
.p-pickup .pickup__contents .profile {
  padding: 20px;
  margin: 25px 0 0;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  gap: 0 20px
}
.p-pickup .pickup__contents .profile__visual {
  width: 98px
}
.p-pickup .pickup__contents .profile__visual .name {
  margin: 5px 0 0;
  text-align: center
}
.p-pickup .pickup__contents .profile__contents {
  flex: 1
}
.p-pickup .pickup__contents .profile__ttl {
  padding: 0 0 5px;
  font-size: 14px;
  letter-spacing: 0;
  font-weight: 500;
  line-height: 1.7;
  border-bottom: 1px solid #707070
}
.p-pickup .pickup__contents .profile__txt {
  margin: 5px 0 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0
}
.p-pickup .pickup:nth-child(even) {
  flex-direction: row-reverse
}
.p-pickup .pickup + .pickup {
  margin: 50px 0 0
}
.p-pickup__caution {
  margin: 45px 0 0
}
.p-pickup__caution .caution {
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1.3
}
.l-page {
  position: relative;
  overflow: clip
}
.l-page::before {
  position: absolute;
  top: -10px;
  left: 50%;
  width: 407.5px;
  height: 160px;
  content: "";
  background-image: url(/assets/images/pages/house/mhlp/keihankodate_lp/mv_deco.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}
.l-main {
  font-family: "Noto Sans JP",sans-serif
}
.l-container {
  padding: 0 20px;
  max-width: 390px;
  margin: 0 auto
}
@media (min-width:768px) {
  .p-campaign {
    padding: 90px 0 100px;
    margin: 110px 0 0
  }
  .p-campaign__hdg img {
    width: 446px
  }
  .p-campaign__subhdg {
    font-size: 36px;
    margin: 90px 0 0
  }
  .p-campaign__subhdg span::after,
  .p-campaign__subhdg span::before {
    width: 60px
  }
  .p-campaign .properties {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 50px;
    margin: 50px 0 0
  }
  .p-campaign .properties + .p-campaign__hdg {
    margin: 90px 0 0
  }
  .p-campaign .property {
    width: 300px
  }
  .p-campaign .property + .property {
    margin: 0
  }
  .p-campaign .property__contents {
    padding: 15px 20px 65px
  }
  .p-campaign .property__btn {
    position: absolute;
    bottom: 20px;
    left: 0;
    margin: 0;
    width: 100%
  }
  .p-campaign__container + .p-campaign__container {
    margin: 140px 0 0
  }
  .p-campaign__inner {
    margin: 0;
    padding: 40px 30px 50px;
    border: 1px solid #ccc
  }
  .p-campaign__inner .properties {
    gap: 50px 19px
  }
  .c-caption {
    font-size: 12px
  }
  .c-caption--postion-r-b {
    bottom: 15px;
    right: 15px
  }
  .c-caption--postion-l-b {
    bottom: 15px;
    left: 15px
  }
  .p-contact {
    margin: 15px 0 0;
    padding: 60px 0 70px
  }
  .p-header .logo {
    margin: 20px 0 0 -40px;
    width: 215px
  }
  .p-mainVisual__container {
    padding: 0 0 15px
  }
  .p-mainVisual__container::before {
    top: 30px;
    height: 345px
  }
  .p-mainVisual__container::after {
    top: 374px
  }
  .p-mainVisual__img img {
    width: 1000px
  }
  .p-mainVisual__img--2 {
    margin: -135px 0 0
  }
  .p-mainVisual__img--3 {
    margin: 30px 0 0
  }
  .p-message__visual {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 calc(300/1920*100%) 0 0
  }
  .p-message__visual .visual__typography {
    top: 70px;
    right: 45px;
    width: calc(103/1920*100%)
  }
  .p-message__wrapper::before {
    right: 270px;
    width: 196px;
    height: 196px
  }
  .p-message__wrapper::after {
    bottom: 80px;
    left: -100px;
    width: 320px;
    height: 320px
  }
  .p-message__container {
    padding: 50px 100px 195px;
    background: rgba(255,255,255,.7);
    margin: -235px 0 0
  }
  .p-message__container .ttl {
    width: 465px
  }
  .p-message__container .txt {
    margin: 60px 0 0;
    font-size: 24px;
    line-height: 2.15
  }
  .p-message__container .txt + .txt {
    margin: 40px 0 0
  }
  .p-pickup__hdg {
    width: 1000px
  }
  .p-pickup .pickup {
    display: flex;
    align-items: center;
    gap: 0 60px;
    margin: 70px auto 0;
    max-width: 1920px
  }
  .p-pickup .pickup__visual {
    width: calc(870/1920*100%)
  }
  .p-pickup .pickup__contents {
    margin: 0;
    padding: 0;
    width: 525px
  }
  .p-pickup .pickup__contents .txt {
    margin: 40px 0 0;
    font-size: 16px;
    line-height: 2.25
  }
  .p-pickup .pickup__contents .profile {
    padding: 30px;
    gap: 0 30px;
    margin: 45px 0 0
  }
  .p-pickup .pickup__contents .profile__visual {
    width: 148px
  }
  .p-pickup .pickup__contents .profile__visual .name {
    font-size: 13px
  }
  .p-pickup .pickup__contents .profile__ttl {
    font-size: 16px;
    padding: 0 0 10px
  }
  .p-pickup .pickup__contents .profile__txt {
    font-size: 13px;
    margin: 10px 0 0
  }
  .p-pickup .pickup + .pickup {
    margin: 100px auto 0
  }
  .p-pickup__caution {
    margin: 150px 0 0
  }
  .l-page::before {
    top: 10px;
    width: 1175px;
    height: 394px;
    background-image: url(/assets/images/pages/house/mhlp/keihankodate_lp/mv_deco_md.png)
  }
  .l-container {
    max-width: 1100px;
    padding: 0 50px
  }
  .commonLpFooter {
    padding: 70px 0 40px
  }
}
@media (min-width:1465px) {
  .p-message__wrapper::after {
    left: calc(50% - 775px)
  }
}