@media only screen and (max-width: 960px) {
  .p-section-inr {
    padding: 0 20px; } }
@media print, screen and (min-width: 961px) {
  .p-section-inr {
    width: 100%;
    max-width: 1020px;
    padding: 0 30px;
    margin: 0 auto; } }

.p-mv {
  color: #fff; }
  @media only screen and (max-width: 960px) {
    .p-mv {
      padding: 90px 0; } }
  @media print, screen and (min-width: 961px) {
    .p-mv {
      padding: 180px 0; } }

.p-mv-inr {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%; }

.p-mv-ttl {
  transform: translate(0, 30px);
  opacity: 0; }
  @media only screen and (max-width: 960px) {
    .p-mv-ttl {
      margin-bottom: 20px; } }
  @media print, screen and (min-width: 961px) {
    .p-mv-ttl {
      margin-bottom: 30px; } }
  .p-mv-ttl img {
    width: auto; }

.p-mv-lead {
  text-align: center;
  transform: translate(0, 30px);
  opacity: 0; }

.is-anime .p-mv-ttl {
  transform: translate(0, 0);
  opacity: 1;
  transition: opacity 1s, transform 1s; }
.is-anime .p-mv-lead {
  transform: translate(0, 0);
  opacity: 1;
  transition: opacity 1s .4s, transform 1s .4s; }

.p-section-img {
  clip-path: inset(0 0 100% 0);
  transform: translate(0, 30px);
  opacity: 0; }
  .p-section-img img {
    transform-origin: 50% 0;
    transform: scale(1.3); }

@media only screen and (max-width: 960px) {
  .p-section-inr {
    margin-top: 40px; } }
@media print, screen and (min-width: 961px) {
  .p-section-inr {
    margin-top: 80px; } }

@media only screen and (max-width: 960px) {
  .p-section-head {
    margin-bottom: 40px; } }
@media print, screen and (min-width: 961px) {
  .p-section-head {
    margin-bottom: 60px; } }

.p-section-hl {
  transform: translate(-30px, 0);
  opacity: 0; }

@media print, screen and (min-width: 961px) {
  .p-section-lead {
    margin-right: 18%; } }
.p-section-lead p {
  margin-top: 1.5em;
  transform: translate(-30px, 0);
  opacity: 0; }

.p-section-movie {
  transform: translate(0, 30px);
  opacity: 0;
  position: relative; }
  @media only screen and (max-width: 960px) {
    .p-section-movie {
      margin: 40px 0; } }
  @media print, screen and (min-width: 961px) {
    .p-section-movie {
      margin: 60px 0; } }
  .p-section-movie video {
    width: 100%; }

.p-section-movie-txt {
  transform: translate(0, 30px);
  opacity: 0;
  position: relative; }

.p-section-movie-btn {
  background: rgba(0, 0, 0, 0.5);
  border-radius: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }
  @media only screen and (max-width: 960px) {
    .p-section-movie-btn {
      width: 70px;
      height: 70px; } }
  @media print, screen and (min-width: 961px) {
    .p-section-movie-btn {
      width: 100px;
      height: 100px; } }
  .p-section-movie-btn:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 55%;
    transform: translate(-50%, -50%); }
    @media only screen and (max-width: 960px) {
      .p-section-movie-btn:after {
        width: 20px;
        height: 20px;
        border: 10px solid transparent;
        border-left: 20px solid #fff;
        border-right: none; } }
    @media print, screen and (min-width: 961px) {
      .p-section-movie-btn:after {
        width: 40px;
        height: 40px;
        border: 20px solid transparent;
        border-left: 40px solid #fff;
        border-right: none; } }

.is-anime.p-section-img {
  clip-path: inset(0 0 0 0);
  transform: translate(0, 0);
  opacity: 1;
  transition: 1s; }
  .is-anime.p-section-img img {
    transform: scale(1);
    transition: transform 1s; }
.is-anime .p-section-hl {
  transform: translate(0, 0);
  opacity: 1;
  transition: 1s; }
