/* page hero */
.page-hero{position:relative;overflow:hidden;padding:60px 20px 70px;text-align:center;background-image:url('../img/aboutus_07.jpg');background-size:cover;background-position:center;}
.hero-overlay{position:absolute;inset:0;background:#000;opacity:.25;z-index:0;}
.blob{position:absolute;border-radius:60% 40% 55% 45%/45% 55% 40% 60%;opacity:.5;z-index:1;}
.blob1{width:220px;height:220px;background:#fff;top:-70px;left:-50px;}
.blob2{width:180px;height:180px;background:var(--header-bg);bottom:-60px;right:-40px;opacity:.35;}
.page-hero-inner{position:relative;z-index:2;max-width:820px;margin:0 auto;}
.page-hero-badge{display:inline-block;background:#fff;color:var(--accent1);font-weight:700;font-size:13px;padding:8px 20px;border-radius:30px;margin-bottom:20px;box-shadow:0 6px 14px rgba(0,0,0,.08);}
.page-hero-title{font-family:'M PLUS Rounded 1c',sans-serif;font-size:2.4rem;font-weight:800;color:#fff;margin-bottom:16px;text-shadow:2px 2px 0 var(--accent1);}
.page-hero-sub{color:#fff;font-weight:500;font-size:.95rem;}

/* sections */
.section{max-width:900px;margin:0 auto;padding:70px 24px;}
.section-head{text-align:center;margin-bottom:30px;}
.section-title{font-family:'Baloo 2',sans-serif;font-size:2rem;color:var(--accent1);font-weight:800;}
.section-title::before{content:'✿ ';}
.section-title::after{content:' ✿';}

.intro-text{text-align:center;color:#7a5b68;font-size:16px;max-width:640px;margin:0 auto;}

.intro-card{max-width:900px;margin:0 auto;background:#fff;border-radius:30px;padding:44px;text-align:center;box-shadow:0 10px 30px rgba(192,69,98,.08);border:3px solid var(--accent2);}
.intro-card p{font-size:16px;color:#7a5b68;text-align:left;}

/* form */
.form-card{background:#fff;border-radius:30px;padding:44px;box-shadow:0 10px 30px rgba(192,69,98,.08);border:3px solid var(--accent2);}
.contact-form{display:flex;flex-direction:column;gap:22px;}
.form-group{display:flex;flex-direction:column;gap:8px;}
.form-label{font-weight:700;color:var(--base);font-size:.9rem;}
.required{color:var(--accent1);margin-left:4px;}
.form-input,.form-textarea{padding:14px 16px;border:2px solid #f0dee5;border-radius:14px;font-size:.92rem;background:#fff9fb;font-family:'Noto Sans JP',sans-serif;color:var(--ink);transition:.25s;}
.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent1);background:#fff;box-shadow:0 0 0 3px rgba(192,69,98,.12);}
.form-textarea{min-height:130px;resize:vertical;}
.form-checkbox-group{display:flex;align-items:flex-start;gap:10px;margin-top:6px;}
.form-checkbox{width:18px;height:18px;accent-color:var(--accent1);margin-top:2px;flex-shrink:0;}
.checkbox-label{font-size:.85rem;color:#7a5b68;cursor:pointer;}
.privacy-link{color:var(--accent1);text-decoration:underline;font-weight:700;}
.submit-btn{background:var(--accent1);color:#fff;padding:15px 40px;border:none;border-radius:30px;font-size:1.05rem;font-weight:800;cursor:pointer;transition:.3s;margin-top:8px;font-family:'Noto Sans JP',sans-serif;align-self:center;}
.submit-btn:hover{background:var(--header-bg);transform:translateY(-3px);box-shadow:0 10px 24px rgba(192,69,98,.3);}
.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;}

@media (max-width:860px){
  .page-hero-title{font-size:1.9rem;}
  .form-card{padding:28px 22px;}
  .intro-text{font-size:.92rem;}
  .intro-card p{font-size:.92rem;}
}
