html { scroll-behavior: smooth; font-family: 'Noto Sans JP', sans-serif !important; scroll-padding-top: 130px; overflow-x: hidden; }
body { overflow-x: hidden; width: 100%; -webkit-text-size-adjust: 100%; }
.text-stroke-blue { text-shadow: 2px 2px 0 #004B93, -2px -2px 0 #004B93, 2px -2px 0 #004B93, -2px 2px 0 #004B93, 0 2px 0 #004B93, 0 -2px 0 #004B93, 2px 0 0 #004B93, -2px 0 0 #004B93; }
.text-stroke-white { text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, 3px -3px 0 #fff, -3px 3px 0 #fff, 0 3px 0 #fff, 0 -3px 0 #fff, 3px 0 0 #fff, -3px 0 0 #fff; }
@keyframes bounce-small { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
.animate-bounce-small { animation: bounce-small 2s infinite ease-in-out; }
@keyframes float { 0%,100%{transform:translateY(0) rotate(0deg)} 50%{transform:translateY(-8px) rotate(2deg)} }
.animate-float { animation: float 4s infinite ease-in-out; }
@keyframes wiggle { 0%,100%{transform:rotate(-3deg)} 50%{transform:rotate(3deg)} }
.animate-wiggle { animation: wiggle 2.5s ease-in-out infinite; }
@keyframes fadeInUp { from{opacity:0;transform:translateY(15px)} to{opacity:1;transform:translateY(0)} }
.animate-fade-in-up { animation: fadeInUp 0.5s ease-out forwards; }
.accordion-content { max-height:0; overflow:hidden; transition: max-height 0.3s ease-out, padding 0.3s ease-out; }
.accordion-content.open { max-height:500px; transition: max-height 0.4s ease-in, padding 0.4s ease-in; }
.custom-scrollbar::-webkit-scrollbar { width:8px; }
.custom-scrollbar::-webkit-scrollbar-track { background:#f1f5f9; border-radius:8px; }
.custom-scrollbar::-webkit-scrollbar-thumb { background:#cbd5e1; border-radius:8px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background:#94a3b8; }

/* WPページネーション */
.navigation.pagination { display:flex; justify-content:center; }
.navigation.pagination .nav-links { display:flex; gap:0.5rem; align-items:center; }
.navigation.pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:2.5rem; height:2.5rem; padding:0 0.75rem; border-radius:9999px; font-weight:900; font-size:0.875rem; border:2px solid #cbd5e1; color:#334155; background:#fff; transition:all 0.15s; }
.navigation.pagination .page-numbers:hover { border-color:#004B93; color:#004B93; background:#EBF4FC; }
.navigation.pagination .page-numbers.current { background:#004B93; color:#fff; border-color:#004B93; }
.navigation.pagination .prev,.navigation.pagination .next { font-size:0.75rem; }

/* line-clamp */
.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.line-clamp-3 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* 投稿本文の基本スタイル（Tailwind Typography プラグインが無い場合のフォールバック） */
.prose h2 { font-size:1.5rem; margin-top:2.5rem; margin-bottom:1rem; }
.prose h3 { font-size:1.25rem; margin-top:2rem; margin-bottom:0.75rem; }
.prose p { margin-bottom:1.25rem; }
.prose ul,.prose ol { margin-bottom:1.25rem; padding-left:1.5rem; }
.prose li { margin-bottom:0.5rem; }
.prose img { margin:1.5rem 0; }
.prose blockquote { border-left:4px solid #004B93; padding-left:1rem; margin:1.5rem 0; color:#475569; font-style:italic; }
