@charset "utf-8";
/* CSS Document */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --line:#E8E4DE;
  --muted:#9B9089;
  --mid:#6B6059;
  --dark:#2E2620;
  --accent:#8B7355;
}
html{scroll-behavior:smooth}
body{background:#fcfcfc;color:var(--dark);font-size:15px;line-height:2}
a{color:inherit;text-decoration:none}
a:link{color:var(--mid)}
a:visited{color:var(--muted)}
a.map-btn:link{color:#fcfcfc}
a.map-btn:visited{color:#fcfcfc}

/* SLIDER */
.slider{
  position:relative;width:100%;
  max-width:800px;margin:0 auto;
  padding: 40px 0 0;
  background:#fcfcfc;
}
.slider-track{position:relative;height:clamp(220px,40vw,400px)}
.slide{
  position:absolute;inset:0;
  opacity:0;transition:opacity 1.6s ease;
}
.slide.active{opacity:1}
.slide img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;display:block;
}
.arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:36px;height:36px;
  background:rgba(255,255,255,.7);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;z-index:10;
}



.arrow svg{width:13px;height:13px;stroke:var(--dark);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* LAYOUT */
.wrap{max-width:680px;margin:0 auto;padding:0 32px}
.sec{padding:64px 0}
.sec+.sec{border-top:1px solid var(--line)}

/* SECTION LABEL */
.sec-label{display:block;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--dark);margin-bottom:20px;font-weight:600;}

/* PAGE TITLE */
.page-title{
  padding:52px 0 0;
  margin: 50px 0 0;
  text-align:center;
}
.page-title h1{
  font-size:clamp(17px,3vw,22px);font-weight:400;
  letter-spacing:.2em;color:var(--dark);
}

/* ABOUT / VISIT — left */
.sec-left .sec-label{text-align:left}
.sec-left p{font-size:16px;color:var(--mid);margin-bottom:1.4em;text-align:left}
.sec-left p:last-child{margin-bottom:0}

/* 強調 */
.sec-left p em{font-style:normal;text-decoration:underline;text-underline-offset:3px;}
.notice strong{font-weight:700;border-bottom:2px solid var(--accent);padding-bottom:1px}

/* Notice */
.notice{
  margin-top:32px;padding:22px 26px;
  background:#fff;border-left:3px solid var(--accent);
  border:1px solid #E0D8CE;border-left:3px solid var(--accent);
}
.notice p{font-size:15px;color:var(--dark);margin-bottom:.9em;text-align:left}
.notice p:last-child{margin-bottom:0}
.notice .note{font-size:14.5px;color:var(--mid);margin-top:8px}

/* CENTER sections */
.sec-center{text-align:center}
.sec-center .sec-label{text-align:center}
.ac-list{list-style:none;font-size:16px;color:var(--mid);line-height:2.2}
.si-lines{font-size:16px;color:var(--mid);line-height:2.2}
.si-lines a{color:var(--mid);border-bottom:1px solid var(--line);transition:color .2s,border-color .2s}
.si-lines a:hover{color:var(--accent);border-color:var(--accent)}

.sub-div{border:none;border-top:1px solid var(--line);margin:44px 0}

/* MAP */
.map-frame{width:100%;aspect-ratio:16/8;overflow:hidden;background:#eee}
.map-frame iframe{width:100%;height:100%;border:none;filter:saturate(1) brightness(1.04)}
.map-action{margin-top:22px;text-align:center}
.map-btn{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;letter-spacing:.16em;
  color:#fcfcfc;background:#2E2620;border:1px solid #2E2620;
  padding:10px 26px;
  transition:background .2s,border-color .2s;
}
.map-btn:hover{background:#4a3d33;border-color:#4a3d33}
.map-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* RESPONSIVE */
@media(max-width:600px){
  .wrap{padding:0 20px}
  .sec{padding:48px 0}
  .page-title{padding-top:40px}
  .arrow{width:30px;height:30px}
  .notice{padding:16px 14px 16px 18px}
}