@charset "UTF-8";
/* placeholder color */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&display=swap");
/**********************************************************************************************

　全体

**********************************************************************************************/
#wrap {
  font-size: 1.6rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  overflow: hidden; }
  @media (min-width: 751px) {
    #wrap {
      min-width: 1024px; } }
  @media (max-width: 750px) {
    #wrap {
      font-size: 3.2vw; } }

img[src$=".svg"] {
  width: 100%;
  display: block; }

/* common */
img {
  max-width: 100%;
  height: auto; }

.inner {
  max-width: 864px;
  margin: auto;
  position: relative; }
  @media (max-width: 750px) {
    .inner {
      max-width: 90vw; } }

main {
  display: block;
  position: relative; }

.pagetop {
  position: fixed;
  display: none;
  z-index: 1000; }
  @media (min-width: 751px) {
    .pagetop {
      width: 80px;
      height: 80px;
      right: 30px;
      bottom: 30px; } }
  @media (max-width: 750px) {
    .pagetop {
      width: 13.3vw;
      height: 13.3vw;
      right: 5vw;
      bottom: 30px; } }
  .pagetop a {
    display: block;
    background: url("../img/common/return_top.svg") no-repeat;
    background-size: contain;
    border-radius: 50%;
    height: 100%;
    width: 100%; }
    @media (min-width: 751px) {
      .pagetop a {
        transition: .2s; } }
    @media (min-width: 751px) {
      .pagetop a:hover {
        background: url("../img/common/return_top_active.svg") no-repeat;
        background-size: contain;
        transform: translateY(-10px); } }
  .pagetop.is-abs {
    position: absolute;
    bottom: calc(100% - 25px); }

@media (min-width: 751px) {
  .fadelink {
    transition: .4s opacity; }
    .fadelink:hover {
      opacity: 0.6; } }

.bold {
  font-weight: 700; }

@media (min-width: 751px) {
  .u-sp {
    display: none !important; }

  a[href^="tel:"] {
    pointer-events: none; } }
@media (max-width: 750px) {
  .u-pc {
    display: none !important; } }
