@charset "UTF-8";
#container {
  /* ========================================================================================= ^^
    Index
  ============================================================================================ ^^ */
  /* 内容 */
  /*---------------------*/
  /* みなとみらい２１ */
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
}
#container .section--index-bg {
  padding: 10em 0 0;
  /*background: url(../images/value/mirai21_bg.jpg) no-repeat 50% 50%/cover;*/
}
#container .minato_img {
  width: 100%;
  margin: 0 auto 5em;
}
#container .tabBtn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 8em;
}
#container .tabBtn li {
  width: 49%;
}
#container .tabBtn li a {
  position: relative;
  display: inline-block;
  width: 100%;
  border-bottom: solid 1px #A58439;
  background: #F1ECE1;
  background: linear-gradient(0deg, rgb(241, 236, 225) 0%, rgb(255, 255, 255) 100%);
  padding: 1em 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
  color: #A58439;
  transition: all 0.6s;
}
#container .tabBtn li a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 9px solid #A58439;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  border-bottom: 0 solid transparent;
  transform: translateY(1px);
  box-sizing: border-box;
}
#container .tabBtn li a:hover {
  opacity: 0.6;
}
#container .fac_Wrap {
  display: flex;
  flex-direction: column;
  gap: 10em;
}
#container .fac_Wrap li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#container .fac_Wrap li.rev {
  flex-direction: row-reverse;
}
#container .fac_Wrap li.w5_2 {
  justify-content: flex-start;
  gap: 7em;
}
#container .fac_Wrap li .img {
  width: 55%;
}
#container .fac_Wrap li.w5 .img {
  width: 46%;
}
#container .fac_Wrap li.w5_2 .img {
  width: 46%;
}
#container .fac_Wrap li.w6 .img {
  width: 58%;
}
#container .fac_Wrap li .txtWrap {
  width: 41%;
}
#container .fac_Wrap li.w5 .txtWrap {
  width: 50%;
}
#container .fac_Wrap li.w5_2 .txtWrap {
  width: 40%;
}
#container .fac_Wrap li.w6 .txtWrap {
  width: 38%;
}
#container .fac_Wrap li .txtWrap .ttlArea {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 2em;
}
#container .fac_Wrap li .txtWrap .num {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  background: #000;
  font-size: 21px;
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
  color: #FFF;
  margin-right: 0.5em;
}
#container .fac_Wrap li .txtWrap .ttl {
  font-size: 26px;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  color: #333;
  letter-spacing: 0.1em;
}
#container .fac_Wrap li .txtWrap .ttl > span {
  display: block;
  width: 100%;
  font-size: 18px;
  letter-spacing: 0.1em;
  margin-top: 0.3em;
}
#container .fac_Wrap li .txtWrap .txt {
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  text-align: justify;
  color: #333;
  letter-spacing: 0.1em;
}
#container .fac_Wrap p.img_cap {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 0.2em;
}
#container .fac_Wrap p.img_cap.cap_r {
  text-align: right;
}
#container .fac_Wrap .txtArea .ttl {
  font-size: 26px;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  color: #333;
  letter-spacing: 0.1em;
}
#container .tabBtn_f {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 8em;
}
#container .tabBtn_f li {
  width: 49%;
}
#container .tabBtn_f li a {
  position: relative;
  display: inline-block;
  width: 100%;
  background: #FFF;
  padding: 1em 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
  color: #A58439;
  transition: all 0.6s;
}
#container .tabBtn_f li a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 6px solid transparent;
  border-right: 0 solid transparent;
  border-left: 9px solid #A58439;
  border-bottom: 6px solid transparent;
  box-sizing: border-box;
}
#container .tabBtn_f li a:hover {
  background: #A58439;
  color: #FFF;
}
#container .tabBtn_f li a:hover:after {
  border-top: 6px solid transparent;
  border-right: 0 solid transparent;
  border-left: 9px solid #FFF;
  border-bottom: 6px solid transparent;
}
@media screen and (max-width: 767px) {
  #container .section--index-bg {
    padding: 6em 0 0;
  }
  #container .minato_img {
    margin: 2em auto 0;
  }
  #container .tabBtn {
    gap: 1em;
    margin-bottom: 5em;
  }
  #container .tabBtn li {
    width: 100%;
  }
  #container .tabBtn li a {
    padding: 1em 0;
    /*font-size: 15px;*/
    font-size: 2.738vw;
  }
  #container .fac_Wrap {
    display: flex;
    flex-direction: column;
    gap: 6em;
  }
  #container .fac_Wrap li {
    gap: 2em;
  }
  #container .fac_Wrap li.rev {
    flex-direction: row-reverse;
  }
  #container .fac_Wrap li.w5_2 {
    justify-content: flex-start;
    gap: 7em;
  }
  #container .fac_Wrap li .img,
  #container .fac_Wrap li.w5 .img,
  #container .fac_Wrap li.w5_2 .img,
  #container .fac_Wrap li.w6 .img {
    width: 100%;
  }
  #container .fac_Wrap li .txtWrap,
  #container .fac_Wrap li.w5 .txtWrap,
  #container .fac_Wrap li.w5_2 .txtWrap,
  #container .fac_Wrap li.w6 .txtWrap {
    width: 100%;
  }
  #container .fac_Wrap li .txtWrap .ttlArea {
    margin-bottom: 1em;
  }
  #container .fac_Wrap li .txtWrap .num {
    width: 5vw;
    height: 5vw;
    /*font-size: 21px;*/
    font-size: 3.52vw;
  }
  #container .fac_Wrap li .txtWrap .ttl {
    /*font-size: 26px;*/
    font-size: 4.172vw;
  }
  #container .fac_Wrap li .txtWrap .ttl > span {
    /*font-size: 18px;*/
    font-size: 3.129vw;
  }
  #container .fac_Wrap li .txtWrap .txt {
    /*font-size: 14px;*/
    font-size: 2.608vw;
  }
  #container .fac_Wrap p.img_cap {
    font-size: 10px;
  }
  #container .fac_Wrap .txtArea .ttl {
    /*font-size: 26px;*/
    font-size: 4.172vw;
  }
  #container .tabBtn_f {
    gap: 1em;
    margin-top: 5em;
  }
  #container .tabBtn_f li {
    width: 100%;
  }
  #container .tabBtn_f li a {
    padding: 1em 0;
    /*font-size: 15px;*/
    font-size: 2.738vw;
  }
}
/* 共通 */
/*---------------------*/
.is-pc {
  display: block;
}

