@charset "UTF-8";

/*
Theme Name:ippo
Template:understrap
*/
/***********************
　変数
 **********************/
p {
  margin: 0;
}

a {
  color: #333;
}

a:hover {
  color: #333;
}

ul {
  margin: 0;
}

.form-check label {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

/* layouts */
header {
  font-family: "Noto Serif JP", serif;
  background-color: #fff;
  height: 95px;
  letter-spacing: 0.1em;
  position: fixed;
  width: 100%;
  text-align: center;
  z-index: 20;
}

@media screen and (max-width: 767px) {
  header {
    height: 60px;
    background: #f5f3f0;
  }
}

header h1 {
  margin-bottom: 0;
}

header h1 img {
  width: 224px;
}

@media screen and (max-width: 767px) {
  header h1 img {
    margin-left: 15px;
    width: 140px;
  }
}

#headerbox {
  max-width: 1080px;
  width: 100%;
  display: flex;
  justify-content: space-around;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  #headerbox {
    display: inline-block;
  }
}

#headerbox h1 {
  height: 95px;
  display: flex;
  align-items: center;
  width: 20%;
}

@media screen and (max-width: 767px) {
  #headerbox h1 {
    height: 60px;
    justify-content: space-between;
    width: 100%;
  }
}

#humberger {
  display: none;
}

@media screen and (max-width: 767px) {
  #humberger {
    position: relative;
    right: 20px;
    display: inline-block;
    width: 22px;
    height: 20px;
    box-sizing: border-box;
    cursor: pointer;
  }
}

#humberger div {
  position: absolute;
  display: inline-block;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #333333;
  border-radius: 2px;
  box-sizing: border-box;
}

#humberger div:nth-of-type(1) {
  top: 0;
}

#humberger div:nth-of-type(2) {
  top: 8px;
}

#humberger div:nth-of-type(3) {
  bottom: 0;
}

.headerbtn {
  display: flex;
  justify-content: flex-end;
  padding: 10px 0;
}

@media screen and (max-width: 767px) {
  .headerbtn {
    justify-content: center;
    position: fixed;
    left: 0;
    bottom: 0;
    width: calc(100% - 54px);
    background: rgba(51, 51, 51, 0.8);
  }
}

.headerbtn p.tel {
  font-size: 11px;
  letter-spacing: 0.2em;
  line-height: 34px;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .headerbtn p.tel {
    display: none;
  }
}

.headerbtn p.tel span {
  font-size: 14px;
}

.headerbtn a {
  display: block;
  position: relative;
  line-height: 34px;
  font-size: 12px;
  width: 140px;
  height: 34px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #333333;
  border-radius: 30px;
  margin-left: 10px;
}

@media screen and (max-width: 767px) {
  .headerbtn a {
    margin-left: 5px;
    margin-right: 5px;
    background: transparent;
    border: solid 1px #ffffff;
  }
}

.headerbtn a::before {
  content: "";
  width: 3px;
  height: 3px;
  border: 0px;
  border-top: solid 1px #ffffff;
  border-right: solid 1px #ffffff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 10%;
  margin-top: -2px;
}

.headerbtn a:hover {
  opacity: 0.8;
  cursor: pointer;
  text-decoration: none;
}

.menubox .pagetop {
  display: none;
}

@media screen and (max-width: 767px) {
  .menubox .pagetop {
    position: fixed;
    right: 0;
    bottom: 0;
    display: block;
    width: 54px;
    height: 54px;
    background-color: #b1ada7;
    font-size: 10px;
    line-height: 11px;
  }
}

.menubox .pagetop a {
  display: block;
  height: 100%;
  color: #ffffff;
  cursor: pointer;
  text-decoration: none;
}

.menubox .pagetop a::before {
  margin: 1rem 0 0.5rem 0;
}

.menubox {
  width: 75%;
}

@media screen and (max-width: 767px) {
  .menubox {
    width: 100%;
  }
}

nav.gnavi ul {
  display: flex;
  justify-content: flex-end;
}

@media screen and (max-width: 767px) {
  nav.gnavi ul {
    position: relative;
    display: none;
    width: 100%;
    background: #f5f3f0;
  }
}

nav.gnavi ul li {
  margin-left: 20px;
}

@media screen and (max-width: 991px) {
  nav.gnavi ul li {
    margin-left: 8px;
  }
}

@media screen and (max-width: 767px) {
  nav.gnavi ul li {
    display: block;
    margin: 0;
    padding: 8px 0;
    border-bottom: solid 1px #b1ada7;
  }
}

nav.gnavi ul li a {
  font-size: 11px;
  color: #333333;
  text-decoration: none;
}

#humberger_close {
  display: none;
  position: relative;
}

@media screen and (max-width: 767px) {
  #humberger_close {
    display: block;
    padding: 20px 0;
    font-size: 11px;
  }

  #humberger_close span {
    padding-left: 15px;
    cursor: pointer;
  }

  #humberger_close span:hover {
    opacity: 0.8;
  }

  #humberger_close .cross::before,
  #humberger_close .cross::after {
    display: block;
    content: "";
    position: absolute;
    top: 49%;
    left: 0;
    right: 50px;
    margin: 0 auto;
    width: 15px;
    height: 2px;
    background: #333333;
  }

  #humberger_close .cross::before {
    transform: rotate(-45deg);
  }

  #humberger_close .cross::after {
    transform: rotate(45deg);
  }
}

.morebtn a {
  display: block;
  line-height: 40px;
  font-size: 12px;
  width: 300px;
  height: 40px;
  text-align: center;
  text-decoration: none;
  background: url("../images/common/btnbg.png") no-repeat;
  margin: 40px auto 0;
  color: #333;
  font-family: "Noto Serif JP", serif;
}

.morebtn a:hover {
  opacity: 0.8;
  cursor: pointer;
  text-decoration: none;
}

footer {
  background-color: #9db24d;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
  footer {
    margin-bottom: 54px;
  }
}

footer small {
  color: #fff;
}

footer small a {
  color: #fff;
}

footer .pagetop {
  width: 100%;
  margin: 0 auto;
  background-color: #b1ada7;
}

footer .pagetop a {
  text-decoration: none;
  color: #fff;
  font-size: 12px;
}

.pagetop a::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin: 0 0.5em 0 0;
  border-style: solid;
  border-width: 0 5px 8px 5px;
  border-color: transparent transparent #fff transparent;
}

.footer__inner {
  margin: 50px auto 40px;
  max-width: 1080px;
  display: flex;
  justify-content: space-between;
  text-align: left;
  padding: 0 16px;
}

@media screen and (max-width: 767px) {
  .footer__inner {
    margin: 30px auto 20px;
    padding: 0;
  }
}

.footer__address {
  display: flex;
}

.footer__address address {
  width: 30%;
}

.footer__logo {
  width: 212px;
}

@media screen and (max-width: 767px) {
  .footer__logo {
    width: 200px;
    margin: 0 auto;
  }
}

.footer__left {
  width: 630px;
  font-size: 11px;
}

@media screen and (max-width: 767px) {
  .footer__left {
    width: 350px;
    margin: 0 auto;
    text-align: center;
  }
}

