@charset "UTF-8";

/* リセットCSS */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
}

body {
  min-height: 100vh;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}
/* ここまでリセットCSS */

/* ========================================
   LivAlt
======================================== */

.p-livalt {
  width: 100%;
  overflow: hidden;
}

.p-livalt img {
  display: block;
  width: 100%;
  height: auto;
}

/* ========================================
   5 STEP
======================================== */

.p-livalt-step {
  width: 100%;
}

.p-livalt-step__image {
  display: block;
}

/* ========================================
   PLANS
======================================== */

.p-livalt-plan {
  width: 100%;
  padding: 100px 0 120px;
  background: #f9f9f9;
}

/* PLAN TITLE
---------------------------------------- */

.p-livalt-plan__title {
  display: block;
  /* width: min(1200px, calc(100% - 80px)); */
  width: 100%;
  margin: 0 auto 30px;
}

/* PLAN TAB
---------------------------------------- */

.plan__tab {
  display: flex;
  justify-content: center;
  gap: 25px;
  width: min(1200px, calc(100% - 80px));
  margin: 0 auto 35px;
}

.tab__item {
  width: 185px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;

  transition: opacity 0.3s ease;
}

.tab__item:hover {
  opacity: 0.7;
}

.tab__img {
  display: block;
  width: 100%;
  height: auto;
}

/* PLAN CONTENT
---------------------------------------- */

.tab-content {
  width: min(1200px, calc(100% - 80px));
  margin: 0 auto;
}

.tab-content__item {
  display: none;
}

.tab-content__item.is-active {
  display: block;
}

.tab-content__item picture {
  display: block;
}

.tab-content__item img {
  width: 100%;
}

/* ========================================
   6 FEATURES
======================================== */

.p-livalt-features {
  width: min(1440px, calc(100% - 80px));
}

.p-livalt-features__image {
  display: block;
}

/* ========================================
   CATALOG BANNER
======================================== */

.p-livalt-banner {
  width: 100%;
  padding: 80px 0;
  background: #fff;
}

.p-livalt-banner__link {
  display: block;
  width: min(1132px, calc(100% - 80px));
  margin: 0 auto;

  transition: opacity 0.3s ease;
}

.p-livalt-banner__link:hover {
  opacity: 0.7;
}

/* ========================================
   SP
======================================== */

@media screen and (max-width: 767px) {
  /* ----------------------------------------
     PLANS
  ---------------------------------------- */

  .p-livalt-plan {
    padding: 60px 0 70px;
  }

  /* PLAN TITLE
  ---------------------------------------- */

  .p-livalt-plan__title {
    /* width: calc(100% - 30px); */
    width: 100%;
    margin-bottom: 30px;
  }

  /* PLAN TAB
  ---------------------------------------- */

  @media screen and (max-width: 767px) {
    .plan__tab {
      justify-content: center;
      gap: 5px;
      width: calc(100% - 30px);
      margin-bottom: 20px;
      overflow-x: auto;
      padding-bottom: 8px;
      -webkit-overflow-scrolling: touch;
    }

    .tab__item {
      width: 100px;
      min-width: 100px;
    }
  }

  /* PLAN CONTENT
  ---------------------------------------- */

  .tab-content {
    width: calc(100% - 30px);
  }

  .p-livalt-features {
    width: 100%;
  }

  /* ----------------------------------------
     CATALOG BANNER
  ---------------------------------------- */

  .p-livalt-banner {
    padding: 45px 0;
  }

  .p-livalt-banner__link {
    width: calc(100% - 30px);
  }
}

.l-container-livalt {
  max-width: 1200px;
  min-width: 375px;
  margin: 0 auto;
}

.pc-only {
  display: block;
}

.sp-only {
  display: none;
}

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

  .sp-only {
    display: flex;
  }
}