.is-sp {
  display: none;
}

#container .section--index-nostalgy {
  padding: 10em 0;
}

#container .mainCopy {
  width: 100%;
  margin-bottom: 5em;
}

#container .mainCopy p {
  font-family: "Zen Old Mincho", serif;
  font-size: 34px;
  font-weight: 400;
  line-height: 2;
  text-align: center;
  letter-spacing: 0.1em;
  color: #333;
}

#container .mainCopy p span {
  color: #957D46;
  border-bottom: solid 1px #957D46;
}

#container .mainCopy p.cap {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 1.5em;
}

#container .txtArea {
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 4em;
  letter-spacing: 0.1em;
}

#container .txtArea .ttl {
  font-size: 63px;
  font-weight: 400;
  line-height: 1;
  text-align: left;
  margin-bottom: 0.2em;
}

#container .txtArea .txt {
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  text-align: left;
}

#container .section--index-gray {
  padding: 10em 0;
  background: #E5E5E5;
}

@media screen and (max-width: 767px) {
  .is-pc {
    display: none;
  }
  .is-sp {
    display: block;
  }
  #container .section--index-nostalgy {
    padding: 6em 0;
  }
  #container .mainCopy {
    margin-bottom: 4em;
  }
  #container .mainCopy p {
    /*font-size: 34px;*/
    font-size: 4.433vw;
  }
  #container .mainCopy p.cap {
    font-size: 10px;
    margin-top: 1.2em;
  }
  #container .txtArea {
    margin-bottom: 3em;
  }
  #container .txtArea .ttl {
    /*font-size: 22px;*/
    font-size: 7.17vw;
  }
  #container .txtArea .txt {
    /*font-size: 14px;*/
    font-size: 2.608vw;
  }
  #container .section--index-gray {
    padding: 6em 0;
  }
}
/*---------------------------
MV
---------------------------*/
#container .section--hero {
  background: #000;
  height: 970px;
}

#container .section--hero * {
  color: #fff;
}

#container .section--hero .section__inner {
  height: 100%;
  background: url(../images/position/hero_bgi01.jpg) no-repeat 50% 50%/cover;
  display: flex;
  justify-content: center;
  align-items: center;
}

#container .section--hero .section__block {
  width: 50%;
}

#container .section--hero .section__block--heading {
  margin-left: 150px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
}

#container .section--hero .section__block--heading .section__heading {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
}

#container .section--hero .section__block--heading .section__heading .section__small {
  font-family: "Cinzel", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}

#container .section--hero .section__block--heading .section__heading .section__b {
  margin-top: 35px;
  font-family: "Montserrat", sans-serif;
  font-size: 62px;
  font-weight: 400;
  line-height: 1;
}

#container .section--hero .section__block--heading .section__heading .section__i {
  margin-left: 80px;
  font-family: "Cormorant Garamond", serif;
  font-size: 62px;
  font-weight: 400;
  line-height: 1;
}

#container .section--hero .section__block--text .section__par--title {
  font-size: 22px;
  line-height: 2;
}

#container .section--hero .section__block--text .section__par--text {
  margin-top: 16px;
  font-size: 16px;
  line-height: 2;
}

#container .section__inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1500px;
}

@media only screen and (max-width: 1100px) {
  #container .section--hero .section__block--heading .section__heading .section__small {
    font-size: 1.455vw;
  }
  #container .section--hero .section__block--heading .section__heading .section__b {
    font-size: 5.636vw;
  }
  #container .section--hero .section__block--heading .section__heading .section__i {
    font-size: 5.636vw;
  }
  #container .section--hero .section__block--text .section__par--title {
    font-size: 2vw;
    line-height: 2;
  }
  #container .section--hero .section__block--text .section__par--text {
    margin-top: 1.455vw;
    font-size: 1.455vw;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  #container .section--hero {
    height: auto;
  }
  #container .section--hero .section__inner {
    height: auto;
    min-height: 80dvh;
    background: url(../images/position/hero_bgi01.jpg) no-repeat 50% 50%/cover;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 3.90625vw;
  }
  #container .section--hero .section__block {
    /* width: 80%; */
    width: 100%;
  }
  #container .section--hero .section__block--heading {
    margin-left: 0;
  }
  #container .section--hero .section__block--heading .section__heading .section__small {
    font-size: 3.125vw;
  }
  #container .section--hero .section__block--heading .section__heading .section__b {
    margin-top: 6.8359375vw;
    font-size: 12.109375vw;
  }
  #container .section--hero .section__block--heading .section__heading .section__i {
    margin-left: 15.625vw;
    font-size: 12.109375vw;
  }
  #container .section--hero .section__block--text .section__par--title {
    /* font-size: 4.296875vw; */
    font-size: 4vw;
  }
  #container .section--hero .section__block--text .section__par--text {
    margin-top: 3.125vw;
    /* font-size: 3.125vw; */
    font-size: 3vw;
  }
  #container .section__inner {
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
  }
}
/* 共通 */
/*---------------------*/
#position .imageCap .cap_n {
  position: absolute;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #231815;
  font-size: 12px;
  padding: 3px 5px;
  line-height: 1.4;
  z-index: 99;
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
}

