.lp-headline-up {
	text-align: center;
	margin: -54px 14px 21px 14px;
	line-height: 1.8;
	font-size: 21px;
	font-weight: 700;
}

.lp-headline-up-2 {
  text-align: center;
  margin: 0px 14px 21px 14px;
  line-height: 1.8;
  font-size: 21px;
  font-weight: 700;
}

.lp-headline-up-3 {
  text-align: center;
  margin: 4px 14px 21px 14px;
  line-height: 1;
  font-size: 21px;
  font-weight: 700;
}

.lp-headline {
	text-align: center;
	margin: 60px 14px 21px 14px;
	line-height: 1.8;
	font-size: 21px;
	font-weight: 700;
}

.lp-text {
	text-align: center;
	font-size: 21px;
	font-weight: 700;
	line-height: 150%;
	margin-bottom: 16px;
	padding: 0px 10px;
}

.main-content .confirm {
  margin-top: 40%;
  padding: 0 20px;
}

.company-subtitle {
  font-size: 18px;
  font-weight: 700;
  line-height: 150%;
  margin-top: 36px;
  margin-bottom: 16px;
  padding: 0px 10px;
}

.company-text {
  font-size: 18px;
  font-weight: 500;
  line-height: 150%;
  margin-bottom: 8px;
  padding: 0px 10px;
}

.weight500 {
	font-size: 18px;
	font-weight: 500 !important;
}

@media screen and (max-width:540px) {
	.img-sp-widthmax {
		padding: 0px 0px !important;
	}
}

/* comparison */
.comparison {
	padding: 0px 10px;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

table tr {
  border-bottom: solid 2px #eee;
  font-size: 18px;
  font-weight: 500;
}

table th,table td{
  text-align: center;
  width: 30%;
  padding: 15px 0;
  vertical-align: middle;
  line-height: 150%;
}

table td.icon{
  background-size: 35px;
  background-position: left 5px center;
  background-repeat: no-repeat;
  padding-left: 30px;
}

/* flowchart */
.flowchart {
	padding: 0px 10px;
}

ul {
    padding: 0;
}
li {
    list-style-type: none;
}
dd {
    margin-left: 0;
    line-height: 160%;
}

.flow > li {
    position: relative;
}
.flow > li:not(:nth-child(4)) {
    margin-bottom: 40px;
}
.flow > li:not(:first-child)::before {
    content: "";
    height: 60px;
    display: block;
    border-left: 4px dotted #e5e5e5;
    position: absolute;
    top: -40px;
    left: -webkit-calc(10% + 30px - 2px);
    left: calc(10% + 30px - 2px);
    z-index: 10;
}
.flow > li dl {
    padding: 20px 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 2px solid #000;
    border-radius: 3px;
    position: relative;
}
.flow > li:not(:nth-child(4)) > dl::before,
.flow > li:not(:nth-child(4)) > dl::after {
    content: "";
    border: solid transparent;
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.flow > li:not(:nth-child(4)) dl::before {
    border-width: 22px;
    border-top-color: #000;
}
.flow > li:not(:nth-child(4)) dl::after {
    border-width: 20px;
    border-top-color: #fff;
}
.flow > li dl dt {
    font-size: 20px;
    font-weight: 600;
    color: #000;
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    margin-right: 2vw;
    text-align: center;
}
@media screen and (max-width:540px) {
  .flow > li dl {
    padding: 20px;
  }
  .flow > li dl dt {
    margin-right: 5vw;
  }
}
.flow > li dl dt .icon {
    font-size: 12px;
    color: #ffe800;
    /*color: #e1180d;*/
    /*background: #ffe800;*/
    background: #e1180d;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
    padding: 5px 10px;
    margin-bottom: 10px;
    display: block;
    border-radius: 3px;
    position: relative;
    z-index: 100;
}
.flow > li dl dd {
    flex-basis: 80%;
}

/* enquiry */
.enquiry {
	padding: 0px 10px;
	text-align: center;
}
.enquiry a {
  display: inline-block;
}
.enquiry img {
	width: 72px;
	padding: 10px;
}

/* question */
.question {
	padding: 0px 10px;
}

.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa {
	overflow-x: hidden;
	margin: 0 auto;
	color: #333333;
}
.cp_qa .cp_actab {
	padding: 20px 0;
	border-bottom: 2px solid #eee;

}
.cp_qa label {
	font-size: 18px;
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 10px 10px 0 39px;
	cursor: pointer;
	font-weight: 700;
	line-height: 150%;
}
.cp_qa .cp_actab-content {
	font-size: 18px;
	position: relative;
	overflow: hidden;
	height: 0;
	margin: 0px 40px 0px 40px;
	padding: 0 14px;
	-webkit-transition: 0.4s ease;
	        transition: 0.4s ease;
	opacity: 0;
	font-weight: 500;
	line-height: 150%;
}
.cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_actab-content {
	height: auto;
	padding: 14px;
	opacity: 1;
}
.cp_qa .cp_plus {
	font-size: 24px;
	line-height: 100%;
	position: absolute;
	z-index: 5;
	margin: 11px 0 0 12px;
	-webkit-transition: 0.2s ease;
	        transition: 0.2s ease;
}
.cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_plus {
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}
.cp_qa .cp_actab input[type=checkbox] {
  display: none;
}

/* form */
.form-btn {
	text-align: center;
}

.btn-square {
  display: inline-block;
  margin-top: 15px;
  padding: 1em 2em;
  text-decoration: none;
  background-color: #e1180d !important;
  color: #FFF;
  font-weight: 500;
  border-radius: 3px;
  border-width: inherit;
}

.btn-top {
  display: inline-block;
  margin-top: 45px;
  background: #fff;
  color: #1a1a1a;
  font-weight: 600;
  border: 3px solid;
}

.btn-square:active {
  /*ボタンを押したとき*/
  -webkit-transform: translateY(4px);
  transform: translateY(4px);/*下に動く*/
  border-bottom: none;/*線を消す*/
}

.bikeselect select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  border: 1px solid #000;
  margin: 8px 0;
  outline: none;
  padding: 18px;
  box-sizing: border-box;
  transition: 0.3s;
  color: #808080;
  border-radius: unset;
  background-color: #fff;
}

.bikeselect {
  position: relative;
}

.bikeselect:after {
  content: "\f0dd";
    font-family: FontAwesome;
    display: block;
  position: absolute;
  top: 50%;
  right: 9px;
  width: 20px;
  height: 20px;
  margin-top: -12px;
  color: #808080;
}

.alert {
  color: #ff0000;
  margin-bottom: 2rem;
  display: none;
}
.alert li {
  margin-top: 10px;
  display: list-item;
  text-align: -webkit-match-parent;
}
.alert ul {
  list-style: disc;
}

#loading {
  display: table;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  opacity: 0.8;
}

#loading .loadingMsg {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  font-size: 100%;
  font-weight: 600;
}

/* thanks */
.thanks {
  margin-top: 50% !important;
  margin-bottom: 60% !important;
  padding: 20px;
}

@media (max-width: 541px) {
  .btn-top {
    margin-top: 30px;
    margin-bottom: 30px;
    width: 250px;
    height: unset;
    font-size: 14px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 15px;
    cursor: pointer;
    outline: none;
  }
}

@media (min-width: 541px) {
  .gw {
    font-size: 16px;
    padding: 0 50px;
    display: inline-block;
  }
}

@media (max-width: 541px) {
  .lp-headline-up span {
    font-size: 19px;
  }
  .gw {
    font-size: 15px;
    padding: 0 10px;
    display: inline-block;
  }
}
