


:where(.spine-scope) *, :where(.spine-scope) ::before, :where(.spine-scope) ::after { box-sizing: content-box; }
:where(.spine-scope) :is(svg, img) { display: revert; }
:where(.spine-scope) a:hover { text-decoration: none; }


.spine-scope .spine-icofig picture { display: flex !important; align-items: center; justify-content: center; width: 100%; height: 100%; }
.spine-scope .spine-icofig img { display: block; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; object-position: center !important; }  


.spine-scope .spine-icofig-slab { width: calc(var(--pic-w-l) * 1px); height: calc(var(--pic-h-l) * 1px); background: #fff; border-radius: 18px; }
.spine-scope .spine-icofig-slab img { width: 140px !important; height: 140px !important; }
@media (max-width: 1068px) {
  .spine-scope .spine-icofig-slab { width: calc(var(--pic-w-m) * 1px); height: calc(var(--pic-h-m) * 1px); }
  .spine-scope .spine-icofig-slab img { width: 128px !important; height: 128px !important; }
}
@media (max-width: 734px) {
  .spine-scope .spine-icofig-slab { width: calc(var(--pic-w-s) * 1px); height: calc(var(--pic-h-s) * 1px); }
  .spine-scope .spine-icofig-slab img { width: 96px !important; height: 96px !important; }
}


.spine-scope .spine-photofig-card { height: calc(var(--pic-h-l) * 1px) !important; }  
.spine-scope .spine-photofig-card picture { display: block !important; }

.spine-scope .spine-photofig-card { align-self: end; }
.spine-scope .spine-photofig-card img { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: cover !important; object-position: 50% 100% !important; }
@media (max-width: 1068px) { .spine-scope .spine-photofig-card { height: calc(var(--pic-h-m) * 1px) !important; } }
@media (max-width: 734px) { .spine-scope .spine-photofig-card { height: calc(var(--pic-h-s) * 1px) !important; } }


.spine-scope .spine-icofig-acc img, .spine-scope .spine-icofig-banner img { width: 100% !important; height: 100% !important; object-fit: contain; }



.spine-scope .spine-bannergal .spine-banner-pic { width: 100% !important; }

.spine-scope .spine-bannergal .spine-icofig-banner picture { align-items: flex-end !important; }
.spine-scope .spine-bannergal .spine-icofig-banner img { object-position: 50% 100% !important; }
@media (min-width: 735px) {
  .spine-scope .spine-bannergal > .spine-gallery-scroller, .spine-scope .spine-bannergal .spine-gallery-items { display: contents; }
  .spine-scope .spine-bannergal > .spine-gallery-arrows { display: none; }
}
@media (max-width: 734px) {
  .spine-scope .spine-bannergal { display: block; position: relative; z-index: 1; width: auto; max-width: none; margin-inline: 0; }  
  .spine-scope .spine-bannergal .spine-gallery-items > * { flex: none; scroll-snap-align: start; }  
  
  .spine-scope .spine-bannergal { margin-bottom: 0; padding-bottom: 64px; }
  .spine-scope .spine-bannergal > .spine-gallery-arrows { top: auto; bottom: 0; }
}


.spine-scope .spine-icofig-logos { container-type: inline-size; }
.spine-scope .spine-icofig-logos picture { display: block !important; }
.spine-scope .spine-logos { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 40px; width: 100%; height: 100%; padding: 0 5.16cqw 56px; box-sizing: border-box; }  
.spine-scope .spine-logorow { display: flex; align-items: center; justify-content: center; gap: 5.81cqw; }  
.spine-scope .spine-logorow:has(> :nth-child(4)) { gap: 4.19cqw; }  
.spine-scope .spine-logorow:has(> :nth-child(4)) .spine-logo, .spine-scope .spine-logorow:has(> :nth-child(4)) ~ .spine-logorow .spine-logo { zoom: .86; }
.spine-scope .spine-logo { display: block; height: auto !important; max-width: none !important; }

.spine-scope .spine-logo-rakuten { width: 24.19cqw !important; }
.spine-scope .spine-logo-jalan { width: 18.06cqw !important; }
.spine-scope .spine-logo-ikyu { width: 19.03cqw !important; }
.spine-scope .spine-logo-booking { width: 22.58cqw !important; }
.spine-scope .spine-logo-expedia { width: 21.29cqw !important; }
.spine-scope .spine-logo-agoda { width: 15.48cqw !important; }
.spine-scope .spine-logo-tripcom { width: 20cqw !important; }
.spine-scope .spine-logo-google { width: 21.29cqw !important; }
.spine-scope .spine-logo-analytics { width: 24.19cqw !important; }
.spine-scope .spine-logo-searchconsole { width: 30.65cqw !important; }
.spine-scope .spine-logo-googlemaps { width: 6.45cqw !important; }
@media (max-width: 1068px) {
  
  .spine-scope .spine-logos { display: grid; grid-template-columns: repeat(2, auto); justify-content: center; align-content: end; gap: 22px 24px; padding: 0 24px 40px; }
  .spine-scope .spine-logorow { display: contents; }
  .spine-scope .spine-logo { zoom: .8 !important; justify-self: center; }
  .spine-scope .spine-logo-rakuten { width: 150px !important; }
  .spine-scope .spine-logo-jalan { width: 112px !important; }
  .spine-scope .spine-logo-ikyu { width: 118px !important; }
  .spine-scope .spine-logo-booking { width: 140px !important; }
  .spine-scope .spine-logo-expedia { width: 132px !important; }
  .spine-scope .spine-logo-agoda { width: 96px !important; }
  .spine-scope .spine-logo-tripcom { width: 124px !important; grid-column: 1 / -1; }  
  .spine-scope .spine-logo-google { width: 132px !important; }
  .spine-scope .spine-logo-analytics { width: 150px !important; }
  .spine-scope .spine-logo-searchconsole { width: 190px !important; }
  .spine-scope .spine-logo-googlemaps { width: 40px !important; }
  
  .spine-scope .spine-logos:has(.spine-logo-searchconsole) { grid-template-areas: "g m" "s s" "a a"; }
  .spine-scope .spine-logo-google { grid-area: g; }
  .spine-scope .spine-logo-googlemaps { grid-area: m; }
  .spine-scope .spine-logo-searchconsole { grid-area: s; }
  .spine-scope .spine-logo-analytics { grid-area: a; }
}
@media (max-width: 734px) {
  .spine-scope .spine-logos { padding: 0 16px 28px; }
  .spine-scope .spine-logo { zoom: .66 !important; }
  .spine-scope .spine-logo.spine-logo-searchconsole { zoom: .84 !important; }
}



.spine-scope .spine-chapters-label { font-size: 14px; line-height: 1.2857; }


.spine-scope .spine-ph { display: inline-block; max-width: 100%; word-break: normal; overflow-wrap: normal; }


.spine-bx { word-break: normal; overflow-wrap: normal; }
.spine-word { display: inline-block; white-space: nowrap; }


#faq .spine-nw { white-space: nowrap; }


@media (max-width: 1068px) { .spine-scope .spine-acc-foot .spine-acc-itemPicBox { padding-bottom: 0 !important; } }


.spine-scope .spine-notice-content > span { display: inline; }
.spine-scope .spine-notice-link { display: inline-block; white-space: nowrap; }
@media (max-width: 734px) {
  .spine-scope .spine-notice-content > span { display: block; }
  .spine-scope .spine-notice-link { margin: 4px 0 0; }
}

.spine-scope .spine-categories { display: flex; align-items: center; gap: 4px; width: calc(87.5vw - var(--global-scrollbar-buffer, 0px)); max-width: 1260px; margin: 0 auto 48px; }
.spine-scope .spine-category-scroll { min-width: 0; flex: 0 1 auto; overflow-x: auto; scrollbar-width: none; border-radius: 28px; background: #e5eaf3; scroll-behavior: smooth; }
.spine-scope .spine-category-scroll::-webkit-scrollbar { display: none; }
.spine-scope .spine-category-tabs { display: flex; align-items: stretch; width: max-content; padding: 6px; }
.spine-scope .spine-category-tabs [role=tab] { display: block; box-sizing: border-box; flex: none; min-height: 44px; max-width: var(--spine-tab-max, 100%); padding: 0 20px; border: 0; border-radius: 24px; background: transparent; color: #555d6c; font: 400 17px/20px "Maximize JP","Maximize JP Web",-apple-system,BlinkMacSystemFont,"Maximize Latin Web",sans-serif; font-feature-settings: "palt"; cursor: pointer; }
.spine-scope .spine-category-tabs [role=tab] span { display: inline-block; white-space: nowrap; }
.spine-scope .spine-category-tabs [aria-selected=true] { background: #040813; color: #fff; }
.spine-scope .spine-category-tabs [role=tab]:focus-visible { outline: 2px solid #0131ff; outline-offset: -2px; }
.spine-scope .spine-category-arrow { display: none; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; color: #040813; background: #e5eaf3; cursor: pointer; }
.spine-scope .spine-categories.has-overflow .spine-category-arrow { display: flex; }
.spine-scope .spine-category-arrow:hover:not(:disabled) { background: #b6caff; }
.spine-scope .spine-category-arrow:active:not(:disabled) { background: #a3bcfa; }
.spine-scope .spine-category-arrow:disabled { opacity: .4; cursor: default; }
.spine-scope .spine-category-arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.spine-scope .spine-category-arrow:focus-visible { outline: 2px solid #0131ff; outline-offset: 2px; }
@media (max-width: 734px) {
  .spine-scope .spine-categories { box-sizing: border-box; width: 100%; max-width: none; margin: 0 0 40px; padding-left: max(6.25vw, calc((100vw - 420px) / 2)); }
  .spine-scope .spine-categories.has-overflow .spine-category-arrow { display: none; }
  .spine-scope .spine-category-scroll { flex: 1; border-radius: 0; background: none; }
  .spine-scope .spine-category-tabs { border-radius: 28px; background: #e5eaf3; padding-right: calc(6px + 6.25vw); }
  .spine-scope .spine-category-tabs [role=tab] { padding-inline: 16px; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) { .spine-scope .spine-category-scroll { scroll-behavior: auto; } }

.spine-category-tabs [role=tab].is-cut { opacity: 0; pointer-events: none; }
