@charset "UTF-8";

/*ロケーション*/


#content_Wrap .flex {
  flex-wrap: wrap;
}
.pagettl {
  background-image: url(../img/page-ttl.png);
  background-position: center center;
  padding: 22% 0;
}

.pagettl p {
  color: #fff;
}

/* 共通 */

.left {
  text-align: left;
}
.right {
  text-align: right;
}
.center {
  text-align: center;
}
.en_subttl {
  font-size: 22px;
  letter-spacing: 8px;
  color: #fff;
  text-align: center;

  padding: 20px 0;
}

.sub_ttl {
  font-size: 20px;
  line-height: 1.5;
  text-align: center;
}

.sub_txt {
    font-size: 16px;
  line-height: 2;
  text-align: center;
  margin-top: 20px;
}

.minute {
  font-size: 14px;
  text-align: center;
  margin-top: 10px;
}

.conttl {
  font-size: 28px;
  color: #8d6d55;
  text-align: center;
  /* padding: 80px 0 0 0; */
  padding: 0;
  margin-bottom: 30px;
}

.contxt {
  font-size: 16px;
  color: #8d6d55;
  line-height: 1.8;
  text-align: center;
}

.enttl {
  font-size: 22px;
  color: #8d6d55;
  letter-spacing: 4px;
  text-align: left;
  padding: 10px 0 10px 1.2em;
  margin-bottom: 20px;
  position: relative;
}

.enttl::before {
  content: "";
  width: 3px;
  height: 100%;
  background: #8d6d55;
  position: absolute;
  top: 0;
  left: 0;
}

.areattl {
  font-size: 22px;
  color: #8d6d55;
  margin-bottom: 20px;
}

.txt {
  font-size: 16px;
  line-height: 1.8;
}

.facittl {
  font-size: 18px;
  color: #8d6d55;
  text-align: center;
  margin-top: 10px;
}

.facitxt {
  font-size: 14px;
  margin-top: 10px;
}

small {
  font-size: 12px;
}

[class$="box"] {
  padding: 120px 0 0 0;
}

/* 個別 */
/* スクロールダウンの位置 */
.scroll_down {
  position: absolute;
  right: 50%;
  bottom: -180px;
  writing-mode: vertical-rl;
}
/* 線のアニメーション部分 */
.scroll_down::before {
  animation: scroll 2s infinite;
  background-color: #000;
  bottom: -115px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
  z-index: 2;
}
/* 線の背景色 */
.scroll_down::after {
  background-color: #ccc;
  bottom: -115px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}
/* 線のアニメーション */
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
}

.loc_main {
  /* margin: 430px auto 0; */
  margin: 0 auto 0;
}

.main_sub {
  background: #3b3228;
  padding-bottom: 60px;
  /* margin-top: 20px; */
}

.main_sub .en_subttl {
  background: #3b3228;
}

.main_sub_flex {
  position: relative;
}

.main_sub_flex::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}

.main_sub_flex li {
  width: 25%;
}

.main_subcopy {
  width: 90%;
  font-size: 18px;
  line-height: 2;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  text-shadow: 2px 0 2px #3b3228, -2px 0 2px #3b3228, 0 2px 2px #3b3228, 0 -2px 2px #3b3228;
}

.access_ttl {
  width: 90%;
  max-width: 200px;
  margin: 0 auto 20px;
}

.access_flex {
  gap: 8%;
  margin: 60px auto 60px;
}

.access_flex li {
  width: 46%;
}

.access_map {
  gap: 4%;
  margin: 60px auto 0;
}

.access_map .left {
  width: 70%;
}

.access_map .right {
  width: 26%;
}

.access_map .right div:nth-of-type(2) {
  margin-top: 40px;
}

.position_box .en_subttl {
  background: #8d6d55;
}

.area_01 {
  margin: 60px auto 0;
}

.illust_map {
  width: 90%;
  max-width: 800px;
  margin: 60px auto 60px;
}

.area01_imageflex {
  flex-wrap: nowrap!important;
  margin-bottom: 60px;
}

.area01_imageflex li:nth-of-type(2) {
  padding: 0 5px;
}

.area01_flex {
  gap: 6%;
  align-items: center;
}

.area01_flex li {
  width: 47%;
}

.area01_flex li.imagezone {
  gap: 5px;
}

.area01_flex li.imagezone figure {
  width: calc((100% - 10px) / 3);
}

.area01_flex02 {
  gap: 2%;
  margin: 100px auto 0;
}

.area01_flex02 li {
  width: 32%;
}

