@charset "UTF-8";
/* ----------------------------------------------
　PC設定
------------------------------------------------*/
/* .c-plot__ImageArea .c-plot__attention {
  display: none;
} */

.p-mv {
  position: relative;
  z-index: 1;
}
.p-mv__bg {
  width: 100%;
  z-index: 10;
  overflow: hidden;
  aspect-ratio: 192/98;
  position: relative;
}
.p-mv__bg.is-switched .p-mv__videoArea {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.8s ease;
}
.p-mv__bg.is-switched .p-mv__slider {
  opacity: 1;
  visibility: visible;
  z-index: 5;
}
/* .p-mv__loadAnime {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.p-mv__load-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}*/
.is-first .p-mv__load-text {
  top: 5vw;
  right: 0;
}
.is-second .p-mv__load-text {
  bottom: 5vw;
  right: 0;
} 
.p-mv__load-slide01 .p-mv__load-text {
  top: 8vw;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  font-size: 2.4vw;
  background: none;
}
.p-mv__bg:not(.is-mv-ready) > * { opacity:0; visibility:hidden; }
.p-mv__bg:not(.is-mv-ready) > .is-first { opacity:1; visibility:visible; }
.p-mv__load-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.p-mv__load-image img {
  height: 100%;
  object-fit: cover;
}
.p-mv__load-image.show img {
  animation: mvZoom 6s ease forwards;
}

