@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  display: block;
  max-width: 100%;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/* リキッドレイアウト対応 */
html {
  font-size: 16px;
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}

a {
  -webkit-text-decoration: none;
  -webkit-text-decoration: none;
  color: inherit;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

/* hover指定できるPCを想定したスタイル */
/* hoverが使えないタッチ端末を想定した装飾 */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 3.75rem;
}

body {
  color: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
}

main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.recruitment_bottom {
  width: 100%;
}

.recruitment_bottom img {
  width: 100%;
}

.recruit-info__container {
    padding: 11.25rem 3.75rem 10px 3.75rem!important;
}

.estate-common-title {
    padding: 0 20px!important;
}


.ml0 {
  padding: 0!important;
}


.project-common__img {
    height: auto!important;
}
.project-common__img img {
    aspect-ratio: auto!important;
    object-fit: contain !important;
}

h3.pr_es_title {
  font-size: 1.3rem;
  letter-spacing: 3px;
  color: #fff;
  text-align: center;
  padding-bottom: 15px;
  position: relative;
  margin: 0 auto;         /* 追加 */
  width: 200px;
}

h3.pr_es_title::before,
h3.pr_es_title::after {
  content: "";
  position: absolute;
  top: 35%;
  width: 60px;
  height: 2px;
  background-color: #fff;
}

h3.pr_es_title::before {
  right: 100%; /* タイトルの左外側 */
  margin-right: 20px; /* 間隔 */
  transform: translateY(-50%);
}

h3.pr_es_title::after {
  left: 100%; /* タイトルの右外側 */
  margin-left: 20px;  /* 間隔 */
  transform: translateY(-50%);
}


.project-common__title-wrap {
    display: block!important;
}
.project-common__title {
    text-align: center;
}
.spone {
  display: none;
      width: 0 !important;
}

.spnone {
  display: block;
}

.header_estate_link {
  width: 300px;
}

.header_estate_link img {
  width: 100%;
}

.header {
height: auto!important;
padding: 15px 0;
}

.header__logo {
    max-width: 250px!important;
}

.top_fix_link_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 51.875rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
}


.inner {
    max-width: 51.875rem!important;
    padding-left: 0!important;
    padding-right: 0!important;
}


/* newspage */

.breadcrumb {
   flex-wrap: wrap;
    word-break: break-word;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 40px;
  flex-wrap: wrap;
}

.pagination a,
.pagination span {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid #4a79a3;
  color: #4a79a3;
  text-decoration: none;
  border-radius: 4px;
  font-size: 14px;
  transition: all 0.2s ease;
}

.pagination a:hover {
  background-color: #4a79a3;
  color: #fff;
}

.pagination .current {
  background-color: #4a79a3;
  color: #fff;
  border-color: #4a79a3;
  pointer-events: none;
}


.newspage_container {
  width: 60%;
  margin: auto;
}

.newspage_title {
  margin-top: 100px;
}

.newspage_title h1 {
  font-size: 80px;
  letter-spacing: 3px;
font-family: 'Sawarabi Gothic', sans-serif;
font-weight: bold;
color:#1f6494;
}

.newspage_title h2 {
  font-size: 20px;
  letter-spacing: 3px;
  font-family: 'Sawarabi Gothic', sans-serif;
  padding-bottom: 50px;
  font-weight: bold;
}
a.newspage_list_a {
  border-bottom: dashed 1px #555;
  padding: 30px;
}

ul.newspage_list p {
  color: #000;
  font-family: 'Sawarabi Gothic', sans-serif;
  font-size: 16px;
  letter-spacing: 1px;
}

time.newspage_list_date {
  color: #fff;
  margin-right: 30px;
  font-family: 'Sawarabi Gothic', sans-serif;
  padding: 8px 5px;
  background: #1f6494;
  font-size: 12px;
  letter-spacing: 1px;
}

.news_contents {
  width: 70%;
  margin: auto;
  margin-top: 80px;
}

a.top_news_link {
  font-size: 18px;
  letter-spacing: 1px;
  color: #fff;
  border: solid #fff 1px;
  padding: 8px 50px;
  margin-top: 35px;
      display: inline-block;
}

p.newspage_detail_list {
  color: #000;
  font-size: 25px;
  line-height: 40px;
}

.news_contents time {
  margin-top: 10px;
  display: inline-block;
}

.news_content {
  margin-top: 50px;
  }

.common-btn {
  background-color: #fff;
  border-radius: 10px;
  color: #0e2c60;
  display: inline-block;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.015em;
  line-height: 1;
  padding: 12px 40px 12px 32px;
  padding: 0.75rem 2.5rem 0.75rem 2rem;
  position: relative;
  text-align: center;
}
.common-btn::after {
  border-bottom: 6px solid transparent;
  border-left: 10px solid #0e2c60;
  border-top: 6px solid transparent;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  right: 11.2px;
  right: 0.7rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
}

.common-title {
  color: inherit;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: 0.068em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.common-subtitle {
  color: inherit;
  color: #fff;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.068em;
  line-height: 1;
  text-transform: uppercase;
}

.common-mv {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 500px;
}

.common-mv__title {
  background: rgba(51, 51, 51, 0.7);
  color: #fff;
  font-size: 30px;
  font-size: 1.875rem;
  margin-right: auto;
  padding: 16px 32px;
  padding: 1rem 2rem;
  text-align: right;
  text-transform: uppercase;
  white-space: nowrap;
  width: 45%;
}

.br-sp {
  display: none;
}

.br-pc {
  display: block;
}

.fadeIn {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0s, visibility 1s, -webkit-transform 1.5s;
  transition: opacity 0s, visibility 1s, -webkit-transform 1.5s;
  transition: opacity 0s, visibility 1s, transform 1.5s;
  transition: opacity 0s, visibility 1s, transform 1.5s, -webkit-transform 1.5s;
  visibility: hidden;
}

.fadeIn.scroll {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  visibility: visible;
}

.slideIn {
  opacity: 0;
  -webkit-transform: translateX(-100px);
          transform: translateX(-100px);
  /* 左からスタート */
  -webkit-transition: opacity 0.5s, visibility 1s, -webkit-transform 1.5s;
  transition: opacity 0.5s, visibility 1s, -webkit-transform 1.5s;
  transition: opacity 0.5s, visibility 1s, transform 1.5s;
  transition: opacity 0.5s, visibility 1s, transform 1.5s, -webkit-transform 1.5s;
  visibility: hidden;
}

.slideIn.scroll {
  opacity: 1;
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
  visibility: visible;
  /* 元の位置に戻る */
}

.slideIn-right {
  opacity: 0;
  -webkit-transform: translateX(100px);
          transform: translateX(100px);
  /* 右からスタート */
  -webkit-transition: opacity 0.5s, visibility 1s, -webkit-transform 1.5s;
  transition: opacity 0.5s, visibility 1s, -webkit-transform 1.5s;
  transition: opacity 0.5s, visibility 1s, transform 1.5s;
  transition: opacity 0.5s, visibility 1s, transform 1.5s, -webkit-transform 1.5s;
  visibility: hidden;
}

.slideIn-right.scroll {
  opacity: 1;
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
  visibility: visible;
  /* 元の位置に戻る */
}

.bounceIn {
  opacity: 0;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  /* 下からスタート */
  -webkit-transition: opacity 2s, visibility 2s, -webkit-transform 2s;
  transition: opacity 2s, visibility 2s, -webkit-transform 2s;
  transition: opacity 2s, visibility 2s, transform 2s;
  transition: opacity 2s, visibility 2s, transform 2s, -webkit-transform 2s;
  visibility: hidden;
}

.bounceIn.scroll {
  -webkit-animation: bounceIn 1s ease-out;
          animation: bounceIn 1s ease-out;
  opacity: 1;
  visibility: visible;
  /* 跳ねる動きを指定 */
}

/* @keyframesを追加して弾む動きを設定 */
@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  70% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    /* 元の位置に戻る */
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  70% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    /* 元の位置に戻る */
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
.wp-pagenavi {
  margin-top: 50px;
  margin-top: 3.125rem;
  text-align: center;
}

.wp-pagenavi .pages {
  background: #236790;
  color: #fff;
}

.previouspostslink,
.nextpostslink {
  background: #236790;
  color: #fff;
}

.wp-pagenavi .page {
  background: #236790;
  color: #fff;
}

.breadcrumb {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  gap: 0.625rem;
  padding: 20px;
  padding: 1.25rem;
}
.breadcrumb span {
  font-size: 14px;
  font-size: 0.875rem;
}

.sns__container {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  width: 70%;
}

.sns__insta {
  max-width: 560px;
  width: 45%;
}
.sns__insta img {
  -o-object-fit: cover;
  aspect-ratio: 560/420;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.sns__youtube {
  max-width: 560px;
  width: 45%;
}
.sns__youtube video {
  -o-object-fit: cover;
  aspect-ratio: 560/420;
  height: auto;
     object-fit: cover;
  width: 100%;
}

footer {
  background: url("../images/footer-back.jpg") no-repeat center center/cover;
  height: 800px;
  width: 100%;
}

.layout-footer {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.footer__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: inherit;
  max-width: 1200px;
  text-align: center;
}

.footer__nav {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: auto;
}

.footer__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px;
  font-size: 1rem;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  height: inherit;
  padding: 0 1em;
  position: relative;
  white-space: nowrap;
}
.footer__item::after {
  background-color: #b5b5b5;
  content: "";
  height: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
}
.footer__item:last-child a::after {
  display: none;
}

.footer__logo {
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
  margin-top: 3.125rem;
  max-width: 350px;
  width: 100%;
}
.footer__logo img {
  -o-object-fit: cover;
  aspect-ratio: 350/50;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.footer__sns {
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
  margin-top: 1.875rem;
  width: 60%;
}

.footer__copyright {
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  margin-top: 16px;
  margin-top: 1rem;
}

.header {
  background: rgba(255, 255, 255, 0.8);
  bottom: 0;
  height: 70px;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 2000;
}

.layout-header {
  position: sticky;
  top: 0;
}

.header__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header__logo {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
  max-width: 200px;
  width: 100%;
}
.header__logo img {
  -o-object-fit: cover;
  aspect-ratio: 330/70;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.header__nav {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header__item {
  height: inherit;
}
.header__item a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #0b0b0b;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  height: inherit;
  padding: 0 1em;
  position: relative;
  white-space: nowrap;
}
.header__item a::after {
  background-color: #b5b5b5;
  content: "";
  height: 30%;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
}
.header__item:last-child a::after {
  display: none;
}

.header__btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
}
.header__btn a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #24668f;
  border-radius: 0.625rem;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  padding: 0.5em 2em;
}

.header__hamburger {
  display: none;
  height: inherit;
  position: relative;
  z-index: 1200;
}

.hamburger {
  cursor: pointer;
  display: none;
  padding: 5px;
  padding: 0.3125rem;
}
.hamburger.is-active .hamburger__bar-wrap span:nth-of-type(1) {
  background-color: #fff;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(30deg);
          transform: translateY(-50%) rotate(30deg);
}
.hamburger.is-active .hamburger__bar-wrap span:nth-of-type(2) {
  opacity: 0;
}
.hamburger.is-active .hamburger__bar-wrap span:nth-of-type(3) {
  background-color: #fff;
  top: 44%;
  -webkit-transform: translateY(-50%) rotate(-30deg);
          transform: translateY(-50%) rotate(-30deg);
}

.hamburger__bar-wrap {
  display: block;
  height: 70px;
  width: 30px;
  width: 1.875rem;
}

.hamburger__bar-wrap span {
  background-color: #333;
  display: block;
  height: 2px;
  position: relative;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
}
.hamburger__bar-wrap span:nth-of-type(1) {
  top: 40%;
}
.hamburger__bar-wrap span:nth-of-type(2) {
  top: 45%;
}
.hamburger__bar-wrap span:nth-of-type(3) {
  top: 51%;
}

.hamburger__logo-mail {
  margin-right: 5px;
  margin-right: 0.3125rem;
  max-width: 40px;
  width: 100%;
}
.hamburger__logo-mail img {
  -o-object-fit: cover;
  aspect-ratio: 100/100;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.header__drawer {
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1000;
}
.header__drawer.is-active {
  display: block;
}

hamburger.is-active .header__drawer {
  display: block;
}

.drawer {
background-color: rgba(35, 103, 144, 0.95);  /* ← ここを変更 */
  bottom: 0;
  height: 100vh;
  left: 0;
  overflow-y: scroll;
  padding: 30px 0 100px 0;  /* ← 上部を80pxに削減 */
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 900;
}
.drawer__nav {
  margin-top: 0;  /* ← 余白を0に */
}

.drawer__logo {
  -o-object-fit: contain;
  margin: 0 auto;
  max-width: 42px;
     object-fit: contain;
  width: 100%;
}

.drawer__items {
  margin-top: 25px;
  margin-top: 1.5625rem;
}

.drawer__item a {
  color: #fff;
  display: block;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: 0.006em;
  line-height: 1;
  padding: 15px 20px;  /* ← 左右にパディング追加 */
  padding: 0.9375rem 1.25rem;
  text-align: left;  /* ← 左寄せに変更 */
  text-transform: uppercase;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);  /* ← 下線追加 */
}


.drawer__bottom-banner {
  margin: 30px 20px 0;
  padding: 0;
}

.drawer__bottom-banner a {
  display: block;
  border-bottom: none !important;
  padding: 0 !important;
}

.drawer__bottom-banner img {
  width: 100%;
  height: auto;
  display: block;
}

.drawer__close-btn {
  margin: 20px 20px 30px;
  text-align: center;
}

.drawer__close {
  background-color: #fff;
  border: none;
  border-radius: 25px;
  color: #236790;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  padding: 12px 60px;
  width: auto;
  min-width: 200px;
  transition: opacity 0.3s;
}

.drawer__close:hover {
  opacity: 0.8;
}


.header__drawer-bg {
  background-color: rgba(34, 34, 34, 0.6);
  display: none;
  height: 100vh;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 800;
}

.inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1150px;
  max-width: 71.875rem;
  padding-left: 25px;
  padding-left: 1.5625rem;
  padding-right: 25px;
  padding-right: 1.5625rem;
  width: 100%;
}