/**********************************************************************************************

　header

**********************************************************************************************/
header {
  position: relative;
  background: #0d6cf4; }

.head_inner {
  max-width: 1024px;
  margin: auto;
  position: relative; }

.head_flex {
  display: flex; }

.head_logo {
  padding: 30px 20px 20px;
  width: 192px;
  flex-shrink: 0;
  display: block;
  transition: .4s background-color; }
  @media (min-width: 751px) {
    .head_logo:hover {
      background-color: #f5e0c4;
      background-image: url("../img/common/nr_logo_active.svg");
      background-position: center center;
      background-repeat: no-repeat;
      background-size: 152px; }
      .head_logo:hover img {
        opacity: 0; } }
  @media (max-width: 750px) {
    .head_logo {
      padding: 4vw 2.6vw 2.6vw;
      width: 25.6vw; } }

.head_content {
  width: 100%; }
  @media (min-width: 751px) {
    .head_content {
      white-space: nowrap; } }

.head_item {
  padding: 20px;
  position: relative;
  background: #fff; }
  @media (min-width: 751px) {
    .head_item {
      display: flex;
      align-items: flex-end; } }
  @media (max-width: 750px) {
    .head_item {
      padding: 2.6vw 4vw 5.3vw; } }
  .head_item::after {
    width: 50vw;
    height: 100%;
    content: "";
    display: block;
    background: #fff;
    top: 0;
    left: calc(100% - 1px);
    position: absolute; }
    @media (max-width: 750px) {
      .head_item::after {
        left: auto;
        right: 0;
        top: auto;
        bottom: 0;
        width: 200vw;
        height: 5.3vw; } }

.head_txt {
  font-size: 1.2rem;
  letter-spacing: -.02em; }
  @media (max-width: 750px) {
    .head_txt {
      font-size: 2.6vw;
      margin: 0 0 1.3vw; } }

@media (min-width: 751px) {
  .head_contact {
    text-align: center; } }

.head_contact_tit {
  color: #f5940c;
  font-weight: 700;
  font-size: 1.4rem; }
  @media (max-width: 750px) {
    .head_contact_tit {
      font-size: 2.6vw;
      margin: 0 0 0.8vw; } }

.head_contact_tel {
  display: inline-flex;
  align-items: center;
  position: relative;
  font-weight: 700;
  font-size: 3.8rem;
  line-height: 1;
  letter-spacing: .02em;
  z-index: 100; }
  @media (max-width: 750px) {
    .head_contact_tel {
      font-size: 7.2vw; } }
  .head_contact_tel::before {
    content: "";
    display: block;
    background: url("../img/common/tel.svg") no-repeat;
    background-size: contain;
    width: 45px;
    height: 45px;
    flex-shrink: 0;
    margin: 0 10px 0 0; }
    @media (max-width: 750px) {
      .head_contact_tel::before {
        width: 8.5vw;
        height: 8.5vw;
        margin: 0 1.3vw 0 0; } }

.head_btnList {
  display: flex;
  width: 100%; }
  @media (max-width: 750px) {
    .head_btnList {
      width: 100vw;
      position: relative;
      left: -25.6vw; } }
  .head_btnList li {
    flex-grow: 1; }
    @media (max-width: 750px) {
      .head_btnList li {
        width: 50%; }
        .head_btnList li:not(:last-child) {
          border-right: 1px solid #fff; } }
  .head_btnList a {
    width: 100%;
    padding: 15px 50px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    transition: .4s; }
    @media (max-width: 750px) {
      .head_btnList a {
        display: block;
        padding: 4vw 0; } }
    @media (min-width: 751px) {
      .head_btnList a:hover {
        background: #f5e0c4; }
        .head_btnList a:hover .head_btnList_tit {
          color: #333; }
        .head_btnList a:hover img {
          opacity: 0; }
        .head_btnList a:hover .head_btnList_icon-apartment {
          background: url("../img/common/apartment_active.svg") no-repeat; }
        .head_btnList a:hover .head_btnList_icon-house {
          background: url("../img/common/house_active.svg") no-repeat; } }

.head_btnList_icon {
  width: 45px;
  margin: 0 20px 0 0;
  flex-shrink: 0; }
  @media (max-width: 750px) {
    .head_btnList_icon {
      width: 7.6vw;
      margin: 0 auto 1.3vw; } }
  .head_btnList_icon img {
    transition: .4s; }

.head_btnList_tit {
  color: #fff;
  font-weight: 700;
  font-size: 1.8rem;
  text-align: center; }
  @media (max-width: 750px) {
    .head_btnList_tit {
      font-size: 2.6vw; } }
  .head_btnList_tit span {
    font-size: 3rem;
    display: block;
    line-height: 1;
    margin: 5px 0 0; }
    @media (max-width: 750px) {
      .head_btnList_tit span {
        font-size: 4.6vw;
        margin: 0.8vw 0 0; } }

.headNav {
  background: #fff; }

.headNav_list {
  display: flex;
  justify-content: flex-end;
  letter-spacing: -.1em; }
  @media (max-width: 750px) {
    .headNav_list {
      flex-wrap: wrap; } }
  @media (max-width: 750px) {
    .headNav_list li {
      width: 50%; }
      .headNav_list li:nth-child(1) {
        border-right: 1px solid #c9caca;
        border-bottom: 1px solid #c9caca; }
      .headNav_list li:nth-child(2) {
        border-bottom: 1px solid #c4d8f5; }
      .headNav_list li:nth-child(3) {
        border-right: 1px solid #c4d8f5; } }
  .headNav_list a {
    padding: 10px 30px;
    display: flex;
    align-items: center; }
    @media (max-width: 750px) {
      .headNav_list a {
        justify-content: center;
        padding: 2.6vw 0; } }
    @media (min-width: 751px) {
      .headNav_list a {
        transition: .4s; }
        .headNav_list a img {
          transition: .4s; }
        .headNav_list a:hover {
          color: #f5940c; }
          .headNav_list a:hover img {
            opacity: 0; } }

.headNav_list_icon {
  width: 25px;
  height: 25px;
  flex-shrink: 0;
  margin: 0 10px 0 0; }
  @media (max-width: 750px) {
    .headNav_list_icon {
      width: 5vw;
      height: 5vw;
      margin: 0 2vw 0 0; } }

@media (min-width: 751px) {
  .headNav_list_icon-about {
    background: url("../img/common/about_active.svg") no-repeat;
    background-size: contain; }

  .headNav_list_icon-staff {
    background: url("../img/common/staff_active.svg") no-repeat;
    background-size: contain; }

  .headNav_list_icon-company {
    background: url("../img/common/company_active.svg") no-repeat;
    background-size: contain; }

  .headNav_list_icon-favorite {
    background: url("../img/common/favorite02_active.svg") no-repeat;
    background-size: contain; } }
.headNav_list_fv a {
  background: #c4d8f5;
  color: #0d6cf4; }
  @media (min-width: 751px) {
    .headNav_list_fv a:hover {
      background: #231815;
      color: #fff; } }

/**********************************************************************************************

　footer

**********************************************************************************************/
footer {
  background: #fff;
  position: relative; }

.footNav {
  padding: 40px 0;
  background: rgba(13, 108, 244, 0.18); }
  @media (max-width: 750px) {
    .footNav {
      padding: 5.3vw 0 10.6vw; } }

.footNav_content {
  display: flex; }
  @media (max-width: 750px) {
    .footNav_content {
      flex-wrap: wrap;
      justify-content: space-between; } }

.footNav_item {
  margin: 0 60px 0 0; }
  @media (max-width: 750px) {
    .footNav_item {
      margin: 0; } }

.footNav_list {
  font-size: 1.4rem;
  line-height: 2; }
  @media (max-width: 750px) {
    .footNav_list {
      font-size: 2.6vw; }
      .footNav_list.bold {
        font-size: 2.93vw;
        margin: 0 0 4vw; } }
  .footNav_list:not(:last-child) {
    margin: 0 0 25px; }
    @media (max-width: 750px) {
      .footNav_list:not(:last-child) {
        margin: 0 0 4vw; } }
  @media (min-width: 751px) {
    .footNav_list li a {
      transition: .2s; }
      .footNav_list li a:hover {
        color: #f5940c; } }
  .footNav_list li a::before {
    content: "〉";
    display: inline-block;
    margin: 0 -5px 0 0; }
    @media (max-width: 750px) {
      .footNav_list li a::before {
        margin: 0 -1vw 0 0; } }

.footNav_tit {
  color: #0d6cf4;
  margin: 0 0 5px; }
  @media (max-width: 750px) {
    .footNav_tit {
      margin: 0 0 1.3vw;
      font-size: 2.93vw;
      letter-spacing: -.1em; } }

.snsList {
  margin: 0 0 0 auto; }
  @media (max-width: 750px) {
    .snsList {
      margin: 8vw auto 0;
      display: flex; } }
  .snsList li {
    width: 200px; }
    @media (max-width: 750px) {
      .snsList li {
        width: 38.6vw; } }
    .snsList li:not(:last-child) {
      margin: 0 0 10px; }
      @media (max-width: 750px) {
        .snsList li:not(:last-child) {
          margin: 0 1.3vw 0 0; } }

.copyright {
  font-size: 1.4rem;
  display: block;
  background: #0d6cf4;
  color: #fff;
  text-align: center;
  padding: 15px 0; }
  @media (max-width: 750px) {
    .copyright {
      padding: 2.6vw;
      font-size: 2.6vw; } }
