/* ===== header ===== */
/* ===== common ===== */
.section{padding:var(--section-pc) 0}
.section-alt{background:var(--surface-low)}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--brown);color:var(--white);padding:16px 32px}
.btn-primary:hover{background:#5c4830}
/* ===== page hero ===== */
.page-hero{
      position:relative;height:400px;display:flex;align-items:center;
      overflow:hidden;margin-top:var(--header-h);
    }
.page-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.55) 0%,rgba(0,0,0,.15) 100%);}
.page-hero-content{position:relative;z-index:10;color:var(--white);}
.page-hero-content .small-label{display:block;color:rgba(255,255,255,.7);margin-bottom:16px;}
.page-hero-title{margin:0;font-family:"Shippori Mincho",serif;font-size:48px;line-height:1.5;font-weight:600;letter-spacing:.05em;color:var(--white);}
.page-hero-lead{margin:16px 0 0;font-size:16px;line-height:1.8;color:rgba(255,255,255,.85);max-width:480px;}
/* ===== breadcrumb ===== */
.breadcrumb{padding:16px 0;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border);}
.breadcrumb a{color:var(--muted);transition:color .2s}
.breadcrumb a:hover{color:var(--green)}
.breadcrumb span{margin:0 8px;opacity:.5}
/* ===== brochure preview ===== */
.brochure-preview{
      display:grid;grid-template-columns:1fr;gap:48px;align-items:center;
      margin-bottom:80px;
    }
.brochure-images{
      position:relative;display:flex;justify-content:center;padding:24px 0;
    }
.brochure-img-main{
      width:70%;max-width:280px;box-shadow:0 24px 48px rgba(0,0,0,.18);
      border:1px solid var(--border);
    }
.brochure-img-sub{
      position:absolute;width:55%;max-width:220px;
      box-shadow:0 16px 32px rgba(0,0,0,.15);
      border:1px solid var(--border);
      right:8%;bottom:-16px;
      transform:rotate(6deg);
    }
.brochure-content h2{margin-bottom:16px;}
.brochure-content p{color:var(--muted);line-height:2;margin:0 0 24px;}
.brochure-points{list-style:none;padding:0;margin:0 0 32px;}
.brochure-points li{
      display:flex;align-items:flex-start;gap:12px;
      padding:12px 0;border-bottom:1px solid var(--border);
      font-size:14px;
    }
.brochure-points li:last-child{border-bottom:none}
.brochure-points .material-symbols-outlined{color:var(--green);flex-shrink:0;}
/* ===== contents grid ===== */
.contents-grid{
      display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
      gap:32px;
    }
.content-card{
      background:var(--white);border:1px solid var(--border);
      padding:32px;text-align:center;
      transition:transform .3s ease,box-shadow .3s ease;
    }
.content-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px rgba(0,0,0,.08)}
.content-card .icon-wrap{
      width:64px;height:64px;border-radius:50%;
      background:rgba(113,90,63,.1);
      display:flex;align-items:center;justify-content:center;
      margin:0 auto 20px;
    }
.content-card .icon-wrap .material-symbols-outlined{font-size:28px;color:var(--brown);}
.content-card h3{margin:0 0 12px;font-family:"Shippori Mincho",serif;font-size:18px;font-weight:600;}
.content-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.8;}
/* ===== form layout ===== */
.form-wrap{display:grid;grid-template-columns:1fr;gap:64px;}
.form-container{background:var(--white);border:1px solid var(--border);padding:48px;}
.form-title{font-family:"Shippori Mincho",serif;font-size:24px;font-weight:600;margin:0 0 8px;}
.form-lead{font-size:14px;color:var(--muted);margin:0 0 40px;}
.field{margin-bottom:28px;}
.field-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin-bottom:8px;}
.required{display:inline-block;padding:2px 8px;font-size:10px;font-weight:700;letter-spacing:.05em;background:var(--brown);color:var(--white);}
.optional{display:inline-block;padding:2px 8px;font-size:10px;font-weight:700;letter-spacing:.05em;background:var(--border);color:var(--muted);}
.field input[type="text"],
    .field input[type="email"],
    .field input[type="tel"],
    .field select{
      width:100%;padding:14px 16px;border:1px solid var(--border);background:var(--surface);
      font-family:"Noto Sans JP",sans-serif;font-size:15px;color:var(--text);
      transition:border-color .2s ease,box-shadow .2s ease;appearance:none;-webkit-appearance:none;border-radius:0;
    }
