@charset "utf-8";

/* Plan responsive styles
--------------------------------------------------*/

/* Mobile-first (default: < 769px) */

/* Plan pickup section */
.section_plan_pickup .inner {
  flex-direction: column;
  gap: 15px;
}

.section_plan_pickup .box {
  width: 100% !important;
}

.section_plan_pickup .box:first-child {
  margin-bottom: 0;
}

.section_plan_pickup .box a {
  flex-direction: column;
}

.section_plan_pickup .box .ph {
  width: 100% !important;
  height: auto !important;
}

.section_plan_pickup .box .txt_box {
  width: 100% !important;
  padding: 10px 0;
}

.section_plan_pickup .box .title {
  font-size: 17px;
}

.section_plan_pickup .box .price {
  font-size: 18px;
}

/* Plan list tabs */
.section_plan_list .tab-content {
  flex-direction: column;
  gap: 15px;
}

.section_plan_list .box {
  width: 100% !important;
  margin-bottom: 15px;
}

.section_plan_list .box .title {
  font-size: 16px;
}

/* Tab labels */
.tab-label {
  font-size: 14px;
  padding: 8px 0.5em;
}

/* Title box */
.section_rank .tit_box {
  padding: 15px;
  margin-bottom: 25px;
}

.section_rank h3 {
  font-size: 18px;
}

/* Plan detail */
.section_plan_main {
  padding: 15px;
}

.section_plan_main .unit {
  padding: 0 0 20px;
}

.section_plan_main .unit .tit {
  font-size: 18px;
  margin-bottom: 20px;
}

.section_plan_main .unit .stit {
  font-size: 15px;
}

.section_plan_main .unit .tbl_plan dt {
  padding: 3px 15px;
  font-size: 13px;
}

.section_plan_main .unit .tbl_plan dd {
  max-width: 50%;
  padding-right: 15px;
  margin-left: 10px;
  font-size: 13px;
}

.section_plan_main .unit .price {
  font-size: 20px;
  padding: 10px 0;
  margin-bottom: 20px;
}

.section_plan_main .unit .caption {
  font-size: 14px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.section_plan_main .btn_plan .btn {
  width: 100%;
  max-width: 350px;
  height: auto;
}

.section_plan_main .btn a {
  font-size: 15px;
  padding: 10px 15px;
}

/* Plan detail: prev/next navigation */
.main_plan .section_other {
  width: 100%;
  flex-direction: column;
  gap: 15px;
  margin: 30px auto 20px;
}

.main_plan .section_other .unit {
  width: 100%;
  margin: 0;
}

.main_plan .section_other .btn_prev,
.main_plan .section_other .btn_next {
  display: none;
}

/* Icon plan grid */
.main_plan .icon_plan li {
  width: 48px;
  height: 48px;
  margin: 2px;
}

/* Plan buttons section */
.section_plan_btns {
  text-align: center;
  margin: 20px 0;
}

/* ---- PC (769px+) ---- */
@media screen and (min-width: 769px) {
  .section_plan_pickup .inner {
    flex-direction: row;
    gap: 0;
  }

  .section_plan_pickup .box {
    width: calc(50% - 13px) !important;
  }

  .section_plan_pickup .box:first-child {
    width: 100% !important;
    margin-bottom: 40px;
  }

  .section_plan_pickup .box a {
    flex-direction: row;
  }

  .section_plan_pickup .box .ph {
    width: 250px !important;
    height: 180px !important;
  }

  .section_plan_pickup .box:first-child .ph {
    width: calc(50% - 13px) !important;
    height: 320px !important;
  }

  .section_plan_pickup .box .txt_box {
    width: calc(100% - 260px) !important;
    padding: 0;
  }

  .section_plan_pickup .box:first-child .txt_box {
    width: calc(50% - 13px) !important;
  }

  .section_plan_pickup .box .title {
    font-size: 22px;
  }

  .section_plan_pickup .box .price {
    font-size: 22px;
  }

  /* Plan list tabs */
  .section_plan_list .tab-content {
    flex-direction: row;
  }

  .section_plan_list .box {
    width: calc(50% - 13px) !important;
    margin-bottom: 32px;
  }

  .section_plan_list .box .title {
    font-size: 20px;
  }

  .tab-label {
    font-size: 16px;
    padding: 10px 0.5em;
  }

  .section_rank .tit_box {
    padding: 20px;
    margin-bottom: 40px;
  }

  .section_rank h3 {
    font-size: 22px;
  }

  /* Plan detail */
  .section_plan_main {
    padding: 40px;
  }

  .section_plan_main .unit {
    padding: 0 38px 38px;
  }

  .section_plan_main .unit .tit {
    font-size: 22px;
    margin-bottom: 30px;
  }

  .section_plan_main .unit .stit {
    font-size: 18px;
  }

  .section_plan_main .unit .tbl_plan dt {
    padding: 3px 30px;
    font-size: inherit;
  }

  .section_plan_main .unit .tbl_plan dd {
    max-width: 33%;
    padding-right: 30px;
    margin-left: 15px;
    font-size: inherit;
  }

  .section_plan_main .unit .price {
    font-size: 26px;
    padding: 15px 0;
    margin-bottom: 30px;
  }

  .section_plan_main .unit .caption {
    font-size: 16px;
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .section_plan_main .btn_plan .btn {
    width: 350px;
    height: 65px;
  }

  .section_plan_main .btn a {
    font-size: 17px;
    padding: 13px 0;
  }

  /* Plan detail: prev/next */
  .main_plan .section_other {
    width: 840px;
    flex-direction: row;
    margin: 50px auto 30px;
  }

  .main_plan .section_other .unit {
    width: 390px;
    margin: 0 10px;
  }

  .main_plan .section_other .btn_prev,
  .main_plan .section_other .btn_next {
    display: block;
  }

  .main_plan .icon_plan li {
    width: 56px;
    height: 56px;
    margin-right: 4px;
    margin-left: 4px;
  }
}
