/* common */
html,
body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-style: normal;
  color: #000000;
  margin: 0px;
  scroll-behavior: smooth;
  overflow-x: hidden;
  line-height: 1.5;
}

* {
  box-sizing: border-box;
  position: relative;
}

a {
  text-decoration: none;
  color: #000000;
}

a:hover {
  cursor: pointer;
}

button:hover {
  cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a {
  padding: 0px;
  margin: 0px;
}

img {
  width: auto;
  max-width: 100%;
}

table,
tr,
td,
input {
  box-sizing: border-box;
  padding: 0.5em;
  border: none;
  font-size: 15px;
}

.table-box {
  overflow-x: auto;
}

table {
  border-collapse: collapse;
}

.cursor-pointer {
  cursor: pointer;
}

svg {
  width: 100%;
  height: 100%;
}

.d-none {
  display: none !important;
}

.opacity-0 {
  opacity: 0;
}

.img-box,
.text-box {
  display: flex;
  justify-content: center;
  align-items: center;
}

.container {
  max-width: 1400px;
  padding-inline: 50px;
  margin-inline: auto;
}

main {
  z-index: 1;
}
main .fv_img {
  width: 100%;
}
main h1 {
  font-size: 32px;
  color: #fff;
  background-color: #000000;
  padding: 0.5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
main h1 span {
  color: #E60000;
}
main .pattern-sec .pattern-row {
  display: flex;
  justify-content: space-between;
  background-color: #fff;
}
main .pattern-sec .pattern-row .pattern {
  border: 5px solid #CCCCCC;
  margin-top: 40px;
  padding: 25px;
}
main .pattern-sec .pattern-row .pattern .row-1 p {
  font-size: 46px;
  display: flex;
  align-items: center;
}
main .pattern-sec .pattern-row .pattern .row-1 p span {
  font-size: 20px;
  width: 150px;
  height: 40px;
  border-radius: 20px;
  background: #E60000;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  margin-right: 30px;
}
main .pattern-sec .pattern-row .pattern .row-2 {
  display: flex;
}
main .pattern-sec .pattern-row .pattern .row-2 .col {
  width: 50%;
}
main .pattern-sec .pattern-row .pattern .row-2 .price {
  font-size: 20px;
  text-align: center;
}
main .pattern-sec .pattern-row .pattern .row-2 .bicycle-img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 300px;
}
main .pattern-sec .pattern-row .pattern .row-2 .bicycle-img-box .bicycle_img {
  width: 100%;
}
main .pattern-sec .pattern-row .pattern .row-2 .bicycle-mark {
  width: 132px;
  height: 132px;
  border-radius: 50%;
  background: #E60000;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transform: translate(0px, -50%);
  position: absolute;
  right: 0;
}
main .pattern-sec .pattern-row .pattern .row-2 .bicycle-mark-text-1 {
  font-size: 18px;
}
main .pattern-sec .pattern-row .pattern .row-2 .bicycle-mark-text-2 {
  font-size: 30px;
}
main .pattern-sec .pattern-row .pattern .row-2 .price-text-1 {
  font-size: 22px;
  margin-top: 26px;
}
main .pattern-sec .pattern-row .pattern .row-2 .price-text-2 {
  font-size: 23px;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto 35px 14px auto;
  line-height: 1.5;
}
main .pattern-sec .pattern-row .pattern .row-2 .price-text-2 span {
  font-size: 42px;
  font-weight: 700;
}
main .pattern-sec .pattern-row .pattern .row-3 {
  color: #fff;
}
main .pattern-sec .pattern-row .pattern .row-3 .pattern-link-desc {
  font-size: 16px;
  background-color: #E60000;
  padding: 0.5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
main .pattern-sec .pattern-row .pattern .row-3 .pattern-link {
  font-size: 26px;
  color: #fff;
  background: #000000;
  padding: 0.6em;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
main .pattern-sec .pattern-row .pattern .row-3 .pattern-link:after {
  content: "\f054";
  font-family: "fontawesome";
  color: #fff;
  font-size: 22px;
  margin-top: 6px;
  margin-left: 1.5em;
}
main .pattern-sec .pattern-row .sm-pattern {
  width: calc(50% - 20px);
}
main .pattern-sec .pattern-row .lg-pattern {
  width: 100%;
}
main .pattern-sec .pattern-row .lg-pattern .row-2 {
  margin-top: 20px;
}
main .pattern-sec .pattern-row .lg-pattern .col {
  display: flex;
}
main .pattern-sec .pattern-row .lg-pattern .col .sub-col:nth-child(2) {
  margin-inline: 30px 15px;
}
main .pattern-sec .pattern-row .lg-pattern .col .sub-col-line-1 {
  display: flex;
  margin-top: 20px;
}
main .pattern-sec .pattern-row .lg-pattern .col .sub-col-line-1 .price {
  text-align: left;
}
main .pattern-sec .pattern-row .lg-pattern .col .sub-col-line-1 .bicycle-mark {
  position: relative;
  transform: translate(0px, 0px);
}
main .pattern-sec .pattern-row .lg-pattern .col .sub-col-line-2 {
  margin-top: -65px;
}
main .pattern-sec .pattern-row .lg-pattern .lg-pattern-total-price {
  display: flex;
  justify-content: center;
  align-items: baseline;
  margin-bottom: 20px;
}
main .pattern-sec .pattern-row .lg-pattern .lg-pattern-total-price .text-1 {
  font-size: 26px;
  margin-left: 60px;
}
main .pattern-sec .pattern-row .lg-pattern .lg-pattern-total-price .text-2 {
  font-size: 52px;
  font-weight: 700;
}
main .pattern-sec .pattern-row .lg-pattern .lg-pattern-total-price .text-3 {
  font-size: 29px;
}
main .pattern-sec .pattern-row .lg-pattern .lg-pattern-total-price .text-4 {
  font-size: 22px;
}
main .form-sec {
  background-image: url(../img/bg_form_1.png);
  background-repeat: no-repeat;
  background-size: cover;
  height: 2900px;
}
main .form-sec-title {
  color: #000000;
  background-color: unset;
  padding-block: 110px 100px;
}
main .form-sec .form {
  max-width: 1108px;
  background: #fff;
  padding: 90px;
  padding-top: 0px;
  font-size: 15px;
  margin-inline: auto;
}
main .form-sec .form .steps {
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translate(0px, -50%);
}
main .form-sec .form .steps .step {
  width: 190px;
  height: 54px;
  color: #fff;
  font-size: 14px;
  display: flex;
  justify-content: center;
  align-items: center;
}
main .form-sec .form .steps .step.chevron {
  position: relative;
  text-align: center;
  padding-left: 15px;
  margin-bottom: 6px;
}
main .form-sec .form .steps .step.chevron:before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  right: -10px;
  height: 50%;
  width: 20px;
  transform: skew(35deg, 0deg);
}
main .form-sec .form .steps .step.chevron:after {
  content: "";
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: -10px;
  height: 50%;
  width: 20px;
  transform: skew(-35deg, 0deg);
}
main .form-sec .form .steps .step.active {
  background-color: #E60000;
}
main .form-sec .form .steps .step.active.chevron:before, main .form-sec .form .steps .step.active.chevron:after {
  background: #E60000;
}
main .form-sec .form .steps .step-1 {
  background-color: #808080;
}
main .form-sec .form .steps .step-1.chevron:before, main .form-sec .form .steps .step-1.chevron:after {
  background: #808080;
}
main .form-sec .form .steps .step-2 {
  background-color: #808080;
}
main .form-sec .form .steps .step-2.chevron:before, main .form-sec .form .steps .step-2.chevron:after {
  background: #808080;
}
main .form-sec .form .steps .step-3 {
  background-color: #999999;
}
main .form-sec .form .steps .step-3.chevron:before, main .form-sec .form .steps .step-3.chevron:after {
  background: #999999;
}
main .form-sec .form .steps .step-4 {
  background-color: #B3B3B3;
}
main .form-sec .form .steps .step-4.chevron:before, main .form-sec .form .steps .step-4.chevron:after {
  background: #B3B3B3;
}
main .form-sec .form .steps .step-5 {
  background-color: #CCCCCC;
}
main .form-sec .form .steps .step-5.chevron:before, main .form-sec .form .steps .step-5.chevron:after {
  background: #CCCCCC;
}
main .form-sec .form .h2-box {
  text-align: center;
}
main .form-sec .form .h2-box h2 {
  font-size: 21px;
}
main .form-sec .form .h2-box .h2-desc {
  font-size: 13px;
  margin-block: 15px 25px;
}
main .form-sec .form .nec {
  width: 54px;
  height: 25px;
  background-color: #E60000;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 13px;
  margin-inline: 25px;
}
main .form-sec .form .input-box {
  display: flex;
  align-items: center;
}
main .form-sec .form .input-box.input-box-validation {
  align-items: baseline;
}
main .form-sec .form .input-box label {
  width: 213px;
}
main .form-sec .form .input-box input {
  height: 58px;
  background-color: #E6E6E6;
  flex-grow: 1;
}
main .form-sec .form .input-box .radio-box {
  display: flex;
  align-items: center;
}
main .form-sec .form .input-box .radio-box label {
  margin-left: 10px;
  width: 50px;
}
main .form-sec .form .input-box .radio-box input[type=radio] {
  accent-color: #E60000;
  width: 10px;
  height: 10px;
  flex-grow: unset;
}
main .form-sec .form .input-box .input-box-left {
  display: flex;
  width: 213px;
}
main .form-sec .form .input-box .input-box-left label {
  width: -moz-fit-content;
  width: fit-content;
  flex-grow: 1;
}
main .form-sec .form .input-box .input-box-right .input-b {
  display: flex;
  align-items: center;
}
main .form-sec .form .input-box .input-box-right .input-b input {
  flex-grow: 1;
  width: 536px;
}
main .form-sec .form .input-box .input-box-right .input-b .unit {
  margin-left: 10px;
}
main .form-sec .form .input-box .input-box-right .input-validation {
  font-size: 14px;
  margin-block: 1em;
}
main .form-sec .form .input-row-3 {
  margin-block: 1em;
}
main .form-sec .form .price-steps {
  margin-bottom: 70px;
}
main .form-sec .form .price-steps-title {
  display: flex;
  align-items: center;
}
main .form-sec .form .price-steps-title .price-steps-label {
  width: 213px;
}
main .form-sec .form .price-steps-title .price-steps {
  display: flex;
  justify-content: space-between;
  flex-grow: 1;
}
main .form-sec .form .price-steps-title .price-steps .price-step {
  background-color: #B3B3B3;
  height: 58px;
  width: 33%;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
main .form-sec .form .price-steps-title .price-steps .price-step.active {
  background-color: #E60000;
}
main .form-sec .form .price-steps-title .price-steps .price-step.active:after {
  content: "";
  width: 0px;
  height: 20px;
  border-top: solid 20px #E60000;
  border-left: solid 15px transparent;
  border-right: solid 15px transparent;
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, 0px);
}
main .form-sec .form .price-steps-contents {
  margin-top: 40px;
}
main .form-sec .form .price-steps-contents .price-steps-content .line {
  display: flex;
  align-items: center;
}
main .form-sec .form .price-steps-contents .price-steps-content .line .desc {
  width: 360px;
}
main .form-sec .form .price-steps-contents .price-steps-content .line .price {
  width: 242px;
  height: 58px;
  background: #E6E6E6;
  display: flex;
  justify-content: center;
  align-items: center;
}
main .form-sec .form .price-steps-contents .price-steps-content .line:nth-child(even) .price {
  background: #F2F2F2;
}
main .form-sec .form .alert {
  border: 1px solid #000000;
  display: flex;
  padding: 20px;
  margin-block: 30px;
  margin-inline: -25px;
}
main .form-sec .form .alert-left {
  width: 310px;
  display: flex;
  align-items: center;
  margin-right: 12px;
}
main .form-sec .form .alert-left-col-1 {
  margin-right: 15px;
  margin-bottom: auto;
}
main .form-sec .form .alert-left-col-1 .icon-alert {
  margin-bottom: 10px;
  width: 50px;
}
main .form-sec .form .alert-left-col-1-text {
  font-size: 17px;
  writing-mode: vertical-rl;
}
main .form-sec .form .alert-left-col-2 {
  font-size: 14px;
}
main .form-sec .form .alert-left-col-2 span {
  color: #E60000;
}
main .form-sec .form .alert-right {
  flex-grow: 1;
}
main .form-sec .form .alert-right-img {
  width: 100%;
}
main .form-sec .form .qa-sec .qa-title {
  font-size: 17px;
  margin-block: 40px 25px;
}
main .form-sec .form .qa-sec .qa {
  display: flex;
  margin-block: 30px;
}
main .form-sec .form .qa-sec .qa-left {
  font-size: 15px;
  width: 40px;
}
main .form-sec .form .qa-sec .qa-right .qa-q {
  margin-bottom: 10px;
}
main .form-sec .form .qa-sec .qa-right .qa-q p {
  display: flex;
  line-height: 2;
}
main .form-sec .form .qa-sec .qa-right .qa-q p .nec {
  margin-inline: 10px;
}
main .form-sec .form .qa-sec .qa-right .qa-a .input-box {
  display: flex;
}
main .form-sec .form .qa-sec .qa-right .qa-a .input-box .radio-box {
  width: 305px;
  height: 70px;
  border-radius: 35px;
  background-color: #E6E6E6;
  display: flex;
  justify-content: center;
  align-items: center;
}
main .form-sec .form .qa-sec .qa-right .qa-a .input-box .radio-box:nth-child(2) {
  margin-inline: 20px;
}
main .form-sec .form .qa-sec .qa-right .qa-a .input-box label {
  font-size: 13px;
}
main .form-sec .form .enter .agency-code {
  display: flex;
}
main .form-sec .form .enter .explanation {
  display: flex;
  align-items: center;
}
main .form-sec .form .enter .explanation label {
  font-size: 17px;
  margin-right: 30px;
}
main .form-sec .form .enter .explanation #reference {
  font-size: 13px;
  color: #E60000;
}
main .form-sec .form .enter .contractor-name .name-explan {
  display: flex;
}
footer {
  border-top: 195px solid #000000;
  margin-top: -60px;
  text-align: center;
}
footer .footer-nav {
  font-size: 14px;
  margin-block: 90px 80px;
}
footer .footer-nav a {
  margin-inline: 15px;
  line-height: 2;
}
footer .footer-copyright {
  font-size: 12px;
  padding-bottom: 50px;
}/*# sourceMappingURL=style-form.css.map */