#position .imageCap .cap_n.wh {
  color: #FFF;
}

#position .imageCap .cap_n.cap_l {
  bottom: 0;
  left: 0;
  text-align: left;
}

#position .imageCap .cap_n.cap_r {
  bottom: 0;
  right: 0;
  text-align: right;
}

#position .imageCap .cap_text {
  padding-left: 0px;
  color: #333;
  background: unset;
}

/**/
#position .imagephoto .cap {
  font-size: 12px;
  margin-top: 3px;
  line-height: 1.4;
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
}

#position .imagephoto .cap.cap_l {
  text-align: left;
}

#position .imagephoto .cap.cap_r {
  text-align: right;
}

/* メイン ゴシック */
#position .font01 {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  line-height: 1;
}

/* メイン 明朝 */
#position .font02 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  line-height: 1;
}

/* メイン 明朝 */
#position .font03 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
}

@media screen and (max-width: 1100px) {
  #position .imageCap .cap_n {
    font-size: 1.071vw;
  }
  #position .imagephoto .cap {
    font-size: 1.071vw;
  }
}
@media screen and (max-width: 767px) {
  #position .imageCap .cap_n {
    font-size: 12px;
    padding: 3px 5px;
  }
  #position .imagephoto .cap {
    font-size: 12px;
  }
}
/* トップページ */
/* ページリンク */
/*---------------------*/
.pageLink {
  width: 100%;
  margin: 0 auto;
}

.pageLink ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.pageLink ul li {
  position: relative;
  width: 50%;
  list-style: none;
  transition: all 0.6s;
}

.pageLink ul li a {
  display: block;
  /*height: 1186px;*/
  height: 970px;
}

.pageLink ul li:hover {
  opacity: 0.6;
}

.pageLink ul .li01 {
  background: url(../images/position/mv_future.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center left;
}

.pageLink ul .li02 {
  background: url(../images/position/mv_history.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center right;
}

.pageLink ul li .txtArea {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 99;
  letter-spacing: 0.25em;
}

.pageLink ul li .txtArea .ttl {
  font-size: 63px;
  margin-bottom: 0.5em;
  line-height: 1;
  color: #fff;
}

.pageLink ul li .txtArea .txt {
  font-size: 22px;
  color: #fff;
}

.pageLink ul li .txtArea .more {
  width: 85%;
  display: flex;
  align-items: center;
  font-size: 16px;
  margin-top: 6em;
  font-family: "Cinzel", serif;
  font-weight: 400;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.1em;
}

.pageLink ul .li01 .txtArea .more {
  flex-direction: row-reverse;
}

.pageLink ul .li01 .txtArea .more::before,
.pageLink ul .li02 .txtArea .more::before {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #FFF;
}

.pageLink ul .li01 .txtArea .more::before {
  margin-left: 5%;
}

.pageLink ul .li02 .txtArea .more::before {
  margin-right: 5%;
}

.pageLink .pageLink_cap {
  display: none;
}

/* sp */
@media only screen and (max-width: 767px) {
  .pageLink ul li a {
    height: 50vh;
  }
  .pageLink ul li .txtArea {
    width: 82%;
    max-width: 400px;
  }
  .pageLink ul li .txtArea .ttl {
    /*font-size: 63px;*/
    /*font-size: 9.256vw;*/
    font-size: 7.17vw;
    margin-bottom: 0.3em;
  }
  .pageLink ul li .txtArea .txt {
    /*font-size: 22px;*/
    /*font-size: 3.911vw;*/
    font-size: 3.129vw;
    letter-spacing: 0.15em;
  }
  .pageLink ul li .txtArea .more {
    width: 85%;
    /*font-size: 16px;*/
    font-size: 3.129vw;
    margin-top: 4.5em;
  }
  .pageLink .pageLink_cap {
    display: block;
    color: #231815;
    text-align: left;
    font-size: 12px;
    padding-left: 2em;
    text-indent: -2em;
    margin: 0.5em 1em 2em;
    line-height: 1.4;
    font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
    font-weight: 300;
    font-style: normal;
  }
}
/* FUTUREページ */
/* MV */
/*---------------------*/
.mvArea {
  position: relative;
  width: 100%;
  /*height: 1186px;*/
  height: 970px;
  margin: 0 auto;
}

.mvArea.futu {
  background: url(../images/position/mv_future.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center left;
}

.mvArea.hist {
  background: url(../images/position/mv_history.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center right;
}

.mvArea .txtArea {
  position: absolute;
  /*top: 50%;
  transform: translateY(-50%);*/
  top: 32%;
  z-index: 99;
  letter-spacing: 0.25em;
}

.mvArea .txtArea.left {
  left: 14%;
}

.mvArea .txtArea.right {
  right: 14%;
}

.mvArea .txtArea .ttl {
  font-size: 63px;
  margin-bottom: 0.5em;
  line-height: 1;
  color: #fff;
}

.mvArea .txtArea .txt {
  font-size: 22px;
  text-align: left;
  color: #fff;
}

/**/
.mvArea .pagebtn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  font-size: 20px;
  line-height: 1;
  padding: 1em;
  letter-spacing: 0.15em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  z-index: 99;
  transition: all 0.6s;
}

.mvArea .pagebtn.right {
  right: 0;
}

.mvArea .pagebtn.left {
  left: 0;
}

.mvArea .pagebtn::before {
  content: "";
  width: 1px;
  height: 120px;
  flex-grow: 1;
  background-color: #FFF;
  margin-top: 5%;
}

.mvArea .pagebtn a {
  color: #FFF;
}

.mvArea .pagebtn:hover {
  opacity: 0.6;
}

/**/
.main .scrollArea {
  width: 100%;
  /*height: calc(100vh + -20vw);*/
  position: sticky;
  top: 35%;
  z-index: 120;
  mix-blend-mode: difference;
  display: block;
  margin-top: -350px;
  margin-bottom: 350px;
}

/* スクロールダウンの位置 */
.main .scroll {
  position: absolute;
  top: 10%;
  font-size: 20px;
  line-height: 1;
  padding: 0 1em;
  letter-spacing: 0.15em;
  writing-mode: vertical-rl;
}

.main .scroll a {
  color: #fff;
  transition: all 0.6s;
}

.main .scroll.right {
  right: 0;
}

.main .scroll.left {
  left: 0;
}

/* 線のアニメーション部分 */
.main .scroll::before {
  animation: scroll 2s infinite;
  background-color: #FFF;
  bottom: -115px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
  z-index: 100;
}

/* 線のアニメーション */
@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, 0);
    transform-origin: 0 100%;
  }
}
.main .scroll a:hover {
  opacity: 0.6;
}