.footer__left address {
  margin: 30px 0;
  font-style: normal;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .footer__left address span {
    margin-left: 3rem;
  }
}

.footer__left li {
  display: inline;
  padding-right: 10px;
}

.footer__right {
  width: 450px;
  background: url("../ippo/images/common/footer_consept_img.svg") top right no-repeat;
  background-size: 184px auto;
  order: 2;
}

@media screen and (max-width: 767px) {
  .footer__right {
    width: 350px;
    background-size: 142px auto;
    background-position: bottom 0 right 0;
    margin: 0 auto;
  }
}

.footer__right h5 {
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.8em;
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .footer__right h5 {
    text-align: center;
  }
}

.footer__right p {
  font-size: 11px;
  width: 260px;
}

@media screen and (max-width: 767px) {
  .footer__right p {
    width: 200px;
  }
}

.footer__right .footer_navi li a {
  color: #fff;
}

.pc_none {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc_none {
    display: block;
  }
}

small br {
  display: none;
}

@media screen and (max-width: 543px) {
  small br {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .footer__inner {
    display: block;
  }

  hr {
    margin-top: 3rem;
    margin-bottom: 3rem;
    border-color: #b1ada7;
  }

  small {
    display: block;
    font-size: 10px;
    letter-spacing: 0;
    line-height: 2;
  }

  .sp_none {
    display: none;
  }
}

.floating-top {
  position: fixed;
  top: 130px;
  right: 40px;
}

.floating-top ul li {
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .floating-top {
    position: static;
    max-width: 400px;
    margin: 0 auto;
  }

  .floating-top ul {
    display: flex;
    justify-content: space-between;
  }
}

/* components */
.house {
  max-width: 400px;
}

.house__img {
  position: relative;
}

.house__img .img-thumb {
  width: 100%;
  height: auto;
}

.house__img .img-label {
  position: absolute;
  top: 5%;
  left: 5%;
}

.navigation {
  margin-top: 50px;
  margin-bottom: 30px;
}

.navigation .nav-links {
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.navigation .nav-links>a,
.navigation .nav-links span {
  display: block;
  text-align: center;
  line-height: 40px;
  vertical-align: middle;
}

.navigation .nav-links .page-numbers {
  margin: 0 5px;
  min-width: 40px;
  min-height: 40px;
}

.navigation .nav-links a.page-numbers:not(.prev):not(.next) {
  background-repeat: no-repeat;
  background-image: url("../ippo/images/common/bg-pagination.png");
  background-size: 100%;
  background-position: center;
}

.navigation .nav-links a.page-numbers:not(.prev):not(.next):hover {
  text-decoration: none;
}

.navigation .nav-links .current {
  background-repeat: no-repeat;
  background-image: url("../ippo/images/common/bg-current.png");
  background-size: 100%;
}

#table-apartment,
.table-detached-house {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 56px;
}

#table-apartment .info__row,
.table-detached-house .info__row {
  display: flex;
  width: 48%;
  border-bottom: 1px solid rgb(169, 163, 159);
}

#table-apartment .info__row--line,
.table-detached-house .info__row--line {
  width: 100%;
}

#table-apartment .info__row--line div.info-row__header,
.table-detached-house .info__row--line div.info-row__header {
  width: 16.3%;
}

#table-apartment .info-row,
.table-detached-house .info-row {
  padding: 8px;
}

#table-apartment .info-row__header,
.table-detached-house .info-row__header {
  width: 35%;
  font-weight: bold;
}

#table-apartment .info-row__body,
.table-detached-house .info-row__body {
  width: 65%;
}

@media screen and (max-width: 767px) {

  #table-apartment,
  .table-detached-house {
    display: block;
  }

  #table-apartment .info__row,
  .table-detached-house .info__row {
    width: 100%;
  }

  #table-apartment .info__row--line div.info-row__header,
  .table-detached-house .info__row--line div.info-row__header {
    width: 35%;
  }

  #table-apartment .info__row--line div.info-row__body,
  .table-detached-house .info__row--line div.info-row__body {
    width: 65%;
  }
}

.archive-title {
  font-family: serif;
  margin-bottom: 24px;
}

@media screen and (max-width: 767px) {
  .archive-title {
    padding-top: 80px;
  }
}

.archive-title .section-title {
  font-size: 3rem;
}

.archive-title .section-title img {
  position: relative;
  bottom: 10px;
}

.archive-title h2 {
  font-size: 40px;
  letter-spacing: 10px;
  margin-top: 16px;
  margin-bottom: 32px;
}

@media screen and (max-width: 767px) {
  .archive-title h2 {
    font-size: 24px;
  }
}

.archive-title__text {
  font-size: 16px;
  line-height: 40px;
}

@media screen and (max-width: 543px) {
  .archive-title__text {
    font-size: 14px;
    line-height: 24px;
  }
}

.renovation {
  max-width: 400px;
}

.renovation__img {
  position: relative;
}

.renovation__img .img-thumb {
  width: 100%;
  height: auto;
}

.renovation__img .img-label {
  position: absolute;
  top: 5%;
  left: 5%;
}

.renovation__info .info-header {
  width: 30%;
}

.renovation__info .info-content {
  width: 65%;
}

.renovation .renovation-info__row {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .renovation .renovation-info__row:nth-of-type(3) {
    display: none;
  }

  .renovation .renovation-info__row:nth-of-type(4) {
    display: none;
  }
}

.slide-wrapper .slider {
  margin-bottom: 40px;
  display: none;
}

.slide-wrapper .slider li {
  height: 400px;
}

.slide-wrapper .slider--initialized {
  display: block;
}

.slide-wrapper .thumb .slick-list li,
.slide-wrapper .thumb-sp .slick-list li {
  height: 80px;
}

.slide-wrapper .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  cursor: pointer;
  z-index: 10;
}

.slide-wrapper .slick-arrow--prev {
  left: 10px;
}

.slide-wrapper .slick-arrow--next {
  right: 10px;
}

@media screen and (max-width: 767px) {
  .slide-wrapper .slider {
    margin-bottom: 16px;
  }

  .thumb-sp {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 16px;
  }

  .thumb-sp .slick-arrow--prev {
    left: -20px;
  }

  .thumb-sp .slick-arrow--next {
    right: -20px;
  }
}

.slick-list li img {
  margin: 0 auto;
  height: 100%;
  width: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.btn-md {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 40px 0;
}

.btn-md a {
  font-size: 14px;
  font-weight: bold;
  font-family: serif;
  letter-spacing: 5px;
  display: block;
  line-height: 40px;
  width: 300px;
  background: url("../ippo/images/common/btnbg.png") no-repeat;
  position: relative;
}

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

.btn-md a .fa-angle-right {
  position: absolute;
  top: 35%;
  right: 10px;
}

.event {
  max-width: 600px;
}

.event__img img {
  width: 100%;
  height: auto;
}

.event__info {
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
}

.event .event-info .date-calendar {
  width: 25%;
}

.event .event-info__right {
  width: 70%;
}

.event .event-info__text {
  font-size: 12px;
}

.date-calendar {
  background: url("../ippo/images/common/calendar_bg.png") no-repeat;
  background-size: contain;
  background-position: center;
  width: 100px;
  height: 100px;
  text-align: center;
  font-weight: bold;
  padding-top: 1.5em;
}

.date-calendar .month {
  font-size: 12px;
}

.date-calendar .day {
  font-size: 18px;
}

.date-calendar .week {
  font-size: 12px;
}

.magazine .magazine-img {
  position: relative;
}

.magazine .magazine-img__icon {
  position: absolute;
  left: 0;
  top: 0;
  fill-opacity: 0.3;
}

.breadcrumb-list {
  margin-bottom: 24px;
}

.breadcrumb-list__item:not(:last-of-type):after {
  content: ">";
  display: inline-block;
  margin-left: 12px;
  margin-right: 6px;
}

@media screen and (max-width: 767px) {
  .breadcrumb-list {
    display: none;
  }
}

.btn-inquiry {
  background: #819b23;
  border-radius: 3em;
  position: relative;
  min-width: 350px;
  margin-top: 40px;
}

@media screen and (max-width: 543px) {
  .btn-inquiry {
    width: 100%;
  }
}

.btn-inquiry p,
.btn-inquiry a {
  color: #fff;
  font-size: 18px;
  font-family: serif;
}

.btn-inquiry a {
  width: 100%;
  height: 100%;
  padding: 30px 20px;
}

.btn-inquiry i {
  position: absolute;
  right: 10px;
  top: 40%;
}

.inquiry {
  padding: 24px 0;
  position: relative;
}

.inquiry:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background: #f5f3f0;
  margin-left: calc((100vw - 100%) / 2 * -1);
  margin-right: calc((100vw - 100%) / 2 * -1);
}

.inquiry__inner {
  display: flex;
  justify-content: center;
}

.inquiry__btn {
  border-radius: 3em;
  padding: 8px;
  position: relative;
  width: 300px;
  min-height: 70px;
}

.inquiry__btn i {
  position: absolute;
  right: 10px;
  top: 39%;
}

.inquiry__btn--red {
  color: #fff;
  background: #819b23;
}

.inquiry__btn--red:hover {
  color: #fff;
}

.inquiry__btn--white {
  background: #fff;
  border: 0.5px solid rgb(169, 163, 159);
}

@media screen and (max-width: 767px) {
  .inquiry__inner {
    display: block;
  }

  .inquiry__btn {
    text-align: center;
    width: 100%;
  }

  .inquiry__btn:first-of-type {
    margin-bottom: 16px;
  }
}

.event-list {
  background: #f5f3f0;
  border-radius: 20px;
  padding: 24px;
  margin-bottom: 40px;
  margin-top: 80px;
}

@media screen and (max-width: 543px) {
  .event-list {
    padding: 24px 0;
    position: relative;
  }

  .event-list:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    z-index: -1;
    width: 100vw;
    height: 100%;
    background: #f5f3f0;
    margin-left: calc((100vw - 100%) / 2 * -1);
    margin-right: calc((100vw - 100%) / 2 * -1);
  }
}

