/* J PLANNING — サブページ共通スタイル（会社概要・事業内容・お問い合わせ・プライバシーポリシー） */

/* ---------- ごあいさつ（会社概要） ---------- */
.greeting-grid{display:grid; grid-template-columns:240px 1fr; gap:60px; align-items:start;}
.greeting-photo{
  aspect-ratio:4/5;
  background:linear-gradient(160deg,#c9cedb 0%,#97a2bd 45%,#5b6c99 100%);
  position:relative; overflow:hidden;
}
.greeting-photo span{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,0.75); font-size:11px; letter-spacing:0.1em; text-align:center; padding:16px;
}
.greeting-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.greeting-body p{margin:0 0 30px; font-size:15px; color:#33363e; line-height:2.1;}
.greeting-sign{margin-top:20px;}
.greeting-sign p{margin:0 0 6px; font-size:13.5px; color:#565C6B;}

@media (max-width:640px){
  .greeting-grid{grid-template-columns:1fr; gap:32px;}
  .greeting-photo{max-width:220px;}
}

/* ---------- 事業内容リスト ---------- */
.biz-list{display:grid; grid-template-columns:1fr; gap:1px; background:#DADDE3; border:1px solid #DADDE3;}
.biz-list-item{background:#fff; padding:50px 40px; display:grid; grid-template-columns:80px 1fr; gap:30px;}
.biz-list-item .no{font-family:'Noto Serif JP',serif; font-size:15px; color:#7C93C4; letter-spacing:0.1em;}
.biz-list-item h3{margin:0; font-family:'Noto Serif JP',serif; color:#0B1638; font-size:20px; font-weight:500;}
.biz-list-item p{margin:16px 0 0; font-size:14px; color:#565C6B; max-width:640px;}

@media (max-width:640px){
  .biz-list-item{grid-template-columns:1fr; gap:12px;}
}

/* ---------- 実績紹介 ---------- */
.works-grid{margin-top:56px; display:grid; grid-template-columns:repeat(4,1fr); gap:36px 28px;}
.works-photo{
  aspect-ratio:4/3;
  background:linear-gradient(160deg,#c9cedb 0%,#97a2bd 45%,#5b6c99 100%);
  position:relative; overflow:hidden;
}
.works-photo span{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,0.75); font-size:11px; letter-spacing:0.08em; text-align:center; padding:12px;
}
.works-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.works-caption{margin-top:14px;}
.works-caption h3{margin:0; font-family:'Noto Serif JP',serif; color:#0B1638; font-size:15px; font-weight:500;}
.works-caption p{margin:6px 0 0; font-size:12.5px; color:#565C6B;}

@media (max-width:860px){
  .works-grid{grid-template-columns:repeat(2,1fr); gap:32px 24px;}
}
@media (max-width:480px){
  .works-grid{grid-template-columns:1fr; gap:32px;}
}

/* ---------- お問い合わせフォーム ---------- */
.contact-lead{margin:0 0 50px; font-size:14px; color:#565C6B;}
.contact-error-banner{margin:0 0 30px; padding:16px 18px; background:#FBEDEB; border:1px solid #E3B3AC; color:#8A2E22; font-size:13px; letter-spacing:0.02em;}
.contact-error-banner[hidden]{display:none;}

.contact-form{display:flex; flex-direction:column; gap:26px;}
.form-field{display:flex; flex-direction:column; gap:8px;}
.form-field span.label{font-size:12.5px; letter-spacing:0.06em; color:#565C6B;}
.form-field .required{color:#B0473C; margin-left:6px;}
.form-field input[type="text"],
.form-field input[type="email"],
.form-field input[type="tel"],
.form-field select,
.form-field textarea{
  border:1px solid #DADDE3; padding:13px 14px; font-size:14px; background:#fff; color:#1C1F26;
}
.form-field.has-error input,
.form-field.has-error textarea{border-color:#B0473C;}
.form-field textarea{resize:vertical;}
.field-error{font-size:12px; color:#B0473C; min-height:14px;}

.form-agree{display:flex; align-items:center; gap:12px; font-size:13px; color:#565C6B; cursor:pointer;}
.form-agree input{width:19px; height:19px; flex-shrink:0; accent-color:#0B1638; cursor:pointer;}
.form-agree a, .form-agree .privacy-trigger{color:#1A2A5E; border-bottom:1px solid #1A2A5E;}

.btn-outline{padding:17px 34px; background:#fff; color:#0B1638; border:1px solid #0B1638; font-size:13px; letter-spacing:0.2em; cursor:pointer;}
.btn-primary{margin-top:10px; padding:17px 44px; background:#0B1638; color:#fff; border:none; font-size:13px; letter-spacing:0.2em; cursor:pointer; display:inline-flex; align-items:center; justify-content:center;}

.confirm-actions{display:flex; gap:18px; flex-wrap:wrap;}
.confirm-actions .btn-primary{margin-top:0;}

.thanks-box{border:1px solid #DADDE3; padding:60px 40px; text-align:center;}
.thanks-box p:first-child{margin:0; font-family:'Noto Serif JP',serif; color:#0B1638; font-size:19px;}
.thanks-box p:last-child{margin:16px 0 0; font-size:13.5px; color:#565C6B;}