/* sp */
@media only screen and (max-width: 767px) {
  .mvArea {
    /*height: 970px;*/
    /*height: 154.62vw;*/
    height: 126.46vw;
  }
  .mvArea.futu {
    background-size: cover;
  }
  .mvArea.hist {
    background-size: cover;
  }
  .mvArea .txtArea {
    top: 40%;
  }
  .mvArea .txtArea.left {
    left: 10%;
  }
  .mvArea .txtArea.right {
    right: 10%;
  }
  .mvArea .txtArea .ttl {
    /* font-size: 63px; */
    font-size: 9.256vw;
  }
  .mvArea .txtArea .txt {
    /* font-size: 22px; */
    font-size: 3.911vw;
  }
  /**/
  .mvArea .pagebtn {
    /*font-size: 20px;*/
    font-size: 13px;
  }
  .mvArea .pagebtn::before {
    content: "";
    /*height: 120px;*/
    height: 15.64vw;
  }
  /**/
  .main .scrollArea {
    top: 30%;
    margin-top: -300px;
    margin-bottom: 300px;
  }
  .main .scroll {
    /*font-size: 20px;*/
    font-size: 14px;
    padding: 0 0.4em;
    /*text-shadow: 0px 0px 4px #ffffff;*/
  }
  /* 線のアニメーション部分 */
  .main .scroll::before {
    /*bottom: -115px;*/
    bottom: -14.99vw;
    content: "";
    /*height: 100px;*/
    height: 13.03vw;
  }
}
/* FUTUREページ */
/* REDEVELOPMENT */
/*---------------------*/
#position .section__inner.section__inner02 {
  display: flex;
  justify-content: end;
  padding: 0;
}

.redevelopment {
  padding: 7em 0 10em;
}

.redeArea {
  width: 100%;
  max-width: 1300px;
  margin-right: 0;
  letter-spacing: 0.15em;
}

.redeArea .con01 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8.5em;
}

.redeArea .con01 .txtArea {
  width: 41%;
}

.redeArea .con01 .imageCap {
  width: 59%;
}

.redeArea .con01 .ttl01 {
  font-size: 45px;
  margin-bottom: 0.6em;
}

.redeArea .con01 .ttl02 {
  font-size: 18px;
  margin-bottom: 3.5em;
}

.redeArea .con01 .txt,
.redeArea01 .con02 .txt {
  font-size: 14px;
  line-height: 2.5;
}

