@charset "UTF-8";
/*common*/
html {
  font-size: 62.5%; }

body {
  font-family: 'Noto Sans JP',"Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.8;
  color: #333; }

* {
  box-sizing: border-box; }

a {
  color: #0000ee;
  text-decoration: underline; }

img {
  max-width: 100%; }

p {
  margin-bottom: 1em; }

h2 {
  font-weight: 600;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 2.8rem;
  color: #005bac;
  margin-bottom: 2em; }
  h2 i {
    color: #000000;
    font-style: normal;
    font-size: 0.64em; }
  h2 b {
    transform: scale(1.05, 1);
    letter-spacing: 0.02em; }

section {
  position: relative; }
  section:first-of-type {
    margin-top: 90px; }

.c-inlineBlock > span {
  display: inline-block; }

.linkBtn {
  text-align: center;
  margin: 1em auto; }
  .linkBtn a {
    position: relative;
    display: inline-block;
    text-align: center;
    min-width: 150px;
    padding: 0.2em 1em;
    color: #fff;
    background: #000000;
    border: 1px solid #000000;
    text-decoration: none;
    z-index: 1; }
    .linkBtn a::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 0;
      height: 100%;
      background: #fff;
      transition: .3s;
      z-index: -1; }
    .linkBtn a:hover {
      color: #000000; }
      .linkBtn a:hover::before {
        right: auto;
        left: 0;
        width: 100%; }
  .linkBtn.large {
    font-size: 1.2em; }
    .linkBtn.large a {
      padding: 0.5em 1em; }

@media screen and (max-width: 900px) {
  html {
    font-size: 55%; } }
@media screen and (max-width: 600px) {
  html {
    font-size: 45%; }

  section:first-of-type {
    margin-top: 60px; }

  .linkBtn a {
    min-width: 1px; } }
/*HEADER*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 90px;
  background: #fff;
  z-index: 1000;
  transition: .3s; }

.scroll header {
  height: 60px;
  box-shadow: 1px 0 5px #000; }

.headerInner {
  width: 1000px;
  max-width: 100%;
  margin: auto;
  height: 100%; }
  .headerInner .logo {
    height: 100%;
    padding: 5px 0; }
    .headerInner .logo a {
      display: flex;
      align-items: center;
      height: 100%;
      color: #005bac;
      text-decoration: none; }
    .headerInner .logo img {
      height: 56px;
      max-height: 100%; }
    .headerInner .logo p {
      margin: 0 0 0 1em; }
      .headerInner .logo p span {
        display: inline-block; }

.headerTel {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  font-size: 2.4rem; }
  .headerTel a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    height: 100%;
    line-height: 1.2;
    padding: 0 0.5em;
    color: #fff;
    background: #005bac;
    text-decoration: none; }
    .headerTel a .telNo {
      display: flex;
      align-items: center; }
      .headerTel a .telNo::before {
        content: "";
        display: block;
        width: 1em;
        height: 0.8em;
        margin-top: 0.1em;
        background: url("../img/common/tel.png") center center/contain no-repeat; }
    .headerTel a .openTime {
      font-size: 0.6em; }

@media screen and (max-width: 600px) {
  header {
    height: 60px; }

  .headerInner .logo a {
    align-items: flex-start;
    line-height: 1.2; }

  .headerTel {
    top: auto;
    bottom: 0;
    width: 100%;
    height: auto;
    font-size: 2rem; }
    .headerTel a {
      flex-direction: revert;
      align-items: center;
      justify-content: flex-end; }
      .headerTel a .telNo {
        margin-right: 1em; }
      .headerTel a .openTime {
        font-size: 1em; } }
/*FOOTER*/
footer {
  text-align: center; }

button#pagetop {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 50px;
  margin: auto;
  position: relative;
  overflow: hidden; }
  button#pagetop::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #005bac; }
  button#pagetop::after {
    content: "";
    position: relative;
    width: 0.8em;
    height: 0.8em;
    margin-top: 1em;
    transform: rotate(-45deg);
    border-color: #fff;
    border-style: solid;
    border-width: 1px 1px 0 0; }

.footerLogo {
  padding: 27px 0 40px;
  border-top: 2px solid #005bac; }

.copyright {
  font-size: 1.2rem;
  color: #fff;
  background: #005bac;
  margin: 0;
  padding: 1em 0; }

/*KV*/
.kv {
  height: 750px;
  max-height: 60vw;
  overflow: hidden;
  text-align: center; }

.kvImg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 1500px);
  width: 3000px; }
  .kvImg img {
    max-height: 100%;
    max-width: none; }

