/* page hero */
.page-hero{position:relative;overflow:hidden;padding:60px 20px 70px;text-align:center;background-image:url('../img/aboutus_03.jpg');background-size:cover;background-position:center;}
.hero-overlay{position:absolute;inset:0;background:#000;opacity:.25;z-index:0;}
.blob{position:absolute;border-radius:60% 40% 55% 45%/45% 55% 40% 60%;opacity:.5;z-index:1;}
.blob1{width:220px;height:220px;background:#fff;top:-70px;left:-50px;}
.blob2{width:180px;height:180px;background:var(--header-bg);bottom:-60px;right:-40px;opacity:.35;}
.page-hero-inner{position:relative;z-index:2;max-width:820px;margin:0 auto;}
.page-hero-badge{display:inline-block;background:#fff;color:var(--accent1);font-weight:700;font-size:13px;padding:8px 20px;border-radius:30px;margin-bottom:20px;box-shadow:0 6px 14px rgba(0,0,0,.08);}
.page-hero-title{font-family:'M PLUS Rounded 1c',sans-serif;font-size:2.4rem;font-weight:800;color:#fff;margin-bottom:16px;text-shadow:2px 2px 0 var(--accent1);}
.page-hero-sub{color:#fff;font-weight:500;font-size:.95rem;}

/* sections */
.section{max-width:1160px;margin:0 auto;padding:80px 24px;}
.section-head{text-align:center;margin-bottom:46px;}
.section-title{font-family:'Baloo 2',sans-serif;font-size:2rem;color:var(--accent1);font-weight:800;}
.section-title::before{content:'✿ ';}
.section-title::after{content:' ✿';}

.intro-card{max-width:900px;margin:0 auto;background:#fff;border-radius:30px;padding:44px;text-align:center;box-shadow:0 10px 30px rgba(192,69,98,.08);border:3px solid var(--accent2);}
.intro-card p{font-size:16px;color:#7a5b68;margin-bottom:16px;text-align:left;}
.intro-card p:last-child{margin-bottom:0;}

/* intro (店舗紹介) */
.intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.intro-photo img{border-radius:30px;width:100%;height:400px;object-fit:cover;border:6px solid var(--accent2);}
.intro-text h3{color:var(--accent1);font-size:1.3rem;margin-bottom:16px;font-weight:700;}
.intro-text p{font-size:16px;color:#7a5b68;margin-bottom:16px;}
.intro-text .highlight{background:var(--accent2);padding:1px 6px;border-radius:6px;font-weight:700;color:var(--base);}

/* character (NAMCHINIについて) */
.character{display:grid;grid-template-columns:1fr 1.6fr;gap:44px;align-items:center;}
.character-photo img{border-radius:30px;width:100%;height:320px;object-fit:cover;border:6px solid var(--accent2);}
.character-text{background:#fff0f5;border-radius:24px;padding:28px 30px;}
.character-text h3{color:var(--accent1);font-size:1.2rem;margin-bottom:12px;font-weight:700;}
.character-text p{font-size:16px;color:#7a5b68;margin-bottom:12px;}
.character-text p:last-child{margin-bottom:0;}

/* gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.gallery-item{position:relative;border-radius:20px;overflow:hidden;border:4px solid #fff;box-shadow:0 10px 24px rgba(0,0,0,.1);transition:.3s;cursor:pointer;}
.gallery-item:hover{transform:translateY(-6px);border-color:var(--accent2);}
.gallery-item img{width:100%;height:190px;object-fit:cover;}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;background:rgba(49,49,101,.75);color:#fff;text-align:center;padding:10px;font-size:.82rem;font-weight:700;}

/* lightbox */
.lightbox{display:none;position:fixed;inset:0;background:rgba(49,49,101,.9);z-index:2000;align-items:center;justify-content:center;padding:40px 20px;}
.lightbox.active{display:flex;}
.lightbox-inner{position:relative;max-width:900px;width:100%;text-align:center;}
.lightbox-inner img{width:100%;max-height:78vh;object-fit:contain;border-radius:16px;border:5px solid #fff;}
.lightbox-caption{color:#fff;margin-top:16px;font-weight:700;font-size:1rem;}
.lightbox-close{position:absolute;top:-46px;right:0;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--accent1);border:none;font-size:20px;font-weight:800;cursor:pointer;line-height:1;}
.lightbox-close:hover{background:var(--accent2);color:#fff;}

/* access */
.access{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
.info-row{display:flex;gap:14px;padding:12px 0;border-bottom:2px dotted var(--accent2);font-size:16px;}
.info-row .label{color:var(--accent1);font-weight:700;min-width:88px;}
.map-box{border-radius:24px;height:340px;overflow:hidden;border:3px solid var(--accent2);}
.map-box iframe{width:100%;height:100%;border:0;display:block;}

/* manager */
.manager{max-width:720px;margin:0 auto;}
.manager-text p{font-size:16px;color:#7a5b68;margin-bottom:14px;}
.manager-sign{text-align:right;color:var(--accent1);font-weight:700;margin-top:10px;}

@media (max-width:860px){
  .intro,.character,.access{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .page-hero-title{font-size:1.9rem;}
  .intro-card p{font-size:.92rem;}
  .intro-text p{font-size:.92rem;}
  .character-text p{font-size:.9rem;}
  .info-row{font-size:.88rem;}
  .manager-text p{font-size:.92rem;}
}
@media (max-width:560px){
  .gallery-grid{grid-template-columns:1fr;}
}