.event-list__header {
  text-align: center;
  position: relative;
  top: -30px;
}

.event-list .event2 {
  margin-bottom: 40px;
}

@media screen and (max-width: 543px) {
  .event-list .event2 {
    margin-bottom: 16px;
  }
}

.event-list .event2 a {
  display: flex;
  justify-content: space-between;
}

.event-list .event2 .date-calendar {
  width: 15%;
}

@media screen and (max-width: 767px) {
  .event-list .event2 .date-calendar {
    width: 30%;
  }
}

.event-list .event2__content {
  width: 65%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

@media screen and (max-width: 991px) {
  .event-list .event2__content {
    width: 80%;
  }
}

@media screen and (max-width: 767px) {
  .event-list .event2__content {
    width: 65%;
  }
}

.event-list .event2__content p {
  width: 100%;
}

@media screen and (max-width: 543px) {
  .event-list .event2__content .event2-content__text {
    display: none;
  }
}

.event-list .event2__img {
  width: 20%;
}

@media screen and (max-width: 991px) {
  .event-list .event2__img {
    display: none;
  }
}

@media screen and (max-width: 543px) {
  .event-list .btn-md a {
    font-size: 12px;
  }
}

.magazine-list__posts-wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.magazine-list__posts-wrapper .magazine {
  width: 23.75%;
}

@media screen and (max-width: 991px) {
  .magazine-list__posts-wrapper .magazine {
    width: 47.5%;
  }
}

.section-title {
  display: flex;
  justify-content: center;
}

.section-title p {
  font-size: 30px;
  line-height: 40px;
  margin: 0 16px;
}

@media screen and (max-width: 767px) {
  .section-title p {
    font-size: 20px;
    line-height: 30px;
  }
}

.archive-house .modal-btn {
  display: inline-block;
  width: 100%;
  height: 100%;
}

.housing-search-form__text {
  font-size: 18px;
  margin-bottom: 40px;
  font-weight: bold;
}

.housing-search-form__row {
  margin-bottom: 24px;
}

.housing-search-form__row>div:first-of-type {
  width: 15%;
}

@media screen and (max-width: 767px) {
  .housing-search-form__row>div:first-of-type {
    width: 100%;
  }
}

.housing-search-form__row>div:nth-of-type(2) {
  width: 85%;
}

@media screen and (max-width: 767px) {
  .housing-search-form__row>div:nth-of-type(2) {
    width: 100%;
  }
}

.housing-search-form__row .form-check {
  margin-right: 24px;
  margin-bottom: 3px;
}

.housing-search-form__row .form-check-label {
  margin-left: 3px;
}

div.modaal-container {
  background: rgba(255, 255, 255, 0.9);
}

input.housing-search-form__btn {
  display: inline-block;
  padding: 4px 24px !important;
  font-size: 15px !important;
}

/* pages */
.page-company .staff__header,
.front-page .news__header,
.front-page .top-renovation__header,
.front-page .for-sale__header {
  text-align: center;
}

.page-company .staff__header h3,
.front-page .news__header h3,
.front-page .top-renovation__header h3,
.front-page .for-sale__header h3 {
  font-size: 38px;
  font-family: "IntroScriptR-H2Base.otf";
}

.page-company .staff__header p,
.front-page .news__header p,
.front-page .top-renovation__header p,
.front-page .for-sale__header p {
  font-size: 12px;
  font-family: "Noto Serif JP", serif;
}

.front-page {
  /*トップメインエリア*/
}

.front-page .wrapper {
  padding-top: 95px;
}

@media screen and (max-width: 767px) {
  .front-page .wrapper {
    padding-top: 60px;
  }
}

.front-page .top-layout {
  position: relative;
  margin: -150px auto 0;
  z-index: 10;
  padding-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .front-page .top-layout {
    margin: -80px auto 0;
  }
}

@media screen and (max-width: 543px) {
  .front-page .top-layout {
    margin: -50px auto 0;
  }
}

.front-page .top-image {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

.front-page .top-image img {
  width: 100%;
  height: auto;
}

.front-page .strength {
  font-family: "Noto Serif JP", serif;
  margin-bottom: 120px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .front-page .strength {
    margin-bottom: 80px;
  }
}

.front-page .strength h2 {
  font-size: 28px;
  letter-spacing: 0.5em;
  margin-bottom: 40px;
}

@media screen and (max-width: 991px) {
  .front-page .strength h2 {
    font-size: 24px;
  }
}

@media screen and (max-width: 543px) {
  .front-page .strength h2 {
    font-size: 22px;
    letter-spacing: 1px;
    margin-bottom: 20px;
  }
}

.front-page .strength>p {
  margin-bottom: 32px;
}

@media screen and (max-width: 543px) {
  .front-page .strength>p {
    margin-bottom: 16px;
  }
}

.front-page .strength__catch {
  font-size: 18px;
  line-height: 36px;
  letter-spacing: 0.8em;
}

@media screen and (max-width: 543px) {
  .front-page .strength__catch {
    letter-spacing: 5px;
  }
}

.front-page .strength__text {
  font-family: sans-serif;
  font-size: 14px;
}

.front-page .strength__btn {
  display: flex;
  justify-content: center;
  margin: 60px 0;
}

@media screen and (max-width: 767px) {
  .front-page .strength__btn {
    justify-content: space-between;
  }
}

.front-page .strength__btn a {
  display: block;
  width: 44%;
}

@media screen and (max-width: 767px) {
  .front-page .strength__btn a {
    width: 49%;
  }
}

.front-page .strength__btn a:nth-of-type(1) {
  background: url("../ippo/images/top/strength_bg01.png") no-repeat center;
  background-size: auto 100%;
}

@media screen and (max-width: 767px) {
  .front-page .strength__btn a:nth-of-type(1) {
    background: url("../ippo/images/top/strength_bg01_sp.png") no-repeat center;
    background-size: 100% 100%;
  }
}

.front-page .strength__btn a:nth-of-type(2) {
  background: url("../ippo/images/top/strength_bg02.png") no-repeat center;
  background-size: auto 100%;
}

@media screen and (max-width: 767px) {
  .front-page .strength__btn a:nth-of-type(2) {
    background: url("../ippo/images/top/strength_bg02_sp.png") no-repeat center;
    background-size: 100% 100%;
  }
}

.front-page .strength__btn a:hover {
  cursor: pointer;
}

.front-page .strength__btn a div {
  padding: 20px 0 50px;
  width: 100%;
  height: 100%;
  color: #333;
}

@media screen and (max-width: 767px) {
  .front-page .strength__btn a div {
    padding-bottom: 60px;
  }
}

.front-page .strength__btn a div p {
  font-size: 24px;
  margin-top: 5px;
}

.front-page .strength__btn .or {
  width: 10%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 8px;
}

@media screen and (max-width: 767px) {
  .front-page .strength__btn .or {
    display: none;
  }
}

.front-page .for-sale {
  position: relative;
  margin-bottom: 50px;
  padding-bottom: 40px;
}

.front-page .for-sale:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background: #f5f3f0;
  margin-left: calc((100vw - 100%) / 2 * -1);
  margin-right: calc((100vw - 100%) / 2 * -1);
}

.front-page .for-sale__header {
  position: relative;
  top: -20px;
}

.front-page .for-sale .post-list .house {
  width: 22.5%;
}

@media screen and (max-width: 767px) {
  .front-page .for-sale .post-list .house {
    width: 48%;
  }
}

.front-page .top-renovation {
  text-align: center;
  position: relative;
}

@media screen and (min-width: 544px) {
  .front-page .top-renovation {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
}

.front-page .top-renovation__header {
  margin-bottom: 40px;
}

.front-page .top-renovation__slide .slick-slide img {
  margin: 0 auto;
  width: 100%;
  height: auto;
}

.front-page .top-renovation__slide li {
  margin: 0 16px;
}

@media screen and (max-width: 543px) {
  .front-page .top-renovation__slide .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 10;
  }

  .front-page .top-renovation__slide .slick-arrow--prev {
    left: 0;
  }

  .front-page .top-renovation__slide .slick-arrow--next {
    right: 0;
  }
}

.front-page .magazine-list .magazine-slide .slick-arrow {
  position: absolute;
  top: 35%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  cursor: pointer;
  z-index: 10;
}

.front-page .magazine-list .magazine-slide .slick-arrow--prev {
  left: 0;
}

.front-page .magazine-list .magazine-slide .slick-arrow--next {
  right: 0;
}

.front-page .magazine-list .magazine__date {
  display: none;
}

.front-page .news {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid rgb(169, 163, 159);
  padding-top: 60px;
  margin: 80px 0 64px;
}

@media screen and (max-width: 767px) {
  .front-page .news {
    display: block;
  }
}

.front-page .news__header {
  width: 13%;
}

@media screen and (max-width: 767px) {
  .front-page .news__header {
    width: 100%;
  }
}

.front-page .news__content {
  width: 85%;
}

@media screen and (max-width: 767px) {
  .front-page .news__content {
    width: 100%;
  }
}

.archive-house .posts-wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (max-width: 543px) {
  .archive-house .posts-wrapper {
    justify-content: center;
  }
}

.archive-house .posts-wrapper .house {
  width: 32%;
  margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
  .archive-house .posts-wrapper .house {
    width: 48%;
  }
}

@media screen and (max-width: 543px) {
  .archive-house .posts-wrapper .house {
    width: 100%;
  }
}

.archive-house .search-options .search-item:nth-of-type(n+4) {
  display: none;
}

.archive-house .search-btn {
  text-align: center;
  font-weight: bold;
  border: 1px solid rgb(175, 169, 163);
  padding: 16px;
  margin-top: 50px;
  margin-bottom: 20px;
}

.archive-house .search-btn:hover {
  cursor: pointer;
}

.archive-house .btn-reset {
  margin-left: 8px;
}

.archive-house .btn-reset a {
  color: #fff;
}

input.housing-search-form__btn,
.archive-house .btn-reset {
  padding: 0 8px;
  font-size: 12px;
  border-radius: 3em;
  background: #b1ada7;
  color: #fff;
}

.single-house .post-title {
  margin-top: 80px;
  display: flex;
  justify-content: center;
}

.single-house .post-title__text p {
  font-size: 20px;
}

.single-house .post-price {
  color: rgb(200, 0, 88);
  font-size: 2.4rem;
}

.single-house .post-price span {
  margin-left: 5px;
  font-size: 14px;
}

.single-house .point {
  justify-content: space-between;
}

.single-house .point p {
  width: 49%;
  border-bottom: 1px solid rgb(169, 163, 159);
  margin-bottom: 16px;
}

.single-house .point p:before {
  content: "■";
  color: rgb(169, 163, 159);
  padding: 8px;
}

.single-house .info {
  margin-top: 56px;
  margin-bottom: 48px;
}

.single-house .message {
  padding: 40px 0;
  margin-top: 80px;
  position: relative;
}

.single-house .message:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background: #f5f3f0;
  margin-left: calc((100vw - 100%) / 2 * -1);
  margin-right: calc((100vw - 100%) / 2 * -1);
}

