/* 右側メニュー 上部4カード */
.sbc{font-size:10px;box-sizing:border-box;width:100%;max-width:440px;margin:0 auto 6px;color:#3b1e12;line-height:1.3;
 font-family:"UD Digi Kyokasho NK-B","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif}
.sbc *{box-sizing:border-box}
.sbc a{text-decoration:none;color:inherit}
.sbc img{border:0;display:block}
.sbc-card{display:grid;grid-template-columns:6.4em 1fr 2em;align-items:center;gap:.3em;margin:0 0 .5em;height:5.1em;padding:0 .55em 0 0;overflow:hidden;border-radius:1em;background:linear-gradient(#fffbf0,#f4e6c9);box-shadow:0 .2em .3em rgba(90,50,20,.4),inset 0 0 0 1px #fff}
.sbc-card .ph{display:flex;align-items:center;justify-content:center;height:100%;padding:.2em 0 .2em .3em}
.sbc-card .ph img{width:100%;height:auto;max-height:100%;object-fit:contain}
.sbc-card .ph.bleed{padding:0}
.sbc-card .ph.bleed img{width:100%;height:100%;max-height:none;object-fit:cover}
.sbc-card .tx{font-weight:800;font-size:1.1em;line-height:1.25;letter-spacing:-.05em;text-align:center;text-shadow:0 0 .2em #fff}
.sbc-card .tx small{display:block;font-size:.8em;font-weight:700;letter-spacing:0;color:#4a2b1a}
.sbc-go{display:block;position:relative;width:1.9em;height:1.9em;border-radius:50%;background:radial-gradient(circle at 35% 30%,#b0622f,#6a2d11);box-shadow:0 0 0 .12em #e9b97c,0 .1em .2em rgba(0,0,0,.45)}
.sbc-go:after{content:"";position:absolute;left:35%;top:50%;width:.55em;height:.55em;border-right:.2em solid #fff;border-top:.2em solid #fff;transform:translateY(-50%) rotate(45deg)}
.sbc-card.mail{background:linear-gradient(#7d211b,#43090a);color:#fff;grid-template-columns:5em 1fr 2em}
.sbc-card.mail .tx{color:#fff;text-shadow:none;font-size:.94em;letter-spacing:-.06em}
.sbc-card.mail .ph img{width:3.8em}
.sbc-card.mail .sbc-go{background:radial-gradient(circle at 35% 30%,#f0b43c,#b26f0d);box-shadow:0 0 0 .12em #f3d089}
@media screen and (max-width:568px){.sbc{font-size:calc(min(96vw,440px)/21)}}
/* バナー枠: 通常は高さ自動 / トップ(layoutset-01)のPC表示は元の290px枠に収める */
#hpb-aside #banner{height:auto!important;max-height:none!important;overflow:visible!important}
#hpb-aside #banner ul{display:none!important}
@media screen and (min-width:569px){
.hpb-layoutset-01 #hpb-aside #banner{height:300px!important;overflow:hidden!important;margin-bottom:45px!important}
.hpb-layoutset-01 #hpb-aside #banner h3{display:none!important}
}
/* 大きなスライドショーを小さく・中央に */
@media screen and (min-width:569px){.hpb-photomotion[style*="width"][style*="height"]{zoom:1!important;height:auto!important;min-height:0!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}.hpb-photomotion .camera_thumbs_cont{margin-bottom:0!important}}
@media screen and (max-width:568px){.hpb-photomotion[style*="width"][style*="height"]{zoom:.5!important;max-width:none!important}}
@media screen and (max-width:420px){.hpb-photomotion[style*="width"][style*="height"]{zoom:.44!important}}
@media screen and (max-width:380px){.hpb-photomotion[style*="width"][style*="height"]{zoom:.4!important}}
/* コースコード・料金行: 赤(えんじ)地に白文字で統一 */
tr:not(:has(table,ul,ol)):has(font[style*="background-color : blue"]) > td,tr:not(:has(table,ul,ol)):has(font[style*="background-color: blue"]) > td{background:#7a1010!important;color:#fff!important;border-color:#fff!important}
tr:not(:has(table,ul,ol)):has(font[style*="background-color : blue"]) font,tr:not(:has(table,ul,ol)):has(font[style*="background-color: blue"]) font,font[style*="background-color : blue"]{color:#fff!important;background:none!important;font-weight:bold!important;white-space:normal!important;line-height:1.35}
tr:not(:has(table,ul,ol)):has(font[style*="background-color : blue"]) td p,tr:not(:has(table,ul,ol)):has(font[style*="background-color: blue"]) td p{color:#fff!important}
tr:not(:has(table,ul,ol)):has(font[style*="background-color : blue"]) a{color:#fff!important}
@media screen and (max-width:568px){
tr:not(:has(table,ul,ol)):has(font[style*="background-color : blue"]) td font,tr:not(:has(table,ul,ol)):has(font[style*="background-color: blue"]) td font{font-size:13px!important}
}
@media screen and (max-width:568px){font[style*="background-color : blue"],font[style*="background-color: blue"]{font-size:11.5px!important;letter-spacing:-.02em}}

/* ツアーページ統一デザイン */
td.tu-bar,th.tu-bar,p.tu-bar,div.tu-bar{background:#800000!important;background-image:none!important;color:#fff!important}
.tu-bar,.tu-bar font,.tu-bar span,.tu-bar b,.tu-bar a,.tu-bar a font{color:#fff!important;background:none!important}
.tu-bar a{text-decoration:underline}
td.tu-cream,th.tu-cream{background:#f6ecd6!important;background-image:none!important}
.tu-plain{background:none!important}
/* タイトル色統一・スライダー下の余白除去 */
p:has(.applybtn)>font{color:#55310c!important}
td:has(.pwrap),tr:has(.pwrap),td:has(.pslide){height:auto!important}
.pwrap{margin:8px 0!important}
.pth{margin-bottom:0!important}
@media screen and (max-width:568px){#hpb-main td img{max-width:100%!important;height:auto!important}#hpb-main td p,#hpb-main td font{max-width:100%}}
font[style*="background-color: blue"]{color:#fff!important;background:none!important;font-weight:bold!important}

/* price rows (any colour variant) */
tr.tu-price>td{background:#7a1010!important;color:#fff!important;border-color:#fff!important}
tr.tu-price font,tr.tu-price td p,tr.tu-price a,tr.tu-price b{color:#fff!important;background:none!important;font-weight:bold!important;white-space:normal!important}
tr.tu-price td font{font-size:13px!important}
@media screen and (max-width:568px){tr.tu-price td font{font-size:11.5px!important}}
/* sidebar cards: a bit larger on desktop */
@media screen and (min-width:569px){.sbc{font-size:11.2px}.sbc-card{grid-template-columns:5.2em 1fr 1.9em;height:5.2em;gap:.25em;padding-right:.5em}.sbc-card .tx{font-size:1.18em;letter-spacing:-.07em}.sbc-card.mail{grid-template-columns:4.4em 1fr 1.9em}.sbc-card.mail .tx{font-size:1em;letter-spacing:-.08em}.sbc-card.mail .ph img{width:3.4em}.sbc-go{width:1.8em;height:1.8em}}

/* tour icons: round, no square tint */
.optf img,.optrow img{border-radius:50%!important;background:transparent!important;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.optrow,.optf span{-webkit-user-select:none;user-select:none}

.sbc-card .ph.bleed img{object-position:55% 50%}
.sbc-card .ph:not(.bleed){padding:.1em 0 .1em .2em}

/* phone: image-only cell next to a text cell -> stack */
@media screen and (max-width:568px){
tr:has(>td.tu-imgcell){display:flex!important;flex-wrap:wrap!important}
td.tu-imgcell{flex:0 0 100%!important;width:100%!important;box-sizing:border-box;text-align:center!important;height:auto!important}
td.tu-imgcell+td{flex:0 0 100%!important;width:100%!important;box-sizing:border-box;height:auto!important}
td.tu-imgcell img{max-width:100%!important;height:auto!important}
}

.pwrap{flex:1 1 100%;min-width:0;box-sizing:border-box}
@media screen and (max-width:568px){.pwrap,.pwrap .pslide{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}}

td>p:has(>font>.pwrap),td>p:has(>.pwrap),td>font:has(>.pwrap){flex:1 1 100%;width:100%;min-width:0;display:block}

font:has(>.pwrap){display:flex!important;flex-wrap:wrap!important;width:100%!important}
@media screen and (max-width:568px){font:has(>.pwrap){display:block!important}}

/* lone tall photo framed like the sliders (phone) */
@media screen and (max-width:568px){
.pslide.psone{position:relative;width:100%!important;height:62vw!important;margin:6px 0!important;display:block}
.pslide.psone img,#hpb-main .pslide.psone img{position:absolute!important;left:0;right:0;top:0;bottom:0;margin:auto!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain;display:block!important}
}

#hpb-main .pth img,#hpb-main td .pth img{width:76px!important;height:52px!important;max-width:none!important;object-fit:cover!important}

@media screen and (max-width:568px){#hpb-aside #banner h3{display:none!important}#hpb-aside #banner{margin-bottom:0!important}}

/* v12: side cards follow the reference design (gold rim, big bold type, flat brown arrow, swoosh) */
.sbc-card{position:relative;container-type:inline-size;display:grid;grid-template-columns:38% 1fr 13%;gap:0;padding:0;height:auto;aspect-ratio:5.3/1;margin:0 0 .6em;border-radius:.55em;background:linear-gradient(#fdf8ee,#f3e5cb);box-shadow:0 .2em .35em rgba(90,50,20,.38);overflow:hidden}
.sbc-card:before{content:"";position:absolute;right:7.2%;bottom:3%;width:9.4%;aspect-ratio:150/95;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 95'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='1' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23f8ecd6' stop-opacity='0'/%3E%3Cstop offset='.5' stop-color='%23f0d3a4'/%3E%3Cstop offset='1' stop-color='%23f3c98a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0,92 C60,92 105,80 125,48 C135,34 132,18 118,2 C130,35 120,70 70,86 C45,91 20,92 0,92 Z' fill='url(%23g)' stroke='%23ecbd72' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;pointer-events:none}
.sbc-card:after{content:"";position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;box-shadow:inset 0 0 0 1.5px #e6a22a,inset 0 0 0 3px rgba(255,255,255,.9);pointer-events:none;z-index:4}
.sbc-card.mail:before{display:none}
.sbc-card .ph{display:flex;align-items:flex-end;justify-content:flex-start;height:100%;min-width:0;padding:3% 0 0 2.5%}
.sbc-card .ph img,.sbc-card .ph:not(.bleed) img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:left bottom}
.sbc-card .ph.bleed{padding:0;width:112%;position:relative;z-index:0;-webkit-mask-image:linear-gradient(to right,#000 80%,transparent);mask-image:linear-gradient(to right,#000 80%,transparent)}
.sbc-card .ph.bleed img{object-fit:cover;object-position:left center}
.sbc-card .tx{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;font-weight:900;font-size:5.2cqw;line-height:1.16;letter-spacing:-.01em;white-space:nowrap;color:#3a0f0c;text-shadow:none;text-align:center}
.sbc-card:nth-child(2) .tx{font-size:6.4cqw}
.sbc-card:nth-child(3) .tx{font-size:5.6cqw}
.sbc-card:nth-child(3) .tx::first-line{font-size:6.9cqw}
.sbc-card .tx small{display:block;font-size:.67em;font-weight:700;letter-spacing:0;color:#3a0f0c;margin-top:.1em}
.sbc-go{position:relative;z-index:2;align-self:center;justify-self:center;width:65%;height:auto;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 38% 28%,#8a3f0e,#5f2807 70%,#4c1f04);box-shadow:0 .1em .2em rgba(70,30,0,.35)}
.sbc-go:after{left:31%;width:3cqw;height:3cqw;border-right:1.05cqw solid #fff;border-top:1.05cqw solid #fff;border-radius:.1cqw}
.sbc-card.mail{grid-template-columns:25% 1fr 13%;background:linear-gradient(#7d211b,#43090a)}
.sbc-card.mail .ph{padding:6% 0 6% 4%;align-items:center;justify-content:center}
.sbc-card.mail .ph img{width:100%;height:100%;object-fit:contain;object-position:center}
.sbc-card.mail .tx{color:#fff;font-size:4.2cqw;font-weight:800;letter-spacing:-.02em}
.sbc-card.mail .sbc-go{background:radial-gradient(circle at 35% 30%,#f0b43c,#b26f0d);box-shadow:0 0 0 .1em #f3d089}
@media screen and (min-width:569px){.sbc-card{aspect-ratio:3.6/1;grid-template-columns:40% 1fr 12%;border-radius:.6em;margin-bottom:.5em}.sbc-card .tx{font-size:5.1cqw}.sbc-card:nth-child(2) .tx{font-size:6.2cqw}.sbc-card:nth-child(3) .tx{font-size:5.4cqw}.sbc-card:nth-child(3) .tx::first-line{font-size:6.6cqw}.sbc-card.mail{grid-template-columns:27% 1fr 12%}.sbc-card.mail .tx{font-size:4.1cqw}.sbc-go{width:68%}}

/* v13: uniform 3:2 photo frames, cropped sharp (no dark/blur fill) */
.pslide.psone{height:auto!important;aspect-ratio:3/2;background:#efe2c2}
.pslide.psone img,#hpb-main .pslide.psone img{left:0!important;top:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;margin:0!important}
.pslide.psone:not(:has(img:not([style*="display: none"]))){display:none!important}

/* v14: phone - one body text size, tighter spacing */
@media screen and (max-width:568px){
#hpb-main .w4keep p,#hpb-main .w4keep li,#hpb-main .w4keep span,#hpb-main .w4keep font,#hpb-main .w4keep b{font-size:15px!important;line-height:1.7!important}
#hpb-main .w4keep p{margin:6px 0!important}
#hpb-main .w4keep ul{margin:6px 0!important;padding-left:1.3em!important}
#hpb-main .w4keep li{margin:3px 0!important;padding:2px 8px!important}
#hpb-main table.MsoNormalTable td:not([class*="tu-"]) :is(p,font,span,b,a,i),#hpb-main table.MsoTableGrid td:not([class*="tu-"]) :is(p,font,span,b,a,i){font-size:15px!important;line-height:1.65!important}
#hpb-main table.MsoNormalTable td p,#hpb-main table.MsoTableGrid td p{margin-top:3px!important;margin-bottom:3px!important}
#hpb-main table.MsoNormalTable tr:has(font[style*="red"]) :is(font,span,p,b),#hpb-main table.MsoTableGrid tr:has(font[style*="red"]) :is(font,span,p,b){font-size:12px!important}
.nb-empty{display:none!important}
}
@media screen and (max-width:568px){
#hpb-main p.MsoNormal :is(font,span,b,a,i),#hpb-main .hpb-parts-pbox-desc :is(font,p,span,b,a,i),#hpb-main .hpb-parts-pbox-desc,#hpb-main li :is(font,span,b,a){font-size:15px!important;line-height:1.7!important}
}

/* v15: hover lift on side banners (same as theme tiles) */
@media (hover:hover){
.sbc-card{transition:transform .15s,filter .15s}
.sbc-card:hover{transform:translateY(-1px);filter:brightness(1.05)}
#hpb-aside a>img,#hpb-aside a>font>img{transition:transform .15s,filter .15s}
#hpb-aside a:hover>img,#hpb-aside a:hover>font>img{transform:translateY(-1px);filter:brightness(1.05)}
}

/* v16: phone - no divider line next to day labels */
@media screen and (max-width:568px){
#hpb-main td.nb-day{border-right:0!important;border-left:0!important}
#hpb-main td.nb-day+td{border-left:0!important}
}

/* v17 optional-tour cards + info panel */
.otg{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin:10px 0 14px;max-width:720px}
.otc{container-type:inline-size;position:relative;display:block;aspect-ratio:3.1/1;border-radius:14px;overflow:hidden;text-decoration:none!important;background:linear-gradient(180deg,#fffdf7,#f5ead0);border:2px solid #d4ac52;box-shadow:0 2px 6px rgba(110,70,20,.28),inset 0 0 0 1.5px #fff1c8;color:#6b1c1c;transition:transform .15s,filter .15s,box-shadow .15s}
.otg a.otc img.otp-ph{position:absolute!important;left:0;top:0;width:42%!important;height:100%!important;max-width:none!important;min-height:100%;margin:0!important;padding:0!important;object-fit:cover!important;object-position:center!important;border:0!important;-webkit-clip-path:polygon(0 0,100% 0,82% 100%,0 100%);clip-path:polygon(0 0,100% 0,82% 100%,0 100%)}
.otc-tx{position:absolute;left:43%;right:11%;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;gap:1.8cqw}
.otc-t{display:flex;align-items:center;gap:1.3cqw}
.otc-ic{flex:none;display:block;width:4.7cqw;height:4.7cqw;fill:#8a4b12}
.otc-ic svg{display:block;width:100%;height:100%}
.otc-t b{font-weight:800;font-size:max(13px,4.0cqw);line-height:1.15;color:#6b1c1c;letter-spacing:0}
.otc-tx em{font-style:normal;font-size:max(10px,2.9cqw);line-height:1.35;color:#5d4a3a}
.otc-ar{position:absolute;right:2.6cqw;top:50%;width:7.6cqw;height:7.6cqw;margin-top:-3.8cqw;border-radius:50%;background:linear-gradient(145deg,#d99a2e,#a8650f);box-shadow:0 1px 2px rgba(80,40,0,.4)}
.otc-ar:after{content:"";position:absolute;left:36%;top:50%;width:26%;height:26%;border:solid #fff;border-width:0 2.2px 2.2px 0;transform:translateY(-50%) rotate(-45deg)}
@media(hover:hover){.otc:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 4px 9px rgba(110,70,20,.35),inset 0 0 0 1.5px #fff1c8}}
@media(max-width:568px){.otg{grid-template-columns:1fr;gap:10px;max-width:none}.otc{aspect-ratio:3.2/1}.otc-t b{font-size:max(15px,4.1cqw)}.otc-tx em{font-size:max(11.5px,3.1cqw)}}
.otp{max-width:720px;margin:6px 0 12px;border:2px solid #c9a24b;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#fdf6e3,#f7ecd0);box-shadow:0 2px 5px rgba(110,70,20,.22);font-family:"Meiryo UI","Yu Gothic",Meiryo,sans-serif;color:#2e2218}
.otp .otp-h{background:linear-gradient(180deg,#8d2b24,#6d1d18);color:#fff;font-weight:800;text-align:center;font-size:17px;line-height:1.3;padding:7px 8px;letter-spacing:.02em}
.otp .otp-b{display:grid;grid-template-columns:1fr 1fr;padding:3px 0}
.otp .otp-c+.otp-c{border-left:1px solid #d9c394}
.otp .otp-r{display:grid;grid-template-columns:30px 7.6em 1fr;align-items:center;column-gap:6px;min-height:36px;padding:2px 12px;font-size:15.5px;line-height:1.3}
.otp .otp-r i{display:block;width:24px;height:24px;fill:#8a5a2b}
.otp .otp-r i svg{display:block;width:100%;height:100%}
.otp .otp-r b{font-weight:800;color:#2e2218}
.otp .otp-r b.red{color:#e0261c}
.otp .otp-r a{color:#1a0dff;text-decoration:underline!important}
.otp .otp-open{display:block;background:#ee3a22;color:#fff;font-weight:800;text-align:center;border-radius:7px;padding:2px 6px;line-height:1.4}
@media(max-width:568px){.otp .otp-b{grid-template-columns:1fr}.otp .otp-c+.otp-c{border-left:0;border-top:1px solid #d9c394}.otp .otp-h{font-size:15px;letter-spacing:0;padding:7px 4px}.otp .otp-r{grid-template-columns:28px 7.4em 1fr;font-size:15px;padding:2px 10px}}

/* v18 side banners: vivid colour */
#hpb-aside img[src^="button"],#hpb-aside a>img.hpb-parts-img-03,#shopinfo img.hpb-parts-img-03{filter:saturate(1.2) contrast(1.07)}
#hpb-aside a:hover>img[src^="button"]{filter:saturate(1.2) contrast(1.07) brightness(1.06)}

/* v19 phone: no blank lines after merged slideshows */
@media screen and (max-width:568px){.hpb-photomotion[data-pm]+br,.hpb-photomotion[data-pm]+br+br{display:none!important}}

/* v22 PC: photo cells filled with pictures */
@media (min-width:569px){
  td.nbf-on{position:relative!important;padding:0!important;overflow:hidden}
  td.nbf-on>.nbf-orig{display:none!important}
  td.nbf-on>.nbfill{position:absolute;left:6px;right:6px;top:6px;bottom:6px;display:flex;flex-direction:column;justify-content:center;gap:6px;overflow:hidden}
  td.nbf-on>.nbfill>img{display:block;width:100%!important;max-width:none!important;flex:none;object-fit:contain;border:0!important;margin:0!important;border-radius:3px}
}
@media (max-width:568px){td.nbf-on>.nbfill,td.nbf-on>.nbf-sp{display:none!important}td.nbf-on>.nbf-orig{display:block!important}}

/* v22 PC top banner: shorter, no blank under it */
@media screen and (min-width:569px){
  .hpb-layoutset-01 #hpb-title.hpb-top-image{height:310px!important;min-height:0!important;margin-bottom:0!important}
  .hpb-layoutset-01 #hpb-nav{top:259px!important}
  .hpb-layoutset-01 #hpb-title h2{height:272px!important;background-size:cover!important;background-position:center 40%!important}
}
/* v22 gobisabaku-type pages: tighter vertical gaps */
@media screen and (min-width:569px){
  #toppage>br+br{display:none}
  #toppage .hpb-parts-pbox-01{margin-top:0!important;margin-bottom:6px!important}
  #toppage .hpb-parts-pbox-01 h4{margin:0 0 3px!important}
  #toppage .hpb-parts-pbox-01 p.MsoNormal{margin:0 0 4px!important}
  #toppage hr{margin:6px 0!important}
}

/* v22 PC: w4 section headings without blank band */
#hpb-main .w4 h2.cat{height:auto!important;min-height:0!important;line-height:1.35!important;overflow:visible!important;margin:18px 0 8px!important;padding:6px 0 5px!important}
#hpb-main .w4 table.w4info{margin-bottom:8px!important}
#hpb-main .w4 .pagetop,#hpb-main .w4 #pagetop{margin-top:4px!important}

/* v24 optional-tour category buttons */
.opbtn{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:700px;margin:8px 0 10px}
.opbtn a{display:block}
.opbtn img{display:block;width:100%!important;height:auto!important;max-width:none!important;border:0!important}
@media(hover:hover){.opbtn a{transition:transform .15s,filter .15s}.opbtn a:hover{transform:translateY(-1px);filter:brightness(1.07)}}
@media(max-width:568px){.opbtn{grid-template-columns:1fr 1fr;gap:6px}}

/* v24 winter category buttons */
.wbtn5,.wbtn3{display:grid;gap:7px;max-width:700px;margin:6px 0 8px}
.wbtn5{grid-template-columns:repeat(5,1fr)}
.wbtn3{grid-template-columns:1fr 1fr 1fr}
.wbtn5 a,.wbtn3 a{display:block}
.wbtn5 img,.wbtn3 img{display:block;width:100%!important;height:auto!important;max-width:none!important;border:0!important}
@media(hover:hover){.wbtn5 a,.wbtn3 a{transition:transform .15s,filter .15s}.wbtn5 a:hover,.wbtn3 a:hover{transform:translateY(-1px);filter:brightness(1.07)}}
@media(max-width:568px){.wbtn5{grid-template-columns:1fr 1fr;gap:6px}.wbtn5 a:last-child{grid-column:1/-1;width:50%;margin:0 auto}.wbtn3{grid-template-columns:1fr;gap:6px}}

/* v24 golden-week page */
.gwnav{display:flex;gap:10px;margin:8px 0 10px;flex-wrap:wrap}
.gwnav a{flex:1 1 150px;text-align:center;padding:9px 6px;border-radius:12px;color:#fff!important;text-decoration:none!important;font-size:17px;border:2px solid #d4ac52;box-shadow:0 2px 5px rgba(80,50,10,.3),inset 0 0 0 1.5px rgba(255,241,200,.7);background:linear-gradient(180deg,#9b3128,#6d1d18);text-shadow:0 1px 1px rgba(0,0,0,.4)}
.gwnav a:nth-child(1){background:linear-gradient(180deg,#3d8f48,#1f5a2a)}
.gwnav a:nth-child(2){background:linear-gradient(180deg,#e9a825,#b06f08)}
@media(hover:hover){.gwnav a,.gwc,.gwd a{transition:transform .15s,filter .15s}.gwnav a:hover,.gwc:hover,.gwd a:hover{transform:translateY(-1px);filter:brightness(1.05)}}
.gwintro{margin:4px 0 8px}
.gwintro p{margin:4px 0;font-size:16px;line-height:1.75;color:#333}
.gwintro p.gwbadge{font-size:18px;color:#e0261c}
#hpb-main h3.gwh{background:linear-gradient(180deg,#8d2b24,#6d1d18)!important;background-image:linear-gradient(180deg,#8d2b24,#6d1d18)!important;color:#fff!important;font-size:18px!important;line-height:1.4!important;text-align:center;padding:8px 10px!important;margin:16px 0 10px!important;border-radius:9px;letter-spacing:.02em;height:auto!important;border:0!important;text-shadow:0 1px 1px rgba(0,0,0,.35)}
.gwfl{max-width:none;margin:8px 0 10px}
.gwfl .otp-r{grid-template-columns:30px 9.6em 1fr}
.gwfl-n{border-top:1px solid #d9c394;padding:7px 14px 10px;font-size:15.5px;line-height:1.55}
.gwfl-n>div{display:flex;align-items:center;gap:8px}
.gwfl-n i{display:block;width:24px;height:24px;fill:#8a5a2b}.gwfl-n i svg{width:100%;height:100%;display:block}
.gwfl-n p{margin:2px 0 0 32px}
.gwd-h{text-align:center;font-weight:800;color:#6d1d18;font-size:16px;margin:10px 0 6px}
.gwd{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 12px}
.gwd a{display:block;text-align:center;padding:9px 4px;border-radius:10px;background:linear-gradient(180deg,#fffdf7,#f5ead0);border:1.5px solid #d4ac52;color:#8d1f18!important;font-weight:800;font-size:15px;line-height:1.3;text-decoration:none!important;box-shadow:0 1px 3px rgba(110,70,20,.25)}
.gwt{display:grid;grid-template-columns:repeat(3,179px);gap:10px 14px;justify-content:center;margin:10px 0 12px}
.gwt a{display:block}.gwt img{display:block;width:179px!important;height:auto!important;max-width:100%!important;border:0!important}
.gwl{display:flex;flex-direction:column;gap:10px;margin:8px 0 14px}
.gwc{position:relative;display:grid;grid-template-columns:200px 1fr 34px;align-items:stretch;min-height:116px;border:2px solid #d4ac52;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#fffdf7,#f5ead0);text-decoration:none!important;color:#3a2a1a!important;box-shadow:0 2px 5px rgba(110,70,20,.25),inset 0 0 0 1.5px #fff1c8}
.gwc-p{position:relative;display:block;overflow:hidden;min-height:116px}
#hpb-main .gwc .gwc-p img{position:absolute;left:0;top:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;margin:0!important;padding:0!important;border:0!important}
.gwc-x{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 6px 8px 12px;min-width:0}
.gwc-b{align-self:flex-start;background:#e0261c;color:#fff;font-size:11.5px;font-weight:800;border-radius:5px;padding:1px 7px;letter-spacing:.04em}
.gwc-t{display:block;font-size:15.5px;line-height:1.38;color:#6b1c1c;font-weight:800}
.gwc-d{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-style:normal;font-size:13px;line-height:1.5;color:#5d4a3a}
.gwc-ar{align-self:center;justify-self:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(145deg,#d99a2e,#a8650f);position:relative}
.gwc-ar:after{content:"";position:absolute;left:36%;top:50%;width:26%;height:26%;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-50%) rotate(-45deg)}
div.gwc .gwc-ar{display:none}
@media(max-width:568px){
.gwnav a{flex:1 1 100%;font-size:16px}
.gwd{grid-template-columns:1fr 1fr}
.gwt{grid-template-columns:1fr 1fr;gap:8px}.gwt img{width:100%!important}
.gwc{grid-template-columns:34% 1fr 26px;min-height:104px}
.gwc-p{min-height:104px}
.gwc-t{font-size:13.5px}.gwc-d{font-size:11.5px;-webkit-line-clamp:3}
.gwfl .otp-r{grid-template-columns:28px 8.6em 1fr}
.gwfl-n{font-size:15px;padding:7px 10px 10px}
}
.gwbox{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;width:auto!important}

/* v25 PC: banner picture fully visible above the nav; side cards bigger text, fill the height */
@media screen and (min-width:569px){
  .hpb-layoutset-01 #hpb-title.hpb-top-image{height:384px!important;min-height:0!important;margin-bottom:0!important}
  .hpb-layoutset-01 #hpb-title h2{height:332px!important;background-size:cover!important;background-position:center bottom!important}
  .hpb-layoutset-01 #hpb-nav{top:336px!important}
  .hpb-layoutset-01 #hpb-aside #banner{height:332px!important;overflow:hidden!important;margin-bottom:6px!important}
  .sbc{font-size:12px}
  .sbc-card{grid-template-columns:4.7em minmax(0,1fr) 1.8em;width:100%;aspect-ratio:auto;box-sizing:border-box;height:6.3em;gap:.2em;padding-right:.45em;margin:0 0 .45em}
  .sbc-card .tx,.sbc-card:nth-child(2) .tx,.sbc-card:nth-child(3) .tx{font-size:1.24em;letter-spacing:-.085em;line-height:1.32}
  .sbc-card:nth-child(3) .tx::first-line{font-size:1em}
  .sbc-card .tx small{font-size:.72em;margin-top:.15em}
  .sbc-card.mail{grid-template-columns:4em minmax(0,1fr) 1.8em}
  .sbc-card.mail .tx{font-size:.98em;letter-spacing:-.09em;line-height:1.4}
  .sbc-card.mail .ph img{width:3.3em}
  .sbc-go{width:1.8em;height:1.8em}
}

/* v26 PC: 4 side cards sit exactly in the picture's frame (same top and bottom) */
@media screen and (min-width:569px){
  .hpb-layoutset-01 #hpb-aside #banner{height:332px!important;overflow:hidden!important;margin-bottom:6px!important}
  .hpb-layoutset-01 #hpb-aside #banner .sbc{height:332px!important;max-width:none!important;margin:0!important;display:flex!important;flex-direction:column!important;gap:7px!important}
  .hpb-layoutset-01 #hpb-aside #banner .sbc-card{flex:1 1 0!important;height:auto!important;min-height:0!important;margin:0!important}
  .sbc-card .tx,.sbc-card:nth-child(2) .tx,.sbc-card:nth-child(3) .tx{font-size:1.22em}
  .sbc-card.mail .tx{font-size:1em}
}

/* v27 PC: cards like the reference design (big bold text, big round arrow), mail card in the same style */
@media screen and (min-width:569px){
  .hpb-layoutset-01 #hpb-aside #banner .sbc-card{grid-template-columns:5em minmax(0,1fr) 2.3em!important;padding-right:.35em!important;gap:.1em!important}
  .hpb-layoutset-01 #hpb-aside #banner .sbc-card .tx{font-weight:900!important;font-size:1.26em!important;letter-spacing:-.09em!important;line-height:1.28!important}
  .hpb-layoutset-01 #hpb-aside #banner .sbc-card .tx small{font-size:.74em!important;letter-spacing:0!important}
  .hpb-layoutset-01 #hpb-aside #banner .sbc-card .sbc-go{width:2.1em!important;height:2.1em!important;background:radial-gradient(circle at 38% 28%,#8f4310,#5a2606 70%,#4a1d04)!important}
  .hpb-layoutset-01 #hpb-aside #banner .sbc-card.mail{grid-template-columns:3.3em minmax(0,1fr) 2.3em!important}
  .hpb-layoutset-01 #hpb-aside #banner .sbc-card.mail .tx{font-size:1.06em!important;letter-spacing:-.1em!important;line-height:1.4!important;font-weight:900!important}
  .hpb-layoutset-01 #hpb-aside #banner .sbc-card.mail .ph img{width:3em!important}
}

/* v28 side cards = reference design images (no stretching) */
.sbc a.sbc-img{display:block;margin:0 0 6px}
.sbc a.sbc-img img{display:block;width:100%;height:auto;max-width:none;border:0}
@media(hover:hover){.sbc a.sbc-img{transition:transform .15s,filter .15s}.sbc a.sbc-img:hover{transform:translateY(-1px);filter:brightness(1.05)}}
@media screen and (min-width:569px){
  .hpb-layoutset-01 #hpb-aside #banner .sbc{display:flex!important;flex-direction:column!important;justify-content:space-between!important;height:332px!important;gap:0!important;max-width:none!important;margin:0!important}
  .hpb-layoutset-01 #hpb-aside #banner .sbc a.sbc-img{margin:0!important}
}
@media screen and (min-width:569px){
  .hpb-layoutset-01 #hpb-aside #banner .sbc{height:100%!important}
  .hpb-layoutset-01 #hpb-aside #banner{box-sizing:border-box}
}
/* v30 PC: cards fill the picture frame exactly (top + bottom) */
@media screen and (min-width:569px){
  .hpb-layoutset-01 #hpb-aside #banner .sbc{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;height:100%!important;gap:6px!important}
  .hpb-layoutset-01 #hpb-aside #banner .sbc .sbc-card{flex:1 1 0!important;height:auto!important;min-height:0!important;margin:0!important}
}

/* v31 side cards = images (mock design), frame 252px with picture */
.sbc.sbc-imgs{display:block!important;max-width:440px;margin:0 auto 6px;height:auto!important}
.sbc-imgs .sbc-img{display:block;margin:0 0 4px;border-radius:0;transition:transform .15s,filter .15s}
.sbc-imgs .sbc-img:last-child{margin-bottom:0}
.sbc-imgs .sbc-img:hover{transform:translateY(-1px);filter:brightness(1.05)}
.sbc-imgs .sbc-img img{display:block;width:100%;height:auto;border:0}
@media screen and (min-width:569px){
  .hpb-layoutset-01 #hpb-title.hpb-top-image{height:304px!important}
  .hpb-layoutset-01 #hpb-title h2{height:252px!important;background-position:center bottom!important}
  .hpb-layoutset-01 #hpb-nav{top:256px!important}
  .hpb-layoutset-01 #hpb-aside #banner{height:252px!important;overflow:hidden!important;margin-bottom:6px!important}
  .hpb-layoutset-01 #hpb-aside #banner .sbc.sbc-imgs{height:252px!important;max-width:none!important;margin:0!important}
}

/* v32 phone: wide label in meal row (e.g. お勧めツアー№1) */
@media screen and (max-width:568px){
  #hpb-main tr.mo-meal.mo-meal-rec>td:first-child{flex:0 0 100%!important;white-space:normal!important;border-right:0!important;border-bottom:1px solid #6b5a45!important;text-align:left}
  #hpb-main tr.mo-meal.mo-meal-rec>td:first-child *{writing-mode:horizontal-tb!important;white-space:normal!important}
  #hpb-main tr.mo-meal.mo-meal-rec>td:not(:first-child){flex:1 1 30%!important}
  #hpb-main td[data-emp]{display:none!important}
}

/* v33 phone: one line colour for every table (no black windowtext lines), meal label never clipped */
@media screen and (max-width:568px){
  #hpb-main td[style*="windowtext"],#hpb-main th[style*="windowtext"],#hpb-main td[style*="black"],#hpb-main table[border] td{border-color:#6b5a45!important}
  #hpb-main tr.mo-meal:not(.mo-meal-rec)>td:first-child{flex:0 0 auto!important;min-width:3.4em;overflow:visible!important;white-space:nowrap!important}
  #hpb-main tr.mo-meal:not(.mo-meal-rec)>td:not(:first-child){flex:1 1 0!important;min-width:0}
  #hpb-main tr.mo-price>td:first-child,#hpb-main tr.mo-price>td:first-child *{white-space:normal}
}

/* v34 phone: day-by-day tables get a left frame line like the right one (left line was missing on ~20 pages) */
@media screen and (max-width:568px){
  #hpb-main table.mo-days>tbody>tr>td:first-child,#hpb-main table.mo-days>tr>td:first-child{border-left:1px solid #6b5a45!important}
  #hpb-main td.mo-daylbl{border-left:1px solid #6b5a45!important;border-right:1px solid #6b5a45!important;border-bottom:1px solid #6b5a45!important;}
  /* v36: one shared label column (96px) for day rows, meal row and price row so all vertical lines line up; remaining columns equal */
  #hpb-main td.mo-daylbl,#hpb-main td.mo-lbl{flex:0 0 96px!important;width:96px!important;min-width:96px!important;max-width:96px!important;box-sizing:border-box!important}
  #hpb-main td.mo-daylbl+td,#hpb-main td.mo-lbl~td{flex:1 1 0!important;min-width:0!important;width:auto!important;box-sizing:border-box!important}
  #hpb-main tr.mo-meal:not(.mo-meal-rec)>td,#hpb-main tr.tu-price>td{box-sizing:border-box!important}
  #hpb-main td.mo-lbl{text-align:left!important}
}

.mapbtn{display:block;margin:10px 0 8px;padding:12px 10px;text-align:center;text-decoration:none!important;border-radius:12px;background:linear-gradient(180deg,#e88a1a,#c86d0a);border:2px solid #f3d28a;color:#fff!important;font-weight:800;font-size:19px;line-height:1.35;box-shadow:0 2px 6px rgba(110,70,20,.35)}
.mapbtn small{display:block;font-size:12.5px;font-weight:600;opacity:.95;margin-top:2px}
@media(hover:hover){.mapbtn:hover{filter:brightness(1.07)}}

/* v53b brown table headers */
tr:not(:has(table,ul,ol)):has(font[style*="background-color : blue"]) > td,tr:not(:has(table,ul,ol)):has(font[style*="background-color: blue"]) > td,tr.tu-price>td{background:linear-gradient(#7a5224,#583310) !important;color:#fff !important;border-color:#fff !important}
[style*="rgb(91, 155, 213)"]{background:linear-gradient(#7a5224,#583310) !important;color:#fff !important}

/* v55 keep right column clear of nav */
@media screen and (min-width:569px){html body #hpb-container #hpb-aside #banner,html body .hpb-layoutset-01 #hpb-aside #banner{margin-bottom:46px !important}}

/* v57 footer links: normal size, no overflow; table-row rule must not hit big content rows */
#hpb-footerMain p font[face*="Kyokasho"],#hpb-footerMain p font[face*="Kyokasho"] b{font-size:15px !important;font-weight:600 !important}
#hpb-footerMain p b{font-weight:600}
#hpb-footerMain p{white-space:normal !important;overflow-wrap:anywhere;line-height:1.7}

/* v60 map button: brown + pin icon */
.mapbtn{background:linear-gradient(180deg,#7a5224,#583310) !important;border-color:#e0c48a !important}
.mapic{display:inline-block;width:20px;height:23px;margin-right:8px;vertical-align:-5px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath fill='white' fill-rule='evenodd' d='M12 1C7 1 3.2 4.8 3.2 9.6c0 6 8.8 13 8.8 13s8.8-7 8.8-13C20.8 4.8 17 1 12 1zm0 4.6a4 4 0 1 1 0 8 4 4 0 0 1 0-8z'/%3E%3Cellipse cx='12' cy='25.4' rx='7' ry='2' fill='none' stroke='white' stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat}

/* v62 theme heading: brown text banner (replaces image with car/ger) */
.thhead{display:block;max-width:520px;margin:0 auto 8px;padding:14px 10px;border-radius:12px;background:linear-gradient(180deg,#7a5224,#583310);border:2px solid #e0c48a;color:#fff;font-weight:800;font-size:22px;line-height:1.35;text-align:center;box-shadow:0 2px 6px rgba(110,70,20,.35)}

/* v64 footer social icons row */
.fsns{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:0;padding:6px 10px 14px;background:linear-gradient(#583310,#4a2a0c)}
.fsns a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:2px solid #e0c48a;color:#fff;background:rgba(255,255,255,.08);text-decoration:none}
.fsns a:hover{background:rgba(255,255,255,.22)}
.fsns svg{width:24px;height:24px;display:block}
#hpb-footerMain p{margin-bottom:0 !important}
#hpb-footerMain .fsns{margin-top:0 !important}

/* v67 note fold dropdown (phones) */
.nfold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:10px 12px;font-weight:700;font-size:15px;line-height:1.3;color:#fff;background:linear-gradient(#7a5224,#583310);border-radius:8px;-webkit-tap-highlight-color:transparent}
.nfold>summary::-webkit-details-marker{display:none}
.nfold>summary::before{content:"";flex:0 0 auto;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:9px solid #fff;transition:transform .2s;transform:rotate(-90deg)}
.nfold[open]>summary::before{transform:rotate(0)}
.nfold[open]>summary{border-radius:8px 8px 0 0;margin-bottom:6px}

/* v46 staff photo frame */
table.mo-staff img{box-sizing:border-box;border:3px solid #7a4620!important;border-radius:8px;box-shadow:0 2px 6px rgba(60,30,10,.35);background:#fffaf0}

/* v47 car rental cards + brown title */
#hpb-title h2[style*="background-color : red"]{background:linear-gradient(#7a5224,#583310)!important}
.cr-h{margin:6px 0 10px;padding:9px 12px;border-radius:6px;background:linear-gradient(#7a5224,#583310);color:#fff;font-size:105%;text-align:center}
.cr-card{display:flex;gap:16px;align-items:flex-start;padding:14px 0;border-bottom:1px dotted #a98a5a}
.cr-img{flex:0 0 38%;max-width:270px}
.cr-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px;border:2px solid #7a4620;box-shadow:0 2px 6px rgba(60,30,10,.3);background:#fffaf0}
.cr-tb{flex:1;min-width:0;border-collapse:collapse;width:auto!important}
.cr-tb th{width:1%;white-space:nowrap;text-align:left;vertical-align:top;padding:6px 12px 6px 6px;color:#6b4a22;font-weight:bold;border-bottom:1px dotted #b79c6c}
.cr-tb td{padding:6px 6px;vertical-align:top;border-bottom:1px dotted #b79c6c;line-height:1.55}
.cr-tb tr.cr-name th,.cr-tb tr.cr-name td{background:linear-gradient(#7a5224,#583310);color:#fff;font-weight:bold;border-bottom:0}
@media screen and (max-width:568px){.cr-card{display:block;padding:12px 0}.cr-img{max-width:none}.cr-tb{width:100%!important;margin-top:8px}}

/* v48 carousel uniform height */
#hpb-carousel1 li img{display:block;width:100%!important;height:113px!important;object-fit:cover;border-radius:6px}
@media screen and (max-width:568px){#hpb-carousel1 li img{height:210px!important}}

/* v49 brown itinerary cards + buttons */
#hpb-main table.mo-itin>tbody>tr>td.mo-i0,table.lbl>tbody>tr>td:first-child,td[style*="C0504D" i],td[style*="c0504d" i]{background:linear-gradient(#7a5224,#583310)!important}
#hpb-main table.mo-itin>tbody>tr>td[data-label]:before{color:#7a4620!important}
#hpb-main .w4 .btns a.b1,#hpb-main .w4 .btns a.b2,#hpb-main .w4 table.w4day th,#hpb-main .w4 .qa .q,#hpb-main .w4 .pills a,#hpb-main .w4plan .qa .a p.d{background:linear-gradient(#7a5224,#583310)!important;border-color:#3a210a!important}
#hpb-main .w4 h2.cat{color:#7a4620!important;border-bottom-color:#7a4620!important}

@media screen and (max-width:568px){table.mi-cal{width:100%!important;max-width:100%!important;table-layout:fixed}table.mi-cal td{padding:3px 0!important;overflow:hidden;font-size:11px!important}table.mi-cal td span{font-size:8px!important;padding:0 1px!important;white-space:nowrap}table.mi-cal tr:nth-child(2) td{font-size:8.5px!important;padding:5px 0!important}}

/* v50 tourist camp: brown theme + fitting tables */
.tc-brown font[style*="background-color : yellow" i]{background-color:transparent!important}
.tc-brown font[style*="c0160c" i],.tc-brown font[style*="color : red" i],.tc-brown [style*="800000"]{color:#7a4620!important}
.tc-brown table.MsoTableGridLight{width:100%!important;max-width:100%!important;table-layout:fixed;border-collapse:collapse!important;margin:8px 0 14px}
.tc-brown table.MsoTableGridLight td{width:auto!important;padding:5px 4px!important;vertical-align:top;overflow-wrap:anywhere;word-break:break-word;border:1px solid #b79c6c!important}
.tc-brown table.MsoTableGridLight td:first-child{width:25%!important}
.tc-brown table.MsoTableGridLight td p,.tc-brown table.MsoTableGridLight td font{font-size:13px!important;line-height:1.45!important;margin:0!important}
.tc-brown table.MsoTableGridLight td[style*="FFD966" i]{background:linear-gradient(#7a5224,#583310)!important;color:#fff!important}
.tc-brown table.MsoTableGridLight td[style*="FFD966" i] *{color:#fff!important}
.tc-brown table.MsoTableGridLight tr:nth-child(even) td:not([style*="FFD966" i]){background:#f2e6c9}
@media screen and (max-width:568px){.tc-brown table.MsoTableGridLight td p,.tc-brown table.MsoTableGridLight td font{font-size:11.5px!important}.tc-brown table.MsoTableGridLight td{padding:4px 3px!important}}

.tc-brown font[style*="nowrap"]{white-space:normal!important;font-size:125%!important}

/* v51 gallery grid */
body.gl-page #company table,body.gl-page #company tbody{display:block!important;width:100%!important;max-width:100%!important;border:0}
body.gl-page #company tbody{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;padding:6px 0}
body.gl-page #company tr{display:contents!important}
body.gl-page #company td{display:block!important;width:auto!important;height:auto!important;padding:0!important;margin:0}
body.gl-page #company td a{display:block}
body.gl-page #company td img{display:block;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover;border:2px solid #7a4620!important;border-radius:6px;box-shadow:0 2px 5px rgba(60,30,10,.3);background:#fffaf0;box-sizing:border-box}
@media screen and (max-width:568px){body.gl-page #company tbody{grid-template-columns:repeat(3,1fr);gap:6px}}

/* v52 brown headings, EN option pills */
.otp .otp-h{background:linear-gradient(180deg,#7a5224,#583310)!important}
img[src^="img_p0731"]{filter:sepia(1) saturate(1.5) hue-rotate(-14deg) brightness(.72)}
img[src^="logo1202111"],img[src^="logo12011111111"]{filter:sepia(.85) saturate(1.25) brightness(.88)}
.opbe{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0 6px;max-width:720px}
.opbe a{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 6px;border-radius:14px;border:2px solid #d4ac52;box-shadow:0 2px 5px rgba(60,30,10,.35),inset 0 0 0 1.5px rgba(255,241,200,.55);color:#fff!important;text-decoration:none!important;font-weight:800;font-size:15px;line-height:1.2;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.opbe a svg{width:22px;height:22px;flex:none}
.opbe a.p1{background:linear-gradient(180deg,#a24542,#5e1612)}
.opbe a.p2{background:linear-gradient(180deg,#245b86,#0f3350)}
.opbe a.p3{background:linear-gradient(180deg,#4c6a40,#254215)}
.opbe a.p4{background:linear-gradient(180deg,#916637,#5a330e)}
@media(hover:hover){.opbe a{transition:transform .15s,filter .15s}.opbe a:hover{transform:translateY(-1px);filter:brightness(1.08)}}
@media screen and (max-width:568px){.opbe{grid-template-columns:1fr 1fr}.opbe a{font-size:14px;padding:10px 4px}}

/* v53: mobile main menu - text must never be clipped */
@media screen and (max-width:568px){
#hpb-nav ul{display:flex!important;flex-wrap:nowrap!important;width:100%!important;box-sizing:border-box}
#hpb-nav li{flex:1 1 0!important;min-width:0!important;width:auto!important;float:none!important;display:flex!important}
#hpb-nav li a,#hpb-nav li>span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;width:100%!important;box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;text-align:center;padding:7px 2px!important;line-height:1.15!important;word-break:keep-all;overflow-wrap:break-word}
#hpb-nav li a *,#hpb-nav li .ja,#hpb-nav li span.ja{font-size:clamp(11px,3.4vw,15px)!important;line-height:1.15!important;white-space:normal!important}
#hpb-nav li .en{display:none!important}
}

/* v54: map images - white background becomes transparent (multiply blend) */
img[src^="Mongol-Map"],img[src^="Mongol%20Map"],img[src^="Mongol Map"]{mix-blend-mode:multiply;background:transparent!important}

/* v55: mobile - theme tour banners in 2 columns */
@media screen and (max-width:568px){
#hpb-aside a:has(>img[src^="sb-button"]){display:inline-block!important;width:49%!important;vertical-align:top;margin:3px 0!important;box-sizing:border-box;padding:0 2px}
#hpb-aside a>img[src^="sb-button"]{width:100%!important;height:auto!important;display:block;margin:0 auto!important}
}

/* v56: FAQ map pills - keep English text inside the pills on phones */
@media screen and (max-width:568px){
div[style*="nav-bg-map"] a{font-size:clamp(7px,2.3vw,11px)!important;padding:2px!important;line-height:1.1!important;border-radius:9px!important}
div[style*="nav-bg-map"] a img{width:clamp(10px,3.2vw,18px)!important;margin:0 0 1px!important}
}

/* v57: slideshow (photomotion) - fill the phone width and keep the thumbnail strip visible */
@media screen and (max-width:568px){
.hpb-photomotion[style*="width"][style*="height"]{height:auto!important;min-height:0!important;overflow:visible!important;max-width:none!important;margin-bottom:10px!important;zoom:.736!important}
.hpb-photomotion .camera_thumbs_cont{margin-bottom:0!important}
}
@media screen and (max-width:519px){.hpb-photomotion[style*="width"][style*="height"]{zoom:.677!important}}
@media screen and (max-width:479px){.hpb-photomotion[style*="width"][style*="height"]{zoom:.619!important}}
@media screen and (max-width:439px){.hpb-photomotion[style*="width"][style*="height"]{zoom:.589!important}}
@media screen and (max-width:419px){.hpb-photomotion[style*="width"][style*="height"]{zoom:.56!important}}
@media screen and (max-width:399px){.hpb-photomotion[style*="width"][style*="height"]{zoom:.531!important}}
@media screen and (max-width:379px){.hpb-photomotion[style*="width"][style*="height"]{zoom:.501!important}}
@media screen and (max-width:359px){.hpb-photomotion[style*="width"][style*="height"]{zoom:.46!important}}

/* v58: slideshow images always fill the frame (no dark side/top bars) */
.camera_wrap .camera_target img,.camera_wrap .cameraSlide>img,.camera_wrap .camerarelative>img{position:absolute!important;left:0!important;top:0!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;object-fit:cover!important}
.camera_wrap .camera_target,.camera_wrap .cameraCont,.camera_wrap .cameraSlide{background:transparent!important}

/* v59 partner logos: 2 columns on mobile (EN) */
@media screen and (max-width:568px){
.hpb-parts-pbox-desc:has(.pw,img.sbh){display:grid!important;grid-template-columns:1fr 1fr;gap:6px;align-items:stretch}
.hpb-parts-pbox-desc>img.sbh{grid-column:1/-1}
.hpb-parts-pbox-desc:has(.pw,img.sbh)>a{display:block;min-width:0}
/* v62: normal text blocks (title + paragraph + photo) must not become 2 grid columns */
#hpb-main .hpb-parts-pbox-desc:not(:has(.pw,img.sbh)){display:block!important}
#hpb-main .hpb-parts-pbox-01>.hpb-parts-img-04,#hpb-main .hpb-parts-pbox-01>font>.hpb-parts-img-04{float:none!important;display:block;max-width:100%;height:auto!important;margin:0 auto 10px!important}
#hpb-aside .pw,.pw{display:inline-block!important;vertical-align:top;width:calc(50% - 10px)!important;margin:0 2px 6px!important;box-sizing:border-box}
.pw img{width:100%!important;height:auto!important}
#hpb-aside .hpb-parts-pbox-desc .pw,.hpb-parts-pbox-desc>a>.pw,.hpb-parts-pbox-desc>.pw{display:flex!important;align-items:center;justify-content:center;width:100%!important;height:100%;margin:0!important;box-sizing:border-box}
#hpb-aside a:has(>.pw){display:inline!important}
#hpb-aside .hpb-parts-pbox-desc>a:has(>.pw){display:block!important}
}
