@charset "UTF-8";

/* primary
========================================================= */
#primary {
  margin-bottom: 100px;
}

#primary p {
  letter-spacing: -0.02rem;
}

/* price
========================================================= */

.plan {
  display: flex;
  justify-content: space-between;
  margin-bottom: 100px;
  border-top: solid 1px #ccc;
  padding-top: 50px;
}

.plan_img {
  width: 47%;
}

.plan_txt {
  width: 50%;
}

.plan_title {
  color: #db4a2e;
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 25px;
}

.plan_title span {
  color: #db4a2e;
  font-size: 2.2rem;
  font-weight: bold;
}

.plan_sttl {
  font-weight: bold;
}

.plan_txt p,
.plan_price {
  margin-bottom: 20px;
}

.plan_txt ul {
  margin-bottom: 40px;
}

.plan_txt strong {
  color: #db4a2e;
  font-weight: bold;
}


.caution {
  color: #db4a2e;
  margin-bottom: 40px;
}

.caution_b{
  color: #db4a2e;
  font-weight: bold;
}

.plan_info {
  margin-bottom: 40px;
  border: solid 2px #db4a2e;
  padding: 20px;
}

.plan_info h3 {
  font-size: 1.8rem;
  font-weight: bold;
  color: #db4a2e;
  margin-bottom: 20px;
}

.plan_table {
  width: 100%;
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}

.plan_table li {
  text-align: center;
  vertical-align: middle;
  padding: 0 5px;
}

.plan_table .item {
  display: block;
  font-weight: bold;
}

.plan_table .tax {
  font-size: 1rem;
}



/* reserve
========================================================= */
#reserve {
  margin: 0 auto 150px;
  text-align: center;
}

.reserve_box {
  width: 700px;
  border: 1px solid #db4a2e;
  border-radius: 12px;
  margin: 0 auto;
}

.reserve_inner {
  background: #db4a2e;
  border-radius: 10px 10px 0 0;
  padding: 20px;
  box-sizing: border-box;
}

.reserve_inner2 {
  padding: 40px;
}

.reserve_inner2 h3 {
  font-size: 1.6rem;
  margin-bottom: 30px;
}

.reserve_inner2 h3 span {
  font-size: 1.6rem;
  color: #db4a2e;
  margin-bottom: 10px;
  display: block;
  text-decoration: underline;
}

.reserve_inner2 p {
  margin-bottom: 50px;
}

.reserve_ttl {
  color: #fff;
  font-size: 2.8rem;
  font-weight: bold;
}

.reserve_btn a {
  border-radius: 50px;
  max-width: 300px;
  height: 50px;
  text-align: center;
  display: block;
  box-sizing: border-box;
  line-height: 50px;
  background: #db4a2e;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  transition: all .4s ease;
  font-size: 2rem;
  margin-bottom: 20px;
}

.reserve_btn a:hover {
  background: #ff932e;
}

/* ---------------------------------------------------------
@media (max-width: 1200px)
----------------------------------------------------------- */
@media (max-width: 1200px) {
  .plan_txt p br {
    display: none;
  }
}

/* ---------------------------------------------------------
@media (max-width: 1024px)
----------------------------------------------------------- */
@media (max-width: 1024px) {
  .plan {
    display: block;
  }

  .plan_img {
    width: auto;
    margin-bottom: 20px;
  }

  .plan_txt {
    width: auto;
  }
}

/* ---------------------------------------------------------
@media (max-width: 900px)
----------------------------------------------------------- */
@media (max-width: 900px) {
  .plan_title {
    font-size: 2.5rem;
  }

  .plan_title span {
    font-size: 2rem;
  }
}

/* ---------------------------------------------------------
@media (max-width: 768px)
----------------------------------------------------------- */
@media (max-width: 768px) {
  .reserve_ttl {
    font-size: 2.5rem;
  }

  .reserve_box {
    width: auto;
  }

  .reserve_inner2 br {
    display: none;
  }

  .reserve_inner2 p {
    text-align: left;
  }
}

/* ---------------------------------------------------------
@media (max-width: 600px)
----------------------------------------------------------- */
@media (max-width: 600px) {
  .plan_title {
    font-size: 2rem;
  }

  .plan_title span {
    font-size: 1.8rem;
  }

  .reserve_btn {
    width: auto;
  }

  .reserve_btn a {
    font-size: 1.6rem;
  }

  .reserve_inner2 {
    padding: 30px;
  }
}

/* ---------------------------------------------------------
@media (max-width: 428px)
----------------------------------------------------------- */
@media (max-width: 428px) {
  #primary {
    margin-bottom: 50px;
  }

  .plan {
    margin-bottom: 50px;
  }

  .plan_title {
    font-size: 1.8rem;
    margin-bottom: 15px;
  }

  .plan_title span {
    font-size: 1.6rem;
  }

  #reserve {
    margin: 0 auto 50px;
  }

  .reserve_ttl {
    font-size: 1.6rem;
  }

  .reserve_inner {
    padding: 10px;
  }

  .reserve_btn a {
    max-width: 100%;
  }

  .reserve_inner2 {
    padding: 30px 10px;
  }

  .reserve_inner2 br {
    display: none;
  }

  .reserve_inner2 p {
    margin-bottom: 30px;
  }

  .plan_table li {
    padding: 0 2px;
  }

  .plan_table .tax {
    display: block;
  }
}