@keyframes mvZoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.05);
  }
}
.p-mv__load-text {
  font-size: 3vw;
  position: absolute;
  padding: 0.15em 1em;
  color: var(--brown02);
  background: rgba(255, 255, 255, 0.75);
  z-index: 10;
}
.p-mv__load-logo {
  width: 50vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -70%);
  z-index: 10;
}
.p-mv__videoArea {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.p-mv__videoBox {
  width: 100%;
}
/* .p-mv__slider {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease;
  z-index: 1;
} */

.p-mv__bg { position: relative; }
.p-mv__load-image,
.p-mv__videoArea,
.p-mv__load-slide { position: absolute; inset: 0; }


/* .p-mv::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.4;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
} */
.p-mv .logo {
  display: inline-block;
  width: 90%;
  max-width: 500px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
  opacity: 0;
  transition: opacity 0.8s ease;
}
.p-mv .logo.show {
  opacity: 1;
}

.p-point {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.25) 100%), url(../images/common/bg_navy.jpg) center/cover no-repeat;
  position: relative;
}
.p-point::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  z-index: 10;
}
.p-point__inner {
  display: flex;
  flex-wrap: wrap;
}
.p-point__box {
  width: 33.33333%;
  position: relative;
  padding: var(--m25);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.p-point__box::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 90%;
  border-right: 1px dashed var(--white);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.p-point__box::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 90%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.p-point__textRow {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  grid-gap: 0 8px;
}
.p-point__text {
  font-size: clamp(16px, 1.666vw, 32px);
  color: var(--white);
}
.p-point__text * {
  color: var(--white);
}
.p-point__text.emp {
  font-size: clamp(20px, 2.083vw, 40px);
  line-height: 1;
}
.p-point__text.emp span {
  line-height: 1;
}
.p-point__text .big {
  font-size: clamp(36px, 3.645vw, 70px);
  line-height: 1;
}
.p-point__text .normal {
  font-size: clamp(28px, 3.229vw, 62px);
  line-height: 1;
}
.p-point__small {
  color: var(--white);
  font-size: clamp(14px, 1.666vw, 32px);
  text-align: center;
  display: block;
}
.p-point small.p-point__small {
  font-size: clamp(12px, 1.45vw, 28px);
}
.p-point__italic {
  font-size: clamp(14px, 1.25vw, 24px);
  padding: 0.25em 1em;
  font-weight: 600;
  line-height: 1;
  background-color: var(--white);
  width: fit-content;
  margin: 0 auto;
  transform: rotate(-8deg);
  display: block;
}

.p-visit {
  padding: var(--m100) 0;
  background: url(../images/common/bg_building.png) center left/90.78% no-repeat;
}
.p-visit__title {
  font-size: var(--fs22_40);
  font-weight: 600;
  margin-bottom: 0.15em;
}
.p-visit__attention {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 0.15em 1rem;
  justify-content: flex-end;
  margin-bottom: 17px;
  margin-top: var(--m16);
}
.p-visit__attention__line {
  font-size: var(--fs14_16);
}
.p-visit__attention__line span {
  display: inline-block;
  color: #005CA2;
  font-weight: bold;
  font-size: var(--fs14_16);
}
.p-visit__sliderArea {
  position: relative;
}
.p-visit__sliderArea .sliderArea {
  position: relative;
}
.p-visit__sliderArea .swiper-button-next,
.p-visit__sliderArea .swiper-button-prev {
  top: 50%;
  transform: translateY(-50%);
  background: linear-gradient(to bottom, #fafafa 0%, #fafafa 85%, #fafafa 85.000001%, #eaeaea 100%);
  height: 90%;
  width: 3.5%;
  margin-top: 0;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.p-visit__sliderArea .swiper-button-next::after,
.p-visit__sliderArea .swiper-button-prev::after {
  content: "";
  aspect-ratio: 128/238;
  background: url(../images/common/arrow_swiper.svg) center/100% no-repeat;
  width: 40%;
}
.p-visit__sliderArea .swiper-button-next {
  right: 0;
  left: unset;
}
.p-visit__sliderArea .swiper-button-prev {
  left: 0;
  right: unset;
}
.p-visit__sliderArea .swiper-button-prev::after {
  transform: scaleX(-1);
}
.p-visit__sliderArea .swiper-rtl .swiper-button-prev {
  right: 0;
  left: unset;
}
.p-visit__sliderArea .swiper-rtl .swiper-button-next {
  left: 0;
  right: unset;
}
.p-visit__form {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}
.p-visit__formRow {
  display: flex;
}
.p-visit__formBox {
  flex: 1;
  border: 1px solid var(--gray01);
}
.p-visit__formBox:not(:last-of-type) {
  border-right: unset;
}
.p-visit__formLink {
  display: flex;
  flex-direction: column;
  text-decoration: unset;
  color: initial;
  transition: all 0.5s;
  background-color: var(--white);
  height: 100%;
}
.p-visit__formLink:hover {
  background-color: #EDF4F7;
}
.p-visit__formLink.nolink {
  pointer-events: none;
}
.p-visit__formDays {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 5px;
  border-bottom: 1px solid #ccc;
  background-color: #efefef;
}
.p-visit__formDays.satuday {
  color: #005CA2;
}
.p-visit__formDays.sunday {
  color: #CC0000;
}
.p-visit__formDays__day01 {
  font-size: 14px;
}
.p-visit__formDays__day02 {
  font-size: clamp(16px, 1.66vw, 20px);
}
.p-visit__formResults {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--m20) 5px;
}
.p-visit__formResults__text {
  font-size: clamp(18px, 2vw, 24px);
  color: #333;
}
.p-visit__formResults__text.ok {
  color: #005CA2;
  font-weight: bold;
  font-size: clamp(24px, 2.5vw, 30px);
}
.p-visit__formResults__text.tel {
  font-size: clamp(24px, 2.5vw, 30px);
}

.p-concept {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: var(--m120);
}
.p-concept__textArea {
  width: 50%;
  background: linear-gradient(-45deg, var(--blueGrade));
  padding: var(--m50);
  position: relative;
  z-index: 1;
}
.p-concept__textArea::before {
  content: "";
  display: inline-block;
  width: calc(100% - var(--m80));
  height: calc(100% - var(--m80));
  border: 2px solid var(--white);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.p-concept__textArea .c-title {
  width: 90%;
  margin: 0 auto var(--m50);
  grid-gap: 0 2%;
}
.p-concept__textArea .c-title__jp {
  color: var(--white);
  font-size: min(2.083vw, 40px);
}
.p-concept__catch {
  margin: 0 auto var(--m35);
  width: 90%;
}
.p-concept__catch__line {
  font-size: min(1.875vw, 36px);
  font-weight: 600;
  color: #fff;
  display: block;
}
.p-concept__catch__line:nth-of-type(2) {
  text-indent: 3em;
}
.p-concept__text {
  margin: 0 auto;
  width: 90%;
}
.p-concept__text__line {
  font-size: var(--fs14_20);
  color: #fff;
  display: block;
}
.p-concept__text__line.mb {
  margin-bottom: 1em;
}
.p-concept__imageArea {
  width: 50%;
  display: flex;
  flex-wrap: wrap;
}
.p-concept__image {
  width: 50%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.p-concept__image img {
  height: 100%;
  object-fit: cover;
}

.c-topFlex {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
.c-topFlex .c-title {
  position: relative;
  z-index: 1;
  width: 100%;
}
.c-topFlex .c-title::after {
  content: "";
  display: inline-block;
  width: 70vw;
  height: 2px;
  position: absolute;
  bottom: 0;
}
.c-topFlex__textArea {
  width: 50%;
  max-width: 750px;
}
.c-topFlex__textArea .c-button {
  max-width: 340px;
  margin-left: auto;
}
.c-topFlex__text {
  margin-bottom: var(--m75);
  font-size: var(--fs14_16);
}
.c-topFlex__image {
  width: 50%;
  position: relative;
  z-index: 1;
}

.p-plan {
  padding-top: min(12vw, 200px);
  padding-bottom: var(--m80);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.25) 100%), url(../images/common/bg_navy.jpg) center/cover no-repeat;
}
.p-plan .c-topFlex .c-title::after {
  background-color: var(--white);
  left: calc(min(5vw, 100px) * -1);
}
.p-plan .c-topFlex .c-title * {
  color: var(--white);
}
.p-plan .c-topFlex__textArea {
  padding-right: 5%;
}
.p-plan .c-topFlex__image::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: url(../images/common/bg_white.jpg) center top/100% repeat;
  position: absolute;
  top: var(--m16);
  left: var(--m16);
  z-index: -1;
}
.p-plan .c-topFlex__text {
  color: var(--white);
}
.p-plan__slider {
  margin-top: var(--m90);
}
.p-plan__slider .swiper-wrapper {
  transition-timing-function: linear;
}

.p-location {
  padding-top: var(--m70);
  padding-bottom: var(--m80);
  position: relative;
  z-index: 1;
}
.p-location::before {
  content: "";
  display: inline-block;
  width: clamp(80px, 7.14vw, 119px);
  aspect-ratio: 119/220;
  background: url(../images/common/illst02.svg) center/100% no-repeat;
  position: absolute;
  left: 0%;
  bottom: 0;
  transform: scaleX(-1);
}
.p-location .c-topFlex .c-title::before {
  content: "";
  display: inline-block;
  width: clamp(150px, 13.8vw, 230px);
  aspect-ratio: 230/196;
  background: url(../images/common/illst01.svg) center/100% no-repeat;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateX(-110%);
}
.p-location .c-topFlex .c-title::after {
  background-color: var(--mainblack);
  right: -12vw;
}
.p-location .c-topFlex__textArea {
  padding-left: 5%;
}
.p-location__imageArea::after {
  content: "";
  display: inline-block;
  width: 86.45%;
  aspect-ratio: 830/607;
  background-color: var(--mainblack);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-45%);
  z-index: -1;
}
.p-location__image {
  overflow: hidden;
}
.p-location__image img {
  height: 100%;
  object-fit: cover;
}
.p-location__image.image01 {
  width: 76.04%;
  aspect-ratio: 73/64;
  margin-left: auto;
  margin-bottom: -19.53vw;
}
.p-location__image.image02 {
  width: 52.08%;
  aspect-ratio: 1/1;
}

.p-access {
  padding-top: var(--m70);
  padding-bottom: var(--m180);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.25) 100%), url(../images/common/bg_navy.jpg) center/cover no-repeat;
}
.p-access .c-topFlex .c-title::after {
  background-color: var(--mainblack);
  left: calc(min(5vw, 100px) * -1);
}
.p-access .c-topFlex__textArea {
  margin-top: var(--m60);
  position: relative;
  z-index: 1;
  padding-top: var(--m30);
  padding-bottom: var(--m80);
  padding-right: 5%;
}
.p-access .c-topFlex__textArea::before {
  content: "";
  display: inline-block;
  width: clamp(220px, 19.94vw, 383px);
  aspect-ratio: 383/222;
  background: url(../images/common/illst03.svg) center/100% no-repeat;
  position: absolute;
  right: 0%;
  bottom: 0;
  transform: translateX(55%);
  z-index: -1;
}
.p-access .c-topFlex__textArea::after {
  content: "";
  display: inline-block;
  width: 56.5625vw;
  height: 100%;
  background: url(../images/common/bg_white.jpg) center top/100% repeat;
  position: absolute;
  top: 0;
  left: -13%;
  z-index: -2;
}
.p-access__image {
  aspect-ratio: 96/15;
  overflow: hidden;
  margin-bottom: 1rem;
  position: relative;
}
.p-access__image img {
  height: 100%;
  object-fit: cover;
}
.p-access__image.tokyo img {
  object-position: 0% 70%;
}
.p-access__image.nihonbashi .p-access__capName {
  font-size: min(3vw, 70px);
}
.p-access__image.nihonbashi img {
  object-position: 0% 38%;
}
.p-access__image.makuhari img {
  object-position: 0% 60%;
}
.p-access__image.chiba img {
  object-position: 0% 26%;
}
.p-access__capName {
  width: 31.25%;
  height: 100%;
  font-size: min(3.645vw, 70px);
  color: var(--white);
  font-weight: 600;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(-2.5deg);
}
.p-access__capName::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform: rotate(2.5deg);
}
.p-access__capTime {
  font-size: min(3.645vw, 70px);
  color: var(--white);
  font-weight: 500;
  line-height: 1;
  position: absolute;
  bottom: 0.2em;
  right: 0.75em;
  z-index: 1;
  transform: rotate(-2.5deg);
  text-shadow: 0.15em 0.15em 7px rgba(0, 0, 0, 0.5);
}

