@charset "utf-8";

:root {
  --globalContentWidth: 1440px;
  --globalItemMargin: 32px;
}
body {
  font-size: 1.6rem;
}

/* table
------------------------------------------------ */
.box__table {
  margin-top: var(--globalItemMargin);
  overflow: auto;
}
.table-caption + .box__table {
  margin-top: 0.5em;
}
table{
  width: 100%;
  border-collapse: collapse;
}
th, td {
  font-size: 1.6rem;
  padding: 1em;
}
th {
  font-weight: bold;
}
.cell-left {
  text-align: left;
}
.cell-center {
  text-align: center;
}
.cell-right {
  text-align: right;
}
.cell-white {
  background-color: #ffffff;
}
tr th.cell-no-left, tr td.cell-no-left {
  border-left: 0 !important;
}
tr th.cell-no-right, tr td.cell-no-right {
  border-right: 0 !important;
}
tr th.cell-no-top, tr td.cell-no-top {
  border-top: 0 !important;
}
tr th.cell-no-bottom, tr td.cell-no-bottom {
  border-bottom: 0 !important;
}
tr th.cell-border-left, tr td.cell-border-left {
  border-left: 1px solid #D6D6D6 !important;
}
tr th.cell-border-right ,tr td.cell-border-right {
  border-right: 1px solid #D6D6D6 !important;
}
tr th.cell-border-top, tr td.cell-border-top {
  border-top: 1px solid #D6D6D6 !important;
}
tr th.cell-border-bottom, tr td.cell-border-bottom {
  border-bottom: 1px solid #D6D6D6 !important;
}

.table-caption {
  margin-left: auto;
  max-width: fit-content;
  font-size: 1.4rem;
}
td p + p,
td li + li {
  margin-top: 0.8em;
}

@media screen and (max-width:590px) {
  th, td {
    /* font-size: 1.4rem; */
  }
}

/*------------------------------
  table-single
------------------------------*/
.table-single {
  margin-top: 0.5em;
  width: 100%;
}
.table-single tr {
  border-top: 1px solid #D6D6D6;
  border-bottom: 1px solid #D6D6D6;
}
.table-single tr:last-of-type th {
  border-bottom: 1px solid #D6D6D6;
}
.table-single th {
  width: 30%;
  min-width: 256px;
  border-top: 1px solid #D6D6D6;
  border-bottom: 1px solid #D6D6D6;
  border-right: 1px solid #D6D6D6;
  background-color: #F7F7F8;
  text-align: left;
  vertical-align: top;
}
.table-single td {
  border-bottom: 1px solid #D6D6D6;
  background-color: #ffffff;
}

@media screen and (max-width:850px) {
  .table-single th,
  .table-single td {
    width: 100%;
    display: block;
  }
  .table-single th {
    border-top: 0;
    border-right: 0;
  }
  .table-single td {
    border-top: 0;
    border-bottom: 0;
  }
}