.single-house .message__header {
  text-align: center;
  position: relative;
  top: -60px;
}

.single-house .message__images {
  display: flex;
  justify-content: space-around;
  margin-bottom: 40px;
}

.single-house .message__images .img-wrapper {
  width: 31.6666666667%;
  height: 200px;
}

.single-house .message__images .img-wrapper img {
  display: block;
  margin: 0 auto;
  height: 100%;
  width: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.single-house .message__point {
  display: flex;
  flex-wrap: nowrap;
  margin: 16px 0;
  padding-left: 16px;
}

.single-house .message__point img {
  width: 50px;
  height: auto;
}

.single-house .message__point p {
  font-size: 12px;
  margin-left: 16px;
  padding: 16px;
  background: #fff;
  border-radius: 10px;
  line-height: 16px;
  width: 100%;
}

.single-house .simulation {
  margin-top: 30px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  border: 1px solid rgb(169, 163, 159);
  padding: 24px;
}

.single-house .simulation__block {
  text-align: center;
  border-radius: 10px;
  padding: 16px 32px;
}

.single-house .simulation__block--left-side {
  background: #f5f3f0;
}

.single-house .simulation__block--right-side {
  background: #000e14;
  color: #fff;
}

.single-house .simulation__block p:first-of-type {
  font-size: 12px;
}

.single-house .simulation__block p:nth-of-type(2) {
  font-size: 18px;
}

.single-house .post-list .house {
  width: 22.5%;
}

.single-house .post-list .house .img-label {
  top: -10%;
}

@media screen and (max-width: 767px) {
  .single-house .post-title {
    display: block;
  }

  .single-house .post-title img {
    display: block;
    margin-bottom: 8px;
  }

  .single-house .post-title__text {
    justify-content: flex-start;
    margin-bottom: 8px;
  }

  .single-house .message {
    margin-top: 48px;
  }

  .single-house .message__point {
    padding: 0;
    display: block;
  }

  .single-house .message__point img {
    display: block;
    margin: 0 auto;
    margin-bottom: 8px;
  }

  .single-house .message__point p {
    margin-left: 0;
  }

  .single-house .point p {
    width: 100%;
  }

  .single-house .simulation {
    flex-wrap: wrap;
    justify-content: center;
  }

  .single-house .simulation__block {
    padding: 16px 8px;
    margin-bottom: 16px;
  }

  .single-house .simulation__block--left-side {
    width: 45%;
  }

  .single-house .simulation__block--right-side {
    width: 60%;
  }

  .single-house .simulation__symbol {
    width: 10%;
  }

  .single-house .post-list .house {
    width: 45% !important;
    margin-top: 16px;
  }
}

.archive-renovation .posts-wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

@media screen and (max-width: 543px) {
  .archive-renovation .posts-wrapper {
    justify-content: center;
  }
}

.archive-renovation .posts-wrapper .renovation {
  width: 30%;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .archive-renovation .posts-wrapper .renovation {
    width: 47.5%;
  }
}

@media screen and (max-width: 543px) {
  .archive-renovation .posts-wrapper .renovation {
    width: 100%;
  }
}

.archive-renovation .search-btn {
  border: 1px solid rgb(175, 169, 163);
  padding: 16px;
  margin-top: 50px;
  margin-bottom: 50px;
}

.archive-renovation #select {
  display: block;
  width: 100%;
  padding: 8px;
  margin-bottom: 8px;
}