/**/
.redeArea01 {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

.redeArea01 .con02 {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  letter-spacing: 0.15em;
}

.redeArea01 .con02 .imageCap {
  width: 47%;
}

.redeArea01 .con02 .txtArea {
  width: 48.5%;
}

.redeArea01 .con02 .ttl01 {
  font-size: 16px;
  margin-bottom: 0.8em;
}

.redeArea01 .con02 .ttl02 {
  font-size: 36px;
  margin-bottom: 0.9em;
}

.redeArea01 .con02 .txt {
  line-height: 2.1;
}

@media screen and (max-width: 1100px) {
  #position .section__inner.section__inner02 {
    width: 96%;
    padding: 0;
    margin: 0 auto;
  }
  .redeArea .con01 {
    display: block;
  }
  .redeArea .con01 .txtArea {
    width: 100%;
    margin-bottom: 3em;
  }
  .redeArea .con01 .imageCap {
    width: 100%;
  }
  .redeArea .con01 .ttl01 {
    /*font-size: 45px;*/
    font-size: 4.09vw;
    margin-bottom: 0.6em;
  }
  .redeArea .con01 .ttl02 {
    /*font-size: 18px;*/
    font-size: 1.636vw;
    margin-bottom: 3.5em;
  }
  .redeArea .con01 .txt,
  .redeArea01 .con02 .txt {
    /*font-size: 14px;*/
    font-size: 1.272vw;
  }
  /**/
  .redeArea01 {
    width: 96%;
    margin: 0 auto;
  }
  .redeArea01 .con02 .ttl01 {
    /*font-size: 16px;*/
    font-size: 1.454vw;
    margin-bottom: 0.8em;
  }
  .redeArea01 .con02 .ttl02 {
    /*font-size: 36px;*/
    font-size: 3.272vw;
    margin-bottom: 0.9em;
  }
}
/* sp */
@media only screen and (max-width: 767px) {
  #position .section__inner.section__inner02 {
    width: 90%;
  }
  .redevelopment {
    padding: 4em 0;
  }
  .redeArea .con01 {
    margin-bottom: 4em;
  }
  .redeArea .con01 .txtArea {
    margin-bottom: 1.3em;
  }
  /**/
  .redeArea01 .con02 {
    display: block;
  }
  .redeArea .con01 .ttl01 {
    /*font-size: 45px;*/
    font-size: 6.91vw;
  }
  .redeArea .con01 .ttl02 {
    /*font-size: 18px;*/
    font-size: 3.389vw;
    margin-bottom: 2.3em;
  }
  .redeArea .con01 .txt,
  .redeArea01 .con02 .txt {
    /*font-size: 14px;*/
    font-size: 3.129vw;
    line-height: 2;
  }
  /**/
  .redeArea01 .con02 .imageCap {
    width: 100%;
  }
  .redeArea01 .con02 .txtArea {
    width: 100%;
    margin-bottom: 1.3em;
  }
  .redeArea01 {
    width: 90%;
  }
  .redeArea01 .con02 .ttl01 {
    /*font-size: 16px;*/
    font-size: 3.129vw;
    margin-bottom: 0.8em;
  }
  .redeArea01 .con02 .ttl02 {
    /*font-size: 36px;*/
    font-size: 5.736vw;
    margin-bottom: 0.9em;
  }
}
/* FUTUREページ */
/* MINATOMIRAI トップ */
/*---------------------*/
.minatomirai_top {
  width: 100%;
  margin: 0 auto;
  background: url(../images/position/future/minatomirai_bg.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center top;
}

#position .minatomirai_top .main_ttl {
  font-size: 208px;
  color: #FFF;
  text-align: center;
  font-weight: 300;
}

#position .section__inner.section__inner03 {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0;
}

#position .minatomirai_top .txtArea {
  padding: 2em 0 4em;
  letter-spacing: 0.1em;
}

.txtArea01 {
  letter-spacing: 0.1em;
}

#position .minatomirai_top .txtArea .ttl,
.txtArea01 .ttl {
  font-size: 22px;
  margin-bottom: 1em;
}

#position .minatomirai_top .txtArea .txt,
.txtArea01 .txt {
  font-size: 14px;
  line-height: 2.2;
}

#position .imageCap .cap_n.cap_top.cap_r {
  top: 0;
  bottom: auto;
  right: 0;
  color: #CCCCCC;
}

@media screen and (max-width: 1485px) {
  #position .minatomirai_top .main_ttl {
    font-size: 13.8vw;
  }
}
@media screen and (max-width: 1100px) {
  .minatomirai_top {
    background-size: cover;
  }
  #position .minatomirai_top .main_ttl {
    /*font-size: 208px;*/
    font-size: 13.9vw;
    padding-top: 0.1em;
  }
  #position .section__inner.section__inner03 {
    width: 96%;
    padding: 0;
  }
  #position .minatomirai_top .txtArea .ttl,
  .txtArea01 .ttl {
    /*font-size: 22px;*/
    font-size: 2vw;
    margin-bottom: 1em;
  }
  #position .minatomirai_top .txtArea .txt,
  .txtArea01 .txt {
    /*font-size: 14px;*/
    font-size: 1.272vw;
  }
}
/* sp */
@media only screen and (max-width: 767px) {
  #position .minatomirai_top .main_ttl {
    /*font-size: 208px;*/
    font-size: 22.61vw;
    padding-top: 0.2em;
    line-height: 0.9;
  }
  #position .section__inner.section__inner03 {
    width: 90%;
  }
  #position .minatomirai_top .txtArea {
    padding: 3em 0;
  }
  #position .minatomirai_top .txtArea .ttl,
  .txtArea01 .ttl {
    /*font-size: 22px;*/
    font-size: 3.911vw;
  }
  #position .minatomirai_top .txtArea .txt,
  .txtArea01 .txt {
    /*font-size: 14px;*/
    font-size: 3.129vw;
  }
}
/*---------------------*/
/*キャプション*/
/*---------------------*/
.map_capArea {
  margin: 0.5em auto 0;
  width: 100%;
  font-size: 11.5px;
  line-height: 2;
}

.map_capArea > dl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  font-feature-settings: "palt";
}

.map_capArea > dl > dt {
  margin-right: 13px;
}

.map_capArea > dl > dt:last-child {
  margin-right: 0;
}

.map_capArea > dl > dd {
  margin-right: 3px;
}

.map_capArea > dl > dd span i {
  display: inline-block;
  width: 30px;
  height: 12px;
  vertical-align: middle;
}

.map_capArea > dl > dd span i.map_cap01 {
  background: #E3C0D0;
}

.map_capArea > dl > dd span i.map_cap02 {
  background: #7B2981;
}

.map_capArea > dl > dd span i.map_cap03 {
  background: #9E0524;
}

.map_capArea > dl > dd span i.map_cap04 {
  background: #6A8E9D;
}

.map_capArea > dl > dd span i.map_cap05 {
  background: #7688A6;
}

.map_capArea > dl > dd span i.map_cap06 {
  background: #B5C8A8;
}

