
.vj-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.vj-tape {
  position: absolute; z-index: 3;
  width: 112px; height: 30px;
  background:
    repeating-linear-gradient(-45deg, rgba(255, 255, 255, .42) 0 5px, transparent 5px 11px),
    rgba(163, 196, 228, .78);
  clip-path: polygon(0 8%, 4% 0, 9% 10%, 14% 1%, 19% 9%, 100% 0, 96% 100%, 91% 90%, 86% 99%, 81% 91%, 0 100%);
  transform-origin: left center;
  pointer-events: none;
}
.vj-tape--l { top: -12px; left: -26px; transform: rotate(-24deg); }
.vj-tape--r { top: -10px; right: -30px; transform: rotate(21deg); }
.vj-tape--c { top: -12px; left: 50%; width: 76px; height: 24px; transform: translateX(-50%) rotate(-3deg); transform-origin: center; transition: transform .5s var(--vj-ease); }
.vj-seal {
  position: absolute;
  display: grid; place-items: center;
  width: 80px; height: 80px; border-radius: 50%;
  border: 3px double var(--vj-shu);
  color: var(--vj-shu);
  font-family: var(--vj-ja-serif); font-weight: 700; font-size: 19px; letter-spacing: .12em;
  mix-blend-mode: multiply;
  filter: url(#vj-ink);
  opacity: .85;
  transform: rotate(-12deg);
  pointer-events: none;
}
.vj-more {
  display: inline-flex; align-items: center; gap: 10px;
  min-height: 44px;
  color: var(--vj-ai); font-weight: 500; letter-spacing: .08em; text-decoration: none;
  background: linear-gradient(currentColor, currentColor) 0 calc(100% - 9px) / 0 1px no-repeat;
  transition: background-size .35s var(--vj-ease);
}
.vj-more::after { content: "→"; transition: transform .3s var(--vj-ease); }
.vj-more[target="_blank"]::after { content: "↗"; }
.vj-more:hover { color: var(--vj-ai); background-size: calc(100% - 26px) 1px; }
.vj-more:hover::after { transform: translateX(4px); }
.vj-more[target="_blank"]:hover::after { transform: translate(3px, -3px); }


:root { --tab: var(--vj-tab-life); }
:is(.ct-container-narrow, .ct-container, .ct-container-full):has(> .vj-phead[data-vj-book="shop"]) { --tab: var(--vj-tab-shop); }
:is(.ct-container-narrow, .ct-container, .ct-container-full):has(> .vj-phead[data-vj-book="trip"]) { --tab: var(--vj-tab-trip); }
:is(.ct-container-narrow, .ct-container, .ct-container-full):has(> .vj-phead[data-vj-book="ball"]) { --tab: var(--vj-tab-ball); }
:is(.ct-container-narrow, .ct-container, .ct-container-full):has(> .vj-phead[data-vj-book="acg"]) { --tab: var(--vj-tab-acg); }
.vj-phead { position: relative; z-index: 0; padding: 30px 0 56px; margin: 0 0 56px; }
.vj-phead[data-vj-book="shop"] { --tab: var(--vj-tab-shop); }
.vj-phead[data-vj-book="trip"] { --tab: var(--vj-tab-trip); }
.vj-phead[data-vj-book="ball"] { --tab: var(--vj-tab-ball); }
.vj-phead[data-vj-book="acg"] { --tab: var(--vj-tab-acg); }
.vj-phead::before {
  content: ""; position: absolute; inset: 0; z-index: -2;
  background: var(--vj-sora);
  box-shadow: 0 0 0 100vmax var(--vj-sora);
  clip-path: inset(0 -100vmax);
}
.vj-phead--post:has(.vj-phead__photo)::before { bottom: 190px; }
:is([data-content="narrow"], [data-content="normal"]) > .vj-phead { width: min(1290px, 90vw); margin-inline: auto; }
.vj-phead > .vj-fall { z-index: -1; }
.vj-crumbs { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 22px; font-size: 13px; letter-spacing: .08em; color: var(--vj-nezu); }
.vj-crumbs a { color: var(--vj-ai); text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .3s var(--vj-ease); }
.vj-crumbs a:hover { color: var(--vj-ai); background-size: 100% 1px; }
.vj-crumbs__sep { color: var(--vj-ai-2); opacity: .6; }
.vj-phead__card {
  position: relative;
  padding: 38px 44px 34px;
  background-color: var(--vj-paper);
  background-image: linear-gradient(var(--vj-grid) 1px, transparent 1px), linear-gradient(90deg, var(--vj-grid) 1px, transparent 1px);
  background-size: 24px 24px; background-position: 11px 11px;
  border-top: 6px solid var(--tab);
  box-shadow: 0 26px 44px -34px rgba(19, 77, 129, .5);
}
.vj-phead__kana { margin: 0; font-family: var(--vj-ja-serif); font-size: 14px; letter-spacing: .34em; line-height: 1.6; color: var(--vj-ai-2); }
.vj-phead__cat {
  display: inline-flex; align-items: baseline; gap: 10px;
  padding: 4px 12px;
  background: var(--tab); color: var(--vj-sumi);
  font-size: 13px; font-weight: 700; letter-spacing: .14em; line-height: 1.7; text-decoration: none;
  transition: transform .3s var(--vj-ease), box-shadow .3s var(--vj-ease);
}
.vj-phead__cat [lang="ja"] { font-family: var(--vj-ja-serif); font-weight: 500; font-size: 11px; letter-spacing: .2em; color: rgba(27, 34, 48, .6); }
.vj-phead__cat:hover { color: var(--vj-sumi); transform: translateY(-2px); box-shadow: 0 8px 14px -10px rgba(19, 77, 129, .6); }
.vj-phead__title { margin: 14px 0 0; font-family: var(--vj-serif); font-weight: 700; font-size: clamp(25px, 3vw, 34px); line-height: 1.5; letter-spacing: .05em; color: var(--vj-sumi); font-feature-settings: "palt"; text-wrap: pretty; }
.vj-phead--page .vj-phead__title, .vj-cathead .vj-phead__title { margin-top: 6px; font-size: clamp(30px, 3.4vw, 42px); letter-spacing: .1em; }
.vj-phead__meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 18px 0 0; font-size: 13px; letter-spacing: .1em; line-height: 1.6; color: var(--vj-nezu); font-variant-numeric: tabular-nums; }
.vj-phead__meta > * + * { padding-left: 16px; border-left: 1px solid var(--vj-line); }
.vj-phead__by { display: flex; align-items: center; gap: 10px; margin: 16px 0 0; font-size: 14px; letter-spacing: .1em; color: var(--vj-sumi); }
.vj-phead__by img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--vj-line); }
.vj-phead__card .vj-seal { right: 26px; bottom: 18px; width: 70px; height: 70px; font-size: 16px; }
.vj-phead__photo { position: relative; margin: 46px 0 0; padding: 10px; background: var(--vj-paper); border: 1px solid var(--vj-line); transform: rotate(-.5deg); box-shadow: 0 32px 44px -36px rgba(19, 77, 129, .55); }
.vj-phead__photo img { display: block; width: 100%; height: clamp(240px, 38vw, 540px); object-fit: cover; object-position: 50% 45%; }


