@charset "UTF-8";

h2{
	text-align: center;
	font-family: 'Kaisei Decol', serif;
  color: #fff;
}

.online{
/*background-color: #ca86d9;*/
background-color: #C767DB;
background: linear-gradient(to bottom, #C767DB 20%, #fff 100%);
}

.menu{
	background-color: #fff;
  padding: 10px 0;
	margin: 50px auto;
	width: 60vw;
	border-radius: 20px;
	line-height: 1.5;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-around;
	}

.icon1{
	width: 200px;
  height: 200px;
	/*margin-bottom:20px;*/
  object-fit: contain;
  /*object-position: 0 80%;*/
}
.bold{
	font-weight: bold;
	font-size: 1.2rem;
}
.box-right{
	width: 60%;
}
.price{
font-size: 1.5rem;
line-height: 2;
font-weight: bold;
}
.flow{
	/*background-color: #8276b2;*/
  background-color: #787BE1;
  /*background-color: #ceaddf;*/
  /*background-color: #646bf4;*/
	z-index: -10;
  background: linear-gradient(to bottom, #787BE1 10%, #fff 100%);
}
.button01{
	font-size: 1.3rem;
	color: #fff;
	background-color: #5bcdaa;
	display: block;
	margin: 0 auto;
	max-width: 300px;
	border-radius: 30px;
	padding: 20px;
	text-align: center;

}
@media (max-width:767px) {

/*.menu{
    display: block;
    flex-direction: column-reverse;
  }*/
.box-right{
    width: 90%;
    margin: 5px auto;
}
.icon1{
  width:80px;
}
}
/*---------------------------------------------------*/
.stepbar {
  margin: 0 auto;
  width: 60vw;
}

.stepbar .stepbarwrap {
  margin: 3rem 0;
  position: relative;
}

.stepbar .stepbarwrap .steptitle {
  display: inline-flex;
  align-items: center;
}

.stepbar .stepbarwrap .steptitle .stepcircle {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  content: "";
  border-radius: 50%;
  background-color: #f3ae57;
  color: #000;
  text-align: center;
  z-index: 1;
}
.stepcircle01{
  display: inline-block;
  width: 3rem;
  height: 3rem;
  content: "";
  border-radius: 50%;
  background-color: #f2cfa2;
  color: #000;
  text-align: center;
  z-index: 1;
}

.stepbar .stepbarwrap .steptitle .stepcircle span {
  display: inline-block;
  line-height: 1.2em;
  font-size: 0.8rem;
  position: relative;
  top: 0.9rem;
}

.stepcircle01 span {
  display: inline-block;
  line-height: 1.2em;
  font-size: 0.8rem;
  position: relative;
  top: 0.9rem;
}
.stepbar .stepbarwrap .steptitle .title {
  margin: 0.8rem;
  font-weight: bold;
  font-size: 1.5em;
  font-family: 'Kaisei Decol', serif;;
}

.stepbar .stepbarwrap .steptxt {
  padding-left: 3.5rem;
}

.stepbar .stepbarwrap .steptxt .txt {
  font-size: 1rem;
}

.stepbar .stepbarwrap .stepline {
  width: 1px;
  height: calc(100% + 2rem);
  background-color: #000;
  position: absolute;
  top: 1rem;
  left: 1.5rem;
  /*z-index: -1;*/
}
.last{
	background-color: #fff;
}
.stepbarwrap:last-of-type .stepline:last-of-type {
  display: none;
}

@media screen and (max-width: 960px) {
  .stepbar {
    width: 90%;
  }
}