input,
textarea {
  outline:none;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.c-txt {
    color: #393639;
    font-size: 16px;
    line-height: 2.125;
}

.c-tagType03 {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    line-height: 1.9rem;
    width: 46px;
    height: 2rem;
    background-color: red;
    border-radius: .4rem;
    display: inline-block;
}

.u-txt_underline {
text-decoration: underline;
}

.u-color_txt--main {
    color: #005bac;
}

@media screen and (min-width: 768px) {
.u-txt_align--center--pc {
    text-align: center;
}
}

.container {
    color: #393639;
max-width: 100%;
padding: 0;
border: none;
box-sizing: border-box;
}

.form-column {
margin-bottom: 40px;
}

.label {
    font-size: 16px;
font-weight: 400;
    line-height: 2.125;
    display: flex;
    gap: 10px;
    align-items: center;
}

.badge-required {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    line-height: 1.9rem;
    width: 46px;
    height: 2rem;
margin-left: 0;
    background-color: red;
    border-radius: .4rem;
    display: block;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
    font-size: 16px;
    width: min(100%, 640px);
    height: 40px;
    padding: 0 20px;
    border: .1rem solid #cfd3da;
    border-radius: 10px;
}

.form-column-zip-code-jp .input-group input.zip-code-jp {
width: min(100%, 640px);
}

::placeholder {
color: #cfd3da;
}
select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  box-sizing: content-box;
}

select {
font-size: 16px;
width: min(100%, 640px);
    height: 40px;
    padding: 0 20px;
    border: .1rem solid #cfd3da;
    border-radius: 10px;
}

textarea {
    font-size: 16px;
    width: 100%;
    height: 240px;
    padding: 10px 20px;
    border: 1px solid #cfd3da;
    border-radius: 10px;
}

.button {
    color: #005bac;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    width: 220px;
    height: 6rem;
    border: .2rem solid #005bac;
    border-radius: 3rem;
    position: relative;
    transition: color .4s ease, border-color .4s ease;
    display: block;
}

.button-confirm {
margin: 0 auto;
}

.message-block-error {
font-size: 16px;
    line-height: 2.125;
}

.message-block-confirmation {
font-size: 16px;
line-height: 2.2;
padding-top: 120px;
}

.content-confirmation .badge-optional {
font-size: 16px;
line-height: 2.2;
}

.content-confirmation .label {
padding-bottom: 10px;
border-bottom: 1px solid;
}

.content-confirmation .form-column[data-column="お問い合わせ内容"] .preview-block {
height: auto;
}

.content-confirmation .description-block {
display: none;
}

.form-column-recaptcha {
    display: flex;
    justify-content: center;
}

.button-group {
display: flex;
justify-content: center;
align-items: center;
gap: 30px 20px;
flex-wrap: wrap;
}

.button-group .help-block {
width: 100%;
text-align: center;
} 

.button-submit {
color: #fff;
background-color: #005bac;
}

.preview-block {
font-size: 16px;
line-height: 2.1;
height: 40px;
}

@media screen and (max-width: 767px) {

input[type="text"], input[type="email"], input[type="tel"] {
    font-size: 1.4rem;
max-width: 100%;
    width: 100%;
    height: 3.6rem;
    padding: 0 1rem;
    border-radius: .5rem;
}

.form-column {
margin-bottom: 3rem;
}

select {
font-size: 1.4rem;
    width: 100%;
    height: 3.6rem;
    padding: 0 1rem;
    border-radius: .5rem;
}

.c-tagType03 {
    font-size: 1.2rem;
    width: 4rem;
display: block;
}

textarea {
    font-size: 1.4rem;
    height: 16rem;
    padding: 1rem;
    border-radius: .5rem;
}

fieldset .option-text {
    font-size: 1.4rem;
    line-height: 1.97;

}

.label {
    font-size: 1.4rem;
    line-height: 1.97;
}

.preview-block {
height: 40px;
font-size: 1.4rem;
    line-height: 1.97;
}

.button-group {
    flex-direction: column;
gap: 15px 0;
}

.button-group .help-block {
margin-top: 15px;
}

.message-block-confirmation {
padding-top: 70px;
}
}

.form-column[data-column="個人情報保護方針"] fieldset {
border: none;
margin: 0;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
gap: 0 10px;
}

.form-column[data-column="個人情報保護方針"] .label {
display: none;
}

.form-column[data-column="個人情報保護方針"] .option {
cursor: pointer;
}

.form-column[data-column="個人情報保護方針"] .option-text {
color: #393639;
font-size: 16px;
line-height: 2.125;
}

@media screen and (max-width: 767px) {
.form-column[data-column="個人情報保護方針"] .option-text {
font-size: 14px;
line-height: 2;
}
}