:root{
  --brown:#2b130b;
  --brown2:#431f10;
  --amber:#ff9800;
  --orange:#d95b14;
  --cream:#f5f1ec;
  --paper:#fffdf9;
  --muted:#77665c;
  --line:#eadfd5;
  --shadow:0 12px 28px rgba(44,24,13,.12);
  --radius:18px;
  --max:1280px;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:#fff;
  color:#1b120e;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-weight:600;
  line-height:1.85;
}

a{
  color:inherit;
  text-decoration:none;
}

img{
  max-width:100%;
  display:block;
}

.wrap{
  max-width:var(--max);
  margin:auto;
  padding:0 28px;
}

.section{
  padding:82px 0;
}

.section.alt{
  background:var(--cream);
}

.eyebrow{
  display:block;
  color:#c64b16;
  font-size:11px;
  letter-spacing:.34em;
  font-weight:900;
  margin-bottom:4px;
}

.title{
  font-size:34px;
  line-height:1.25;
  margin:0 0 36px;
  font-weight:900;
  letter-spacing:-.04em;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65em;
  border-radius:14px;
  padding:3px 20px;
  font-weight:900;
  border:2px solid var(--brown2);
  transition:.2s;
}

.btn:hover{
  transform:translateY(-1px);
}

.btn.outline{
  background:#fff;
  color:var(--brown2);
}

.btn.amber{
  background:var(--amber);
  border-color:var(--amber);
  color:#2b130b;
}

.btn.wide{
  min-width:260px;
}

.header{
  position:sticky;
  top:0;
  z-index:50;
  background:var(--brown);
  box-shadow:0 2px 16px rgba(0,0,0,.18);
}

.nav{
  height:60px;
  display:flex;
  align-items:center;
  gap:30px;
}

.logo{
  display:flex;
  align-items:center;
  background:#fff;
  border-radius:14px;
  padding:4px 6px;
}

.menu{
  margin-left:auto;
  display:flex;
  gap:26px;
  color:#f3d4b6;
  font-size:14px;
}

.contact{
  margin-left:12px;
}

.ph{
  background:#e7e3df;
  position:relative;
  overflow:hidden;
}

.ph::before{
  content:"画像表示エリア";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#aaa;
  font-size:13px;
  font-weight:700;
}

.ph.photo{
  background:linear-gradient(135deg,#d7e6e8,#9aa8a8);
}

.tag{
  display:inline-flex;
  background:var(--amber);
  color:#fff;
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
  font-weight:900;
}

.center{
  text-align:center;
  margin-top:36px;
}

.lead{
  font-size:17px;
  line-height:2;
}

.dark{
  background:var(--brown);
  color:#fff;
}

.icon{
  width:45px;
  height:45px;
  border-radius:14px;
  background:var(--amber);
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:900;
  margin-bottom:22px;
}

.footer{
  background:#1b0b05;
  color:#bca28a;
  padding:72px 0 28px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:80px;
}

.footer h3{
  color:#fff;
  margin-top:0;
}

.footer .links{
  display:grid;
  gap:10px;
  font-size:17px;
  color:#bca28a;
}

.footer-logo{
  display:inline-flex;
  background:transparent;
  padding:0;
  color:#c26b18;
}

.copy{
  border-top:1px solid #432112;
  text-align:center;
  margin-top:50px;
  padding-top:24px;
  color:#745c4b;
  font-size:12px;
}

@media(max-width:900px){
  .menu{
    display:none;
  }

  .nav{
    gap:12px;
  }

  .logo{
    padding:8px 12px;
  }

  .section{
    padding:58px 0;
  }

  .title{
    font-size:28px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
}