/* =========================
   設立支援者 掲載情報ページ
========================= */

.supporter-profile-page{
  padding-top:0;
}

.supporter-profile-page > .container{
  max-width:1080px;
}

.supporter-profile-hero{
  max-width:850px;
  padding:90px 0 65px;
}

.supporter-profile-hero h1{
  margin:10px 0 25px;
  font-size:clamp(2.5rem,5vw,4.5rem);
  line-height:1.25;
}

.supporter-profile-lead{
  margin:0;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:clamp(1.25rem,2.5vw,1.8rem);
  line-height:1.7;
}

.supporter-profile-intro{
  max-width:850px;
  padding:55px 0 70px;
  border-top:1px solid var(--line);
}

.supporter-profile-intro h2{
  margin:0 0 24px;
  font-size:clamp(1.8rem,3vw,2.6rem);
  line-height:1.4;
}

.supporter-profile-intro p{
  margin:0 0 1.4em;
  line-height:1.9;
}

.supporter-profile-intro p:last-child{
  margin-bottom:0;
}

.supporter-profile-form{
  padding:75px 0 90px;
  border-top:1px solid var(--line);
}

.supporter-profile-form-head{
  max-width:760px;
  margin-bottom:38px;
}

.supporter-profile-form-head h2{
  margin:10px 0 15px;
  font-size:clamp(2rem,4vw,3rem);
}

.supporter-profile-form-head p:last-child{
  margin-bottom:0;
  color:var(--muted);
}


.supporter-profile-later{
  margin-top:28px;
  padding:22px 24px;
  border:1px solid var(--line);
  background:#fff;
}

.supporter-profile-later p{
  margin:0 0 8px;
}

.supporter-profile-later-title{
  color:var(--text);
  font-weight:700;
}

.supporter-profile-later-note{
  color:var(--muted);
  font-size:.88rem;
}

.supporter-profile-copy-url{
  display:inline-flex;
  min-height:44px;
  margin-top:8px;
  padding:0 18px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--accent);
  border-radius:6px;
  background:#fff;
  color:var(--accent-dark);
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.supporter-profile-copy-url:hover{
  background:var(--soft);
}

.supporter-profile-copy-result{
  min-height:1.5em;
  margin:8px 0 0 !important;
  color:var(--accent-dark);
  font-size:.88rem;
}

.supporter-profile-form-layout{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:42px;
  align-items:start;
}

.supporter-profile-form-body{
  min-width:0;
}

.supporter-profile-form-body .wpcf7 input[type="submit"]{
  width:100%;
  border-radius:0;
}

.supporter-profile-form-body .wpcf7-checkbox{
  display:grid;
  gap:10px;
}

.supporter-profile-form-body .wpcf7-list-item{
  margin-left:0;
}

.supporter-profile-form-body .wpcf7-list-item label{
  display:flex;
  gap:8px;
  align-items:flex-start;
}

.supporter-profile-form-body .wpcf7-list-item input[type="checkbox"]{
  flex:0 0 auto;
  margin-top:.3em;
}

.supporter-profile-preview [hidden]{
  display:none !important;
}

.supporter-profile-preview{
  position:sticky;
  top:30px;
  padding:26px;
  border:1px solid var(--line);
  background:#f7f3ea;
}

.supporter-profile-preview-title{
  margin:0 0 6px;
  color:var(--text);
  font-size:1.05rem;
  font-weight:700;
}

.supporter-profile-preview-note{
  margin:0 0 18px;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.7;
}

.supporter-profile-preview-card{
  min-height:240px;
  padding:26px;
  border:1px solid #d9d3c8;
  border-radius:8px;
  background:#fff;
  box-sizing:border-box;
}

.supporter-profile-preview-empty,
.supporter-profile-preview-none{
  display:flex;
  min-height:186px;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.8;
  text-align:center;
}

.supporter-profile-preview-content::after{
  content:"";
  display:block;
  clear:both;
}

.supporter-profile-preview-avatar{
  float:left;
  width:90px;
  height:90px;
  margin:2px 18px 10px 0;
  border:1px solid rgba(79,111,77,.18);
  border-radius:50%;
  background:var(--soft);
  overflow:hidden;
  box-sizing:border-box;
}

.supporter-profile-preview-avatar img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.supporter-profile-preview-avatar span{
  display:flex;
  width:100%;
  height:100%;
  padding:10px;
  align-items:center;
  justify-content:center;
  color:var(--accent-dark);
  font-size:.75rem;
  line-height:1.4;
  text-align:center;
  box-sizing:border-box;
}

.supporter-profile-preview-text{
  min-width:0;
}

.supporter-profile-preview-name{
  margin:0 0 5px;
  color:var(--text);
  font-size:1.05rem;
  font-weight:700;
  line-height:1.5;
}

.supporter-profile-preview-company{
  margin:0 0 16px;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.6;
}

.supporter-profile-preview-description{
  clear:both;
  padding-top:14px;
  margin:0;
  color:var(--text);
  font-size:.92rem;
  line-height:1.85;
  white-space:pre-wrap;
}

.supporter-profile-preview-link{
  display:inline-block;
  clear:both;
  max-width:100%;
  margin-top:18px;
  color:var(--accent-dark);
  font-size:.9rem;
  font-weight:700;
  line-height:1.5;
  text-decoration:none;
  overflow-wrap:anywhere;
}

.supporter-profile-preview-link:hover{
  text-decoration:underline;
}

@media(max-width:900px){

  .supporter-profile-form-layout{
    grid-template-columns:1fr;
  }

  .supporter-profile-preview{
    position:static;
  }

}

@media(max-width:640px){

  .supporter-profile-hero{
    padding:65px 0 45px;
  }

  .supporter-profile-intro{
    padding:45px 0 55px;
  }

  .supporter-profile-form{
    padding:55px 0 70px;
  }

  .supporter-profile-form-body .wpcf7 form{
    padding:25px 20px;
  }

  .supporter-profile-preview{
    padding:20px;
  }

  .supporter-profile-preview-card{
    padding:22px;
  }

  .supporter-profile-preview-avatar{
    width:82px;
    height:82px;
    margin-right:14px;
  }

}
