@charset "UTF-8";
* {
  -webkit-tap-highlight-color: transparent; }

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
th,
td,
form,
figure {
  font-size: inherit;
  margin: 0;
  padding: 0; }

a {
  color: inherit;
  text-decoration: none; }

table {
  border-collapse: collapse;
  empty-cells: show; }

th,
td {
  text-align: left;
  vertical-align: top; }

li {
  list-style: none; }

img {
  vertical-align: top; }

input,
textarea,
select {
  font-family: inherit;
  -webkit-appearance: none;
  appearance: none; }

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

[disabled] {
  cursor: not-allowed; }

html,
:root {
  font-size: 100px; }
  @media screen and (max-width: 1000px) and (min-width: 641px) {
    html,
    :root {
      font-size: 10vw; } }
  @media screen and (max-width: 640px) {
    html,
    :root {
      font-size: 15.625vw; } }

body {
  background: #fff;
  color: #000;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: .14rem;
  line-height: 1.5; }
  @media screen and (max-width: 640px) {
    body {
      font-size: .24rem; } }

.sans-serif {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif; }

#wrap {
  overflow: hidden; }

.wrap {
  max-width: 10rem;
  margin-right: auto;
  margin-left: auto; }
  @media screen and (max-width: 640px) {
    .wrap {
      padding-right: 0.2rem;
      padding-left: 0.2rem; } }

img,
video {
  max-width: 100%; }

.sp {
  display: none; }
  @media screen and (max-width: 640px) {
    .sp {
      display: block; } }

@media screen and (max-width: 640px) {
  .pc {
    display: none; }

  br.sp {
    display: inline; } }
body:not(.mobile) a[href^="tel:"] {
  pointer-events: none; }

body:not(.mobile) .hov {
  transition: opacity .3s; }
  @supports (filter: brightness(100%)) {
    body:not(.mobile) .hov {
      transition-property: filter; } }
  body:not(.mobile) .hov:hover {
    opacity: .8; }
    @supports (filter: brightness(100%)) {
      body:not(.mobile) .hov:hover {
        filter: brightness(110%);
        opacity: 1; } }

#header {
  width: 100%;
  height: .9rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: +2;
  background: #fff; }
  @media screen and (max-width: 640px) {
    #header {
      height: 1rem; } }
  #header .wrap {
    height: 100%;
    position: relative; }
  #header .siteTitle {
    display: flex;
    align-items: center;
    width: 3.87rem;
    height: 100%;
    position: relative; }
    @media screen and (max-width: 640px) {
      #header .siteTitle {
        width: 2.03rem; } }
    #header .siteTitle img {
      width: 100%; }