.archive-renovation .btn-search {
  display: block;
  width: 90%;
  margin: 0 auto;
  text-align: center;
  background-image: url("../ippo/images/common/btnbg.png");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  padding: 16px 0;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 40px;
  letter-spacing: 5px;
}

.single-renovation .post-title {
  display: flex;
  justify-content: center;
  margin-top: 80px;
}

.single-renovation .post-title__text {
  font-size: 20px;
}

.single-renovation .info {
  margin-top: 80px;
}

.single-renovation .info__row {
  display: flex;
  width: 48%;
  border-bottom: 1px solid rgb(169, 163, 159);
  padding-left: 8px;
  padding-bottom: 8px;
  margin-bottom: 8px;
}

@media screen and (max-width: 767px) {
  .single-renovation .info__row {
    width: 100%;
  }
}

.single-renovation .info__row .info-header {
  width: 30%;
}

.single-renovation .info__row .info-content {
  width: 70%;
}

.single-renovation .point {
  padding: 40px 0;
  margin-top: 80px;
  position: relative;
}

.single-renovation .point:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background: #f5f3f0;
  margin-left: calc((100vw - 100%) / 2 * -1);
  margin-right: calc((100vw - 100%) / 2 * -1);
}

.single-renovation .point__header {
  text-align: center;
  position: relative;
  top: -60px;
}

.single-renovation .point__message {
  text-align: center;
  line-height: 50px;
  margin-bottom: 40px;
}

.single-renovation .point__point {
  padding: 16px;
  background: #fff;
  border-radius: 20px;
  margin: 0 24px 24px;
}

.single-renovation .point__point img {
  width: 50px;
  height: auto;
  margin-right: 8px;
}

@media screen and (max-width: 767px) {
  .single-renovation .point__point {
    margin: 0 0 24px;
  }
}

.single-renovation .floor-map {
  margin: 80px 0;
}

.single-renovation .floor-map__text {
  font-weight: bold;
  margin-bottom: 8px;
}

.single-renovation .floor-map__wrapper {
  width: 45%;
}

@media screen and (max-width: 767px) {
  .single-renovation .floor-map__wrapper {
    width: 100%;
  }
}

.single-renovation .floor-map__wrapper .img-wrapper {
  width: 100%;
  position: relative;
}

.single-renovation .floor-map__wrapper .img-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
}

.single-renovation .floor-map__wrapper .img-wrapper img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.single-renovation .post-list {
  margin-bottom: 80px;
}

.single-renovation .post-list .renovation {
  width: 23.5%;
}

@media screen and (max-width: 767px) {
  .single-renovation .post-list .renovation {
    width: 47%;
  }
}

.single-renovation .post-list .renovation .img-label {
  top: -10%;
}

@media screen and (max-width: 767px) {
  .single-renovation .post-list {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 767px) {
  .single-renovation .renovation-info__row {
    display: none;
  }
}

.archive-event .posts-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.archive-event .posts-wrapper .event {
  width: 47.5%;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .archive-event .posts-wrapper .event {
    width: 100%;
  }
}

.single-event .post-thumb {
  margin-top: 80px;
}

.single-event .post-thumb img {
  width: 100%;
  height: auto;
}

.single-event .post-title {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .single-event .post-title {
    justify-content: space-between;
  }

  .single-event .post-title .date-calendar {
    width: 30%;
  }

  .single-event .post-title__text {
    width: 68%;
  }
}

.single-event .event__row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0 8px 8px;
  border-bottom: 1px solid rgb(169, 163, 159);
}

.single-event .event__row div:first-of-type {
  width: 20%;
  font-weight: bold;
}

.single-event .event__row div:nth-of-type(2) {
  width: 80%;
}

@media screen and (min-width: 768px) {
  #event-slide {
    display: flex;
    justify-content: space-between;
  }

  #event-slide div {
    width: 32%;
  }
}

