:root {
  --fc2-gap: 16px;
  --fc2-radius: 14px;
  --fc2-shadow: 0 2px 12px rgba(0,0,0,.08);
  --fc2-dur: 360ms;
  --fc2-slider-nav-zoom:1;
  --fc2-slider-track-height:0;
  --fc2-slider-nav-light:#fff;
	
  --fc2-slider-snap-align:center;
  --fc2-slider-item-width:100%;
  --fc2-slider-item-gap:1rem;
  --fc2-slider-item-reveal:0rem;
  --fc2-slider-item-count:1;
  --fc2-slider-nav-dark:#333;
  --fc2-slider-track-opacity:0.1;
  --fc2-slider-nav-outside-size:3.5rem;
  --fc2-slider-indicator-outside-size:1.5rem;
  --fc2-slider-animation-duration:.75s;
  --fc2-slider-animation-delay:0s;
  --fc2-slider-animation-timing:ease-in-out;
}

.fc2-slider, 
.fc2-slider::after,
.fc2-slider::before { box-sizing:border-box; }

.fc2-slider ::-webkit-scrollbar { height:var(--fc2-slider-track-height); }

.slider-nav {
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  border:0;
  background-color:transparent;
  cursor:pointer;
  padding:0;
  opacity:0.8;
  transition:visibility 0.1s,opacity 0.2s linear;
  margin-bottom:var(--fc2-slider-track-height);
  display:flex;
  align-items:center;
  padding:0 .5rem;
  filter:drop-shadow(0 0 .5rem rgba(0,0,0,.5));
  transform:scale(var(--fc2-slider-nav-zoom));
  height:100%;
}

.slider-nav::before {
  position:absolute;
  content:"";
  padding:.5rem;
  width:3rem;
  height:3rem;
}

.slider-nav::after {
  content:"";
  mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'></path></svg>");
  mask-size:cover;
  background-color:var(--fc2-slider-nav-light);
  background-origin:content-box;
  width:3rem;
  height:3rem;
}

.slider-nav-arrow .slider-nav::after { mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M12 8a.5.5 0 0 1-.5.5H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5a.5.5 0 0 1 .5.5z'></path></svg>"); }

.slider-nav-chevron .slider-nav::after { mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M9.224 1.553a.5.5 0 0 1 .223.67L6.56 8l2.888 5.776a.5.5 0 1 1-.894.448l-3-6a.5.5 0 0 1 0-.448l3-6a.5.5 0 0 1 .67-.223z'></path></svg>"); }

.slider-nav-caret .slider-nav::after { mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path d='M10 12.796V3.204L4.519 8 10 12.796zm-.659.753-5.48-4.796a1 1 0 0 1 0-1.506l5.48-4.796A1 1 0 0 1 11 3.204v9.592a1 1 0 0 1-1.659.753z'></path></svg>"); }

.slider-nav-caretfill .slider-nav::after { mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path d='m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z'></path></svg>"); }

.fc2-slider:hover .slider-nav { visibility:visible; }

.fc2-slider .slider-nav { visibility:hidden; }

.fc2-slider .slider-nav:hover { opacity:1; }

.slider-nav { padding:0; }

.slider-nav::before { background-color:var(--fc2-slider-nav-light); }

.slider-nav::after {
  background-color:var(--fc2-slider-nav-dark);
  width:2rem;
  height:2rem;
  margin:.5rem;
  margin:1rem;
}

.slider-nav::before { border-radius:50%; }

.slider-nav.slider-nav-next::after { transform:rotate(180deg); }

.slider-nav.slider-nav-next {
  right:0;
  left:unset;
}

.slider-nav-visible .slider-nav { visibility:visible; }

.fc2-slider-nav-outside .fc2-carousel { margin:0 var(--fc2-slider-nav-outside-size); }

.fc2-slider-nav-outside .slider-nav { margin-left:-1rem; }

.fc2-slider-nav-outside .slider-nav.slider-nav-next { margin-right:-1rem; }


.fc2-wrap {
  /* max-width: 1100px; */
  max-width: 100%;
  margin: 32px auto;
  padding: 0 16px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #111;
}

.fc2-status {
  margin: 8px 0 16px;
  color: #555;
}

.fc2-alert {
  background: #fff3f3;
  color: #9a1c1c;
  border: 1px solid #f0c2c2;
  padding: 10px 12px;
  border-radius: 10px;
}

.fc2-carousel { position: relative; }
.fc2-viewport { overflow: hidden; width: 100%; }
.fc2-track {
  display: grid;
  grid-auto-flow: column;
  gap: var(--fc2-gap);
  transition: transform var(--fc2-dur) ease;
  will-change: transform;
}

.fc2-card {
  background: #fff;
  border-radius: var(--fc2-radius);
  overflow: hidden;
  box-shadow: var(--fc2-shadow);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.fc2-thumb {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  background: #e9ecef;
  display: block;
}

.fc2-body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
}

.fc2-title { font-size: 1.05rem; line-height: 1.25; margin: 0; }
.fc2-date  { color: #666; font-size: .95rem; }
.fc2-desc  {
  color: #222;
  font-size: .98rem;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fc2-cta { margin-top: auto; font-weight: 600; text-decoration: none; color: #0b5bd3; }

/* Round, centered nav buttons */
.fc2-nav-btn {
  position: absolute;
  /* top: 50%; */
  top: 7%;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  border-radius: 50%;
  /* border: none; */
  border: 1px solid rgba(0, 82, 156, 0.90);
  background: rgba(255,255,255,0.9);
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
  /* color: #111; */
  color: rgb(0, 82, 156);
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  transition: background 0.2s ease;
  padding-bottom:3px;
  font-family: Roboto, Arial, system-ui, -apple-system, Segoe UI, sans-serif;
  font-weight:200;
}

/* .fc2-nav-btn:hover { background: rgba(240,240,240,0.95); } */
/* .fc2-nav-btn:disabled { opacity: .4; cursor: not-allowed; } */
.fc2-nav-btn:hover { background: rgba(0, 82, 156, 0.90); color: white; border: 1px solid white; }
.fc2-nav-btn:disabled { visibility:hidden; opacity: .4; cursor: not-allowed; }

.slider-nav:disabled { visibility:hidden !important; cursor: not-allowed; }

/* .fc2-prev { left: -10px; } */
/* .fc2-next { right: -10px; } */ 
.fc2-prev { left: -20px; padding-right:8px; }
.fc2-prev { left: -5px; padding-right:8px; }

.fc2-next { right: -20px; padding-left:8px; }

@media (max-width: 640px) {
  .fc2-prev { left: 4px; }
  .fc2-next { right: 4px; }
}	

.fc2-viewport { touch-action: pan-y; }       /* already present? keep it */
.fc2-track.fc2--no-transition { transition: none !important; }
.fc2-track.fc2--grabbing { cursor: grabbing; }