.vj-arch { --vj-tab-life: #B9D2EC; }
.vj-arch .vj-phead, .vj-arch__body { width: min(1290px, 90vw); margin-inline: auto; }
.vj-arch .vj-phead { padding-bottom: 64px; margin-bottom: 64px; }
.vj-cattabs { position: relative; z-index: 1; display: flex; gap: 6px; padding-left: 28px; overflow-x: auto; scrollbar-width: none; }
.vj-cattabs::-webkit-scrollbar { display: none; }
.vj-cattabs a {
  flex-shrink: 0;
  padding: 10px 20px 9px;
  background: var(--tab); color: var(--vj-sumi);
  font-size: 14px; font-weight: 500; letter-spacing: .1em; line-height: 1.5; text-decoration: none;
  clip-path: polygon(9px 0, calc(100% - 9px) 0, 100% 100%, 0 100%);
  transform: translateY(6px);
  transition: transform .3s var(--vj-ease), filter .3s var(--vj-ease);
}
.vj-cattabs a:hover { color: var(--vj-sumi); transform: translateY(2px); filter: saturate(1.25); }
.vj-cattabs a[aria-current="page"] { transform: translateY(0); font-weight: 700; }
.vj-cathead { padding: 46px 52px 40px; }
.vj-cathead :is(.vj-phead__title, .vj-cathead__desc), .vj-empty__note, .vj-igrow__title { word-break: keep-all; overflow-wrap: break-word; text-wrap: balance; }
.vj-cathead__desc { max-width: 36em; text-wrap: pretty; margin: 14px 0 0; font-size: 16px; line-height: 1.95; color: var(--vj-sumi); }
.vj-cathead__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 22px 0 0; font-size: 13px; letter-spacing: .1em; color: var(--vj-nezu); }
.vj-cathead .vj-seal { right: 40px; top: 34px; bottom: auto; width: 84px; height: 84px; font-size: 20px; }
.vj-chip { display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px; border: 1px solid var(--vj-ai-2); color: var(--vj-ai); font-size: 13px; letter-spacing: .1em; text-decoration: none; transition: background-color .3s var(--vj-ease), color .3s var(--vj-ease); }
.vj-chip:hover { background: var(--vj-ai); color: #fff; }
.vj-chip--up::before { content: "↖"; margin-right: 6px; }

.vj-arch__body { margin-bottom: 104px; }
.vj-cards { list-style: none; margin: 0; padding: 14px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 60px 40px; }
.vj-card { position: relative; }
.vj-card__media { position: relative; display: block; padding: 8px; background: var(--vj-paper); border: 1px solid var(--vj-line); transform: rotate(var(--tilt, -.8deg)); transition: transform .55s var(--vj-ease), box-shadow .55s var(--vj-ease); }
.vj-card:nth-child(2n) { --tilt: .7deg; }
.vj-card:nth-child(3n) { --tilt: -.4deg; }
.vj-card__media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.94); }
.vj-card__blank { display: grid; place-items: center; aspect-ratio: 4 / 3; background: var(--tab); font-family: var(--vj-ja-serif); font-size: 22px; letter-spacing: .3em; color: rgba(27, 34, 48, .5); }
.vj-card:hover .vj-card__media { transform: rotate(0deg) translateY(-6px); box-shadow: 0 24px 32px -22px rgba(19, 77, 129, .5); }
.vj-card:hover .vj-tape--c { transform: translateX(-50%) translateY(-6px) rotate(-7deg); }
.vj-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 20px; font-size: 12px; letter-spacing: .12em; color: var(--vj-nezu); font-variant-numeric: tabular-nums; }
.vj-card__cat { padding: 0 8px; background: var(--tab); color: var(--vj-sumi); line-height: 1.9; }
.vj-card__title { margin: 8px 0 0; font-family: var(--vj-serif); font-size: 19px; font-weight: 700; line-height: 1.6; letter-spacing: .04em; text-wrap: balance; }
.vj-card__title a { color: var(--vj-sumi); text-decoration: none; background: linear-gradient(var(--vj-ai), var(--vj-ai)) 0 100% / 0 1px no-repeat; transition: background-size .45s var(--vj-ease), color .3s var(--vj-ease); }
.vj-card__title a::after { content: ""; position: absolute; inset: 0; }
.vj-card:hover .vj-card__title a { color: var(--vj-ai); background-size: 100% 1px; }
.vj-card__title a:focus-visible { outline: none; }
.vj-card:has(a:focus-visible) { outline: 2px solid var(--vj-ai); outline-offset: 8px; }
.vj-card__excerpt { text-wrap: pretty; margin: 10px 0 0; font-size: 14px; line-height: 1.85; letter-spacing: .04em; color: var(--vj-nezu); }
.vj-pages ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 64px 0 0; padding: 0; }
.vj-pages :is(a, span) { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 14px; border: 1px solid var(--vj-line); background: var(--vj-paper); color: var(--vj-ai); font-size: 14px; letter-spacing: .08em; text-decoration: none; transition: background-color .3s var(--vj-ease), color .3s var(--vj-ease); }
.vj-pages a:hover { background: var(--vj-ai); color: #fff; }
.vj-pages .current { background: var(--vj-ai); border-color: var(--vj-ai); color: #fff; }
.vj-empty { position: relative; padding: 64px 24px; text-align: center; background: var(--vj-paper); border: 1px dashed var(--vj-ai-2); }
.vj-empty__note { margin: 0; font-family: var(--vj-hand); font-size: 21px; line-height: 1.8; color: var(--vj-ai); }

.vj-igrow { margin-top: 96px; padding-top: 52px; border-top: 1px dashed var(--vj-line); }
.vj-igrow__head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px; margin-bottom: 30px; }
.vj-igrow__head .vj-phead__kana { flex-basis: 100%; }
.vj-igrow__title { margin: 0; font-family: var(--vj-serif); font-size: clamp(22px, 2.2vw, 28px); font-weight: 700; letter-spacing: .08em; }
.vj-igrow__head .vj-more { margin-left: auto; }
.vj-igrow__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px; }
.vj-igrow__list a { display: block; color: var(--vj-sumi); text-decoration: none; }
.vj-igrow__media { position: relative; display: block; padding: 6px; background: var(--vj-paper); border: 1px solid var(--vj-line); transition: transform .5s var(--vj-ease), box-shadow .5s var(--vj-ease); }
.vj-igrow__media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 0; }
.vj-igrow__media::after {
  content: ""; position: absolute; right: 14px; bottom: 14px;
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(255, 255, 255, .92) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path d='M12 9.5v11l9-5.5z' fill='%23134D81'/></svg>") center / 100% no-repeat;
  box-shadow: 0 6px 14px -8px rgba(19, 77, 129, .6);
  transition: transform .45s var(--vj-spring);
}
.vj-igrow__list a:hover .vj-igrow__media { transform: translateY(-6px); box-shadow: 0 22px 30px -20px rgba(19, 77, 129, .45); }
.vj-igrow__list a:hover .vj-igrow__media::after { transform: scale(1.08); }
.vj-igrow__text { display: block; margin-top: 12px; font-size: 14px; font-weight: 500; line-height: 1.65; letter-spacing: .04em; word-break: keep-all; overflow-wrap: break-word; text-wrap: balance; transition: color .3s var(--vj-ease); }
.vj-igrow__list a:hover .vj-igrow__text { color: var(--vj-ai); }


