/*** LP ***/
@media (max-width: 767px) {
  html {
    font-size: 2.666666vw;
  }
  body {
    font-size: 1.2rem;
  }
}

.mv_wrap {
  width: 100%;
  height: 100%;
  height: calc(100vw * 0.48);
  overflow: hidden;
  position: relative;
}

.mv_wrap img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.mv_video {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
}

@media (max-width: 1023px) {
  .mv_wrap {
    height: calc(100vw * 0.46);
    max-height: 50vh;
  }
  .mv_video {
    position: relative;
    top: -3rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100.5%;
    min-width: auto;
  }
}

.sec_contents {
  text-align: center;
  line-height: 1.6;
  overflow: hidden;
}

.sec_contents .__point_image {
  text-align: center;
  margin-bottom: 1.6rem;
}

.sec_contents .__text01 {
  font-weight: 700;
  font-size: 2.4rem;
}

.sec_contents .__text02 {
  font-weight: 700;
  font-size: 1.8rem;
}

.sec_contents .__text_em {
  color: #e60021;
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 2.4;
}

.sec_contents .__sec_title {
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}

.sec_contents .__sec_title .__em {
  font-size: 4rem;
  color: #e60021;
}

@media (min-width: 1024px) {
  .sec_contents .contents {
    margin-top: calc(7.6rem * 1);
    margin-bottom: calc(7.6rem * 1);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sec_contents .contents {
    margin-top: calc(6rem * 1);
    margin-bottom: calc(6rem * 1);
  }
}

@media (max-width: 767px) {
  .sec_contents .contents {
    margin-top: calc(4rem * 1);
    margin-bottom: calc(4rem * 1);
  }
}

@media (max-width: 1023px) {
  .sec_contents .contents {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sec_contents .__text_em {
    line-height: 1.6;
  }
}

@media (max-width: 767px) {
  .sec_contents .__text01 {
    font-weight: 700;
    font-size: 1.8rem;
  }
  .sec_contents .__text02 {
    font-weight: 700;
    font-size: 1.8rem;
  }
  .sec_contents .__text_em {
    font-size: 2.4rem;
    line-height: 1.6;
  }
  .sec_contents .__sec_title {
    font-size: 2.4rem;
    line-height: 1.6;
  }
  .sec_contents .__sec_title .__em {
    font-size: 2.8rem;
  }
}

.intro_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .intro_nav .__item {
    width: 48%;
  }
}

@media (max-width: 767px) {
  .intro_nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .intro_nav .__sp_pos {
    margin-top: -3rem;
  }
}

.btn_text {
  display: block;
  width: 46.2rem;
  height: 20.2rem;
  text-align: center;
  line-height: 20rem;
  text-align: center;
  font-size: 2.5rem;
  font-weight: 700;
  color: #fff;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .btn_text {
    width: 35rem;
  }
}

@media (max-width: 767px) {
  .btn_text {
    width: 100%;
    height: calc(100vw * 0.45);
    line-height: calc(100vw * 0.45);
  }
}

.btn_block {
  text-align: center;
}

