/* =========================
   共通設定
========================= */
*{
  box-sizing:border-box;
}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  background:#f4f6f9;
  color:#333;
}
h1,h2,h3{
  margin:0;
}
a{
  text-decoration:none;
}

/* =========================
   タイトル
========================= */
.title{
  text-align:center;
  padding:16px 0;
  font-weight:700;
  font-size:20px;
  Color: #4CAF50;
}

/* =========================
   検索フォーム（今風）
========================= */
.modern-search{
  background:#fff;
  margin:12px;
  padding:16px;
  border-radius:16px;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
  gap:12px;
}

.modern-search select,
.modern-search input{
  width:100%;
  padding:14px;
  border-radius:12px;
  border:1px solid #ddd;
  font-size:16px;
  background:#fafafa;
}

.search-btn{
  background:#4CAF50;
  color:#fff;
  border:none;
  padding:14px;
  border-radius:12px;
  font-size:16px;
  font-weight:bold;
}

/* =========================
   カード一覧（1列固定）
========================= */
.card-list{
  padding-bottom:90px;
}

.card{
  background:#fff;
  margin:16px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid #e3e3e3;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  transition:.2s;
}

.card:hover{
  transform:translateY(-3px);
}

.card img{
  width:100%;
  height:200px;
  object-fit:cover;
}

.card-body{
  padding:16px;
}

.card-body h3{
  font-size:18px;
  margin-bottom:8px;
}

.card-body p{
  margin:4px 0;
  font-size:14px;
  color:#666;
}

/* =========================
   詳細ボタン
========================= */
.detail-btn{
  display:block;
  margin-top:14px;
  padding:12px;
  background:#4CAF50;
  color:#fff;
  text-align:center;
  border-radius:12px;
  font-weight:600;
}

/* =========================
   マッチ率バー
========================= */
.match{
  margin-top:10px;
}
.match strong{
  color: #43a047;
}
.match-bar{
  background:#e0e0e0;
  border-radius:20px;
  overflow:hidden;
  height:22px;
  float: right;
  Width: 75%;
}

.match-fill{
  height:100%;
  background:linear-gradient(90deg,#66bb6a,#43a047);
  color:#fff;
  font-size:12px;
  font-weight:bold;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding-right:8px;
  border-radius:20px;
}

/* =========================
   詳細画面
========================= */
.detail-img{
  width:100%;
  height:250px;
  object-fit:cover;
}

.detail-box{
  background:#fff;
  margin:16px;
  padding:20px;
  border-radius:20px;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}

.detail-box p{
  margin:8px 0;
  font-size:15px;
}

.contact-btn{
  display:block;
  margin-top:16px;
  padding:14px;
  background:#FF9800;
  color:#fff;
  text-align:center;
  border-radius:14px;
  font-weight:bold;
}

.back-btn{
  display:block;
  margin-top:12px;
  padding:14px;
  background:#777;
  color:#fff;
  text-align:center;
  border-radius:14px;
}

/* =========================
   フッター固定メニュー
========================= */
.footer{
  position:fixed;
  bottom:0;
  width:100%;
  height:60px;
  background:#fff;
  border-top:1px solid #ddd;
  display:flex;
  justify-content:space-around;
  align-items:center;
  box-shadow:0 -2px 10px rgba(0,0,0,.08);
}

.footer-btn{
  color:#444;
  font-size:14px;
  font-weight:600;
}

.footer-logo{
  font-size:16px;
  font-weight:800;
  color:#4CAF50;
}

/* =========================
   ログイン画面
========================= */
.login-page{
  background: url(images/login.jpg) center / cover no-repeat;
  height: 100vh;
}

.login-hero{
  height:45vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  color:#fff;
  text-align:center;
  text-shadow:0 3px 8px rgba(0,0,0,.6);
}

.login-hero h1{
  font-size:32px;
  font-weight:800;
}

.login-form{
  padding:20px;
}

.login-form input{
  width:100%;
  padding:14px;
  margin-bottom:14px;
  border-radius:12px;
  border:1px solid #ddd;
  font-size:16px;
}

.login-btn{
  width:100%;
  padding:14px;
  background:#4CAF50;
  color:#fff;
  border:none;
  border-radius:14px;
  font-size:16px;
  font-weight:bold;
}

/* =========================
   Contact Page
========================= */
.contact-wrapper{
  background:#fff;
  margin:16px;
  padding:20px;
  border-radius:20px;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  padding-bottom:90px;
}

.modern-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.modern-form input,
.modern-form textarea{
  padding:14px;
  border-radius:12px;
  border:1px solid #ddd;
  font-size:16px;
  background:#fafafa;
}

.send-btn{
  background:#4CAF50;
  color:#fff;
  border:none;
  padding:14px;
  border-radius:14px;
  font-size:16px;
  font-weight:bold;
}

.success-message{
  background:#e8f5e9;
  color:#2e7d32;
  padding:12px;
  border-radius:12px;
  margin-bottom:12px;
  text-align:center;
}


/* =========================
   レスポンシブ微調整
========================= */
@media(min-width:768px){
  body{
    max-width:480px;
    margin:0 auto;
    background:#e9ecef;
  }
}