.is-anime .p-section-lead p {
  transform: translate(0, 0);
  opacity: 1;
  transition: 1s; }
.is-anime.p-section-movie {
  transform: translate(0, 0);
  opacity: 1;
  transition: 1s; }
.is-anime.p-section-movie-txt {
  transform: translate(0, 0);
  opacity: 1;
  transition: 1s; }

@media print, screen and (min-width: 961px) {
  .p-service {
    display: flex;
    flex-wrap: wrap; } }

.p-service-item {
  border-bottom: 1px solid #ccc;
  position: relative;
  transform: translate(0, 30px);
  opacity: 0; }
  @media only screen and (max-width: 960px) {
    .p-service-item {
      padding: 25px 0; }
      .p-service-item:first-child {
        border-top: 1px solid #ccc; } }
  @media print, screen and (min-width: 961px) {
    .p-service-item {
      flex: 0 0 50%;
      padding: 40px 0; }
      .p-service-item:nth-child(1), .p-service-item:nth-child(2) {
        border-top: 1px solid #ccc; }
      .p-service-item:nth-child(odd) {
        padding-right: 60px; }
        .p-service-item:nth-child(odd):after {
          content: "";
          display: block;
          width: 1px;
          height: calc(100% - 40px);
          background: #ccc;
          position: absolute;
          top: 20px;
          right: 0; }
      .p-service-item:nth-child(even) {
        padding-left: 60px; } }

@media only screen and (max-width: 960px) {
  .p-service-txt {
    font-size: 12px;
    font-size: 0.75rem; } }
@media print, screen and (min-width: 961px) {
  .p-service-txt {
    font-size: 14px;
    font-size: 0.875rem; } }
.p-service-txt p, .p-service-txt ul, .p-service-txt dl {
  margin-top: 1.5em;
  transform: translate(0, 30px);
  opacity: 0; }

.is-anime.p-service-item {
  transform: translate(0, 0);
  opacity: 1;
  transition: 1s; }
.is-anime .p-service-txt p, .is-anime .p-service-txt ul, .is-anime .p-service-txt dl {
  transform: translate(0, 0);
  opacity: 1;
  transition: 1s; }

.p-floor {
  transform: translate(0, 30px);
  opacity: 0; }
  @media only screen and (max-width: 960px) {
    .p-floor {
      margin-top: 40px; } }
  @media print, screen and (min-width: 961px) {
    .p-floor {
      margin-top: 60px; } }

.p-floor-map {
  background: rgba(255, 255, 255, 0.4);
  position: relative; }
  @media print, screen and (min-width: 961px) {
    .p-floor-map {
      padding: 40px 40px 0; } }
  .p-floor-map .map_area {
    cursor: pointer; }
    .p-floor-map .map_area:hover path:first-child, .p-floor-map .map_area.is-actv path:first-child {
      fill: #f4b809;
      opacity: .7; }
    .p-floor-map .map_area:first-child ~ * {
      pointer-events: none; }
    .p-floor-map .map_area path {
      transition: .3s; }

@media only screen and (max-width: 960px) {
  .p-floor-caption {
    font-size: 10px;
    font-size: 0.625rem;
    padding: 20px 20px 0; } }
@media print, screen and (min-width: 961px) {
  .p-floor-caption {
    position: absolute;
    bottom: 20px;
    right: 60px;
    font-size: 12px;
    font-size: 0.75rem; } }

.p-floor-list {
  background: rgba(255, 255, 255, 0.4);
  counter-reset: index; }
  @media only screen and (max-width: 960px) {
    .p-floor-list {
      padding: 30px 20px; } }
  @media print, screen and (min-width: 961px) {
    .p-floor-list {
      padding: 40px;
      display: flex;
      flex-wrap: wrap; } }
  .p-floor-list li {
    border-bottom: 1px solid #ddd;
    counter-increment: index; }
    @media only screen and (max-width: 960px) {
      .p-floor-list li:first-child {
        border-top: 1px solid #ddd; } }
    @media print, screen and (min-width: 961px) {
      .p-floor-list li {
        flex: 0 0 calc((100% - 20px * 2) / 3); }
        .p-floor-list li:not(:nth-child(3n)) {
          margin-right: 20px; } }

.p-floor-link {
  display: block;
  position: relative;
  transition: background-size .3s; }
  @media only screen and (max-width: 960px) {
    .p-floor-link {
      padding: 1em 1em 1em .5em; } }
  @media print, screen and (min-width: 961px) {
    .p-floor-link {
      padding: 1em 1em 1em .5em;
      background: linear-gradient(rgba(244, 184, 9, 0.7), rgba(244, 184, 9, 0.7)) 100% 0/0 100% no-repeat; }
      .p-floor-link:hover, .p-floor-link.is-actv {
        background: linear-gradient(rgba(244, 184, 9, 0.7), rgba(244, 184, 9, 0.7)) 0 0/100% 100% no-repeat; }
        .p-floor-link:hover:after, .p-floor-link.is-actv:after {
          transform: translate(0, -50%) rotateY(360deg); } }
  .p-floor-link:before {
    content: counter(index) ".";
    display: inline-block;
    width: 1.5em; }
  .p-floor-link:after {
    content: "";
    display: block;
    width: 16px;
    height: 12px;
    background: url(/benesseinfo/saiyou/_assets2024/_common/img/c-arr-bk.png) 50% 50%/contain no-repeat;
    opacity: .2;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translate(-5px, -50%);
    transition: transform .5s; }

.is-anime.p-floor {
  transform: translate(0, 0);
  opacity: 1;
  transition: 1s; }

.p-place {
  transform: translate(0, 30px);
  opacity: 0; }
  @media only screen and (max-width: 960px) {
    .p-place {
      margin-top: 40px; } }
  @media print, screen and (min-width: 961px) {
    .p-place {
      margin-top: 60px; } }

.p-place-list {
  background: rgba(255, 255, 255, 0.4);
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 960px) {
    .p-place-list {
      padding: 5px 20px 20px; } }
  @media print, screen and (min-width: 961px) {
    .p-place-list {
      padding: 10px 40px 40px; } }
  @media only screen and (max-width: 960px) {
    .p-place-list li {
      flex: 0 0 calc((100% - 15px) / 2);
      margin-top: 15px; }
      .p-place-list li:nth-child(odd) {
        margin-right: 15px; } }
  @media print, screen and (min-width: 961px) {
    .p-place-list li {
      flex: 0 0 calc((100% - 30px) / 2);
      margin-top: 30px; }
      .p-place-list li:nth-child(odd) {
        margin-right: 30px; } }

@media print, screen and (min-width: 961px) {
  .p-place-link:hover .p-place-img figcaption {
    background: linear-gradient(currentcolor, currentcolor) 0% 100%/100% 1px no-repeat; }
  .p-place-link:hover .p-place-img-inr {
    transform: scale(0.97); }
    .p-place-link:hover .p-place-img-inr img {
      transform: scale(1.1); }
  .p-place-link:hover .p-place-icon {
    transform: rotateY(180deg); } }

.p-place-img {
  width: 100%; }
  .p-place-img figcaption {
    margin-top: .5em;
    display: inline-block; }
    @media only screen and (max-width: 960px) {
      .p-place-img figcaption {
        font-size: 12px;
        font-size: 0.75rem; } }
    @media print, screen and (min-width: 961px) {
      .p-place-img figcaption {
        background: linear-gradient(currentcolor, currentcolor) 100% 100%/0% 1px no-repeat;
        transition: background-size .3s; } }

.p-place-img-inr {
  position: relative;
  overflow: hidden;
  transition: transform .3s; }
  .p-place-img-inr img {
    transition: transform .3s; }

.p-place-icon {
  border: 1px solid #fff;
  border-radius: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  transition: transform .3s; }
  @media only screen and (max-width: 960px) {
    .p-place-icon {
      right: 8px;
      bottom: 8px;
      width: 20px;
      height: 20px; } }
  @media print, screen and (min-width: 961px) {
    .p-place-icon {
      right: 10px;
      bottom: 10px;
      width: 30px;
      height: 30px; } }
  .p-place-icon:before, .p-place-icon:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff; }
    @media only screen and (max-width: 960px) {
      .p-place-icon:before, .p-place-icon:after {
        width: 8px;
        height: 1px; } }
    @media print, screen and (min-width: 961px) {
      .p-place-icon:before, .p-place-icon:after {
        width: 12px;
        height: 1px; } }
  .p-place-icon:after {
    transform: translate(-50%, -50%) rotate(90deg); }

.is-anime.p-place {
  transform: translate(0, 0);
  opacity: 1;
  transition: 1s; }

.p-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(12, 21, 48, 0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 5000;
  opacity: 0; }
  @media only screen and (max-width: 960px) {
    .p-modal {
      padding: 0 25px; } }
  @media print, screen and (min-width: 961px) {
    .p-modal {
      padding: 0 50px; } }
  .p-modal.is-init {
    opacity: 1; }

.p-modal-swiper-container {
  position: relative; }
  @media only screen and (max-width: 960px) {
    .p-modal-swiper-container {
      width: 100%;
      padding: 25px 0; } }
  @media print, screen and (min-width: 961px) {
    .p-modal-swiper-container {
      width: 100%;
      max-width: 700px;
      margin: 0 auto;
      padding: 50px 0; } }

.p-modal-swiper-item {
  color: #fff; }

.p-modal-swiper-hl {
  text-align: center;
  margin-bottom: .5em; }

.p-modal-swiper-img img {
  width: 100%; }

.p-modal-swiper-txt {
  margin-top: 1.5em; }

.p-modal-swiper-button-prev {
  color: #fff; }
  @media only screen and (max-width: 960px) {
    .p-modal-swiper-button-prev {
      left: -26px; }
      .p-modal-swiper-button-prev:after {
        font-size: 24px;
        font-size: 1.5rem; } }
  @media print, screen and (min-width: 961px) {
    .p-modal-swiper-button-prev {
      left: -50px;
      transition: opacity .5s; }
      .p-modal-swiper-button-prev:hover {
        opacity: .5; } }
  .p-modal-swiper-button-prev.swiper-button-disabled {
    display: none; }

.p-modal-swiper-button-next {
  color: #fff; }
  @media only screen and (max-width: 960px) {
    .p-modal-swiper-button-next {
      right: -26px; }
      .p-modal-swiper-button-next:after {
        font-size: 24px;
        font-size: 1.5rem; } }
  @media print, screen and (min-width: 961px) {
    .p-modal-swiper-button-next {
      right: -50px;
      transition: opacity .5s; }
      .p-modal-swiper-button-next:hover {
        opacity: .5; } }
  .p-modal-swiper-button-next.swiper-button-disabled {
    display: none; }

.p-modal-close {
  position: absolute;
  cursor: pointer; }
  @media only screen and (max-width: 960px) {
    .p-modal-close {
      width: 60px;
      height: 60px;
      right: 15px;
      top: 15px; } }
  @media print, screen and (min-width: 961px) {
    .p-modal-close {
      width: 90px;
      height: 90px;
      right: 30px;
      top: 30px;
      transition: opacity .5s; }
      .p-modal-close:hover {
        opacity: .5; } }
  .p-modal-close:before {
    content: "";
    display: block;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg); }
    @media only screen and (max-width: 960px) {
      .p-modal-close:before {
        width: 50px; } }
    @media print, screen and (min-width: 961px) {
      .p-modal-close:before {
        width: 90px; } }
  .p-modal-close:after {
    content: "";
    display: block;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg); }
    @media only screen and (max-width: 960px) {
      .p-modal-close:after {
        width: 50px; } }
    @media print, screen and (min-width: 961px) {
      .p-modal-close:after {
        width: 90px; } }

/*# sourceMappingURL=index.css.map */