@media (min-width: 1024px) {
  .btn_block {
    margin-top: calc(7.6rem * 1);
    margin-bottom: calc(7.6rem * 1);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .btn_block {
    margin-top: calc(6rem * 1);
    margin-bottom: calc(6rem * 1);
  }
}

@media (max-width: 767px) {
  .btn_block {
    margin-top: calc(4rem * 1);
    margin-bottom: calc(4rem * 1);
  }
}

.btn_voice {
  background: url(../images/btn_voice.png) no-repeat scroll center center;
  background-size: contain;
}

.btn_detail {
  background: url(../images/btn_detail.png) no-repeat scroll center center;
  background-size: contain;
}

.btn_contact {
  display: inline-block;
  width: 100%;
  max-width: 50rem;
  color: #fff;
  border-radius: 1.5em;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  padding: 0.5em 2em;
}

.btn_contact.__red {
  background: #e60021;
}

.btn_contact.__darkblue {
  background: #0a3264;
}

.btn_contact.__line {
  border: 1px solid #000;
  color: #000;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.btn_contact.__line .__icon img {
  width: 2.5rem;
}

.sec_support {
  background: #f7f5f0;
  overflow: hidden;
}

.sec_support .__belt_blue {
  width: 100%;
  background: #0a3264;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  padding: 1em 0;
  position: relative;
}

.sec_support .__belt_blue:after {
  content: '';
  position: absolute;
  bottom: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border: none;
  border-top: 30px solid #0a3264;
  border-right: 25px solid transparent;
  border-left: 25px solid transparent;
}

.sec_support .support_list {
  max-width: 85rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media (min-width: 1024px) {
  .sec_support .support_list {
    margin-top: calc(7.6rem * 0.75);
    margin-bottom: calc(7.6rem * 0.75);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sec_support .support_list {
    margin-top: calc(6rem * 0.75);
    margin-bottom: calc(6rem * 0.75);
  }
}

@media (max-width: 767px) {
  .sec_support .support_list {
    margin-top: calc(4rem * 0.75);
    margin-bottom: calc(4rem * 0.75);
  }
}

.sec_support .support_list .__item {
  width: 48%;
  background: #fff;
  border-radius: 1.6rem;
  -webkit-box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.15);
  margin-bottom: 3.2rem;
}

.sec_support .support_list .__image {
  height: 75%;
}

.sec_support .support_list .__image img {
  max-width: 30rem;
  max-height: 13rem;
}

.sec_support .support_list .__exp {
  margin-top: 2.4rem;
  font-weight: 700;
  font-weight: 1.8rem;
}

.sec_support .support_list a {
  display: block;
  padding: 3.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media (max-width: 767px) {
  .sec_support .support_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 5vw;
  }
  .sec_support .support_list .__item {
    width: 100%;
  }
}

.line_link {
  color: #e60021;
  text-decoration: underline;
  font-weight: 400;
}

.house_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 96rem;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1024px) {
  .house_list {
    margin-top: calc(7.6rem * 0.5);
    margin-bottom: calc(7.6rem * 0.5);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .house_list {
    margin-top: calc(6rem * 0.5);
    margin-bottom: calc(6rem * 0.5);
  }
}

@media (max-width: 767px) {
  .house_list {
    margin-top: calc(4rem * 0.5);
    margin-bottom: calc(4rem * 0.5);
  }
}

.house_list .__item {
  width: 32%;
}

.house_list .__image {
  margin-bottom: 0.8rem;
}

.house_list .__caption {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: left;
}

@media (max-width: 767px) {
  .house_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .house_list .__item {
    width: 100%;
  }
  .house_list .__item .__image {
    margin-bottom: .8rem;
  }
  .house_list .__item .__caption {
    margin-bottom: 1.6rem;
  }
}

.org_width {
  width: auto;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .org_width_tab {
    width: 100%;
  }
}

.sec_hokuto .__point_image {
  text-align: center;
  margin-bottom: 1.6rem;
}

.sec_hokuto .__point_image img {
  max-width: 14rem;
  max-height: 9.3rem;
}

.sec_bels {
  background: #fff7dc;
}

.sec_bels .__point_image img {
  max-width: 18rem;
  max-height: 7.4rem;
}

.sec_bels .__block {
  width: 100%;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
}

@media (min-width: 1024px) {
  .sec_bels .__block {
    margin-top: calc(7.6rem * 0.5);
    margin-bottom: calc(7.6rem * 0.5);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sec_bels .__block {
    margin-top: calc(6rem * 0.5);
    margin-bottom: calc(6rem * 0.5);
  }
}

@media (max-width: 767px) {
  .sec_bels .__block {
    margin-top: calc(4rem * 0.5);
    margin-bottom: calc(4rem * 0.5);
  }
}

.sec_bels .__line_title {
  font-size: 2.2rem;
  font-weight: 700;
  padding: 0.5em;
  border-bottom: 2px solid #0a3264;
  position: relative;
  background: #fff7dc;
  color: #0a3264;
}

.sec_bels .__line_title:before, .sec_bels .__line_title:after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  margin: auto;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
}

.sec_bels .__line_title:before {
  bottom: -21px;
  border-top: 20px solid #0a3264;
}

.sec_bels .__line_title:after {
  bottom: -18px;
  border-top: 20px solid #fff7dc;
  z-index: 10;
}

.sec_bels .__inner {
  background: #fff;
}

.sec_bels .__matter {
  padding: 3.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.sec_bels .__belt_green {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  padding: 0.5em;
  background: #16963c;
}

.sec_bels .__note {
  font-size: 1.6rem;
  font-weight: 700;
}

.sec_bels .__matter2 {
  padding: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.sec_bels .__block_red {
  display: inline-block;
  font-size: 2rem;
  color: #fff;
  background: #e60021;
  padding: 0.1em 0.4em 0.3em;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sec_bels .__block_red {
    display: inline-block;
    font-size: 1.6rem;
    margin-top: .8rem;
  }
}

@media (max-width: 767px) {
  .sec_bels .__line_title {
    font-size: 1.8rem;
  }
  .sec_bels .__matter2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .sec_bels .__block_red {
    display: inline-block;
    font-size: 1.6rem;
    margin-top: .8rem;
  }
  .sec_bels .hiraya_movie {
    width: 100%;
    height: calc(90% * 0.562);
  }
}

.sec_family .__point_image img {
  max-width: 21rem;
  max-height: 8.2rem;
}

.sec_family .house_detail_wrap {
  width: 100%;
  max-width: 86rem;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

@media (min-width: 1024px) {
  .sec_family .house_detail_wrap {
    margin-top: calc(7.6rem * 0.5);
    margin-bottom: calc(7.6rem * 0.5);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sec_family .house_detail_wrap {
    margin-top: calc(6rem * 0.5);
    margin-bottom: calc(6rem * 0.5);
  }
}

@media (max-width: 767px) {
  .sec_family .house_detail_wrap {
    margin-top: calc(4rem * 0.5);
    margin-bottom: calc(4rem * 0.5);
  }
}

.sec_family .house_detail_list {
  max-width: 70rem;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1024px) {
  .sec_family .house_detail_list {
    margin-top: calc(7.6rem * 0.5);
    margin-bottom: calc(7.6rem * 0.5);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sec_family .house_detail_list {
    margin-top: calc(6rem * 0.5);
    margin-bottom: calc(6rem * 0.5);
  }
}

@media (max-width: 767px) {
  .sec_family .house_detail_list {
    margin-top: calc(4rem * 0.5);
    margin-bottom: calc(4rem * 0.5);
  }
}

.sec_family .house_detail_list .__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: left;
  border-top: 1px solid #808080;
  border-bottom: 1px solid #808080;
  margin-top: -1px;
}

.sec_family .house_detail_list dt {
  background: #b3b3b3;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  width: 35%;
  padding: 1.6rem;
  padding-left: 2.4rem;
}

.sec_family .house_detail_list dd {
  font-size: 1.6rem;
  font-weight: 700;
  width: 65%;
  padding: 1.6rem;
  padding-left: 2.4rem;
}

@media (max-width: 767px) {
  .sec_family .house_detail_list .__group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .sec_family .house_detail_list dt, .sec_family .house_detail_list dd {
    width: 100%;
    padding: 0.8rem;
    padding-left: 1.6rem;
  }
}

.sec_reasonable {
  background: #fff7dc;
}

.sec_reasonable .__sec_title {
  margin-bottom: 2.4rem;
}

.sec_reasonable .__point_image img {
  max-width: 15rem;
  max-height: 9rem;
}

.sec_reasonable .__block {
  margin-left: auto;
  margin-right: auto;
  max-width: 96rem;
  background: #fff;
  padding: 3.2rem;
}

@media (min-width: 1024px) {
  .sec_reasonable .__block {
    margin-top: calc(7.6rem * 0.5);
    margin-bottom: calc(7.6rem * 0.5);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sec_reasonable .__block {
    margin-top: calc(6rem * 0.5);
    margin-bottom: calc(6rem * 0.5);
  }
}

@media (max-width: 767px) {
  .sec_reasonable .__block {
    margin-top: calc(4rem * 0.5);
    margin-bottom: calc(4rem * 0.5);
  }
}

.sec_newconst .__point_image img {
  max-width: 16rem;
  max-height: 7.2rem;
}

.sec_newconst .__sec_title {
  margin-bottom: 2.4rem;
}

.sec_newconst .__text03 {
  background: #0a3264;
  color: #fff;
  font-size: 2rem;
  padding: 0.5em 1.5em;
  text-align: center;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}

.sec_newconst .__block {
  max-width: 68rem;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1024px) {
  .sec_newconst .__block {
    margin-top: calc(7.6rem * 0.5);
    margin-bottom: calc(7.6rem * 0.5);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sec_newconst .__block {
    margin-top: calc(6rem * 0.5);
    margin-bottom: calc(6rem * 0.5);
  }
}

@media (max-width: 767px) {
  .sec_newconst .__block {
    margin-top: calc(4rem * 0.5);
    margin-bottom: calc(4rem * 0.5);
  }
}

.sec_newconst .distant_view {
  margin-left: auto;
  margin-right: auto;
  max-width: 96rem;
  position: relative;
}

@media (min-width: 1024px) {
  .sec_newconst .distant_view {
    margin-top: calc(7.6rem * 1.5);
    margin-bottom: calc(7.6rem * 1.5);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sec_newconst .distant_view {
    margin-top: calc(6rem * 1.5);
    margin-bottom: calc(6rem * 1.5);
  }
}

@media (max-width: 767px) {
  .sec_newconst .distant_view {
    margin-top: calc(4rem * 1.5);
    margin-bottom: calc(4rem * 1.5);
  }
}

.sec_newconst .view_list {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.sec_newconst .view_list .__image img {
  width: 100%;
}

.sec_newconst .view_list1 {
  top: -7rem;
  width: 90%;
}

.sec_newconst .view_list1 .__image {
  width: 17%;
}

.sec_newconst .view_list2 {
  width: 80%;
  bottom: -5rem;
}

.sec_newconst .view_list2 .__image {
  width: 14%;
}

.sec_newconst .__sec_property {
  max-width: 96rem;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1024px) {
  .sec_newconst .__sec_property {
    margin-top: calc(7.6rem * 0.5);
    margin-bottom: calc(7.6rem * 0.5);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sec_newconst .__sec_property {
    margin-top: calc(6rem * 0.5);
    margin-bottom: calc(6rem * 0.5);
  }
}

@media (max-width: 767px) {
  .sec_newconst .__sec_property {
    margin-top: calc(4rem * 0.5);
    margin-bottom: calc(4rem * 0.5);
  }
}

@media (max-width: 767px) {
  .sec_newconst .view_list1 {
    top: -3rem;
    width: 100%;
  }
  .sec_newconst .view_list1 .__image {
    width: 17%;
  }
  .sec_newconst .view_list2 {
    width: 100%;
    bottom: -2rem;
  }
  .sec_newconst .view_list2 .__image {
    width: 14%;
  }
}

.sec_voice {
  background: #f7f5f0;
}

.sec_voice .voice_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 2.4rem;
  max-width: 96rem;
  background: #fff;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1024px) {
  .sec_voice .voice_list {
    margin-top: calc(7.6rem * 0.5);
    margin-bottom: calc(7.6rem * 0.5);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sec_voice .voice_list {
    margin-top: calc(6rem * 0.5);
    margin-bottom: calc(6rem * 0.5);
  }
}

@media (max-width: 767px) {
  .sec_voice .voice_list {
    margin-top: calc(4rem * 0.5);
    margin-bottom: calc(4rem * 0.5);
  }
}

.sec_voice .voice_list .__image {
  width: 38%;
}

.sec_voice .voice_list .__voice {
  width: 60%;
  text-align: left;
}

.sec_voice .voice_list .__voice .__title {
  font-size: 1.8rem;
  color: #0a3264;
  font-weight: 700;
  margin-bottom: 1em;
}

.sec_voice .voice_list .__voice .__detail {
  font-size: 1.6rem;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .sec_voice .voice_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .sec_voice .voice_list .__image,
  .sec_voice .voice_list .__voice {
    width: 100%;
  }
  .sec_voice .voice_list .__image {
    margin-bottom: 0.8rem;
  }
}
