/* header start */
h1 {
    width: 100%;
    max-width: 996px;
    margin: 0 auto;
    padding: 10px;
    font-size: 12px;
    text-align: center;
    box-sizing: border-box;
  }
  .logo_box {
    width: 100%;
    max-width: 996px;
    margin: 0 auto;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .logo_box .logo {
    display: block;
    width: 20%;
    min-width: 120px;
  }
/* header end */

/* contact_form start */
.contact_form {
	width: 100%;
	max-width: 996px;
	margin: 20px auto 50px;
}

.contact_form h2 {
	background-color: #00afec;
    font-size: 24px;
    color: #fff;
    padding: 20px;
    margin-bottom: 20px;
}

.contact_form form {
	width: 100%;
	background-color: #eee;
	padding: 20px 20px 40px;
	box-sizing: border-box;
	border-radius: 10px;
}

.contact_form form h3 {
	padding: 10px 0;
	font-size: 18px;
}
.contact_form__line {
	margin-bottom: 10px;
}
.contact_form__line input[type='text']  {
	font-size: 16px;
	padding: 10px 5px;
	border: 1px solid #ddd;
	border-radius: 5px;
	width: 100%;
	box-sizing: border-box;
}
.contact_form__line input[type='text'].thin {
	width: 30%;
}
.contact_form__checks {
	display: grid;
    grid-template-columns: repeat(4,20%);
    font-size: 18px;
    margin: 0 0 20px;
}
.contact_form__line textarea {
	resize: none;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 5px;
	font-size: 16px;
	border: 1px solid #ddd;
	border-radius: 5px;
	height: 10em;
}
.contact_form__select select{
	width: 100%;
    border: 1px solid #dedddd;
    border-radius: 8px;
    padding: 10px 15px;
    box-sizing: border-box;
	font-size: 16px;
}
.contact_form__check {
	text-align: center;
	font-size: 18px;
	margin: 20px 0 50px;
}
.contact_form__btn {
	text-align: center;
}
.contact_form__btn input[type='submit'] {
	width: 40%;
	padding: 8px 0;
	background: #FF6600;
	border: none;
	border-radius: 8px;
	box-shadow: 1px 2px 4px #000000aa;
	color: #fff;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	cursor: pointer;
}
/* contact_form end */


/* contact_finish start */
.contact_finish {
	width: 100%;
	max-width: 996px;
	margin: 20px auto 50px;
}

.contact_finish h2 {
	background-color: #00afec;
    font-size: 24px;
    color: #fff;
    padding: 20px;
    margin-bottom: 20px;
}

.contact_finish p {
	line-height: 1.7em;
}
.contact_finish a {
	text-decoration: none;
}
/* contact_finish end */


@media screen and (max-width: 593px) {
	/* contact_form start */
	.contact_form{	
        padding: 0 2%;
    }
	.contact_form__checks {
		grid-template-columns: repeat(2,46%);
		font-size: 4.0vw;
	}
    /* contact_form end */

	/* contact_finish start */
	.contact_finish h2 {
		font-size: 5.0vw;
	}
	.contact_finish{
        padding: 0 2%;
	}

    /* contact_finish end */
}


/* form style start */
.contact__title {
    text-align: center;
    color: #333;
    font-size: 48px;
    margin: 30px auto 10px;
}
.contact__text {
    color: #333;
    text-align: center;
    font-size: 16px;
}
.contact__process {
    width: 500px;
    margin: 30px auto;
    display: flex;
    justify-content: space-between;
    position: relative;
}
    .contact__process__mark {
        font-size: 18px;
        color: #999;
        width: 14%;
        background-color: #dbe7fa;
        border-radius: 8px;
        line-height: 24px;
        text-align: center;
        padding: 12px 0 6px;
        position: relative;
    }
        .contact__process__mark span {
            font-size: 28px;
        }
    .contact__process__mark::before {
        content: "";
        position: absolute;
        border-top: 10px solid #dbe7fa;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        bottom: -10px;
        left: 25px;
    }
    .contact__process__mark.current {
        background-color: #28a7e1;
        color: #fff;
    }
    .current.contact__process__mark::before {
        border-top: 10px solid #28a7e1;
    }
    #step03 {
        padding-top: 24px;
    }
    .contact__process__circle {
        position: absolute;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        background-color: #dbe7fa;
        top: 90px;
        z-index: 100;
    }
    #circle01 {
        left: 20px;
    }
    #circle02 {
        left: 235px;
    }
    #circle03 {
        left: 450px;
    }

    .contact__process__line {
        position: absolute;
        z-index: 10;
        height: 4px;
        width: 210px;
        background-color: #dbe7fa;
        top: 105px;
    }
    .contact__process__circle.current, .contact__process__line.current {
        background-color: #28a7e1;
    }
    #line01 {
        left: 25px;
    }
    #line02 {
        left: 240px;
    }
