*{margin:0;padding:0;box-sizing:border-box}
html{min-width:1200px}
body{min-width:1200px;overflow-x:auto;font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;color:#1f1f1f;background:#fff;line-height:1.8}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-header{width:100%;min-width:1200px;height:76px;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:100}
.header-inner{height:100%;width:1200px;margin:0 auto;display:grid;grid-template-columns:260px 1fr 300px;align-items:center}
.logo img{height:46px;margin-left:28px}
.global-nav{display:flex;justify-content:center;gap:46px;font-size:15px;letter-spacing:.08em}
.dropdown{position:relative}
.dropdown-menu{position:absolute;top:100%;left:0;min-width:180px;background:#fff;border:1px solid #ddd;border-top:3px solid #b58a35;box-shadow:0 5px 15px rgba(0,0,0,.08);display:none;z-index:999}
.dropdown-menu a{display:block;padding:12px 18px;white-space:nowrap}
.dropdown-menu a:hover{background:#f5f2ec}
.dropdown:hover .dropdown-menu{display:block}
.language-switch{display:flex;justify-content:center;align-items:center;gap:10px;font-size:13px}
.language-switch a{padding:6px 10px;border:1px solid #c9b07a;background:#fff}
.language-switch a.active{background:#b58a35;color:#fff}
.section{padding:50px 0}
.section-label{color:#b58a35;letter-spacing:.18em;font-size:14px;font-weight:600;margin-bottom:14px}
.center-title{display:flex;justify-content:center;align-items:center;gap:22px;text-align:center;font-size:24px;letter-spacing:.1em;margin-bottom:38px}
.center-title span{width:42px;height:1px;background:#b58a35}
.gold-btn{display:inline-block;padding:15px 44px;background:#b58a35;color:#fff;font-weight:600;letter-spacing:.08em;transition:all .3s ease;white-space:nowrap}
.gold-btn:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.page-hero{position:relative;min-width:1200px;min-height:460px;background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,.55),rgba(255,255,255,.08)),url("images/history/hero.jpg") center/cover no-repeat;overflow:hidden}
.breadcrumb{width:1200px;margin:0 auto;padding:24px 0 0 40px;font-size:12px;color:#555}
.page-hero-copy{width:1200px;margin:0 auto;padding:68px 0 80px 40px}
.page-hero h1{font-size:58px;letter-spacing:.18em;line-height:1.35;margin-bottom:24px}
.page-hero-copy p:last-child{font-size:20px;letter-spacing:.08em;line-height:2}
.origin-grid,.hokkaido-grid{width:1200px;margin:0 auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}
.hokkaido-grid{grid-template-columns:1.05fr .95fr}
.origin-text h2,.hokkaido-text h2{font-size:34px;letter-spacing:.1em;line-height:1.65;margin-bottom:18px}
.origin-text h2::after,.hokkaido-text h2::after{content:"";display:block;width:42px;height:2px;background:#b58a35;margin-top:16px}
.origin-text p,.hokkaido-text p{font-size:15px;margin-bottom:16px}
.origin-photo img,.hokkaido-photo img{width:100%;height:360px;object-fit:cover}
.timeline-section,.hokkaido,.cta{background:#f7f3ec}
.timeline{width:1200px;margin:0 auto;position:relative}
.timeline::before{content:"";position:absolute;left:178px;top:0;bottom:0;width:2px;background:#b58a35}
.timeline-item{display:grid;grid-template-columns:130px 96px 1fr;align-items:center;margin-bottom:34px;position:relative}
.timeline-item:last-child{margin-bottom:0}
.timeline-year{color:#b58a35;font-size:42px;letter-spacing:.04em;text-align:right;padding-right:30px}
.timeline-dot{width:18px;height:18px;background:#b58a35;border:5px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #b58a35;margin:0 auto;z-index:1}
.timeline-content{background:#fff;display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:center;padding:22px;border:1px solid #eee4d3;transition:all .3s ease}
.timeline-content:hover{transform:translateY(-5px);box-shadow:0 10px 24px rgba(0,0,0,.1)}
.timeline-content img{width:100%;height:160px;object-fit:contain}
.timeline-content h3{font-size:22px;letter-spacing:.06em;margin-bottom:8px}
.timeline-content p{font-size:14px}
.philosophy-grid,.now-grid{width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.philosophy-card{background:#f7f3ec;padding:34px 30px;border:1px solid #eee4d3;transition:all .3s ease}
.philosophy-card:hover{transform:translateY(-5px);box-shadow:0 10px 24px rgba(0,0,0,.1)}
.philosophy-card p{color:#b58a35;font-size:13px;letter-spacing:.18em;font-weight:600;margin-bottom:8px}
.philosophy-card h3{font-size:22px;line-height:1.6;margin-bottom:12px}
.philosophy-card span{display:block;font-size:14px}
.now-grid{grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #eee4d3;background:#fff}
.now-card{text-align:center;padding:36px 28px;border-right:1px solid #ddd4c5}
.now-card:last-child{border-right:none}
.now-card strong{display:block;color:#b58a35;font-size:58px;line-height:1;margin-bottom:12px;font-weight:400}
.now-card h3{font-size:17px;margin-bottom:8px}
.now-card p{font-size:13px}
.cta{min-width:1200px;padding:46px 0}
.cta-inner{width:1200px;margin:0 auto;background:#fff;display:grid;grid-template-columns:1.1fr auto 220px;align-items:center;gap:40px;padding:36px 60px}
.cta h2{font-size:28px;line-height:1.7;letter-spacing:.08em;font-weight:500}
.cta p{font-size:14px;margin-top:6px}
.cta img{max-height:160px;margin-left:auto}
.footer{min-width:1200px;background:#5b5750;color:#fff;padding:26px 0 18px}
.footer-inner{width:1200px;margin:0 auto;display:grid;grid-template-columns:230px 1fr 240px;align-items:center;gap:30px}
.footer-logo{height:46px}
.footer nav{display:flex;justify-content:center;gap:34px;font-size:13px}
.footer nav a{color:rgba(255,255,255,.9)}
.footer-japan-link{border:1px solid #ddd;padding:12px;text-align:center;font-size:13px}
.copyright{margin-top:22px;text-align:center;font-size:11px;color:#ddd}
