/* 右側メニュー 上部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}
}
/* 大きなスライドショーを小さく・中央に */
.hpb-photomotion[style*="width"][style*="height"]{zoom:.78!important;margin-left:auto!important;margin-right:auto!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:has(font[style*="background-color : blue"]) > td,tr:has(font[style*="background-color: blue"]) > td{background:#7a1010!important;color:#fff!important;border-color:#fff!important}
tr:has(font[style*="background-color : blue"]) font,tr: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:has(font[style*="background-color : blue"]) td p,tr:has(font[style*="background-color: blue"]) td p{color:#fff!important}
tr:has(font[style*="background-color : blue"]) a{color:#fff!important}
@media screen and (max-width:568px){
tr:has(font[style*="background-color : blue"]) td font,tr: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}}