.contact form {
    width: 860px;
    margin: 40px auto;
}
.form_box {
    display: none;
}
.form_box.current {
    display: block;
}
    .form__line {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 30px 0;
    }
        .form__line__left {
            font-size: 18px;
            width: 22%;
            font-weight: bold;
            color: #333;
        }
            .form__line__left span {
                color: #fe0000;
                font-size: 16px;
            }
            .form__line__left p {
                font-size: 14px;
                font-weight: normal;
                margin: 0;
            }
        .form__line__right {
            width: 78%;
        }
            .form__line__right input[type="text"], .form__line__right select, .form__line__right input[type="date"], .form__line__right input[type="tel"], textarea {
                width: 100%;
                border: 2px solid #e7e6e6;
                border-radius: 6px;
                padding: 10px 15px;
                box-sizing: border-box;
                outline: none;
            }
            .form__line__right input[type='text'].short {
                width: 49.5%;
            }
            .form__line__right input[type="text"]:focus, .form__line__right select:focus, .form__line__right input[type="date"]:focus, .form__line__right textarea:focus {
                border: 2px solid #28a7e1;
            }
            .form__line__right textarea {
                resize: none;
                height: 120px;
            }
            .form__line__right input::placeholder {
                color: #999;
            }
            .form__line__right input[type='checkbox'] + label {
                margin-right: 15px;
            }
    .form__submit {
        margin-top: 35px;
    }
    .form__submit__text {
                font-size: 14px;
        text-align: center;
    }
    .form__submit__text a {
        color: #0066ff;
        text-decoration: underline;
        
    }
    .form__submit__button {
        display: block;
        width: 300px;
        margin: 30px auto;
        background-color: #E13950;
        text-align: center;
        color: #fff;
        font-size: 28px;
        padding: 10px 0;
        border-radius: 100px;
        text-decoration: none;
    }
    .form__submit__button:hover {
        opacity: 0.8;
    }

.contact__end {
    width: 540px;
    margin: 100px auto;
    color: #333;
}
    .contact__end__title {
        text-align: center;
        font-size: 34px;
        margin-bottom: 20px;
    }
    .contact__end__text {
        font-size: 16px;
    }

.contact__part {
  color: #333;
  width: 836px;
  margin: 40px auto 60px;
  display: flex;
  justify-content: center;
  background-color: #f7f6f6;
  padding: 30px 0 20px;
  border-radius: 10px;
  /* background-color: #eee; */
}
  .contact__part__left {
    width: 33%;
  }
  .contact__part__right {
    width: 60%;
  }
    .contact__part__right p {
      margin: 0;
    }
  .contact__part__right__text1 {
    font-size: 32px;
    font-weight: bold;
  }
  .contact__part__right__text2 {
    font-size: 28px;
  }
  .contact__part__right__text3 {
    color: #f5aa00;
    font-size: 64px;
    font-weight: bold;
    line-height: 1.2em;
  }
  .contact__part__right__text4 {
    font-size: 24px;
  }

@media screen and (max-width: 593px) {
    .contact__title {
        font-size: 8vw;
        margin: 10vw auto 2vw;
    }
    .contact__text {
        font-size: 4vw;
        padding: 0 2%;
    }
    .contact__process {
        width: 90%;
        margin: 6vw auto;
    }
        .contact__process__mark {
            font-size: 4.2vw;
            width: 18%;
            line-height: 5.5vw;
            padding: 4vw 0 3vw;
        }
            .contact__process__mark span {
                font-size: 6vw;
            }
        .contact__process__mark::before {
            bottom: -10px;
            left: calc(50% - 10px);
        }
        #step03 {
            padding-top: 7vw;
        }
        .contact__process__circle {
            top: 25vw;
        }
        #circle01 {
            left: 4vw;
        }
        #circle02 {
            left: 41vw;
        }
        #circle03 {
            left: 78vw;
        }
    
        .contact__process__line {
            width: 37vw;
            top: calc(25vw + 15px);
        }
        #line01 {
            left: 5vw;
        }
        #line02 {
            left: 42vw;
        }
    .contact form {
        width: 90%;
        margin: 5vw auto 15vw;
    }
        .form__line {
            flex-wrap: wrap;
            margin: 8vw 0;
        }
            .form__line__left {
                font-size: 4.5vw;
                width: 100%;
                margin-bottom: 3vw;
            }
                .form__line__left span {
                    font-size: 4vw;
                }
                .form__line__left p {
                    font-size: 3.6vw;
                }
            .form__line__right {
                width: 100%;
            }
                .form__line__right input[type="text"], .form__line__right select, .form__line__right input[type="date"], textarea {
                    padding: 3vw 2vw;
                }
                .form__line__right input[type='text'].short {
                    width: 49%;
                }
                .form__line__right textarea {
                    height: 30vw;
                }
                .form__line__right input[type='checkbox'] + label {
                    margin-right: 3vw;
                }
        .form__submit {
            margin-top: 8vw;
        }
        .form__submit__text {
            font-size: 4vw;
        }
        .form__submit__button {
            width: 80%;
            margin: 12vw auto;
            font-size: 6vw;
            padding: 3vw 0;
        }

    .contact__end {
        width: 90%;
        margin: 25vw auto 15vw;
    }
        .contact__end__title {
            font-size: 6vw;
            margin-bottom: 5vw;
        }
        .contact__end__text {
            font-size: 4vw;
        }

    .contact__part {
      width: 90%;
      margin: 10vw auto;
      flex-wrap: wrap;
      padding: 8vw 0 5vw;
    }
      .contact__part__left {
        width: 90%;
        text-align: center;
        margin-bottom: 3vw;
      }
      .contact__part__right {
        width: 90%;
      }
        .contact__part__right__text1 {
          font-size: 5vw;
        }
        .contact__part__right__text2 {
          font-size: 5vw;
        }
        .contact__part__right__text3 {
          font-size: 9vw;
        }
        .contact__part__right__text4 {
          font-size: 5vw;
        }
}