:root{--ink:#332b23;--is:#7a6d5e;--im:#a2988a;--bg:#faf7f2;--ln:#e8ddd0;--pp:#fff;--ac:#a9836a;--ad:#7a5c47;--tr:#f5efe6;--sf:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;--ss:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",-apple-system,"Yu Gothic",sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
img{max-width:100%;vertical-align:middle}li{list-style:none}a{color:inherit;text-decoration:none}
body{background:var(--bg);color:var(--ink);font-family:var(--ss);line-height:1.8;-webkit-font-smoothing:antialiased}
.w{max-width:1180px;margin:0 auto;padding:0 24px}
.sec{padding:76px 0}.sec.t0{padding-top:0}
.sh{text-align:center;margin-bottom:38px}
.sh .en{font-size:26px;font-weight:700;letter-spacing:.16em;line-height:1.2}
.sh .jp{font-size:12px;letter-spacing:.14em;color:var(--is);margin-top:9px}
.pill{display:inline-flex;align-items:center;gap:12px;padding:14px 34px;border:1px solid var(--ln);border-radius:999px;font-size:13px;letter-spacing:.08em;background:var(--pp);transition:.25s}
.pill:hover{background:var(--ac);border-color:var(--ac);color:#fff}
.pill i{font-style:normal;transition:transform .25s}.pill:hover i{transform:translateX(4px)}
.ps{background:var(--ac);border-color:var(--ac);color:#fff}.ps:hover{background:var(--ad);border-color:var(--ad)}
.more{text-align:center;margin-top:44px}
.nt{background:var(--ink);color:#f3ece2;text-align:center;padding:11px 20px;font-size:12px;letter-spacing:.05em}
.nv{position:sticky;top:0;z-index:50;background:rgba(250,247,242,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--ln)}
.nvi{max-width:1180px;margin:0 auto;padding:20px 24px;display:flex;align-items:center;gap:36px}
.lg{font-family:var(--sf);font-size:23px;letter-spacing:.22em}.lg img{max-height:40px;width:auto}
.nl{display:flex;gap:30px;font-size:13px;letter-spacing:.06em;margin-left:auto}
.nl a{color:var(--is);padding-bottom:3px;border-bottom:1px solid transparent;transition:.2s}
.nl a:hover{color:var(--ink);border-bottom-color:var(--ac)}
.sf{display:flex;border:1px solid var(--ln);border-radius:999px;overflow:hidden;background:var(--pp)}
.sf input{border:0;outline:0;padding:8px 16px;font-size:12px;width:150px;background:transparent;color:var(--ink)}
.sf button{border:0;background:transparent;padding:0 16px;cursor:pointer;color:var(--is);font-size:13px}
.hr{position:relative;min-height:540px;display:flex;align-items:center;background:linear-gradient(120deg,#f2ebe1 0,#ece0d0 55%,#e2d3c0 100%) center/cover no-repeat;overflow:hidden}
.hr:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,247,242,.82) 0,rgba(250,247,242,.35) 48%,transparent 72%)}
.hi{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:0 24px;width:100%}
.hc{max-width:470px}
.hc .eb{font-size:11px;letter-spacing:.3em;color:var(--ad);margin-bottom:20px}
.hc h1{font-family:var(--sf);font-size:40px;line-height:1.6;font-weight:500;letter-spacing:.04em}
.hc p{font-size:13.5px;color:var(--is);line-height:2.1;margin:22px 0 32px}
.hs{position:absolute;right:6%;top:0;bottom:0;width:38%;display:flex;align-items:center;justify-content:center;z-index:1}
.hs img{max-height:78%;object-fit:contain;filter:drop-shadow(0 26px 40px rgba(94,71,52,.22))}
.tb{background:var(--tr);border-top:1px solid var(--ln);border-bottom:1px solid var(--ln)}
.tb ul{display:flex;justify-content:center;flex-wrap:wrap;padding:20px 0}
.tb li{padding:0 34px;font-size:12px;color:var(--is);display:flex;align-items:center;gap:9px}
.dt{width:5px;height:5px;border-radius:50%;background:var(--ac);flex:none}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:38px 26px}
.cd{display:block;position:relative}
.cd .ph{position:relative;background:var(--pp);border-radius:3px;overflow:hidden;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:14%}
.cd .ph img{max-height:100%;object-fit:contain;transition:transform .5s}
.cd:hover .ph img{transform:scale(1.06)}
.cd .lb{position:absolute;top:12px;left:12px;z-index:2}
.cd .nm{font-size:13px;line-height:1.7;margin-top:16px;transition:color .2s}
.cd:hover .nm{color:var(--ad)}
.cd .pr{font-size:13px;color:var(--ad);margin-top:6px}
.cd .pr s{color:var(--im);margin-right:8px;font-size:12px}
.cd .so{font-size:11px;color:var(--im);letter-spacing:.08em;margin-top:6px}
.ct{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ct a{position:relative;aspect-ratio:4/3;border-radius:4px;overflow:hidden;display:flex;align-items:flex-end;background:#ded0bd center/cover no-repeat}
.ct a:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(51,43,35,.62) 0,rgba(51,43,35,.12) 48%,transparent 100%);transition:.3s}
.ct a:hover:after{background:linear-gradient(to top,rgba(51,43,35,.72) 0,rgba(51,43,35,.3) 60%,rgba(51,43,35,.1) 100%)}
.ct span{position:relative;z-index:2;color:#fff;font-size:13.5px;letter-spacing:.1em;padding:20px;line-height:1.5;text-shadow:0 1px 6px rgba(0,0,0,.3)}
.ct a:nth-child(2){background-color:#d6c8b6}.ct a:nth-child(3){background-color:#e3d6c6}
.ct a:nth-child(4){background-color:#d0c3b2}.ct a:nth-child(5){background-color:#e0d4c3}
.ct a:nth-child(6){background-color:#d9cbb9}.ct a:nth-child(7){background-color:#e5d9c9}
.ct a:nth-child(8){background-color:#cfc2b1}
.rb{position:relative;min-height:290px;border-radius:4px;overflow:hidden;display:flex;align-items:center;background:#ddcfbd center/cover no-repeat}
.rb:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(51,43,35,.7) 0,rgba(51,43,35,.42) 52%,rgba(51,43,35,.15) 100%)}
.rbi{position:relative;z-index:2;padding:0 56px;color:#fff;max-width:560px}
.rbi .en{font-size:22px;font-weight:700;letter-spacing:.16em}
.rbi .jp{font-size:12px;letter-spacing:.14em;margin-top:8px;color:rgba(255,255,255,.82)}
.rbi p{font-size:13px;line-height:2;margin:18px 0 26px;color:rgba(255,255,255,.9)}
.rbi .pill{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.rbi .pill:hover{background:#fff;border-color:#fff;color:var(--ink)}
.ab{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.abi{aspect-ratio:4/3;border-radius:4px;background:#e6dbcc center/cover no-repeat}
.abt .en{font-size:22px;font-weight:700;letter-spacing:.16em}
.abt .jp{font-size:12px;letter-spacing:.14em;color:var(--is);margin-top:8px}
.abt h3{font-family:var(--sf);font-size:25px;font-weight:500;line-height:1.8;margin:26px 0 20px}
.abt p{font-size:13.5px;color:var(--is);line-height:2.2;margin-bottom:22px}
.ft{background:var(--tr);border-top:1px solid var(--ln);margin-top:20px}
.fti{max-width:1180px;margin:0 auto;padding:56px 24px 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.ft .fw{font-family:var(--sf);font-size:19px;letter-spacing:.22em;margin-bottom:14px}
.ft p{font-size:12px;color:var(--is);line-height:2}
.ft h4{font-size:11px;letter-spacing:.18em;margin-bottom:16px;font-weight:600}
.ft li{margin-bottom:11px}.ft li a{font-size:12px;color:var(--is);transition:.2s}
.ft li a:hover{color:var(--ad)}
.fb{border-top:1px solid var(--ln)}
.fb div{max-width:1180px;margin:0 auto;padding:20px 24px;font-size:11px;color:var(--im);letter-spacing:.05em}
.cb{font-size:11.5px;color:var(--im);padding:24px 0}
.pd{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;padding-bottom:40px}
.gl input{display:none}
.gm{position:relative;aspect-ratio:1/1;background:var(--pp);border-radius:3px;overflow:hidden}
.gm img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:8%;opacity:0;transition:opacity .3s}
.gt{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}
.gt label{aspect-ratio:1/1;background:var(--pp);border:1px solid transparent;border-radius:3px;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:9%;transition:.2s}
.gt label:hover{border-color:var(--ln)}
.gt img{width:100%;height:100%;object-fit:contain}
#g1:checked~.gm .i1,#g2:checked~.gm .i2,#g3:checked~.gm .i3,#g4:checked~.gm .i4,#g5:checked~.gm .i5{opacity:1}
#g1:checked~.gt .i1,#g2:checked~.gt .i2,#g3:checked~.gt .i3,#g4:checked~.gt .i4,#g5:checked~.gt .i5{border-color:var(--ac)}
.pi h1{font-family:var(--sf);font-size:24px;font-weight:500;line-height:1.7}
.pp{font-size:26px;color:var(--ad);margin:20px 0 4px}
.pt{font-size:11px;color:var(--im)}
.pb{margin:28px 0;padding:26px 0;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln)}
.pb select{width:100%;padding:13px 14px;border:1px solid var(--ln);border-radius:3px;font-size:13px;background:var(--pp);color:var(--ink);margin-bottom:18px;font-family:inherit}
.pb button,.pb input[type=submit]{display:block;width:100%;padding:17px;background:var(--ac);color:#fff;border:0;border-radius:999px;font-size:14px;letter-spacing:.14em;cursor:pointer;font-family:inherit;transition:.25s}
.pb button:hover,.pb input[type=submit]:hover{background:var(--ad)}
.ps2{font-size:11.5px;color:var(--is);line-height:2}
.ps2 li{display:flex;gap:9px;align-items:flex-start}.ps2 .dt{margin-top:9px}
.dc{max-width:760px;margin:0 auto;padding:56px 0}
.dc .bd{font-size:13.5px;color:var(--is);line-height:2.3}
.nb{font-size:11.5px;color:var(--im);line-height:2;margin-top:24px}
.rv{background:var(--tr);border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);padding:56px 0}
.gp{max-width:720px;margin:40px auto;padding:0 24px}
.gp h1{font-family:var(--sf);font-size:22px;font-weight:500;margin-bottom:24px}
.gp .cn{font-size:13.5px;color:var(--is);line-height:2.2}
@media(max-width:900px){
.g4{grid-template-columns:repeat(2,1fr);gap:30px 18px}
.ct{grid-template-columns:repeat(2,1fr)}
.pd,.ab{grid-template-columns:1fr;gap:32px}
.fti{grid-template-columns:1fr;gap:30px}
.hr{min-height:auto;padding:56px 0 300px}
.hr:after{background:linear-gradient(180deg,rgba(250,247,242,.86) 0,rgba(250,247,242,.4) 60%,transparent 100%)}
.hs{width:100%;right:0;top:auto;height:280px}
.hc h1{font-size:30px}
.nvi{flex-wrap:wrap;gap:14px;padding:14px 20px}
.nl{margin-left:0;gap:18px;order:3;width:100%;font-size:12px}
.sf input{width:110px}
.sec{padding:52px 0}
.rbi{padding:36px 28px}
.sh .en{font-size:21px}
}