/*------------------------------
  table-multi
------------------------------*/
.table-multi thead th {
  border-right: 1px solid #D6D6D6;
  background-color: #E60000;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
.table-multi thead th:last-of-type {
  border-right: 0;
}
.table-multi td {
  border-right: 1px solid #D6D6D6;
}
.table-multi tbody th {
  background-color: #F7F7F8;
  border-right: 1px solid #D6D6D6;
  font-weight: bold;
  text-align: left;
  vertical-align: top;
}
.table-multi tfoot th,
.table-multi tfoot td {
  background-color: #000000;
  color: #fff;
}
.table-multi tfoot th {
  border-right: 1px solid #D6D6D6;
  font-weight: bold;
  text-align: center;
}
.table-multi tr:nth-of-type(even) td {
  border-right: 1px solid #D6D6D6;
}
.table-multi tr td:last-of-type {
  border-right: 0;
}
.table-multi tr + tr {
  border-top: 1px solid #D6D6D6;
}

/*------------------------------
  list
------------------------------*/
ol, ul {
  font-size: 1.6rem;
}
p + ol,
p + ul {
  margin-top: var(--globalItemMargin);
}
.main li + li {
  margin-top: 1em;
}
.list-decimal,
.list-disc,
.list-larpha {
  margin-left: 1em;
}
.list-decimal li {
  list-style-type: decimal;
}
.list-disc li {
  list-style-type: disc;
  padding-left: 8px;
}
.list-disc li::marker {
  content: '■';
  color: #E60000;
  font-size: 1.2rem;
}

/* アルファベット付きリスト */
.list-lalpha li {
  list-style-type: lower-alpha;
}

/* 番号付きリスト - 1. */
.list-numberd {
  margin-left: 1.5em;
}
.list-numberd > li {
  position: relative;
}
.list-numberd > li::marker {
  content: '';
}
.list-numberd > li::before {
  position: absolute;
  right: calc(100% + 0.5rem);
  content: counter(list-item) ".";
}

/* 番号付きリスト - (1) */
.list-bracket {
  margin-left: 2em;
}
.list-bracket > li {
  position: relative;
}
.list-bracket > li::marker {
  content: '';
}
.list-bracket > li::before {
  position: absolute;
  right: calc(100% + 0.5rem);
  content: "(" counter(list-item) ")";
}
@media screen and (max-width:590px) {
  ol, ul {
    font-size: 1.4rem;
  }
}

/* list-document */
.list-document__item {
  display: flex;
  gap: 4px 16px;
  flex-wrap: wrap;
}
.list-document__item.item-revision {
  margin-left: 4em;
  position: relative;
}
.list-document__item.item-revision::before {
  content: 'L';
  position: absolute;
  top: 0;
  left: -2em;
}
.list-document__item .document-date {
  width: 140px;
}
.list-document__item .document-title {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  align-items: center;
}
.list-document__item .document-link {
  text-decoration: none;
}
.list-document__item.item-pdf .document-link {
  display: flex;
  align-items: center;
  gap: 4px 8px;
  flex-wrap: wrap;
}
.list-document__item.item-pdf .document-link::after {
  content: 'PDF';
  padding: 2px 12px;
  border: 1px solid #E60000;
  font-size: 1rem;
  color: #E60000;
  font-weight: bold;
  letter-spacing: 0.025em;
  text-decoration: none;
  line-height: 1;
}
.list-document__item .document-size {
  color: #5A5A5A;
  font-size: 1.2rem;
  letter-spacing: 0.025em;
}

/* リストのキャプション */
.list-caption + ul,
.list-caption + ol {
  margin-top: 0.5em;
}
@media screen and (max-width:768px) {
  .list-document__item .document-date {
    width: 100%;
  }
}


/*------------------------------
  box
------------------------------*/
.box__horizontal {
  margin-top: 36px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.box__single {
  width: 80%;
  max-width: 1020px;
  margin: var(--globalItemMargin) auto 0;
}
.box__grid {
  margin: var(--globalItemMargin) auto 0;
  display: grid;
}
.box__single {
  width: 80%;
  margin: var(--globalItemMargin) auto 0;
}
.box__border {
  margin-top: var(--globalItemMargin) auto 0;
  padding: 1.5em;
}
.box__bg {
  margin-top: var(--globalItemMargin) auto 0;
  padding: 1.5em;
}
.box__single + p,
.box__single + ul,
.box__single + .box__table,
.box__single + .box__grid,
.box__grid + p,
.box__grid + ul,
.box__grid + .box__table,
.box__grid + .box_single,
.box__border + p,
.box__border + ul,
.box__border + .box__table,
.box__border + .box__single,
.box__table + p,
.box__table + ul,
.box__table + .box__table,
.box__table + .box__single {
  margin-top: var(--globalItemMargin);
}
@media screen and (max-width:850px) {
  .box__horizontal .box__image {
    max-width: 400px;
    margin: 0 auto;
    order: 1;
  }
  .box__horizontal .box__text {
    width: 100%;
    order: 2;
  }
}
@media screen and (max-width:590px) {
  .box__single {
    width: 100%;
  }
}

/*------------------------------
  box__split
------------------------------*/
* + .box__split,
.box__split + * {
  margin-top: var(--globalItemMargin);
}
.box__split {
  display: grid;
}

.box__split[data-split="1-1"] {
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 48px;
}
@media screen and (max-width:850px) {
  .box__split[data-split="1-1"] {
    grid-template-columns: 100%;
  }
}

.box__split[data-split="1-3"] {
  grid-template-columns: 1fr 3fr;
  gap: 24px;
}
@media screen and (max-width:850px) {
  .box__split[data-split="1-3"] {
    grid-template-columns: 100%;
  }
  .box__split[data-split="1-3"] > div:first-of-type {
    max-width: 320px;
    justify-self: center;
  }
}

.box__split[data-split="1-4"] {
  grid-template-columns: 1fr 4fr;
  gap: 24px;
}
@media screen and (max-width:850px) {
  .box__split[data-split="1-4"] {
    grid-template-columns: 100%;
  }
  .box__split[data-split="1-4"] > div:first-of-type {
    max-width: 240px;
    justify-self: center;
  }
}

/*------------------------------
  annotation
------------------------------*/
sup,
.sup {
  vertical-align: super;
  font-size: 1.3rem;
  display: inline-block;
  padding-bottom: 0.5em;
}
sub,
.sub {
  vertical-align: baseline;
  font-size: 1.3rem;
  display: inline-block;
}
.annotation {
  margin-top: 1em;
  color: #838383;
  font-size: 1.2rem;
  line-height: 1.4;
}
.box__single + .annotation {
  max-width: 1020px;
  margin: 1em auto 0;
}
.box__single .annotation {
  margin-top: 1em;
}
.annotation > p {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: 1em;
}
.annotation > p::before {
  content: attr(data-mark);
  text-align: right;
}
.annotation > p + p {
  margin-top: 0.25em;
}
.figcaption {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}


/*------------------------------
  superscript
------------------------------*/
sup,
.superscript {
  padding-left: 0.25em;
  font-size: 1.3rem;
  vertical-align: super;
}

/*------------------------------
  btn
------------------------------*/
p + .btn-wrapper,
ul + .btn-wrapper {
  margin-top: var(--globalItemMargin);
}

/* pages
------------------------------------------------ */
.section + .section {

}
.section__inner {
	max-width: var(--globalContentWidth);
	margin: 0 auto;
	padding: 0 var(--globalContentPadding);
	padding-top: 80px;
}
.section:first-of-type .section__inner {
  padding-top: 96px;
}
.section:last-of-type .section__inner {
  padding-bottom: 96px;
}
.block + .block {
  margin-top: 80px;
}
p {
  line-height: 1.8;
}
p + p,
p + .btn,
b + p {
  margin-top: 1em;
}
p:has(.btn) + p {
  margin-top: 2em;
}
b,
strong,
.strong {
  color: #E60000;
  font-weight: bold;
}
.lead {
  color: #5A5A5A;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
@media screen and (max-width:850px) {
  .section + .section {

  }
  .section__inner {
    padding-top: 72px;
  }
  .section:first-of-type .section__inner {
    padding-top: 72px;
  }
  .section:last-of-type .section__inner {
    padding-bottom: 80px;
  }
  .lead {
    font-size: 2.2rem;
  }
}
@media screen and (max-width:590px) {
  .section:first-of-type .section__inner {
    padding-top: 40px;
  }
  p {
    /* font-size: 1.4rem; */
  }
  .lead {
    font-size: 1.8rem;
  }
}

/* title */
.heading01,
.heading02,
.heading03,
.heading04,
.heading05 {
  font-weight: bold;
  line-height: 1.2;
}
.heading01 {
  padding-bottom: 1.14em;
  font-size: 2.8rem;
  position: relative;
}
.heading01::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-color: #D5D6E2;
  background-image: linear-gradient(90deg, #CD1432 0%, #CD1432 64px, #D5D6E2 65px, #D5D6E2 100%);
  position: absolute;
  left: 0;
  bottom: 0;
}
.heading01 + * {
  margin-top: 48px;
}
.heading02 {
  padding: 0.85em 0.57em;
  background-color: #F7F7F8;
  font-size: 2.8rem;
}
.heading02 + * {
  margin-top: var(--globalItemMargin);
}
.heading03 {
  padding-bottom: 0.66em;
  border-bottom: 2px solid #E60000;
  font-size: 2.4rem;
}
* + .heading03,
.heading03 + * {
  margin-top: var(--globalItemMargin);
}
.heading04 {
  padding-left: 16px;
  font-size: 2.4rem;
  position: relative;
}
.heading04::before {
  content: '';
  display: block;
  width: 2px;
  height: 26px;
  background-color: #E60000;
  position: absolute;
  top: 1px;
  left: 0;
}
* + .heading04,
.heading04 + * {
  margin-top: var(--globalItemMargin);
}
.heading05 {
  font-size: 2.4rem;
}
* + .heading05,
.heading05 + * {
  margin-top: var(--globalItemMargin);
}
@media screen and (max-width:850px) {
  .heading01 {
    font-size: 2.6rem;
  }
  .heading01::after {
    background-image: linear-gradient(90deg, #CD1432 0%, #CD1432 56px, #D5D6E2 57px, #D5D6E2 100%);
  }
  .heading02 {
    font-size: 2.4rem;
  }
  .heading03 {
    font-size: 2.2rem;
  }
  .heading04,
  .heading05 {
    font-size: 2rem;
  }
}
@media screen and (max-width:590px) {
  .heading01 {
    font-size: 2.4rem;
  }
  .heading01::after {
    background-image: linear-gradient(90deg, #CD1432 0%, #CD1432 48px, #D5D6E2 49px, #D5D6E2 100%);
  }
  .heading02 {
    font-size: 2.2rem;
  }
  .heading03 {
    font-size: 2rem;
  }
  .heading04,
  .heading05 {
    font-size: 1.8rem;
  }
}

/* kv */
.kv {
  border-bottom: 4px solid #E60000;
  background-color: #F7F7F8;
}
.kv__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: var(--globalContentWidth);
  min-height: 223px;
  margin: 0 auto;
  padding: 16px var(--globalContentPadding);
}
.page-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 16px;
}
.page-title__main {
  color: #E60000;
  font-size: 5.6rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.page-title__main > span {
  display: inline-block;
}
.page-title__sub {
  padding: 4px 8px;
  background-color: #000;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
}
@media screen and (max-width:1150px) {
  .page-title__main {
    font-size: 3.6rem;
  }
}
@media screen and (max-width:850px) {
  .kv {
    display: flex;
    align-items: stretch;
    justify-content: center;
    min-height: 148px;
  }
  .kv__inner {
    width: 100%;
    height: 100%;
    min-height: 184px;
  }
  .page-title {
    gap: 8px;
    margin-top: 0;
  }
  .page-title__main {
    font-size: 3.2rem
  }
  .page-title__sub {
    font-size: 1.4rem;
  }
}
@media screen and (max-width:590px) {
  .kv__inner {
    min-height: 140px;
  }
  .page-title__main {
    font-size: 2.8rem
  }
  .page-title__sub {
    font-size: 1rem;
  }
}
/*------------------------------
  property
------------------------------*/
/* page-property */
.page-property .tab-headings {
  border-bottom: 2px solid #d6d6d6;
}
.page-property .tab-headings__inner {
  padding: 0 var(--globalContentPadding);
}
.page-property .tab-headings__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 40px;
}
.page-property .tab-headings__list li + li {
  margin-top: 0;
}
.page-property .tab-headings__list .item a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5em 0;
  color: #000;
  line-height: 1.4;
  text-decoration: none;
}
.page-property .tab-headings__list .item.current {
  position: relative;
}
.page-property .tab-headings__list .item.current::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-color: #CD011C;
  position: absolute;
  top: 100%;
  left: 0;
}
@media (hover: hover) {
  .page-property .tab-headings__list .item a:hover {
    opacity: 1;
    color: #CD011C;
  }
}
.page-property .property-gallery {
  --minimum: 240px;
  display: grid;
  grid-template-columns: 714fr 452fr;
  gap: 8px;
  margin-top: var(--globalItemMargin);
}
.page-property [data-id="002"] .property-gallery {
  grid-template-columns: 531fr 643fr;
}
.page-property .property-gallery + * {
  margin-top: var(--globalItemMargin);
}
.page-property [data-id="001"] .property-gallery__pic-wide {
  background: url(../img/property_pic1-1.jpg) no-repeat center;
  background-size: cover;
}
.page-property [data-id="002"] .property-gallery__pic-wide {
  background: url(../img/property_pic2-1.jpg) no-repeat center;
  background-size: cover;
}
.page-property .property-gallery__pic-wide img {
  display: none;
}
.page-property .property-gallery__pic-narrows {
  display: grid;
  grid-template-columns: 100%;
  gap: 8px;
  position: relative;
}
.property-gallery__item-copyright {
  display: flex;
  justify-content: flex-end;
  font-size: 1rem;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(0, 24px);
}
.page-property .section-ranking .box__split .grid {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.page-property .section-ranking .box__split .annotation p {
  grid-template-columns: 3em 1fr;
}
.page-property .section-ranking .box__single .annotation p {
  grid-template-columns: 2em 1fr;
}
.page-property .section-mansion .box__split .box__single {
  width: 100%;
  margin-top: 0;
}
.page-property .box__ranking {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media screen and (min-width:851px) {
  .page-property .section-ranking .box__split .box__single {
    width: 100%;
  }
}
@media screen and (max-width: 850px) {
    .page-property .box__ranking {
        grid-template-columns: 100%;
    }
}
@media screen and (max-width:768px) {
  .page-property .tab-headings__inner {
    padding: 0;
  }
  .page-property .tab-headings__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
  }
  .page-property .tab-headings__list .item.current {
    background-color: #E60000;
  }
  .page-property .tab-headings__list .item.current::after {
    display: none;
  }
  .page-property .tab-headings__list .item.current a {
    color: #fff;
  }
}

.page-property .section-map .access-map {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}
.page-property .section-map .access-map .google-map {
	width: 100%;
	height: 100%;
  min-height: 722px;
}
@media screen and (max-width:590px) {
  .page-property .section-map .access-map {
    width: 100%;
  } 
  .page-property .property-gallery,
  .page-property [data-id="002"] .property-gallery {
    grid-template-columns: 100%;
  }
  .page-property .property-gallery__pic-wide {
    background: none;
  }
  .page-property .property-gallery__pic-wide img {
    display: inline;
  }
}


/*------------------------------
  fund
------------------------------*/
/* page-fund */
.page-fund .section-cash-flow .annotation > p {
    grid-template-columns: 3em 1fr;
}

/* page-overview */
.page-overview .section-schedule .annotation p {
  grid-template-columns: 2em 1fr;
}
@media screen and (max-width:1400px) {
  .page-overview .pc-content1400 {
    display: none;
  }
}

/* page-am */
.page-am .table-policy p + .btn-wrapper {
  margin-top: 1em;
}

/*------------------------------
  ir
------------------------------*/
.table-ir th,
.table-ir td {
  white-space: nowrap;
  text-align: center;
  width: 50%;
}
.table-ir th {
  background-color: #E60000;
  color: #fff;
  font-weight: bold;
}
.table-ir td b {
  color: #000;
  font-size: 1.5em;
}
@media screen and (max-width:590px) {
  .table-ir th,
  .table-ir td {
    display: block;
    width: 100%;
  }
  .table-ir td {
    border-top: 0;
  }
}

/* page-ir */
.page-ir .annotation {
  margin-top: 50px;
}
.page-ir .distribution_box {
    text-align: right;
    margin: 0 auto;
    display: inline-block;
}
.page-ir .distribution_box .distribution_box-detail {
  font-size: 1.4rem;
  padding-left: 1em;
}
.page-ir .distribution_box .distribution_box-detail dl {
  margin: 0 ;
  display: flex;
  gap: 0.5em;
  justify-content: space-between;
}
.page-ir .distribution_box .distribution_box-detail dl dt,
.page-ir .distribution_box .distribution_box-detail dl dd {
  margin: 0;
}

/* page-highlights */
.page-highlights .table-highlights th {
  white-space: nowrap;
  vertical-align: middle;
}
.page-highlights .table-borrowing tbody td:not(:first-of-type),
.page-highlights .table-borrowing tfoot td {
  text-align: right;
}
.page-highlights .table-highlights .distribution_item_ttl {
  font-size: 1.2rem;
  display: block;
}
.page-highlights .table-highlights .distribution_item_detail {
  font-size: 1.2rem;
  display: block;
}


/*------------------------------
  news
------------------------------*/
.main .disclosureList li.m-news__item + li {
 margin-top: 0;
}



/*------------------------------
  caution-list
------------------------------*/
.caution-list {
    display: table;
    margin-top: 16px !important;
}
.caution-list>li {
  display: table-row;
  font-size: 1.3rem;
}
.caution-list>li>div,
.caution-list>li>small,
.caution-list>li>span {
    font-size: 1em!important;
    display: table-cell;
    padding: .25em 0 .25em .25em;
    vertical-align: top;
}
.caution-list>li::before {
    display: table-cell;
    padding: .25em 0;
    vertical-align: top;
    width: 1%;
    white-space: nowrap;
    content: attr(data-indent-head);
    font-size: 1.3rem;
}