.valueSect {
  margin: 0 auto;
  position: relative;
}

@media screen and (min-width: 768px) {
  .valueSect {
    margin-top: 130px;
    max-width: 1200px;
  }
}

@media screen and (max-width: 768px) {
  .valueSect {
    background-image: url("../imgs/sp/01-back-img.png"), url("../imgs/sp/back-img.png");
    background-position: 100% 205.89744vw, 0 calc(100% + 100vw * 395 / 390);
    background-repeat: no-repeat;
    background-size: 86.15385vw auto, 69.23077vw auto;
    margin-top: calc(54 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .valueSect:after {
    aspect-ratio: 1;
    border: solid #f3ede6 320px;
    border-radius: 50%;
    bottom: -1023px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    content: '';
    display: block;
    position: absolute;
    right: calc(50% + 30px);
    width: 1320px;
    z-index: 1;
  }
}

.valueSect__inner {
  background-color: #e8e7e5;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .valueSect__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 1200px;
    padding: 80px 120px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  .valueSect__inner {
    gap: calc(20 / 1200 * 100vw);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (max-width: 768px) {
  .valueSect__inner {
    margin: 0 calc(24 / 390 * 100vw);
    padding: calc(80 / 390 * 100vw) calc(24 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .valueSect__head {
    width: 453px;
  }
}

@media screen and (min-width: 768px) {
  .valueSect__head .headingCombi .heading {
    font-size: 28px;
  }
}

@media screen and (max-width: 768px) {
  .valueSect__head .headingCombi .heading {
    font-size: calc(28 / 390 * 100vw);
    line-height: 1.4;
  }
}

@media screen and (min-width: 768px) {
  .valueSect__head .headingCombi .heading + .txt {
    font-size: 16px;
    margin-top: 30px;
  }
}

@media screen and (max-width: 768px) {
  .valueSect__head .headingCombi .heading + .txt {
    font-size: calc(14 / 390 * 100vw);
    line-height: 1.6;
  }
}

@media screen and (min-width: 768px) {
  .valueSect__cont {
    width: 430px;
  }
}

@media screen and (max-width: 768px) {
  .valueSect__cont {
    margin-top: calc(40 / 390 * 100vw);
  }
}

.valueSect__cont .caption {
  font-size: 10px;
  letter-spacing: 0;
  line-height: 1.2;
  margin-top: 5px;
}

@media screen and (max-width: 768px) {
  .valueSect__cont .caption {
    line-height: 1.4;
  }
}

@media screen and (min-width: 768px) {
  br.sp {
    display: none;
  }
}

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

section.morishita,
section.tokyo {
  overflow: hidden;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  section.morishita .wrap,
  section.tokyo .wrap {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 1240px;
    padding: 0 20px;
    width: auto;
  }
}

section.morishita figure,
section.tokyo figure {
  margin: 0;
}

@media screen and (min-width: 768px) {
  section.morishita {
    padding: 180px 0 170px;
  }
}

@media screen and (max-width: 768px) {
  section.morishita {
    background: url("../imgs/sp/back-img.png") 0 -88.46154vw no-repeat;
    background-size: 69.23077vw auto;
    padding: calc(80 / 390 * 100vw) 0 25.64103vw;
  }
}

@media screen and (min-width: 768px) {
  section.morishita:before {
    aspect-ratio: 1;
    border: solid #f3ede6 320px;
    border-radius: 50%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    content: '';
    display: block;
    position: absolute;
    right: calc(50% + 30px);
    top: -297px;
    width: 1320px;
    z-index: -1;
  }
}

@media screen and (min-width: 768px) {
  section.morishita .ttl {
    font-size: 40px;
    font-weight: 500;
    line-height: 64px;
  }
}

@media screen and (max-width: 768px) {
  section.morishita .ttl {
    font-size: 7.17949vw;
    font-weight: 400;
    line-height: 1.6;
    margin: -.3em 0;
    text-align: center;
  }
}

section.morishita .image figcaption {
  color: #666464;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  section.morishita .image figcaption {
    font-size: 10px;
    padding: 12px 0 0;
  }
}

@media screen and (max-width: 768px) {
  section.morishita .image figcaption {
    font-size: 2.5641vw;
    padding: 2.30769vw 0 0;
  }
}

section.morishita .body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  section.morishita .body {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 60px 0 0;
  }
}

@media screen and (max-width: 768px) {
  section.morishita .body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10.25641vw;
    margin: 10.25641vw 0 0;
  }
}

@media screen and (min-width: 768px) {
  section.morishita .body .text {
    width: 30.83333%;
  }
}

section.morishita .body .text p {
  line-height: 2;
}

@media screen and (min-width: 768px) {
  section.morishita .body .text p {
    font-size: 20px;
    font-weight: 600;
  }
}

@media screen and (max-width: 768px) {
  section.morishita .body .text p {
    font-size: 3.58974vw;
  }
}

@media screen and (min-width: 768px) {
  section.morishita .body .image {
    margin: 0 -10% 0 0;
    width: 72%;
  }
}

section.morishita .body .image img {
  width: 100%;
}

section.morishita .column {
  display: grid;
  grid-template-rows: 1fr auto;
}

@media screen and (min-width: 768px) {
  section.morishita .column {
    gap: 48px 1.875%;
    grid-template-columns: 38.125% 1fr;
    margin: -105px auto 0;
    max-width: 1440px;
  }
}

@media screen and (max-width: 1200px) {
  section.morishita .column {
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  section.morishita .column {
    gap: 5.12821vw;
    grid-template-columns: 41.02564vw 1fr;
    margin: 15.38462vw 0 0;
    padding: 0 6.15385vw 0 0;
  }
}

section.morishita .column .image--01 {
  grid-column: 1/2;
  grid-row: 1/3;
}

@media screen and (max-width: 768px) {
  section.morishita .column .image--01 {
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}

@media screen and (max-width: 768px) {
  section.morishita .column .image--01 figcaption {
    padding-left: 2.30769vw;
  }
}

section.morishita .column .image--02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-column: 2/3;
  grid-row: 2/3;
}

@media screen and (min-width: 768px) {
  section.morishita .column .image--02 {
    gap: 24px;
  }
}

@media screen and (max-width: 768px) {
  section.morishita .column .image--02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.05128vw;
    padding: 0 0 3.58974vw;
  }
}

@media screen and (min-width: 768px) {
  section.morishita .column .image--02 figure {
    width: calc(50% - 12px);
  }
}

section.morishita .column .image--02 figure img {
  width: 100%;
}

section.morishita .column .image--02 figure figcaption {
  text-align: right;
}

@media screen and (max-width: 768px) {
  section.morishita .column .image--02 figure figcaption {
    white-space: nowrap;
  }
}

section.morishita .column .text {
  align-self: flex-end;
  grid-column: 2/3;
  grid-row: 1/2;
}

@media screen and (min-width: 768px) {
  section.morishita .column .text .ttl {
    font-size: 28px;
    line-height: 45px;
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  section.morishita .column .text .ttl {
    font-size: 7.17949vw;
    line-height: 1.6;
    margin: -.3em 0;
    text-align: left;
  }
}

section.morishita .column .text p {
  line-height: 2;
}

@media screen and (min-width: 768px) {
  section.morishita .column .text p {
    font-size: 16px;
    font-weight: 500;
    margin: 32px 0 0;
  }
}

@media screen and (max-width: 768px) {
  section.morishita .column .text p {
    font-size: 3.58974vw;
    margin: 10.25641vw 0 0;
  }
}

@media screen and (min-width: 768px) {
  section.tokyo {
    margin: 110px 0 0;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo {
    background-image: url("../imgs/sp/01-back-img.png");
    background-position: 100% 205.89744vw;
    background-repeat: no-repeat;
    background-size: 86.15385vw auto;
    margin: 20.51282vw 0 0;
    padding: 0 0 15.38462vw;
  }
}

@media screen and (min-width: 768px) {
  section.tokyo:before {
    aspect-ratio: 1;
    border: solid #eeecef 320px;
    border-radius: 50%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    content: '';
    display: block;
    left: calc(50% - 527px);
    position: absolute;
    top: 308px;
    width: 1336px;
    z-index: -1;
  }
}

section.tokyo .map {
  position: relative;
}

@media screen and (min-width: 768px) {
  section.tokyo .map {
    margin: 0 auto;
    max-width: 1440px;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .map:before {
    aspect-ratio: 1;
    background: url("../imgs/sp/ic-suggest.png") 0 0/contain no-repeat;
    content: '';
    display: block;
    left: 5.12821vw;
    position: absolute;
    top: 0;
    width: 12.82051vw;
  }
  section.tokyo .map .inner {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    overflow-x: scroll;
    padding: 0 0 0 21.79487vw;
  }
  section.tokyo .map .inner img {
    max-width: none;
    width: 173.26363vw;
  }
}

section.tokyo .map figcaption {
  bottom: 0;
  color: #ffffff;
  line-height: 1;
  padding: 1em;
  position: absolute;
  right: 0;
}

@media screen and (min-width: 768px) {
  section.tokyo .map figcaption {
    font-size: 10px;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .map figcaption {
    font-size: 2.5641vw;
  }
}

@media screen and (min-width: 768px) {
  section.tokyo .body {
    margin: 60px 0 0;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .body {
    margin: 10.25641vw 0 0;
  }
}

@media screen and (min-width: 768px) {
  section.tokyo .body .text .ttl {
    font-size: 28px;
    font-weight: 500;
    line-height: 45px;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .body .text .ttl {
    font-size: 7.17949vw;
    font-weight: 400;
    line-height: 1.6;
    margin: -.3em 0;
    text-align: center;
  }
}

section.tokyo .body .text p {
  line-height: 2;
}

@media screen and (min-width: 768px) {
  section.tokyo .body .text p {
    font-size: 16px;
    font-weight: 500;
    margin: 32px 0 0;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .body .text p {
    font-size: 3.58974vw;
    margin: 10.25641vw 0 0;
  }
}

@media screen and (min-width: 768px) {
  section.tokyo .column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 120px 0 0;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .column {
    margin: 20.51282vw 0 0;
  }
}

@media screen and (min-width: 768px) {
  section.tokyo .column .text {
    width: 31.83333%;
  }
}

@media screen and (min-width: 768px) {
  section.tokyo .column .text .ttl {
    font-size: 28px;
    font-weight: 500;
    line-height: 45px;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .column .text .ttl {
    font-size: 7.17949vw;
    font-weight: 400;
    line-height: 1.6;
    margin: -.3em;
    text-align: center;
  }
}

section.tokyo .column .text p {
  line-height: 2;
}

@media screen and (min-width: 768px) {
  section.tokyo .column .text p {
    font-size: 16px;
    font-weight: 500;
    margin: 32px 0 0;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .column .text p {
    font-size: 3.58974vw;
    margin: 7.69231vw 0 0;
  }
}

section.tokyo .column .image {
  display: grid;
}

@media screen and (min-width: 768px) {
  section.tokyo .column .image {
    -ms-flex-item-align: start;
        align-self: flex-start;
    margin: 0 -10% 0 0;
    width: 72%;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .column .image {
    margin: 5.89744vw -6.41026vw 0 0;
  }
}

section.tokyo .column .image img {
  grid-area: 1/1;
  width: 100%;
}

section.tokyo .column .image figcaption {
  align-self: flex-end;
  color: #ffffff;
  grid-area: 1/1;
  justify-self: flex-end;
  line-height: 1;
  padding: 1em;
}

@media screen and (min-width: 768px) {
  section.tokyo .column .image figcaption {
    font-size: 10px;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .column .image figcaption {
    font-size: 2.5641vw;
  }
}

section.tokyo .areamap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  section.tokyo .areamap {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 60px 0 0;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .areamap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5.12821vw;
    margin: 600vw 0/390 0 0;
  }
}

@media screen and (min-width: 768px) {
  section.tokyo .areamap .image {
    width: 60%;
  }
}

section.tokyo .areamap .image img {
  width: 100%;
}

section.tokyo .areamap .image figcaption {
  color: #666464;
  line-height: 1.4;
  text-align: right;
}

@media screen and (min-width: 768px) {
  section.tokyo .areamap .image figcaption {
    font-size: 10px;
    padding: 12px 0 0;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .areamap .image figcaption {
    font-size: 2.5641vw;
    padding: 2.30769vw 0 0;
  }
}

section.tokyo .areamap .list {
  counter-reset: num;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (min-width: 768px) {
  section.tokyo .areamap .list {
    gap: 6px;
    width: 35%;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .areamap .list {
    gap: 2.05128vw;
  }
}

section.tokyo .areamap .list li {
  counter-increment: num;
  position: relative;
}

@media screen and (min-width: 768px) {
  section.tokyo .areamap .list li {
    display: grid;
    gap: 2px 14px;
    grid-template-columns: 36px 1fr;
    grid-template-rows: auto auto;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .areamap .list li {
    padding-left: calc(40 / 390 * 100vw);
  }
}

section.tokyo .areamap .list li:before {
  -ms-flex-item-align: start;
      align-self: flex-start;
  aspect-ratio: 1;
  background: #a47e40;
  border-radius: 50%;
  color: #ffffff;
  content: counter(num);
  font-family: "Bodoni Moda", serif;
}

@media screen and (min-width: 768px) {
  section.tokyo .areamap .list li:before {
    display: grid;
    font-size: 16px;
    grid-template-columns: 1/2;
    grid-template-rows: 1/3;
    place-items: center;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .areamap .list li:before {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 4.10256vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: 0;
    letter-spacing: 0;
    line-height: 1;
    position: absolute;
    top: 0;
    width: calc(30 / 390 * 100vw);
  }
}

section.tokyo .areamap .list li .name {
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  section.tokyo .areamap .list li .name {
    font-size: 14px;
    grid-column: 2/3;
    grid-row: 1/2;
    line-height: 25px;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .areamap .list li .name {
    font-size: 3.58974vw;
    line-height: 1.2;
  }
}

section.tokyo .areamap .list li .note {
  color: #666464;
}

@media screen and (min-width: 768px) {
  section.tokyo .areamap .list li .note {
    bottom: -3px;
    font-size: 10px;
    grid-column: 2/3;
    grid-row: 2/3;
    line-height: 2;
    position: absolute;
  }
}

@media screen and (max-width: 768px) {
  section.tokyo .areamap .list li .note {
    font-size: 2.5641vw;
  }
}