.map_capArea > dl > dd span i.map_cap07 {
  background: #D1C9A5;
}

/* sp */
/* FUTUREページ */
/* ページ内リンクボタン */
/*---------------------*/
.minatoLink {
  padding: 7em 0;
  margin: 0 auto;
}

.minatoLink ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.minatoLink li {
  width: 48.5%;
  border-bottom: 1px solid #A58439;
}

.minatoLink .arrow_u {
  position: relative;
  display: block;
  font-size: 15px;
  text-align: center;
  background: linear-gradient(to top, #F1ECE1, #F8F6F0 63%, #FFFFFF 100%);
  color: #A58439;
  letter-spacing: 0.1em;
  padding: 0.45em 0;
  transition: all 0.6s;
}

.minatoLink .arrow_u:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #A58439;
  transform: rotate(90deg);
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
  margin: auto;
}

.minatoLink .arrow_u:hover {
  opacity: 0.6;
}

@media screen and (max-width: 1100px) {
  .minatoLink .arrow_u {
    /*font-size: 15px;*/
    font-size: 1.363vw;
  }
}
/* sp */
@media only screen and (max-width: 767px) {
  .minatoLink {
    padding: 3em 0 4em;
  }
  .minatoLink ul {
    display: block;
  }
  .minatoLink li {
    width: 100%;
  }
  .minatoLink li:nth-child(1) {
    margin-bottom: 0.5em;
  }
  .minatoLink .arrow_u {
    /*font-size: 15px;*/
    font-size: 3.129vw;
    padding: 1em 0;
  }
}
/* FUTUREページ */
/* みなとみらい */
/*---------------------*/
.minato_txtArea {
  margin-top: 3em;
  letter-spacing: 0.1em;
}

.minato_txtArea .flex_tx {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2em;
}

.minato_txtArea .flex_tx .num {
  width: 30px;
  height: 30px;
  font-size: 21px;
  line-height: 1.4;
  margin-right: 10px;
  text-align: center;
  color: #FFF;
  background-color: #000;
}

.minato_txtArea .flex_tx .ttl {
  font-size: 26px;
  letter-spacing: 0.15em;
  line-height: 1.3;
}

.minato_txtArea .flex_tx .ttl span {
  font-size: 18px;
  margin-top: 0.5em;
  line-height: 1.7;
  letter-spacing: 0.1em;
}

.minato_txtArea .txt {
  font-size: 14px;
  line-height: 2;
}

.con_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/**/
.minato_con01,
.minato_con02,
.minato_con03,
.minato_con04,
.minato_con05 {
  padding: 0 0 10em;
}

.minato_con01 {
  padding-top: 10em;
}

.minato_con01 .con_flex .minato_txtArea {
  width: 55%;
}

.minato_con01 .con_flex .imageCap {
  width: 40%;
  margin-top: 3em;
}

.minato_con01 .bor_Area {
  margin: 4em auto 0;
  padding: 3em 0;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
}

.minato_con01 .bor_Area ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.minato_con01 .bor_Area ul li:nth-child(1) {
  width: 43%;
}

.minato_con01 .bor_Area ul li:nth-child(2) {
  width: 53%;
  letter-spacing: 0.1em;
}

.minato_con01 .bor_Area .ttl {
  font-size: 18px;
  margin-bottom: 0.8em;
}

.minato_con01 .bor_Area .txt {
  font-size: 14px;
  line-height: 2;
}

/**/
.txtbg {
  font-size: 22px;
  padding: 0.6em 0;
  color: #FFF;
  letter-spacing: 0.1em;
  text-align: center;
  background-color: #000;
}

.minato_con04 .minato_txtArea .flex_tx {
  /*width: 800px;*/
  /*width: 1080px;*/
  display: inline-flex;
  padding: 0 0 1em 17em;
  margin: 0 0 4em;
  border-bottom: 1px solid #000000;
}

.minato_con04 .img01 {
  margin-bottom: 2em;
}

.minato_con04 .con_flex {
  align-items: center;
}

.minato_con04 .con_flex.con_flex01 {
  margin: 3em auto;
}

.minato_con04 .con_flex .toptxt {
  font-size: 18px;
  margin-bottom: 0.8em;
}

.minato_con04 .con_flex .img02 {
  width: 63%;
}

.minato_con04 .con_flex .txtArea01 {
  width: 34%;
}

/**/
.minato_con04 .con_flex .img03 {
  width: 26%;
}

.minato_con04 .con_flex .img04 {
  width: 72%;
}

.minato_con04 .con_flex.con_flex02 {
  align-items: flex-start;
  margin-bottom: 1em;
}

/**/
.minato_con05 .minato_txtArea .flex_tx {
  /*width: 625px;*/
  /*width: 820px;*/
  display: inline-flex;
  padding: 0 0 1em 16em;
  margin: 0;
  border-bottom: 1px solid #000000;
}

.minato_con05 {
  background-color: #E5E5E5;
}

.minato_con05.is-white {
  background-color: #fff;
}

.minato_con05 .con_flex.con_flex03 {
  margin: 8em 0 4.5em;
  align-items: center;
}

.minato_con05 .con_flex.con_flex03 .txtArea01 {
  width: 44%;
}

.minato_con05 .con_flex.con_flex03 .imageCap {
  width: 52%;
}

.minato_con05 .con_flex.con_flex04 {
  align-items: end;
}

.minato_con05 .con_flex.con_flex04 .imageCap {
  width: 67%;
}

.minato_con05 .con_flex.con_flex04 .txtArea01 {
  width: 29.5%;
}

