@charset "utf-8";
/* <!-- contact-form.css --> */
.contact-box{
    padding: 120px 0;
  animation: bg-gradient 5s linear infinite alternate;
  background: linear-gradient(45deg, #D6E4F0, #A0C4FF, #BED6FA) 0 / 200% 100%;
}

@keyframes bg-gradient {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 100% 0;
  }
}

@media print, screen and (max-width:800px) {
.contact-box{
    padding: 120px clamp(10px, 5vw, 25px);
}
}

.form-wrapper {
background: #fff;
max-width: 720px;
margin: 0px auto;
padding: 40px;
border-radius: 12px;
box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}

@media print, screen and (max-width:800px) {
.form-wrapper{
    padding: 40px clamp(10px, 5vw, 30px);
}
}


.form-title {
font-size: var(--fs-2l);
font-weight: 600;
margin-bottom: 24px;
border-left: 4px solid #005bac;
padding-left: 12px;
}

input[type=checkbox]{
    max-width: 20px;
}


.form-group {
margin-bottom: 20px;
}


.form-group.required label::after {
content: " *";
color: #e60033;
font-weight: bold;
}


label {
display: block;
font-weight: 600;
margin-bottom: 6px;
}


input, select, textarea {
width: 100%;
padding: 12px;
border: 1px solid #ccc;
border-radius: 6px;
font-size: var(--fs-s);
}


textarea {
min-height: 140px;
}


.checkbox label {
display: flex;
align-items: center;
gap: 8px;
}


.submit-btn {
width: 100%;
background: #005bac;
color: #fff;
padding: 14px;
border: none;
border-radius: 6px;
/* font-size: 16px; */
cursor: pointer;
}


.submit-btn:hover {
opacity: 0.9;
}

/* <!-- confirm.html --> */

/* .form-wrapper {
max-width: 720px;
margin: 0 auto;
background: #fff;
padding: 40px;
border-radius: 12px;
box-shadow: 0 6px 20px rgba(0,0,0,0.08);
} */
/* .form-title {
font-size: var(--fs-2l);
font-weight: 600;
border-left: 4px solid #005bac;
padding-left: 12px;
margin-bottom: 24px;
} */
.confirm-list .row {
padding: 16px 0;
border-bottom: 1px solid #eee;
}
.confirm-list span {
font-weight: 600;
color: #555;
}
.confirm-list p {
margin: 4px 0 0;
}
.submit-btn, .back-btn {
width: 100%;
padding: 14px;
border-radius: 6px;
border: none;
/* font-size: 16px; */
cursor: pointer;
}
.submit-btn {
background: #005bac;
color: #fff;
margin-top: 20px;
}
.back-btn {
background: #ccc;
color: #333;
margin-top: 12px;
}

  /* 郵便番号と住所を同じ行に */
  .address-group { display: flex; gap: 5px; }
  .address-group input[type="text"]:first-child { width: 140px; }
  .address-group input[type="text"]:last-child { flex: 1; }

/* <!-- thanks.html --> */

.thanks-wrapper {
max-width: 600px;
margin: 0 auto;
background: #fff;
padding: 60px 40px;
border-radius: 12px;
box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}
.thanks-wrapper h1 {
font-size: var(--fs-3l);
margin-bottom: 20px;
}
.home-link {
display: inline-block;
margin-top: 30px;
padding: 12px 24px;
border-radius: 6px;
background: #005bac;
color: #fff;
text-decoration: none;
/* font-size: 16px; */
}

.privacy .form-wrapper p:not(:last-of-type){
margin-bottom: 3rem;
}

.privacy .form-wrapper ul{
    margin-bottom: 3rem;
}

.privacy .form-wrapper h1,
.privacy .form-wrapper h2{
    margin-bottom: 10px;
}