/* ----------------------------------------------
　PAD以下設定
------------------------------------------------*/
@media all and (min-width: 768px) {
  .p-point::after {
    background-color: var(--white);
    top: 50%;
    transform: translateY(-50%);
  }
  .p-point__box:nth-of-type(3), .p-point__box:nth-of-type(6) {
    border-right: 1px dashed var(--white);
  }
  .p-visit__form {
    width: 90%;
  }
  .p-plan .c-topFlex,
  .p-access .c-topFlex {
    flex-direction: row-reverse;
  }
  .p-plan .c-topFlex__textArea,
  .p-access .c-topFlex__textArea {
    padding-left: min(3.906vw, 75px);
  }
  .p-location .c-topFlex__textArea {
    padding-right: min(3.906vw, 75px);
  }
}
@media all and (min-width: 1666px) {
  .c-topFlex__textArea {
    width: 50%;
  }
}
@media all and (max-width: 1024px) {
  .p-concept__textArea {
    width: 100%;
  }
  .p-concept__textArea .c-title__jp {
    font-size: var(--fs22_40);
  }
  .p-concept__catch__line {
    font-size: var(--fs18_26);
    display: inline-block;
  }
  .p-concept__catch__line:nth-of-type(2) {
    text-indent: unset;
  }
  .p-concept__text {
    padding-bottom: var(--m40);
  }
  .p-concept__imageArea {
    width: 100%;
  }
  .p-concept__image {
    width: 25%;
  }
}
@media all and (max-width: 980px) {
  .c-topFlex {
    grid-gap: var(--m50);
    justify-content: center;
  }
  .c-topFlex .c-title::after {
    right: unset !important;
    left: -10vw !important;
    width: 110vw;
  }
  .c-topFlex__textArea {
    width: 100%;
    max-width: unset;
  }
  .c-topFlex__image {
    width: 100%;
    max-width: 700px;
  }
  .p-location .c-topFlex .c-title::before {
    left: unset;
    right: 0;
    transform: unset;
  }
  .p-location .c-topFlex__image {
    width: 75%;
  }
  .p-access .c-topFlex__textArea .c-button {
    margin-left: 0;
  }
  .p-access .c-topFlex__textArea::before {
    transform: unset;
  }
  .p-access .c-topFlex__textArea::after {
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
  }
  .p-access__capName {
    font-size: 4.8vw !important;
  }
  .p-access__capTime {
    font-size: 4.8vw;
  }
}
@media all and (max-width: 768px) {
  .p-point::after {
    content: unset;
  }
  .p-point__box {
    width: 50%;
  }
  .p-point__box:nth-of-type(even)::after {
    border-right: 1px dashed var(--white);
  }
  .p-point__box:nth-of-type(1) .p-point__textRow::after, .p-point__box:nth-of-type(3) .p-point__textRow::after {
    content: "";
    display: inline-block;
    width: 100vw;
    height: 1px;
    background-color: var(--white);
    position: absolute;
    right: 0;
    transform: translateX(50%);
    bottom: 0;
    z-index: 10;
  }
  .p-visit__form {
    overflow: auto;
  }
  .c-topFlex__textArea {
    padding-left: 5%;
    padding-right: 5%;
  }
}
/* ----------------------------------------------
　SP調整
------------------------------------------------*/
@media all and (max-width: 620px) {
  .p-mv__bg {
    aspect-ratio: 75/95;
  }
  
  .is-second .p-mv__load-text.text01 {
    bottom: unset;
    top: 10%;
    font-size: 8vw;
    right: unset;
    left: 0;
  }
  .is-second .p-mv__load-text.text02 {
    bottom: unset;
    top: 25%;
    font-size: 6.7vw;
    right: unset;
    left: 0;
  }
  .is-first .p-mv__load-text {
    top: 50%;
    bottom: unset;
  }
  .is-first .p-mv__load-text.text01 {
    font-size: 8vw;
    right: unset;
    left: 0;
    transform: translateY(-150%);
  }
  .is-first .p-mv__load-text.text02 {
    font-size: 8vw;
    transform: translateY(150%);
  }
  .p-mv__load-slide01 .p-mv__load-text {
    top: 13vw;
    width: 100%;
    font-size: 5.8vw;
    text-align: center;
  }
  .p-mv__load-logo {
    width: 80vw;
  }
  .p-mv__videoBox {
    height: 100%;
    object-fit: cover; /* 重要：トリミングしてでも埋める */
    object-position: center; /* 重要：切り取り基準 */
    display: block;
  }
  .p-point__box {
    justify-content: center;
  }
  .p-point__italic {
    margin-bottom: 0.5rem;
  }
  .p-concept__image {
    width: 50%;
  }
  .p-location .c-topFlex .c-title::before {
    display: none;
  }
  .p-access__capTime, .p-access__capName {
    font-size: 7vw !important;
  }
}