#gNav {
  width: 100%;
  height: .55rem;
  margin: .9rem 0 -.55rem;
  color: #fff;
  position: fixed;
  top: 0;
  z-index: +2; }
  @media screen and (max-width: 640px) {
    #gNav {
      height: auto;
      margin: 0;
      background: transparent; } }
  #gNav .btMenu {
    display: none; }
    @media screen and (max-width: 640px) {
      #gNav .btMenu {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.3rem;
        height: 1rem;
        position: fixed;
        top: 0;
        right: 0;
        z-index: +2; }
        #gNav .btMenu .bar {
          width: 0.52rem;
          height: 0.4rem;
          position: relative; }
          #gNav .btMenu .bar::before, #gNav .btMenu .bar::after,
          #gNav .btMenu .bar span {
            display: block;
            width: 100%;
            height: 0.04rem;
            position: absolute;
            top: 50%;
            left: 0;
            background: #424c55;
            transition: .2s; }
          #gNav .btMenu .bar::before, #gNav .btMenu .bar::after {
            content: '';
            transition-property: transform; }
          #gNav .btMenu .bar::before {
            transform: translate3D(0, -0.2rem, 0); }
          #gNav .btMenu .bar::after {
            transform: translate3D(0, calc(0.4rem / 2 - 0.04rem), 0); }
          #gNav .btMenu .bar span {
            transform: translate(0, -50%);
            transition-property: opacity; } }
  #gNav.active .btMenu .bar::before {
    transform: translate3D(0, -50%, 0) rotate(135deg); }
  #gNav.active .btMenu .bar::after {
    transform: translate3D(0, -50%, 0) rotate(45deg); }
  #gNav.active .btMenu .bar span {
    opacity: 0; }
  @media screen and (max-width: 640px) {
    #gNav.active nav {
      transform: translate3d(0, 0, 0); } }
  @media screen and (max-width: 640px) {
    #gNav nav {
      box-sizing: border-box;
      width: 100vw;
      height: calc(100vh - 1rem);
      padding: .5rem 0;
      position: fixed;
      top: 1rem;
      right: 0;
      z-index: +2;
      background: #c2bcad;
      overflow-y: scroll;
      transform: translate3d(100%, 0, 0);
      transition: transform .2s; } }
  #gNav nav .secondary {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 5rem;
    height: .9rem;
    position: fixed;
    top: 0;
    left: 50%;
    z-index: +2; }
    @media screen and (max-width: 640px) {
      #gNav nav .secondary {
        margin: 0 auto;
        position: static;
        justify-content: space-between; } }
    #gNav nav .secondary li {
      width: 1.66rem;
      margin: 0 0 0 .05rem; }
      @media screen and (max-width: 640px) {
        #gNav nav .secondary li {
          box-sizing: border-box;
          width: calc(50% - .1rem);
          height: 1rem;
          margin: 0;
          border: none; } }
      #gNav nav .secondary li a {
        display: block;
        padding: 0 .12rem 0 0;
        background-position: calc(100% - .08rem) 50%, 0 0;
        background-size: .06rem auto, cover;
        background-repeat: no-repeat;
        font-size: .18rem;
        font-weight: 500;
        letter-spacing: .05em;
        line-height: .5rem;
        text-align: center; }
        #gNav nav .secondary li a.plan {
          background-image: url(/img/tpo/takanawa/imgs/arrow01.svg), linear-gradient(90deg, #656433 0%, #807a62 50%, #656433 100%); }
        #gNav nav .secondary li a.info {
          background-image: url(/img/tpo/takanawa/imgs/arrow01.svg), linear-gradient(90deg, #611216 0%, #80474b 50%, #611216 100%); }
        @media screen and (max-width: 640px) {
          #gNav nav .secondary li a {
            display: flex;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            height: 1rem;
            padding: 0;
            background-position: calc(100% - .2rem) 50%, 0 0;
            font-size: .2rem; } }
    body:not(.mobile) #gNav nav .secondary a {
      transition: opacity .3s; }
      body:not(.mobile) #gNav nav .secondary a:hover {
        opacity: .8; }
  #gNav nav .primary {
    border-bottom: .03rem solid #b1a990;
    position: relative;
    z-index: +1;
    background: #c2bcad; }
    @media screen and (max-width: 640px) {
      #gNav nav .primary {
        border-bottom: none; } }
    #gNav nav .primary ul {
      display: flex;
      width: 10rem;
      margin: 0 auto; }
      @media screen and (max-width: 640px) {
        #gNav nav .primary ul {
          display: block;
          width: 5rem; } }
    #gNav nav .primary li {
      box-sizing: border-box;
      width: calc(100% / 7);
      border-left: 1px solid #b1a990; }
      @media screen and (max-width: 640px) {
        #gNav nav .primary li {
          width: auto;
          border-bottom: 1px solid #b1a990;
          border-left: none; } }
      #gNav nav .primary li:last-child {
        border-right: .01rem solid #b1a990; }
        @media screen and (max-width: 640px) {
          #gNav nav .primary li:last-child {
            border-right: none; } }
      #gNav nav .primary li .off {
        opacity: .5;
        pointer-events: none; }
      #gNav nav .primary li a {
        display: block;
        color: #554629;
        font-style: .17rem;
        font-weight: 500;
        letter-spacing: .01rem;
        line-height: .47rem;
        text-align: center; }
        @media screen and (max-width: 640px) {
          #gNav nav .primary li a {
            display: flex;
            height: 1.2rem;
            background: none;
            flex-direction: column;
            justify-content: center; } }
  body:not(.mobile) #gNav nav a {
    transition: background-color .3s; }
    body:not(.mobile) #gNav nav a:hover {
      background: #b1a990; }
      body:not(.mobile) #gNav nav a:hover .en {
        opacity: 0; }
      body:not(.mobile) #gNav nav a:hover .ja {
        opacity: 1; }