.area02_1,
.area_03 {
  padding: 100px 0 0 0;
}

.area02_flex {
  gap: 4%;
  align-items: center;
}

.area02_flex li.image_zone {
  width: 48%;
}

.area02_flex li.text_zone {
  width: 48%;
}

.area02_flex li.text_zone .faci_flex {
  gap: 2%;
  margin-top: 20px;
}

.area02_flex li.text_zone .faci_flex div {
  width: 49%;
}

.area03_imageflex {
  gap: 4%;
  margin-top: 20px;
}

.area03_imageflex li {
  width: 48%;
}

.event {
  font-size: 16px;
  text-align: center;
  margin-top: 10px;
}

.facility_box .en_subttl {
  background: #a9a09a;
}

.facility_mainimage {
  margin-bottom: 100px;
}

.list_all {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto 0;
}

.list {
  width: 100%;
  margin: 80px auto 0;
}

.list.public,
.list.financial {
  width: 49%;
}

.list.public {
  margin: 80px auto 0 0;
}

.list.financial {
  margin: 80px 0 0 auto;
}

.list.public .list_flex,
.list.financial .list_flex {
  gap: 4%;
}

.list.public .list_flex li,
.list.financial .list_flex li {
  width: 48%;
}

.listttl {
  display: flex;
  align-items: center;
  font-size: 26px;
  letter-spacing: 4px;
  color: #a89052;
  margin-bottom: 20px;
}

.listttl span {
  display: inline-block;
}
.listttl span.line {
  flex: 1;
  height: 1px;
  background: #a89052;
  margin-left: 20px;
}

.list_flex {
  gap: 2%;
}

.list_flex li {
  width: 23.5%;
}

.locmap {
  width: 90%;
  max-width: 1000px;
  border: 1px solid #cccc;
  margin: 100px auto 0;
}

 .lifeinfo_ttl{
  font-size: 25px;
  color: #a38b78;
  text-align: center;
}

/* タブ切り替え */
.life_tab{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    width: 90%;
    max-width: 1000px;
    gap:2%;
    margin:60px auto 0;
}

.life_tab_btn{
  font-size: 16px;
      font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
    font-weight: 500;
    font-style: normal;
    font-feature-settings: "palt" !important;
    -webkit-text-size-adjust: 100%;
    letter-spacing: 1.5px;
    line-height: 1.5;
    width: 18.4%;
    padding:15px 0;
    border:1px solid #a38b78;
    color: #a38b78;
    background:#fff;
    cursor:pointer;
    transition:.3s;
}

.life_tab_btn:hover {
      background:#a38b78;
    color:#fff;
}

.life_tab_btn.active{
    background:#a38b78;
    color:#fff;
}

.life_tab_content{
    display:none;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}

.life_tab_content.active{
    display:block;
}



.life_tab_content .life_item {
  margin-top: 34px;
}

.life_tab_content .infottl {
  color: #fff;
  background: #a38b78;
  text-align: center;
  padding: 8px 0;
  margin-bottom: 20px;
}

.life_tab_content .infottl .ja {
  display: inline-block;
  font-size: 0.8em;
  margin-left: 10px;
}

.life_tab_content .life_flex {
  display: flex;
  flex-wrap: wrap;
  gap: 6%;
}

.life_tab_content .life_flex .half {
  width: 47%;
}

.life_tab_content .life_flex dl {
  width: 100%;
}

.life_tab_content dl {
  display: flex;
  justify-content: space-between;
  padding: 5px 0;
}

.life_tab_content dl dt {
  display: flex;
  align-items: center;
  flex: 1;
  font-size: 14px;
}

.life_tab_content dl dt span {
  display: inline-block;
}

.life_tab_content dl dt span.line {
  flex: 1;
  border-top: 1px dotted #ccc;
  margin: 0 20px;
}

.life_tab_content dl dd {
  font-size: 14px;
}

.tenant{
  font-size: 14px;
}
.tenant p{
  padding-bottom: 4px;
  font-size: 12px;
}
.tenant span{
  font-size: 12px;
}



/*---------------------------
tab_横
---------------------------*/
@media only screen and (max-width: 1180px) {
}

