
:root {
  --default-font: 'Noto Sans JP', sans-serif;
  --english-font: 'Outfit', sans-serif;

  --green: #3C826E;
  --green-light: #EBF2F0; 
  --orange: #ed5500;
  --white: #FFFFFF;
  --black: #4C4C4C;
  --gray: #F0F0F0;

  --gradation: linear-gradient(to bottom, #FFFFFF 0%, #64BBFF 100%);
  --gradation-dark: linear-gradient(to bottom, rgba(194, 209, 225, 0.5) 0%, #64BBFF 100%);
}

* {
  box-sizing: border-box;
}

body {
  font-family: var(--default-font);
  margin: 0;
  padding: 0;
  font-weight: normal;
}

.english-text {
  font-family: var(--english-font);
}

p {
  font-size: 17px;
}

p, a, h1, h2, h3, h4, h5, h6, ul, ol, li, th, td {
  margin: 0;
  padding: 0;
  font-weight: normal;
  color: var(--black);
}

a {
  color: var(--black);
  text-decoration: none;
  word-break: break-all;
}

h1, h2, h3, h4, h5, h6  {
  font-weight: normal;
}

img, video {
  vertical-align: top;
}

ul, ol {
  list-style: none;
}

::selection {
  color: var(--white);
  background: var(--green);
}

@media screen and (max-width: 950px) {
  .only-pc {
    display: none !important;
  }
}

@media screen and (min-width: 951px) {
  .only-sp {
    display: none !important;
  }
}

/* 汎用のテキストスタイル */
.text-common {
  font-size: 17px;
  line-height: 2.3;
  letter-spacing: 0.05em;
  text-indent: 0;
}

@media screen and (max-width: 950px) { 
  .text-common {
    font-size: 14px;
    line-height: 2;
  }
}

.text-bold {
  font-weight: bold;
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

@media screen and (min-width: 951px) { 
  .text-center-pc {
    text-align: center;
  }
}

@media screen and (max-width: 950px) { 
  .text-center-sp {
    text-align: center;
  }
}

.text-color-primary {
  color: var(--green);
}

.text-color-white {
  color: var(--white);
}

.mt-10 {
  margin-top: 10px;
}

.mt-20 {
  margin-top: 20px;
}

.mt-30 {
  margin-top: 30px;
}

.main {
  overflow: hidden;
}

.main__withSidebar {
  display: flex;
  flex-direction: column;
  align-items: center;
  
}

@media screen and (max-width: 950px) { 
  .main__withSidebar {
    display: block;
  }
}

/* メインビジュアルに表示するスクロールダウン */
.common__scrollDown {
  position:absolute;
  right: 50%;
  bottom: 5%;
  animation: arrowmove 1.5s ease-in-out infinite;
  z-index: 5;
}

.common__scrollDown:before {
  content: "";
  position: absolute;
  right: -6px;
  bottom: 5px;
  width: 2px;
  height: 20px;
  background: var(--white);
  transform: skewX(-31deg);
}

.common__scrollDown:after {
  content:"";
  position: absolute;
  right: 0;
  bottom: 5px;
  width: 2px;
  height: 80px;
  background: var(--white);
}

@media screen and (max-width: 1280px) { 
  .common__scrollDown:after {
    height: 65px; 
  }
}

@media screen and (max-width: 950px) { 
  .common__scrollDown:after {
    height: 60px; 
  }
}

.common__scrollDown--black:before, .common__scrollDown--black:after {
  background: var(--black);
}

@keyframes arrowmove {
  0%{bottom: 5%;}
  50%{bottom: 8%;}
  00%{bottom: 5%;}
}

.common__scrollDown__text {
  position: absolute;
  left: -24px;
  bottom: 12px;
  color: var(--white);
  font-size: 14px;
  letter-spacing: .2em;
  writing-mode: vertical-rl;
  text-decoration: none;
  text-transform: uppercase;
}

@media screen and (max-width: 1280px) { 
  .common__scrollDown__text {
    font-size: 12px;
  }
}

@media screen and (max-width: 950px) { 
  .common__scrollDown__text {
    bottom: 8px;
    font-size: 11px;
  }
}

.common__scrollDown__text--black {
  color: var(--black);
}

.common__section {
  position: relative;
}

.common__cloudWrapper {
  left: 0;
  bottom: 0;
  height: 280px;
  width: 100%;
  z-index: 3;
  position: absolute;
  pointer-events: none;
}

/* Mobile PC */
@media screen and (max-width: 1280px) { 
  .common__cloudWrapper {
    bottom: 48px;
  }
}

@media screen and (max-width: 950px) { 
  .common__cloudWrapper {
    bottom: -27px;
    height: 200px;
  }
}

.common__cloud {
  position: absolute;
  z-index: 3;
  bottom: -130px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  height: auto;
  pointer-events: none;
}

@media screen and (max-width: 950px) { 
  .common__cloud {
    height: 150px;
    bottom: -30px;
  }
}

.common__heading {
  padding: 0 0 20px;
  position: relative;
}

@media screen and (max-width: 950px) { 
 .common__heading {
    padding: 0 0 10px;
  }
}

.common__heading::after {
  position: absolute;
  content: '';
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 80px;
  height: 1px;
  background-color: var(--black);
}

.common__heading--white::after {
  background-color: var(--white);
}

.common__heading--left::after {
  left: 0;
  transform: none;
}

@media screen and (max-width: 950px) { 
  .common__heading--left::after {
    left: 50%;
    transform: translateX(-50%);
  }
}

.common__heading--noUnderline {
  padding: 0 0 40px;
}

.common__heading--noUnderline::after {
  display: none;
}

.common__heading__english {
  font-size: 50px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 950px) { 
  .common__heading__english {
    font-size: 30px;
  }
}

.common__heading__japanese {
  margin: 10px 0;
  font-size: 25px;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 950px) { 
  .common__heading__japanese {
    font-size: 17px;
  }
}

.common__lead {
  margin: 30px 0 0;
  font-size: 15px;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 950px) { 
  .common__lead {
    margin: 20px 0 0;
    font-size: 14px;
  }
}

.common__table {
  margin: 70px auto 0;
  padding: 0 0 0 40px;
  width: 745px;
  position: relative;
}

@media screen and (max-width: 950px) {
  .common__table {
    margin: 40px auto 0;
    width: 100%;
    padding: 0 0 0 30px;
  }
}

.common__table::before {
  position: absolute;
  content: '';
  top: 25px;
  left: 0;
  width: 1px;
  height: calc(100% - 50px);
  background-color: #AFAFAF;
}

@media screen and (max-width: 950px) { 
  .common__table::before {
    left: 10px;
    height: calc(100% - 36px);
  }
}

.common__table__item {
  display: block;
  position: relative;
}

.common__table__item:nth-child(n + 2) {
  margin: 40px 0 0 0;
}

@media screen and (max-width: 950px) { 
  .common__table__item:nth-child(n + 2) {
    margin: 20px 0 0 0;
  }
}

.common__table__item::before {
  position: absolute;
  border-radius: 50%;
  top: 13px;
  left: -47px;
  width: 11px;
  height: 11px;
  content: '';
  background-color: var(--green);
}

@media screen and (max-width: 950px) { 
  .common__table__item::before {
    top: 10px;
    left: -27px;
  }
}

.common__table__year {
  padding: 5px 0 0;
  width: 100px;
  font-size: 15px;
  letter-spacing: 0.05em;
  white-space: nowrap;
  vertical-align: top;
}

@media screen and (max-width: 950px) { 
  .common__table__year {
    padding: 3px 0 0;
    width: 80px;
    font-size: 14px;
  }
}

.common__table__text {
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 950px) { 
  .common__table__text {
    font-size: 14px;
  }
}

.common__button {
  padding: 25px 20px;
  border: 1px solid var(--green); 
  border-radius: 40px;
  width: 500px;
  font-size: 20px;
  letter-spacing: 0.2em;
  text-align: center;
  background-color: var(--green);
  color: var(--white);
  display: inline-block;
  position: relative;
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
  white-space: nowrap;
}

@media screen and (max-width: 950px) { 
  .common__button {
    padding: 18px 6px;
    width: 327px;
    font-size: 15px;
  }
}

.common__button:hover, .common__button:active, .common__button:focus {
  background-color: var(--white);
  color: var(--green);
}

.common__button--medium {
  padding: 15px 20px;
  width: 400px;
}

@media screen and (max-width: 950px) { 
  .common__button--medium {
    padding: 15px 6px;
    width: 300px;
  }
}

.common__button--small {
  padding: 8px 20px;
  width: 220px;
  font-size: 15px;
}

@media screen and (max-width: 950px) { 
  .common__button--small {
    padding: 8px 10px;
    font-size: 14px;
  }
}

.common__button__arrowIcon {
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  width: 30px;
  height: 20px;
}

@media screen and (max-width: 950px) { 
  .common__button__arrowIcon {
    right: 20px;
    width: 24px;
    height: 16px;
  }
}

.common__button:hover .cls-1, .common__button:active .cls-1, .common__button:focus .cls-1 {
  stroke: var(--green);
  transition: stroke 0.3s ease-in-out;
}

.common__button__newTabIcon {
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  width: 25px;
  height: 25px;
}

@media screen and (max-width: 950px) { 
  .common__button__newTabIcon {
    right: 20px;
    width: 20px;
    height: 20px;
  }
}

.common__button__newTabIcon--small {
  right: 15px;
  width: 14px;
  height: 14px;
}

@media screen and (max-width: 950px) { 
  .common__button__newTabIcon--small {
    right: 16px;
    width: 12px;
    height: 12px;
  }
}

.common__button--white {
  background-color: var(--white);
  color: var(--green);
  border: 1px solid var(--white);
}

.common__button--white:hover, .common__button--white:active, .common__button--white:focus {
  background-color: var(--green);
  color: var(--white);
}

.common__button--white:hover .cls-1, .common__button--white:active .cls-1, .common__button--white:focus .cls-1 {
  stroke: var(--white);
}

.common__floatingImage {
  position: absolute;
  height: auto;
  pointer-events: none;
}

.common__map {
  display: flex;
  justify-content: center;
  position: relative;
}

.common__map__wrapper {
  position: relative;
}

.common__map__image {
  margin: 50px 0 0 0;
  width: 100%;
  max-width: 1100px;
  height: auto;
}

@media screen and (max-width: 1280px) { 
  .common__map__image {
    max-width: 950px;
  }
}

@media screen and (max-width: 950px) { 
  .common__map__image {
    margin: 40px 0 0 0;
    max-width: 568px;
  }
}

@media screen and (max-width: 600px) { 
  .common__map__image {
    max-width: 343px;
  }
}

.common__map__city {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  cursor: pointer;
}

.common__map__city:hover, .common__map__city:focus, .common__map__city:active {
  transform: scale(1.1);
  opacity: 0.6;
}

@media screen and (max-width: 950px) { 
  .common__map__city:hover, .common__map__city:focus, .common__map__city:active {
    transform: none;
  }
}

.common__map__city--row {
  flex-direction: row;
  align-items: center;
}

.common__map__city--taipei {
  top: 353px;
  right: 450px;
}

@media screen and (max-width: 1280px) { 
  .common__map__city--taipei {
    top: 320px;
    right: 374px;
  }
}

@media screen and (max-width: 950px) { 
  .common__map__city--taipei {
    top: 177px;
    right: 205px;
    transform: scale(0.6);
  }
}

@media screen and (max-width: 600px) { 
  .common__map__city--taipei {
    top: 106px;
    right: 91px;
    transform: scale(0.4);
  }
}

.common__map__city--paris {
  top: 120px;
  left: 4px;
}

@media screen and (max-width: 1280px) { 
  .common__map__city--paris {
    top: 100px;
    left: -2px;
  }
}

@media screen and (max-width: 950px) { 
  .common__map__city--paris {
    top: 80px;
    left: -40px;
    transform: scale(0.6);
    flex-direction: row;
  }
}

@media screen and (max-width: 600px) { 
  .common__map__city--paris {
    top: 59px;
    left: -49px;
    transform: scale(0.4);
  }
}

.common__map__city--seattle {
  top: 89px;
  right: 179px;
}

@media screen and (max-width: 1280px) { 
  .common__map__city--seattle {
    top: 69px;
    right: 147px;
  }
}

@media screen and (max-width: 950px) { 
  .common__map__city--seattle {
    top: 20px;
    right: 66px;
    transform: scale(0.6);
  }
}

@media screen and (max-width: 600px) { 
  .common__map__city--seattle {
    top: -1px;
    right: 16px;
    transform: scale(0.4);
  }
}

.common__map__city--brisbane {
  bottom: 54px;
  left: 375px;
}

@media screen and (max-width: 1280px) { 
  .common__map__city--brisbane {
    bottom: 22px;
    left: 315px;
  }
}

@media screen and (max-width: 950px) { 
  .common__map__city--brisbane {
    bottom: -13px;
    left: 160px;
    transform: scale(0.6);
  }
}

@media screen and (max-width: 600px) { 
  .common__map__city--brisbane {
    bottom: -35px;
    left: 82px;
    transform: scale(0.4);
  }
}

.common__map__city--bangkok {
  bottom: 200px;
  left: 210px;
}

@media screen and (max-width: 1280px) { 
  .common__map__city--bangkok {
    bottom: 155px;
    left: 165px;
  }
}

@media screen and (max-width: 950px) { 
  .common__map__city--bangkok {
    bottom: 80px;
    left: 58px;
    transform: scale(0.6);
  }
}

@media screen and (max-width: 600px) { 
  .common__map__city--bangkok {
    bottom: 21px;
    left: 11px;
    transform: scale(0.4);
  }
}

.common__map__city--hongkongMacaoKaohsiung {
  bottom: 191px;
  left: 431px;
}

@media screen and (max-width: 1280px) { 
  .common__map__city--hongkongMacaoKaohsiung {
    bottom: 150px;
    left: 359px;
  }
}

@media screen and (max-width: 950px) { 
  .common__map__city--hongkongMacaoKaohsiung {
    bottom: 79px;
    left: 198px;
    transform: scale(0.6);
  }
}

@media screen and (max-width: 600px) { 
  .common__map__city--hongkongMacaoKaohsiung {
    bottom: 28px;
    left: 82px;
    transform: scale(0.4);
  }
}

.common__map__city--milan {
  top: 310px;
  left: 80px;
}

@media screen and (max-width: 1280px) { 
  .common__map__city--milan {
    top: 280px;
    left: 30px;
  }
}

@media screen and (max-width: 950px) { 
  .common__map__city--milan {
    top: 166px;
    left: -22px;
    transform: scale(0.6);
    flex-direction: row;
  }
}

@media screen and (max-width: 600px) { 
  .common__map__city--milan {
    top: 104px;
    left: -46px;
    transform: scale(0.4);
  }
}

.common__map__city--jakarta {
  bottom: 180px;
  left: 320px;
}

@media screen and (max-width: 1280px) { 
  .common__map__city--jakarta {
    bottom: 144px;
    left: 285px;
  }
}

@media screen and (max-width: 950px) { 
  .common__map__city--jakarta {
    bottom: 77px;
    left: 125px;
    transform: scale(0.6);
  }
}

@media screen and (max-width: 600px) { 
  .common__map__city--jakarta {
    bottom: 32px;
    left: 55px;
    transform: scale(0.4);
  }
}

.common__map__city--dallas {
  top: 350px;
  right: 50px;
}

@media screen and (max-width: 1280px) { 
  .common__map__city--dallas {
    top: 305px;
    right: 28px;
  }
}

@media screen and (max-width: 950px) { 
  .common__map__city--dallas {
    top: 175px;
    right: -18px;
    transform: scale(0.6);
  }
}

@media screen and (max-width: 600px) { 
  .common__map__city--dallas {
    top: 110px;
    right: -40px;
    transform: scale(0.4);
  }
}

.common__map__name {
  font-size: 15px;
  letter-spacing: 0.05em;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (max-width: 950px) { 
  .common__map__name {
    text-decoration: underline;
  }
}

.common__map__name--english {
  font-size: 25px;
  font-weight: 300;
  letter-spacing: 0.075em;  
}

@media screen and (max-width: 950px) { 
  .common__map__name--english {
    text-decoration: underline;
  }
}

.common__map__name--small {
  font-size: 16px;
}

@media screen and (max-width: 1280px) { 
  .common__map__name--small {
    font-size: 14px;
  }
}

@media screen and (max-width: 950px) { 
  .common__map__name--small {
    font-size: 12px;
  }
}

.common__map__icon {
  height: auto;
}

.common__map__icon--taipei {
  width: 19px;
}

.common__map__icon--paris {
  width: 42px;
}

.common__map__icon--seattle {
  width: 40px;
}

.common__map__icon--brisbane {
  width: 43px;
}

.common__map__icon--bangkok {
  width: 65px;
}

.common__map__icon--hongkongMacaoKaohsiung {
  width: 60px;
}

.common__map__icon--milan {
  width: 60px;
}

.common__map__icon--jakarta {
  width: 23px;
}

.common__map__icon--dallas {
  width: 23px;
}

.common__popup {
  position: fixed;
  opacity: 0;
  visibility: hidden;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 1000;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

.common__popup.visible {
  opacity: 1;
  visibility: visible;
}

.common__popup__inner {
  position: absolute;
  padding: 30px 70px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  border-radius: 30px;
}

@media screen and (max-width: 950px) { 
  .common__popup__inner {
    padding: 24px 16px;
    width: calc(100% - 32px);
    max-width: 398px;
  }
}

.common__popup__wrapper {
  padding: 0 0 15px 0;
  border-bottom: 1px solid var(--black);
  position: relative;
}

.common__popup__number {
  position: absolute;
  top: 4px;
  left: 0;
  width: auto;
  height: 53px;
}

@media screen and (max-width: 950px) { 
  .common__popup__number {
    height: 40px;
  }
}

.common__popup__heading {
  padding: 0 0 0 110px;
  min-height: 60px;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 950px) { 
  .common__popup__heading {
    padding: 0 0 0 70px;
    min-height: 48px;
    font-size: 16px;
  }
}

.common__popup__image {
  margin: 20px 0 0;
  width: 100%;
  height: auto;
}

.common__popup__button {
  margin: 30px 0 0;
  display: flex;
  justify-content: center;
}

.common__border {
  width: 100%;
  height: 1px;
  content: '';
  background-color: var(--black);
}

.common__link {
  color: var(--green);
  text-decoration: underline;
}

.common__link:hover, .common__link:active, .common__link:focus {
  text-decoration: none;
}


/*
 * アニメーション
 */
.infiniteScroll {
  animation: infiniteScroll 60s linear infinite;
}
@keyframes infiniteScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* フェードイン（汎用的） */
.fadeIn {
  opacity: 0;
}
.fadeIn.is-show {
  opacity: 1;
  transition: opacity .8s cubic-bezier(0.210, 0.000, 0.075, 1) 0.4s;
}

/* フェードインアップ（主にコンテンツ部分で使用） */
.fadeInUp {
  opacity: 0;
  transform: translateY(48px);
}

.fadeInUp.is-show {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .8s, transform .8s;
  transition-delay: .4s;
}

/* スライドアップ（主に見出しで利用） */
.slideUp {
  overflow: hidden;
}
.slideUp > * {
  transform: translateY(101%);
}
.slideUp.is-show > * {
  transform: translateY(0);
  transition: transform 0.85s cubic-bezier(0.210, 0.000, 0.075, 1) 0.2s;
}

/* スプラッシュインレフト（主に背景で利用） */
.splashInLeft {
  max-width: 0;
}
.splashInLeft.is-show {
  max-width: 100%;
  transition: max-width 1s cubic-bezier(0.210, 0.000, 0.075, 1) 0.4s;
}
.splashInLeft > * {
  opacity: 0;
}
.splashInLeft.is-show > * {
  opacity: 1;
  transition: opacity 0.8s cubic-bezier(0.210, 0.000, 0.075, 1) 0.2s;
}

/* ムーブ（主に浮遊物） */
.move {
  animation: moveCloud 15s ease-in-out infinite;
}
@keyframes moveCloud {
  0%, 100% {
    transform: translateX(-100px) translateY(0); /* 初期位置 */
  }
  25%, 75% {
    transform: translateY(-5px);
  }
  50% {
    transform: translateX(100px)  translateY(5px); /* 画面の右端まで移動 */
  }
}

.p-city__contentWrapper {
  display: flex;
  position: relative;
}

.p-city__mainContent {
  margin: 0 250px 0 0;
  flex-grow: 1;
}

@media screen and (max-width: 1280px) { 
  .p-city__mainContent {
    margin: 0 180px 0 0;
  }
}

.p-city__mainVisual {
  position: relative;
}

.p-city__mainVisual__wrapper {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: hidden;
}

@media screen and (max-width: 1280px) { 
  .p-city__mainVisual__wrapper {
    height: 500px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__mainVisual__wrapper {
    height: 400px;
  }
}

.p-city__mainVisual__video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 110%;
}

@media screen and (max-width: 1280px) { 
  .p-city__mainVisual__video {
    width: 120%;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__mainVisual__video {
    width: 200%;
  }
}

.p-city__mainVisual__heading {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 850px;
  z-index: 4;
}

@media screen and (max-width: 1280px) { 
  .p-city__mainVisual__heading {
    max-width: 750px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__mainVisual__heading {
    bottom: -30px;
  }
}

.p-city__mainVisual__text {
  padding: 8px 25px;
  font-size: 30px;
  letter-spacing: 0.15em;
  background: linear-gradient(to right, #FFFFA1 0%, #DDD350 12%, #008D46 100%);
  display: inline-block;
}

@media screen and (max-width: 950px) { 
  .p-city__mainVisual__text {
    padding: 8px 8px;
    font-size: 19px;
    letter-spacing: 0.1em;
  }
}

.p-city__mainVisual__text--under {
  margin: 12px 0 0;
  background: linear-gradient(to right, #FFFFA1 0%, #DDD350 12%, #008D46 72%, #6464E2 100%);
}

@media screen and (max-width: 950px) { 
  .p-city__mainVisual__text--under {
    margin: 10px 0 0;
  }
}

@media screen and (max-width: 410px) { 
  .p-city__mainVisual__text--under {
    font-size: 17px;
  }
}

.p-city__mainVisual__text--small {
  font-size: 28px;
}

@media screen and (max-width: 950px) { 
  .p-city__mainVisual__text--small {
    font-size: 19px;
  }
}

@media screen and (max-width: 500px) { 
  .p-city__mainVisual__text--small {
    font-size: 16px;
  }
}

.p-city__main {
  width: 850px;
}

@media screen and (max-width: 1280px) { 
  .p-city__main {
    width: 750px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__main {
    margin: 0 16px;
    border: none;
    width: auto;
  }
}

.p-city__lead {
  margin: 120px 0 0;
  font-size: 18px;
  line-height: 2.1;
  letter-spacing: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__lead {
    margin: 80px 0 0;
    font-size: 14px;
  }
}

.p-city__toc {
  margin: 70px 0 0;
  padding: 40px 50px 50px;
  width: 100%;
  background-color: var(--green-light); 
}

@media screen and (max-width: 1280px) { 
  .p-city__toc {
    padding: 30px 40px 40px
  }
}

@media screen and (max-width: 950px) { 
  .p-city__toc {
    margin: 60px -16px 0;
    padding: 30px 16px 40px;
    width: 100vw;
  }
}

.p-city__toc__heading {
  padding: 0 0 17px 0;
  border-bottom: 1px solid var(--black);
  font-size: 20px;
  letter-spacing: 0.1em;
}

.p-city__toc__list {
  margin: 30px 0 0;
  counter-reset: number;
  display: flex;
  flex-direction: column;
  row-gap: 40px;
}

.p-city__toc__item {
  display: flex;
  align-items: center;
  display: block;
}

.p-city__toc__link {
  position: relative;
  padding: 0 0 0 60px;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: block;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

@media screen and (max-width: 950px) { 
  .p-city__toc__link {
    font-size: 14px;
    padding: 0 0 0 50px;
  }
}

.p-city__toc__link--addDay {
  padding: 0 0 0 124px;
}

@media screen and (max-width: 950px) { 
  .p-city__toc__link--addDay {
    padding: 0 48px 0 102px;
  }
}

.p-city__toc__link:hover, .p-city__toc__link:active, .p-city__toc__link:focus {
  transform: translateY(3px);
  opacity: 0.7;
}

.p-city__toc__link:before {
  position: absolute;
  padding: 8px 0 0;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "#";
  font-size: 25px;
  font-weight: normal;
  color: var(--green);
}

@media screen and (max-width: 950px) { 
  .p-city__toc__link:before {
    font-size: 22px;
  }
}

.p-city__toc__link--noNumber:before {
  content: none;
}

.p-city__toc__link:after {
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  content: counter(number);
  counter-increment: number;
  font-size: 35px;
  font-weight: normal;
  color: var(--green);
}

.p-city__toc__link--addDay:after {
  content: 'DAY' counter(number);
}

.p-city__toc__link--noNumber:after {
  content: none;
}

@media screen and (max-width: 950px) { 
  .p-city__toc__link:after {
    font-size: 30px;
  }
}

.p-city__toc__icon {
  position: absolute;
  top: 50%;
  right: 60px;
  transform: translateY(-50%);
  width: 25px;
  height: 25px;
}

@media screen and (max-width: 950px) { 
  .p-city__toc__icon {
    right: 20px;
  }
}

.p-city__content {
  display: flex;
  flex-direction: column;
}

.p-city__content__container {
  padding: 80px 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__container {
    padding: 60px 0;
  }
}

.p-city__content__heading {
  position: relative;
}

.p-city__content__heading__icon {
  position: absolute;
  color: var(--green);
  font-size: 42px;
  font-weight: normal;
  line-height: 2;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width: 950px) { 
  .p-city__content__heading__icon {
    font-size: 24px;
  }
}

.p-city__content__heading__icon::before {
  font-size: 25px;
  font-weight: normal;
  content: "#";
}

@media screen and (max-width: 950px) {
  .p-city__content__heading__icon::before {
    font-size: 14px;
  }
}

.p-city__content__number {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: auto;
  height: 82px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__number {
    height: 56px;
  }
}

.p-city__content__title {
  padding: 0 0 3px 140px;
  min-height: 82px;
  font-size: 25px;
  line-height: 1.6;
  letter-spacing: 0.15em;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 950px) { 
  .p-city__content__title {
    padding: 0 0 3px 80px;
    min-height: 56px;
    font-size: 17px;
  }
}

.p-city__content__heading.no-padd .p-city__content__title {
  padding-left: 45px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__heading.no-padd .p-city__content__title {
    padding-left: 0;
  }
}

/* # DAY 1みたいなHTMLテキストアイコンの場合のスタイル（スマホ） */
@media screen and (max-width: 950px) {
  .p-city__content__heading.with-icon .p-city__content__title {
    padding-left: 5em;
  }
}

.p-city__content__text {
  margin: 10px auto 0;
  max-width: 750px;
  font-size: 16px;
  line-height: 2.3;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__text {
    max-width: 700px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__text {
    margin: 10px auto 0;
    max-width: none;
    font-size: 14px;
  }
}

.p-city__content__imageWrapper {
  margin: 45px 0 0;
  height: 730px;
  position: relative;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__imageWrapper {
    height: 670px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__imageWrapper {
    margin: 40px 0 0;
    height: auto;
    display: flex;
    flex-direction: column;
    row-gap: 30px;
  }
}

.p-city__content__imageWrapper--large {
  height: 1100px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__imageWrapper--large {
    height: 950px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__imageWrapper--large {
    height: auto;
  }
}

.p-city__content__imageWrapper--middle {
  height: 880px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__imageWrapper--middle {
    height: 820px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__imageWrapper--middle {
    height: auto;
  }
}

.p-city__content__imageWrapper--small {
  height: 630px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__imageWrapper--small {
    height: 560px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__imageWrapper--small {
    height: auto;
  }
}

.p-city__content__image {
  height: auto;
}

.p-city__content__image--float {
  position: absolute;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--float {
    position: static;
  }
 
}

.p-city__content__image--full {
  margin: 45px 0 0;
  width: 100%;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--full {
    margin: 40px -16px 0;
    width: 100vw;
  }
}

.p-city__content__image--large {
  margin: 45px auto 0;
  width: 750px;
  display: block;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--large {
    width: 700px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--large {
    width: 100%;
    max-width: 700px;
  }
}

.p-city__content__image--middle {
  width: 540px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--middle {
    width: 460px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--middle {
    width: 80vw;
  }
}

.p-city__content__image--small {
  width: 360px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--small {
    width: 320px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--small {
    width: 60vw;
  }
}

.p-city__content__image--vertical {
  width: 240px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--vertical {
    width: 220px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--vertical {
    width: 180px;
  }
}

.p-city__content__image--verticalLarge {
  width: 300px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--verticalLarge {
    width: 260px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--verticalLarge {
    width: 180px;
  }
}

.p-city__content__image--taipei3 {
  top: 90px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--taipei3 {
    top: 80px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--taipei3 {
    align-self: flex-end;
  }
}

.p-city__content__image--taipei4 {
  bottom: 0;
  left: 50px;
}

.p-city__content__image--taipei7 {
  right: 50px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--taipei7 {
    align-self: flex-end;
  }
}

.p-city__content__image--taipei9 {
  left: 50px;
}

.p-city__content__image--taipei10 {
  top: 240px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--taipei10 {
    top: 220px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--taipei10 {
    align-self: flex-end;
  }
}

.p-city__content__image--taipei11 {
  bottom: 280px;
  left: 50px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--taipei11 {
    bottom: 240px;
  }
}

.p-city__content__image--taipei12 {
  right: 50px;
  bottom: 30px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--taipei12 {
    right: 50px;
    bottom: 10px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--taipei12 {
    align-self: flex-end;
  }
}

.p-city__content__image--taipei16 {
  top: 20px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--taipei16 {
    top: 25px;
  }
}

.p-city__content__image--taipei17 {
  right: 50px;
  bottom: 30px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--taipei17 {
    bottom: 40px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--taipei17 {
    align-self: flex-end;
  }
}

.p-city__content__image--taipei19 {
  top: 90px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--taipei19 {
    top: 100px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--taipei19 {
    align-self: flex-end;
  }
}

.p-city__content__image--taipei20 {
  bottom: 85px;
  left: 50px;
}

.p-city__content__image--taipei21 {
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--taipei21 {
    align-self: flex-end;
  }
}

.p-city__content__image--taipei23 {
  left: 50px;
}

.p-city__content__image--taipei24 {
  top: 230px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--taipei24 {
    top: 205px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--taipei24 {
    align-self: flex-end;
  }
}

.p-city__content__image--taipei25 {
  bottom: 230px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--taipei25 {
    bottom: 200px;
  }
}

.p-city__content__image--taipei26 {
  right: 50px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--taipei26 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris4 {
  left: 50px;
}

.p-city__content__image--paris5 {
  top: 255px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--paris5 {
    top: 230px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris5 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris6 {
  bottom: 220px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--paris6 {
    bottom: 180px;
  }
}

.p-city__content__image--paris7 {
  right: 50px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris7 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris10 {
  top: 0;
  left: 50px;
}

.p-city__content__image--paris11 {
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris11 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris13 {
  top: 56px;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris13 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris14 {
  top: 330px;
}

.p-city__content__image--paris15 {
  right: 0px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris15 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris17 {
  top: 0;
  left: 50px;
}

.p-city__content__image--paris18 {
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris18 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris19 {
  top: 0;
  left: 50px;
}

.p-city__content__image--paris20 {
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris20 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris22 {
  right: 50px;
  top: 386px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--paris22 {
    right: 50px;
    top: 344px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris22 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris23 {
  left: 0;
  bottom: 20px;
}

.p-city__content__image--paris25 {
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris25 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris28 {
  right: 50px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris28 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris30 {
  right: 50px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris30 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris33 {
  left: 50px;
}

.p-city__content__image--paris34 {
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris34 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris36 {
  right: 50px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris36 {
    align-self: flex-end;
  }
}

.p-city__content__image--paris38 {
  right: 50px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--paris38 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle2 {
  top: 0;
  left: 50px;
}

.p-city__content__image--seattle3 {
  top: 60px;
  right: 0px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--seattle3 {
    top: 80px;
    right: 0px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle3 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle4 {
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 1280px) {
  .p-city__content__image--seattle4 {
    bottom: 20px;
  }
}

.p-city__content__image--seattle5 {
  top: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle5 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle6 {
  bottom: 80px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--seattle6 {
    bottom: 100px;
  }
}

.p-city__content__image--seattle7 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle7 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle8 {
  top: 0;
  left: 50px;
}

.p-city__content__image--seattle9 {
  top: 280px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--seattle9 {
    top: 240px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle9 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle10 {
  bottom: 180px;
  left: 50px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--seattle10 {
    bottom: 150px;
    left: 30px;
  }
}

.p-city__content__image--seattle11 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle11 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle13 {
  top: 20px;
  left: 50px;
}

.p-city__content__image--seattle14 {
  top: 220px;
  right: 50px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--seattle14 {
    top: 230px;
    right: 20px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle14 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle15 {
  left: 0;
  bottom: 20px;
}

.p-city__content__image--seattle16 {
  top: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle16 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle17 {
  bottom: 80px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--seattle17 {
    bottom: 100px;
    left: 20px;
  }
}

.p-city__content__image--seattle18 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle18 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle19 {
  top: 0;
  left: 0;
}

.p-city__content__image--seattle20 {
  bottom: 80px;
  right: 40px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--seattle20 {
    bottom: 110px;
    right: 20px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle20 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle21 {
  bottom: 10px;
  left: 50px;
}

.p-city__content__image--seattle22 {
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle22 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle23 {
  bottom: 0;
  left: 50px;
}

.p-city__content__image--seattle24 {
  top: 0;
  right: 50px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--seattle24 {
    right: 30px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle24 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle25 {
  top: 80px;
  left: 40px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--seattle25 {
    top: 100px;
  }
}

.p-city__content__image--seattle26 {
  bottom: 0;
  right: 0px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle26 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle27 {
  top: 0;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--seattle27 {
    top: 20px;
  }
}

.p-city__content__image--seattle28 {
  top: 410px;
  right: 40px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--seattle28 {
    top: 380px;
    right: 30px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle28 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle29 {
  bottom: 20px;
  left: 50px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--seattle29 {
    bottom: 30px;
  }
}

.p-city__content__image--seattle30 {
  top: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle30 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle31 {
  bottom: 0;
  left: 50px;
}

.p-city__content__image--seattle32 {
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--seattle32 {
    bottom: 10px;

  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle32 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle35 {
  top: 0;
  left: 0;
}

.p-city__content__image--seattle36 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle36 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle37 {
  top: 0;
  left: 0;
}

.p-city__content__image--seattle38 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle38 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle39 {
  top: 0;
  left: 0;
}

.p-city__content__image--seattle40 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle40 {
    align-self: flex-end;
  }
}

.p-city__content__image--seattle41, .p-city__content__image--seattle42 {
  width: calc(50% - 10px);
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--seattle41, .p-city__content__image--seattle42 {
    width: 100%;
    max-width: 500px;
  }
}

.p-city__content__image--brisbane2 {
  top: 0;
  left: 50px;
}

.p-city__content__image--brisbane3 {
  top: 60px;
  right: 0px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--brisbane3 {
    top: 80px;
    right: 0px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane3 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane4 {
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 1280px) {
  .p-city__content__image--brisbane4 {
    bottom: 20px;
  }
}

.p-city__content__image--brisbane5 {
  top: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane5 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane6 {
  bottom: 80px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--brisbane6 {
    bottom: 100px;
  }
}

.p-city__content__image--brisbane7 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane7 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane8 {

  left: 50px;
}

.p-city__content__image--brisbane9 {
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane9 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane10 {
  left: 0;
}

.p-city__content__image--brisbane11 {
  bottom: 80px;
  right: 20px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--brisbane11 {
    bottom: 110px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane11 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane13 {
  left: 50px;
}

.p-city__content__image--brisbane14 {
  top: 280px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--brisbane14 {
    top: 245px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane14 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane15 {
  bottom: 176px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--brisbane15 {
    bottom: 150px;
  }
}

.p-city__content__image--brisbane16 {
  right: 50px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane16 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane17 {
  left: 50px;
}

.p-city__content__image--brisbane18 {
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane18 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane19 {
  left: 50px;
  bottom: 0;
}

.p-city__content__image--brisbane20 {
  left: 0;
}

.p-city__content__image--brisbane21 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane21 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane22 {
  left: 50px;
}

.p-city__content__image--brisbane24 {
  bottom: 80px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--brisbane24 {
    bottom: 100px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane24 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane25 {
  right: 50px;
  bottom: 0;
}

.p-city__content__image--brisbane27 {
  left: 50px;
}

.p-city__content__image--brisbane28 {
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane28 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane29 {
  top: 0;
  left: 50px;
}

.p-city__content__image--brisbane30 {
  top: 60px;
  right: 0px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--brisbane30 {
    top: 80px;
    right: 0px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane30 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane31 {
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 1280px) {
  .p-city__content__image--brisbane31 {
    bottom: 20px;
  }
}

.p-city__content__image--brisbane32 {
  top: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane32 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane33 {
  bottom: 80px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--brisbane33 {
    bottom: 100px;
  }
}

.p-city__content__image--brisbane34 {
  bottom: -10px;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane34 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane35 {
  top: 20px;
  left: 0;
}

.p-city__content__image--brisbane36 {
  top: 430px;
  right: 0px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--brisbane36 {
    top: 368px;
    right: 0;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane36 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane37 {
  bottom: 10px;
  left: 0;
}

@media screen and (max-width: 1280px) {
  .p-city__content__image--brisbane37 {
    bottom: 20px;
  }
}

.p-city__content__image--brisbane39 {
  left: 50px;
}

.p-city__content__image--brisbane40 {
  top: 160px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--brisbane40 {
    top: 160px;
    right: 30px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane40 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane41 {
  bottom: 284px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--brisbane41 {
    bottom: 245px;
  }
}

.p-city__content__image--brisbane42 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane42 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane43 {
  left: 50px;
}

.p-city__content__image--brisbane44 {
  top: 290px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--brisbane44 {
    top: 270px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane44 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane45 {
  bottom: 150px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--brisbane45 {
    bottom: 110px;
  }
}

.p-city__content__image--brisbane46 {
  right: 50px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane46 {
    align-self: flex-end;
  }
}

.p-city__content__image--brisbane47 {
  top: 0;
  left: 0;
}

.p-city__content__image--brisbane48 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--brisbane48 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok2 {
  top: 0;
  left: 0;
}

.p-city__content__image--bangkok3 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok3 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok4 {
  top: 0;
  left: 50px;
}

.p-city__content__image--bangkok5 {
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok5 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok7 {
  top: 0;
  left: 50px;
}

.p-city__content__image--bangkok8 {
  top: 60px;
  right: 0px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--bangkok8 {
    top: 80px;
    right: 0px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok8 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok9 {
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 1280px) {
  .p-city__content__image--bangkok9 {
    bottom: 20px;
  }
}

.p-city__content__image--bangkok10 {
  top: 0;
  right: 50px;
}


@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok10 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok11 {
  top: 60px;
  left: 0px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--bangkok11 {
    top: 80px;
    left: 0px;
  }
}

.p-city__content__image--bangkok12 {
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 1280px) {
  .p-city__content__image--bangkok12 {
    bottom: 20px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok12 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok13 {
  top: 20px;
  left: 0;
}

.p-city__content__image--bangkok14 {
  top: 410px;
  right: 0px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--bangkok14 {
    top: 340px;
    right: 0;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok14 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok15 {
  bottom: 20px;
  left: 0;
}

@media screen and (max-width: 1280px) {
  .p-city__content__image--bangkok15 {
    bottom: 20px;
  }
}

.p-city__content__image--bangkok17 {
  left: 0;
}

.p-city__content__image--bangkok18 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok18 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok21 {
  top: 0;
  left: 0;
}


.p-city__content__image--bangkok22 {
  bottom: 80px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--bangkok22 {
    bottom: 100px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok22 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok23 {
  bottom: 0;
  left: 50px;
}

.p-city__content__image--bangkok24 {
  top: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok24 {
    align-self: flex-end;
  }
}


.p-city__content__image--bangkok25 {
  bottom: 0;
  left: 50px;
}

.p-city__content__image--bangkok27 {
  top: 0;
  left: 50px;
}

.p-city__content__image--bangkok28 {
  top: 60px;
  right: 0px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--bangkok28 {
    top: 80px;
    right: 0px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok28 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok29 {
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 1280px) {
  .p-city__content__image--bangkok29 {
    bottom: 20px;
  }
}

.p-city__content__image--bangkok30 {
  top: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok30 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok31 {
  bottom: 80px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--bangkok31 {
    bottom: 100px;
  }
}

.p-city__content__image--bangkok32 {
  bottom: -10px;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok32 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok33 {
  top: 0;
  left: 50px;
}

.p-city__content__image--bangkok34 {
  top: 100px;
  right: 10px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--bangkok34 {
    top: 130px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok34 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok35 {
  left: 10px;
  bottom: 140px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--bangkok35 {
    bottom: 150px;
  }
}

.p-city__content__image--bangkok36 {
  right: 50px;
  bottom: 20px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok36 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok37 {
  top: 0;
  left: 0;
}


.p-city__content__image--bangkok38 {
  bottom: 80px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--bangkok38 {
    bottom: 100px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok38 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok39 {
  bottom: 0;
  left: 50px;
}

.p-city__content__image--bangkok40 {
  top: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--bangkok40 {
    align-self: flex-end;
  }
}

.p-city__content__image--bangkok41 {
  bottom: 0;
  left: 50px;
}

.p-city__content__image--hongkong-macao-kaohsiung3 {
  top: 0;
  left: 0;
}

.p-city__content__image--hongkong-macao-kaohsiung4 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--hongkong-macao-kaohsiung4 {
    align-self: flex-end;
  }
}

.p-city__content__image--hongkong-macao-kaohsiung6 {
  top: 0;
  left: 0;
}


.p-city__content__image--hongkong-macao-kaohsiung7 {
  bottom: 80px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--hongkong-macao-kaohsiung7 {
    bottom: 100px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--hongkong-macao-kaohsiung7 {
    align-self: flex-end;
  }
}

.p-city__content__image--hongkong-macao-kaohsiung8 {
  bottom: 0;
  left: 50px;
}

.p-city__content__image--hongkong-macao-kaohsiung10 {
  top: 90px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--hongkong-macao-kaohsiung10 {
    top: 80px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--hongkong-macao-kaohsiung10 {
    align-self: flex-end;
  }
}

.p-city__content__image--hongkong-macao-kaohsiung11 {
  bottom: 10px;
  left: 50px;
}

.p-city__content__image--hongkong-macao-kaohsiung12 {
  top: -20px;
  left: 0px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--hongkong-macao-kaohsiung12 {
    align-self: flex-end;
  }
}

.p-city__content__image--hongkong-macao-kaohsiung14 {
  right: 0;
  bottom: 0;
}

.p-city__content__image--hongkong-macao-kaohsiung20 {
  left: 0;
}

.p-city__content__image--hongkong-macao-kaohsiung21 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--hongkong-macao-kaohsiung21 {
    align-self: flex-end;
  }
}

.p-city__content__image--hongkong-macao-kaohsiung23 {
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--hongkong-macao-kaohsiung23 {
    align-self: flex-end;
  }
}

.p-city__content__image--hongkong-macao-kaohsiung24 {
  left: 50px;
}

.p-city__content__image--hongkong-macao-kaohsiung25 {
  top: 84px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--hongkong-macao-kaohsiung25 {
    top: 100px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--hongkong-macao-kaohsiung25 {
    align-self: flex-end;
  }
}

.p-city__content__image--hongkong-macao-kaohsiung26 {
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--hongkong-macao-kaohsiung26 {
    bottom: 0;
  }
}

.p-city__content__image--hongkong-macao-kaohsiung29 {
  top: 0;
  left: 50px;
}

.p-city__content__image--hongkong-macao-kaohsiung30 {
  top: 60px;
  right: 0px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--hongkong-macao-kaohsiung30 {
    top: 80px;
    right: 0px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--hongkong-macao-kaohsiung30 {
    align-self: flex-end;
  }
}

.p-city__content__image--hongkong-macao-kaohsiung31 {
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 1280px) {
  .p-city__content__image--hongkong-macao-kaohsiung31 {
    bottom: 20px;
  }
}

.p-city__content__image--hongkong-macao-kaohsiung35 {
  top: 0;
  left: 0;
}

.p-city__content__image--hongkong-macao-kaohsiung36 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--hongkong-macao-kaohsiung36 {
    align-self: flex-end;
  }
}

.p-city__content__image--hongkong-macao-kaohsiung38 {
  left: 50px;
}

.p-city__content__image--hongkong-macao-kaohsiung39 {
  top: 84px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--hongkong-macao-kaohsiung39 {
    top: 100px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--hongkong-macao-kaohsiung39 {
    align-self: flex-end;
  }
}

.p-city__content__image--hongkong-macao-kaohsiung40 {
  bottom: 0;
  left: 0;
}

.p-city__content__image--milan3 {
  right: 50px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan3 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan4 {
  top: 0;
  left: 50px;
}

.p-city__content__image--milan5 {
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan5 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan9 {
  top: 50px;
  right: 30px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan9 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan10 {
  bottom: 70px;
  left: 30px;
}

.p-city__content__image--milan11 {
  right: 50px;
  bottom: 20px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan11 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan12 {
  left: 50px;
}

.p-city__content__image--milan13 {
  top: 90px;
  right: 10px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--milan13 {
    top: 100px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan13 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan14 {
  left: 0;
  bottom: 0;
}

.p-city__content__image--milan15 {
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan15 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan16 {
  bottom: 0;
  left: 0;
}

.p-city__content__image--milan20 {
  right: 50px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan20 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan22 {
  top: 50px;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan22 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan23 {
  bottom: 30px;
  left: 0;
}

.p-city__content__image--milan24 {
  right: 20px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan24 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan27 {
  left: 50px;
}

.p-city__content__image--milan28 {
  top: 280px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--milan28 {
    top: 245px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan28 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan29 {
  bottom: 176px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--milan29 {
    bottom: 150px;
  }
}

.p-city__content__image--milan30 {
  right: 50px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan30 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan34 {
  right: 50px;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan34 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan35 {
  left: 50px;
}

.p-city__content__image--milan36 {
  top: 90px;
  right: 10px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--milan36 {
    top: 100px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan36 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan37 {
  left: 0;
  bottom: 0;
}

.p-city__content__image--milan39 {
  top: 50px;
  right: 30px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan39 {
    align-self: flex-end;
  }
}

.p-city__content__image--milan40 {
  bottom: 70px;
  left: 30px;
}

.p-city__content__image--milan41 {
  right: 50px;
  bottom: 20px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--milan41 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta2 {
  top: 0;
  left: 0;
}

.p-city__content__image--jakarta3 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta3 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta4 {
  top: 0;
  left: 0;
}

.p-city__content__image--jakarta5 {
  bottom: 80px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--jakarta5 {
    bottom: 100px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta5 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta6 {
  bottom: 0;
  left: 50px;
}

.p-city__content__image--jakarta7 {
  top: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta7 {
    align-self: flex-end;
  }
}


.p-city__content__image--jakarta8 {
  bottom: 0;
  left: 50px;
}

.p-city__content__image--jakarta9 {
  top: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta9 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta10 {
  bottom: 80px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--jakarta10 {
    bottom: 100px;
  }
}

.p-city__content__image--jakarta11 {
  bottom: -10px;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta11 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta13 {
  top: 0;
  left: 50px;
}

.p-city__content__image--jakarta14 {
  top: 100px;
  right: 10px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--jakarta14 {
    top: 130px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta14 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta15 {
  left: 10px;
  bottom: 140px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--jakarta15 {
    bottom: 150px;
  }
}

.p-city__content__image--jakarta16 {
  right: 50px;
  bottom: 20px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta16 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta17 {
  left: 0;
}

.p-city__content__image--jakarta18 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta18 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta19 {
  left: 50px; 
}

.p-city__content__image--jakarta20 {
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta20 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta21 {
  left: 0;
}

.p-city__content__image--jakarta22 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta22 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta23 {
  top: 0;
  left: 50px;
}

.p-city__content__image--jakarta24 {
  top: 60px;
  right: 0px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--jakarta24 {
    top: 80px;
    right: 0px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta24 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta25 {
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 1280px) {
  .p-city__content__image--jakarta25 {
    bottom: 20px;
  }
}

.p-city__content__image--jakarta27 {
  top: 0;
  left: 50px;
}

.p-city__content__image--jakarta28 {
  top: 100px;
  right: 10px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--jakarta28 {
    top: 130px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta28 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta29 {
  left: 10px;
  bottom: 140px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--jakarta29 {
    bottom: 150px;
  }
}

.p-city__content__image--jakarta30 {
  right: 50px;
  bottom: 20px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta30 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta31 {
  left: 0;
}

.p-city__content__image--jakarta32 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta32 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta33 {
  left: 50px; 
}

.p-city__content__image--jakarta34 {
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta34 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta36 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta36 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta38 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta38 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta41 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta41 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta42 {
  left: 50px;
}

.p-city__content__image--jakarta43 {
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta43 {
    align-self: flex-end;
  }
}

.p-city__content__image--jakarta44 {

  left: 50px;
}


.p-city__content__image--jakarta45 {
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--jakarta45 {
    align-self: flex-end;
  }
}

.p-city__content__image--dallas2 {
  top: 0;
  left: 0;
}

.p-city__content__image--dallas3 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--dallas3 {
    align-self: flex-end;
  }
}

.p-city__content__image--dallas4 {
  left: 0;
}

.p-city__content__image--dallas5 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--dallas5 {
    align-self: flex-end;
  }
}

.p-city__content__image--dallas6 {
  left: 0;
}

.p-city__content__image--dallas10 {
  top: 0;
  left: 50px;
}

.p-city__content__image--dallas11 {
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--dallas11 {
    align-self: flex-end;
  }
}

.p-city__content__image--dallas12 {
  left: 0;
}

.p-city__content__image--dallas13 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--dallas13 {
    align-self: flex-end;
  }
}

.p-city__content__image--dallas14 {
  top: 0;
  left: 0;
}

.p-city__content__image--dallas15 {
  bottom: 0;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--dallas15 {
    align-self: flex-end;
  }
}

.p-city__content__image--dallas17 {
  top: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--dallas17 {
    align-self: flex-end;
  }
}

.p-city__content__image--dallas18 {
  bottom: 80px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--dallas18 {
    bottom: 100px;
  }
}

.p-city__content__image--dallas19 {
  bottom: -10px;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--dallas19 {
    align-self: flex-end;
  }
}

.p-city__content__image--dallas20 {
  top: 0;
  left: 0;
}

.p-city__content__image--dallas21 {
  bottom: 80px;
  right: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--dallas21 {
    bottom: 100px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--dallas21 {
    align-self: flex-end;
  }
}

.p-city__content__image--dallas22 {
  bottom: 0;
  left: 50px;
}

.p-city__content__image--dallas23 {
  top: 0;
  right: 0;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--dallas23 {
    align-self: flex-end;
  }
}

.p-city__content__image--dallas24 {
  bottom: 80px;
  left: 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--dallas24 {
    bottom: 100px;
  }
}

.p-city__content__image--dallas25 {
  bottom: -10px;
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--dallas25 {
    align-self: flex-end;
  }
}

.p-city__content__image--dallas26 {
  right: 0;
  bottom: 0;
  width: 500px;
}

@media screen and (max-width: 1280px) { 
  .p-city__content__image--dallas26 {
    width: 480px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--dallas26 {
    width: 60vw;
    align-self: flex-end;
  }
}

.p-city__content__image--dallas27 {
  top: 50px;
  right: 50px;
  width: 200px
}

@media screen and (max-width: 950px) { 
  .p-city__content__image--dallas27 {
    position: absolute;
    top: auto;
    right: auto;
    bottom: 24px;
    left: 0;
    width: 30vw;
  }
}



/* 吹き出し */
.p-city__speechBubble {
  position: absolute;
}

.p-city__speechBubble--taipei1 {
  top: 395px;
  left: 114px;
}

@media screen and (max-width: 1280px) { 
  .p-city__speechBubble--taipei1 {
    top: 370px;
    left: 100px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble--taipei1 {
    top: 200px;
    left: 215px;
  }
}

.p-city__speechBubble--taipei2 {
  bottom: 170px;
  left: 250px;
}

@media screen and (max-width: 1280px) { 
  .p-city__speechBubble--taipei2 {
    bottom: 150px;
    left: 194px;
  }
}

@media screen and (max-width: 950px) {
  .p-city__speechBubble--taipei2 {
    margin: 10px 0 0;
    position: static;
  }
}

.p-city__speechBubble--taipei3 {
  top: 325px;
  left: 60px;
}

@media screen and (max-width: 1280px) { 
  .p-city__speechBubble--taipei3 {
    top: 300px;
    left: 42px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble--taipei3 {
    margin: 10px 100px 10px 0;
    position: static;
  }
}

.p-city__speechBubble--taipei4 {
  bottom: 250px;
  right: 60px;
}

@media screen and (max-width: 1280px) { 
  .p-city__speechBubble--taipei4 {
    bottom: 230px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble--taipei4 {
    margin: 0 60px 0 0;
    position: static;
  }
}

.p-city__speechBubble--paris1 {
  bottom: 125px;
  left: 200px;
}

@media screen and (max-width: 1280px) { 
  .p-city__speechBubble--paris1 {
    bottom: 110px;
    left: 150px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble--paris1 {
    margin: 10px 100px 10px 0;
    position: static;
  }
}

.p-city__speechBubble--paris2 {
  bottom: 194px;
  left: 78px;
}

@media screen and (max-width: 1280px) { 
  .p-city__speechBubble--paris2 {
    bottom: 190px;
    left: 66px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble--paris2 {
    margin: 10px 100px 10px 0;
    position: static;
  }
}

.p-city__speechBubble--bangkok1 {
  top: 320px;
  right: 230px;
}

@media screen and (max-width: 1280px) { 
  .p-city__speechBubble--bangkok1 {
    top: 260px;
    right: 190px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble--bangkok1 {
    margin: 10px 10px 14px 0;
    position: static;
  }
}

.p-city__speechBubble--bangkok2 {
  top: 416px;
  left: 20px;
}

@media screen and (max-width: 1280px) { 
  .p-city__speechBubble--bangkok2 {
    top: 380px;
    left: 10px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble--bangkok2 {
    margin: 10px auto 14px 40px;
    position: static;
  }
}

@media screen and (max-width: 600px) { 
  .p-city__speechBubble--bangkok2 {
    margin: 10px auto 14px 0;
    position: static;
  }
}

.p-city__speechBubble--hongkong-macao-kaohsiung1 {
  top: 349px;
  right: 160px;
}

@media screen and (max-width: 1280px) { 
  .p-city__speechBubble--hongkong-macao-kaohsiung1 {
    top: 300px;
    right: 150px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble--hongkong-macao-kaohsiung1 {
    margin: 10px 260px 14px auto;
    position: static;
  }
}

@media screen and (max-width: 600px) { 
  .p-city__speechBubble--hongkong-macao-kaohsiung1 {
    margin: 10px 126px 4px auto;
  }
}

.p-city__speechBubble__wrapper {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-city__speechBubble__text {
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble__text {
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

.p-city__speechBubble__image {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 190px;
  height: auto;
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble__image {
    width: 160px;
  }
}

.p-city__speechBubble__image--up {
  top: -9px;
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble__image--up {
    top: -7px;
  }
  
}

.p-city__speechBubble__image--down {
  top: -25px;
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble__image--down {
    top: -21px;
  }
}

.p-city__speechBubble__image--large.p-city__speechBubble__image--up {
  top: -14px;
  width: 250px;
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble__image--large.p-city__speechBubble__image--up {
    width: 230px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble--taipei4 .p-city__speechBubble__image--large.p-city__speechBubble__image--up {
    top: -5px;
    width: 230px;
  }
}

.p-city__speechBubble__image--large.p-city__speechBubble__image--down {
  top: -29px;
  width: 264px;
}

@media screen and (max-width: 950px) { 
  .p-city__speechBubble__image--large.p-city__speechBubble__image--down {
    top: -31px;
  }
}

.p-city__summary {
  margin: 0 0 80px 0;
}

@media screen and (max-width: 950px) { 
  .p-city__summary {
    margin: 0 0 60px 0;
  }
}

.p-city__summary__heading {
  margin: 80px 0 0;
  font-size: 27px;
  line-height: 1.6;
  letter-spacing: 0.15em;
}

@media screen and (max-width: 950px) { 
  .p-city__summary__heading {
    margin: 60px 0 0;
    font-size: 22px;
  }
}

.p-city__bannerContainer {
  margin: 80px -50px 0;
  display: flex;
  justify-content: center;
  column-gap: 30px;
}

@media screen and (max-width: 1280px) {
  .p-city__bannerContainer {
    margin: 80px 0 0;
    column-gap: 20px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__bannerContainer {
    flex-direction: column;
    align-items: center;
    row-gap: 30px;
  }
}

.p-city__banner__heading {
  margin: 0 0 10px;
  font-size: 16px;
  letter-spacing: 0.03em;
}

.p-city__banner__image {
  width: 100%;
  height: auto;
  transition: opacity 0.3s ease-in-out;
}

.p-city__banner__image--single {
  max-width: 750px;
}

@media screen and (max-width: 1280px) { 
  .p-city__banner__image--single {
    max-width: 700px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__banner__image--single {
    max-width: 500px;
  }
}

.p-city__banner__image:hover, .p-city__banner__image:active, .p-city__banner__image:focus {
  opacity: 0.7;
}

.p-city__movie__heading {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 950px) { 
  .p-city__movie__heading {
    font-size: 18px;
  }
}

.p-city__movie__wrapper {
  margin: 24px 0 0;
  display: flex;
  justify-content: center;
}

.p-city__movie iframe {
  width: 100%;
  max-width: 650px;
  height: auto;
  aspect-ratio: 16 / 9;
}

@media screen and (max-width: 950px) { 
  .p-city__movie iframe {
    max-width: 600px; 
  }
}

.p-city__link {
  position: relative;
  margin: 100px -50px 0;
  padding: 55px 100px;
  border: 1px solid;
  border-image: linear-gradient(to right, #ffffa1 0%, #f6f38c 7%, #ebe572 17%, #e3db5f 28%, #ded553 39%, #ddd350 51%, #008d46 100%);
  border-image-slice: 1;
}

@media screen and (max-width: 1280px) { 
  .p-city__link {
    margin: 60px 0 0;
    padding: 36px 25px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__link {
    margin: 60px auto 0;
    padding: 30px 16px;
    max-width: 450px;
  }
}

.p-city__link--3 {
  margin: 100px 0 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__link--3 {
    margin: 60px 0 0;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__link--3 {
    margin: 60px auto 0;
  }
}

.p-city__link--5 {
  padding: 55px 0;
}

@media screen and (max-width: 1280px) { 
  .p-city__link--5 {
    padding: 36px 25px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__link--5 {
    padding: 40px 16px 30px;
  }
}

.p-city__link--5 .p-city__link__city {
  font-size: 16px;
}

@media screen and (max-width: 1280px) { 
  .p-city__link--5 .p-city__link__city {
    font-size: 15px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__link--5 .p-city__link__city {
    font-size: 14px;
  }
}

@media screen and (min-width: 951px) and (max-width: 1280px) { 
  .p-city__link--5 .p-city__link__city--small {
    font-size: 12px;
  } 
}

.p-city__link--5 .p-city__link__code {
  font-size: 28px;
}

@media screen and (max-width: 1280px) { 
  .p-city__link--5 .p-city__link__code {
    font-size: 25px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__link--5 .p-city__link__code {
    font-size: 22px;
  }
}

.p-city__link--withNote {
  padding: 36px 100px 55px;
}

@media screen and (max-width: 1280px) { 
  .p-city__link--withNote {
    padding: 36px 25px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__link--withNote {
    padding: 36px 16px 30px;
  }
}

.p-city__link--mtSmall {
  margin: -20px auto 0;
}

.p-city__link__heading {
  position: absolute;
  z-index: 2;
  padding: 10px 15px;
  top: -27px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 20px;
  letter-spacing: 0.2em;
  white-space: nowrap;
  background-color: var(--white);
}

@media screen and (max-width: 950px) { 
  .p-city__link__heading {
    top: -21px;
    font-size: 16px;
  }
}

.p-city__link__note {
  margin: 0 0 25px 0;
  font-size: 17px;
}

@media screen and (max-width: 950px) { 
  .p-city__link__note {
    margin: 0 0 20px 0;
    font-size: 15px;
  }
}

.p-city__link__wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  justify-content: center;
}

@media screen and (max-width: 950px) { 
  .p-city__link__wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-city__link__wrapper--2 {
  margin: 0 auto;
  width: 344px;
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (max-width: 950px) { 
  .p-city__link__wrapper--2 {
    width: auto;
  }
}

.p-city__link__wrapper--3 {
  margin: 0 auto;
  width: 558px;
  grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 1280px) {
  .p-city__link__wrapper--3 {
    width: 521px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__link__wrapper--3 {
    width: auto;
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-city__link__wrapper--5 {
  width: 900px;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}

@media screen and (max-width: 1280px) { 
  .p-city__link__wrapper--5 {
    width: 698px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__link__wrapper--5 {
    width: auto;
  }
}

.p-city__link__tier {
  display: flex;
  gap: 10px;
  justify-content: center;
}

@media screen and (max-width: 950px) { 
  .p-city__link__tier {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-city__link__tier .p-city__link__item {
  max-width: 172px;
}

@media screen and (max-width: 1280px) { 
  .p-city__link__tier .p-city__link__item {
    max-width: 132px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__link__tier .p-city__link__item {
    max-width: none;
  }
}

.p-city__link__item {
  width: 100%;
  height: auto;
  position: relative;
}

.p-city__link__item::after {
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 2;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  content: ''; 
  transition: background-color 0.3s ease-in-out;
}

.p-city__link__item:hover::after, .p-city__link__item:active::after, .p-city__link__item:focus::after {
  background-color: rgba(0, 0, 0, 0.2);
}

.p-city__link__image {
  width: 100%;
  height: auto;
}

.p-city__link__text {
  position: absolute;
  left: 12px;
  bottom: 8px;
  z-index: 3;
}

.p-city__link__city {
  font-size: 17px;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 1280px) { 
  .p-city__link__city {
    font-size: 15px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__link__city {
    font-size: 14px;
  }
}

.p-city__link__code {
  font-size: 30px;
  letter-spacing: 0.1em;
  color: #76A799;
}

@media screen and (max-width: 950px) { 
  .p-city__link__code {
    font-size: 22px;
  }
}

.p-city__link__border {
  position: absolute;
  top: 0;
  left: 0;
  width: 950px;
}

@media screen and (max-width: 1280px) {
  .p-city__link__border {
    width: 750px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__link__border {
    width: 100%;
    max-width: 450px;
    height: auto;
  }
}

.p-city__link__label {
  position: absolute;
  top: -24px;
  left: -20px;
  z-index: 11;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: -0.02em;
  color: var(--white);
  background-color: var(--orange);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
  border-radius: 50px;
  white-space: nowrap;
  text-align: center;
}

@media screen and (max-width: 1280px) {
  .p-city__link__label {
    top: -20px;
    left: -27px;
    font-size: 10px;
    padding: 6px 10px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__link__label {
    top: -22px;
    left: -10px;
    padding: 6px 8px;
    font-size: 12px;
  }
}

.p-city__link__labelImage {
  position: absolute;
  top: 0;
  right: 0;
  width: 70px;
  height: auto;
  z-index: 10;
  border: 2px solid yellow;
  opacity: 0.7;
}

@media screen and (max-width: 1280px) { 
  .p-city__link__labelImage {
    width: 60px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__link__labelImage {
    width: 64px;
  }
}

.p-city__imageWrapper {
  margin: 45px auto 0;
  width: 700px;
  display: flex;
  column-gap: 20px;
}

@media screen and (max-width: 950px) { 
  .p-city__imageWrapper {
    width: 100%;
    flex-direction: column;
    align-items: center;
    row-gap: 30px;
  }
}

.p-city__info {
  margin: 60px 0 0;
  display: flex;
  justify-content: center;
  column-gap: 30px;
}

@media screen and (max-width: 950px) { 
  .p-city__info {
    column-gap: 15px;
  }
}

.p-city__info__image {
  width: 150px;
  height: auto;
  transition: opacity 0.3s ease-in-out;
}

@media screen and (max-width: 950px) { 
  .p-city__info__image {
    width: 120px;
  }
}

.p-city__info__image:hover, .p-city__info__image:active, .p-city__info__image:focus {
  opacity: 0.8; 
}

.p-city__info__heading {
  font-size: 18px;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 950px) { 
  .p-city__info__heading {
    font-size: 16px;
  }
}

.p-city__info__list {
  margin: 15px 0 0;
}

.p-city__info__item {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 950px) { 
  .p-city__info__item {
    font-size: 14px;
  }
}

.p-city__info__banner {
  margin: 45px auto;
  width: 460px;
  height: auto;
  display: block;
}

@media screen and (max-width: 950px) { 
  .p-city__info__banner {
    width: 80vw;
  }
}

.p-city__promotion {
  margin: 50px auto;
  width: 750px;
}

@media screen and (max-width: 1280px) { 
  .p-city__promotion {
    margin: 45px auto;
    width: auto;
  }
}

.p-city__promotion--mtLarge {
  margin: 80px auto 20px;
}

.p-city__promotion__wrapper {
  display: flex;
  justify-content: center;
  column-gap: 30px;
}

@media screen and (max-width: 1280px) { 
  .p-city__promotion__wrapper {
    column-gap: 20px;
  }
}

.p-city__promotion__logo {
  width: 160px;
  height: auto;
  transition: opacity 0.3s ease-in-out;
}

@media screen and (max-width: 1280px) { 
  .p-city__promotion__logo {
    width: 150px;
  }
}

.p-city__promotion__logo:hover, .p-city__promotion__logo:focus, .p-city__promotion__logo:active {
  opacity: 0.8;
}

.p-city__promotion__logo--large {
  width: 350px;
}

@media screen and (max-width: 950px) { 
  .p-city__promotion__logo--large {
    width: 300px;
  }
}


.p-city__sidebar {
  position: fixed;
  top: 0;
  right: 0;
  padding: 0 0 10px 0;
  border-left: 1px solid #A6A6A6;
  width: 250px;
  height: 100vh;
  height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 40px;
}

@media screen and (max-width: 1280px) { 
  .p-city__sidebar {
    width: 180px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__sidebar {
    display: none;
  }
}

.p-city__sidebar__text {
  width: auto;
  height: 50vh;
  height: 50svh;
  max-height: 450px;
}

@media screen and (max-width: 1280px) { 
  .p-city__sidebar__text {
    height: 50%;
  }
}

.p-city__sidebar__logo {
  width: 100%;
  max-width: 152px;
  height: auto;
}

@media screen and (max-width: 1280px) { 
  .p-city__sidebar__logo {
    max-width: 82px;
  }
}

@media screen and (max-width: 950px) { 
  .p-city__sidebar__link {
    position: fixed;
    z-index: 9;
    left: 50%;
    transform: translateX(-50%);
    bottom: 10px;
    opacity: 0;
    visibility: hidden;
    transition: visible 0.3s ease-in-out, opacity 0.3s ease-in-out;
  }
}

@media (max-width: 950px) {
  .p-city__sidebar__link.visible {
    visibility: visible;
    opacity: 1;
  }
}

.p-city__sidebar__image {
  padding: 0 9px;
  width: 100%;
  height: auto;
  transition: opacity 0.3s ease-in-out;
}

@media screen and (max-width: 950px) { 
  .p-city__sidebar__image {
    padding: 0;
    max-width: 210px;
  }
}

.p-city__sidebar__image:hover, .p-city__sidebar__image:active, .p-city__sidebar__image:focus {
  opacity: 0.8;
}

.p-city__overlay {
  position: relative;
}

@media screen and (max-width: 950px) { 
  .p-city__overlay {
    margin: 0 -16px;
  }
}

.p-city__overlay::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

.p-city__overlay__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 70px;
  z-index: 2;
}

@media screen and (max-width: 950px) { 
  .p-city__overlay__content {
    row-gap: 50px;
  }
}

@media screen and (max-width: 500px) { 
  .p-city__overlay__content {
    row-gap: 30px;
  }
}

.p-city__overlay__text {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--white);
}

@media screen and (max-width: 950px) { 
  .p-city__overlay__text {
    font-size: 20px;
  }
}

@media screen and (max-width: 500px) { 
  .p-city__overlay__text {
    font-size: 18px;
  }
}

@media screen and (min-width: 501px) { 
  .p-city__overlay__break {
    display: none;
  }
}

.p-city__overlay__wrapper {
  display: flex;
  column-gap: 20px;
}

@media screen and (max-width: 950px) { 
  .p-city__overlay__wrapper {
    column-gap: 10px;
  }
}

.p-city__overlay__link:hover, .p-city__overlay__link:active, .p-city__overlay__link:focus {
  opacity: 0.8;
}

.p-city__overlay__image {
  width: 200px;
  height: auto;
}

@media screen and (max-width: 950px) { 
  .p-city__overlay__image {
    width: 150px;
  }
}

@media screen and (max-width: 500px) { 
  .p-city__overlay__image {
    width: 110px;
  }
}

.p-city__overlay__background {
  width: 100%;
  height: auto;
}

.p-city__instagram {
  max-width: 400px;
  margin: 45px auto 0;
}

.p-city__dallas__promotion {
  display: flex;
  align-items: flex-start;
}

@media screen and (max-width: 950px) {
  .p-city__dallas__promotion {
    flex-direction: column;
  }
}

.p-city__dallas__image {
  display: block;
  height: auto;
}

.p-city__dallas__image--sim {
  width: 300px;
}


.p-city__dallas__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 30px;
}

@media screen and (max-width: 950px) {
  .p-city__dallas__wrapper {

  }
}
/* 
 * メインビジュアルセクション
*/

.p-connect__mainVisual {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh;
  display: flex;
}

.p-connect__mainVisual__wrapper {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (max-width: 950px) { 
  .p-connect__mainVisual__wrapper {
    top: 47%;
  }
}

.p-connect__mainVisual__logo {
  width: 220px;
  height: auto;
  filter: drop-shadow(0px 0px 16px rgba(255, 255, 255, 0.5));
}

@media screen and (max-width: 1280px) { 
  .p-connect__mainVisual__logo {
    width: 190px;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__mainVisual__logo {
    width: 50%;
  }
}

.p-connect__mainVisual__heading {
  margin: 38px 0 0;
  font-size: 45px;
  letter-spacing: 0.25em;
  white-space: nowrap;
}

@media screen and (max-width: 1280px) { 
  .p-connect__mainVisual__heading {
    margin: 28px 0 0;
    font-size: 22px;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__mainVisual__heading {
    margin: 28px 0 0;
    font-size: 24px;
  }
}

.p-connect__mainVisual__text {
  margin: 34px 0 0;
  font-size: 19px;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1280px) { 
  .p-connect__mainVisual__text {
    margin: 24px 0 0;
    font-size: 17px;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__mainVisual__text {
    margin: 28px 0 0;
    font-size: 17px;
  }
}

.p-connect__mainVisual__filter {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
}

.p-connect__mainVisual__slider {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
}

.p-connect__mainVisual__item {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
  animation: slideBackground 60s ease infinite; /* 横ずれアニメーションの適用 */
}

@keyframes slideBackground {
  from {
    background-position: 0% 50%;
  }
  to {
    background-position: 100% 50%;
  }
}

/* アクティブなアイテムは最前面に */
.p-connect__mainVisual__item.active {
  z-index: 3;
}

/* 次に表示されるアイテム */
.p-connect__mainVisual__item.next {
  z-index: 2;
}

/* 
 * 地域紹介セクション
*/

.p-connect__city {
  margin: 150px 0 110px;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 145px;
}

@media screen and (max-width: 950px) { 
  .p-connect__city {
    margin: 120px 16px 60px;
    row-gap: 120px;
  }
}

.p-connect__city__container {
  position: relative;
  padding: 45px 50px 85px;
  width: 950px;
  background-color: var(--gray);
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__container {
    width: 850px;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__city__container {
    padding: 70px 16px 60px;
    width: 100%;
  }
}

.p-connect__city__label {
  position: absolute;
  top: -28px;
  padding: 20px 10px;
  min-width: 280px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 6px;
  background: linear-gradient(to bottom right, #FFFFA1 0%, #DDD350 12%, #008D46 100%);
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__label {
    min-width: 253px;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__city__label {
    top: -34px;
    padding: 8px 8px;
    min-width: 160px;
    row-gap: 4px;
  }
}

.p-connect__city__label--right {
  right: -72px;
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__label--right {
    right: -22px;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__city__label--right {
    right: 0;
  }
}

.p-connect__city__label--left {
  left: -72px;
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__label--left {
    left: -22px;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__city__label--left {
    left: 0;
  }
}

.p-connect__city__label--milan {
  top: -62px;
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__label--milan {
    top: -44px;
  }
}
@media screen and (max-width: 950px) { 
  .p-connect__city__label--milan {
    top: -34px;
  }
}

.p-connect__city__notice {
  font-size: 25px;
}

@media screen and (max-width: 950px) { 
  .p-connect__city__notice {
    font-size: 18px;
  }
}

.p-connect__city__area {
  font-size: 14px;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__area {
    font-size: 13px;
    letter-spacing: 0em;
  }
}

.p-connect__city__period {
  font-size: 12px;
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__period {
    font-size: 11px;
    letter-spacing: -0.01em;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__city__period {
    font-size: 10px;
    letter-spacing: -0.01em;
  }
}

.p-connect__city__icon {
  position: absolute;
  top: -15px;
  width: 80px;
  height: auto;
}

@media screen and (max-width: 950px) { 
  .p-connect__city__icon {
    width: 60px;
  }
}

.p-connect__city__icon--right {
  right: 50px;
}

@media screen and (max-width: 950px) { 
  .p-connect__city__icon--right {
    right: 16px;
  }
}

.p-connect__city__icon--left {
  left: 50px;
}

@media screen and (max-width: 950px) { 
  .p-connect__city__icon--left {
    left: 16px;
  }
}

.p-connect__city__link {
  position: absolute;
  top: 60px;
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__link {
    top: 61px;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__city__link {
    top: 78px;
  } 
}

.p-connect__city__enitLogo {
  width: 80px;
  height: auto;
  transition: opacity 0.3s ease-in-out;
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__enitLogo {
    width: 70px;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__city__enitLogo {
    width: 80px;
  }
}

.p-connect__city__enitLogo:hover, .p-connect__city__enitLogo:focus, .p-connect__city__enitLogo:active {
  opacity: 0.8;
}





.p-connect__city__heading {
  font-size: 45px;
  letter-spacing: 0.15em;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 25px;
}



@media screen and (max-width: 1280px) { 
  .p-connect__city__heading {
    font-size: 36px;
    column-gap: 20px;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__city__heading {
    flex-direction: column;
    font-size: 28px;
  }
}

.p-connect__city__heading--small {
  font-size: 30px;
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__heading--small {
    font-size: 27px;
  }
}

.p-connect__city__heading--english {
  padding: 6px 0 0;
  font-size: 30px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__heading--english {
    font-size: 26px;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__city__heading--english {
    font-size: 18px;
    text-align: center;
  }
}

.p-connect__city__heading--english.p-connect__city__heading--small {
  font-size: 20px;
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__heading--english.p-connect__city__heading--small {
    font-size: 16px;
  }
}

.p-connect__city__divider {
  margin: 30px 0 0;
  width: 100%;
  height: 1px;
  content: "";
  display: block;
  background-color: var(--black);
}

@media screen and (max-width: 950px) { 
  .p-connect__city__divider {
    margin: 20px 0 0;
  }
}

.p-connect__city__wrapper {
  margin: 50px 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 35px;
}

@media screen and (max-width: 950px) { 
  .p-connect__city__wrapper {
    margin: 30px 0 0;
    flex-direction: column;
    row-gap: 20px;
  }
}

.p-connect__city__wrapper--reverse {
  flex-direction: row-reverse;
}

@media screen and (max-width: 950px) { 
  .p-connect__city__wrapper--reverse {
    flex-direction: column;
  }
}

.p-connect__city__image {
  width: 400px;
  height: auto;
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__image {
    width: 300px;
    height: auto;
  }
}

.p-connect__city__image--left {
  margin: 0 0 0 -125px;
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__image--left {
    margin: 0 0 0 -75px;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__city__image--left {
    margin: 0;
  }
}

.p-connect__city__image--right {
  margin: 0 -125px 0 0;
}

@media screen and (max-width: 1280px) { 
  .p-connect__city__image--right {
    margin: 0 -75px 0 0;
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__city__image--right {
    margin: 0;
  }
}

.p-connect__city__text {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 950px) { 
  .p-connect__city__text {
    font-size: 14px;
  }
}

.p-connect__city__button {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
}

.p-connect__city__promotion {
  margin: 30px 0 0;
  display: flex;
  justify-content: center;
  column-gap: 20px;
}

.p-connect__city__logo {
  width: 100px;
  height: auto;
  transition: opacity 0.3s ease-in-out;
}

.p-connect__city__logo:hover, .p-connect__city__logo:focus, .p-connect__city__logo:active {
  opacity: 0.8;
}



.p-connect__city__floatingCloud--1 {
  top: 260px;
  right: -110px;
  z-index: -1;
}

@media screen and (max-width: 950px) { 
  .p-connect__city__floatingCloud--1 {
    top: 705px;
    right: -120px;
    width: 210px;
  }
}

.p-connect__city__floatingCloud--2 {
  top: 760px;
  left: -320px;
  z-index: -1;
}

@media screen and (max-width: 950px) { 
  .p-connect__city__floatingCloud--2 {
    top: 1473px;
    left: -200px;
    width: 400px;
  }
}

.p-connect__city__floatingCloud--3 {
  right: -74px;
  bottom: 1610px;
  z-index: -1;
}

@media screen and (max-width: 950px) { 
  .p-connect__city__floatingCloud--3 {
    right: -74px;
    bottom: 1560px;
  }
}

.p-connect__city__floatingCloud--4 {
  bottom: 572px;
  left: -79px;
  z-index: -1;
}

@media screen and (max-width: 950px) { 
  .p-connect__city__floatingCloud--4 {
    bottom: 702px;
    left: -110px;
  }
}


/* 
 * 就航地セクション
*/

.p-connect__map {
  position: relative;
  padding: 120px 0 200px;
  background: var(--gradation);
}

@media screen and (max-width: 950px) { 
  .p-connect__map {
    padding: 60px 0 150px;
  }
}

@media screen and (max-width: 950px) { 
  @media screen and (max-width: 950px) { 
    .p-connect__map {
      padding: 60px 0 100px;
    }
  }
}

@media screen and (max-width: 950px) { 
  .p-connect__map__text {
    font-size: 16px;
    letter-spacing: 0.05em;
  }
}

.p-connect__map__floatingCloud--1 {
  top: -159px;
  right: -307px;
}

@media screen and (max-width: 950px) { 
  .p-connect__map__floatingCloud--1 {
    top: -65px;
    right: -275px;
    width: 381px;
  }
}

.p-connect__map__floatingCloud--2 {
  bottom: 140px;
  left: -100px;
}

@media screen and (max-width: 1280px) { 
  .p-connect__map__floatingCloud--2 {
    display: none;
  }
}







/* キャンペーンバナー */
.fb {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 10;
  transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.fb__wrapper {
  position: relative;
  height: auto;
  background-color: var(--white);
  box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.25);
  border-radius: 10px;
  overflow: hidden;
}

.fb__header {
  position: relative;
  background-color: var(--orange);
  color: var(--white);
  padding: 12px 20px;
}

.fb__header__date {
  display: block;
  font-size: 12px;
}

.fb__header__close {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  font-size: 20px;
  color: var(--white);
  cursor: pointer;
}

.fb__content {
  padding: 20px;
}

.fb__content p {
  line-height: 1.75;
  font-size: 12px;
}

.fb__content img {
  display: inline;
}

@media screen and (max-width: 950px) { 
  .fb__content p {
    font-size: 10px;
  }
}

.fb__button {
  display: block;
  margin-top: 16px;
  text-align: center;
}

.fb__button:hover {
  opacity: 0.8;
  transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.footer {
  padding: 80px 0 30px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (max-width: 950px) { 
  .footer {
    padding: 40px 16px 30px;
  }
}

.footer--city {
  padding: 80px 250px 30px 0;
}

@media screen and (max-width: 1280px) { 
  .footer--city {
    padding: 80px 180px 30px 0;
  }
}

@media screen and (max-width: 950px) { 
  .footer--city {
    padding: 40px 16px 30px;
  }
}

.footer__inner {
  width: 100%;
  max-width: 850px;
}

@media screen and (max-width: 950px) { 
  .footer__inner {
    max-width: none;
  }
}

.footer__wrapper {
  position: relative;
  margin: 10px 10px 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  row-gap: 60px;
}

@media screen and (max-width: 950px) { 
  .footer__wrapper {
    margin: 30px 0 0;
    flex-direction: column;
    row-gap: 30px;
  }
}

.footer__logos {
  display: flex;
  align-items: center;
  column-gap: 40px;
}

@media screen and (max-width: 950px) { 
  .footer__logos {
    display: flex;
    align-items: center;
    column-gap: 20px;
  }
}

.footer__logo--eva {
  width: 256px;
  height: auto;
  transition: opacity 0.3s ease-in-out;
}

@media screen and (max-width: 950px) { 
  .footer__logo--eva {
    width: 220px;
  }
}

.footer__logo--eva:hover, .footer__logo--eva:active, .footer__logo--eva:focus {
  opacity: 0.8;
}

.footer__logo--skytrax {
  width: 90px;
  height: auto;
}

@media screen and (max-width: 950px) { 
  .footer__logo--skytrax {
    width: 77px;
  }
}

.footer__sns {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  column-gap: 18px;
}

@media screen and (max-width: 950px) { 
  .footer__sns {
    position: static;
    column-gap: 30px;
  }
}

.footer__logo--sns {
  width: 35px;
  height: 35px;
  transition: transform 0.3s ease-in-out;
}

@media screen and (max-width: 950px) { 
  .footer__logo--sns {
    width: 40px;
    height: 40px;
  }
}

.footer__logo--sns:hover, .footer__logo--sns:active, .footer__logo--sns:focus {
  transform: translateY(-5px);
}

.footer__copy { 
  font-size: 12px;
}

@media screen and (max-width: 950px) { 
  .footer__copy { 
    font-size: 10px;
  }
}

.header {
  position: relative;
}

.header__logo {
  position: absolute;
  z-index: 99;
  top: 36px;
  left: 40px;
  width: 242px;
  height: auto;
  transition: opacity 0.3s ease-in-out;
}

@media screen and (max-width: 950px) { 
  .header__logo { 
    top: 10px;
    left: 15px;
    width: 160px;
  }
}

.header__logo:hover, .header__logo:active, .header__logo:focus {
  opacity: 0.8;
}

.header__menu {
  position: fixed;
  z-index: 99;
  top: 0;
  right: 0;
}

.header__menu__button {
  position: fixed;
  z-index: 999;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--green);
  transition: opacity 0.3s ease-in-out;
}

@media screen and (max-width: 950px) { 
  .header__menu__button {
    width: 60px;
    height: 60px;
  }
}

.header__menu__button:hover, .header__menu__button:active, .header__menu__button:focus {
  opacity: 0.8;
}

.header__menu__icon {
  width: 44px;
  height: 24px;
  transition: transform 0.3s ease-in-out, stroke 0.3s ease-in-out;
}

@media screen and (max-width: 950px) { 
  .header__menu__icon {
    width: 40px;
    height: 22px;
  }
}

.header__menu__button.active {
  background-color: transparent;
}

.header__menu__button.active .header__menu__icon {
  transform: rotate(450deg);
}

.header__menu__content {
  opacity: 0;
  visibility: hidden;
}

.header__menu__content.active {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 1;
  visibility: visible;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header__menu__list {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 40px;
}

.header__menu__list::before {
  position: absolute;
  content: '';
  top: 20px;
  left: -40px;
  width: 1px;
  height: calc(100% - 37px);
  background-color: var(--white);
}

@media screen and (max-width: 950px) { 
  .header__menu__list::before {
    top: 17px;
    left: -25px;
    height: calc(100% - 31px);
  }
}

.header__menu__item {
  position: relative;
}

.header__menu__item::before {
  position: absolute;
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  left: -45px;
  width: 11px;
  height: 11px;
  content: '';
  background-color: var(--white);
}

@media screen and (max-width: 950px) { 
  .header__menu__item::before {
    left: -30px;
  }
}

.header__menu__item.current .header__menu__link {
  color: var(--green);
  pointer-events: none;
}

.header__menu__item.current::before {
  background-color: var(--green);
} 

.header__menu__link {
  color: var(--white);
  font-size: 28px;
  letter-spacing: 0.12em;
  transition: opacity 0.3s ease-in-out;
}

@media screen and (max-width: 950px) { 
  .header__menu__link {
    font-size: 22px;
  }
}

.header__menu__link:hover, .header__menu__link:active, .header__menu__link:focus {
  opacity: 0.7;
}

/* 地域別コンテンツページの場合 */
.header__city .header__menu__button {
  background-color: transparent;
}

@media screen and (max-width: 950px) { 
  .header__city .header__menu__button {
    background-color: var(--green);
  }
}

@media screen and (max-width: 950px) { 
  .header__city .header__menu__button.active {
    background-color: transparent;
  }
}

.header__city .header__menu__icon .cls-1 {
  stroke: var(--green);
}

@media screen and (max-width: 950px) { 
  .header__city .header__menu__icon .cls-1 {
    stroke: var(--white);
  }
}

.header__city .header__menu__button.active .header__menu__icon .cls-1 {
  stroke: var(--white);
}

.p-history__mainVisual {
  height: 100vh;
  height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--gradation);
  position: relative;
}

.p-history__mainVisual__wrapper {
  width: 100%;
  position: absolute;
  top: 46%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 4;
}

@media screen and (max-width: 1280px) { 
  .p-history__mainVisual__wrapper {
    top: 44%;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__mainVisual__wrapper {
    top: 47%;
    padding: 0 16px;
  }
}

.p-history__mainVisual__logo {
  width: 223px;
  height: auto;
  filter: drop-shadow(0px 0px 16px rgba(255, 255, 255, 0.5));
}

@media screen and (max-width: 1280px) { 
  .p-history__mainVisual__logo {
    width: 180px;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__mainVisual__logo {
    width: 190px;
  }
}

.p-history__mainVisual__heading {
  margin: 30px 0 0;
  font-size: 45px;
  line-height: 1.5;
  letter-spacing: 0.25em;
}

@media screen and (max-width: 1280px) { 
  .p-history__mainVisual__heading {
    margin: 18px 0 0;
    font-size: 28px;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__mainVisual__heading {
    margin: 16px 0 0;
    font-size: 22px;
  }
}

.p-history__mainVisual__text {
  margin: 30px 0 0;
  font-size: 19px;
  line-height: 2;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1280px) { 
  .p-history__mainVisual__text {
    margin: 16px 0 0 0;
    font-size: 16px;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__mainVisual__text {
    font-size: 14px;
  }
}

.p-history__mainVisual__aircraft {
  position: absolute;
  top: 324px;
  left: 110px;
  width: 346px;
  height: auto;
}

@media screen and (max-width: 1280px) { 
  .p-history__mainVisual__aircraft {
    top: 250px;
    left: 40px;
    width: 224px;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__mainVisual__aircraft {
    top: auto;
    bottom: 90px;
    left: 20px;
    width: 120px;
  }
}

/* iPhone SEなどの場合 */
@media screen and (max-width: 375px) { 
  .p-history__mainVisual__aircraft {
    top: auto;
    bottom: 70px;
    left: 20px;
    width: 120px;
  }
}

.p-history__history {
  padding: 180px 0 100px;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 950px) { 
  .p-history__history {
    padding: 100px 16px;
    flex-direction: column;
    align-items: center;
  }
}

.p-history__history__container {
  width: 850px;
  display: flex;
  column-gap: 100px;
}

@media screen and (max-width: 950px) { 
  .p-history__history__container {
    width: 100%;
    flex-direction: column;
    row-gap: 40px;
  }
}

.p-history__history__wrapper {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}

@media screen and (max-width: 950px) { 
  .p-history__history__wrapper {
    row-gap: 20px;
  }
}

.p-history__history__floatingImage--1 {
  z-index: 2;
  bottom: -40px;
  left: 0;
  width: 550px;
}

@media screen and (max-width: 1280px) { 
  .p-history__history__floatingImage--1 {
    z-index: 2;
    bottom: -30px;
    left: 0;
    width: 360px;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__history__floatingImage--1 {
    margin: 30px 0 0 0;
    position: static;
    width: 300px;
  }
}

.p-history__history__floatingCloud--1 {
  top: 40px;
  left: -70px;
  width: 250px;
}

@media screen and (max-width: 950px) { 
  .p-history__history__floatingCloud--1 {
    z-index: 3;
    top: 0;
    left: -73px;
    width: 200px;
  }
}

.p-history__history__floatingCloud--2 {
  top: 240px;
  right: -76px;
  width: 244px;
}

.p-history__ttj {
  padding: 140px 0;
  background-color: var(--gray);
}

@media screen and (max-width: 950px) { 
  .p-history__ttj {
    padding: 100px 16px 134px;
  }
}

.p-history__ttj__floatingImage--2 {
  bottom: 610px;
  right: 0;
  width: 200px;
}

@media screen and (max-width: 1280px) { 
  .p-history__ttj__floatingImage--2 {
    bottom: 600px;
    width: 180px;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__ttj__floatingImage--2 {
    top: 176px;
    right: 0;
    width: 100px;
  }  
}

.p-history__ttj__floatingImage--3 {
  bottom: 310px;
  right: 40px;
  width: 300px;
}

@media screen and (max-width: 1280px) { 
  .p-history__ttj__floatingImage--3 {
    bottom: 42px;
    right: 20px;
    width: 240px;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__ttj__floatingImage--3 {
    bottom: 12px;
    right: 20px;
    width: 150px;
  }
}

.p-history__ttj__floatingCloud--1 {
  top: 180px;
  left: 100px;
  width: 250px;
}

@media screen and (max-width: 1280px) { 
  .p-history__ttj__floatingCloud--1 {
    top: 215px;
    left: 12px;
    width: 230px;
  }
}

.p-history__ttj__floatingCloud--2 {
  top: -80px;
  right: -220px;
  width: 600px;
}

@media screen and (max-width: 1280px) { 
  .p-history__ttj__floatingCloud--2 {
    top: -100px;
    right: -180px;
    width: 500px;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__ttj__floatingCloud--2 {
    top: -95px;
    right: -114px;
    width: 300px;
    z-index: 2;
  }
}

.p-history__ttj__floatingCloud--3 {
  bottom: -60px;
  left: 60px;
  width: 316px;
}

@media screen and (max-width: 1280px) { 
  .p-history__ttj__floatingCloud--3 {
    bottom: -40px;
    left: 36px;
    width: 260px;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__ttj__floatingCloud--3 {
    top: 130px;
    left: -70px;
    width: 180px;
  }
}

.p-history__ttj__floatingCloud--4 {
  bottom: 180px;
  right: -110px;
  width: 334px;
}

@media screen and (max-width: 1280px) { 
  .p-history__ttj__floatingCloud--4 {
    bottom: -36px;
    right: -117px;
    width: 280px;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__ttj__floatingCloud--4 {
    bottom: -60px;
    left: -110px;
    width: 234px;
  }
}

.p-history__awards {
  padding: 100px 0 135px;
}

@media screen and (max-width: 950px) { 
  .p-history__awards {
    padding: 100px 16px 20px;
  }
}

.p-history__awards__list {
  margin: 80px auto 0;
  width: 850px;
  display: flex;
  flex-direction: column;
  row-gap: 75px;
}

@media screen and (max-width: 950px) { 
  .p-history__awards__list {
    margin: 50px auto 0;
    width: 100%;
    row-gap: 50px;
  }
}

.p-history__awards__heading {
  padding: 11px 10px;
  font-size: 20px;
  letter-spacing: 0.2em;
  background-color: var(--green);
  color: var(--white);
}

.p-history__awards__subHeading {
  font-size: 25px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 950px) { 
  .p-history__awards__subHeading {
    font-size: 22px;
  }
}

.p-history__awards__wrapper {
  padding: 30px 50px 0;
  display: flex;
  align-items: center;
  column-gap: 40px;
}

@media screen and (max-width: 950px) { 
  .p-history__awards__wrapper {
    padding: 30px 24px 0;
    flex-direction: column;
    row-gap: 30px;
  }
}

.p-history__awards__text {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 950px) { 
  .p-history__awards__text {
    font-size: 13px;
  }
}

.p-history__awards__floatingCloud--1 {
  top: 160px;
  right: -140px;
  width: 320px;
}

@media screen and (max-width: 1280px) { 
  .p-history__awards__floatingCloud--1 {
    top: 150px;
    right: -140px;
    width: 280px;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__awards__floatingCloud--1 {
    top: 124px;
    right: -114px;
    width: 220px;
  }
}

.p-history__corporateSustainability {
  height: 100%;
  margin: 61px 0 0;
}

@media screen and (max-width: 950px) { 
  .p-history__corporateSustainability {
    margin: 16px 0 0;
  }
}

.p-history__corporateSustainability__container {
  width: 100%;
  max-height: 980px;
  transform: skewY(-5deg);
  overflow: hidden;
}

.p-history__corporateSustainability__inner {
  transform: skewY(5deg);
  position: relative;
  padding: 120px 0 140px;
}

@media screen and (max-width: 950px) { 
  .p-history__corporateSustainability__inner {
    padding: 80px 16px;
  }
}

.p-history__corporateSustainability__wrapper {
  margin: 50px 0 0;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}

.p-history__corporateSustainability__background {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  min-height: 1300px;
  object-fit: cover;
}

@media screen and (max-width: 950px) { 
  .p-history__corporateSustainability__background {
    min-height: 1020px;
  }
}

.p-history__corporateSustainability__floatingCloud--1 {
  top: -35px;
  left: -125px;
  width: 370px;
}

@media screen and (max-width: 1280px) { 
  .p-history__corporateSustainability__floatingCloud--1 {
    top: -64px;
    left: -129px;
    width: 355px;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__corporateSustainability__floatingCloud--1 {
    top: -35px;
    left: -50px;
    width: 250px;
  }
}

/* NEWSセクションの有無によってコメントアウトを解除 */
/* .p-history__corporateSustainability__floatingCloud--2 {
  z-index: 2;
  bottom: -100px;
  left: -168px;
  width: 610px;
}

.p-history__news {
  margin: -100px 0 0;
  padding: 240px 0 150px;
  background-color: var(--green);
  z-index: -1;
}

@media screen and (max-width: 950px) { 
  .p-history__news {
    margin: -50px 0 0;
    padding: 130px 15px 100px;
  }
}

.p-history__news__list {
  margin: 70px 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 50px;
}

@media screen and (max-width: 950px) { 
  .p-history__news__list {
    margin: 50px 0 0;
    row-gap: 30px;
  }
}

.p-history__news__item {
  width: 950px;
  padding: 50px;
  display: flex;
  justify-content: flex-end;
  background-color: var(--white);
  position: relative;
}

@media screen and (max-width: 950px) { 
  .p-history__news__item {
    padding: 30px 24px;
    width: 100%;
    flex-direction: column;
    row-gap: 20px;
  }
}

.p-history__news__item--reverse {
  justify-content: flex-start;
}

@media screen and (max-width: 950px) { 
  .p-history__news__item--reverse {
    flex-direction: column-reverse;
  }
}

.p-history__news__wrapper {
  width: 535px;
}

@media screen and (max-width: 950px) { 
  .p-history__news__wrapper {
    width: 100%;
  }
}

.p-history__news__image {
  position: absolute;
  border-radius: 15px;
  left: -75px;
  width: 400px;
  height: auto;
  object-fit: cover;
}

@media screen and (max-width: 950px) { 
  .p-history__news__image {
    width: 100%;
    position: static;
  }
}

.p-history__news__image--reverse {
  left: auto;
  right: -75px;
}

.p-history__news__button {
  margin: 100px 0 0;
}

@media screen and (max-width: 950px) { 
  .p-history__news__button {
    margin: 50px 0 0;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__news__button .common__button {
    transform: scale(0.8);
  }
}

.p-history__news__date {
  font-size: 20px;
  letter-spacing: 0.01em;
  color: #9DC0B6;
}

@media screen and (max-width: 950px) { 
  .p-history__news__date {
    font-size: 18px;
  }
}

.p-history__news__heading {
  margin: 20px 0 0;
  font-size: 25px;
  letter-spacing: 0.01em;
}

@media screen and (max-width: 950px) { 
  .p-history__news__heading {
    margin: 15px 0 0;
    font-size: 20px
  }
}

.p-history__news__text {
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 950px) { 
  .p-history__news__text {
    font-size: 14px;
  }
} */

.p-history__destinationCities {
  margin: -100px 0 0;
}

@media screen and (max-width: 950px) { 
  .p-history__destinationCities {
    margin: -50px 0 0;
  }
}

.p-history__destinationCities__container {
  padding: 240px 0 140px;
  height: 100%;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 950px) { 
  .p-history__destinationCities__container {
    padding: 120px 16px 100px;
  }
}

.p-history__destinationCities__text {
  margin: 30px 0 0 0;
}

@media screen and (max-width: 950px) { 
  .p-history__destinationCities__text {
    margin: 20px 0 0 0;
  }
}

.p-history__destinationCities__note {
  margin: 36px 0 0;
  font-size: 20px;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 950px) { 
  .p-history__destinationCities__note {
    margin: 30px 0 0;
    font-size: 16px;
  }
}

@media screen and (max-width: 390px) { 
  .p-history__destinationCities__note {
    font-size: 14px;
  }
}

.p-history__destinationCities__button {
  margin: 60px 0 0;
  text-align: center;
}

@media screen and (max-width: 950px) { 
  .p-history__destinationCities__button {
    margin: 50px 0 0;
    text-align: center;
  }
}

.p-history__destinationCities__background {
  position: absolute;
  z-index: -1;
  top: -100px;
  left: 0;
  width: 130%;
  height: auto;
  object-fit: cover;
}

@media screen and (max-width: 1280px) { 
  .p-history__destinationCities__background {
    width: auto;
  }
}

.p-history__destinationCities__floatingCloud--1 {
  z-index: 2;
  top: -65px;
  right: -97px;
  width: 410px;
}

@media screen and (max-width: 1280px) {
  .p-history__destinationCities__floatingCloud--1 {
    top: -38px;
    right: -100px;
    width: 370px;
  }
}

@media screen and (max-width: 950px) { 
  .p-history__destinationCities__floatingCloud--1 {
    top: -36px;
    right: -59px;
    width: 258px;
  }
}

.p-history__topics {
  padding: 140px 0 170px;
  background: var(--gradation-dark);
}

@media screen and (max-width: 950px) { 
  .p-history__topics {
    padding: 80px 32px 100px;
  }

  .p-history__topics .common__heading__english {
    font-size: 24px;
  }

  .p-history__topics .common__heading__japanese {
    padding: 16px 0;
    font-size: 14px;
    line-height: 1.75;
  }

  .p-history__topics .common__lead {
    margin-top: 36px;
  }
}

.p-history__topics__list {
  margin: 40px auto 0;
  width: 850px;
  display: flex;
  justify-content: center;
  column-gap: 30px;
}

@media screen and (max-width: 950px) { 
  .p-history__topics__list {
    width: 100%;
  }
}

.p-history__topics__item {
  position: relative;
  margin: 0 15px;
  padding: 20px; 
  border-radius: 10px;
  width: 260px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #eef5fe;
}

.p-history__topics__image {
  border-radius: 10px;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 220 / 143; /*  .aiのを参照 */
}

.p-history__topics__heading {
  margin-top: 20px;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  height: 3em; /* 3行まで表示 */
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-history__topics__button {
  margin-top: 20px;
  text-align: center;
}

.p-history__topics__prev, .p-history__topics__next {
    position: absolute;
    top: 50%;
    left: -40px;
    transform: translate(0, -50%);
    width: 16px;
    height: 32px;
    cursor: pointer;
}

@media screen and (max-width: 950px) { 
  .p-history__topics__prev, .p-history__topics__next {
    left: -20px;
  }
  .p-history__topics__prev:hover, .p-history__topics__prev:active, .p-history__topics__prev:focus {
    left: -25px !important;
  }
}

.p-history__topics__next {
    left: auto;
    right: -40px;
}

@media screen and (max-width: 950px) { 
  .p-history__topics__next {
    right: -20px;
  }
  .p-history__topics__next:hover, .p-history__topics__next:active, .p-history__topics__next:focus {
    right: -25px !important;
  }
}

.p-history__topics__prev:hover, .p-history__topics__prev:active, .p-history__topics__prev:focus {
  left: -45px;
  transition: left 0.3s ease-in-out;
}

.p-history__topics__next:hover, .p-history__topics__next:active, .p-history__topics__next:focus{
  right: -45px;
  transition: right 0.3s ease-in-out;
}

.p-history__topics__aircraft {
  position: absolute;
  top: 76px;
  right: 70px;
  width: 415px;
  height: auto;
}

@media screen and (max-width: 950px) { 
  .p-history__topics__aircraft {
    top: -10px;
    left: -45px;
    width: 232px;
  }
}

.p-history__topics__floatingCloud--1 {
  top: -100px;
  left: -70px;
  width: 366px;
}

@media screen and (max-width: 1280px) { 
  .p-history__topics__floatingCloud--1 {
    top: -110px;
    left: -60px;
    width: 320px;
  }  
}

@media screen and (max-width: 950px) { 
  .p-history__topics__floatingCloud--1 {
    top: -67px;
    right: -85px;
    left: auto;
    width: 220px;
  }
}
/* スプラッシュ　セクション */
.splash__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999999;
  background-color: var(--white);
}

.splash__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.splash__logo {
  width: 262px;
  height: auto;
  opacity: 0;
}

@media screen and (max-width: 950px) { 
  .splash__logo {
    width: 160px;
  }
}

.splash__logo img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

/* 
 * メインビジュアルセクション
*/

.p-index__mainVisual {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh;
  display: flex;
}

.p-index__mainVisual__wrapper {
  position: absolute;
  z-index: 5;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (max-width: 950px) { 
  .p-index__mainVisual__wrapper {
    top: 47%;
  }
}

.p-index__mainVisual__text {
  font-size: 20px;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 1280px) { 
  .p-index__mainVisual__text {
    font-size: 18px;
  }
}

@media screen and (max-width: 950px) { 
  .p-index__mainVisual__text {
    font-size: 18px;
  }
}

.p-index__mainVisual__logo {
  margin: 30px 0 0;
  width: 262px;
  height: auto;
  filter: drop-shadow(0px 0px 16px rgba(255, 255, 255, 0.5));
}

@media screen and (max-width: 1280px) { 
  .p-index__mainVisual__logo {
    width: 200px;
  }
}

@media screen and (max-width: 950px) { 
  .p-index__mainVisual__logo {
    margin: 36px 0 0;
    width: 50%;
  }
}

.p-index__mainVisual__heading {

  margin: 45px 0 0;
  font-size: 40px;
  letter-spacing: 0.25em;
  white-space: nowrap;
}

@media screen and (max-width: 1280px) { 
  .p-index__mainVisual__heading {
    margin: 30px 0 0;
    font-size: 22px;
  }
}

@media screen and (max-width: 950px) { 
  .p-index__mainVisual__heading {
    margin: 36px 0 0;
    font-size: 24px;
  }
}

.p-index__mainVisual__filter {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
}

.p-index__mainVisual__slider {
  width: 50%;
  height: 100%;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
}

.p-index__mainVisual__item {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
  animation: slideBackground 60s ease infinite; /* 横ずれアニメーションの適用 */
}

@keyframes slideBackground {
  from {
    background-position: 0% 50%;
  }
  to {
    background-position: 100% 50%;
  }
}

/* アクティブなアイテムは最前面に */
.p-index__mainVisual__item.active {
  z-index: 3;
}

/* 次に表示されるアイテム */
.p-index__mainVisual__item.next {
  z-index: 2;
}

/*
 * メッセージセクション
 */

.p-index__message {
  padding: 100px 0 350px;
  background: var(--gradation);
}

@media screen and (max-width: 950px) { 
  .p-index__message {
    padding: 100px 32px 200px;
    flex-direction: column;
    align-items: center;
  }
}

.p-index__message__container {
  margin: 0 auto;
  padding: 0 32px;
  max-width: calc(1164px + 32px * 2);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 120px;
  row-gap: 48px;
}

@media screen and (max-width: 1280px) { 
  .p-index__message__container {
    column-gap: 24px;
  }
}

@media screen and (max-width: 950px) { 
  .p-index__message__container {
    flex-direction: column-reverse;
  }
}

.p-index__message__wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-index__message__logo {
  position: absolute;
  width: 190px;
  height: auto;
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  transition:
    opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
    left 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    right 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

@media screen and (max-width: 950px) { 
  .p-index__message__logo {
    width: 160px;
  }
}

.p-index__message__heading {
  margin-top: 210px;
  font-size: 40px;
  letter-spacing: 0.25em;
}

@media screen and (max-width: 950px) { 
  .p-index__message__heading {
    font-size: 20px;
    letter-spacing: 0.25em;
  }
}

.p-index__message__text {
  margin: 60px 0 0;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}

@media screen and (max-width: 950px) { 
  .p-index__message__text:nth-child(n + 2) {
    margin: 36px 0 0;
    row-gap: 20px;
  }
}

@media screen and (max-width: 950px) { 
  .p-index__message .text-common {
    font-size: 13px;
  }
}

.p-index__message__aircraft {
  position: absolute;
  bottom: -150px;
  width: 314px;
  height: auto;
}

@media screen and (max-width: 950px) { 
  .p-index__message__aircraft {
    bottom: -90px;
    width: 220px;
  }
}

.p-index__message__window {
  position: relative;
  margin: 200px 0 0;
}

@keyframes slideBackground {
  0% {
    background-position: center left;
  }
  100% {
    background-position: center right;
  }
}

.p-index__message__window__item {
  position: absolute;
  top: 28px;
  left: 20px;
  width: 259px;
  height: 415px;
  border-radius: 37%;
  background-size: cover;
  background-position: center left;
  opacity: 1;
  transition: opacity .4s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
  animation: slideBackground 60s ease infinite;
}

@media screen and (max-width: 950px) { 
  .p-index__message__window__item {
    top: 19px;
    left: 17px;
    width: 168px;
    height: 275px;
  }
}


@media screen and (max-width: 950px) { 
  .p-index__message__window {
    margin: 0;
  }
}

.p-index__message__image {
  width: 300px;
  height: auto;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 950px) { 
  .p-index__message__image {
    width: 200px;
    height: auto;
  }
}


/* 
 * History Section
 */

.p-index__history {
  padding: 170px 0 260px;
  background-color: var(--gray);
}

@media screen and (max-width: 950px) { 
  .p-index__history {
    padding: 100px 16px 140px;
    display: flex;
    flex-direction: column;
  }

  .p-index__history .common__heading__japanese {
    padding: 16px 0;
    font-size: 14px;
    line-height: 1.75;
  }

  .p-index__history .common__lead {
    margin-top: 36px;
  }

  .p-index__history .common__table {
    margin-top: 60px;
  }
}

.p-index__history__button {
  position: absolute;
  z-index: 2;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 950px) { 
  .p-index__history__button {
    bottom: 24px;
  }

  .p-index__history__button .common__button {
    transform: scale(0.8);
  }
}

.p-index__history__floatingImage--1 {
  z-index: 2;
  top: 100px;
  left: 74px;
  width: 320px;
}

/* Mobile PC */
@media screen and (max-width: 1280px) {
  .p-index__history__floatingImage--1 {
    top: 50px;
    left: 36px;
    width: 200px;
  }
}

.p-index__history__floatingImage--3 {
  bottom: 630px;
  right: 0;
  width: 200px;
}

/* Mobile PC */
@media screen and (max-width: 1280px) { 
  .p-index__history__floatingImage--3 {
    width: 120px;
  }
}

.p-index__history__floatingImage--4 {
  bottom: 324px;
  right: 40px;
  width: 300px;
}

/* Mobile PC */
@media screen and (max-width: 1280px) {
  .p-index__history__floatingImage--4 {
    bottom: 210px;
    width: 160px;

  }
}

@media screen and (max-width: 950px) { 
  .p-index__history__floatingImage--4 {
    margin: 30px auto 0;
    position: static;
  }
}

.p-index__history__floatingCloud--1 {
  top: 280px;
  left: 200px;
  width: 250px;
}

.p-index__history__floatingCloud--2 {
  top: 200px;
  right: -150px;
  width: 500px;
}

@media screen and (max-width: 950px) { 
  .p-index__history__floatingCloud--2 {
    top: 42px;
    right: -110px;
    width: 227px;
  }
}

.p-index__history__floatingCloud--3 {
  z-index: 2;
  bottom: -30px;
  left: -70px;
  width: 316px;
}

@media screen and (max-width: 950px) { 
  .p-index__history__floatingCloud--3 {
    bottom: 94px;
    left: -24px;
    width: 140px;
  }
}

.p-index__history__floatingCloud--4 {
  bottom: 200px;
  right: -130px;
  width: 334px;
}

@media screen and (max-width: 1280px) { 
  .p-index__history__floatingCloud--4 {
    bottom: 90px;
    right: -130px;
    width: 304px;
  }
}

@media screen and (max-width: 950px) { 
  .p-index__history__floatingCloud--4 {
    bottom: 205px;
    right: -130px;
    width: 200px;
  }
}

.p-index__movie {
  margin: -90px 0 0;
}

@media screen and (max-width: 950px) { 
  .p-index__movie {
    margin: -35px 0;
  }
}

.p-index__movie__container {
  width: 100%;
  height: 660px;
  max-height: 660px;
  transform: skewY(-5deg);
  overflow: hidden;
}

@media screen and (max-width: 1280px) { 
  .p-index__movie__container {
    height: 400px;
    max-height: 400px;
  }
}

@media screen and (max-width: 950px) { 
  .p-index__movie__container {
    height: 300px;
    max-height: 300px;
  }
}

.p-index__movie__inner {
  transform: skewY(5deg);
  height: 100%;
  position: relative;
}

.p-index__movie__video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  object-fit: cover;
}

@media screen and (max-width: 950px) { 
  .p-index__movie__video {
    width: auto;
    height: 100%;
    min-height: 538px;
  }
}

.p-index__feature {
  padding: 150px 0 100px;
  position: relative;
}

.p-index__feature__text {
  margin: 36px 0 0;
  font-size: 20px;
  letter-spacing: 0.05em;
}

.p-index__feature__button {
  margin: 60px 0 0;
  text-align: center;
}

@media screen and (max-width: 950px) { 
  .p-index__feature {
    padding: 70px 0;
    position: relative;
  }

  .p-index__feature .common__heading__english {
    font-size: 24px;
  }

  .p-index__feature .common__heading__japanese {
    padding: 16px 0;
    font-size: 14px;
    line-height: 1.75;
  }

  .p-index__feature .common__lead {
    margin-top: 36px;
  }

  .p-index__feature__text {
    margin: 30px 0 0;
    font-size: 16px;
  }

  .p-index__feature__button {
    margin: 50px 0 0;
    text-align: center;
  }
}

.p-index__feature__background {
  position: absolute;
  z-index: -1;
  top: -100px;
  left: 0;
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media screen and (max-width: 1280px) { 
  .p-index__feature__background {
    width: auto;
  }
}

@media screen and (max-width: 950px) { 
  .p-index__feature__background {
    top: -70px;
    width: auto;
  }

  .p-index__feature .common__map {
    padding: 0 16px;
  }
}

.p-index__feature__floatingCloud--1 {
  top: -120px;
  right: 120px;
  width: 430px;
}

@media screen and (max-width: 950px) { 
  .p-index__feature__floatingCloud--1 {
    top: -20px;
    right: -57px;
    width: 188px;
  }
}

.p-index__feature__floatingCloud--2 {
  top: 160px;
  left: 80px;
  width: 323px;
}

/* Mobile PC */
@media screen and (max-width: 1280px) { 
  .p-index__feature__floatingCloud--2 {
    top: 128px;
    left: 0;
    width: 140px;
  }
}

/* 
 * バナー Section
 */
.p-index__banner {
  padding: 80px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--white);
}

@media screen and (max-width: 950px) { 
  .p-index__banner {
    padding: 50px 16px 0;
  }
}

.p-index__banner__image {
  width: 1100px;
  height: auto;
  display: inline-block;
  transition: opacity 0.3s ease-in-out;
}

@media screen and (max-width: 1280px) { 
  .p-index__banner__image {
    width: 850px;
  }
}

@media screen and (max-width: 950px) { 
  .p-index__banner__image {
    width: 100%;
    max-width: 500px;
  }
}

.p-index__banner__image:hover, .p-index__banner__image:active, .p-index__banner__image:focus {
  opacity: 0.8;
}

/* 
 * AR Section
 */
.p-index__ar {
  padding: 80px 0;
  background-color: var(--white);
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 950px) {
  .p-index__ar {
    padding: 50px 16px;
  }
}


.p-index__ar__container {
  padding: 80px 0 150px; 
  width: 1100px;
  background-color: var(--green-light);
}

@media screen and (max-width: 950px) { 
  .p-index__ar__container {
    padding-bottom: 0;
    width: 100%;
    row-gap: 50px;
  }
}


@media screen and (max-width: 950px) { 
  .p-index__ar .common__heading__english {
    font-size: 24px;
  }

  .p-index__ar .common__heading__japanese {
    padding: 20px 0;
    font-size: 14px;
    line-height: 1.75;
  }

  .p-index__ar .common__lead {
    margin-top: 40px;
  }
}

.p-index__ar__link {
  margin: 30px 0 0;
  display: flex;
  justify-content: center;
  transition: opacity 0.3s ease-in-out;
}

@media screen and (max-width: 950px) { 
  .p-index__ar__link {
    margin: 20px 0 0;
  }
}

.p-index__ar__image {
  max-width: 100%;
  height: auto;
}

.p-index__ar__link:hover, .p-index__ar__link:active, .p-index__ar__link:focus {
  opacity: 0.8;
}

.p-index__ar__floatingCloud--1 {
  top: 10px;
  right: -50px;
  width: 394px;
}


.p-index__ar__floatingCloud--2 {
  z-index: 2;
  bottom: -110px;
  left: -86px;
  width: 433px;
}

@media screen and (max-width: 950px) { 
  .p-index__ar__floatingCloud--2 {
    top: 28px;
    right: -60px;
    width: 192px;
  }
}

.p-index__reservation {
  padding: 100px 0 200px;
  background: var(--gradation);
}

@media screen and (max-width: 950px) { 
  .p-index__reservation {
    padding: 80px 16px 120px;
  }
}

.p-index__reservation__list {
  margin: 45px auto 0;
  width: 900px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

@media screen and (max-width: 950px) { 
  .p-index__reservation__list {
    width: 100%;
    max-width: 468px;
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-index__reservation__item {
  width: 100%;
  height: auto;
  position: relative;
}

.p-index__reservation__item::after {
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 2;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  content: ''; 
  transition: background-color 0.3s ease-in-out;
}

.p-index__reservation__item:hover::after, .p-index__reservation__item:active::after, .p-index__reservation__item:focus::after {
  background-color: rgba(0, 0, 0, 0.2);
}

.p-index__reservation__image {
  width: 100%;
  height: auto;
}

.p-index__reservation__text {
  position: absolute;
  left: 14px;
  bottom: 8px;
  z-index: 3;
}

.p-index__reservation__city {
  font-size: 18px;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 950px) { 
  .p-index__reservation__city {
    font-size: 16px;
  }
}

.p-index__reservation__code {
  font-size: 26px;
  letter-spacing: 0.1em;
  color: #76A799;
}

@media screen and (max-width: 950px) { 
  .p-index__reservation__code {
    font-size: 22px;
  }
}

.p-index__reservation__aircraft {
  position: absolute;
  top: 40px;
  right: 63px;
  width: 400px;
  height: auto;
}

@media screen and (max-width: 1280px) { 
  .p-index__reservation__aircraft { 
    top: 39px;
    right: -10px;
    width: 369px;
  }
}

@media screen and (max-width: 950px) {
  .p-index__reservation__aircraft { 
    top: -49px;
    right: -25px;
    width: 260px;
  }
}