#position .section__inner.section__inner04 {
  padding: 0;
}

@media screen and (max-width: 1499px) {
  .minato_con04 .minato_txtArea .flex_tx {
    /*padding: 0 0 1em 17em;*/
    padding: 0 0 0.8vw 10.27vw;
  }
  .minato_con05 .minato_txtArea .flex_tx {
    /*padding: 0 0 1em 16em;*/
    padding: 0 0 0.8vw 9.472vw;
  }
}
@media screen and (max-width: 1100px) {
  .minato_txtArea .flex_tx .num {
    /*width: 30px;
    height: 30px;
    font-size: 21px;*/
    width: 2.727vw;
    height: 2.727vw;
    font-size: 1.909vw;
    margin-right: 10px;
  }
  .minato_txtArea .flex_tx .ttl {
    /*font-size: 26px;*/
    font-size: 2.363vw;
  }
  .minato_txtArea .flex_tx .ttl span {
    /*font-size: 18px;*/
    font-size: 1.636vw;
    margin-top: 0.5em;
  }
  .minato_txtArea .txt {
    /*font-size: 14px;*/
    font-size: 1.272vw;
  }
  /**/
  .minato_con04 .minato_txtArea .flex_tx {
    width: auto;
    padding: 0 0 1em 0;
    margin: 0 0 4em;
  }
  .minato_con05 .minato_txtArea .flex_tx {
    width: auto;
    padding: 0 0 1em 0;
    margin: 0;
  }
  /**/
  .minato_con01 .bor_Area .ttl {
    /*font-size: 18px;*/
    font-size: 1.636vw;
    margin-bottom: 0.8em;
  }
  .minato_con01 .bor_Area .txt {
    /*font-size: 14px;*/
    font-size: 1.272vw;
  }
  /**/
  .txtbg {
    /*font-size: 22px;*/
    font-size: 2vw;
    padding: 0.6em 0;
  }
  /**/
  .minato_con04 .con_flex .toptxt {
    /*font-size: 18px;*/
    font-size: 1.636vw;
    margin-bottom: 0.8em;
  }
  #position .section__inner.section__inner04 {
    width: 96%;
    margin: 0 auto;
  }
}
/* sp */
@media only screen and (max-width: 767px) {
  .minato_txtArea {
    margin-top: 2em;
  }
  .minato_txtArea .flex_tx {
    margin-bottom: 1.5em;
  }
  .minato_txtArea .flex_tx .num {
    /*width: 30px;
    height: 30px;
    font-size: 21px;*/
    width: 5.867vw;
    height: 5.867vw;
    font-size: 4.432vw;
    line-height: 1.25;
  }
  .minato_txtArea .flex_tx .ttl {
    /*font-size: 26px;*/
    font-size: 4.432vw;
  }
  .minato_txtArea .flex_tx .ttl span {
    /*font-size: 18px;*/
    font-size: 3.389vw;
    margin-top: 0.5em;
  }
  .minato_txtArea .txt {
    /*font-size: 14px;*/
    font-size: 3.129vw;
  }
  /**/
  .minato_con01,
  .minato_con02,
  .minato_con03,
  .minato_con04,
  .minato_con05 {
    padding: 0 0 4em;
  }
  .minato_con01 .con_flex .minato_txtArea {
    width: 100%;
  }
  .minato_con01 .con_flex .imageCap {
    width: 100%;
    margin-top: 2em;
  }
  .minato_con01 .bor_Area {
    margin: 3em auto 0;
    padding: 2em 0;
  }
  .minato_con01 .bor_Area ul {
    display: block;
  }
  .minato_con01 .bor_Area ul li:nth-child(1) {
    width: 100%;
    margin-bottom: 1.5em;
  }
  .minato_con01 .bor_Area ul li:nth-child(2) {
    width: 100%;
  }
  .minato_con01 .bor_Area .ttl {
    /*font-size: 18px;*/
    font-size: 3.78vw;
    margin-bottom: 0.8em;
  }
  .minato_con01 .bor_Area .txt {
    /*font-size: 14px;*/
    font-size: 3.129vw;
  }
  /**/
  .txtbg {
    /*font-size: 22px;*/
    font-size: 3.911vw;
    padding: 0.8em 0;
  }
  .minato_con04 .minato_txtArea .flex_tx {
    width: 100%;
    padding: 0 0 1em 0;
    margin: 2em 0;
  }
  .minato_con04 .img01 {
    margin-bottom: 2em;
  }
  .minato_con04 .con_flex.con_flex01 {
    margin: 3em auto;
  }
  .minato_con04 .con_flex .toptxt {
    /*font-size: 18px;*/
    font-size: 3.389vw;
  }
  .minato_con04 .con_flex .img02 {
    width: 100%;
  }
  .minato_con04 .con_flex .txtArea01 {
    width: 100%;
    margin-top: 2em;
  }
  /**/
  .minato_con05 .minato_txtArea .flex_tx {
    width: 100%;
    padding: 0 0 1em 0;
    margin: 2em 0;
  }
  .minato_con05 .con_flex.con_flex03 {
    margin: 2em 0;
  }
  .minato_con05 .con_flex.con_flex03 .txtArea01 {
    width: 100%;
    margin-bottom: 1.5em;
  }
  .minato_con05 .con_flex.con_flex03 .imageCap {
    width: 100%;
  }
  .minato_con05 .con_flex.con_flex04 .imageCap {
    width: 100%;
  }
  .minato_con05 .con_flex.con_flex04 .txtArea01 {
    width: 100%;
    margin-top: 1.5em;
  }
  #position .section__inner.section__inner04 {
    width: 90%;
    padding: 0;
  }
}
/* HISTORYページ */
/* 共通 */
/*---------------------*/
.history_txtArea div {
  color: #FFF;
  letter-spacing: 0.1em;
}