.works-mv {
  background: url("../images/works/works-mv.jpg") no-repeat center center/cover;
}

.works-mv__title {
  background: rgba(51, 51, 51, 0.7);
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  font-size: 1.875rem;
  letter-spacing: 0.15em;
  padding: 15px 30px;
  padding: 0.9375rem 1.875rem;
  text-align: right;
  text-transform: uppercase;
  width: 50%;
}

.main.main--works {
  background: url("../images/works/works-back.jpg") no-repeat center center/cover;
}

.layout-works-main {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.works-main__title {
  color: #236790;
  font-size: 25px;
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.8;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}
.works-main__title::after {
  background: #236790;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  max-width: 250px;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}

.works-main__cards {
  grid-row-gap: 30px;
  grid-column-gap: 20px;
  -moz-column-gap: 20px;
  background: #fff;
       -webkit-column-gap: 20px;
               column-gap: 20px;
  display: grid;
  grid-template-columns: repeat(3, 3fr);
  margin-top: 48px;
  margin-top: 3rem;
  row-gap: 30px;
}
.works-main__cards .works-main__card {
  position: relative;
}

.works-main__card-img {
  max-width: 400px;
  width: 100%;
}
.works-main__card-img img {
  -o-object-fit: cover;
  aspect-ratio: 400/300;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.works-main__wrap-lead {
  background: rgba(0, 0, 0, 0.45);
  bottom: 0;
  content: "";
  left: 0;
  padding: 8px 20px;
  padding: 0.5rem 1.25rem;
  position: absolute;
  width: 100%;
}

.works-main__date {
  color: #fff;
}

.works-main__lead {
  /* 必須 */
  -webkit-box-orient: vertical;
  /* 必須 */
  -webkit-line-clamp: 1;
  color: #fff;
  display: -webkit-box;
  /* 行数を制限 */
  overflow: hidden;
  /* はみ出た部分を非表示 */
}

.works-sns {
  display: none;
}

.layout-works-sns {
  margin-top: 50px;
  margin-top: 3.125rem;
}

.error-main {
  background: #F2F2F2;
  padding: 150px 0;
  padding: 9.375rem 0;
  text-align: center;
}

.layout-error-main {
  margin-top: 50px;
  margin-top: 3.125rem;
}

.error-main__title {
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 700;
}

.error-main__txt {
  font-weight: 700;
  margin-top: 30px;
  margin-top: 1.875rem;
}

.layout-footer.layout-footer--error {
  margin-top: 0;
}

.top-mv {
  height: auto;
  position: relative;
  width: 100%;
}
.video-background {
  height: 100%;
  left: 0;
  overflow: hidden;
  top: 0;
  width: 100%;
  z-index: -1;
}

.video-background video {
  -o-object-fit: cover;
  height: 100%;
     object-fit: cover;
  width: 100%;
}

.top-mv__message {
  bottom: 30px;
  bottom: 1.875rem;
  height: auto;
  max-width: 550px;

  position: absolute;
  right: 0;
  width: 100%;
}
.top-mv__message img {
  -o-object-fit: cover;
  aspect-ratio: 268/127;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.top-company {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: url("../images/top-company-back.jpg") no-repeat center center/cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 60px 0;
  padding: 3.75rem 0;
  width: 100%;
}

.top-company__inner {
  height: inherit;
}

.top-company__wrap {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.top-company__title {
  -ms-writing-mode: tb-rl;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 48px;
  font-size: 3rem;
  font-weight: 700;
  margin-left: 30px;
  margin-left: 1.875rem;
  padding-top: 5em;
  text-indent: -5em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.top-company__txt {
  -ms-writing-mode: tb-rl;
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.2em;
  line-height: 3;
  margin-top: 60px;
  margin-top: 3.75rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.top-company__txt span {
  text-combine-upright: all;
}

.top-company__btn {
  margin-top: 24px;
  margin-top: 1.5rem;
  text-align: center;
}

.top-message {
  height: auto;
  overflow: hidden;
  width: 100%;
}
.top-message img {

  height: auto;
  margin: 0 calc(50% - 50vw);
  max-width: none;
  max-width: initial;
  width: 100vw;
}

.top-message__inner {
  position: relative;
}

.layout-top-message {
  margin-top: 50px;
  margin-top: 3.125rem;
}

.top-message__wrap {
  content: "";
  left: calc(50% - 20rem);
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.top-message__name {
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 48px;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
}

.top-message__title {
  text-stroke: 3px #1a2987;
  -webkit-text-stroke: 3px #1a2987;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 80px;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
}

.top-message__subtitle {
  color: #fff;
  font-size: 48px;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.3;
}

.top-message__btn {
  margin-top: 16px;
  margin-top: 1rem;
  text-align: center;
}

.top-project {
  background: url(../images/top-project-back.jpg) no-repeat right center/contain;
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 5rem;
  padding-bottom: 80px;
  position: relative;
  z-index: 1000;
}
.top-project::after {
  background-color: rgba(32, 96, 140, 0.8);
  bottom: 0;
  clip-path: polygon(0 13%, 100% 0, 100% 6%, 0 100%);
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  top: 10%;
  z-index: -1;
}
.top-project::before {
  background-blend-mode: lighten;
  background-color: rgba(255, 255, 255, 0.8);
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

.top-project__title {
  padding-top: 100px;
  padding-top: 6.25rem;
}

.top-project__cards {
  grid-row-gap: 50px;
  grid-column-gap: 10px;
  -moz-column-gap: 10px;
  background: #fff;
       -webkit-column-gap: 10px;
               column-gap: 10px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
  margin-top: 3.125rem;
  max-width: 1100px;
  padding: 20px;
  padding: 1.25rem;
  row-gap: 50px;
  width: 65%;
}

.top-project__card:nth-of-type(4) {
  position: relative;
}

.top-project__img {
  margin-left: auto;
  margin-right: auto;
  max-width: 230px;
  width: 100%;
}
.top-project__img img {
  -o-object-fit: cover;
  aspect-ratio: 230/250;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.top-project__content {
  padding: 16px 8px;
  padding: 1rem 0.5rem;
}

.top-project__leading {
  color: #206395;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  padding: 0 8px;
  padding: 0 0.5rem;
  text-align: center;
}

.top-project__txt {
  color: #6d6d6d;
  margin-top: 16px;
  margin-top: 1rem;
}

.top-project__btn {
  text-align: center;
}
.top-project__btn a {
  background-color: #206395;
  color: #fff;
}
.top-project__btn a::after {
  border-left: 10px solid #fff;
}

.top-realestate {
  background: url("../images/top-realestate-back.jpg") no-repeat center center/cover;
  height: 435px;
  position: relative;
  width: 100%;
}
.top-realestate::before {
  background-color: #003263;
  content: "";
  height: 100%;
  opacity: 0.7;
  position: absolute;
  width: 100%;
}
.top-realestate::after {
  background: #4a79a3;
  bottom: -80px;
  content: "";
  height: 80px;
  left: 0;
  opacity: 0.8;
  position: absolute;
  width: 100%;
}

.layout-top-realestate {
  margin-top: 80px;
  margin-top: 5rem;
}

.top-realestate_inner {
  height: inherit;
  max-width: 1200px;
}

.top-realestate__wrap {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: auto;
  padding-top: 96px;
  padding-top: 6rem;
  position: relative;
  width: 90%;
  z-index: 1000;
}

.top-realestate__content {
  margin-right: 32px;
  margin-right: 2rem;
  width: 45%;
}

.top-realestate__title {
  padding-bottom: 10px;
  padding-bottom: 0.625rem;
  position: relative;
}
.top-realestate__title::after {
  background: #fff;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100px;
  width: 6.25rem;
}

.top-realestate__txt {
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.top-realestate__cards {
  grid-gap: 2rem;
  display: grid;
  font-weight: 700;
  gap: 32px;
  gap: 2rem;
  grid-template-columns: repeat(2, 2fr);
  margin-top: 16px;
  margin-top: 1rem;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.top-realestate__card {
  color: #fff;
  font-size: 18px;
  font-size: 1.125rem;
  padding-left: 50px;
  position: relative;
}
.top-realestate__card img {
  content: "";
  height: 40px;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 40px;
}

.top-realestate__btn {
  margin-top: 24px;
  margin-top: 1.5rem;
  text-align: center;
}
.top-realestate__btn a {
  background-color: #051f46;
  color: #fff;
  text-align: center;
}
.top-realestate__btn a::after {
  border-left: 10px solid #fff;
}

.top-realestate__img {
  margin-top: 80px;
  margin-top: 5rem;
  max-width: 685px;
  width: 60%;
}
.top-realestate__img img {
  -o-object-fit: cover;
  aspect-ratio: 685/455;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.recruit {
  background: url("../images/top-recruit-back.png") no-repeat center center/cover;
  padding-top: 20px;
  padding-top: 1.25rem;
  position: relative;
}

.layout-top-recruit {
  margin-top: 160px;
  margin-top: 10rem;
}

.top-recruit__back {
  display: none;
}

.recruit__inner {
  max-width: 1200px;
  position: relative;
}

.recruit__wrap {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.recruit__img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-right: 16px;
  margin-right: 1rem;
  max-width: 900px;
  width: 100%;
}
.recruit__img img {
  -o-object-fit: cover;
  aspect-ratio: 850/420;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.recruit__content {
  margin-left: auto;
  width: 35%;
}

.recruit__title {
  margin-top: 16px;
  margin-top: 1rem;
  padding-bottom: 10px;
  padding-bottom: 0.625rem;
  position: relative;
  text-align: left;
}
.recruit__title::after {
  background: #fff;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

.recruit__subtitle {
  margin-top: 5px;
  margin-top: 0.3125rem;
}

.recruit__txt {
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 16px;
  margin-top: 1rem;
}

.recruit__btn {
  margin-top: 16px;
  margin-top: 1rem;
  max-width: 360px;
  width: 100%;
}
.recruit__btn img {
  -o-object-fit: cover;
  aspect-ratio: 360/160;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.layout-top-movie {
  margin-top: 100px;
  margin-top: 6.25rem;
}

.top-movie {
  background: url("../images/top-movie-back.jpg") no-repeat center center/cover;
  padding: 32px 0;
  padding: 2rem 0;
}

.top-movie__title {
  text-align: center;
}

.top-movie__youtube {
  margin-left: auto;
  margin-right: auto;
  margin-top: 24px;
  margin-top: 1.5rem;
  max-width: 530px;
  width: 100%;
}
.top-movie__youtube video {
  -o-object-fit: cover;
  aspect-ratio: 530/350;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.top-topics {
  background: url("../images/top-topics-back.jpg") no-repeat center center/cover;
  height: 600px;
  overflow-x: clip;
  padding: 80px 0;
  padding: 5rem 0;
  position: relative;
}

.layout-top-topics {
  margin-top: 100px;
  margin-top: 6.25rem;
}

.top-topics__back-sp {
  display: none;
}

.top-topics__inner {
  height: auto;
}

.top-topics__title {
  padding-bottom: 10px;
  padding-bottom: 0.625rem;
  position: relative;
  text-align: left;
}
.top-topics__title::after {
  background: #fff;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 150px;
  width: 9.375rem;
}

.top-topics__subtitle {
  margin-top: 5px;
  margin-top: 0.3125rem;
}

.top-topics__img {
  content: "";
  display: inline-block;
  height: 700px;
  max-width: 800px;
  position: absolute;
  right: -3px;
  top: -5%;
  width: 100%;
  z-index: -1;
}
.top-topics__img img {
  -o-object-fit: cover;
  aspect-ratio: 1157/975;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.top-topics__lists {
  direction: rtl;
  height: 200px;
  margin-top: 64px;
  margin-top: 4rem;
  overflow-y: scroll;
  width: 50%;
}
.top-topics__lists::-webkit-scrollbar {
  border-radius: 10px;
  width: 10px;
}
.top-topics__lists::-webkit-scrollbar-track {
  background-color: #fff;
  border-radius: 5px;
}
.top-topics__lists::-webkit-scrollbar-thumb {
  background-color: #21396d;
  border: 2px solid #fff;
  border-radius: 10px;
}

.top-topics__list {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #fff;
  direction: ltr;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 14px 0;
  padding: 0.875rem 0;
}

.top-topics__date {
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  margin: 0 20px;
  margin: 0 1.25rem;
  text-align: center;
  width: 25%;
}

.top-topics__txt {
  /* 必須 */
  -webkit-box-orient: vertical;
  /* 必須 */
  -webkit-line-clamp: 2;
  color: #fff;
  display: -webkit-box;
  /* はみ出た部分を非表示 */
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 14px;
  font-size: 0.875rem;
  /* 行数を制限 */
  overflow: hidden;
  text-align: left;
}

.layout-top-insta {
  margin-top: 150px;
  margin-top: 9.375rem;
}

.insta__container {
  -o-border-image: linear-gradient(to right, #e0ef28, #e5430a, #dd3cf3) 1;
  border: 25px solid;
     border-image: -webkit-gradient(linear, left top, right top, from(#e0ef28), color-stop(#e5430a), to(#dd3cf3)) 1;
     border-image: linear-gradient(to right, #e0ef28, #e5430a, #dd3cf3) 1;
  padding: 16px;
  padding: 1rem;
}

.insta__logo {
  margin-left: auto;
  margin-right: auto;
  margin-top: 24px;
  margin-top: 1.5rem;
  max-width: 420px;
  width: 100%;
}
.insta__logo img {
  -o-object-fit: cover;
  aspect-ratio: 420/120;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.insta__cards {
  grid-gap: 1.25rem;
  display: grid;
  gap: 20px;
  gap: 1.25rem;
  grid-template-columns: repeat(3, 2fr);
  margin-top: 24px;
  margin-top: 1.5rem;
}

.footer.footer--front-page .footer__sns {
  display: none;
}

.company-title {
  color: #23668F;
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 2;
  position: relative;
  text-align: center;
}
.company-title::after {
  background: #23668F;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 180%;
}

.company-mv {
  background: url("../images/company/company-mv.jpg") no-repeat center center/cover;
}

.company-mv__title {
  background: #236790;
  font-family: "Noto Serif JP", serif;
}

.layout-company-about {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.company-about {
  background: #236790;
  padding: 60px 0;
  padding: 3.75rem 0;
}

.company-about__inner {
  text-align: center;
}

.company-about__title {
  color: #fff;
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 2;
  position: relative;
}
.company-about__title::after {
  background: #fff;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}

.company-about__txt {
  color: #fff;
  margin-top: 32px;
  margin-top: 2rem;
}

.layout-company-philosophy {
  margin-top: 80px;
  margin-top: 5rem;
}

.company-philosophy {
  height: 300px;
}

.company-philosophy__wrap {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.company-philosophy__img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 300px;
  margin-left: calc(50% - 50vw);
  margin-right: 30px;
  margin-right: 1.875rem;
  width: 100%;
}
.company-philosophy__img img {
  -o-object-fit: cover;
  aspect-ratio: 500/250;
  border-top-right-radius: 50px;
  border-top-right-radius: 3.125rem;
  height: 100%;
     object-fit: cover;
  width: 100%;
}

.company-philosophy__content {
  text-align: center;
  width: 50%;
}

.company-philosophy__title {
  display: inline-block;
  position: relative;
}

.company-philosophy__txt {
  margin-top: 32px;
  margin-top: 2rem;
  text-align: left;
}

.layout-company-project {
  margin-top: 80px;
  margin-top: 5rem;
}

.company-project {
  background: url("../images/company/company-project-back.png") no-repeat center center/cover;
  padding: 100px 0 50px;
  padding: 6.25rem 0 3.125rem;
}

.company-project__inner {
  text-align: center;
}

.company-project__title {
  display: inline-block;
  position: relative;
}

.company-project__items {
  margin-top: 50px;
  margin-top: 3.125rem;
}
.company-project__items .company-project__item:nth-of-type(odd) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.company-project__items .company-project__item:nth-of-type(n+2) {
  margin-top: 50px;
  margin-top: 3.125rem;
}

.company-project__item {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  gap: 1.25rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.company-project__img {
  max-width: 500px;
  width: 50%;
}
.company-project__img img {
  -o-object-fit: cover;
  aspect-ratio: 300/150;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.company-project__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.company-project__leading {
  color: #23668F;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: left;
}

.company-project__txt {
  margin-top: 8px;
  margin-top: 0.5rem;
  text-align: left;
}

.layout-company-strengths {
  margin-top: 80px;
  margin-top: 5rem;
}

.company-strengths__inner {
  text-align: center;
}

.company-strengths__title {
  display: inline-block;
  position: relative;
}

.company-strengths__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  gap: 1.25rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 60px;
  margin-top: 3.75rem;
}

.company-strengths__card {
  background: #F2F2F2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  flex-direction: column;
  height: auto;
  padding-bottom: 16px;
  padding-bottom: 1rem;
  width: calc(100% - 0.8333333333rem);
}

.company-strengths__img {
  max-width: 500px;
  width: 100%;
}
.company-strengths__img img {
  -o-object-fit: cover;
  aspect-ratio: 300/280;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.company-strengths__leading {
  color: #23668F;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  margin-top: 16px;
  margin-top: 1rem;
  padding: 0 16px;
  padding: 0 1rem;
  text-align: center;
}

.company-strengths__txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-top: 16px;
  margin-top: 1rem;
  padding: 0 16px;
  padding: 0 1rem;
  text-align: left;
}

.layout-company-feature {
  margin-top: 80px;
  margin-top: 5rem;
}

.company-feature {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #236790;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 550px;
  padding: 50px 0;
  padding: 3.125rem 0;
}

.company-feature__container {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.company-feature__container .company-feature__content {
  margin-right: 30px;
  margin-right: 1.875rem;
  width: 50%;
}
.company-feature__container .company-feature__title {
  color: #fff;
  text-align: left;
}
.company-feature__container .company-feature__title::after {
  background: #fff;
  width: 100%;
}

.company-feature__txt {
  color: #fff;
  margin-top: 32px;
  margin-top: 2rem;
}

.company-feature__img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 400px;
  margin-right: calc(50% - 50vw);
  max-width: 100%;
  width: 100%;
}
.company-feature__img img {
  -o-object-fit: cover;
  aspect-ratio: 500/400;
  border-top-left-radius: 50px;
  border-top-left-radius: 3.125rem;
  height: 100%;
     object-fit: cover;
  width: 100%;
}

.company-sns {
  display: none;
}

.layout-company-sns {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.layout-contact-complete {
  margin-top: 50px;
  margin-top: 3.125rem;
}

.contact-complete {
  background: #F2F2F2;
  padding: 150px 0;
  padding: 9.375rem 0;
  text-align: center;
}

.contact-complete__title {
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 700;
}

.contact-complete__txt {
  font-weight: 700;
  margin-top: 30px;
  margin-top: 1.875rem;
}

.footer.footer--complete {
  margin-top: 0;
}

.layout-contact-confirm {
  margin-top: 0;
}

.contact-confirm {
  background: #F2F2F2;
  padding: 70px 0 60px;
  padding: 4.375rem 0 3.75rem;
  text-align: center;
}

.contact-confirm__title {
  color: #1F6494;
  display: inline-block;
  font-size: 40px;
  font-size: 2.5rem;
  letter-spacing: 0.2em;
  line-height: 2;
  position: relative;
  text-align: center;
}
.contact-confirm__title::after {
  background: #1f6494;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}

form {
  background: #fff;
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
  margin-top: 3.125rem;
  padding: 60px 0;
  padding: 3.75rem 0;
  width: 90%;
}

.contact-confirm__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
  margin-top: 0.625rem;
  width: 80%;
}
.contact-confirm__item:nth-of-type(n+2) {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.contact-confirm__wrap-address {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: left;
}
.contact-confirm__wrap-address .contact-confirm__input:nth-of-type(2) {
  margin-top: 8px;
  margin-top: 0.5rem;
}

.contact-confirm__txt.contact-confirm__txt--zipcode {
  width: 30%;
}

.contact-confirm__lead {
  color: #1f6494;
  font-size: 14px;
  font-size: 0.875rem;
  margin-right: 16px;
  margin-right: 1rem;
  text-align: left;
  width: 30%;
}

.contact-confirm__icon {
  background: #1f6494;
  color: #fff;
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
  margin-right: 10px;
  margin-right: 0.625rem;
  padding: 0px 5px;
  text-align: center;
}

.contact-confirm__icon.contact-confirm__icon--back {
  background: #7f7e7e;
}

.contact-confirm__icon-zipcode {
  color: #1f6494;
}

.contact-confirm__txt.contact-confirm__txt--address {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.contact-confirm__txt {
  background: #E6E6E6;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 15px;
  padding: 0.9375rem;
  text-align: left;
  width: 100%;
}

.contact-confirm__btn-wrap {
  margin-top: 50px;
  margin-top: 3.125rem;
  text-align: center;
}
.contact-confirm__btn {
  background: #1f6494;
  border: 1px solid #1f6494;
  color: #fff;
  cursor: pointer;
  cursor: pointer;
  display: block;
  font-size: 18px;
  margin-left: auto;
  margin-right: auto;
  max-width: 200px;
  padding: 15px 60px;
  padding: 0.9375rem 3.75rem;
  position: relative;
  text-align: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  white-space: nowrap;
  width: 100%;
}
.contact-confirm__btn:hover {
  background-color: #fff;
  border: 1px solid #1f6494;
  color: #1f6494;
  opacity: 1;
}

.contact-confirm__btn.contact-confirm__btn--back {
  background: #b5b5b5;
  border: 1px solid #b5b5b5;
  max-width: 100%;
  width: 200px;
}

.contact-confirm__btn.contact-confirm__btn--submit {
  margin-top: 20px;
  margin-top: 1.25rem;
  max-width: 100%;
  width: 200px;
}

.contact-confirm__input-txt {
  border: 1px solid #e2e2e2;
  border-radius: 4px;
  height: 160px;
  padding: 15px;
  resize: none;
  width: 100%;
}

.wpcf7-form-control-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.contact-recruit {
  display: block;
}

.layout-contact-sns {
  padding: 60px 0;
  padding: 3.75rem 0;
}

.contact-sns {
  background: #F2F2F2;
  display: none;
}

.layout-footer.layout-footer--contact-confirm {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.contact-mv {
  max-width: 100%;
  width: 100%;
}
.contact-mv img {
  -o-object-fit: cover;
  height: 100%;
     object-fit: cover;
  width: 100%;
}

.contact-info {
  text-align: center;
}

.contact-info__title {
  color: #1F6494;
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 2;
  position: relative;
  text-align: center;
  text-transform: uppercase;
}
.contact-info__title::after {
  background: #1f6494;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 120%;
}

.contact-info__sub-title {
  color: #1F6494;
  margin-top: 16px;
  margin-top: 1rem;
  text-align: center;
}

.contact-info__txt {
  color: #1F6494;
  font-family: "Noto Serif JP", serif;
  margin-top: 20px;
  margin-top: 1.25rem;
  text-align: center;
}

.contact-info__wrap {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #F2F2F2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 32px;
  margin-top: 2rem;
  padding: 32px 0;
  padding: 2rem 0;
}

.contact-info__leading-wrap {
  margin-right: 32px;
  margin-right: 2rem;
}

.contact-info__leading-en {
  color: #1F6494;
  font-size: 14px;
  font-size: 0.875rem;
  padding-left: 31%;
  position: relative;
}
.contact-info__leading-en::after {
  background: #1f6494;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 30%;
}

.contact-info__leading-jp {
  color: #1F6494;
  font-size: 20px;
  font-size: 1.25rem;
}

.contact-info__content {
  background: #fff;
  padding: 8px 16px;
  padding: 0.5rem 1rem;
}

.contact-info__tell {
  color: #1F6494;
  font-size: 30px;
  font-size: 1.875rem;
}

.contact-info__time {
  color: #333;
  font-size: 20px;
  font-size: 1.25rem;
}

.layout-contact-form {
  margin-top: 80px;
  margin-top: 5rem;
}

.contact-form {
  background: #F2F2F2;
  padding: 70px 0 60px;
  padding: 4.375rem 0 3.75rem;
  text-align: center;
}

.contact-form__title {
  color: #1F6494;
  display: inline-block;
  font-size: 40px;
  font-size: 2.5rem;
  letter-spacing: 0.2em;
  line-height: 2;
  position: relative;
  text-align: center;
}
.contact-form__title::after {
  background: #1f6494;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}

form {
  background: #fff;
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
  margin-top: 3.125rem;
  padding: 60px 0;
  padding: 3.75rem 0;
  width: 90%;
}

.contact-form__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
  margin-top: 0.625rem;
  width: 80%;
}
.contact-form__item:nth-of-type(n+2) {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.contact-form__wrap-address {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: left;
}
.contact-form__wrap-address .contact-form__input:nth-of-type(2) {
  margin-top: 8px;
  margin-top: 0.5rem;
}

.contact-form__input.contact-form__input--zipcode {
  width: 30%;
}

.contact-form__txt {
  color: #1f6494;
  font-size: 14px;
  font-size: 0.875rem;
  margin-right: 16px;
  margin-right: 1rem;
  text-align: left;
  width: 30%;
}

.contact-form__icon {
  background: #1f6494;
  color: #fff;
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
  margin-right: 10px;
  margin-right: 0.625rem;
  padding: 0px 5px;
  text-align: center;
}

.contact-form__icon.contact-form__icon--back {
  background: #7f7e7e;
}

.contact-form__icon-zipcode {
  color: #1f6494;
}

.contact-form__input.contact-form__input--address {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.contact-form__input {
  background: #E6E6E6;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 15px;
  padding: 0.9375rem;
  width: 100%;
}

.contact-form__input-txt {
  background: #E6E6E6;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.contact-form__btn-wrap {
  margin-top: 50px;
  margin-top: 3.125rem;
  text-align: center;
}
.contact-form__btn {
  background: #1f6494;
  border: 1px solid #1f6494;
  color: #fff;
  cursor: pointer;
  cursor: pointer;
  display: block;
  font-size: 18px;
  margin-left: auto;
  margin-right: auto;
  max-width: 200px;
  padding: 15px 60px;
  padding: 0.9375rem 3.75rem;
  position: relative;
  text-align: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  white-space: nowrap;
  width: 100%;
}
.contact-form__btn:hover {
  background-color: #fff;
  border: 1px solid #1f6494;
  color: #1f6494;
  opacity: 1;
}

.contact-form__input-txt {
  border: 1px solid #e2e2e2;
  border-radius: 4px;
  height: 160px;
  padding: 15px;
  resize: none;
  width: 100%;
}

.wpcf7-form-control-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.contact-recruit {
  display: block;
}

.layout-contact-sns {
  padding: 60px 0;
  padding: 3.75rem 0;
}

.contact-sns {
  background: #F2F2F2;
  display: none;
}

.layout-footer.layout-footer--contact {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.estate-common-title {
  color: #236790;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.8;
  position: relative;
  text-transform: uppercase;
  white-space: nowrap;
}
.estate-common-title::after {
  background: #236790;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: static;
  width: 80%;
}

.estate-common-subtitle {
  color: #236790;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
  position: relative;
}
.estate-common-subtitle::after {
  background: #236790;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 80%;
}

.estate-common-txt {
  color: #236790;
  margin-top: 20px;
  margin-top: 1.25rem;
}

.estate-mv {
  background: url("../images/estate/estate-mv.jpg") no-repeat center 79%/cover;
}

.layout-estate-about {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.estate-about__inner {
  max-width: 1200px;
}

.estate-about__wrap {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: auto;
  width: 90%;
}

.estate-about__content {
  margin-right: 50px;
  margin-right: 3.125rem;
  width: 40%;
}

.estate-about__title::after {
  position: absolute;
}

.estate-about__subtitle {
  color: #236790;
  font-size: 20px;
  font-size: 1.25rem;
  margin-top: 8px;
  margin-top: 0.5rem;
}
.estate-about__subtitle::after {
  position: static;
}

.estate-about__txt {
  color: #236790;
  margin-top: 20px;
  margin-top: 1.25rem;
}

.estate-about__btn {
  margin-top: 30px;
  margin-top: 1.875rem;
  text-align: center;
}

.estate-btn {
  text-align: center;
}
.estate-btn a {
  display: inline-block;
  max-width: 150px;
}

.estate-about__img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 600px;
  width: 100%;
}
.estate-about__img img {
  -o-object-fit: cover;
  aspect-ratio: 600/450;
  border-radius: 1.875rem;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.layout-estate-rental {
  margin-top: 80px;
  margin-top: 5rem;
}

.estate-common {
  background: #F2F2F2;
  padding-bottom: 60px;
  padding-bottom: 3.75rem;
}

.estate-common__label {
  background: #236790;
  color: #fff;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 700;
  margin-right: auto;
  padding: 8px 30px;
  padding: 0.5rem 1.875rem;
  text-align: right;
  text-transform: uppercase;
  width: 60%;
}

.estate-common__inner {
  max-width: 1200px;
}

.estate-common__wrap {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: auto;
  margin-top: 50px;
  margin-top: 3.125rem;
  width: 90%;
}

.estate-common__content {
  position: relative;
  width: 45%;
  z-index: 1000;
}

.estate-common__wrap-content {
  background: #F2F2F2;
  margin-right: -100px;
  margin-right: -6.25rem;
  margin-top: 20px;
  margin-top: 1.25rem;
  padding: 20px 50px 20px 0;
  padding: 1.25rem 3.125rem 1.25rem 0;
  position: relative;
}

.estate-common__img {
  height: 600px;
  max-width: 700px;
  width: 100%;
}
.estate-common__img img {
  -o-object-fit: cover;
  aspect-ratio: 600/500;
  height: 100%;
     object-fit: cover;
  width: 100%;
}

.estate-common__container {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 300px;
  height: 18.75rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 60px;
  margin-top: 3.75rem;
}

.estate-common__container-img {
  height: 100%;
  margin-right: 40px;
  margin-right: 2.5rem;
  max-width: 700px;
  width: 50%;
}
.estate-common__container-img img {
  -o-object-fit: cover;
  aspect-ratio: 600/350;
  border-radius: 1.875rem;
  height: 100%;
     object-fit: cover;
  width: 100%;
}

.estate-common__container-content {
  background: #236790;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-right: calc(50% - 50vw);
  padding: 30px 50px;
  padding: 1.875rem 3.125rem;
}

.estate-common__wrap-desc {
  width: 55%;
}

.estate-common__desc {
  color: #fff;
}

.estate-common__btn {
  margin-top: 30px;
  margin-top: 1.875rem;
}

.layout-estate-trade {
  margin-top: 80px;
  margin-top: 5rem;
}

.estate-common.estate-common--even {
  background: #fff;
}
.estate-common.estate-common--even .estate-common__wrap {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-left: 0;
  margin-right: auto;
}
.estate-common.estate-common--even .estate-common__wrap-content {
  background: #fff;
  margin-left: -100px;
  margin-left: -6.25rem;
  padding: 20px 30px 20px 50px;
  padding: 1.25rem 1.875rem 1.25rem 3.125rem;
}
.estate-common.estate-common--even .estate-common-title {
  text-align: right;
}
.estate-common.estate-common--even .estate-common__container {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.estate-common.estate-common--even .estate-common__container-content {
  margin-left: calc(50% - 50vw);
  margin-right: 0;
}
.estate-common.estate-common--even .estate-common__container-img {
  margin-left: 50px;
  margin-left: 3.125rem;
  margin-right: 0;
}
.estate-common.estate-common--even .estate-common__wrap-desc {
  margin-left: auto;
}
.estate-common.estate-common--even .estate-common__label {
  margin-left: auto;
  margin-right: 0;
  text-align: left;
}

.estate-sns {
  display: none;
}

.message-mv {
  height: 800px;
  max-width: 100%;
  position: relative;
  width: 100%;
}
.message-mv img {
  -o-object-fit: cover;
  height: 100%;
     object-fit: cover;
  width: 100%;
}

.message-mv__wrap {
  content: "";
  left: 10%;
  position: absolute;
  top: 10%;
}

.message-mv__title {
  color: #fff;
  font-size: 100px;
  font-size: 6.25rem;
  font-weight: 700;
  text-shadow: 3px 3px 1px #4c4b4b;
  text-transform: capitalize;
}
.message-mv__title::first-letter {
  color: #236790;
  font-size: 100px;
  font-size: 6.25rem;
}

.message-mv__subtitle {
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
  font-size: 2.5rem;
  text-shadow: 1px 1px 1px #001e39;
}

.message-mv__name {
  bottom: -4%;
  color: #fff;
  content: "";
  font-size: 60px;
  font-size: 3.75rem;
  font-weight: 700;
  position: absolute;
  right: 10%;
  text-shadow: 3px 3px 1px #4c4b4b;
}
.message-mv__name span {
  color: #236790;
  font-size: 60px;
  font-size: 3.75rem;
  font-weight: 700;
  text-shadow: 3px 3px 1px #4c4b4b;
}

.message-main {
  background: url("../images/message/message-back-pc.png") no-repeat center center/cover;
}

.message-main__inner {
  max-width: 1200px;
}

.message-main__container {
  padding: 80px 0;
  padding: 5rem 0;
}

.message-main__wrap {
  width: 70%;
}
.message-main__wrap:nth-of-type(1) {
  margin-left: auto;
  margin-right: auto;
}
.message-main__wrap:nth-of-type(3) {
  margin-left: 20%;
  margin-top: 80px;
  margin-top: 5rem;
}
.message-main__wrap:nth-of-type(4) {
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
  margin-top: 5rem;
}

.message-main__title {
  border-left: 5px solid #236790;
  color: #236790;
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  padding: 0 20px 20px;
  padding: 0 1.25rem 1.25rem;
  position: relative;
  width: 100%;
}
.message-main__title::after {
  background: #236790;
  bottom: 0;
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  width: 40%;
}
.message-main__title::before {
  background: #009afa;
  content: "";
  height: 5px;
  left: -5px;
  position: absolute;
  top: -10px;
  width: 5px;
}

.message-main__txt {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.message-main__wrap-flex {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 80px;
  margin-top: 5rem;
  width: 100%;
}

.message-main__img {
  margin-right: 30px;
  margin-right: 1.875rem;
  max-width: 500px;
  width: 50%;
}
.message-main__img img {
  -o-object-fit: cover;
  aspect-ratio: 500/250;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.message-main__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.message-main__content:nth-of-type(2) {
  margin-top: 60px;
  margin-top: 3.75rem;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.message-main_signature {
  margin-left: auto;
  margin-top: 30px;
  margin-top: 1.875rem;
  max-width: 130px;
  width: 100%;
}
.message-main_signature img {
  -o-object-fit: cover;
  aspect-ratio: 200/100;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.message-sns {
  display: none;
}

.layout-footer.layout-footer--message {
  margin-top: 0;
}

.policy-mv {
  max-width: 100%;
  width: 100%;
}
.policy-mv img {
  -o-object-fit: cover;
  height: 100%;
     object-fit: cover;
  width: 100%;
}

.layout-policy-info {
  margin-top: 30px;
  margin-top: 1.875rem;
}

.policy-info__wrap {
  margin-right: auto;
  width: 40%;
}

.policy-info__title {
  color: #1F6494;
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
  font-size: 2.5rem;
  position: relative;
  text-align: center;
}
.policy-info__title::after {
  background: #1F6494;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}

.policy-info__subtitle {
  color: #1F6494;
  font-size: 24px;
  font-size: 1.5rem;
  margin-top: 10px;
  margin-top: 0.625rem;
  text-align: center;
}

.policy-info__txt {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.layout-policy-content {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.policy-content__wrap {
  margin-top: 32px;
  margin-top: 2rem;
}

.policy-content__lead {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
}

.policy-content__desc a {
  color: #1F6494;
  font-weight: 700;
}

.policy-content__letter {
  font-weight: 700;
}

.policy-sns {
  display: none;
}

.layout-policy-sns {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.profile-title {
  color: #1F6494;
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1.8;
  position: relative;
  text-align: center;
  text-transform: uppercase;
}
.profile-title::after {
  background: #1F6494;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 300px;
  width: 18.75rem;
}

.profile-subtitle {
  color: #1F6494;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 2;
  position: relative;
  text-align: center;
}

.profile-mv {
  background: url("../images/profile/profile-mv.jpg") no-repeat center 80%/cover;
  max-width: 100%;
  width: 100%;
}
.profile-mv img {
  -o-object-fit: cover;
  height: 100%;
     object-fit: cover;
  width: 100%;
}

.profile-company {
  background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(50%, #fff), color-stop(50%, #F2F2F2), to(#F2F2F2));
  background: linear-gradient(90deg, #fff 0%, #fff 50%, #F2F2F2 50%, #F2F2F2 100%);
}

.profile-company__back {
  background: #f2f2f2;
  height: 80px;
  height: 5rem;
  width: 100%;
}

.profile-company__container {
  background: #fff;
  border-top-right-radius: 30px;
  border-top-right-radius: 1.875rem;
  padding: 60px 0;
  padding: 3.75rem 0;
}

.profile-company__content {
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  margin-top: 2.5rem;
  width: 60%;
}

.profile-company__title {
  color: #1F6494;
}

.profile-company__subtitle {
  color: #1F6494;
}

.profile-company__wrap {
  border-bottom: 1px solid #d5d2d2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}
.profile-company__wrap:last-child {
  border: none;
}

.profile-company__lead {
  background: #1F6494;
  color: #fff;
  line-height: 2;
  margin-right: 16px;
  margin-right: 1rem;
  padding: 10px 0 10px 20px;
  padding: 0.625rem 0 0.625rem 1.25rem;
  width: 30%;
}

.profile-company__desc {
  color: #1F6494;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  line-height: 2;
  padding: 10px;
  padding: 0.625rem;
}

.profile-history {
  background: #F2F2F2;
  padding: 60px 0;
  padding: 3.75rem 0;
}

.profile-history__title {
  color: #1F6494;
}

.profile-history__subtitle {
  color: #1F6494;
}

.profile-history__container {
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
  margin-top: 3.125rem;
  width: 55%;
}

.profile-history__wrap {
  border-bottom: 1px solid #d5d2d2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  padding: 10px 0;
  padding: 0.625rem 0;
}

.profile-history__lead {
  color: #1F6494;
  margin-right: 20px;
  margin-right: 1.25rem;
  width: 30%;
}

.profile-history__desc {
  color: #1F6494;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.profile-philosophy {
  background: #002C47;
  background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), color-stop(40%, #f2f2f2), color-stop(40%, #002C47), to(#002C47));
  background: linear-gradient(180deg, #f2f2f2 0%, #f2f2f2 40%, #002C47 40%, #002C47 100%);
  padding: 50px 0;
}

.profile-philosophy__container {
  background: url("../images/profile/profile-philosophy.png") no-repeat center center/cover;
  margin-left: auto;
  padding: 40px 0 40px 60px;
  padding: 2.5rem 0 2.5rem 3.75rem;
  width: 80%;
}

.profile-philosophy__title {
  color: #fff;
  text-align: left;
}
.profile-philosophy__title::after {
  background: #fff;
  left: 0;
  -webkit-transform: none;
          transform: none;
}

.profile-philosophy__subtitle {
  color: #fff;
  text-align: left;
}

.profile-philosophy_leading {
  color: #fff;
  font-size: 50px;
  font-size: 3.125rem;
  margin-top: 8px;
  margin-top: 0.5rem;
}

.profile-philosophy_txt {
  color: #fff;
  margin-top: 16px;
  margin-top: 1rem;
  max-width: 1000px;
  width: 90%;
}

.profile-access {
  background: #002C47;
  padding: 60px 0;
  padding: 3.75rem 0;
}

.layout-profile-access {
  color: #fff;
}

.profile-access__title {
  color: #fff;
}
.profile-access__title::after {
  background: #fff;
}

.profile-access__wrap {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 50px;
  margin-top: 3.125rem;
}

.profile-access__content {
  margin-right: 20px;
  margin-right: 1.25rem;
  width: 40%;
}
.profile-access__content img {
  -o-object-fit: cover;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.profile-access__address {
  color: #fff;
  margin-top: 20px;
  margin-top: 1.25rem;
}

.profile-access__tel {
  color: #fff;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 8px;
  margin-top: 0.5rem;
}
.profile-access__tel span {
  color: #fff;
  margin-right: 20px;
  margin-right: 1.25rem;
  text-transform: uppercase;
}

.profile-access__map {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.profile-access__map iframe {
  -o-object-fit: cover;
  aspect-ratio: 600/400;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.profile-sns {
  display: none;
}

.project-mv {
  background: url("../images/project/project-mv.jpg") no-repeat center center/cover;
  width: 100%;
}

.project-mv__title {
  letter-spacing: 0.15em;
}

.project-services__container {
  background: #1F6494;
  padding: 60px 0;
  padding: 3.75rem 0;
}

.project-services__wrap {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 1050px;
  width: 80%;
}

.project-services__content {
  margin-right: 30px;
  margin-right: 1.875rem;
  width: 50%;
}

.project-services_title {
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1.8;
  position: relative;
  text-transform: uppercase;
}
.project-services_title::after {
  background: #fff;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 90%;
}

.project-services_subtitle {
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 2;
  position: relative;
}

.project-services_txt {
  color: #fff;
  margin-top: 30px;
  margin-top: 1.875rem;
}

.project-services__img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.project-services_container-img {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  gap: 0.9375rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.project-services_container-img img {
  -o-object-fit: cover;
  aspect-ratio: 600/400;
  height: auto;
     object-fit: cover;
  width: calc((100% - 60px) / 5);
}

.layout-project-civil {
  margin-top: 80px;
  margin-top: 5rem;
}

.project-common {
  background: #F2F2F2;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(5%, #fff), color-stop(5%, #F2F2F2), to(#F2F2F2));
  background: linear-gradient(180deg, #fff 0%, #fff 5%, #F2F2F2 5%, #F2F2F2 100%);
  overflow: hidden;
}

.project-common__wrap {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  gap: 1.875rem;
  height: 500px;
  margin-right: calc(50% - 50vw);
}

.project-common__content {
  width: 40%;
}

.project-common__title-wrap {
  display: inline-block;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.project-common__title {
  color: #1F6494;
  font-family: "Noto Serif JP", serif;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.8;
  position: relative;
  text-transform: uppercase;
  white-space: nowrap;
}
.project-common__title::after {
  background: #1F6494;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}
.project-common__subtitle {
  color: #1F6494;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 2;
  position: relative;
  text-align: center;
  text-transform: uppercase;
}

.project-common__txt {
  color: #1F6494;
  margin-top: 30px;
  margin-top: 1.875rem;
}

.project-common__img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 500px;
  width: 100%;
}
.project-common__img img {
  -o-object-fit: cover;
  aspect-ratio: 600/500;
  border-top-left-radius: 30px;
  border-top-left-radius: 1.875rem;
  height: 100%;
     object-fit: cover;
  width: 100%;
}

.project-common__container-img {
  background: #00304A;
  margin: 0 calc(50% - 50vw);
  padding: 40px 0;
  padding: 2.5rem 0;
  position: relative;
  width: 100vw;
}

.project-common__wrap-img {
  grid-row-gap: 20px;
  grid-column-gap: 20px;
  -moz-column-gap: 20px;
       -webkit-column-gap: 20px;
          column-gap: 20px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-left: auto;
  margin-right: auto;
  row-gap: 20px;
  width: 80%;
}
.project-common__wrap-img img {
  -o-object-fit: cover;
  aspect-ratio: 600/400;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.project-common__btn {
  margin-top: 30px;
  margin-top: 1.875rem;
  text-align: center;
}
.project-common__btn a {
  background: #1F6494;
  color: #fff;
}
.project-common__btn a::after {
  border-left: 10px solid #fff;
}

.project-common__label {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
}

.layout-project-building {
  margin-top: 80px;
  margin-top: 5rem;
}

.layout-project-attac {
  margin-top: 80px;
  margin-top: 5rem;
}

.layout-project-realestate {
  margin-top: 80px;
  margin-top: 5rem;
}
.project-common.project-common--even .project-common__wrap {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-left: calc(50% - 50vw);
  margin-right: 0;
}
.project-common.project-common--even .project-common__img {
  height: 500px;
}
.project-common.project-common--even .project-common__img img {
  border-top-left-radius: 0;
  border-top-right-radius: 30px;
  border-top-right-radius: 1.875rem;
}

.project-sns {
  display: none;
}

.layout-project-sns {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.recruit-main {
  overflow: hidden;
}

.recruit-mv {
  max-width: 100%;
  width: 100%;
}
.recruit-mv img {
  -o-object-fit: cover;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.recruit-project {
  background: url("../images/recruit/recruit-project-back04.jpg") no-repeat center center/cover;
  padding-bottom: 350px;
  padding-bottom: 21.875rem;
}

.recruit-project__mv {
  height: auto;
  width: 100%;
}

.recruit-project__mv-sub {
  background: url("../images/recruit/recruit-project-back02.png") no-repeat center center/cover;
  height: 600px;
  position: relative;
}
.recruit-project__mv-sub::before {
  background-color: #236790;
  bottom: 0;
  clip-path: polygon(0 0, 0 50%, 50% 100%, 100% 50%, 100% 0%);
  content: "";
  height: inherit;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

.recruit-project__wrap-lead {
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
  padding-top: 0.625rem;
  width: 50%;
}

.recruit-project__lead {
  color: #fff;
  font-size: 47px;
  font-size: 2.9375rem;
  font-weight: 700;
  margin-top: 30px;
  margin-top: 1.875rem;
  text-align: center;
  white-space: nowrap;
}

.recruit-project__desc {
  color: #fff;
  font-size: 18px;
  font-size: 1.125rem;
  letter-spacing: 0.2em;
  line-height: 2;
  margin-top: 10px;
  margin-top: 0.625rem;
}

.recruit-project__wrap-title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  bottom: 0;
  content: "";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 80%;
}

.recruit-project__img-left {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: auto;
  max-width: 400px;
  width: 100%;
}

.recruit-project__title {
  width: 40%;
}

.recruit-project__img-right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: auto;
  max-width: 400px;
  width: 100%;
}

.recruit-project__title {
  max-width: 400px;
  width: 40%;
}
.recruit-project__title img {
  -o-object-fit: cover;
  aspect-ratio: 500/160;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.recruit-project__introduce {
  margin-left: auto;
  margin-right: auto;
  padding-top: 50px;
  padding-top: 3.125rem;
  width: 80%;
}

.recruit-project__inner {
  background: url(../images/recruit/recruit-project-back03.png) no-repeat center center/cover;
  padding-bottom: 300px;
  padding-bottom: 18.75rem;
}

.recruit-project__items {
  grid-row-gap: 1.875rem;
  grid-column-gap: 3.75rem;
  -moz-column-gap: 3.75rem;
  background: #fff;
  border-radius: 1.875rem;
       -webkit-column-gap: 3.75rem;
               column-gap: 3.75rem;
  display: grid;
  grid-template-columns: repeat(2, 2fr);
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  margin-top: 2.5rem;
  padding: 30px 50px 70px;
  padding: 1.875rem 3.125rem 4.375rem;
  row-gap: 30px;
  row-gap: 1.875rem;
  width: 80%;
}

.recruit-project__item {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.recruit-project__item img {
  -o-object-fit: cover;
  aspect-ratio: 300/200;
  display: block;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.recruit-project__item-wrap {
  -webkit-box-shadow: -3px 3px 0px #0486d7;
          box-shadow: -3px 3px 0px #0486d7;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.recruit-project__leading {
  color: #236790;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 25px;
  margin-bottom: 1.5625rem;
  margin-top: 10px;
  margin-top: 0.625rem;
  padding-left: 20px;
  padding-left: 1.25rem;
  position: relative;
}
.recruit-project__leading::after {
  background-image: url("../images/recruit/recruit-project-leading.png");
  bottom: -10px;
  content: "";
  height: 10px;
  left: 20px;
  left: 1.25rem;
  position: absolute;
  width: 150px;
  width: 9.375rem;
}

.recruit-project__txt {
  background-color: #fff;
  padding: 20px;
  padding: 1.25rem;
}

.recruit-employee {
  background: url("../images/recruit/recruit-employee-back.png") no-repeat center center/cover;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  margin-left: -500px;
  margin-left: -31.25rem;
  margin-right: -500px;
  margin-right: -31.25rem;
  padding: 150px 0;
  padding: 9.375rem 0;
  padding-left: 500px;
  padding-left: 31.25rem;
  padding-right: 500px;
  padding-right: 31.25rem;
}

.layout-recruit-employee {
  margin-top: -580px;
  margin-top: -36.25rem;
}

.recruit-employee__title {
  margin-left: auto;
  margin-right: auto;
  max-width: 400px;
  width: 100%;
}
.recruit-employee__title img {
  -o-object-fit: cover;
  aspect-ratio: 500/160;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.recruit-employee__cards {
  grid-row-gap: 30px;
  grid-column-gap: 20px;
  -moz-column-gap: 20px;
       -webkit-column-gap: 20px;
          column-gap: 20px;
  display: grid;
  grid-template-columns: repeat(2, 2fr);
  margin-top: 50px;
  margin-top: 3.125rem;
  row-gap: 30px;
}

.recruit-employee__card {
  background: #FCFF00;
  border-radius: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
  position: relative;
}

.recruit-employee__img {
  max-width: 700px;
  padding: 20px;
  padding: 1.25rem;
  width: 100%;
}
.recruit-employee__img img {
  -o-object-fit: cover;
  aspect-ratio: 500/350;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.recruit-employee__wrap-leading {
  margin-top: -90px;
  margin-top: -5.625rem;
  -webkit-transform: rotate(-5deg);
          transform: rotate(-5deg);
}

.recruit-employee__leading {
  background: #fff;
  color: #24638A;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  padding: 3px 3px 3px 30px;
  padding: 0.1875rem 0.1875rem 0.1875rem 1.875rem;
}
.recruit-employee__leading span {
  color: #ED1C24;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
}
.recruit-employee__leading:nth-of-type(2) {
  margin-top: 5px;
  margin-top: 0.3125rem;
}

.recruit-employee__txt-wrap {
  background: #FCFF00;
  padding: 20px;
  padding: 1.25rem;
}

.recruit-employee__txt {
  background: #fff;
  border-radius: 0.625rem;
  color: #24638A;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  line-height: 2;
  padding: 10px;
  padding: 0.625rem;
}

.recruit-info {
  background: #CAFFFF;
  padding: 60px 0;
  padding: 3.75rem 0;
}

.recruit-info__inner {
  position: relative;
  z-index: 0;
}

.recruit-info__layer {
  position: relative;
}
.recruit-info__layer::before {
  background: #FCFF00;
  bottom: 0;
  content: "";
  left: -10px;
  left: 0;
  position: absolute;
  right: 0;
  top: -10px;
  top: 0;
  -webkit-transform: rotate(-3deg);
          transform: rotate(-3deg);
  z-index: -1;
}

.recruit-info__container {
  background: #236790;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  padding: 180px 60px 100px;
  padding: 11.25rem 3.75rem 6.25rem;
  position: relative;
  width: 100%;
}

.recruit-info__title {
  background: #fff;
  content: "";
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 700;
  left: -20px;
  left: -1.25rem;
  padding: 10px 40px;
  padding: 0.625rem 2.5rem;
  position: absolute;
  text-transform: capitalize;
  top: 20px;
  top: 1.25rem;
  -webkit-transform: rotate(-5deg);
          transform: rotate(-5deg);
  width: 111%;
}

.recruit-info__wrap {
  border-bottom: 1px solid #0486d7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  padding: 20px 0;
  padding: 1.25rem 0;
}
.recruit-info__wrap:last-of-type {
  border: none;
}

.recruit-info__lead {
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  margin-right: 40px;
  margin-right: 2.5rem;
  width: 20%;
}

.recruit-info__desc {
  color: #fff;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: 700;
}

.recruit-sns {
  display: none;
}

.layout-footer.layout-footer--recruit {
  margin-top: 0;
}

.sdg-mv {
  background: url("../images/sdg/sdg-mv.jpg") no-repeat center 74%/cover;
}
.sdg-mv__title {
  color: #fff;
  font-size: 80px;
  font-size: 5rem;
  margin-left: 3%;
  text-transform: uppercase;
}

.sdg-mv__sub-title {
  color: #fff;
  font-size: 33px;
  font-size: 2.0625rem;
  margin-left: 3%;
  margin-top: 16px;
  margin-top: 1rem;
  text-transform: uppercase;
}

.sdg-message__leading {
  background: linear-gradient(45deg, #ff93ff 0%, #ffff39 100%);
  color: #fff;
  font-size: 64px;
  font-size: 4rem;
  margin-right: auto;
  padding: 16px 0;
  padding: 1rem 0;
  padding-right: 9%;
  text-align: right;
  text-shadow: 0px 2px 4px #b5b5b5;
  width: 79%;
}

.layout-sdg-action {
  margin-top: 64px;
  margin-top: 4rem;
}

.sdg-action {
  height: 500px;
  overflow: hidden;
}

.sdg-action__container {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.sdg-action__content {
  margin-right: 16px;
  margin-right: 1rem;
  width: 54%;
}

.sdg-common-title {
  color: #1F6494;
  font-family: "Noto Serif JP", serif;
  font-size: 42px;
  font-size: 2.625rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.sdg-action__title {
  font-family: "Noto Serif JP", serif;
  position: relative;
}

.sdg-action__sub-title {
  color: #1F6494;
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  font-size: 1.875rem;
  margin-right: calc(50% - 50vw);
  position: relative;
  text-transform: uppercase;
}
.sdg-action__sub-title::after {
  background: #1f6494;
  bottom: -21px;
  bottom: -1.3125rem;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  right: 50%;
  width: 100%;
  z-index: -1;
}

.sdg-action__leading {
  color: #1F6494;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 48px;
  margin-top: 3rem;
}

.sdg-action__txt {
  color: #1F6494;
  font-size: 16px;
  font-size: 1rem;
  margin-top: 16px;
  margin-top: 1rem;
}

.sdg-action__img {
  height: 500px;
  margin-right: calc(50% - 50vw);
  max-width: 100%;
  width: 100%;
}
.sdg-action__img img {
  -o-object-fit: cover;
  aspect-ratio: 580/320;
  height: 100%;
     object-fit: cover;
  width: 100%;
}

.layout-sdg-about {
  margin-top: 100px;
  margin-top: 6.25rem;
}

.sdg-about {
  overflow-x: hidden;
}

.sdg-about__title {
  position: relative;
  text-align: center;
}
.sdg-about__title::after {
  background: #1f6494;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 40%;
}

.sdg-about__img {
  margin-top: 16px;
  margin-top: 1rem;
}

.sdg-about__desc {
  color: #1F6494;
  margin-top: 16px;
  margin-top: 1rem;
}

.sdg-about__items {
  margin-top: 70px;
  margin-top: 4.375rem;
  padding: 110px 0;
  padding: 6.875rem 0;
  position: relative;
}
.sdg-about__items::after {
  background: url("../images/sdg/sdg-about-back.png") no-repeat center 74%/cover;
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0.1;
  position: absolute;
  right: 0;
  top: 0;
}

.sdg-about__back {
  content: "";
  display: block;
  height: 130%;
  left: 50%;
  opacity: 0.1;
  position: absolute;
  top: -41%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 130%;
}

.sdg-about__item {
  margin-top: 32px;
  margin-top: 2rem;
}

.sdg-about__wrap-leading {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #1F6494;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Noto Serif JP", serif;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  padding-bottom: 16px;
  padding-bottom: 1rem;
}

.sdg-about__leading {
  color: #1F6494;
  font-family: "Noto Serif JP", serif;
  font-size: 42px;
  font-size: 2.625rem;
  font-weight: 700;
  margin-right: 24px;
  margin-right: 1.5rem;
  text-transform: uppercase;
}

.sdg-about__sub-leading {
  color: #1F6494;
  font-size: 27px;
  font-size: 1.6875rem;
  font-weight: 700;
}

.sdg-about__wrap-txt {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 32px;
  margin-top: 2rem;
}

.sdg-about__txt {
  color: #1F6494;
  margin-right: 32px;
  margin-right: 2rem;
  width: 55%;
}

.sdg-about_img {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  gap: 1rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 40%;
}
.sdg-about_img img {
  -o-object-fit: cover;
  aspect-ratio: 100/100;
  height: auto;
  margin-left: auto;
     object-fit: cover;
  width: 30%;
}

.sdg-society {
  overflow: hidden;
}

.layout-sdg-society {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.sdg-society__container {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.sdg-society__content {
  background: rgba(255, 255, 255, 0.8);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: -40px;
  margin-left: -2.5rem;
  padding: 48px 32px;
  padding: 3rem 2rem;
}

.sdg-society__title {
  color: #1F6494;
  font-family: "Noto Serif JP", serif;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 800;
  margin-right: calc(50% - 50vw);
  position: relative;
}
.sdg-society__title::after {
  background: #1f6494;
  bottom: -12px;
  bottom: -0.75rem;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

.sdg-society__txt {
  color: #1F6494;
  margin-top: 32px;
  margin-top: 2rem;
}

.sdg-society__img {
  max-width: 600px;
  width: 60%;
}
.sdg-society__img img {
  -o-object-fit: cover;
  aspect-ratio: 1000/670;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.sdg-sns {
  display: none;
}

.layout-sdg-sns {
  margin-top: 50px;
  margin-top: 3.125rem;
}

.works-article-mv {
  background: url("../images/works/works-article-mv.jpg") no-repeat center center/cover;
}

.works-article-mv__title {
  background: rgba(51, 51, 51, 0.7);
  color: #fff;
  font-size: 30px;
  font-size: 1.875rem;
  letter-spacing: 0.15em;
  padding: 15px 30px;
  padding: 0.9375rem 1.875rem;
  text-align: right;
  text-transform: uppercase;
  width: 50%;
}

.works-article-main {
  background: #f2f2f2;
  padding: 40px 0 60px;
  padding: 2.5rem 0 3.75rem;
}

.works-article-main__container {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.works-article-main__content {
  margin-right: 50px;
  margin-right: 3.125rem;
  width: 40%;
}

.works-article-main__title {
  border-bottom: 1px solid #8a8a8a;
  color: #236790;
  font-size: 24px;
  font-size: 1.5rem;
  padding: 10px 0;
  padding: 0.625rem 0;
}

.works-article-main__wrap-lead {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #8a8a8a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  padding: 15px 0;
  padding: 0.9375rem 0;
}

.works-article-main__lead {
  margin-right: 50px;
  margin-right: 3.125rem;
  margin-right: 30px;
  margin-right: 1.875rem;
  width: 30%;
}

.works-article-main__desc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.works-article-main__txt {
  margin-top: 30px;
  margin-top: 1.875rem;
}

.works-article-main__img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 600px;
  width: 100%;
}
.works-article-main__img img {
  -o-object-fit: cover;
  aspect-ratio: 600/450;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.layout-works-article-picture {
  margin-top: 80px;
  margin-top: 5rem;
}

.works-article-picture {
  background: url("../images/works/works-back.jpg") no-repeat center center/cover;
}

.works-article-picture__items {
  grid-row-gap: 30px;
  grid-column-gap: 20px;
  -moz-column-gap: 20px;
       -webkit-column-gap: 20px;
          column-gap: 20px;
  display: grid;
  grid-template-columns: repeat(2, 2fr);
  row-gap: 30px;
}

.works-article-pictuire__item {
  max-width: 600px;
  width: 100%;
}
.works-article-pictuire__item img {
  -o-object-fit: cover;
  aspect-ratio: 600/450;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.layout-works-article-sns {
  margin-top: 80px;
  margin-top: 5rem;
}

.layout-works-article-sns {
  margin-top: 80px;
  margin-top: 5rem;
}

.works-article-sns {
  display: none;
}

.works-main__tags {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
  gap: 1.875rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 50px;
  margin-top: 3.125rem;
}

.works-main__tag {
  border: 3px solid rgba(51, 51, 51, 0.7);
  padding: 10px 20px;
  padding: 0.625rem 1.25rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.works-main__tag:hover {
  background: rgba(51, 51, 51, 0.8);
  border: 3px solid rgba(51, 51, 51, 0.7);
  color: fff;
  opacity: 1;
}
.works-main__tag.is-active {
  background: rgba(51, 51, 51, 0.8);
  border: 3px solid rgba(51, 51, 51, 0.7);
  color: fff;
}

.works-main__cards.works-main__cards--category {
  margin-top: 50px;
  margin-top: 3.125rem;
}

@media screen and (min-width: 1440px){
  html {
    font-size: 16px;
  }

  time.newspage_list_date {
    color: #fff;
    margin-right: 30px;
    font-family: 'Sawarabi Gothic', sans-serif;
    padding: 8px 5px;
    background: #1f6494;
    font-size: 10px;
    letter-spacing: 1px;
}

ul.newspage_list p {
    color: #000;
    font-family: 'Sawarabi Gothic', sans-serif;
    font-size: 13px;
    letter-spacing: 1px;
}

.newspage_container {
    width: 70%;
    margin: auto;
}
}

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


  html {
    font-size: 16px;
  }
  .footer__item {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .header__nav {
    display: none;
  }
  .header__btn {
    display: none;
  }
  .hamburger {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .drawer {
    width: 100%;
  }
  .top-message__name {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .top-message__title {
    font-size: 36px;
    font-size: 2.25rem;
  }
  .top-message__subtitle {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .top-realestate::before {
    opacity: 0;
  }
  .top-realestate::after {
    display: none;
  }
  .top-realestate {
    background: #4A79A3;
    height: auto;
  }
  .top-realestate__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-left: auto;
    margin-right: auto;
    padding: 48px 0;
    padding: 3rem 0;
  }
  .top-realestate__content {
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    margin-top: 1.875rem;
    width: 80%;
  }
  .top-realestate__cards {
    gap: 50px;
    gap: 3.125rem;
    grid-template-columns: repeat(1, 4fr);
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    margin-top: 2.5rem;
    width: 150px;
  }
  .top-realestate__img img {
    aspect-ratio: 685/400;
  }
  .top-realestate__img {
    margin-top: 0;
    max-width: 100%;
    width: 100%;
  }
  .layout-top-recruit {
    margin-top: 50px;
    margin-top: 3.125rem;
  }
  .estate-common__wrap-desc {
    width: 90%;
  }
  .message-main__title {
    font-size: 21px;
    font-size: 1.3125rem;
    padding: 0 0 20px 20px;
    padding: 0 0 1.25rem 1.25rem;
  }
  .message-main__txt {
    padding-left: 20px;
    padding-left: 1.25rem;
  }
  .recruit-project__mv-sub {
    height: 450px;
  }
  .sdg-action__title {
    font-size: 32px;
    font-size: 2rem;
  }
  .sdg-action__sub-title::after {
    right: 38%;
  }
  .sdg-action__sub-title {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .sdg-society__content {
    padding: 16px 32px;
    padding: 1rem 2rem;
  }
  .sdg-society__txt {
    font-size: 14px;
    font-size: 0.875rem;
  }

  .spone {
    display: block;
width: auto!important;
  }

  .spnone {
    display: none;
  }
}

@media (max-width: 1150px){
  html {
    font-size: 1.3913043478vw;
  }
}

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

  .estate-common-title {
      padding: 0!important;
  }

  .header {
    padding: 0px 5%;
}

.header__logo {
    max-width: 200px !important;
}

  .news_contents {
    width: 80%;
    margin-top: 50px;
}

p.newspage_detail_list {
    color: #000;
    font-size: 20px;
    line-height: 30px;
}

  a.newspage_list_a {
    border-bottom: dashed 1px #555;
    padding: 15px 5px;
}

  .newspage_title {
    margin-top: 50px;
}

.newspage_title h1 {
    font-size: 55px;
    letter-spacing: 3px;
}



  time.newspage_list_date {
    color: #fff;
    margin-right: 8px;
    font-family: 'Sawarabi Gothic', sans-serif;
    padding: 8px 5px;
    background: #1f6494;
    font-size: 8px;
    letter-spacing: 1px;
}

ul.newspage_list p {
    color: #000;
    font-family: 'Sawarabi Gothic', sans-serif;
    font-size: 11px;
    letter-spacing: 1px;
}

.newspage_container {
    width: 90%;
    margin: auto;
}

  a.top_news_link {
    font-size: 16px;
    letter-spacing: 1px;
    color: #fff;
    border: none;
    background: #4a79a3;
    padding: 8px 0;
    width: 80%;
    margin: auto;
    margin-top: 15px;
    display: block;
    text-align: center;
}

  html {
    font-size: 16px;
  }
  a[href^="tel:"] {
    pointer-events: initial;
  }
  html {
    scroll-padding-top: 6.25rem;
  }
  .common-btn {
    font-size: 14px;
    font-size: 0.875rem;
    padding: 8px 27px 8px 20px;
    padding: 0.5rem 1.6875rem 0.5rem 1.25rem;
  }
  .common-title {
    font-size: 22px;
    font-size: 1.375rem;
  }
  .common-subtitle {
    font-size: 22px;
    font-size: 1.375rem;
  }
  .common-mv {
    height: 200px;
  }
  .common-mv__title {
    font-size: 16px;
    font-size: 1rem;
    padding: 10px 20px;
    padding: 0.625rem 1.25rem;
    width: 55%;
  }
  .br-sp {
    display: block;
  }
  .br-pc {
    display: none;
  }
  .breadcrumb {
    padding: 10px 20px;
    padding: 0.625rem 1.25rem;
  }
  .sns__container {
    display: block;
    width: 60%;
  }
  .sns__insta {
    width: 100%;
  }
  .sns__youtube {
    margin-top: 32px;
    margin-top: 2rem;
    width: 100%;
  }
  footer {
    background: url("../images/footer-back-sp.jpg") no-repeat center center/cover;
    height: 550px;
  }
  .footer__nav {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .footer__logo {
    margin-left: auto;
    margin-right: auto;
    max-width: 220px;
  }
  .footer__sns {
    display: none;
  }
  .header__logo {
    max-width: 180px;
  }
  .drawer__item a {
    font-size: 16px;
    font-size: 1rem;
  }
  .inner {
    max-width: 580px;
    max-width: 36.25rem;
    padding-left: 20px;
    padding-left: 1.25rem;
    padding-right: 20px;
    padding-right: 1.25rem;
  }
  .works-mv__title {
    font-size: 20px;
    font-size: 1.25rem;
    padding: 5px 15px;
    padding: 0.3125rem 0.9375rem;
    width: 60%;
  }
  .works-main__cards {
    -moz-column-gap: 15px;
         -webkit-column-gap: 15px;
            column-gap: 15px;
    grid-template-columns: repeat(2, 2fr);
    row-gap: 15px;
  }
  .works-main__wrap-lead {
    padding: 5px 15px;
    padding: 0.3125rem 0.9375rem;
  }
  .works-main__date {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .works-main__lead {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .works-sns {
    display: block;
  }
  .error-main {
    padding: 300px 0;
    padding: 18.75rem 0;
  }
  .error-main__title {
    font-size: 28px;
    font-size: 1.75rem;
  }
  .error-main__txt {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .top-mv__message {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    bottom: auto;
    right: auto;
  max-width: 100%;
  width: 90%;
  }
  .top-company {
    height: auto;
  }
  .top-company__wrap {
    display: block;
  }
  .top-company__title {
    font-size: 30px;
    font-size: 1.875rem;
    margin-left: 0;
    padding-top: 0;
    text-align: center;
    text-indent: 0;
    -webkit-writing-mode: inherit;
        -ms-writing-mode: inherit;
            writing-mode: inherit;
  }
  .top-company__txt {
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.5;
    margin-top: 16px;
    margin-top: 1rem;
    text-align: center;
    -webkit-writing-mode: inherit;
        -ms-writing-mode: inherit;
            writing-mode: inherit;
  }
  .top-message__wrap {
    left: calc(50% - 10rem);
  }
  .top-message__name {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .top-message__title {
    text-stroke: 1px #1a2987;
    -webkit-text-stroke: 1px #1a2987;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.3;
  }
  .top-message__subtitle {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .top-project {
    background: url("../images/top-project-back.jpg") no-repeat right 20%/contain;
  }
  .top-project::after {
    clip-path: polygon(0 4%, 100% 0, 100% 1%, 0 12%);
    top: 5%;
  }
  .top-project__title {
    color: #206395;
    padding-top: 0;
  }
  .top-project__cards {
    background: none;
    grid-template-columns: repeat(1, 1fr);
    width: 80%;
  }
  .top-project__img {
    max-width: 100%;
  }
  .top-project__img img {
    aspect-ratio: 460/300;
  }
  .top-project__content {
    background-color: rgba(32, 96, 140, 0.9);
    margin-left: auto;
    margin-right: auto;
    padding: 16px 8px;
    padding: 1rem 0.5rem;
    width: 85%;
  }
  .top-project__leading {
    color: #fff;
    font-size: 16px;
    font-size: 1rem;
  }
  .top-project__txt {
    color: #fff;
    font-size: 14px;
    font-size: 0.875rem;
  }
  .top-project__back {
    background-color: rgba(32, 96, 140, 0.9);
    clip-path: polygon(0 0, 100% 2%, 100% 14%, 0 0%);
    content: "";
    height: 100%;
    position: absolute;
    position: absolute;
    top: 77%;
    width: 100%;
    z-index: -1;
  }
  .top-realestate__cards {
    gap: 32px;
    gap: 2rem;
  }
  .top-realestate__btn a {
    background-color: #fff;
    color: #4A79A3;
  }
  .top-realestate__btn a::after {
    border-left: 10px solid #4a79a3;
  }
  .top-realestate__btn {
    margin-top: 30px;
    margin-top: 1.875rem;
  }
  .recruit {
    background: none;
    padding-top: 50px;
    padding-top: 3.125rem;
  }
  .recruit::after {
    background: none;
  }
  .top-recruit__back {
    display: block;
  }
  .recruit__wrap {
    background: #4a79a3;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
  .recruit__img {
    margin-right: 0;
    margin-top: 32px;
    margin-top: 2rem;
    max-width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
  }
  .recruit__content {
    display: contents;
    width: 100%;
  }
  .recruit__title {
    margin-left: auto;
    margin-right: auto;
    margin-top: 24px;
    margin-top: 1.5rem;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .recruit__subtitle {
    display: none;
    text-align: center;
  }
  .recruit__txt {
    color: #fff;
    line-height: 2;
    margin-top: 16px;
    margin-top: 1rem;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    padding: 0 16px;
    padding: 0 1rem;
  }
  .recruit__btn {
    max-width: 100%;
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .top-movie {
    background: url("../images/top-movie-back-sp.png") no-repeat center center/cover;
    padding: 0 0 32px 0;
    padding: 0 0 2rem 0;
  }
  .top-movie__title {
    background: #4a79a3;
    line-height: 1.7;
  }
  .top-movie__youtube {
    width: 80%;
  }
  .top-topics {
    background: none;
    height: auto;
    height: auto;
  }
  .layout-top-topics {
    margin-top: 0;
  }
.top-topics__back-sp {
  background: linear-gradient(135deg, #1a4d7a 0%, #2b6ba8 100%);
  padding: 30px 20px;
  text-align: center;
  margin: 0 auto 30px;
  width: 90%;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  display: block !important;
}

.top-topics__sp-title {
  color: #fff;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 3px;
  margin: 0;
}

.top-topics__sp-subtitle {
  color: #fff;
  font-size: 16px;
  margin-top: 5px;
}
  .top-topics__title {
    display: none;
  }
  .top-topics__subtitle {
    display: none;
  }
  .top-topics__img {
    display: none;
  }
  .top-topics__lists {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
  .top-topics__list {
    border-bottom: 1px solid #4a79a3;
    margin-left: auto;
    margin-right: auto;
    max-width: 400px;
    width: 100%;
  }
  .top-topics__date {
    color: #4a79a3;
    font-size: 12px;
    font-size: 0.75rem;
    margin: 0 14px;
    margin: 0 0.875rem;
  }
  .top-topics__txt {
    color: #4a79a3;
    font-size: 12px;
    font-size: 0.75rem;
  }
  .layout-top-insta {
    margin-top: 20px;
    margin-top: 1.25rem;
  }
  .insta__container {
    -o-border-image: linear-gradient(to right, #e0ef28, #e5430a, #dd3cf3) 1;
    border: 15px solid;
       border-image: -webkit-gradient(linear, left top, right top, from(#e0ef28), color-stop(#e5430a), to(#dd3cf3)) 1;
       border-image: linear-gradient(to right, #e0ef28, #e5430a, #dd3cf3) 1;
  }
  .insta__cards {
    gap: 15px;
    gap: 0.9375rem;
  }
  .company-title {
    font-size: 30px;
    font-size: 1.875rem;
  }
  .company-about__title::after {
    display: block;
    left: 0;
    -webkit-transform: none;
            transform: none;
    -webkit-transform: initial;
            transform: initial;
  }
  .company-about__title {
    display: block;
    font-size: 24px;
    font-size: 1.5rem;
  }
  .company-about__txt {
    font-size: 14px;
    font-size: 0.875rem;
    text-align: left;
  }
  .company-philosophy {
    height: auto;
  }
  .company-philosophy__wrap {
    display: block;
  }
  .company-philosophy__img {
    height: 200px;
    margin-right: 0;
    width: 90%;
  }
  .company-philosophy__content {
    margin-top: 30px;
    margin-top: 1.875rem;
    width: 100%;
  }
  .company-project__items .company-project__item:nth-of-type(n+2) {
    margin-top: 30px;
    margin-top: 1.875rem;
  }
  .company-project__item {
    display: block;
  }
  .company-project__img {
    width: 100%;
  }
  .company-project__content {
    margin-left: auto;
    margin-right: auto;
    margin-top: 24px;
    margin-top: 1.5rem;
    width: 80%;
  }
  .company-strengths__cards {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 15px;
    gap: 0.9375rem;
  }
  .company-strengths__cards .company-strengths__card:nth-of-type(3) {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .company-strengths__card {
    width: 46%;
  }
  .company-strengths__leading {
    font-size: 16px;
    font-size: 1rem;
  }
  .company-strengths__txt {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .company-feature {
    height: auto;
  }
  .company-feature__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .company-feature__container .company-feature__content {
    display: contents;
  }
  .company-feature__container .company-feature__title {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .company-feature__txt {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .company-feature__img img {
    border-top-left-radius: 0;
  }
  .company-feature__img {
    margin-right: 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .company-sns {
    display: block;
  }
  .contact-complete {
    padding: 300px 0;
    padding: 18.75rem 0;
  }
  .contact-complete__title {
    font-size: 28px;
    font-size: 1.75rem;
  }
  .contact-complete__txt {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .contact-confirm {
    padding: 60px 0 20px;
    padding: 3.75rem 0 1.25rem;
  }
  .contact-confirm__title {
    font-size: 24px;
    font-size: 1.5rem;
  }
  form {
    padding: 40px 0;
    padding: 2.5rem 0;
  }
  .contact-confirm__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 90%;
  }
  .contact-confirm__wrap-address {
    margin-right: auto;
  }
  .contact-confirm__txt.contact-confirm__txt--zipcode {
    width: 45%;
  }
  .contact-confirm__lead {
    line-height: 2;
    margin-right: auto;
    width: 100%;
  }
  .contact-confirm__icon {
    display: block;
    max-width: 50px;
    width: 100%;
  }
  .contact-confirm__txt {
    font-size: 14px;
    font-size: 0.875rem;
    padding: 13px;
    padding: 0.8125rem;
  }
  .contact-confirm__btn {
    font-size: 12px;
    font-size: 0.75rem;
    max-width: 150px;
    padding: 15px 45px;
  }
  .contact-recruit {
    display: none;
  }
  .layout-contact-sns {
    padding: 40px 0;
    padding: 2.5rem 0;
  }
  .contact-sns {
    display: block;
  }
  .layout-footer.layout-footer--contact-confirm {
    margin-top: 0;
  }
  .contact-info__title {
    font-size: 30px;
    font-size: 1.875rem;
  }
  .contact-info__wrap {
    display: block;
  }
  .contact-info__leading-wrap {
    margin-right: 0;
  }
  .contact-info__leading-en::after {
    left: 50%;
    top: 125%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 80%;
  }
  .contact-info__leading-en {
    padding-left: 0;
    text-align: center;
  }
  .contact-info__leading-jp {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .contact-info__content {
    margin-left: auto;
    margin-right: auto;
    margin-top: 8px;
    margin-top: 0.5rem;
    width: 80%;
  }
  .contact-info__time {
    font-size: 16px;
    font-size: 1rem;
  }
  .layout-contact-form {
    margin-top: 60px;
    margin-top: 3.75rem;
  }
  .contact-form {
    padding: 60px 0 20px;
    padding: 3.75rem 0 1.25rem;
  }
  .contact-form__title {
    font-size: 24px;
    font-size: 1.5rem;
  }
  form {
    padding: 20px 0;
    padding: 1.25rem 0;
  }
  .contact-form__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 90%;
  }
  .contact-form__wrap-address {
    margin-right: auto;
    width: 100%;
  }
  .contact-form__input.contact-form__input--zipcode {
    width: 45%;
  }
  .contact-form__txt {
    line-height: 2;
    margin-right: auto;
    width: 100%;
  }
  .contact-form__icon {
    display: block;
    max-width: 50px;
    width: 100%;
  }
  .contact-form__input {
    font-size: 14px;
    font-size: 0.875rem;
    padding: 13px;
    padding: 0.8125rem;
  }
  .contact-form__btn {
    font-size: 12px;
    font-size: 0.75rem;
    padding: 15px 45px;
  }
  .wpcf7-form-control-wrap {
    width: 100%;
  }
  .contact-recruit {
    display: none;
  }
  .layout-contact-sns {
    padding: 40px 0;
    padding: 2.5rem 0;
  }
  .contact-sns {
    display: block;
  }
  .layout-footer.layout-footer--contact {
    margin-top: 0;
  }
  .estate-common-title::after {
    position: absolute;
  }
  .estate-common-subtitle::after {
    position: static;
  }
  .estate-common-subtitle {
    letter-spacing: 0;
  }
  .estate-about__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  .estate-about__content {
    display: contents;
  }
  .estate-about__title {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .estate-about__title::after {
    width: 100%;
  }
  .estate-about__subtitle {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .estate-about__txt {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .estate-about__btn {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .estate-btn {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .estate-about__img {
    margin-top: 30px;
    margin-top: 1.875rem;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .layout-estate-rental {
    margin-top: 60px;
    margin-top: 3.75rem;
  }
  .estate-common__label {
    font-size: 16px;
    font-size: 1rem;
    padding: 8px 20px;
    padding: 0.5rem 1.25rem;
    width: 80%;
  }
  .estate-common__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-left: auto;
    margin-right: auto;
  }
  .estate-common__content {
    margin-top: 16px;
    margin-top: 1rem;
    width: 100%;
  }
  .estate-common__wrap-content {
    margin-right: 0;
    padding: 0;
  }
  .estate-common__img {
    height: auto;
  }
  .estate-common__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  .estate-common__container-img {
    margin-right: 0;
    width: 100%;
  }
  .estate-common__container-content {
    margin-top: 30px;
    margin-top: 1.875rem;
    padding: 30px 30px;
    padding: 1.875rem 1.875rem;
  }
  .layout-estate-trade {
    margin-top: 60px;
    margin-top: 3.75rem;
  }
  .estate-common.estate-common--even .estate-common__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-left: auto;
    margin-right: auto;
  }
  .estate-common.estate-common--even .estate-common__wrap-content {
    margin-left: 0;
    padding: 0;
  }
  .estate-common.estate-common--even .estate-common-title {
    text-align: left;
  }
  .estate-common.estate-common--even .estate-common__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .estate-common.estate-common--even .estate-common__container-img {
    margin-left: 0;
  }
  .estate-sns {
    display: block;
  }
  .message-mv {
    height: 200px;
  }
  .message-mv__title {
    font-size: 40px;
    font-size: 2.5rem;
  }
  .message-mv__title::first-letter {
    font-size: 40px;
    font-size: 2.5rem;
  }
  .message-mv__subtitle {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .message-mv__name span {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .message-mv__name {
    bottom: -2%;
    font-size: 20px;
    font-size: 1.25rem;
  }
  .message-main {
    background: url("../images/message/message-back-sp.png") no-repeat center center/cover;
  }
  .message-main__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .message-main__wrap:nth-of-type(1) {
    margin-top: 60px;
    margin-top: 3.75rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .message-main__wrap:nth-of-type(3) {
    margin-top: 60px;
    margin-top: 3.75rem;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .message-main__wrap:nth-of-type(4) {
    margin-top: 60px;
    margin-top: 3.75rem;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .message-main__wrap {
    margin-left: auto;
    margin-right: auto;
    margin-top: 50px;
    margin-top: 3.125rem;
    width: 100%;
  }
  .message-main__wrap:nth-of-type(3) {
    margin-left: 0;
  }
  .message-main__wrap-flex {
    display: contents;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .message-main__img {
    margin-right: 0;
    max-width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
  }
  .layout-message-sns {
    margin-top: 50px;
    margin-top: 3.125rem;
  }
  .message-sns {
    display: block;
  }
  .layout-footer.layout-footer--message {
    margin-top: 50px;
    margin-top: 3.125rem;
  }
  .layout-policy-info {
    margin-top: 10px;
    margin-top: 0.625rem;
  }
  .policy-info__wrap {
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  .policy-info__title {
    font-size: 30px;
    font-size: 1.875rem;
    text-align: left;
  }
  .policy-info__subtitle {
    font-size: 20px;
    font-size: 1.25rem;
    text-align: left;
  }
  .policy-info__txt {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    margin-top: 2.5rem;
    width: 90%;
  }
  .layout-policy-content {
    margin-top: 40px;
    margin-top: 2.5rem;
  }
  .policy-content__wrap {
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  .policy-content__lead {
    font-size: 16px;
    font-size: 1rem;
  }
  .policy-content__desc a {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .policy-content__desc {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .policy-sns {
    display: block;
  }
  .profile-title {
    font-size: 30px;
    font-size: 1.875rem;
  }
  .profile-subtitle {
    font-size: 16px;
    font-size: 1rem;
  }
  .profile-company__back {
    height: 60px;
    height: 3.75rem;
  }
  .profile-company__container {
    padding: 40px 0;
    padding: 2.5rem 0;
  }
  .profile-company__content {
    margin-top: 20px;
    margin-top: 1.25rem;
    width: 80%;
  }
  .profile-company__title::after {
    width: 80%;
  }
  .profile-company__lead {
    font-size: 14px;
    font-size: 0.875rem;
    margin-right: 10px;
    margin-right: 0.625rem;
    padding: 5px 0 5px 10px;
    padding: 0.3125rem 0 0.3125rem 0.625rem;
  }
  .profile-company__desc {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .profile-history {
    padding: 40px 0;
    padding: 2.5rem 0;
  }
  .profile-history__title::after {
    width: 80%;
  }
  .profile-history__container {
    margin-top: 40px;
    margin-top: 2.5rem;
    width: 80%;
  }
  .profile-history__lead {
    font-size: 14px;
    font-size: 0.875rem;
    margin-right: 10px;
    margin-right: 0.625rem;
  }
  .profile-history__desc {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .profile-philosophy {
    background: #f2f2f2;
  }
  .profile-philosophy__container {
    background: none;
    display: contents;
    margin-left: 0;
    width: 100%;
  }
  .profile-philosophy__wrap-title {
    background: url("../images/profile/profile-philosophy.png") no-repeat center center/cover;
    margin-left: auto;
    padding: 20px;
    padding: 1.25rem;
    width: 80%;
  }
  .profile-philosophy_leading {
    color: #1F6494;
    font-size: 28px;
    font-size: 1.75rem;
    margin-top: 32px;
    margin-top: 2rem;
    text-align: center;
  }
  .profile-philosophy_txt {
    color: #1F6494;
    margin-left: auto;
    margin-right: auto;
    width: 70%;
  }
  .profile-access__title::after {
    width: 80%;
  }
  .profile-access__wrap {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    margin-top: 2.5rem;
    width: 80%;
  }
  .profile-access__content {
    margin-right: 0;
    margin-top: 32px;
    margin-top: 2rem;
    width: 100%;
  }
  .profile-access__address {
    margin-top: 32px;
    margin-top: 2rem;
  }
  .profile-access__tel span {
    margin-right: 10px;
    margin-right: 0.625rem;
  }
  .profile-access__map {
    margin-top: 32px;
    margin-top: 2rem;
  }
  .profile-sns {
    display: block;
  }
  .layout-profile-sns {
    margin-top: 60px;
    margin-top: 3.75rem;
  }
  .project-services {
    background: #1F6494;
  }
  .project-services__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 85%;
  }
  .project-services__content {
    display: contents;
    margin-right: 0;
    width: 100%;
  }
  .project-services__wrap-title {
    margin-right: auto;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .project-services_title::after {
    width: 100%;
  }
  .project-services_title {
    font-size: 30px;
    font-size: 1.875rem;
  }
  .project-services_subtitle {
    font-size: 16px;
    font-size: 1rem;
  }
  .project-services_txt {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .project-services__img {
    margin-top: 30px;
    margin-top: 1.875rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
  }
  .project-services_container-img {
    background: #1F6494;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 40px;
    padding-bottom: 2.5rem;
    width: 85%;
  }
  .project-services_container-img img {
    width: calc((100% - 15px) / 2);
  }
  .layout-project-civil {
    margin-top: 0;
  }
  .project-common {
    background: #f2f2f2;
    height: auto;
    padding: 50px 0 30px;
    padding: 3.125rem 0 1.875rem;
  }
  .project-common__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
    gap: 2.5rem;
    height: auto;
    margin-right: 0;
  }
  .project-common__content {
    display: contents;
  }
  .project-common__title-wrap {
    margin-top: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .project-common__subtitle {
    font-size: 16px;
    font-size: 1rem;
  }
  .project-common__txt {
    margin-top: 0;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .project-common__img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .project-common__img img {
    border-top-left-radius: 0;
  }
  .project-common__container-img {
    background: #f2f2f2;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
  .project-common__wrap-img {
    -moz-column-gap: 15px;
         -webkit-column-gap: 15px;
            column-gap: 15px;
    grid-template-columns: repeat(2, 2fr);
    row-gap: 15px;
    width: 100%;
  }
  .project-common__label {
    display: none;
  }
  .layout-project-building {
    margin-top: 0;
  }
  .layout-project-attac {
    margin-top: 0;
  }
  .layout-project-realestate {
    margin-top: 0;
  }
  .project-common.project-common--even {
    background: #1F6494;
  }
  .project-common.project-common--even .project-common__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: 0;
  }
  .project-common.project-common--even .project-common__container-img {
    background: #1F6494;
  }
  .project-common.project-common--even .project-common__img img {
    border-top-right-radius: 0;
  }
  .project-common.project-common--even .project-common__title {
    color: #fff;
  }
  .project-common.project-common--even .project-common__title::after {
    background: #fff;
  }
  .project-common.project-common--even .project-common__subtitle {
    color: #fff;
  }
  .project-common.project-common--even .project-common__txt {
    color: #fff;
  }
  .project-common.project-common--even .project-common__btn a {
    background: #fff;
    color: #1F6494;
  }
  .project-common.project-common--even .project-common__btn a::after {
    border-left: 10px solid #1F6494;
  }
  .project-sns {
    display: block;
  }
  .recruit-project__mv-sub::before {
    clip-path: polygon(0 0, 0 70%, 50% 100%, 100% 70%, 100% 0%);
  }
  .recruit-project__wrap-lead {
    width: 88%;
  }
  .recruit-project__lead {
    font-size: 30px;
    font-size: 1.875rem;
    margin-top: 5px;
    margin-top: 0.3125rem;
  }
  .recruit-project__desc {
    font-size: 16px;
    font-size: 1rem;
  }
  .recruit-project__wrap-title {
    width: 90%;
  }
  .recruit-project__introduce {
    padding-top: 40px;
    padding-top: 2.5rem;
  }
  .recruit-project__items {
    background: none;
    grid-template-columns: repeat(1, 4fr);
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    width: 80%;
  }
  .recruit-project__item {
    background: #CAFFFF;
  }
  .recruit-project__leading::after {
    width: 170px;
    width: 10.625rem;
  }
  .recruit-project__leading {
    font-size: 30px;
    font-size: 1.875rem;
  }
  .recruit-employee__title {
    max-width: 300px;
  }
  .recruit-employee__cards {
    grid-template-columns: repeat(1, 4fr);
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
  .recruit-employee__img {
    max-width: 100%;
  }
  .recruit-employee__leading {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .recruit-employee__leading span {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
  }
  .recruit-employee__leading {
    font-size: 16px;
    font-size: 1rem;
  }
  .recruit-info {
    padding: 40px 0;
    padding: 2.5rem 0;
  }
  .recruit-info__container {
    padding: 100px 30px 80px;
    padding: 6.25rem 1.875rem 5rem;
  }
  .recruit-info__title {
    font-size: 30px;
    font-size: 1.875rem;
  }
  .recruit-info__wrap {
    border: none;
    display: block;
  }
  .recruit-info__lead {
    font-size: 18px;
    font-size: 1.125rem;
    margin-right: 0;
    position: relative;
    width: 100%;
  }
  .recruit-info__lead::after {
    background: #fff;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 200px;
    width: 12.5rem;
  }
  .recruit-info__desc {
    margin-top: 10px;
    margin-top: 0.625rem;
  }
  .recruit-sns {
    display: block;
    padding: 50px 0;
    padding: 3.125rem 0;
  }
  .sdg-mv__title {
    font-size: 30px;
    font-size: 1.875rem;
  }
  .sdg-mv__sub-title {
    font-size: 16px;
    font-size: 1rem;
    margin-top: 0;
  }
  .sdg-message__leading {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.3;
    width: 85%;
  }
  .layout-sdg-action {
    margin-top: 32px;
    margin-top: 2rem;
  }
  .sdg-action {
    background: #1F6494;
    height: auto;
    padding: 32px 0;
    padding: 2rem 0;
  }
  .sdg-action__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    width: 85%;
  }
  .sdg-action__content {
    display: contents;
  }
  .sdg-action__title {
    color: #fff;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .sdg-action__sub-title::after {
    background: #fff;
    right: 0;
    z-index: 0;
  }
  .sdg-action__sub-title {
    color: #fff;
    margin-right: 0;
    margin-right: initial;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    text-align: center;
    width: 100vw;
  }
  .sdg-action__leading {
    color: #fff;
    margin-top: 32px;
    margin-top: 2rem;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .sdg-action__txt {
    color: #fff;
    margin-top: 32px;
    margin-top: 2rem;
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .sdg-action__img {
    height: auto;
    margin-right: 0;
    margin-top: 16px;
    margin-top: 1rem;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .sdg-about__wrap {
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  .sdg-about__container {
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  .sdg-about__items::after {
    left: 50%;
    max-width: 800px;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 100vw;
  }
  .sdg-about__items {
    margin-top: 0;
  }
  .sdg-about__back {
    height: 180%;
    top: 13%;
    width: 180%;
  }
  .sdg-about__wrap-leading {
    display: block;
  }
  .sdg-about__leading {
    font-size: 32px;
    font-size: 2rem;
  }
  .sdg-about__sub-leading {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .sdg-about__wrap-txt {
    display: block;
    margin-top: 32px;
    margin-top: 2rem;
  }
  .sdg-about__txt {
    margin-right: 0;
    width: 100%;
  }
  .sdg-about_img img {
    margin-left: 0;
  }
  .sdg-about_img {
    margin-top: 32px;
    margin-top: 2rem;
    width: 100%;
  }
  .sdg-society {
    background: #1F6494;
    padding-bottom: 32px;
    padding-bottom: 2rem;
    padding-top: 32px;
    padding-top: 2rem;
  }
  .layout-sdg-society {
    margin-top: 10px;
    margin-top: 0.625rem;
  }
  .sdg-society__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    width: 85%;
  }
  .sdg-society__content {
    background: #1F6494;
    display: contents;
  }
  .sdg-society__title {
    background: #1F6494;
    color: #fff;
    margin-right: 0;
    text-align: center;
  }
  .sdg-society__title::after {
    position: static;
  }
  .sdg-society__txt {
    background: #1f6494;
    color: #fff;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .sdg-society__img {
    margin-top: 32px;
    margin-top: 2rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
  }
  .sdg-sns {
    display: block;
  }
  .works-article-mv__title {
    font-size: 20px;
    font-size: 1.25rem;
    padding: 5px 15px;
    padding: 0.3125rem 0.9375rem;
    width: 60%;
  }
  .works-article-main {
    padding: 20px 0 40px;
    padding: 1.25rem 0 2.5rem;
  }
  .works-article-main__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .works-article-main__content {
    display: contents;
  }
  .works-article-main__title {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    text-align: center;
    width: 100%;
  }
  .works-article-main__wrap {
    margin-top: 20px;
    margin-top: 1.25rem;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 100%;
  }
  .works-article-main__txt {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .works-article-main__img {
    margin-top: 30px;
    margin-top: 1.875rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .layout-works-article-picture {
    margin-top: 60px;
    margin-top: 3.75rem;
  }
  .works-article-picture__items {
    -moz-column-gap: 15px;
         -webkit-column-gap: 15px;
            column-gap: 15px;
    grid-template-columns: repeat(1, 8fr);
    row-gap: 15px;
  }
  .layout-works-article-sns {
    margin-top: 60px;
    margin-top: 3.75rem;
  }
  .layout-works-article-sns {
    margin-top: 60px;
    margin-top: 3.75rem;
  }
  .works-article-sns {
    display: block;
  }
}

@media screen and (max-width: 599px){
  html {
    font-size: 16px;
  }
  .contact-info__content {
    width: 90%;
  }
  .sdg-about_img img {
    width: 80px;
    width: 5rem;
  }
}

@media (max-width: 375px){
  html {
    font-size: 4.2666666667vw;
  }
}

@media (hover: hover){
  a:hover {
    opacity: 0.7;
  }
}

@media (hover: none){
  a:active {
    opacity: 0.7;
  }
}

.video-sp {
  display: none;
}

/*# 追加 */

@media (max-width: 768px) {
  .video-pc {
    display: none;
  }
  .video-sp {
    display: block;
  }
}


/* 物件検索セクション */
.estate-search {
  padding: 60px 0;
  background: #fff;
}

.estate-search__container {
  text-align: center;
}

/* PC用iframe - 中央配置 */
.estate-search__iframe-pc {
  display: block;
  margin: 0 auto;
}

/* スマホ用iframe - 最初は非表示 */
.estate-search__iframe-sp {
  display: none;
}

/* スマホ対応 */
@media (max-width: 767px) {
  .estate-search {
    padding: 40px 20px;
  }
  
  /* PC用を非表示 */
  .estate-search__iframe-pc {
    display: none !important;
  }
  
  /* スマホ用を表示 */
  .estate-search__iframe-sp {
    display: block !important;
    width: 100%;
  }
}


/* アットホームリンク画像 */
.estate-search__image {
  text-align: center;
  margin-top: 30px;
  padding: 0 20px;
}

.estate-search__image img {
  max-width: 650px;  /* 最大650pxに制限 */
  width: 100%;
  height: auto;
  display: inline-block;
}

/* スマホ対応 */
@media (max-width: 767px) {
  .estate-search__image {
    margin-top: 20px;
    padding: 0 10px;
  }
  
  .estate-search__image img {
    max-width: 100%;  /* スマホでは画面幅いっぱい */
  }
}
/*# sourceMappingURL=style.css.map */
