.vsp480 {
  display: none; }
  @media screen and (max-width: 480px) {
    .vsp480 {
      display: block; } }

.image_home .image_main_pc,
.image_home .image_main_smart {
  position: relative;
  z-index: 3; }

.bnr_sub_entrance {
  max-width: 960px;
  margin: 60px auto 0; }
  .bnr_sub_entrance img {
    max-width: 100%;
    height: auto; }

@media screen and (max-width: 480px) {
  .vpc480 {
    display: none; } }

.vsp480 {
  display: none; }
  @media screen and (max-width: 480px) {
    .vsp480 {
      display: block; } }

.main_obi {
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  position: relative;
  padding: 0 10px 25px;
  margin-bottom: 90px; }
  @media screen and (max-width: 600px) {
    .main_obi {
      margin-bottom: 40px; } }
  .main_obi::before {
    content: "";
    position: absolute;
    inset: 0;
    top: -4vw;
    margin: auto;
    background: #a52506; }
    @media screen and (max-width: 600px) {
      .main_obi::before {
        top: -6vw; } }
  .main_obi p {
    position: relative;
    z-index: 2;
    line-height: 1.8;
    vertical-align: baseline;
    letter-spacing: 0.08em;
    font-size: 30px; }
    @media screen and (max-width: 1200px) {
      .main_obi p {
        font-size: calc(30vw/12); } }
    @media screen and (max-width: 600px) {
      .main_obi p {
        font-size: calc(25vw/6); } }
    .main_obi p .lg {
      display: inline-block;
      font-size: 180%;
      position: relative;
      top: -0.1em;
      line-height: 0.8; }
      @media screen and (max-width: 600px) {
        .main_obi p .lg {
          top: 0; } }
    .main_obi p .l {
      display: inline-block;
      font-size: 120%;
      position: relative;
      top: -0.1em; }
      @media screen and (max-width: 600px) {
        .main_obi p .l {
          top: 0; } }

.plan_btn_wrap a {
  text-decoration: none;
  display: block; }
  @media screen and (max-width: 480px) {
    .plan_btn_wrap a .firstterm_payment_example_price_sm {
      width: 90%; } }
  .plan_btn_wrap a .plan_btn {
    max-width: 150px;
    background: #333;
    border: 1px solid #333;
    font-size: 15px;
    color: #fff;
    margin: 0 auto;
    padding: 15px;
    text-align: center;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    transition: all .3s; }
    @media screen and (max-width: 480px) {
      .plan_btn_wrap a .plan_btn {
        font-size: 14px;
        padding: 10px; } }
    .plan_btn_wrap a .plan_btn:hover {
      background: #fff;
      color: #333; }
    .plan_btn_wrap a .plan_btn .min {
      font-size: 80%;
      display: inline-block; }

@media screen and (max-width: 768px) {
  .firstterm_payment_example_wrapper {
    margin-top: 0; } }

.vsp480 {
  display: none; }
  @media screen and (max-width: 480px) {
    .vsp480 {
      display: block !important; } }

@media screen and (max-width: 768px) {
  .ta_c_sp {
    text-align: center; } }

/*# sourceMappingURL=top.css.map */
