@charset "UTF-8";
/*
Theme Name: hoshilogy-v4
Author: ホシロジー
Description: re-index / re-archive / re-single / re-16kan-indexに基づくホシロジーのテーマ。
Version: 4.0.0
Text Domain: hoshilogy-v4
*/

@font-face{font-family:Mulish;src:url(webfonts/mulish/Mulish-Regular.ttf)format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Mulish;src:url(webfonts/mulish/Mulish-Black.ttf)format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Mulish;src:url(webfonts/noto-serif/NotoSerifJP-Regular.ttf)format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Mulish;src:url(webfonts/noto-serif/NotoSerifJP-Bold.ttf)format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-Thin.ttf)format("truetype");font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-ThinItalic.ttf)format("truetype");font-weight:100;font-style:italic;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-ExtraLight.ttf)format("truetype");font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-ExtraLightItalic.ttf)format("truetype");font-weight:200;font-style:italic;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-Light.ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-LightItalic.ttf)format("truetype");font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-MediumItalic.ttf)format("truetype");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-SemiBoldItalic.ttf)format("truetype");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-BoldItalic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-ExtraBold.ttf)format("truetype");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-ExtraBoldItalic.ttf)format("truetype");font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-Black.ttf)format("truetype");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url(webfonts/Poppins/Poppins-BlackItalic.ttf)format("truetype");font-weight:900;font-style:italic;font-display:swap}
@keyframes hlv4-slides-cycle{0%{opacity:1;z-index:2;pointer-events:auto}0.01%,24.99%{opacity:1;z-index:1;pointer-events:auto}25%{opacity:1;z-index:1;pointer-events:none}25.01%{opacity:0;z-index:1;pointer-events:none}96.4286%{opacity:0;z-index:2;pointer-events:none}100%{opacity:1;z-index:2;pointer-events:auto}}
dd {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
dl {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
dt {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
form {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
h1 {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
h2 {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
h3 {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
h4 {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
h5 {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
li {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
ol {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
table {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
td {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
th {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
ul {
  margin:0px;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
* html body {
  font-size:100%;
}
a img {
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
}
a img.animate {
  -webkit-transition:0.5s;
  transition:0.5s;
}
textArea {
  background:none;
  margin:0px;
  outline:none;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:16px;
  -webkit-appearance:none;
}
a:hover {
  color:#000000;
  text-decoration:underline;
  -webkit-transition:0.5s;
  transition:0.5s;
}
a:hover img.animate {
  -webkit-transition:0.5s;
  transition:0.5s;
  opacity:0.8;
}
.clear:after {
  content:"";
  display:block;
  clear:both;
}
.clear_both {
  clear:both;
}
input[type=text] {
  background-color:#fff;
  background-image:none;
  border:1px solid #ccc;
  box-shadow:0 1px 1px rgba(0,0,0,.075) inset;
  color:#9a9a9a;
  line-height:1.42857;
  padding:6px 12px;
  width:100%;
  transition:border-color .15s ease-in-out 0,box-shadow .15s ease-in-out 0;
  box-sizing:border-box;
}
input[type=url] {
  background-color:#fff;
  background-image:none;
  border:1px solid #ccc;
  box-shadow:0 1px 1px rgba(0,0,0,.075) inset;
  color:#9a9a9a;
  line-height:1.42857;
  padding:6px 12px;
  width:100%;
  transition:border-color .15s ease-in-out 0,box-shadow .15s ease-in-out 0;
  box-sizing:border-box;
}
input[type=password] {
  background-color:#fff;
  background-image:none;
  border:1px solid #ccc;
  box-shadow:0 1px 1px rgba(0,0,0,.075) inset;
  color:#9a9a9a;
  line-height:1.42857;
  padding:6px 12px;
  width:100%;
  transition:border-color .15s ease-in-out 0,box-shadow .15s ease-in-out 0;
  box-sizing:border-box;
}
input[type=email] {
  background-color:#fff;
  background-image:none;
  border:1px solid #ccc;
  box-shadow:0 1px 1px rgba(0,0,0,.075) inset;
  color:#9a9a9a;
  line-height:1.42857;
  padding:6px 12px;
  width:100%;
  transition:border-color .15s ease-in-out 0,box-shadow .15s ease-in-out 0;
  box-sizing:border-box;
}
input[type=search] {
  background-color:#fff;
  background-image:none;
  border:1px solid #ccc;
  box-shadow:0 1px 1px rgba(0,0,0,.075) inset;
  color:#9a9a9a;
  line-height:1.42857;
  padding:6px 12px;
  width:100%;
  transition:border-color .15s ease-in-out 0,box-shadow .15s ease-in-out 0;
  box-sizing:border-box;
}
input[type=tel] {
  background-color:#fff;
  background-image:none;
  border:1px solid #ccc;
  box-shadow:0 1px 1px rgba(0,0,0,.075) inset;
  color:#9a9a9a;
  line-height:1.42857;
  padding:6px 12px;
  width:100%;
  transition:border-color .15s ease-in-out 0,box-shadow .15s ease-in-out 0;
  box-sizing:border-box;
}
:root {
  --hlv4-ink: #111;
  --hlv4-muted: #777;
  --hlv4-line: #e4e4e4;
  --hlv4-header-height: 108px;
  --hlv4-content-width: 1280px;
  --hlv4-side-space: clamp(28px, 5.5vw, 96px)
;
}
* {
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--hlv4-header-height) + 28px);
  scrollbar-gutter:stable;
}
body.hlv4-menu-open {
  overflow:hidden;
}
a {
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  -webkit-touch-callout:none;
  color:inherit;
  text-decoration:none;
}
img {
  vertical-align:bottom;
  max-width:100%;
  height:auto;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  display:block;
  width:100%;
}
figure {
  margin:0;
}
p {
  margin:0;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
}
summary {
  font:inherit;
}
a:focus-visible {
  outline:2px solid #111;
  outline-offset:6px;
}
summary:focus-visible {
  outline:2px solid #111;
  outline-offset:6px;
}
input:focus-visible {
  outline:2px solid #111;
  outline-offset:6px;
}
button:focus-visible {
  outline:2px solid #111;
  outline-offset:6px;
}
::selection {
  color:#fff;
  background:#111;
}
.hlv4-sr {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
.hlv4-skip {
  position:fixed;
  top:-80px;
  left:24px;
  z-index:200;
  padding:12px;
  background:white;
}
.hlv4-skip:focus {
  top:12px;
}
.hlv4-brand {
  display:flex;
  flex-direction:column;
  gap:10px;
  flex-shrink:0;
}
.hlv4-brand strong {
  font-size:29px;
  font-weight:500;
  letter-spacing:.18em;
  line-height:1;
}
.hlv4-brand small {
  font-size:9px;
  letter-spacing:.2em;
}
.hlv4-header-right {
  display:flex;
  align-items:center;
  gap:48px;
}
.hlv4-top-nav {
  display:flex;
  gap:30px;
  font-size:11px;
  letter-spacing:.06em;
}
.hlv4-top-nav a {
  padding-block:12px;
}
.hlv4-top-nav a:hover {
  text-decoration:underline;
  text-underline-offset:8px;
}
.hlv4-menu {
  position:relative;
}
.hlv4-menu>summary {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:46px;
  height:46px;
  padding:8px;
  cursor:pointer;
  list-style:none;
}
.hlv4-menu>summary::-webkit-details-marker {
  display:none;
}
.hlv4-menu>summary>span {
  display:block;
  width:27px;
  height:1px;
  background:#111;
  transition:transform .35s ease,opacity .2s ease;
}
.hlv4-menu[open]>summary>span:nth-child(1) {
  transform:translateY(7px) rotate(45deg);
}
.hlv4-menu[open]>summary>span:nth-child(2) {
  opacity:0;
}
.hlv4-menu[open]>summary>span:nth-child(3) {
  transform:translateY(-7px) rotate(-45deg);
}
.hlv4-js .hlv4-menu-panel {
  transform:translateX(100%);
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
}
.hlv4-js .hlv4-menu[data-state="open"] .hlv4-menu-panel {
  transform:translateX(0);
}
.hlv4-js .hlv4-menu[data-state="closing"]>summary>span:nth-child(1) {
  transform:none;
}
.hlv4-js .hlv4-menu[data-state="closing"]>summary>span:nth-child(3) {
  transform:none;
}
.hlv4-js .hlv4-menu[data-state="closing"]>summary>span:nth-child(2) {
  opacity:1;
}
.hlv4-menu-inner {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:11vw;
  width:min(100%,1060px);
  margin-inline:auto;
}
.hlv4-menu-nav {
  display:flex;
  flex-direction:column;
}
.hlv4-menu-nav>a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding:24px 0;
  border-bottom:1px solid var(--hlv4-line);
  font-size:23px;
  letter-spacing:.07em;
}
.hlv4-menu-nav>a>span {
  font-size:17px;
}
.hlv4-menu-secondary {
  padding-top:22px;
}
.hlv4-menu-secondary>a {
  display:block;
  padding-block:13px;
  font-size:12px;
}
.hlv4-search {
  display:flex;
  margin:0 0 46px;
  border-bottom:1px solid #111;
}
.hlv4-search input {
  width:100%;
  min-width:0;
  background:#fff;
  color:#111;
  border:0;
  border-radius:0;
  padding:16px 0;
  font-size:12px;
}
.hlv4-search button {
  flex-shrink:0;
  padding:0 12px;
  border:0;
  background:white;
  cursor:pointer;
  font-size:11px;
  letter-spacing:.1em;
}
.hlv4-menu-legal {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 24px;
  padding-top:32px;
  font-size:10px;
  line-height:1.9;
}
.hlv4-menu-nav a:hover {
  color:#777;
}
.hlv4-menu-secondary a:hover {
  color:#777;
}
.hlv4-menu-legal a:hover {
  color:#777;
}
.hlv4-hero {
  position:relative;
  width:100%;
  height:calc(100svh - var(--hlv4-header-height));
  min-height:440px;
  background:#111;
  overflow:hidden;
}
.hlv4-slider-input {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  clip-path:inset(50%);
}
.hlv4-slides {
  position:absolute;
  inset:0;
}
.hlv4-slide {
  position:absolute;
  inset:0;
  opacity:0;
  visibility:visible;
  pointer-events:none;
  animation:hlv4-slides-cycle 28s linear infinite;
}
.hlv4-slide:nth-child(1) {
  animation-delay:0s;
}
.hlv4-slide:nth-child(2) {
  animation-delay:-21s;
}
.hlv4-slide:nth-child(3) {
  animation-delay:-14s;
}
.hlv4-slide:nth-child(4) {
  animation-delay:-7s;
}
.hlv4-slide img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
#hlv4-pick1:checked~.hlv4-slides .hlv4-slide {
  animation:none;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
#hlv4-pick2:checked~.hlv4-slides .hlv4-slide {
  animation:none;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
#hlv4-pick3:checked~.hlv4-slides .hlv4-slide {
  animation:none;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
#hlv4-pick4:checked~.hlv4-slides .hlv4-slide {
  animation:none;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
#hlv4-pick1:checked~.hlv4-slides .hlv4-slide:nth-child(1) {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
#hlv4-pick2:checked~.hlv4-slides .hlv4-slide:nth-child(2) {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
#hlv4-pick3:checked~.hlv4-slides .hlv4-slide:nth-child(3) {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
#hlv4-pick4:checked~.hlv4-slides .hlv4-slide:nth-child(4) {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
#hlv4-paused:checked~.hlv4-slides .hlv4-slide {
  animation-play-state:paused;
}
.hlv4-slider-controls {
  position:absolute;
  bottom:30px;
  left:50%;
  z-index:3;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:0;
  background:#1118;
  border-radius:30px;
  padding:2px 5px;
  color:white;
}
.hlv4-slider-controls label {
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:40px;
  cursor:pointer;
  border-radius:50%;
}
.hlv4-slider-controls label:hover {
  background:#ffffff25;
}
.hlv4-slider-dot::before {
  content:"";
  width:6px;
  height:6px;
  border:1px solid #fff;
  border-radius:50%;
}
#hlv4-pick1:checked~.hlv4-slider-controls [for="hlv4-pick1"]::before {
  background:white;
}
#hlv4-pick2:checked~.hlv4-slider-controls [for="hlv4-pick2"]::before {
  background:white;
}
#hlv4-pick3:checked~.hlv4-slider-controls [for="hlv4-pick3"]::before {
  background:white;
}
#hlv4-pick4:checked~.hlv4-slider-controls [for="hlv4-pick4"]::before {
  background:white;
}
.hlv4-slider-play::before {
  content:"";
  border-left:7px solid white;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
}
.hlv4-slider-pause::before {
  content:"";
  width:8px;
  height:9px;
  border-left:2px solid white;
  border-right:2px solid white;
}
.hlv4-slider-resume {
  display:none!important;
}
#hlv4-paused:checked~.hlv4-slider-controls .hlv4-slider-pause {
  display:none;
}
#hlv4-paused:checked~.hlv4-slider-controls .hlv4-slider-resume {
  display:flex!important;
}
#hlv4-auto:checked~.hlv4-slider-controls [for="hlv4-auto"] {
  background:#ffffff20;
}
.hlv4-slider-input:focus-visible~.hlv4-slider-controls {
  outline:2px solid white;
  outline-offset:5px;
}
.hlv4-wrap {
  width:min(100% - var(--hlv4-side-space)*2,var(--hlv4-content-width));
  margin-inline:auto;
}
.hlv4-section {
  padding-block:128px;
}
.hlv4-section-heading {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:25px;
  margin-bottom:62px;
}
.hlv4-section-heading h2 {
  font-size:clamp(28px,3vw,40px);
  font-weight:400;
  letter-spacing:.045em;
  line-height:1.3;
  margin:0;
}
.hlv4-section-heading>a {
  flex-shrink:0;
  font-size:10px;
  letter-spacing:.08em;
  padding-bottom:7px;
  border-bottom:1px solid #111;
}
.hlv4-article {
  min-width:0;
}
.hlv4-thumb {
  aspect-ratio:16/9;
  overflow:hidden;
}
.hlv4-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.hlv4-article a:hover .hlv4-thumb img {
  transform:scale(1.045);
}
.hlv4-article a:focus-visible .hlv4-thumb img {
  transform:scale(1.045);
}
.hlv4-service a:hover img {
  transform:scale(1.045);
}
.hlv4-card-meta {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  margin-top:25px;
  font-size:9px;
  letter-spacing:.09em;
}
.hlv4-card-meta time {
  color:#888;
}
.hlv4-article h3 {
  font-size:15px;
  font-weight:500;
  line-height:2;
  letter-spacing:.025em;
  margin:14px 0 0;
}
.hlv4-signs {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid var(--hlv4-line);
  border-left:1px solid var(--hlv4-line);
}
.hlv4-signs a {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  padding:32px 12px;
  border-right:1px solid var(--hlv4-line);
  border-bottom:1px solid var(--hlv4-line);
  transition:background .2s;
}
.hlv4-signs b {
  font-weight:500;
  font-size:clamp(12px,1.4vw,20px);
  letter-spacing:.02em;
  line-height:1;
}
.hlv4-signs span {
  font-size:10px;
  letter-spacing:.05em;
}
.hlv4-signs a:hover {
  background:#f6f6f6;
}
.hlv4-text-link {
  display:inline-flex;
  align-items:center;
  gap:32px;
  font-size:10px;
  letter-spacing:.09em;
  border-bottom:1px solid #111;
  padding-bottom:8px;
}
.hlv4-text-link>span {
  font-size:17px;
  line-height:1;
  transition:transform .25s ease;
}
.hlv4-text-link:hover>span {
  transform:translateX(5px);
}
a:hover .hlv4-text-link>span {
  transform:translateX(5px);
}
.hlv4-services {
  border-top:1px solid var(--hlv4-line);
}
.hlv4-service-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:46px;
}
.hlv4-service-image {
  aspect-ratio:1/1;
  overflow:hidden;
  margin-bottom:29px;
}
.hlv4-service-image img {
  width:100%;
  height:100%;
  object-fit:contain;
  transition:transform .45s ease;
  padding:0;
}
.hlv4-service h3 {
  margin:0 0 20px;
  font-size:17px;
  font-weight:500;
  letter-spacing:.025em;
  line-height:1.7;
}
.hlv4-service p {
  font-size:11px;
  line-height:2.25;
  color:#666;
  margin-bottom:26px;
}
.hlv4-service>a {
  display:flex;
  flex-direction:column;
  height:100%;
}
.hlv4-service .hlv4-text-link {
  margin-top:auto;
  align-self:flex-start;
}
.hlv4-footer {
  border-top:1px solid var(--hlv4-line);
  padding:78px var(--hlv4-side-space) 36px;
}
.hlv4-footer-main {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:70px;
  width:min(100%,var(--hlv4-content-width));
  margin-inline:auto;
}
.hlv4-footer-brand {
  font-size:25px;
  font-weight:500;
  letter-spacing:.14em;
  line-height:1.4;
}
.hlv4-footer-nav {
  display:grid;
  grid-template-columns:repeat(3,auto);
  gap:25px 42px;
  font-size:10px;
  line-height:1.8;
}
.hlv4-footer-nav a:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
.hlv4-footer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  width:min(100%,var(--hlv4-content-width));
  margin:64px auto 0;
  font-size:9px;
  letter-spacing:.1em;
  color:#888;
}
.hlv4-footer-bottom a {
  color:#111;
}
@media (max-width:1100px) {
  .hlv4-header-right {
    gap:30px;
  }
  .hlv4-top-nav {
    gap:23px;
    font-size:10px;
  }
  .hlv4-articles {
    gap:32px;
  }
  .hlv4-service-grid {
    gap:28px;
  }
  .hlv4-footer-nav {
    gap:23px 27px;
  }
}
@media (max-width:850px) {
  :root {
    --hlv4-header-height: 88px
  ;
  }
  .hlv4-top-nav {
    display:none;
  }
  .hlv4-brand strong {
    font-size:26px;
  }
  .hlv4-brand small {
    font-size:8px;
  }
  .hlv4-menu-inner {
    gap:60px;
  }
  .hlv4-menu-nav>a {
    font-size:20px;
  }
  .hlv4-section {
    padding-block:95px;
  }
  .hlv4-service-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:65px 35px;
  }
  .hlv4-signs {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .hlv4-footer-main {
    flex-direction:column;
    gap:40px;
  }
}
@media (max-width:600px) {
  :root {
    --hlv4-header-height: 80px;
    --hlv4-side-space: 26px
  ;
  }
  .hlv4-header {
    gap:20px;
  }
  .hlv4-brand {
    gap:8px;
  }
  .hlv4-brand strong {
    font-size:22px;
    letter-spacing:.14em;
  }
  .hlv4-brand small {
    font-size:7px;
    letter-spacing:.15em;
  }
  .hlv4-menu>summary {
    width:40px;
    height:40px;
  }
  .hlv4-menu>summary>span {
    width:24px;
  }
  .hlv4-menu-panel {
    padding:33px 30px 55px;
  }
  .hlv4-menu-inner {
    grid-template-columns:1fr;
    gap:34px;
  }
  .hlv4-menu-nav>a {
    padding-block:23px;
    font-size:21px;
  }
  .hlv4-menu-secondary {
    padding-top:0;
  }
  .hlv4-search {
    margin-bottom:20px;
  }
  .hlv4-menu-legal {
    gap:20px;
    font-size:10px;
  }
  .hlv4-hero {
    min-height:480px;
  }
  .hlv4-slider-controls {
    bottom:24px;
  }
  .hlv4-slider-controls label {
    width:34px;
    height:36px;
  }
  .hlv4-section {
    padding-block:72px;
  }
  .hlv4-section-heading {
    margin-bottom:36px;
    gap:18px;
  }
  .hlv4-section-heading h2 {
    font-size:27px;
  }
  .hlv4-section-heading>a {
    font-size:9px;
  }
  .hlv4-card-meta {
    margin-top:22px;
    font-size:9px;
  }
  .hlv4-article h3 {
    font-size:15px;
    line-height:2;
    margin-top:13px;
  }
  .hlv4-signs {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .hlv4-signs a {
    gap:16px;
    padding:27px 8px;
  }
  .hlv4-signs b {
    font-size:clamp(10px,3vw,15px);
  }
  .hlv4-signs span {
    font-size:9px;
  }
  .hlv4-service-grid {
    grid-template-columns:1fr;
    gap:52px;
  }
  .hlv4-service-image {
    margin-bottom:24px;
  }
  .hlv4-service h3 {
    font-size:19px;
    margin-bottom:18px;
  }
  .hlv4-service p {
    font-size:12px;
    margin-bottom:24px;
  }
  .hlv4-footer {
    padding-top:58px;
    padding-bottom:28px;
  }
  .hlv4-footer-nav {
    grid-template-columns:1fr 1fr;
    gap:25px 24px;
  }
  .hlv4-footer-main {
    gap:35px;
  }
  .hlv4-footer-brand {
    font-size:22px;
  }
  .hlv4-footer-bottom {
    margin-top:44px;
    font-size:8px;
  }
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  * {
    transition:none!important;
  }
  *::before {
    transition:none!important;
  }
  *::after {
    transition:none!important;
  }
}
.hlv4-articles {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:44px;
  row-gap:68px;
}
.hlv4-horoscope {
  padding:0 0 116px;
  padding-top:128px;
}
@media (min-width:851px) {
  .hlv4-section-heading h2 {
    font-size:clamp(36px,3.4vw,48px);
  }
  .hlv4-section-heading>a {
    font-size:14px;
  }
  .hlv4-text-link {
    font-size:14px;
  }
  .hlv4-card-meta {
    font-size:12px;
    letter-spacing:.04em;
    gap:12px;
  }
  .hlv4-article h3 {
    font-size:18px;
    line-height:1.95;
  }
  .hlv4-service h3 {
    font-size:22px;
  }
  .hlv4-service p {
    font-size:15px;
    line-height:2.1;
  }
  .hlv4-footer-nav {
    font-size:13px;
  }
  .hlv4-footer-bottom {
    font-size:11px;
  }
  .hlv4-menu-secondary>a {
    font-size:15px;
  }
  .hlv4-search input {
    font-size:15px;
  }
  .hlv4-search button {
    font-size:13px;
  }
  .hlv4-menu-legal {
    font-size:13px;
  }
}
@media (max-width:850px) {
  .hlv4-horoscope {
    padding-top:95px;
  }
}
@media (max-width:600px) {
  .hlv4-articles {
    grid-template-columns:1fr;
    gap:47px;
    row-gap:47px;
  }
  .hlv4-horoscope {
    padding-bottom:72px;
    padding-top:72px;
  }
}
.hlv4-about {
  width:100%;
}
.hlv4-about-inner {
  width:100%;
}
.hlv4-about-row {
  position:relative;
  padding:112px 0 128px;
  background-image:linear-gradient(90deg,#eee 76%,transparent 76.01%);
  background-repeat:no-repeat;
  background-size:100% 100%;
  background-position:left 222px;
}
.hlv4-about-row[data-media-pos="left"] {
  background-image:linear-gradient(-90deg,#eee 76%,transparent 76.01%);
}
.hlv4-about-shell {
  width:min(100% - var(--hlv4-side-space)*2,var(--hlv4-content-width));
  margin-inline:auto;
}
.hlv4-about-label {
  margin:0 0 90px;
  font-size:clamp(42px,5vw,72px);
  font-weight:500;
  line-height:1.15;
  letter-spacing:.045em;
}
.hlv4-about-layout {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:clamp(48px,7vw,100px);
  align-items:start;
}
.hlv4-about-row[data-media-pos="left"] .hlv4-about-layout {
  grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
}
.hlv4-about-copy {
  min-width:0;
  padding:0 0 0 12px;
}
.hlv4-about-row[data-media-pos="left"] .hlv4-about-copy {
  grid-column:2;
  grid-row:1;
  padding:0 12px 0 0;
}
.hlv4-about-copy h2 {
  margin:0 0 48px;
  font-size:clamp(29px,2.9vw,44px);
  font-weight:500;
  line-height:1.7;
  letter-spacing:.035em;
}
.hlv4-about-copy p {
  margin:0;
  font-size:16px;
  line-height:2.2;
  letter-spacing:.025em;
}
.hlv4-about-copy>p+p {
  margin-top:24px;
}
.hlv4-about-image {
  min-width:0;
  margin:-10px -40px 0 0;
  overflow:hidden;
  background:#fff;
  box-shadow:20px 20px 30px rgb(0 0 0/8%);
}
.hlv4-about-image img {
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:contain;
}
.hlv4-about-row[data-media-pos="left"] .hlv4-about-image {
  grid-column:1;
  grid-row:1;
  margin:-10px 0 0-40px;
}
.hlv4-about-copy .hlv4-text-link {
  display:flex;
  justify-content:space-between;
  width:min(100%,335px);
  margin-top:54px;
  padding:23px 26px;
  border:0;
  background:#fff;
  box-shadow:10px 10px 20px rgb(0 0 0/8%);
  transition:color .25s ease,background .25s ease;
}
.hlv4-about-copy .hlv4-text-link:hover {
  color:#fff;
  background:#111;
}
.hlv4-navigate-list {
  list-style:none;
  margin:35px 0;
  padding:0;
}
.hlv4-navigate-list li+li {
  margin-top:28px;
}
.hlv4-navigate-list h3 {
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:0 0 10px;
  font-size:17px;
  font-weight:500;
  line-height:1.9;
}
.hlv4-check {
  flex-shrink:0;
  font-size:18px;
}
@media (max-width:1100px) and (min-width:851px) {
  .hlv4-about-layout {
    gap:48px;
  }
  .hlv4-about-image {
    margin-right:-25px;
  }
  .hlv4-about-row[data-media-pos="left"] .hlv4-about-image {
    margin-left:-25px;
  }
  .hlv4-about-copy h2 {
    font-size:30px;
  }
}
@media (max-width:850px) {
  .hlv4-about-row {
    padding:76px 0 86px;
    background-image:linear-gradient(0deg,#eee 76%,transparent 76.01%);
    background-position:left top;
  }
  .hlv4-about-row[data-media-pos="left"] {
    background-image:linear-gradient(0deg,#eee 76%,transparent 76.01%);
  }
  .hlv4-about-label {
    margin-bottom:45px;
    font-size:clamp(31px,5.7vw,48px);
  }
  .hlv4-about-layout {
    grid-template-columns:minmax(0,1fr);
    gap:46px;
  }
  .hlv4-about-row[data-media-pos="left"] .hlv4-about-layout {
    grid-template-columns:minmax(0,1fr);
    gap:46px;
  }
  .hlv4-about-image {
    grid-column:1;
    grid-row:1;
    width:min(100%,540px);
    margin:0 auto;
    box-shadow:12px 12px 24px rgb(0 0 0/8%);
  }
  .hlv4-about-row[data-media-pos="left"] .hlv4-about-image {
    grid-column:1;
    grid-row:1;
    width:min(100%,540px);
    margin:0 auto;
    box-shadow:12px 12px 24px rgb(0 0 0/8%);
  }
  .hlv4-about-copy {
    grid-column:1;
    grid-row:2;
    padding:0;
  }
  .hlv4-about-row[data-media-pos="left"] .hlv4-about-copy {
    grid-column:1;
    grid-row:2;
    padding:0;
  }
  .hlv4-about-copy h2 {
    margin-bottom:28px;
    font-size:28px;
  }
  .hlv4-about-copy p {
    font-size:13px;
    line-height:2.4;
  }
  .hlv4-navigate-list h3 {
    font-size:14px;
  }
  .hlv4-check {
    font-size:15px;
  }
  .hlv4-about-copy .hlv4-text-link {
    margin-top:36px;
    font-size:12px;
  }
}
@media (max-width:600px) {
  .hlv4-about-row {
    padding:64px 0 72px;
  }
  .hlv4-about-label {
    margin-bottom:36px;
    font-size:clamp(25px,6.3vw,36px);
    letter-spacing:.025em;
  }
  .hlv4-about-layout {
    gap:35px;
  }
  .hlv4-about-row[data-media-pos="left"] .hlv4-about-layout {
    gap:35px;
  }
  .hlv4-about-copy h2 {
    font-size:25px;
    line-height:1.8;
  }
  .hlv4-about-copy p {
    font-size:12px;
  }
  .hlv4-navigate-list h3 {
    font-size:13px;
  }
}
.hlv4-breadcrumbs a {
  text-decoration:none;
}
.hlv4-breadcrumbs a:hover {
  text-decoration:underline;
}
.hlv4-post {
  min-width:0;
}
.hlv4-demo-notice strong {
  font-weight:600;
}
.hlv4-entry-content>*:first-child {
  margin-top:0;
}
.hlv4-entry-content a {
  color:#315ac1;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
  transition:opacity .2s;
}
.hlv4-entry-content a:hover {
  opacity:.6;
  text-decoration-thickness: 2px;
}
.hlv4-entry-content strong {
  font-weight:700;
}
.hlv4-entry-content b {
  font-weight:700;
}
.hlv4-entry-content em {
  font-style:italic;
}
.hlv4-entry-content i {
  font-style:italic;
}
.hlv4-entry-content mark {
  color:inherit;
  background:#e9e9e9;
  padding:2px 4px;
}
.hlv4-entry-content small {
  font-size:.8em;
  color:#666;
}
.hlv4-entry-content sub {
  font-size:.7em;
  line-height:0;
}
.hlv4-entry-content sup {
  font-size:.7em;
  line-height:0;
}
.hlv4-entry-content abbr[title] {
  text-decoration:underline dotted;
  text-underline-offset:4px;
  cursor:help;
}
.hlv4-entry-content del {
  color:#777;
}
.hlv4-entry-content s {
  color:#777;
}
.hlv4-entry-content ins {
  text-decoration:underline;
  text-underline-offset:4px;
  background:#f2f2f2;
}
.hlv4-entry-content q {
  font-family:inherit;
}
.hlv4-entry-content li ul {
  margin:8px 0 16px;
}
.hlv4-entry-content li ol {
  margin:8px 0 16px;
}
.hlv4-entry-content li::marker {
  color:#555;
}
.hlv4-entry-content ol li::marker {
  font-family:inherit;
  font-weight:700;
  color:#111;
}
.hlv4-entry-content dl {
  margin:25px 0 32px;
}
.hlv4-entry-content dt {
  font-weight:700;
  margin-top:18px;
}
.hlv4-entry-content dd {
  margin:7px 0 0;
  padding-left:18px;
  border-left:1px solid #ddd;
  color:#555;
}
.hlv4-entry-content .wp-block-quote {
  position:relative;
  margin:32px 0;
  padding:29px 32px;
  background:#f6f6f6;
  border-left:3px solid #111;
}
.hlv4-entry-content blockquote p:last-of-type {
  margin-bottom:12px;
}
.hlv4-entry-content cite {
  font-size:11px;
  line-height:1.9;
  font-style:normal;
  color:#777;
}
.hlv4-entry-content blockquote footer {
  font-size:11px;
  line-height:1.9;
  font-style:normal;
  color:#777;
}
.hlv4-entry-content .wp-block-pullquote blockquote {
  border:0;
  background:none;
  padding:0;
  margin:0;
  font-family:inherit;
  font-size:21px;
  line-height:1.9;
}
.hlv4-entry-content .wp-block-pullquote cite {
  display:block;
  margin-top:18px;
  font-family:inherit;
}
.hlv4-entry-content .wp-block-separator {
  border:0;
  border-top:1px solid #ddd;
  margin:46px 0;
}
.hlv4-entry-content .wp-block-separator.is-style-dots {
  border:0;
  text-align:center;
}
.hlv4-entry-content .wp-block-separator.is-style-dots:before {
  content:"· · ·";
  font-size:24px;
  letter-spacing:8px;
}
.hlv4-entry-content code {
  font-family:inherit;
  font-size:.85em;
  background:#f2f2f2;
  border:1px solid #ddd;
  padding:2px 6px;
  letter-spacing:0;
}
.hlv4-entry-content pre {
  background:#181818;
  color:#fafafa;
  padding:24px;
  line-height:1.9;
  font-size:12px;
  overflow:auto;
  white-space:pre;
  letter-spacing:0;
  margin:28px 0;
}
.hlv4-entry-content pre code {
  color:inherit;
  background:none;
  border:0;
  padding:0;
  font-size:inherit;
}
.hlv4-entry-content kbd {
  border:1px solid #bbb;
  box-shadow:0 2px 0#ddd;
  background:white;
  border-radius:3px;
  padding:2px 6px;
  font-family:inherit;
  font-size:.8em;
}
.hlv4-entry-content samp {
  font-family:inherit;
}
.hlv4-entry-content figure img {
  display:block;
  width:100%;
}
.hlv4-entry-content .aligncenter {
  margin-inline:auto;
  max-width:85%;
}
.hlv4-entry-content .alignwide {
  max-width:none;
}
.hlv4-entry-content .alignfull {
  max-width:none;
}
.hlv4-entry-content .hlv4-image-link {
  display:block;
}
.hlv4-entry-content .wp-block-gallery figcaption {
  margin-top:7px;
}
.hlv4-entry-content table {
  width:100%;
  border-collapse:collapse;
  font-size:12px;
  line-height:1.8;
  letter-spacing:0;
  min-width:500px;
}
.hlv4-entry-content caption {
  text-align:left;
  font-size:11px;
  color:#666;
  caption-side:bottom;
  padding:13px 0;
}
.hlv4-entry-content td {
  border:1px solid #ddd;
  padding:16px;
  text-align:left;
  vertical-align:top;
}
.hlv4-entry-content thead {
  background:#111;
  color:white;
}
.hlv4-entry-content th {
  border:1px solid #ddd;
  padding:16px;
  text-align:left;
  vertical-align:top;
  font-weight:600;
}
.hlv4-entry-content tbody tr:nth-child(even) {
  background:#f7f7f7;
}
.hlv4-entry-content tfoot {
  background:#ededed;
  font-size:11px;
}
.hlv4-entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background:#fafafa;
}
.hlv4-toc summary {
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  list-style:none;
  font-size:13px;
  font-weight:600;
  line-height:1.8;
}
.hlv4-toc summary::-webkit-details-marker {
  display:none;
}
.hlv4-toc summary:after {
  content:"+";
  font-weight:400;
  font-size:21px;
}
.hlv4-toc[open] summary:after {
  content:"−";
}
.hlv4-entry-content .hlv4-toc ol {
  margin:18px 0 0;
  font-size:12px;
  line-height:1.9;
  padding-left:1.5em;
}
.hlv4-toc a {
  text-decoration:none;
}
.hlv4-toc li {
  margin:8px 0;
}
.hlv4-toc ol ol {
  margin-top:7px;
  color:#666;
}
.hlv4-callout {
  padding:25px 28px;
  background:#f6f6f6;
  border:1px solid #ddd;
  margin:28px 0;
}
.hlv4-callout.hlv4-dark {
  color:white;
  background:#111;
  border-color:#111;
}
.hlv4-callout strong {
  display:block;
  font-size:13px;
  margin-bottom:9px;
}
.hlv4-callout p {
  font-size:13px;
  margin:0;
}
.hlv4-entry-content .hlv4-callout.hlv4-dark a {
  color:white;
}
.hlv4-entry-content .wp-block-buttons {
  display:flex;
  flex-wrap:wrap;
  gap:13px;
  margin:28px 0;
}
.hlv4-entry-content .wp-block-button__link {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:48px;
  padding:13px 24px;
  color:white;
  background:#111;
  border:1px solid #111;
  text-decoration:none;
  font-size:12px;
  letter-spacing:.06em;
}
.hlv4-entry-content .is-style-outline .wp-block-button__link {
  background:white;
  color:#111;
}
.hlv4-embed-frame {
  position:relative;
  aspect-ratio:16/9;
  border:1px solid #ddd;
  background:#f6f6f6;
  overflow:hidden;
}
.hlv4-embed-frame iframe {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.hlv4-entry-content .wp-block-embed__wrapper {
  max-width:100%;
}
.hlv4-embed-vertical {
  max-width:340px;
  margin:auto;
  aspect-ratio:9/16;
}
.hlv4-embed-vertical iframe {
  width:100%;
  height:100%;
  border:1px solid #ddd;
  display:block;
}
.hlv4-entry-content .hlv4-embed-fallback {
  font-size:11px;
  margin:12px 0;
  color:#777;
}
.hlv4-entry-content video {
  display:block;
  width:100%;
  margin:0;
  max-width:100%;
  background:#111;
  aspect-ratio:16/9;
}
.hlv4-entry-content audio {
  display:block;
  width:100%;
  margin:0;
  max-width:100%;
  height:54px;
}
.hlv4-entry-content .hlv4-media-empty {
  font-size:11px;
  line-height:1.9;
  background:#fafafa;
  border:1px solid #ddd;
  padding:13px 18px;
  margin:0;
}
.hlv4-embed-link {
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  border:1px solid #ddd;
  text-decoration:none!important;
  margin:28px 0;
  overflow:hidden;
}
.hlv4-embed-link img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.hlv4-embed-link-body {
  padding:19px 22px;
}
.hlv4-embed-link-body small {
  display:block;
  font-size:10px;
  letter-spacing:1px;
  color:#777;
  margin-bottom:7px;
}
.hlv4-embed-link-body strong {
  display:block;
  font-size:14px;
  line-height:1.8;
}
.hlv4-embed-link-body p {
  font-size:11px;
  color:#777;
  line-height:1.8;
  margin:7px 0 0;
}
.hlv4-embed-social {
  border:1px solid #ddd;
  padding:24px;
  max-width:520px;
  margin:28px auto;
}
.hlv4-embed-social .hlv4-social-name {
  font-size:12px;
  letter-spacing:1px;
  padding-bottom:16px;
  border-bottom:1px solid #ddd;
}
.hlv4-embed-social p {
  font-size:13px;
  line-height:2;
  margin:18px 0;
}
.hlv4-embed-social footer {
  font-size:10px;
  color:#777;
}
.hlv4-entry-content .wp-block-details {
  padding:20px 23px;
  border:1px solid #ddd;
  margin:15px 0;
}
.hlv4-entry-content .wp-block-details summary {
  font-size:14px;
  font-weight:600;
  cursor:pointer;
}
.hlv4-entry-content .wp-block-details p {
  font-size:13px;
  margin:20px 0 0;
}
.hlv4-entry-content .wp-block-columns {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
  margin:28px 0;
}
.hlv4-entry-content .wp-block-column {
  padding:23px;
  border:1px solid #ddd;
  min-width:0;
}
.hlv4-entry-content .wp-block-column h4 {
  margin-top:0;
}
.hlv4-entry-content .wp-block-column p {
  font-size:13px;
  margin-bottom:0;
}
.hlv4-entry-content .wp-block-media-text {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
  align-items:center;
  margin:32px 0;
}
.hlv4-entry-content .wp-block-media-text figure {
  margin:0;
}
.hlv4-entry-content .wp-block-media-text h3 {
  margin:0 0 16px;
  border:0;
  padding:0;
  font-size:20px;
}
.hlv4-entry-content .wp-block-media-text p {
  font-size:13px;
  margin:0;
}
.hlv4-entry-content .wp-block-cover {
  position:relative;
  min-height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:white;
  background:#111;
  margin:32px 0;
  overflow:hidden;
}
.hlv4-entry-content .wp-block-cover>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hlv4-entry-content .wp-block-cover:after {
  content:"";
  position:absolute;
  inset:0;
  background:#0009;
}
.hlv4-entry-content .wp-block-cover__inner-container {
  position:relative;
  z-index:1;
  padding:32px;
  text-align:center;
}
.hlv4-entry-content .wp-block-cover p {
  font-family:inherit;
  font-size:24px;
  line-height:1.9;
  margin:0;
}
.hlv4-entry-content .wp-block-file {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  border:1px solid #ddd;
  padding:20px 23px;
  margin:28px 0;
  font-size:12px;
}
.hlv4-entry-content .wp-block-file small {
  display:block;
  margin-top:6px;
}
.hlv4-entry-content .wp-block-file__button {
  background:#111;
  color:white;
  padding:9px 18px;
  text-decoration:none;
  font-size:11px;
}
.hlv4-entry-content .wp-block-group {
  border:1px solid #ddd;
  padding:26px;
  margin:28px 0;
}
.hlv4-entry-content .wp-block-group h4 {
  margin-top:0;
}
.hlv4-entry-content .wp-block-spacer {
  height:32px;
}
.hlv4-float-demo:after {
  content:"";
  display:block;
  clear:both;
}
.hlv4-entry-content img.alignleft {
  float:left;
  max-width:40%;
  margin:7px 24px 12px 0;
}
.hlv4-entry-content img.alignright {
  float:right;
  max-width:40%;
  margin:7px 0 12px 24px;
}
.hlv4-entry-content .has-small-font-size {
  font-size:12px!important;
}
.hlv4-entry-content .has-large-font-size {
  font-size:23px!important;
  line-height:1.8!important;
}
.hlv4-entry-content .has-text-align-center {
  text-align:center;
}
.hlv4-entry-content .has-text-align-right {
  text-align:right;
}
.hlv4-post-tags a:hover {
  background:#111;
  color:white;
}
.hlv4-author-mark {
  flex:0 0 54px;
  width:54px;
  height:54px;
  border:1px solid #111;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:inherit;
  font-size:20px;
}
.hlv4-share>span {
  font-family:inherit;
  letter-spacing:2px;
  margin-right:5px;
}
.hlv4-share a:hover {
  background:#111;
  color:white;
}
.hlv4-related-grid a {
  text-decoration:none;
}
.hlv4-related-grid img {
  aspect-ratio:16/9;
  object-fit:cover;
  width:100%;
}
.hlv4-related-grid small {
  font-size:9px;
  color:#777;
}
.hlv4-side-box h2 small {
  font-family:inherit;
  font-size:9px;
  letter-spacing:1px;
  margin-left:9px;
  color:#777;
}
.hlv4-side-feature {
  text-decoration:none;
  display:block;
}
.hlv4-ranking {
  padding:0;
  margin:0;
  list-style:none;
  counter-reset:rank;
}
.hlv4-ranking li {
  counter-increment:rank;
  border-bottom:1px solid #ddd;
  padding:16px 0;
}
.hlv4-ranking li a {
  display:grid;
  grid-template-columns:24px 1fr;
  gap:8px;
  align-items:start;
  text-decoration:none;
  font-size:11px;
  line-height:1.9;
}
.hlv4-ranking li a:before {
  content:counter(rank,decimal-leading-zero);
  font-family:inherit;
  font-size:19px;
  line-height:1.3;
}
.hlv4-side-categories a {
  display:flex;
  justify-content:space-between;
  text-decoration:none;
  padding:13px 0;
  border-bottom:1px solid #ddd;
  font-size:11px;
}
@media (max-width:1100px) {
  .hlv4-sidebar {
    top:110px;
  }
}
@media (max-width:850px) {
  .hlv4-sidebar .hlv4-side-categories {
    display:none;
  }
  .hlv4-sidebar .hlv4-side-note {
    grid-column:1/-1;
  }
  .hlv4-post-title {
    font-size:34px;
  }
}
@media (max-width:600px) {
  .hlv4-entry-content h4 {
    font-size:16px;
  }
  .hlv4-entry-content h5 {
    font-size:14px;
  }
  .hlv4-entry-content h6 {
    font-size:12px;
  }
  .hlv4-entry-content .wp-block-pullquote blockquote {
    font-size:18px;
  }
  .hlv4-entry-content .aligncenter {
    max-width:100%;
  }
  .hlv4-entry-content .wp-block-gallery figcaption {
    font-size:10px;
  }
  .hlv4-entry-content th {
    padding:12px;
  }
  .hlv4-entry-content td {
    padding:12px;
  }
  .hlv4-callout {
    padding:22px;
  }
  .hlv4-entry-content .wp-block-columns {
    grid-template-columns:1fr;
    gap:16px;
  }
  .hlv4-entry-content .wp-block-media-text {
    grid-template-columns:1fr;
    gap:16px;
  }
  .hlv4-entry-content .wp-block-media-text img {
    aspect-ratio:16/9;
    object-fit:cover;
  }
  .hlv4-entry-content .wp-block-cover {
    min-height:240px;
  }
  .hlv4-entry-content .wp-block-cover p {
    font-size:21px;
  }
  .hlv4-entry-content img.alignleft {
    max-width:45%;
    margin-bottom:10px;
    margin-right:16px;
  }
  .hlv4-entry-content img.alignright {
    max-width:45%;
    margin-bottom:10px;
    margin-left:16px;
  }
  .hlv4-embed-link {
    grid-template-columns:90px 1fr;
  }
  .hlv4-embed-link-body {
    padding:15px;
  }
  .hlv4-embed-link-body strong {
    font-size:12px;
  }
  .hlv4-embed-link-body p {
    display:none;
  }
  .hlv4-entry-content .wp-block-button__link {
    padding:12px 18px;
    font-size:11px;
  }
  .hlv4-author-mark {
    flex-basis:42px;
    width:42px;
    height:42px;
    font-size:17px;
  }
  .hlv4-sidebar .hlv4-ranking {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 18px;
  }
}
.hlv4-post-meta-author img {
  flex:0 0 22px;
  width:22px;
  height:22px;
  border-radius:50%;
  object-fit:cover;
}
.hlv4-related-image {
  display:block;
  overflow:hidden;
  aspect-ratio:16/9;
  background:#f6f6f6;
}
.hlv4-related-grid .hlv4-related-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.hlv4-related-grid a:hover .hlv4-related-image img {
  transform:scale(1.06);
}
.hlv4-related-grid a:focus-visible .hlv4-related-image img {
  transform:scale(1.06);
}
@media (prefers-reduced-motion:reduce) {
  .hlv4-related-grid .hlv4-related-image img {
    transition:none;
  }
}
.hlv4-breadcrumbs {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin:38px 0 66px;
  font-size:9px;
  line-height:1.8;
  color:#666;
  letter-spacing:.03em;
}
.hlv4-layout {
  display:grid;
  grid-template-columns:minmax(0,820px) 260px;
  gap:clamp(60px,7vw,112px);
  align-items:start;
  padding-bottom:116px;
  justify-content:space-between;
}
.hlv4-post-header {
  margin:0 0 32px;
  margin-bottom:44px;
}
.hlv4-category {
  display:inline-block;
  background:transparent;
  color:#111;
  text-decoration:none;
  padding:0 0 9px;
  font-size:10px;
  letter-spacing:.08em;
  border-bottom:1px solid #111;
}
.hlv4-post-title {
  font-family:inherit;
  font-weight:500;
  font-size:clamp(29px,3vw,42px);
  line-height:1.75;
  letter-spacing:.035em;
  margin:28px 0 26px;
}
.hlv4-post-deck {
  font-size:13px;
  line-height:2.25;
  color:#666;
  margin:0 0 21px;
  margin-bottom:29px;
}
.hlv4-post-meta {
  display:flex;
  flex-wrap:wrap;
  gap:14px 24px;
  color:#666;
  font-size:10px;
  letter-spacing:.5px;
  align-items:center;
}
.hlv4-post-meta-author {
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.hlv4-post-meta-author .hlv4-post-meta-avatar {
  flex:0 0 22px;
  width:24px;
  height:24px;
  border-radius:50%;
  object-fit:cover;
  flex-basis:24px;
}
.hlv4-featured {
  margin:0 0 49px;
}
.hlv4-featured img {
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
.hlv4-featured figcaption {
  margin-top:14px;
  font-size:10px;
  line-height:2;
  color:#777;
}
.hlv4-demo-notice {
  border:1px solid #ddd;
  background:#fafafa;
  padding:20px 24px;
  font-size:11px;
  line-height:2;
  margin-bottom:46px;
  border-color:#e4e4e4;
}
.hlv4-entry-content {
  font-size:15px;
  line-height:2.3;
  letter-spacing:.03em;
  overflow-wrap:anywhere;
}
.hlv4-entry-content p {
  margin:0 0 26px;
  margin-bottom:32px;
}
.hlv4-entry-content .hlv4-lead {
  font-size:17px;
  line-height:2.3;
}
.hlv4-entry-content h2 {
  font-size:26px;
  line-height:1.65;
  letter-spacing:.025em;
  font-weight:500;
  margin:78px 0 32px;
  padding:0 0 18px;
  border-bottom:1px solid #111;
  padding-bottom:22px;
}
.hlv4-entry-content h3 {
  font-size:21px;
  line-height:1.7;
  margin:47px 0 26px;
  padding-left:19px;
  border-left:3px solid #111;
  font-weight:500;
  border-left-width:2px;
}
.hlv4-entry-content h4 {
  font-size:17px;
  line-height:1.8;
  margin:38px 0 22px;
  padding-bottom:11px;
  border-bottom:1px solid #ddd;
  font-weight:500;
}
.hlv4-entry-content h5 {
  font-size:15px;
  line-height:1.8;
  font-weight:700;
  margin:32px 0 19px;
}
.hlv4-entry-content h6 {
  font-size:13px;
  line-height:1.8;
  font-weight:700;
  letter-spacing:.12em;
  margin:29px 0 17px;
}
.hlv4-entry-content figure {
  margin:30px 0;
  margin-block:38px;
}
.hlv4-entry-content figure.wp-block-image img {
  height:auto;
}
.hlv4-entry-content figcaption {
  font-size:11px;
  line-height:2;
  color:#777;
  margin-top:14px;
  text-align:left;
}
.hlv4-entry-content .wp-block-gallery {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.hlv4-entry-content .wp-block-gallery img {
  aspect-ratio:16/9;
  object-fit:cover;
}
.hlv4-entry-content .wp-block-gallery figure {
  margin:0;
}
.hlv4-entry-content blockquote {
  position:relative;
  margin:32px 0;
  padding:32px 36px;
  background:#f6f6f6;
  border-left:3px solid #111;
  margin-block:40px;
  border-left-width:2px;
}
.hlv4-entry-content .wp-block-pullquote {
  margin:40px 0;
  padding:35px 28px;
  border-top:1px solid #111;
  border-bottom:1px solid #111;
  text-align:center;
  margin-block:47px;
}
.hlv4-entry-content hr {
  border:0;
  border-top:1px solid #ddd;
  margin:46px 0;
  margin-block:54px;
}
.hlv4-toc {
  border:1px solid #ddd;
  padding:28px 30px;
  margin:35px 0;
  margin-block:43px;
}
.hlv4-entry-content .hlv4-callout {
  margin-block:35px;
  padding:29px 32px;
}
.hlv4-entry-content .hlv4-callout p {
  margin-bottom:0;
}
.hlv4-entry-content .hlv4-embed-link p {
  margin:8px 0 0;
}
.hlv4-post-tags {
  border-top:1px solid #ddd;
  border-bottom:1px solid #ddd;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding:23px 0;
  margin-top:62px;
  padding-block:26px;
}
.hlv4-author {
  display:flex;
  gap:25px;
  align-items:flex-start;
  padding:32px;
  background:#f6f6f6;
  margin:32px 0;
  margin-block:42px;
}
.hlv4-author p {
  font-size:12px;
  line-height:2.15;
  color:#666;
  margin:0;
}
.hlv4-share {
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:30px 0;
  font-size:10px;
  margin-block:37px;
}
.hlv4-related {
  margin:65px 0 0;
}
.hlv4-related h2 {
  font-family:inherit;
  font-size:29px;
  font-weight:400;
  letter-spacing:1px;
  margin:0 0 35px;
}
.hlv4-related h2 small {
  font-family:inherit;
  font-size:10px;
  display:block;
  letter-spacing:2px;
  margin-top:12px;
}
.hlv4-related-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
.hlv4-related-grid .hlv4-related-image {
  aspect-ratio:16/9;
}
.hlv4-related-grid h3 {
  font-size:12px;
  line-height:2;
  margin:12px 0;
  font-weight:500;
  margin-top:18px;
}
.hlv4-sidebar {
  position:sticky;
  top:calc(var(--hlv4-header-height) + 38px);
}
.hlv4-side-box {
  margin-bottom:45px;
}
.hlv4-side-box h2 {
  font-family:inherit;
  font-size:21px;
  font-weight:400;
  letter-spacing:1px;
  border-bottom:1px solid #111;
  padding-bottom:18px;
  margin:0 0 18px;
  margin-bottom:22px;
}
.hlv4-side-feature img {
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
.hlv4-side-feature h3 {
  font-size:12px;
  line-height:1.9;
  margin:12px 0;
  margin-top:17px;
  font-weight:500;
}
.hlv4-side-note {
  font-size:10px;
  line-height:2;
  color:#777;
}
@media (max-width:1100px) {
  .hlv4-layout {
    grid-template-columns:minmax(0,1fr) 220px;
    gap:45px;
  }
  .hlv4-entry-content {
    font-size:14px;
  }
}
@media (max-width:850px) {
  .hlv4-layout {
    grid-template-columns:1fr;
    gap:72px;
    padding-bottom:85px;
  }
  .hlv4-sidebar {
    position:static;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px 45px;
  }
  .hlv4-side-box {
    margin:0;
  }
  .hlv4-breadcrumbs {
    margin-block:31px 50px;
  }
}
@media (max-width:600px) {
  .hlv4-breadcrumbs {
    margin:25px 0 37px;
    font-size:8px;
    gap:8px;
  }
  .hlv4-post-title {
    font-size:27px;
    line-height:1.8;
    letter-spacing:.01em;
    margin-top:18px;
    margin:22px 0 23px;
  }
  .hlv4-post-deck {
    font-size:12px;
    margin-bottom:24px;
  }
  .hlv4-post-header {
    margin-bottom:33px;
  }
  .hlv4-post-meta {
    font-size:9px;
    gap:11px 16px;
    line-height:1.8;
  }
  .hlv4-featured {
    margin:0 calc(var(--hlv4-side-space)*-1) 34px;
  }
  .hlv4-featured figcaption {
    padding:0 23px;
    font-size:9px;
    padding-inline:var(--hlv4-side-space);
    margin-top:12px;
  }
  .hlv4-demo-notice {
    padding:18px;
    font-size:10px;
    margin-bottom:34px;
  }
  .hlv4-entry-content {
    font-size:14px;
    line-height:2.25;
    letter-spacing:.015em;
  }
  .hlv4-entry-content p {
    margin-bottom:28px;
  }
  .hlv4-entry-content .hlv4-lead {
    font-size:15px;
    line-height:2.25;
  }
  .hlv4-entry-content h2 {
    font-size:21px;
    margin-top:57px;
    padding-bottom:19px;
    margin-bottom:28px;
  }
  .hlv4-entry-content h3 {
    font-size:18px;
    padding-left:13px;
    margin-top:36px;
    margin-bottom:22px;
  }
  .hlv4-entry-content .alignwide {
    width:calc(100% + var(--hlv4-side-space)*2);
    max-width:none;
    margin-left:-23px;
    margin-right:-23px;
    margin-inline:calc(var(--hlv4-side-space)*-1);
  }
  .hlv4-entry-content .alignfull {
    width:calc(100% + var(--hlv4-side-space)*2);
    max-width:none;
    margin-left:-23px;
    margin-right:-23px;
    margin-inline:calc(var(--hlv4-side-space)*-1);
  }
  .hlv4-entry-content .alignwide figcaption {
    padding-inline:var(--hlv4-side-space);
  }
  .hlv4-entry-content .alignfull figcaption {
    padding-inline:var(--hlv4-side-space);
  }
  .hlv4-entry-content .wp-block-gallery {
    gap:12px;
  }
  .hlv4-entry-content blockquote {
    padding:27px 23px;
  }
  .hlv4-toc {
    padding:23px;
    margin-block:35px;
  }
  .hlv4-entry-content .hlv4-callout {
    padding:23px;
  }
  .hlv4-author {
    padding:24px;
    gap:17px;
  }
  .hlv4-related h2 {
    font-size:26px;
    margin-bottom:29px;
  }
  .hlv4-related-grid {
    gap:35px;
    grid-template-columns:1fr;
  }
  .hlv4-related-grid a:last-child {
    display:block;
  }
  .hlv4-related-grid h3 {
    font-size:15px;
    margin-top:18px;
  }
  .hlv4-related-grid small {
    font-size:9px;
  }
  .hlv4-sidebar {
    gap:44px;
    grid-template-columns:1fr;
  }
  .hlv4-side-feature h3 {
    font-size:13px;
  }
  .hlv4-layout {
    padding-bottom:65px;
  }
}
.hlv4-archive {
  padding-top:0;
}
.hlv4-archive-heading {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:24px;
  margin:74px 0 64px;
}
.hlv4-archive-heading h1 {
  margin:0;
  font-weight:400;
  font-size:clamp(32px,4vw,48px);
  letter-spacing:.03em;
  line-height:1.3;
}
.hlv4-listing-count {
  flex-shrink:0;
  font-size:10px;
  color:var(--hlv4-muted);
  letter-spacing:.08em;
}
.hlv4-pagination {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:100px 0 0;
}
.hlv4-pagination a {
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border:1px solid var(--hlv4-line);
  font-size:12px;
  transition:background .2s,color .2s,border-color .2s;
}
.hlv4-pagination span {
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border:1px solid var(--hlv4-line);
  font-size:12px;
  transition:background .2s,color .2s,border-color .2s;
}
.hlv4-pagination a:hover {
  background:#111;
  color:white;
  border-color:#111;
}
.hlv4-pagination [aria-current="page"] {
  background:#111;
  color:white;
  border-color:#111;
}
.hlv4-pagination .hlv4-pager-disabled {
  color:#bbb;
  border-color:#eee;
}
@media (max-width:850px) {
  .hlv4-archive-heading {
    margin:58px 0 48px;
  }
  .hlv4-pagination {
    margin-top:76px;
  }
}
@media (max-width:600px) {
  .hlv4-archive-heading {
    margin:48px 0 42px;
  }
  .hlv4-pagination {
    gap:8px;
    margin-top:66px;
  }
  .hlv4-pagination a {
    width:40px;
    height:40px;
    font-size:11px;
  }
  .hlv4-pagination span {
    width:40px;
    height:40px;
    font-size:11px;
  }
}
.hlv4-kan-eyebrow {
  font-size:12px;
  letter-spacing:.18em;
  line-height:1.7;
}
.hlv4-kan-hero {
  position:relative;
  min-height:620px;
  height:calc(100svh - var(--hlv4-header-height));
  max-height:920px;
  background:#111;
  color:#fff;
  overflow:hidden;
}
.hlv4-kan-hero>img {
  position:absolute;
  inset:0;
  height:100%;
  object-fit:cover;
}
.hlv4-kan-hero::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgb(0 0 0/72%),rgb(0 0 0/12%) 80%);
}
.hlv4-kan-hero-copy {
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  height:100%;
  padding-block:90px;
}
.hlv4-kan-hero h1 {
  margin:28px 0 23px;
  font-size:clamp(48px,6.7vw,96px);
  line-height:1.3;
  font-weight:500;
  letter-spacing:.09em;
}
.hlv4-kan-hero-sub {
  font-size:18px;
  letter-spacing:.1em;
  line-height:2;
}
.hlv4-kan-actions {
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:45px;
}
.hlv4-kan-button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:20px 26px;
  min-width:230px;
  color:#111;
  background:#fff;
  border:1px solid #fff;
  font-size:14px;
  cursor:pointer;
  transition:color .2s,background .2s;
}
.hlv4-kan-button:hover {
  background:#111;
  color:#fff;
}
.hlv4-kan-button-outline {
  color:#fff;
  background:transparent;
}
.hlv4-kan-button-outline:hover {
  background:#fff;
  color:#111;
}
.hlv4-kan-links {
  display:flex;
  flex-wrap:wrap;
  gap:22px 45px;
  justify-content:center;
  padding:30px 26px;
  border-bottom:1px solid var(--hlv4-line);
  font-size:12px;
}
.hlv4-kan-links a:hover {
  text-decoration:underline;
  text-underline-offset:6px;
}
.hlv4-kan-section {
  padding-block:120px;
}
.hlv4-kan-heading {
  margin-bottom:55px;
}
.hlv4-kan-heading>p {
  font-size:clamp(30px,4vw,54px);
  letter-spacing:.045em;
  line-height:1.2;
}
.hlv4-kan-heading h2 {
  margin:19px 0 0;
  font-size:16px;
  font-weight:500;
  letter-spacing:.08em;
  line-height:1.8;
}
.hlv4-kan-intro {
  text-align:center;
}
.hlv4-kan-intro .hlv4-kan-heading {
  margin-bottom:45px;
}
.hlv4-kan-intro h3 {
  margin:0 0 35px;
  font-size:clamp(27px,3.2vw,43px);
  font-weight:500;
  line-height:1.7;
}
.hlv4-kan-prose {
  font-size:15px;
  line-height:2.2;
  letter-spacing:.025em;
}
.hlv4-kan-prose p+p {
  margin-top:22px;
}
.hlv4-kan-prose img {
  width:100%;
  height:auto;
  margin-block:34px;
}
.hlv4-kan-check-section {
  background:#111;
  color:#fff;
}
.hlv4-kan-check-layout {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:80px;
  align-items:start;
}
.hlv4-kan-check-layout .hlv4-kan-heading {
  margin-bottom:28px;
}
.hlv4-kan-check-box {
  padding:42px;
  background:#fff;
  color:#111;
}
.hlv4-kan-check-box label {
  display:block;
  margin-bottom:16px;
  font-size:15px;
}
.hlv4-kan-input-line {
  display:flex;
  gap:12px;
}
.hlv4-kan-input-line input {
  min-width:0;
  width:100%;
  border:1px solid #ccc;
  border-radius:0;
  padding:18px 15px;
  font-size:18px;
}
.hlv4-kan-input-line button {
  flex-shrink:0;
  background:#111;
  color:#fff;
  border:1px solid #111;
  padding:18px;
  font-size:14px;
  cursor:pointer;
}
.hlv4-kan-form-note {
  margin-top:19px;
  color:#777;
  font-size:11px;
  line-height:2;
}
.hlv4-kan-result {
  margin-top:18px;
  font-size:13px;
  line-height:2;
}
.hlv4-kan-result a {
  text-decoration:underline;
  text-underline-offset:5px;
}
.hlv4-kan-table {
  margin-top:65px;
  padding-top:40px;
  border-top:1px solid #555;
}
.hlv4-kan-table summary {
  cursor:pointer;
  font-size:17px;
}
.hlv4-kan-decades {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:30px;
}
.hlv4-kan-decades a {
  display:block;
  padding:18px 16px;
  border:1px solid #666;
  font-size:12px;
  line-height:1.8;
}
.hlv4-kan-decades a:hover {
  background:#fff;
  color:#111;
}
.hlv4-kan-type-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:40px 28px;
}
.hlv4-kan-type-card {
  min-width:0;
}
.hlv4-kan-type-image {
  aspect-ratio:16/9;
  overflow:hidden;
  background:#f7f7f7;
}
.hlv4-kan-type-image img {
  height:100%;
  object-fit:contain;
  transition:transform .4s;
}
.hlv4-kan-type-card:hover img {
  transform:scale(1.04);
}
.hlv4-kan-type-caption {
  display:flex;
  align-items:baseline;
  gap:14px;
  padding-top:18px;
}
.hlv4-kan-type-caption span {
  color:#888;
  font-size:10px;
}
.hlv4-kan-type-caption h3 {
  margin:0;
  font-size:15px;
  font-weight:500;
}
.hlv4-kan-thinking {
  background:#f5f5f5;
}
.hlv4-kan-thinking-intro {
  max-width:860px;
  margin-bottom:70px;
}
.hlv4-kan-foundations {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
.hlv4-kan-foundation {
  padding:36px 30px;
  background:#fff;
}
.hlv4-kan-foundation small {
  font-size:12px;
  letter-spacing:.12em;
  color:#888;
}
.hlv4-kan-foundation h3 {
  margin:24px 0;
  font-size:23px;
  font-weight:500;
}
.hlv4-kan-foundation .hlv4-kan-prose {
  font-size:14px;
  line-height:2.1;
}
.hlv4-kan-relation {
  background-image:linear-gradient(90deg,#eee 76%,transparent 76.01%);
  background-position:left 140px;
  background-repeat:no-repeat;
}
.hlv4-kan-relation .hlv4-kan-prose {
  max-width:920px;
}
.hlv4-kan-relation .hlv4-kan-prose>p:first-child {
  margin-bottom:42px;
}
.hlv4-kan-relation img {
  margin-top:0;
  box-shadow:18px 18px 28px rgb(0 0 0/8%);
}
.hlv4-kan-group-intro {
  max-width:860px;
  margin-bottom:60px;
}
.hlv4-kan-group-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px;
}
.hlv4-kan-group-card {
  border:1px solid var(--hlv4-line);
  padding:40px;
}
.hlv4-kan-group-card h3 {
  margin:0 0 30px;
  font-weight:500;
}
.hlv4-kan-group-card h3 img {
  max-width:360px;
  height:auto;
}
.hlv4-kan-rings {
  background:#eee;
}
.hlv4-kan-rings .hlv4-kan-prose {
  max-width:920px;
}
.hlv4-kan-rings .hlv4-kan-ring-group {
  list-style:none;
  padding:23px 28px;
  background:#fff;
  margin:16px 0;
  font-size:14px;
}
.hlv4-kan-symbols .hlv4-kan-prose {
  max-width:880px;
  margin-inline:auto;
}
.hlv4-kan-news {
  border-top:1px solid var(--hlv4-line);
}
.hlv4-kan-news-list {
  list-style:none;
  margin:0;
  padding:0;
}
.hlv4-kan-news-list li {
  display:grid;
  grid-template-columns:100px 1fr;
  gap:30px;
  align-items:baseline;
  padding-block:24px;
  border-bottom:1px solid var(--hlv4-line);
}
.hlv4-kan-news-list time {
  color:#888;
  font-size:11px;
}
.hlv4-kan-news-list a {
  font-size:15px;
  line-height:2;
}
.hlv4-kan-news-list a:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
.hlv4-kan-news>.hlv4-wrap>.hlv4-text-link {
  margin-top:40px;
}
.hlv4-kan-end {
  padding:90px 26px;
  text-align:center;
  background:#111;
  color:#fff;
}
.hlv4-kan-end h2 {
  font-size:clamp(25px,3vw,40px);
  font-weight:500;
  line-height:1.7;
  margin:0 0 30px;
}
@media (max-width:1000px) {
  .hlv4-kan-check-layout {
    gap:40px;
  }
  .hlv4-kan-check-box {
    padding:28px;
  }
  .hlv4-kan-input-line {
    flex-direction:column;
  }
  .hlv4-kan-foundations {
    grid-template-columns:1fr;
  }
  .hlv4-kan-type-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:850px) {
  .hlv4-kan-section {
    padding-block:88px;
  }
  .hlv4-kan-hero {
    min-height:570px;
  }
  .hlv4-kan-check-layout {
    grid-template-columns:1fr;
  }
  .hlv4-kan-input-line {
    flex-direction:row;
  }
  .hlv4-kan-decades {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .hlv4-kan-group-card {
    padding:28px;
  }
  .hlv4-kan-prose {
    font-size:14px;
  }
}
@media (max-width:600px) {
  .hlv4-kan-hero {
    min-height:600px;
  }
  .hlv4-kan-hero h1 {
    font-size:43px;
    letter-spacing:.06em;
  }
  .hlv4-kan-hero-sub {
    font-size:12px;
  }
  .hlv4-kan-actions {
    gap:12px;
    margin-top:35px;
  }
  .hlv4-kan-button {
    min-width:0;
    padding:17px 21px;
    font-size:12px;
  }
  .hlv4-kan-links {
    justify-content:flex-start;
    gap:18px 24px;
    padding:24px 26px;
    font-size:10px;
  }
  .hlv4-kan-section {
    padding-block:68px;
  }
  .hlv4-kan-heading {
    margin-bottom:36px;
  }
  .hlv4-kan-heading>p {
    font-size:29px;
  }
  .hlv4-kan-heading h2 {
    font-size:13px;
  }
  .hlv4-kan-prose {
    font-size:13px;
    line-height:2.2;
  }
  .hlv4-kan-check-box {
    padding:24px;
  }
  .hlv4-kan-input-line {
    flex-direction:column;
  }
  .hlv4-kan-form-note {
    font-size:10px;
  }
  .hlv4-kan-decades {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .hlv4-kan-decades a {
    padding:15px 12px;
    font-size:10px;
  }
  .hlv4-kan-type-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 16px;
  }
  .hlv4-kan-type-caption {
    gap:8px;
    padding-top:12px;
  }
  .hlv4-kan-type-caption h3 {
    font-size:11px;
  }
  .hlv4-kan-type-caption span {
    font-size:9px;
  }
  .hlv4-kan-foundation {
    padding:29px 25px;
  }
  .hlv4-kan-foundation .hlv4-kan-prose {
    font-size:13px;
  }
  .hlv4-kan-foundation h3 {
    font-size:21px;
  }
  .hlv4-kan-group-grid {
    grid-template-columns:1fr;
    gap:20px;
  }
  .hlv4-kan-rings .hlv4-kan-ring-group {
    padding:20px;
    font-size:12px;
  }
  .hlv4-kan-news-list li {
    grid-template-columns:1fr;
    gap:8px;
    padding-block:20px;
  }
  .hlv4-kan-news-list a {
    font-size:13px;
  }
  .hlv4-kan-end {
    padding-block:64px;
  }
}
body {
  margin:0;
  padding:0px;
  font-weight:400;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:100%;
  background:#fff;
  color:var(--hlv4-ink);
  font-family:"Poppins","Noto Sans JP",system-ui,-apple-system,"Segoe UI",Roboto,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.75;
  overflow-wrap:break-word;
  --hlv4-admin-offset: 0px;
}
a:link {
  text-decoration:none;
}
a:visited {
  text-decoration:none;
}
input {
  background:none;
  margin:0px;
  outline:none;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:16px;
  -webkit-appearance:none;
  font:inherit;
  font-family:inherit;
}
select {
  background:none;
  margin:0px;
  outline:none;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:16px;
  -webkit-appearance:none;
  font-family:inherit;
}
textarea {
  background-color:#fff;
  background-image:none;
  border:1px solid #ccc;
  box-shadow:0 1px 1px rgba(0,0,0,.075) inset;
  color:#9a9a9a;
  line-height:1.42857;
  padding:6px 12px;
  width:100%;
  transition:border-color .15s ease-in-out 0,box-shadow .15s ease-in-out 0;
  box-sizing:border-box;
  font-family:inherit;
}
button {
  background:none;
  margin:0;
  outline:none;
  padding:0px;
  font-weight:normal;
  border-top-style:none;
  border-right-style:none;
  border-bottom-style:none;
  border-left-style:none;
  list-style-type:none;
  font-size:16px;
  -webkit-appearance:none;
  cursor:pointer;
  font:inherit;
  font-family:inherit;
}
.screen-reader-text {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
.screen-reader-text:focus {
  position:static;
  width:auto;
  height:auto;
  clip-path:none;
}
.hlv4-header {
  position:sticky;
  top:var(--hlv4-admin-offset);
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  height:var(--hlv4-header-height);
  padding-inline:var(--hlv4-side-space);
  background:#fff;
  border-bottom:1px solid var(--hlv4-line);
}
.hlv4-menu-panel {
  position:fixed;
  inset:var(--hlv4-header-height)0 0;
  z-index:90;
  width:100%;
  height:calc(100dvh - var(--hlv4-header-height) - var(--hlv4-admin-offset));
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:72px var(--hlv4-side-space) 64px;
  background:#fff;
  border-top:1px solid var(--hlv4-line);
  top:calc(var(--hlv4-header-height) + var(--hlv4-admin-offset));
}
body.admin-bar {
  --hlv4-admin-offset: 32px;
}
body.admin-bar #wpadminbar {
  position:fixed;
}
.hlv4-breadcrumbs ol {
  display:flex;
  flex-wrap:wrap;
  gap:0;
  list-style:none;
  padding:0;
  margin:0;
}
.hlv4-breadcrumbs li {
  display:inline-flex;
  align-items:center;
}
.hlv4-breadcrumbs li+li::before {
  content:"/";
  color:#aaa;
  margin:0 12px;
}
.hlv4-one-column .hlv4-layout {
  display:block;
  width:min(100%,880px);
  margin-inline:auto;
}
.hlv4-one-column .hlv4-post {
  width:100%;
}
.hlv4-author>a {
  width:76px;
  flex-shrink:0;
}
.hlv4-author>a img {
  width:76px;
  height:76px;
  object-fit:cover;
  border-radius:50%;
}
.hlv4-author h2 {
  font-size:17px;
  margin:0 0 12px;
}
.hlv4-author-social {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:16px;
  font-size:11px;
}
.hlv4-share a {
  border:1px solid #ddd;
  padding:10px 15px;
  text-decoration:none;
  font-size:12px;
}
.hlv4-post-tags a {
  text-decoration:none;
  border:1px solid #ddd;
  padding:7px 11px;
  font-size:10px;
  display:inline-block;
}
.hlv4-page-link {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin-block:45px;
}
.hlv4-page-link a {
  border:1px solid #ddd;
  padding:10px 16px;
}
.hlv4-page-link>span {
  border:1px solid #ddd;
  padding:10px 16px;
}
.hlv4-page-link [aria-current="page"] {
  background:#111;
  color:#fff;
  border-color:#111;
}
.hlv4-video-wrap {
  aspect-ratio:16/9;
  margin-block:35px;
}
.hlv4-video-wrap iframe {
  width:100%;
  height:100%;
  border:0;
}
.hlv4-archive-description {
  max-width:880px;
  margin-bottom:50px;
}
.hlv4-empty {
  padding-block:65px;
  grid-column:1/-1;
}
.hlv4-empty h1 {
  font-size:32px;
  margin-block:25px;
}
.hlv4-empty .hlv4-search {
  max-width:500px;
  margin-top:35px;
}
.hlv4-entry-content .wp-block-table {
  max-width:100%;
  overflow:auto;
  margin:28px 0;
  overflow-x:auto;
}
.hlv4-entry-content ul {
  padding-left:1.6em;
  margin:22px 0 30px;
  list-style:disc;
}
.hlv4-entry-content ol {
  padding-left:1.6em;
  margin:22px 0 30px;
  list-style:decimal;
}
.hlv4-entry-content li {
  padding-left:.2em;
  margin:8px 0;
  list-style:inherit;
}
.hlv4-kan-prose ul {
  padding-left:1.4em;
  margin:25px 0;
  list-style:disc;
}
.hlv4-kan-prose li {
  list-style:inherit;
}
.hlv4-legacy-lp {
  width:100%;
}
.hlv4-legacy-hero-image {
  position:absolute;
  inset:0;
}
.hlv4-legacy-hero-image img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.hlv4-legacy-hero-title {
  margin:28px 0 24px;
  font-size:clamp(37px,5vw,74px);
  font-weight:500;
  line-height:1.5;
  letter-spacing:.05em;
}
.hlv4-legacy-title {
  margin:0 0 50px;
  font-size:clamp(24px,3vw,38px);
  font-weight:500;
  line-height:1.8;
}
.hlv4-legacy-title::before {
  display:block;
  content:attr(title);
  margin-bottom:18px;
  font-size:clamp(28px,4vw,50px);
  font-weight:400;
  letter-spacing:.06em;
  line-height:1.3;
}
.hlv4-legacy-lead {
  font-size:clamp(24px,3vw,38px);
  margin-bottom:35px;
}
.hlv4-legacy-content {
  width:min(100% - var(--hlv4-side-space)*2,900px);
  margin-inline:auto;
}
.hlv4-legacy-content .hlv4-entry-content {
  padding-block:60px;
}
.hlv4-legacy-check {
  padding-block:70px;
  background:#eee;
}
.hlv4-legacy-type-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:30px;
  padding:0;
  margin:0;
  list-style:none;
}
.hlv4-legacy-type-grid a {
  display:block;
  overflow:hidden;
}
.hlv4-legacy-type-grid img {
  width:100%;
  aspect-ratio:16/9;
  object-fit:contain;
  transition:transform .4s;
}
.hlv4-legacy-type-grid a:hover img {
  transform:scale(1.04);
}
.hlv4-legacy-more {
  text-align:center;
  margin-top:45px;
}
.hlv4-legacy-more a {
  display:inline-flex;
  gap:20px;
  padding:15px 0;
  border-bottom:1px solid #111;
}
.hlv4-kan-intro .hlv4-kan-prose {
  max-width:860px;
  margin-inline:auto;
}
.hlv4-magazine-hero {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:80px;
  align-items:center;
}
.hlv4-magazine-hero h1 {
  font-size:clamp(33px,4vw,58px);
  font-weight:500;
  line-height:1.5;
  margin:28px 0;
}
.hlv4-magazine-hero p {
  font-size:15px;
  line-height:2.2;
  margin-bottom:25px;
}
.hlv4-magazine-hero>img {
  max-width:440px;
  margin-inline:auto;
}
.hlv4-magazine-hero .hlv4-kan-button {
  background:#111;
  color:#fff;
  margin-bottom:25px;
}
.hlv4-magazine-hero .hlv4-magazine-note {
  font-size:11px;
  color:#777;
}
.hlv4-signup {
  border-top:1px solid #ddd;
  text-align:center;
}
.hlv4-signup h2 {
  font-size:clamp(26px,3vw,40px);
  font-weight:500;
  margin-bottom:25px;
}
.hlv4-signup>p {
  line-height:2;
  margin-bottom:40px;
}
.hlv4-signup .formkit-form {
  margin-inline:auto;
  background:#fff!important;
  border-radius:0!important;
}
.hlv4-signup .formkit-submit {
  background:#111!important;
  border-radius:0!important;
}
.hlv4-kan-check-box .kan-type-checker {
  max-width:none;
  margin:0;
}
.hlv4-kan-check-box .kan-title {
  font-size:22px;
  font-weight:500;
  margin:0 0 24px;
}
.hlv4-kan-check-box .kan-form {
  padding:0;
  border:0;
  border-radius:0;
  background:#fff;
}
.hlv4-kan-check-box .kan-row {
  gap:12px;
}
.hlv4-kan-check-box .kan-input {
  min-width:0;
  flex:1 1 230px;
}
.hlv4-kan-check-box .kan-input input {
  color:#111;
  border-radius:0;
  padding:18px 15px;
  box-shadow:none;
  font-size:16px;
}
.hlv4-kan-check-box .kan-btn {
  background:#111;
  color:#fff;
  border-radius:0;
  padding:18px;
  font-size:14px;
  margin:0;
}
.hlv4-kan-check-box .kan-result {
  background:#eee;
  color:#111;
  border-color:#ddd;
  border-radius:0;
}
.hlv4-kan-check-box .kan-error {
  background:#eee;
  color:#111;
  border-color:#ddd;
  border-radius:0;
}
.hlv4-kan-check-box .kan-result a {
  text-decoration:underline;
  text-underline-offset:4px;
}
.hlv4-entry-content .kan-table-wrap {
  width:100%;
  overflow-x:auto;
}
.hlv4-entry-content .kan-year-table {
  min-width:640px;
}
@media (max-width:850px) {
  .hlv4-legacy-type-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
  }
  .hlv4-magazine-hero {
    grid-template-columns:1fr;
    gap:45px;
  }
  .hlv4-magazine-hero>img {
    max-width:300px;
  }
}
@media (max-width:782px) {
  body.admin-bar {
    --hlv4-admin-offset: 46px;
  }
}
@media (max-width:600px) {
  .hlv4-author h2 {
    font-size:15px;
  }
  .hlv4-author>a {
    width:56px;
    height:56px;
  }
  .hlv4-author>a img {
    width:56px;
    height:56px;
  }
  .hlv4-legacy-type-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px 16px;
  }
  .hlv4-legacy-hero-title {
    font-size:34px;
  }
  .hlv4-magazine-hero p {
    font-size:13px;
  }
  .hlv4-breadcrumbs li+li::before {
    margin-inline:8px;
  }
}

/* Existing function-generated table of contents and link cards, scoped to entry content. */
.hlv4-entry-content .outline { position: relative; margin: 42px 0; padding: 28px 30px; border: 1px solid #ddd; background: #fafafa; }
.hlv4-entry-content .outline .outline__title { font-size: 16px; font-weight: 500; margin: 0 0 20px; padding-right: 70px; }
.hlv4-entry-content .outline__toggle { position: absolute; opacity: 0; width: 1px; height: 1px; }
.hlv4-entry-content .outline__switch { position: absolute; right: 30px; top: 29px; cursor: pointer; font-size: 11px; }
.hlv4-entry-content .outline__switch::after { content: "開く"; }
.hlv4-entry-content .outline__toggle:checked + .outline__switch::after { content: "閉じる"; }
.hlv4-entry-content .outline__toggle:focus-visible + .outline__switch { outline: 2px solid #111; outline-offset: 5px; }
.hlv4-entry-content .outline__toggle:not(:checked) ~ .outline__list { display: none; }
.hlv4-entry-content .outline .outline__list { list-style: none; padding: 0; margin: 0; }
.hlv4-entry-content .outline .outline__item { list-style: none; margin: 8px 0; font-size: 13px; line-height: 1.9; }
.hlv4-entry-content .outline .outline__list-3 { margin: 9px 0 12px 18px; }
.hlv4-entry-content .outline a { text-decoration: none; }
.hlv4-entry-content .outline a:hover { text-decoration: underline; }
.hlv4-entry-content .outline__number { color: #888; margin-right: 7px; }
.hlv4-entry-content .b-card { margin: 35px 0; border: 1px solid #ddd; background: #fff; }
.hlv4-entry-content .b-card > a { display: grid; grid-template-columns: 178px minmax(0,1fr); gap: 22px; padding: 22px; text-decoration: none; }
.hlv4-entry-content .b-card-thumbnail { min-width: 0; aspect-ratio: 16 / 9; overflow: hidden; }
.hlv4-entry-content .b-card-thumbnail img { width: 100%; height: 100%; object-fit: cover; margin: 0; }
.hlv4-entry-content .b-card-title { font-size: 15px; font-weight: 500; line-height: 1.8; }
.hlv4-entry-content .b-card-excerpt { font-size: 11px; line-height: 1.9; color: #777; margin-top: 10px; }
.hlv4-entry-content .b-card .clear { display: none; }
.hlv4-entry-content .quick-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 0; list-style: none; }
.hlv4-entry-content .quick-list li { list-style: none; border: 1px solid #ddd; padding: 15px; font-size: 12px; }
@media (max-width: 600px) {
  .hlv4-entry-content .outline { padding: 23px; }
  .hlv4-entry-content .outline__switch { right: 23px; top: 24px; }
  .hlv4-entry-content .b-card > a { grid-template-columns: 1fr; gap: 15px; padding: 20px; }
  .hlv4-entry-content .quick-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Preserve button contrast against the original reset's link pseudo-classes. */
.hlv4-kan-button:link, .hlv4-kan-button:visited { color: #111; }
.hlv4-kan-button:link:hover, .hlv4-kan-button:visited:hover { color: #fff; background: #111; }
.hlv4-kan-button-outline:link, .hlv4-kan-button-outline:visited { color: #fff; }
.hlv4-kan-button-outline:link:hover, .hlv4-kan-button-outline:visited:hover { color: #111; background: #fff; }
.hlv4-magazine-hero .hlv4-kan-button:link, .hlv4-magazine-hero .hlv4-kan-button:visited { color: #fff; }

/* 記事ページ全体の幅と中央配置 */
.hlv4-page {
  width: min(
    calc(100% - var(--hlv4-side-space) * 2),
    1128px
  );
  margin-inline: auto;
  padding: 0;
}

/* PC：本文＋サイドバー */
@media (min-width: 851px) {
  .hlv4-page:not(.hlv4-one-column) .hlv4-layout {
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 48px;
    justify-content: start;
  }
}

/* 小さめのPC画面 */
@media (min-width: 851px) and (max-width: 1100px) {
  .hlv4-page:not(.hlv4-one-column) .hlv4-layout {
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 40px;
  }
}

/* スライダー：画像に重ねる文字 */
.hlv4-slide-has-caption::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgb(0 0 0 / 58%),
    rgb(0 0 0 / 20%) 65%,
    rgb(0 0 0 / 6%)
  );
  pointer-events: none;
}

.hlv4-slide-caption {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  padding: 50px var(--hlv4-side-space, 48px) 115px;
  color: #fff;
  text-align: left;
}

.hlv4-slide-caption-inner {
  width: min(100%, 1280px);
  max-height: 100%;
  margin-inline: auto;
  overflow-y: auto;
  overflow-wrap: anywhere;
}

.hlv4-slide-caption .hlv4-slide-title {
  max-width: 20em;
  margin: 0;
  color: #fff;
  font-size: clamp(34px, 4.2vw, 64px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: .04em;
  white-space: pre-line;
  text-shadow: 0 2px 16px rgb(0 0 0 / 22%);
}

.hlv4-slide-caption .hlv4-slide-text {
  max-width: 48em;
  margin: 25px 0 0;
  color: #fff;
  font-size: clamp(15px, 1.4vw, 20px);
  line-height: 2;
  letter-spacing: .04em;
  white-space: pre-line;
  text-shadow: 0 1px 10px rgb(0 0 0 / 25%);
}

.hlv4-slide-caption .hlv4-slide-text:first-child {
  margin-top: 0;
}

@media (max-width: 600px) {
  .hlv4-slide-caption {
    padding: 32px 26px 100px;
  }

  .hlv4-slide-caption .hlv4-slide-title {
    font-size: clamp(25px, 6.8vw, 34px);
    line-height: 1.75;
    letter-spacing: .025em;
  }

  .hlv4-slide-caption .hlv4-slide-text {
    margin-top: 20px;
    font-size: 14px;
    letter-spacing: .025em;
  }
}

.moon-image-grid{
	display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.moon-image-grid li{
	width: calc(50% - 8px);
    box-sizing: border-box;
	list-style-type: none;
}