/*---------------------------
sp
---------------------------*/
@media only screen and (max-width: 820px) {
  /* 共通 */
 .pagettl {
  padding: 90px 0;
 }
  .en_subttl {
    font-size: 16px;
    letter-spacing: 2px;
    padding: 10px 0;
  }

  .sub_ttl {
    font-size: 16px;
  }

  .sub_txt {
    font-size: 14px;
    line-height: 1.5;
  }

  .minute {
    font-size: 14px;
    letter-spacing: 0;
  }

  .conttl {
    /* padding: 30px 0 0 0; */
    padding: 0;
    margin-bottom: 15px;
  }

  .conttl {
    font-size: 17px;
  }

  .contxt {
    font-size: 14px;
  }

  .enttl {
    font-size: 22px;
    letter-spacing: 2px;
    padding: 5px 0 0 1em;
  }

  .txt {
    line-height: 1.5;
  }

  [class$="box"] {
    padding: 60px 0 0 0;
  }

  /* 個別 */
  .scroll_down {
    bottom: -100px;
  }
  .loc_main {
    /* margin: 270px auto 0; */
    margin: 0 auto 0;
}
  .main_sub {
    padding-bottom: 40px;
  }
  .main_sub_flex li {
    width: 50%;
  }
  .main_subcopy {
    font-size: 14px;
  }

  .access_ttl {
    max-width: 110px;
  }

  .access_flex {
    gap: 0;
    margin: 20px auto 30px;
  }

  .access_flex li {
    width: 100%;
  }

  .access_flex li:nth-of-type(2) {
    margin-top: 60px;
  }

  .access_map .left {
    width: 100%;
    margin-bottom: 20px;
  }

  .access_map .right {
    gap: 2%;
    display: flex;
    width: 100%;
  }

  .access_map .right div {
    width: 49%;
  }

  .access_map .right div:nth-of-type(2) {
    margin-top: 0;
  }

  .illust_map {
    margin: 20px auto 0;
  }

  .area_01 {
    margin: 30px auto 0;
  }

  .area01_imageflex {
    flex-wrap: wrap!important;
  }

  .area01_imageflex li:nth-of-type(n + 2) {
    margin-top: 10px;
  }

  .area01_imageflex li:nth-of-type(2) {
    padding: 0;
  }

  .area01_flex li {
    width: 100%;
  }

  .area01_flex li .areattl {
    text-align: center;
  }

  .area01_flex li.imagezone {
    margin-top: 20px;
  }

  .area01_flex li.imagezone figure:nth-of-type(1),
  .area01_flex li.imagezone figure:nth-of-type(2) {
    width: 49%;
  }

  .area01_flex li.imagezone figure:nth-of-type(3) {
    width: 100%;
  }

  .area01_flex02 {
    margin: 50px auto 0;
  }
  .area01_flex02 li {
    width: 100%;
  }

  .area01_flex02 li:nth-of-type(n + 2) {
    margin-top: 60px;
  }

  .area02_flex li.image_zone {
    width: 100%;
    margin-bottom: 20px;
  }

  .area02_flex li.text_zone {
    width: 100%;
  }

  .area02_flex.reserve li.text_zone {
    order: 2;
  }

  .area02_flex.reserve li.image_zone {
    order: 1;
  }

  .areattl {
    font-size: 18px;
    margin-bottom: 10px;
  }

  .area02_1,
  .area_03 {
    padding: 50px 0 0 0;
  }

  .area03_imageflex {
    gap: 2%;
  }

  .area03_imageflex li {
    width: 49%;
  }

  .event {
    font-size: 14px;
  }

  .facility_mainimage {
    margin-bottom: 30px;
  }

  .listttl {
    font-size: 20px;
    letter-spacing: 2px;
  }

  .list {
    margin: 30px auto 0;
  }

  .list.public,
  .list.financial {
    width: 100%;
  }

  .list:nth-of-type(n + 2) {
    margin-top: 50px;
  }

  .list_flex li {
    width: 48%;
  }

  .list_flex li:nth-of-type(n + 3) {
    margin-top: 40px;
  }

  .locmap {
    margin: 50px auto 0;
  }


  .life_tab {
    justify-content: flex-start;
    gap: 4%;
    margin: 20px auto 0;
  }

.life_tab_btn {
  width: 48%;
}

.life_tab_btn:nth-of-type(n+3) {
  margin-top: 4%;
}

.life_tab_content .life_flex dl {
  width: 100%;
}


  .life_tab_content dl dt,
   .life_tab_content dl dd {
letter-spacing: 0;
  }
  .life_tab_content dl dt span.line {
    margin: 0 8px;
  }

  .life_tab_content .life_flex .half {
    width: 100%;
  }


}

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

  .tenant{
  font-size: 12px;
  line-height: 1.3;
}
.tenant p{
  padding-bottom: 2px;
  font-size: 10px;
}
.tenant span{
  font-size: 10px;

}
}