#main {
  margin-top: 140px; }
  @media screen and (max-width: 1000px) and (min-width: 641px) {
    #main {
      margin-top: 10%; } }
  @media screen and (max-width: 640px) {
    #main {
      margin: 1rem 0 0; } }
  #main .section .prepend {
    box-sizing: border-box;
    height: 3.5rem;
    padding: .8rem 0 0;
    background: 50% 0 / cover no-repeat;
    position: relative;
    color: #fff;
    text-align: center; }
    @media screen and (max-width: 640px) {
      #main .section .prepend {
        height: 4rem;
        padding: .56rem 0 0; } }
    #main .section .prepend .sectionTitle {
      margin: 0 auto; }
    #main .section .prepend .catch {
      line-height: 1.4166666667;
      padding: .45rem 0 0;
      font-size: .24rem;
      font-weight: 500; }
      #main .section .prepend .catch::before, #main .section .prepend .catch::after {
        content: '';
        display: block;
        height: 0;
        width: 0; }
      #main .section .prepend .catch::before {
        margin-bottom: -0.2083333333em; }
      #main .section .prepend .catch::after {
        margin-top: -0.2083333333em; }
      @media screen and (max-width: 640px) {
        #main .section .prepend .catch {
          line-height: 1.3571428571;
          padding: .48rem 0 0;
          font-size: .28rem; }
          #main .section .prepend .catch::before, #main .section .prepend .catch::after {
            content: '';
            display: block;
            height: 0;
            width: 0; }
          #main .section .prepend .catch::before {
            margin-bottom: -0.1785714286em; }
          #main .section .prepend .catch::after {
            margin-top: -0.1785714286em; } }
    #main .section .prepend p {
      line-height: 1.7777777778;
      padding: .36rem 0 0;
      font-size: .18rem;
      font-weight: 500; }
      #main .section .prepend p::before, #main .section .prepend p::after {
        content: '';
        display: block;
        height: 0;
        width: 0; }
      #main .section .prepend p::before {
        margin-bottom: -0.3888888889em; }
      #main .section .prepend p::after {
        margin-top: -0.3888888889em; }
      @media screen and (max-width: 640px) {
        #main .section .prepend p {
          line-height: 1.6;
          padding: .26rem 0 0;
          font-size: .20rem; }
          #main .section .prepend p::before, #main .section .prepend p::after {
            content: '';
            display: block;
            height: 0;
            width: 0; }
          #main .section .prepend p::before {
            margin-bottom: -0.3em; }
          #main .section .prepend p::after {
            margin-top: -0.3em; } }
    #main .section .prepend .caption {
      position: absolute;
      right: .1rem;
      bottom: .1rem; }
  #main .caption {
    line-height: 1.5;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
    font-size: .12rem; }
    #main .caption::before, #main .caption::after {
      content: '';
      display: block;
      height: 0;
      width: 0; }
    #main .caption::before {
      margin-bottom: -0.25em; }
    #main .caption::after {
      margin-top: -0.25em; }
    @media screen and (max-width: 640px) {
      #main .caption {
        font-size: .16rem; } }
  #main .fNote {
    line-height: 1.5;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
    font-size: .12rem;
    text-align: center; }
    #main .fNote::before, #main .fNote::after {
      content: '';
      display: block;
      height: 0;
      width: 0; }
    #main .fNote::before {
      margin-bottom: -0.25em; }
    #main .fNote::after {
      margin-top: -0.25em; }
    @media screen and (max-width: 640px) {
      #main .fNote {
        line-height: 1.5625;
        font-size: .16rem;
        text-align: left; }
        #main .fNote::before, #main .fNote::after {
          content: '';
          display: block;
          height: 0;
          width: 0; }
        #main .fNote::before {
          margin-bottom: -0.28125em; }
        #main .fNote::after {
          margin-top: -0.28125em; } }
  #main .mainVisual {
    position: relative;
    background: #c2bcad; }
    @media screen and (max-width: 640px) {
      #main .mainVisual {
        margin: 1rem 0 0; } }
    #main .mainVisual .bg,
    #main .mainVisual .catch {
      opacity: 0;
      transition: opacity 1s; }
    #main .mainVisual.ready .bg,
    #main .mainVisual.ready .catch {
      opacity: 1; }
    @media screen and (max-width: 640px) {
      #main .mainVisual .bg {
        display: none; } }
    #main .mainVisual .catch {
      width: 4.38rem;
      position: absolute;
      top: .47rem;
      left: 50%;
      transform: translate(-50%);
      transition-delay: 2s; }
      @media screen and (max-width: 640px) {
        #main .mainVisual .catch {
          width: auto;
          position: static;
          transform: none; } }
    #main .mainVisual .note {
      line-height: 1.5;
      font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
      font-size: .12rem;
      text-align: center; }
      #main .mainVisual .note::before, #main .mainVisual .note::after {
        content: '';
        display: block;
        height: 0;
        width: 0; }
      #main .mainVisual .note::before {
        margin-bottom: -0.25em; }
      #main .mainVisual .note::after {
        margin-top: -0.25em; }
      @media screen and (max-width: 640px) {
        #main .mainVisual .note {
          line-height: 1.5625;
          font-size: .16rem;
          text-align: left; }
          #main .mainVisual .note::before, #main .mainVisual .note::after {
            content: '';
            display: block;
            height: 0;
            width: 0; }
          #main .mainVisual .note::before {
            margin-bottom: -0.28125em; }
          #main .mainVisual .note::after {
            margin-top: -0.28125em; } }
  #main .lead {
    padding: .32rem 0 0;
    background: #c2bcad; }
    @media screen and (max-width: 640px) {
      #main .lead {
        padding: .66rem 0 0; } }
    #main .lead .obi {
      width: 4.52rem;
      margin: 0 auto; }
      @media screen and (max-width: 640px) {
        #main .lead .obi {
          width: 3.49rem;
          padding: 0 0 0 .32rem; } }
    #main .lead .banner {
      width: 9.28rem;
      display: flex;
      justify-content: space-between;
      margin: .25rem auto 0; }
      @media screen and (max-width: 640px) {
        #main .lead .banner {
          width: 5.14rem;
          display: block;
          margin: .6rem auto 0; } }
      #main .lead .banner a {
        display: block;
        width: 3.01rem;
        box-shadow: 0.03rem 0.03rem 0.03rem rgba(0, 0, 0, 0.5); }
        @media screen and (max-width: 640px) {
          #main .lead .banner a {
            display: block;
            width: auto;
            margin: .2rem 0 0; } }
    #main .lead .info {
      margin: .7rem 0 0; }
      @media screen and (max-width: 640px) {
        #main .lead .info {
          margin: 1rem 0 0; } }
      #main .lead .info .label {
        width: 2.11rem;
        margin: 0 auto; }
        @media screen and (max-width: 640px) {
          #main .lead .info .label {
            width: 2.49rem; } }
        #main .lead .info .label img {
          width: 100%; }
      #main .lead .info dl {
        display: flex;
        flex-wrap: wrap;
        margin: .1rem .8rem 0;
        font-size: .18rem;
        line-height: 1.7777777778; }
        @media screen and (max-width: 640px) {
          #main .lead .info dl {
            margin: .15rem 0 0;
            font-size: .2rem;
            line-height: 1.6; } }
        #main .lead .info dl dt,
        #main .lead .info dl dd {
          margin: .1rem 0 0; }
        #main .lead .info dl dt {
          width: 1.2rem; }
        #main .lead .info dl dd {
          width: calc(100% - 1.2rem); }
    #main .lead .text {
      box-sizing: border-box;
      max-width: 16rem;
      height: 6rem;
      margin: 1.25rem auto 0;
      padding: 1.18rem 0 0;
      position: relative;
      background: url(/img/tpo/takanawa/imgs/bg01.jpg) 50% 0/16rem auto no-repeat; }
      @media screen and (max-width: 640px) {
        #main .lead .text {
          height: 9.6rem;
          margin: 2rem 0 0;
          padding: 3rem 0 0;
          background-image: url(/img/tpo/takanawa/imgs/bg01_sp.jpg);
          background-size: cover; } }
      #main .lead .text .catch {
        width: 3.8rem;
        margin: 0 auto; }
        @media screen and (max-width: 640px) {
          #main .lead .text .catch {
            width: 3.52rem; } }
      #main .lead .text p {
        line-height: 1.9444444444;
        padding: .58rem 0 0;
        color: #fff;
        font-size: .18rem;
        font-weight: 500;
        text-align: center; }
        #main .lead .text p::before, #main .lead .text p::after {
          content: '';
          display: block;
          height: 0;
          width: 0; }
        #main .lead .text p::before {
          margin-bottom: -0.4722222222em; }
        #main .lead .text p::after {
          margin-top: -0.4722222222em; }
        @media screen and (max-width: 640px) {
          #main .lead .text p {
            line-height: 1.6;
            padding: .38rem 0 0;
            font-size: .2rem; }
            #main .lead .text p::before, #main .lead .text p::after {
              content: '';
              display: block;
              height: 0;
              width: 0; }
            #main .lead .text p::before {
              margin-bottom: -0.3em; }
            #main .lead .text p::after {
              margin-top: -0.3em; } }
      #main .lead .text .caption {
        position: absolute;
        right: .1rem;
        bottom: .1rem;
        color: #fff;
        font-size: .12rem; }
        @media screen and (max-width: 640px) {
          #main .lead .text .caption {
            font-size: .16rem; } }
  #main section.access {
    padding: 0 0 1rem; }
    @media screen and (max-width: 640px) {
      #main section.access {
        padding: 0 0 .6rem; } }
    #main section.access .prepend {
      background-image: url(/img/tpo/takanawa/imgs/bg_access.jpg); }
      @media screen and (max-width: 640px) {
        #main section.access .prepend {
          background-image: url(/img/tpo/takanawa/imgs/bg_access_sp.jpg); } }
      #main section.access .prepend .sectionTitle {
        width: 1.06rem; }
    #main section.access .map {
      width: 8.71rem;
      margin: .8rem auto 0; }
      @media screen and (max-width: 640px) {
        #main section.access .map {
          width: auto;
          margin: .72rem 0 0; } }
    #main section.access .image {
      display: flex;
      justify-content: space-between;
      margin: .9rem 0 0; }
      @media screen and (max-width: 640px) {
        #main section.access .image {
          flex-wrap: wrap;
          margin: .3rem 0 0; } }
      #main section.access .image figure {
        width: 2.41rem; }
        @media screen and (max-width: 640px) {
          #main section.access .image figure {
            margin: .4rem 0 0;
            width: 2.92rem; } }
        #main section.access .image figure figcaption {
          padding: .1rem 0 0;
          text-align: right; }
    #main section.access .list .label {
      color: #554629;
      font-size: .18rem;
      font-weight: 500;
      line-height: 1; }
      @media screen and (max-width: 640px) {
        #main section.access .list .label {
          line-height: 1.4545454545;
          font-size: .32rem;
          text-align: center; }
          #main section.access .list .label::before, #main section.access .list .label::after {
            content: '';
            display: block;
            height: 0;
            width: 0; }
          #main section.access .list .label::before {
            margin-bottom: -0.2272727273em; }
          #main section.access .list .label::after {
            margin-top: -0.2272727273em; } }
    #main section.access .list ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin: .25rem 0 0; }
      @media screen and (max-width: 640px) {
        #main section.access .list ul {
          display: block;
          width: 3.66rem;
          margin: 0 auto; } }
    #main section.access .list li {
      display: flex;
      flex-wrap: wrap;
      align-content: flex-start;
      justify-content: space-between;
      width: 2.81rem;
      font-size: .18rem;
      line-height: 1; }
      @media screen and (max-width: 640px) {
        #main section.access .list li {
          width: auto;
          margin: .4rem 0 0;
          font-size: .23rem; } }
      #main section.access .list li:nth-child(n+4) {
        margin-top: .12rem; }
        @media screen and (max-width: 640px) {
          #main section.access .list li:nth-child(n+4) {
            margin-top: .4rem; } }
      #main section.access .list li .name {
        align-self: flex-end; }
        #main section.access .list li .name strong {
          font-size: .23rem;
          font-weight: inherit; }
          @media screen and (max-width: 640px) {
            #main section.access .list li .name strong {
              font-size: .31rem; } }
      #main section.access .list li .time {
        align-self: flex-end; }
        #main section.access .list li .time strong {
          font-size: .33rem;
          font-weight: inherit; }
          @media screen and (max-width: 640px) {
            #main section.access .list li .time strong {
              font-size: .43rem; } }
      #main section.access .list li .note {
        width: 100%;
        margin: .05rem 0 0;
        border-top: 1px solid currentColor;
        padding: .05rem 0 0;
        font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
        font-size: .12rem;
        line-height: 1.4166666667; }
        @media screen and (max-width: 640px) {
          #main section.access .list li .note {
            font-size: .16rem;
            line-height: 1.375; } }
    #main section.access .list--01 {
      margin: .55rem 0 0; }
      @media screen and (max-width: 640px) {
        #main section.access .list--01 {
          margin: 1.1rem 0 0; } }
    #main section.access .list--02 {
      margin: .65rem 0 0; }
      @media screen and (max-width: 640px) {
        #main section.access .list--02 {
          margin: .9rem 0 0; } }
    #main section.access .list--03 {
      margin: .5rem 0 0; }
      @media screen and (max-width: 640px) {
        #main section.access .list--03 {
          margin: .8rem 0 0; } }
      @media screen and (max-width: 640px) {
        #main section.access .list--03 ul {
          width: auto; } }
      #main section.access .list--03 li {
        width: 4.36rem; }
        @media screen and (max-width: 640px) {
          #main section.access .list--03 li {
            width: auto; } }
    #main section.access .topic {
      display: flex;
      justify-content: space-between;
      margin: .6rem 0 0; }
      @media screen and (max-width: 640px) {
        #main section.access .topic {
          display: block;
          width: 5rem;
          margin: .78rem auto 0; } }
      #main section.access .topic .item {
        width: 4.71rem;
        background: #c2bcad; }
        @media screen and (max-width: 640px) {
          #main section.access .topic .item {
            width: auto;
            margin: .32rem 0 0; } }
        #main section.access .topic .item .label {
          position: relative; }
          #main section.access .topic .item .label .bg {
            position: relative; }
            #main section.access .topic .item .label .bg figcaption {
              position: absolute;
              right: .1rem;
              bottom: .1rem;
              color: #fff; }
          #main section.access .topic .item .label .text {
            width: 100%;
            position: absolute;
            top: 50%;
            left: 0;
            color: #fff;
            font-size: .24rem;
            font-weight: 500;
            line-height: 1.4166666667;
            letter-spacing: .05em;
            text-align: center;
            transform: translate(0, -50%); }
            @media screen and (max-width: 640px) {
              #main section.access .topic .item .label .text {
                font-size: .26rem;
                line-height: 1.3846153846; } }
        #main section.access .topic .item > .text {
          padding: .28rem 0;
          font-size: .18rem;
          font-weight: 500;
          line-height: 1.7777777778;
          text-align: center; }
          @media screen and (max-width: 640px) {
            #main section.access .topic .item > .text {
              padding: .32rem 0;
              font-size: .2rem;
              line-height: 1.7; } }
    #main section.access .fNote {
      padding: .45rem 0 0; }
      @media screen and (max-width: 640px) {
        #main section.access .fNote {
          padding: .75rem 0 0; } }
  #main section.location {
    padding: 0 0 1rem; }
    @media screen and (max-width: 640px) {
      #main section.location {
        padding: 0 0 .6rem; } }
    #main section.location .prepend {
      background-image: url(/img/tpo/takanawa/imgs/bg_location.jpg); }
      @media screen and (max-width: 640px) {
        #main section.location .prepend {
          background-image: url(/img/tpo/takanawa/imgs/bg_location_sp.jpg); } }
      #main section.location .prepend .sectionTitle {
        width: 1.5rem; }
    #main section.location .block--01 {
      margin: 1.15rem 0 0; }
      @media screen and (max-width: 640px) {
        #main section.location .block--01 {
          margin: .45rem 0 0; } }
      #main section.location .block--01 .image figcaption {
        padding: .05rem 0 0;
        text-align: right; }
      #main section.location .block--01 .text {
        display: flex;
        align-items: center;
        margin: .25rem 0 0;
        font-weight: 500; }
        @media screen and (max-width: 640px) {
          #main section.location .block--01 .text {
            display: block;
            width: 5rem;
            margin: .5rem auto 0; } }
        #main section.location .block--01 .text .label {
          box-sizing: border-box;
          width: 2rem;
          padding: 0 .25rem 0 0;
          font-size: .24rem;
          text-align: right; }
          @media screen and (max-width: 640px) {
            #main section.location .block--01 .text .label {
              font-size: .28rem;
              line-height: 1; } }
        #main section.location .block--01 .text p {
          box-sizing: border-box;
          width: 8rem;
          border-left: 1px solid currentColor;
          padding: .08rem 0 .08rem .3rem;
          font-size: .18rem;
          line-height: 1.7777777778; }
          @media screen and (max-width: 640px) {
            #main section.location .block--01 .text p {
              width: auto;
              margin: .15rem 0 0;
              border-top: 1px solid currentColor;
              border-left: none;
              padding: .1rem 0 0;
              font-size: .2rem;
              line-height: 1.6; } }
    #main section.location .block--02 {
      margin: .95rem 0 0; }
      @media screen and (max-width: 640px) {
        #main section.location .block--02 {
          margin: .6rem 0 0; } }
      #main section.location .block--02 .image figcaption {
        padding: .05rem 0 0;
        text-align: right; }
    #main section.location .map {
      width: 6.02rem;
      margin: 1.1rem auto 0; }
      @media screen and (max-width: 640px) {
        #main section.location .map {
          width: auto;
          margin: .55rem auto 0; } }
    #main section.location .lifeinfo {
      display: flex;
      justify-content: space-between;
      margin: .65rem 0 0;
      font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
      font-weight: 500; }
      @media screen and (max-width: 640px) {
        #main section.location .lifeinfo {
          margin: .5rem 0 0;
          display: block; } }
      #main section.location .lifeinfo .col {
        width: 4.68rem; }
        @media screen and (max-width: 640px) {
          #main section.location .lifeinfo .col {
            width: auto; } }
      @media screen and (max-width: 640px) {
        #main section.location .lifeinfo .item {
          margin: .45rem 0 0; } }
      #main section.location .lifeinfo .item .label {
        padding: 0 .2rem;
        background: linear-gradient(90deg, #611216 0%, #80474b 50%, #611216 100%);
        color: #fff;
        font-size: .21rem;
        font-weight: 500;
        line-height: .35rem; }
        @media screen and (max-width: 640px) {
          #main section.location .lifeinfo .item .label {
            font-size: .26rem;
            line-height: .44rem; } }
      #main section.location .lifeinfo .item + .item {
        margin: .35rem 0 0; }
        @media screen and (max-width: 640px) {
          #main section.location .lifeinfo .item + .item {
            margin: .45rem 0 0; } }
      #main section.location .lifeinfo .item dl {
        display: flex;
        flex-wrap: wrap; }
      #main section.location .lifeinfo .item dt,
      #main section.location .lifeinfo .item dd {
        border-bottom: 1px solid #000;
        padding-top: .15rem;
        padding-bottom: .04rem;
        font-size: .16rem;
        line-height: 1; }
        @media screen and (max-width: 640px) {
          #main section.location .lifeinfo .item dt,
          #main section.location .lifeinfo .item dd {
            padding-top: .2rem;
            padding-bottom: .06rem;
            font-size: .2rem; } }
      #main section.location .lifeinfo .item dt {
        box-sizing: border-box;
        width: calc(100% - 10em);
        padding-left: .05rem; }
      #main section.location .lifeinfo .item dd {
        width: 10em;
        text-align: right; }
    #main section.location .fNote {
      padding: .7rem 0 0; }
  #main section.plan {
    padding: 0 0 .86rem; }
    @media screen and (max-width: 640px) {
      #main section.plan {
        padding: 0 0 .6rem; } }
    #main section.plan .prepend {
      background-image: url(/img/tpo/takanawa/imgs/bg_location.jpg); }
      #main section.plan .prepend .sectionTitle {
        width: 1.76rem; }
    #main section.plan .list {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin: .6rem 0 0; }
      @media screen and (max-width: 640px) {
        #main section.plan .list {
          display: block; } }
      #main section.plan .list li {
        width: 3.2rem;
        margin: .28rem 0 0; }
        @media screen and (max-width: 640px) {
          #main section.plan .list li {
            width: auto;
            margin: .25rem 0 0; } }
        #main section.plan .list li a {
          display: block;
          position: relative; }
          #main section.plan .list li a::after {
            content: '';
            display: block;
            width: .2rem;
            height: .2rem;
            position: absolute;
            top: .55rem;
            right: .06rem;
            background: url("/img/tpo/takanawa/imgs/ico-zoom.svg") 0 0/contain no-repeat; }
            @media screen and (max-width: 640px) {
              #main section.plan .list li a::after {
                width: .5rem;
                height: .5rem;
                top: 1.1rem;
                right: .2rem; } }
    #main section.plan .fNote {
      padding: .56rem 0 0; }
    #main section.plan .btPlan {
      display: block;
      box-sizing: border-box;
      width: 4rem;
      margin: .44rem auto 0;
      padding: 0 0 0 .95rem;
      background-image: url(/img/tpo/takanawa/imgs/ico-book.svg), url(/img/tpo/takanawa/imgs/arrow01.svg), linear-gradient(90deg, #656433 0%, #807a62 50%, #656433 100%);
      background-position: 0.52rem 50%, calc(100% - .15rem) 50%, 0 0;
      background-size: .29rem auto, .06rem auto, cover;
      background-repeat: no-repeat;
      color: #fff;
      font-size: .17rem;
      font-weight: 500;
      line-height: 1rem; }
  #main section.gallery {
    padding: 0 0 .9rem; }
    @media screen and (max-width: 640px) {
      #main section.gallery {
        padding: 0 0 .6rem; } }
    #main section.gallery .prepend {
      height: 2rem;
      background-image: url(/img/tpo/takanawa/imgs/bg_gallery.jpg); }
      @media screen and (max-width: 640px) {
        #main section.gallery .prepend {
          height: 1.4rem; } }
      #main section.gallery .prepend .sectionTitle {
        width: 1.3rem; }
    #main section.gallery .block {
      margin: .74rem 0 0; }
      @media screen and (max-width: 640px) {
        #main section.gallery .block {
          margin: .4rem 0 0; } }
      #main section.gallery .block + .block {
        margin: 1.24rem 0 0; }
        @media screen and (max-width: 640px) {
          #main section.gallery .block + .block {
            margin: .8rem 0 0; } }
    #main section.gallery .label {
      font-size: .24rem;
      font-weight: 500;
      line-height: 1;
      text-align: center; }
    #main section.gallery .slider {
      margin: .3rem 0 0; }
      #main section.gallery .slider .slide {
        vertical-align: top;
        position: relative; }
        #main section.gallery .slider .slide figcaption {
          position: absolute;
          right: .25rem;
          bottom: .12rem;
          font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
          font-size: .19rem;
          font-weight: 500;
          line-height: 1; }
      #main section.gallery .slider .slick-arrow {
        width: .25rem;
        height: 1.1rem;
        position: absolute;
        top: 50%;
        background: url("/img/tpo/takanawa/imgs/arrow02.svg") 50% 50%/contain no-repeat;
        transform: translate(0, -50%); }
      #main section.gallery .slider .slick-prev {
        left: .15rem;
        transform: translate(0, -50%) scale(-1, 1);
        z-index: +1; }
      #main section.gallery .slider .slick-next {
        right: .15rem; }
    #main section.gallery .thum {
      display: flex;
      margin: .24rem 0 0;
      justify-content: center; }
      @media screen and (max-width: 640px) {
        #main section.gallery .thum {
          display: none; } }
      #main section.gallery .thum .slide {
        width: .8rem;
        margin: 0 .036rem 0 0;
        transition: opacity .3s; }
        @supports (filter: brightness(100%)) {
          #main section.gallery .thum .slide {
            transition-property: filter; } }
        #main section.gallery .thum .slide:hover, #main section.gallery .thum .slide.active {
          opacity: .8; }
          @supports (filter: brightness(100%)) {
            #main section.gallery .thum .slide:hover, #main section.gallery .thum .slide.active {
              filter: brightness(110%);
              opacity: 1; } }
        #main section.gallery .thum .slide:last-child {
          margin: 0; }
    #main section.gallery .fNote {
      padding: .7rem 0 0; }
      @media screen and (max-width: 640px) {
        #main section.gallery .fNote {
          padding: .3rem 0 0; } }
  #main section.equipment {
    padding: 0 0 1.14rem; }
    @media screen and (max-width: 640px) {
      #main section.equipment {
        padding: 0 0 .6rem; } }
    #main section.equipment .prepend {
      background-image: url(/img/tpo/takanawa/imgs/bg_equipment.jpg); }
      #main section.equipment .prepend .sectionTitle {
        width: 1.75rem; }
    #main section.equipment p {
      line-height: 1.8666666667;
      padding: .26rem 0 0;
      font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
      font-size: .15rem;
      text-align: center; }
      #main section.equipment p::before, #main section.equipment p::after {
        content: '';
        display: block;
        height: 0;
        width: 0; }
      #main section.equipment p::before {
        margin-bottom: -0.4333333333em; }
      #main section.equipment p::after {
        margin-top: -0.4333333333em; }
      @media screen and (max-width: 640px) {
        #main section.equipment p {
          line-height: 1.95;
          padding: .32rem 0 0;
          font-size: .20rem; }
          #main section.equipment p::before, #main section.equipment p::after {
            content: '';
            display: block;
            height: 0;
            width: 0; }
          #main section.equipment p::before {
            margin-bottom: -0.475em; }
          #main section.equipment p::after {
            margin-top: -0.475em; } }
    #main section.equipment .icon {
      width: 9.22rem;
      margin: .56rem auto 0; }
      @media screen and (max-width: 640px) {
        #main section.equipment .icon {
          width: auto;
          margin: .2rem 0 0; } }
    #main section.equipment .image {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      margin: .36rem 0 0; }
      #main section.equipment .image .item {
        width: 2.5rem;
        margin: .4rem .22rem 0 0; }
        @media screen and (max-width: 640px) {
          #main section.equipment .image .item {
            width: 49%;
            margin-right: 2%; } }
        #main section.equipment .image .item:nth-child(4n + 4), #main section.equipment .image .item:last-child {
          /*margin-right: 0;*/ }
        @media screen and (max-width: 640px) {
          #main section.equipment .image .item:nth-child(even) {
            margin-right: 0; } }
        #main section.equipment .image .item figcaption {
          line-height: 1.5;
          padding: .1rem 0 0;
          font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
          font-size: .12rem;
          text-align: center; }
          #main section.equipment .image .item figcaption::before, #main section.equipment .image .item figcaption::after {
            content: '';
            display: block;
            height: 0;
            width: 0; }
          #main section.equipment .image .item figcaption::before {
            margin-bottom: -0.25em; }
          #main section.equipment .image .item figcaption::after {
            margin-top: -0.25em; }
    #main section.equipment .fNote {
      padding: .94rem 0 0; }
      @media screen and (max-width: 640px) {
        #main section.equipment .fNote {
          padding: .6rem 0 0; } }
  #main section.outline .prepend {
    height: 2rem;
    background-image: url(/img/tpo/takanawa/imgs/bg_outline.jpg); }
    @media screen and (max-width: 640px) {
      #main section.outline .prepend {
        height: 1.4rem; } }
    #main section.outline .prepend .sectionTitle {
      width: 1.31rem; }
  #main section.outline .list {
    line-height: 1.3888888889;
    display: flex;
    padding: .8rem 0 0;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
    font-size: .18rem;
    flex-wrap: wrap; }
    #main section.outline .list::before, #main section.outline .list::after {
      content: '';
      display: block;
      height: 0;
      width: 0; }
    #main section.outline .list::before {
      margin-bottom: -0.1944444444em; }
    #main section.outline .list::after {
      margin-top: -0.1944444444em; }
    @media screen and (max-width: 640px) {
      #main section.outline .list {
        display: block;
        font-size: .16rem;
        line-height: 1.5625; }
        #main section.outline .list::before, #main section.outline .list::after {
          content: none; } }
    #main section.outline .list dt {
      box-sizing: border-box;
      width: 2.95rem;
      padding: 0 .42rem 0 0;
      text-align: right; }
      @media screen and (max-width: 640px) {
        #main section.outline .list dt {
          width: auto;
          padding: 0 0 0 .6rem;
          background: #554629;
          color: #fff;
          line-height: 2;
          text-align: left; } }
    #main section.outline .list dd {
      box-sizing: border-box;
      width: calc(100% - 2.95rem);
      border-left: 1px solid currentColor;
      padding: 0 0 0 .46rem; }
      @media screen and (max-width: 640px) {
        #main section.outline .list dd {
          border-left: none;
          width: auto;
          padding: .1rem 0 0 .6rem; }
          #main section.outline .list dd + dt {
            margin: .25rem 0 0; } }

