@charset "UTF-8";
/* Color Palette */
/* Padding */
/* Heder Space */
/* Wrap */
/* Padding */
:root {
  /* デフォルト */
  --large: 8rem;
  --medium: 3rem;
  --small: 1rem; }

@media screen and (max-width: 480px) {
  :root {
    --large: 3rem;
    --medium: 2rem;
    --small: .5rem; } }
.mv {
  height: 100vh; }
  @media (max-width: 480px) {
    .mv {
      height: 100vw; } }
  .mv.bg-c {
    background-size: cover;
    background-position: center; }
  .mv.haneda {
    background-image: url("../img/common/bg_guam-sea.jpg"); }
    @media (max-width: 880px) {
      .mv.haneda {
        background-image: url("../img/common/bg_guam-sea.jpg"); } }
  .mv .catch p {
    text-align: center;
    font-weight: bold;
    font-size: clamp(16px, 5vw, 24px);
    letter-spacing: .1em;
    color: #051464; }
  .mv .ttl {
    top: calc(50% + 26px);
    transform: translate(-50%, -50%);
    bottom: auto;
    color: #ffffff; }
    @media (max-width: 480px) {
      .mv .ttl {
        text-align: center; } }
    .mv .ttl h1 {
      font-size: clamp(24px, 7vw, 80px);
      line-height: 1.3;
      letter-spacing: .1em;
      filter: drop-shadow(0 1px 20px rgba(0, 70, 129, 0.6));
      font-weight: 600; }
      @media (max-width: 480px) {
        .mv .ttl h1 {
          text-align: center; } }
    .mv .ttl .btn {
      margin: var(--medium) 0 0; }
    .mv .ttl p {
      letter-spacing: .1em;
      font-size: clamp(14px, 3vw, 30px); }
  .mv .arrow-down a {
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
    color: #ffffff;
    animation: 1s slide-down infinite;
    opacity: 0; }

.plan-tab {
  align-items: flex-start;
  padding: 0 0 6rem;
  height: 100vh;
  box-sizing: border-box;
  background: #fff;
  overflow: scroll; }
  @media (max-width: 880px) {
    .plan-tab {
      height: auto;
      padding: 0; } }
@media (max-width: 880px) {
  .plan {
    flex-direction: column-reverse; } }

.modaal-inner-wrapper {
  vertical-align: top; }

.card-wrapper {
  padding: 6rem 5% 0; }

@media (max-width: 880px) {
  .bg-cover {
    height: 130vw;
    background-image: url("../img/common/bg_family-image_02.jpg") !important;
    background-position: center 80%; } }
@media (max-width: 880px) {
  .bg-cover .mp-txt {
    text-align: center;
    top: 10%;
    left: 50%;
    transform: translateX(-50%); }
    .bg-cover .mp-txt h2, .bg-cover .mp-txt .btn-wrapper {
      width: 100%; }
      .bg-cover .mp-txt h2 .logo-mp, .bg-cover .mp-txt .btn-wrapper .logo-mp {
        width: 50%; }
    .bg-cover .mp-txt .btn-wrapper {
      text-align: center; } }

@media (max-width: 480px) {
  .price-card-wrapper .card {
    min-width: 40vw; } }