.archive-magazine .category-wrapper {
  margin: 64px 0;
}

.archive-magazine .category-tag {
  border-radius: 2em;
  width: 20%;
  text-align: center;
  padding: 8px 0;
}

.archive-magazine .category-tag a {
  display: inline-block;
  width: 100%;
  height: 100%;
  color: #fff;
}

.archive-magazine .posts-wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.archive-magazine .posts-wrapper .magazine {
  width: 47.5%;
}

@media screen and (max-width: 767px) {
  .archive-magazine .posts-wrapper .magazine {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {

  .single-magazine .article,
  .single-magazine .page-777house .inner,
  .single-magazine .page-777house .option,
  .page-777house .single-magazine .inner,
  .page-777house .single-magazine .option {
    margin-top: 80px !important;
  }
}

.single-magazine .article .post-title__date,
.single-magazine .page-777house .inner .post-title__date,
.single-magazine .page-777house .option .post-title__date,
.page-777house .single-magazine .inner .post-title__date,
.page-777house .single-magazine .option .post-title__date {
  color: gray;
}

.single-magazine .article .post-thumb img,
.single-magazine .page-777house .inner .post-thumb img,
.single-magazine .page-777house .option .post-thumb img,
.page-777house .single-magazine .inner .post-thumb img,
.page-777house .single-magazine .option .post-thumb img {
  width: 100%;
  height: auto;
}

.single-magazine .article .post-content p,
.single-magazine .page-777house .inner .post-content p,
.single-magazine .page-777house .option .post-content p,
.page-777house .single-magazine .inner .post-content p,
.page-777house .single-magazine .option .post-content p {
  margin: 16px 0;
}

.single-magazine .nav-links {
  display: flex;
  justify-content: center;
}

.single-magazine .nav-links .nav-previous {
  margin-right: 16px;
}

.single-magazine .nav-links .nav-next {
  margin-left: 16px;
}

.page-inquiry {
  background-image: url("../ippo/images/common/bg-inquiry.png");
  background-size: cover;
  padding-bottom: 40px !important;
}

.page-inquiry h2 {
  font-size: 40px;
  text-align: center;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .page-inquiry h2 {
    font-size: 30px;
    margin-top: 80px;
    margin-bottom: 24px;
  }
}

.page-inquiry .required {
  font-family: serif;
  color: #fff;
  border-radius: 2em;
  background: #df617e;
  padding: 3px 8px;
  margin-left: 8px;
}

.page-inquiry .wpcf7 .wpcf7-form {
  margin-bottom: 40px;
}

.page-inquiry .wpcf7 label {
  margin: 8px 0 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.page-inquiry .wpcf7 .inline {
  margin: 8px 0 4px;
}

.page-inquiry .wpcf7 .inline input {
  width: 80px;
  display: inline;
}

.page-inquiry .wpcf7 input[type=text]:focus,
.page-inquiry .wpcf7 textarea:focus {
  border-color: rgb(76, 137, 230);
  box-shadow: none;
}

.page-inquiry .wpcf7 input[type=submit].wpcf7-submit {
  display: inline;
  min-width: 350px;
  width: 100px;
  height: 70px;
  color: #fff;
  border-color: #819b23;
  border-radius: 3em;
  background-color: #819b23;
  position: relative;
  padding: 8px 0;
  font-size: 18px;
}

.page-inquiry .wpcf7 input[type=submit].wpcf7-submit:hover {
  cursor: pointer;
}

.page-inquiry .wpcf7 input[type=submit].wpcf7-submit:focus {
  border-color: #819b23;
  box-shadow: none;
}

.page-inquiry .wpcf7 input[type=submit].wpcf7-submit:active {
  box-shadow: none;
}

.page-company .main-image {
  width: 100%;
  height: auto;
}

.page-company .company-map {
  width: 40%;
}

@media screen and (max-width: 767px) {
  .page-company .company-map {
    width: 100%;
  }

  .page-company .company-map iframe {
    width: 100%;
  }
}

.page-company .company-table {
  width: 50%;
  word-break: break-all;
}

@media screen and (max-width: 767px) {
  .page-company .company-table {
    width: 100%;
    margin-bottom: 24px;
  }
}

.page-company .company-table__row :nth-of-type(1) {
  width: 30%;
}

.page-company .company-table__row :nth-of-type(2) {
  width: 68%;
}

.page-company .staff__content {
  width: 30%;
  margin-bottom: 24px;
}

@media screen and (max-width: 767px) {
  .page-company .staff__content {
    width: 100%;
  }
}

.page-company .staff__content img {
  width: 100%;
  height: auto;
}

.page-777house .article .archive-title,
.page-777house .inner .archive-title,
.page-777house .option .archive-title {
  margin-top: 64px;
  padding-top: 0;
}

.page-777house .article .content,
.page-777house .inner .content,
.page-777house .option .content {
  position: relative;
  padding: 16px 0;
}

.page-777house .article .content:before,
.page-777house .inner .content:before,
.page-777house .option .content:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background: #f5f3f0;
  margin-left: calc((100vw - 100%) / 2 * -1);
  margin-right: calc((100vw - 100%) / 2 * -1);
}

.page-777house .article .content img,
.page-777house .inner .content img,
.page-777house .option .content img {
  width: 100%;
  height: auto;
}

.page-777house .article .content__text,
.page-777house .inner .content__text,
.page-777house .option .content__text {
  line-height: 30px;
  padding: 16px 0;
}

@media screen and (max-width: 767px) {

  .page-777house .article .content__text,
  .page-777house .inner .content__text,
  .page-777house .option .content__text {
    line-height: 24px;
  }
}

.page-777house .article .reason,
.page-777house .inner .reason,
.page-777house .option .reason {
  margin-bottom: 80px;
}

.page-777house .article .reason .section-title,
.page-777house .inner .reason .section-title,
.page-777house .option .reason .section-title {
  margin: 80px 0;
}

@media screen and (max-width: 767px) {

  .page-777house .article .reason .section-title,
  .page-777house .inner .reason .section-title,
  .page-777house .option .reason .section-title {
    margin: 40px 0;
  }
}

.page-777house .article .reason .line,
.page-777house .inner .reason .line,
.page-777house .option .reason .line {
  margin: 64px 0;
  background-color: rgb(169, 163, 159);
}

@media screen and (max-width: 767px) {

  .page-777house .article .reason .line,
  .page-777house .inner .reason .line,
  .page-777house .option .reason .line {
    margin: 32px 0;
  }
}

.page-777house .article .reason__block,
.page-777house .inner .reason__block,
.page-777house .option .reason__block {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {

  .page-777house .article .reason__block,
  .page-777house .inner .reason__block,
  .page-777house .option .reason__block {
    display: block;
  }
}

.page-777house .article .reason__block .content-right,
.page-777house .inner .reason__block .content-right,
.page-777house .option .reason__block .content-right {
  order: 2;
  width: 30%;
}

@media screen and (max-width: 767px) {

  .page-777house .article .reason__block .content-right,
  .page-777house .inner .reason__block .content-right,
  .page-777house .option .reason__block .content-right {
    width: 100%;
  }
}

.page-777house .article .reason__block .content-left,
.page-777house .inner .reason__block .content-left,
.page-777house .option .reason__block .content-left {
  display: flex;
  order: 1;
  width: 65%;
}

@media screen and (max-width: 767px) {

  .page-777house .article .reason__block .content-left,
  .page-777house .inner .reason__block .content-left,
  .page-777house .option .reason__block .content-left {
    width: 100%;
    display: block;
  }
}

.page-777house .article .reason__block .content-left__img,
.page-777house .inner .reason__block .content-left__img,
.page-777house .option .reason__block .content-left__img {
  width: 20%;
  position: relative;
  top: -30px;
}

@media screen and (max-width: 767px) {

  .page-777house .article .reason__block .content-left__img,
  .page-777house .inner .reason__block .content-left__img,
  .page-777house .option .reason__block .content-left__img {
    position: static;
    padding-right: 8px;
    width: 100%;
    margin: 16px 0;
    text-align: center;
  }
}

.page-777house .article .reason__block .content-left__text,
.page-777house .inner .reason__block .content-left__text,
.page-777house .option .reason__block .content-left__text {
  width: 80%;
}

@media screen and (max-width: 767px) {

  .page-777house .article .reason__block .content-left__text,
  .page-777house .inner .reason__block .content-left__text,
  .page-777house .option .reason__block .content-left__text {
    width: 100%;
  }
}

.page-777house .article .reason__block .content-left__text p:first-of-type,
.page-777house .inner .reason__block .content-left__text p:first-of-type,
.page-777house .option .reason__block .content-left__text p:first-of-type {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 16px;
}

@media screen and (max-width: 767px) {

  .page-777house .article .reason__block .content-left__text p:first-of-type,
  .page-777house .inner .reason__block .content-left__text p:first-of-type,
  .page-777house .option .reason__block .content-left__text p:first-of-type {
    font-size: 16px;
    margin-bottom: 8px;
    text-align: center;
  }
}

.page-777house .article .reason__block .content-left__text p:nth-of-type(2),
.page-777house .inner .reason__block .content-left__text p:nth-of-type(2),
.page-777house .option .reason__block .content-left__text p:nth-of-type(2) {
  font-size: 12px;
}

@media screen and (min-width: 768px) {

  .page-777house .article .reason__block .content-left__text p:nth-of-type(2),
  .page-777house .inner .reason__block .content-left__text p:nth-of-type(2),
  .page-777house .option .reason__block .content-left__text p:nth-of-type(2) {
    line-height: 30px;
  }
}

.page-privacy-policy {
  background-size: cover;
  padding-bottom: 40px !important;
}

.page-privacy-policy h2 {
  font-size: 25px;
  text-align: center;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .page-privacy-policy h2 {
    margin-top: 80px;
  }
}

.page-privacy-policy .privacy {
  padding-bottom: 50px;
}

.page-privacy-policy .privacy__sub {
  text-align: center;
  margin: 10px;
}

.page-privacy-policy .privacy__tag {
  border-bottom: 3px solid #df617e;
  display: inline-block;
  text-align: left;
}

.page-777house .case__title,
.page-777house .option__title,
.page-777house .standard__title,
.page-777house .concept__title {
  text-align: center;
}

.page-777house .case__title h3,
.page-777house .option__title h3,
.page-777house .standard__title h3,
.page-777house .concept__title h3 {
  font-size: 40px;
}

.page-777house .case__title h4,
.page-777house .option__title h4,
.page-777house .standard__title h4,
.page-777house .concept__title h4 {
  font-size: 24px;
  margin: 40px 0;
  line-height: 40px;
}

@media screen and (max-width: 767px) {

  .page-777house .case__title h4,
  .page-777house .option__title h4,
  .page-777house .standard__title h4,
  .page-777house .concept__title h4 {
    margin: 24px 0;
  }
}

.page-777house .case__title p,
.page-777house .option__title p,
.page-777house .standard__title p,
.page-777house .concept__title p {
  line-height: 40px;
}

@media screen and (max-width: 767px) {

  .page-777house .case__title p,
  .page-777house .option__title p,
  .page-777house .standard__title p,
  .page-777house .concept__title p {
    line-height: 30px;
  }
}

.page-777house .top-777house {
  margin: 80px 0;
}

.page-777house .top-777house p {
  font-size: 24px;
  line-height: 50px;
  letter-spacing: 0.5em;
}

@media screen and (max-width: 767px) {
  .page-777house .top-777house p {
    font-size: 18px;
    line-height: 35px;
  }
}

.page-777house .top-777house p>span {
  font-size: 32px;
}

@media screen and (max-width: 767px) {
  .page-777house .top-777house p>span {
    font-size: 28px;
  }
}

.page-777house .top-777house p:nth-of-type(3) {
  font-size: 14px;
}

.page-777house .concept {
  position: relative;
  padding: 32px 0 48px;
}

.page-777house .concept:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background: #f5f3f0;
  margin-left: calc((100vw - 100%) / 2 * -1);
  margin-right: calc((100vw - 100%) / 2 * -1);
}

.page-777house .concept__title {
  position: relative;
  top: -60px;
}

.page-777house .concept__box {
  background: #e6e6e6;
  padding: 24px 0;
}

@media screen and (max-width: 767px) {
  .page-777house .concept__box {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding-left: 16px;
    padding-right: 16px;
  }
}

.page-777house .concept__box p:first-of-type {
  font-size: 24px;
  line-height: 40px;
  margin: 16px 0;
  letter-spacing: 0.3em;
}

@media screen and (max-width: 767px) {
  .page-777house .concept__box p:first-of-type {
    font-size: 18px;
    line-height: 30px;
  }
}

.page-777house .concept__box p:nth-of-type(2) {
  line-height: 30px;
}

.page-777house .reason .title {
  font-size: 24px;
  margin: 16px 0 24px;
}

@media screen and (max-width: 767px) {
  .page-777house .reason .title {
    font-size: 18px;
    margin-bottom: 8px;
  }
}

.page-777house .reason .text {
  line-height: 40px;
  margin: 16px 0 24px;
}

@media screen and (max-width: 767px) {
  .page-777house .reason .text {
    line-height: 30px;
  }
}

.page-777house .reason__block {
  display: flex;
  justify-content: space-between;
}

.page-777house .reason__block .reason-img {
  width: 40%;
}

.page-777house .reason__block .reason-img img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .page-777house .reason__block .reason-img {
    width: 100%;
  }
}

.page-777house .reason__block .reason-text {
  width: 65%;
}

@media screen and (max-width: 767px) {
  .page-777house .reason__block .reason-text {
    width: 100%;
  }
}

.page-777house .reason__block--first .reason-img {
  order: 2;
}

.page-777house .reason__block--first .reason-text {
  order: 1;
}

.page-777house .reason__btn {
  text-align: center;
  font-size: 0.9em;
  width: 45%;
  height: 30px;
  line-height: 30px;
  background-image: url("../ippo/images/common/btnbg.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.page-777house .before-after {
  position: relative;
  padding: 40px 0;
}

.page-777house .before-after:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background: #f5f3f0;
  margin-left: calc((100vw - 100%) / 2 * -1);
  margin-right: calc((100vw - 100%) / 2 * -1);
}

.page-777house .before-after__content {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .page-777house .before-after__content {
    display: block;
  }
}

.page-777house .before-after__content .content-left {
  width: 38%;
}

@media screen and (max-width: 767px) {
  .page-777house .before-after__content .content-left {
    width: 100%;
    margin-bottom: 16px;
  }
}

.page-777house .before-after__content .content-left img {
  width: 100%;
}

.page-777house .before-after__content .content-right {
  width: 60%;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .page-777house .before-after__content .content-right {
    width: 100%;
  }
}

.page-777house .before-after__content .content-right__text {
  width: 68%;
  line-height: 40px;
}

@media screen and (max-width: 1199px) {
  .page-777house .before-after__content .content-right__text {
    line-height: 28px;
  }
}

@media screen and (max-width: 991px) {
  .page-777house .before-after__content .content-right__text {
    line-height: 20px;
  }
}

@media screen and (max-width: 767px) {
  .page-777house .before-after__content .content-right__text {
    line-height: 28px;
  }
}

.page-777house .before-after__content .content-right__img {
  width: 30%;
}

.page-777house .before-after__content .content-right__img img {
  width: 100%;
}

.page-777house .standard {
  padding: 40px 0;
}

.page-777house .standard .standard-flooring__images {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .page-777house .standard .standard-flooring__images {
    justify-content: space-between;
  }
}

.page-777house .standard .standard-flooring__images>div {
  width: 30%;
  margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
  .page-777house .standard .standard-flooring__images>div {
    width: 45%;
  }
}

.page-777house .standard .standard-flooring__images>div img {
  width: 100%;
  margin-bottom: 8px;
}

.page-777house .standard .standard-infra__images {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.page-777house .standard .standard-infra__images>div {
  width: 23.75%;
  margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
  .page-777house .standard .standard-infra__images>div {
    width: 45%;
  }
}

.page-777house .standard .standard-infra__images>div img {
  width: 100%;
  margin-bottom: 8px;
}

.page-777house .standard .standard-infra__images ul {
  margin-bottom: 8px;
}

@media screen and (max-width: 991px) {
  .page-777house .standard .standard-infra__images ul {
    font-size: 12px;
  }
}

.page-777house .standard .standard-infra__images ul li:before {
  content: "●";
}

.page-777house div.option {
  padding-top: 40px;
  padding-bottom: 40px;
}

.page-777house .option {
  background: #e6e6e6;
}

@media screen and (max-width: 991px) {
  .page-777house .option {
    position: relative;
  }

  .page-777house .option:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    z-index: -1;
    width: 100vw;
    height: 100%;
    background: #e6e6e6;
    margin-left: calc((100vw - 100%) / 2 * -1);
    margin-right: calc((100vw - 100%) / 2 * -1);
  }
}

.page-777house .option__title {
  margin-bottom: 40px;
}

.page-777house .option__images {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.page-777house .option__images>div {
  width: 32%;
}

@media screen and (max-width: 991px) {
  .page-777house .option__images>div {
    width: 48%;
  }
}

.page-777house .option__images>div img {
  width: 100%;
}

.page-777house .option__images>div p {
  margin: 16px;
}

@media screen and (max-width: 767px) {
  .page-777house .option__images>div p {
    margin: 8px 0;
  }
}

.page-777house .case {
  padding: 80px 0;
}

.page-777house .case__images {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.page-777house .case__images>div {
  width: 47.5%;
  margin-bottom: 40px;
}

.page-777house .case__images>div img {
  width: 100%;
}

html {
  font-size: 62.5%;
  /*ベースを10pxにしています*/
}

.sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.wrapper {
  padding-top: 120px;
  padding-bottom: 0;
}

@media screen and (max-width: 767px) {
  .wrapper {
    padding-top: 10px;
  }
}

.flex-center,
.page-777house .before-after__content .content-right__img {
  display: flex;
  justify-content: center;
  align-items: center;
}

body {
  font-size: 14px;
}

.text-serif,
.single-renovation .floor-map__text {
  font-family: serif;
  font-size: 18px;
}

.font-size-sm {
  font-size: 12px;
}

.font-size-md {
  font-size: 14px;
}

.font-size-lg {
  font-size: 18px;
}

.section-title {
  font-size: 40px;
  font-family: "IntroScriptR-H2Base.otf";
}

.font-serif,
.magazine-list__header p,
.section-title p,
.archive-renovation .btn-search,
.page-inquiry h2,
.page-inquiry .wpcf7 input[type=submit].wpcf7-submit,
.page-777house .article .reason__block .content-left__text p:first-of-type,
.page-777house .top-777house,
.page-777house .concept__title h4,
.page-777house .concept__box p:first-of-type,
.page-777house .inner .reason__block .content-left__text p:first-of-type,
.page-777house .reason .title,
.page-777house .reason__btn,
.page-777house .standard__title h4,
.page-777house .option .reason__block .content-left__text p:first-of-type,
.page-777house .option__title h4,
.page-777house .case__title h4 {
  font-family: serif;
}

.font-IntroScriptR,
.magazine-list__header h3,
.page-777house .concept__title h3,
.page-777house .standard__title h3,
.page-777house .option__title h3,
.page-777house .case__title h3 {
  font-family: "IntroScriptR-H2Base.otf";
}

.text-magenta {
  color: #e4007f;
}

.page-company main {
  padding: 0 40px;
}

@media screen and (max-width: 767px) {
  .page-company main {
    padding: 40px 0 0;
  }
}

.single-magazine .article,
.page-777house .article,
.page-777house .inner,
.page-777house .option {
  margin-top: 32px;
  padding: 0 80px;
}

@media screen and (max-width: 991px) {

  .single-magazine .article,
  .page-777house .article,
  .page-777house .inner,
  .page-777house .option {
    padding: 0;
  }
}

/* Scroll Animation */
.js-scroll-trigger {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.js-scroll-trigger.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Image Mask Animation */
.js-image-mask {
  position: relative;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.1s;
  /* Quick fade in container */
}

.js-image-mask.is-visible {
  opacity: 1;
}

.js-image-mask::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #9db24d;
  /* Theme green */
  transform: scaleX(1);
  transform-origin: right;
  transition: transform 0.6s ease-in-out 0.1s;
  /* Slight delay after opacity */
  z-index: 2;
}

.js-image-mask.is-visible::after {
  transform: scaleX(0);
  transform-origin: right;
}


/* House Labels */
.house-label {
  position: absolute;
  top: 0;
  left: 0;
  padding: 5px 12px;
  color: #fff;
  font-size: 12px;
  z-index: 10;
  font-weight: bold;
  border-radius: 0 0 4px 0;
}

.label-new {
  background-color: #d9534f;
}

.label-original {
  background-color: #5bc0de;
}

.label-price {
  background-color: #f0ad4e;
}

.label-pet {
  background-color: #5cb85c;
}

.label-renovated {
  background-color: #819b23;
}

.label-renovation-suitable {
  background-color: #ca7d10;
}

.label-default {
  background-color: #999;
}

/*# sourceMappingURL=style.css.map */