#footer {
  margin: 1.75rem 0 0;
  background: #fff;
  color: #000; }
  @media screen and (max-width: 640px) {
    #footer {
      margin: 1rem 0 0; } }
  #footer .inner {
    display: flex;
    width: 8.57rem;
    margin: 0 auto;
    padding: 0 0 .35rem;
    justify-content: space-between; }
    @media screen and (max-width: 640px) {
      #footer .inner {
        display: block;
        width: auto; } }
    #footer .inner .contact {
      width: 4.51rem; }
      @media screen and (max-width: 640px) {
        #footer .inner .contact {
          width: auto; } }
      #footer .inner .contact .ci {
        width: 4.21rem; }
        @media screen and (max-width: 640px) {
          #footer .inner .contact .ci {
            width: 5.1rem;
            margin: 0 auto; } }
        #footer .inner .contact .ci a {
          display: flex;
          align-items: center; }
          @media screen and (max-width: 640px) {
            #footer .inner .contact .ci a {
              display: block; } }
          #footer .inner .contact .ci a span {
            width: .45rem;
            font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
            font-size: .12rem;
            letter-spacing: .5em; }
            @media screen and (max-width: 640px) {
              #footer .inner .contact .ci a span {
                display: none; } }
          #footer .inner .contact .ci a img {
            width: calc(100% - .45rem); }
            @media screen and (max-width: 640px) {
              #footer .inner .contact .ci a img {
                width: 100%; } }
      #footer .inner .contact .tel {
        margin: .22rem 0 0; }
        @media screen and (max-width: 640px) {
          #footer .inner .contact .tel {
            width: 3.96rem;
            margin: .25rem auto 0; } }
    #footer .inner .link {
      display: flex;
      width: 3.41rem;
      padding: .16rem 0;
      align-items: center;
      justify-content: space-between; }
      @media screen and (max-width: 640px) {
        #footer .inner .link {
          width: 5.26rem;
          margin: .5rem auto .25rem;
          padding: 0; } }
      #footer .inner .link .link01 {
        width: 1.87rem; }
        @media screen and (max-width: 640px) {
          #footer .inner .link .link01 {
            width: 2.8rem; } }
      #footer .inner .link .link02 {
        width: 1.18rem; }
        @media screen and (max-width: 640px) {
          #footer .inner .link .link02 {
            width: 1.8rem; } }
  #footer .copyright {
    padding: .11rem 0;
    background: linear-gradient(90deg, #611216 0%, #80474b 50%, #611216 100%);
    color: #fff;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
    font-size: .12rem;
    line-height: 1.5;
    text-align: center; }
    @media screen and (max-width: 640px) {
      #footer .copyright {
        padding: .12rem 0;
        font-size: .17rem; } }
  #footer .btPagetop {
    display: block;
    width: 0.6rem;
    position: fixed;
    right: 0;
    bottom: 0;
    transition: opacity .3s; }
    @media screen and (max-width: 640px) {
      #footer .btPagetop {
        width: .55rem;
        left: auto;
        right: 0;
        bottom: .5rem; } }
    #footer .btPagetop.off {
      opacity: 0;
      pointer-events: none; }
  @media screen and (max-width: 640px) {
    #footer.fitPagetop .btPagetop {
      position: absolute;
      bottom: 100%; } }

@media screen and (-ms-high-contrast: none) {
  html.lb-disable-scrolling {
    position: static; } }