.kvCatch {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 3.6rem;
  color: #fff;
  filter: drop-shadow(0 2px 8px #000);
  display: flex;
  justify-content: center;
  align-items: center; }

@media screen and (max-width: 900px) {
  .kvCatch {
    font-size: 3rem; } }
@media screen and (max-width: 600px) {
  .kvCatch {
    font-size: 2rem; } }
/*content*/
.inner {
  width: 1040px;
  max-width: 100%;
  padding: 0 20px;
  margin: 90px auto 30px; }

@media screen and (max-width: 600px) {
  .inner {
    margin: 40px auto 20px;
    padding: 0 10px; } }
/*コンセプト*/
.concept {
  text-align: center; }
  .concept .inner {
    width: 1080px; }

/*物件一覧*/
.propatyList {
  display: flex;
  flex-wrap: wrap; }
  .propatyList li {
    width: calc((100% - 30px) / 3);
    margin-bottom: 15px;
    margin-right: 15px;
    cursor: pointer; }
    .propatyList li:hover img {
      transform: scale(1.1); }
  .propatyList figure {
    overflow: hidden; }
    .propatyList figure img {
      transition: .3s; }
  .propatyList .propName {
    font-size: 2.6rem;
    font-weight: 600; }
  .propatyList .linkBtn {
    text-align: right; }

@media screen and (max-width: 900px) {
  .propatyList .propName {
    font-size: 3vw; } }
@media screen and (min-width: 601px) {
  .propatyList li:nth-child(3n) {
    margin-right: 0; } }
@media screen and (max-width: 600px) {
  .propatyList .propName {
    font-size: 2rem; }
  .propatyList li {
    width: calc(50% - 10px);
    margin: 0 20px 20px 0; }
    .propatyList li:nth-child(2n) {
      margin-right: 0; } }
/*新着情報*/
.news .inner, .corp .inner {
  width: 680px; }

.newsList li {
  display: flex;
  margin-bottom: 1em;
  cursor: pointer; }
  .newsList li:hover {
    color: #000000; }
.newsList .day {
  width: 6em;
  flex-shrink: 0; }

@media screen and (max-width: 600px) {
  .newsList li {
    flex-direction: column;
    border-bottom: 1px solid #3333331a;
    padding-bottom: 1em; }
  .newsList .day {
    font-weight: 600; } }
/*会社概要*/
.corp table {
  line-height: 2.2; }
.corp th {
  font-weight: 400;
  padding-right: 2em; }

@media screen and (max-width: 600px) {
  .corp table, .corp tbody, .corp th, .corp td {
    display: block; }
  .corp tr {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #3333331a;
    padding: 1em 0; }
  .corp th {
    font-weight: 600; } }
/*お問い合わせ*/
.caution {
  color: #000000; }

form {
  width: 640px;
  max-width: 100%;
  margin: 3em auto; }
  form dl {
    display: flex;
    margin-bottom: 1em; }
  form .required dt::after {
    content: "※";
    color: #000000;
    margin: 0 0.1em; }
  form dt {
    width: 13em;
    flex-shrink: 0;
    font-weight: 400; }
  form dd {
    width: 100%; }
    form dd .inputErr {
      display: none;
      color: #000000;
      font-size: 0.8em; }
    form dd.err .inputErr {
      display: block; }
    form dd.err input, form dd.err textarea {
      background: #0000001a; }
  form input, form textarea {
    width: 100%;
    padding: 0.2em 0.5em;
    border: 1px solid #3333331a;
    font-size: 0.8em; }
    form input:placeholder-shown, form textarea:placeholder-shown {
      background: #3333331a; }
  form button {
    position: relative;
    display: block;
    width: 500px;
    max-width: 80%;
    margin: 2em auto;
    padding: 0.2em 0 0.4em;
    font-size: 2.6rem;
    text-decoration: none;
    text-align: center;
    color: #fff;
    background: #000000;
    border: 1px solid #000000;
    z-index: 1; }
    form button::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 0;
      height: 100%;
      background: #fff;
      transition: .3s;
      z-index: -1; }
    form button:hover {
      color: #000000; }
      form button:hover::before {
        right: auto;
        left: 0;
        width: 100%; }
    form button.back {
      color: #000000;
      background: #fff; }
      form button.back::before {
        background: #000000; }
      form button.back:hover {
        color: #fff; }
        form button.back:hover::before {
          right: auto;
          left: 0;
          width: 100%; }
  form .formBtnWrap {
    display: flex;
    justify-content: space-between; }
    form .formBtnWrap button {
      max-width: 45%; }

@media screen and (max-width: 600px) {
  form dl {
    flex-direction: column; } }
/*物件詳細*/
.propatyDetail .kvCatch {
  top: 20%;
  bottom: auto;
  width: 1000px;
  max-width: 100%;
  justify-content: flex-end;
  margin: auto;
  text-align: left; }

.photoWrap {
  display: flex;
  height: 500px; }

.photoView,
.photoList li {
  background: #000;
  position: relative;
  position: relative; }
  .photoView img,
  .photoList li img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%; }

.photoView {
  width: 66.5%;
  margin-bottom: 1px; }

.photoList {
  display: flex;
  flex-wrap: wrap;
  width: 33.5%; }
  .photoList li {
    width: calc(50% - 1px);
    height: 124px;
    margin: 0 1px 1px 0; }

@media screen and (min-width: 901px) {
  .photoList li:nth-child(2n) {
    margin-right: 0; } }
@media screen and (max-width: 900px) {
  .photoWrap {
    width: 600px;
    max-width: 100%;
    height: auto;
    flex-direction: column;
    margin: auto; }

  .photoView {
    width: 100%;
    height: 500px;
    max-height: 100vw; }

  .photoList {
    width: 100%; }
    .photoList li {
      width: calc((100% - 3px)/4);
      height: 100px;
      max-height: 20vw; }
      .photoList li:nth-child(4n) {
        margin-right: 0; } }
.checkListWrap {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 600; }
  .checkListWrap .checkList {
    display: inline-flex;
    flex-direction: column;
    text-align: left; }
    .checkListWrap .checkList li {
      display: flex;
      align-items: flex-start;
      margin-bottom: 0.5em; }
      .checkListWrap .checkList li::before {
        content: "";
        display: inline-block;
        flex-shrink: 0;
        width: 2em;
        height: 1.3em;
        margin-top: 0.3em;
        background: url("../img/propaty/check.png") left center/contain no-repeat; }

@media screen and (max-width: 900px) {
  .checkListWrap {
    font-size: 2rem; } }
.movieList {
  display: flex;
  flex-wrap: wrap; }
  .movieList li {
    width: calc(50% - 15px);
    margin-bottom: 30px; }
    .movieList li .movieTtl {
      padding: 0.2em 0.5em;
      text-align: center;
      font-size: 0.8em;
      font-weight: 600;
      color: #005bac;
      background: #f4ebdf; }

.movieWrap {
  position: relative;
  padding-top: 56.25%; }
  .movieWrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

@media screen and (min-width: 601px) {
  .movieList li:nth-child(2n) {
    margin-left: 30px; } }
@media screen and (max-width: 600px) {
  .movieList {
    flex-direction: column; }
    .movieList li {
      width: 100%; } }
.locationList {
  display: flex;
  flex-wrap: wrap; }
  .locationList li {
    width: calc((100% - 40px)/3);
    margin: 0 20px 20px 0; }

@media screen and (min-width: 601px) {
  .locationList li:nth-child(3n) {
    margin-right: 0; } }
@media screen and (max-width: 600px) {
  .locationList li {
    width: calc((100% - 20px)/2); }
    .locationList li:nth-child(2n) {
      margin-right: 0; } }
.map .inner {
  margin-top: 50px;
  margin-bottom: 20px; }
.map .textWrap {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .map .textWrap p {
    margin-bottom: 0; }
    .map .textWrap p span {
      display: inline-block; }
  .map .textWrap .name {
    font-weight: 600;
    margin-right: 1em; }
.map .linkBtn {
  margin: 0;
  flex-shrink: 0; }

.mapWrap {
  height: 480px;
  max-height: 80vw; }
  .mapWrap iframe {
    width: 100%;
    height: 100%; }

/*NEWS詳細*/
article {
  margin-bottom: 40px; }
  article .date {
    margin-bottom: 0; }
  article h2, article h3, article h4 {
    font-weight: 700;
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid; }
  article h2 {
    align-items: flex-start; }
  article h3 {
    font-size: 2.5rem;
    color: #005bac; }
  article h4 {
    font-size: 2rem;
    border-bottom-color: #3333331a; }
  article ul {
    padding-left: 1.5em; }
    article ul li {
      position: relative; }
      article ul li::before {
        content: "";
        position: absolute;
        top: calc(1em - 2px);
        left: -1em;
        width: 4px;
        height: 4px;
        background: #333;
        border-radius: 50%; }
  article ol {
    padding-left: 1.5em;
    list-style-type: decimal; }

.articleBody h2, .articleBody h3, .articleBody h4 {
  margin-top: 1.5em; }