.single-post article .entry-content { font-size: 17px; line-height: 1.95; letter-spacing: .04em; }
.single-post article .entry-content a:where(:not(.wp-block-button__link):not(.vj-more)) { color: var(--vj-ai); text-decoration: underline; text-decoration-color: rgba(19, 77, 129, .35); text-underline-offset: 4px; transition: text-decoration-color .3s var(--vj-ease); }
.single-post article .entry-content a:where(:not(.wp-block-button__link):not(.vj-more)):hover { text-decoration-color: currentColor; }
.single-post article .entry-content > h2 { position: relative; margin-top: 2.4em; padding: 2px 0 14px 22px; border-bottom: 1px dashed var(--vj-line); font-family: var(--vj-serif); font-size: clamp(22px, 2.3vw, 27px); line-height: 1.5; letter-spacing: .06em; color: var(--vj-sumi); }
.single-post article .entry-content > h2::before { content: ""; position: absolute; left: 0; top: .28em; height: 1.1em; width: 8px; background: var(--tab, var(--vj-tab-life)); }
.single-post article .entry-content > h3 { position: relative; margin-top: 2em; padding-left: 1.2em; font-family: var(--vj-serif); font-size: 20px; line-height: 1.6; letter-spacing: .06em; }
.single-post article .entry-content > h3::before { content: ""; position: absolute; left: .1em; top: .62em; width: 8px; height: 8px; background: var(--vj-ai-2); transform: rotate(45deg); }
.single-post article .entry-content > h4 { font-size: 17px; letter-spacing: .06em; }
.single-post article .entry-content :where(ul, ol) li::marker { color: var(--vj-ai-2); }
.single-post article .entry-content .wp-block-image img { padding: 8px; background: var(--vj-paper); border: 1px solid var(--vj-line); box-shadow: 0 20px 30px -28px rgba(19, 77, 129, .5); }
.single-post article .entry-content .wp-block-image figcaption { margin-top: 10px; font-family: var(--vj-hand); font-size: 15px; color: var(--vj-ai); text-align: center; }
.single-post article .entry-content .wp-block-quote {
  position: relative; margin-block: 2em; padding: 30px 30px 26px;
  border: 0; background: #FBF6DC;
  box-shadow: 0 18px 28px -26px rgba(19, 77, 129, .45);
  font-size: 16px; line-height: 1.9;
}
.single-post article .entry-content .wp-block-quote::before {
  content: ""; position: absolute; top: -11px; left: 50%; width: 84px; height: 22px;
  background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, .42) 0 5px, transparent 5px 11px), rgba(163, 196, 228, .78);
  clip-path: polygon(0 8%, 4% 0, 9% 10%, 14% 1%, 19% 9%, 100% 0, 96% 100%, 91% 90%, 86% 99%, 81% 91%, 0 100%);
  transform: translateX(-50%) rotate(-2deg);
}
.single-post article .entry-content .wp-block-quote > :last-child { margin-bottom: 0; }
.single-post article .entry-content .wp-block-quote.pptnote-quick-answer { background: var(--vj-paper); border: 1px solid var(--vj-line); border-left: 6px solid var(--vj-ai); box-shadow: none; }
.single-post article .entry-content .wp-block-quote.pptnote-quick-answer::before { display: none; }
.single-post article .entry-content .wp-block-quote.pptnote-quick-answer strong { color: var(--vj-ai); }
.single-post article .entry-content .wp-block-button__link { border-radius: 0; padding: 12px 22px; background: var(--vj-ai); color: #fff; font-size: 15px; letter-spacing: .1em; transition: background-color .3s var(--vj-ease), transform .2s var(--vj-ease); }
.single-post article .entry-content .wp-block-button__link:hover { background: var(--vj-ai-deep); color: #fff; }
.single-post article .entry-content .wp-block-separator { width: 200px; max-width: 100%; height: 12px; margin-inline: auto; border: 0; opacity: 1; background: radial-gradient(circle, var(--vj-ai-2) 1.6px, transparent 2px) center / 16px 12px repeat-x; }
.single-post article .entry-content .wp-block-table table { border-collapse: collapse; font-size: 15px; }
.single-post article .entry-content .wp-block-table :is(th, td) { padding: 8px 12px; border: 1px solid var(--vj-line); }
.single-post article .entry-content .wp-block-table thead th { background: var(--vj-sora-2); }
.single-post article .entry-content .pptnote-related-reading { padding: 14px 18px; background: var(--vj-sora-2); font-size: 15px; }
.single-post article .entry-content .wp-block-rank-math-faq-block { display: grid; gap: 14px; }
.single-post article .entry-content .rank-math-faq-item { position: relative; padding: 22px 26px 20px 74px; background: var(--vj-paper); border: 1px solid var(--vj-line); }
.single-post article .entry-content .rank-math-faq-item::before { content: "Q"; position: absolute; left: 22px; top: 20px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--vj-ai); color: #fff; font-family: var(--vj-ja-serif); font-size: 17px; }
.single-post article .entry-content .rank-math-question { margin: 0; font-family: var(--vj-serif); font-size: 18px; line-height: 1.6; letter-spacing: .04em; }
.single-post article .entry-content .rank-math-answer { margin-top: 8px; font-size: 15.5px; line-height: 1.9; color: var(--vj-sumi); }


.vj-author { width: min(100%, var(--theme-narrow-container-max-width, 750px)); margin: 72px auto 8px; }
.vj-author__copy { margin: 0 0 30px; font-size: 13px; line-height: 1.7; letter-spacing: .06em; color: var(--vj-nezu); }
.vj-author__card {
  position: relative; display: grid; grid-template-columns: 108px minmax(0, 1fr); column-gap: 26px;
  padding: 36px 34px 30px;
  background-color: var(--vj-paper);
  background-image: linear-gradient(var(--vj-grid) 1px, transparent 1px), linear-gradient(90deg, var(--vj-grid) 1px, transparent 1px);
  background-size: 24px 24px; background-position: 11px 11px;
  border: 1px solid var(--vj-line);
  box-shadow: 0 26px 40px -34px rgba(19, 77, 129, .55);
}
.vj-author__avatar { width: 108px; height: 108px; border-radius: 50%; object-fit: cover; border: 4px solid #fff; box-shadow: 0 0 0 1px var(--vj-line); }
.vj-author__kana { margin: 0; font-family: var(--vj-ja-serif); font-size: 12px; letter-spacing: .3em; color: var(--vj-ai-2); }
.vj-author__name { margin: 4px 0 0; font-family: var(--vj-serif); font-size: 24px; font-weight: 700; letter-spacing: .1em; line-height: 1.4; color: var(--vj-sumi); }
.vj-author__name [lang="ja"] { font-family: var(--vj-ja-serif); color: var(--vj-ai); }
.vj-author__role { margin: 6px 0 0; font-size: 13px; letter-spacing: .12em; color: var(--vj-nezu); }
.vj-author__bio { margin: 14px 0 0; font-size: 15px; line-height: 1.95; letter-spacing: .04em; }
.vj-author__links { display: flex; flex-wrap: wrap; gap: 0 24px; margin: 10px 0 0; }
.vj-author .vj-seal { right: 26px; top: -26px; width: 68px; height: 68px; font-size: 15px; }


.single-post .entry-tags .ct-module-title, .single-post .ct-share-box .ct-module-title { font-size: 13px; letter-spacing: .14em; color: var(--vj-nezu); }
.single-post .entry-tags-items a { border-radius: 0; border-color: var(--vj-line); color: var(--vj-ai); letter-spacing: .06em; }
.single-post .entry-tags-items a:hover { background: var(--vj-ai); border-color: var(--vj-ai); color: #fff; }
.single-post .post-navigation .item-label { font-family: var(--vj-ja-serif); letter-spacing: .14em; color: var(--vj-ai-2); }
.single-post .post-navigation .item-title { font-family: var(--vj-serif); font-weight: 700; line-height: 1.6; }
.single-post .post-navigation figure { border-radius: 50%; }
.ct-related-posts-container { position: relative; background-color: var(--vj-sora-2) !important; background-image: var(--vj-noise); }
.ct-related-posts .ct-module-title { font-family: var(--vj-serif); font-size: clamp(22px, 2.2vw, 28px); letter-spacing: .1em; }
.ct-related-posts .ct-module-title::before { content: "同じ帳のほかのページ"; display: block; margin-bottom: 4px; font-family: var(--vj-ja-serif); font-size: 13px; font-weight: 500; letter-spacing: .3em; color: var(--vj-ai-2); }
.ct-related-posts-items article .ct-media-container { padding: 7px; background: var(--vj-paper); border: 1px solid var(--vj-line); border-radius: 0; transform: rotate(-.6deg); transition: transform .5s var(--vj-ease), box-shadow .5s var(--vj-ease); }
.ct-related-posts-items article:nth-child(2n) .ct-media-container { transform: rotate(.6deg); }
.ct-related-posts-items article:hover .ct-media-container { transform: rotate(0deg) translateY(-6px); box-shadow: 0 22px 30px -22px rgba(19, 77, 129, .5); }
.ct-related-posts-items .related-entry-title { margin-top: 14px; font-family: var(--vj-serif); line-height: 1.6; }
.ct-related-posts-items .related-entry-title a:hover { color: var(--vj-ai); }


.vj-doc { font-size: 16px; line-height: 1.95; letter-spacing: .04em; }
.vj-doc h2 { position: relative; margin: 2.4em 0 .9em; padding: 0 0 12px 22px; border-bottom: 1px dashed var(--vj-line); font-family: var(--vj-serif); font-size: 22px; line-height: 1.5; letter-spacing: .06em; }
.vj-doc h2::before { content: ""; position: absolute; left: 0; top: .2em; height: 1.1em; width: 8px; background: var(--vj-tab-life); }
.vj-doc :where(ul, ol) li::marker { color: var(--vj-ai-2); }
.vj-doc a { color: var(--vj-ai); text-decoration: underline; text-decoration-color: rgba(19, 77, 129, .35); text-underline-offset: 4px; }
.vj-doc a:hover { text-decoration-color: currentColor; }
.vj-doc__contact { margin-top: 2.6em; padding: 18px 22px; background: var(--vj-sora-2); }


.scm-wrap { --scm-bg: var(--vj-sora-2); --scm-border: var(--vj-line); }
.scm-wrap .scm-inner { border-radius: 0; box-shadow: 0 26px 44px -34px rgba(19, 77, 129, .45); }
.scm-wrap .scm-artist {
  --scm-hero-base: var(--vj-sora); --scm-hero-ink: var(--vj-sumi); --scm-hero-muted: var(--vj-ai-2);
  background-color: var(--vj-sora);
  background-image: linear-gradient(var(--vj-grid) 1px, transparent 1px), linear-gradient(90deg, var(--vj-grid) 1px, transparent 1px);
  background-size: 24px 24px; background-position: 11px 11px;
  border-bottom: 6px solid var(--vj-tab-life);
}
.scm-wrap .scm-artist::before, .scm-wrap .scm-artist::after { display: none; }
.scm-wrap .scm-artist__name { font-family: var(--vj-serif); font-weight: 700; letter-spacing: .08em; }
.scm-wrap .scm-artist .scm-btn--ghost { background: var(--vj-paper); border-color: var(--vj-line); color: var(--vj-ai); }
.scm-wrap .scm-artist .scm-social { color: var(--vj-ai); }
.scm-wrap :is(.scm-btn, .scm-seg, .scm-seg__btn, .scm-plcard, .scm-plcard__cover, .scm-cover__img, .scm-track__cover) { border-radius: 0; }


@media (max-width: 999.98px) {
  .vj-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 52px 32px; }
  .vj-igrow__list { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 30%; overflow-x: auto; scroll-snap-type: x mandatory; padding: 10px 2px 12px; scrollbar-width: thin; scrollbar-color: var(--vj-line) transparent; }
  .vj-igrow__list li { scroll-snap-align: start; }
}


@media (max-width: 689.98px) {
  .vj-phead { padding: 18px 0 40px; margin-bottom: 40px; }
  .vj-phead--post:has(.vj-phead__photo)::before { bottom: 110px; }
  .vj-phead__card { padding: 30px 22px 26px; }
  .vj-phead__meta { gap: 2px 14px; }
  .vj-phead__meta > * + * { padding-left: 0; border-left: 0; }
  .vj-phead__card .vj-seal { width: 58px; height: 58px; font-size: 13px; right: 16px; bottom: 14px; }
  .vj-phead__photo { margin-top: 32px; padding: 7px; }
  .vj-tape--l { left: -12px; width: 84px; }
  .vj-tape--r { right: -14px; width: 84px; }
  .vj-arch .vj-phead, .vj-arch__body { width: 88vw; }
  :is([data-content="narrow"], [data-content="normal"]) > .vj-phead { width: 88vw; }
  .vj-cattabs { padding-left: 0; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); }
  .vj-cattabs a { padding: 9px 14px 8px; font-size: 13px; }
  .vj-cathead { padding: 34px 22px 30px; }
  .vj-cathead .vj-seal { top: 18px; right: 16px; width: 60px; height: 60px; font-size: 14px; }
  .vj-cathead .vj-phead__title { padding-right: 56px; font-size: clamp(26px, 7.4vw, 34px); }
  .vj-cards { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .vj-igrow { margin-top: 72px; }
  .vj-igrow__list { grid-auto-columns: 58%; gap: 18px; }
  .vj-igrow__head .vj-more { margin-left: 0; }
  .single-post article .entry-content { font-size: 16px; }
  .single-post article .entry-content .rank-math-faq-item { padding: 18px 18px 16px 60px; }
  .single-post article .entry-content .rank-math-faq-item::before { left: 16px; top: 18px; width: 30px; height: 30px; font-size: 15px; }
  .vj-author__card { grid-template-columns: minmax(0, 1fr); row-gap: 16px; padding: 30px 22px 24px; }
  .vj-author__avatar { width: 84px; height: 84px; }
  .vj-author .vj-seal { right: 18px; top: -22px; width: 58px; height: 58px; font-size: 13px; }
}


@media (prefers-reduced-motion: reduce) {
  .vj-card__media, .vj-igrow__media, .vj-phead__cat, .vj-cattabs a, .ct-related-posts-items .ct-media-container { transition: none; }
}