.field input:focus,.field select:focus{outline:none;border-color:var(--brown);box-shadow:0 0 0 3px rgba(113,90,63,.12);}
.field input.error,.field select.error{border-color:var(--red);}
.field-error{display:none;font-size:12px;color:var(--red);margin-top:6px;}
.field-error.show{display:block}
.field select{
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2344483d' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
      background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;
    }
.field-hint{font-size:12px;color:var(--muted);margin-top:6px;}
.address-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.address-row{display:grid;grid-template-columns:120px 1fr;gap:12px;}
.check-group{display:flex;flex-direction:column;gap:12px;}
.check-item{display:flex;align-items:center;gap:12px;cursor:pointer;}
.check-item input[type="checkbox"]{width:20px;height:20px;border:1px solid var(--border);accent-color:var(--brown);cursor:pointer;flex-shrink:0;}
.check-item span{font-size:14px;}
.privacy-agree{padding:24px;background:var(--surface-low);border:1px solid var(--border);margin-bottom:32px;}
.privacy-agree p{font-size:13px;color:var(--muted);margin:0 0 16px;line-height:1.8;}
.privacy-agree a{color:var(--brown);text-decoration:underline;}
.privacy-check{display:flex;align-items:center;gap:12px;cursor:pointer;}
.privacy-check input{width:20px;height:20px;accent-color:var(--brown);cursor:pointer;}
.privacy-check span{font-size:14px;font-weight:700;}
.submit-btn{
      width:100%;padding:20px;background:var(--brown);color:var(--white);border:none;
      font-size:17px;font-weight:700;letter-spacing:.05em;
      display:flex;align-items:center;justify-content:center;gap:12px;
      transition:background-color .3s ease,transform .2s ease;cursor:pointer;
    }
.submit-btn:hover{background:#5c4830;transform:translateY(-2px)}
.submit-btn:disabled{background:var(--border);cursor:not-allowed;transform:none}
.complete-msg{display:none;text-align:center;padding:64px 32px;}
.complete-msg.show{display:block}
.complete-icon{
      width:80px;height:80px;border-radius:50%;background:rgba(113,90,63,.12);
      display:flex;align-items:center;justify-content:center;margin:0 auto 24px;
    }
.complete-icon .material-symbols-outlined{font-size:40px;color:var(--brown);}
.complete-msg h3{font-family:"Shippori Mincho",serif;font-size:24px;margin:0 0 16px;}
.complete-msg p{color:var(--muted);margin:0 0 32px;line-height:2;}
/* サイドバー */
.contact-sidebar{display:flex;flex-direction:column;gap:24px;}
.sidebar-card{padding:32px;background:var(--white);border:1px solid var(--border);}
.sidebar-card h3{font-family:"Shippori Mincho",serif;font-size:18px;font-weight:600;margin:0 0 16px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.sidebar-card p{font-size:13px;color:var(--muted);margin:0 0 8px;line-height:1.8;}
.sidebar-card p:last-child{margin:0}
/* ===== footer ===== */
/* ===== responsive ===== */
@media(min-width:768px){
  .brochure-preview{grid-template-columns:1fr 1fr}
  .contents-grid{grid-template-columns:repeat(3,1fr)}
  .address-row{grid-template-columns:140px 1fr}
}
@media(min-width:1024px){
  .form-wrap{grid-template-columns:1fr 360px}
}
@media(max-width:767px){
  .section{padding:var(--section-sp) 0}
  .section-title{font-size:28px;letter-spacing:.03em}
  .page-hero{height:320px}
  .page-hero-title{font-size:32px}
  .form-container{padding:24px}
  .brochure-img-main{max-width:200px}
  .brochure-img-sub{max-width:150px}
}
