
body.buy {
  background-image: url(/assets/images/common/buy-header.jpg);
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: 180%;
}

.main-copy {
  font-size: 1.2rem;
}

.balloon-area .balloon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.balloon-area .balloon .balloon-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  font-size: 0.8rem;
}

.balloon-area .balloon.balloon-3 {
  z-index: 1;
}

.balloon-area .balloon.balloon-4 {
  transform: translate(0, -5%);
}

.balloon-area .balloon.balloon-5 {
  transform: translate(-5%, -15%);
}

.balloon-area .balloon.balloon-6 {
  transform: translate(5%, -18%);
}

.balloon-area .balloon.balloon-8 {
  transform: translate(0, -18%);
}

.balloon-area .balloon.balloon-9 {
  transform: translate(0, -8%);
}

.point-caption {
  font-weight: bold;
}

.point-box {
  background-color: #fff;
  border: 2px solid var(--color-mos-green);
  border-radius: 1rem;
  text-align: left;
  padding: 1rem 3rem;
  font-weight: bold;
}

.point-frame {
  position: relative;
  background-color: #fff;
  border: 2px solid var(--color-mos-green);
  border-radius: 1rem;
  padding: 1rem;
}

.point-frame-header {
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0 0.125rem;
  line-height: 1;
  border-radius: 0.25rem;
  white-space: nowrap;
  font-weight: bold;
}

.point-frame-caption {
  font-weight: bold;
}

.reason-border {
  border: 2px solid var(--color-mos-green);
}

.step {
  background-color: #fff;
  border: 2px solid var(--color-mos-green);
  border-radius: 1rem;
}

.step-arrow{
	position: relative;
	display: inline-block;
	padding: 0 0 0 16px;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
  transform: rotate(90deg);
  margin: 1.4rem 0 2rem 3rem;
}
.step-arrow::before,
.step-arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}

.step-arrow::before{
	left: 20px;
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	border: 24px solid transparent;
	border-left: 24px solid #7a0;
}

.step-arrow::after{
	left: 0;
	width: 32px;
	height: 24px;
	border-left: 24px solid #7a0;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-6 {
  order: 6 !important;
}

.order-7 {
  order: 7 !important;
}

.order-8 {
  order: 8 !important;
}

.order-9 {
  order: 9 !important;
}

.order-10 {
  order: 10 !important;
}

@media (max-width: 768px) {
  .grid-col-0 {
    display: none;
  }

  .point-caption {
    margin-top: 1rem;
  }
}

@media (min-width: 768px) {
  body.buy {
    background-position: center -11.5vw;
    background-size: 100%;
  }

  .main-copy {
    font-size: 3rem;
  }

  .balloon-area .balloon {
    height: 10vw;
  }

  .balloon-area .balloon .balloon-text {
    font-size: 1rem;
  }

  .balloon-area .balloon.balloon-1 {
    transform: translate(5%, 5%);
  }

  .balloon-area .balloon.balloon-4 {
    transform: translate(0, -15%);
  }

  .balloon-area .balloon.balloon-7 {
    transform: translate(0, 5%);
  }

  .point-caption {
    font-size: 1.2rem;
  }

  .point-box {
    padding: 1rem 1.25rem;
    font-size: 1.25rem;
  }

  .point-frame-header {
    left: 1em;
    transform: translateY(-50%);
  }

  .point-frame-header.right {
    left: calc(50% + 1em);
  }

  .order-md-1 {
    order: 1 !important;
  }

  .order-md-2 {
    order: 2 !important;
  }

  .order-md-3 {
    order: 3 !important;
  }

  .order-md-4 {
    order: 4 !important;
  }

  .order-md-5 {
    order: 5 !important;
  }

  .order-md-6 {
    order: 6 !important;
  }

  .order-md-7 {
    order: 7 !important;
  }

  .order-md-8 {
    order: 8 !important;
  }

  .order-md-9 {
    order: 9 !important;
  }

  .order-md-10 {
    order: 10 !important;
  }

  .order-md-11 {
    order: 11 !important;
  }

  .order-md-12 {
    order: 12 !important;
  }

  .order-md-13 {
    order: 13 !important;
  }

  .order-md-14 {
    order: 14 !important;
  }

  .order-md-15 {
    order: 15 !important;
  }

  .order-md-16 {
    order: 16 !important;
  }

  .order-md-17 {
    order: 17 !important;
  }

  .order-md-18 {
    order: 18 !important;
  }

  .order-md-19 {
    order: 19 !important;
  }
}

@media (min-width: 1024px) {
  .point-box {
    padding: 1rem 2.5rem;
  }
}