.history_txtArea .ttl {
  font-size: 45px;
  /*margin-bottom: 2em;*/
  margin-bottom: 1.8em;
}

.history_txtArea .ttl span {
  font-size: 18px;
  margin-top: 1em;
  display: block;
}

.history_txtArea .txt {
  font-size: 14px;
  /*line-height: 2.5;*/
  line-height: 2.3;
}

.his_section {
  margin: 0 auto;
  width: 100%;
  max-width: 1100px;
}

@media screen and (max-width: 1100px) {
  .his_section {
    width: 96%;
  }
}
/* sp */
@media only screen and (max-width: 767px) {
  .history_txtArea .ttl {
    /*font-size: 45px;*/
    font-size: 6.91vw;
    margin-bottom: 1.5em;
  }
  .history_txtArea .ttl span {
    /*font-size: 18px;*/
    font-size: 3.389vw;
    margin-top: 1em;
  }
  .history_txtArea .txt {
    /*font-size: 14px;
    line-height: 2.3;*/
    font-size: 3.129vw;
    line-height: 2;
  }
  .his_section {
    width: 90%;
  }
}
/* HISTORYページ */
/* ORIGIN */
/*---------------------*/
.history_origin {
  position: relative;
  background-color: #000000;
}

.history_origin .his_section {
  padding: 10em 0 18em;
}

.history_origin .his_originbg {
  /*height: calc(100vh + 40px);*/
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 1;
}

.history_origin .his_originbg div {
  position: absolute;
  top: 0;
}

.history_origin .his_origin_botbg {
  width: 100%;
  height: 200px;
  position: absolute;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000 100%);
  z-index: 10;
}

.history_origin .facidetail {
  display: flex;
  justify-content: space-between;
  position: relative;
}

/*画像のブロック*/
.history_origin .facidetail .img_wrap {
  width: 59%;
  /*height: calc(100vh + -410px);*/
  height: calc(100vh - 9vw);
  display: flex;
  position: sticky;
  position: -webkit-sticky;
  top: 135px;
  z-index: 10;
}

/*コンテンツのブロック*/
.history_origin .facidetail .contents {
  width: 41%;
  position: relative;
  z-index: 1;
}

/*.facidetail .contents > div { padding-top: 50vh; }*/
/*スマホアンカーリンク*/
.history_origin .facidetail .sp_tab {
  display: none;
}

.history_origin .facidetail .imgarea {
  width: 100%;
  display: flex;
  flex-flow: column;
  justify-content: center;
}

.history_origin .facidetail .img01 {
  margin-bottom: 5.5em;
}

.history_origin .facidetail .img01.last {
  margin-bottom: 0;
}

#position .history_origin.imageCap .cap_n.cap_l {
  bottom: 130px;
  left: 10px;
  text-align: left;
}

.his_origin_botbg {
  width: 100%;
  height: 200px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000 100%);
}

/* sp */
@media only screen and (max-width: 767px) {
  .history_origin {
    background: url(../images/position/history/his_bg.png);
    background-repeat: no-repeat;
    background-size: 220%;
    background-position: left top;
    background-color: #000;
  }
  .history_origin .his_section {
    padding: 5em 0;
  }
  .history_origin .his_originbg {
    display: none;
  }
  .history_origin .his_origin_botbg {
    display: none;
  }
  .history_origin .facidetail {
    display: block;
  }
  /*画像のブロック*/
  .history_origin .facidetail .img_wrap {
    width: 100%;
    height: auto;
    position: static;
    display: block;
    margin-bottom: 3em;
    text-align: center;
  }
  /*コンテンツのブロック*/
  .history_origin .facidetail .contents {
    width: 100%;
  }
  .history_origin .facidetail .imgarea {
    width: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
  }
  .history_origin .facidetail .img01 {
    margin-bottom: 2.5em;
  }
  #position .history_origin.imageCap .cap_n.cap_l {
    bottom: auto;
    top: 5px;
    left: auto;
    right: 0;
  }
  #position .history_origin.imageCap .cap_n.wh {
    color: rgba(255, 255, 255, 0.537254902);
  }
}
/* HISTORYページ */
/* マップ */
/*---------------------*/
.history_botmap {
  position: relative;
  margin: 0 auto;
  z-index: 1;
}

.history_botmap .his_botbg {
  width: 100%;
  height: 350px;
  position: absolute;
  top: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0), #000 70%, #000 100%);
  z-index: 2;
}

.history_botmap .imageCap .cap_n.wh {
  text-shadow: 2px 2px 2px #54879F, -2px -2px 2px #54879F, -2px 2px 2px #54879F, 2px -2px 2px #54879F, 2px 0 2px #54879F, -2px 0 2px #54879F, 0 2px 2px #54879F, 0 -2px 2px #54879F;
}

.history_botmap .history_txtArea {
  width: 100%;
  max-width: 1100px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 11;
}

@media screen and (max-width: 1100px) {
  .history_botmap .history_txtArea {
    width: 96%;
    margin: 0 auto;
  }
}
/* sp */
@media only screen and (max-width: 767px) {
  .history_botmap {
    padding-top: 100px;
    background-color: #000;
  }
  .history_botmap .his_botbg {
    top: 100px;
    height: 32.59vw;
  }
  .history_botmap .history_txtArea {
    width: 90%;
    margin: 0 auto;
  }
}