.image-loading{opacity:0;transition:opacity .3s ease-in-out;background-color:#f5f5f5;position:relative}.image-loaded{opacity:1;background-color:transparent}img[data-preload]{position:relative;background-color:#f0f0f0;border:1px solid #e0e0e0;border-radius:4px}img[data-preload].image-loaded{border:none;background-color:transparent}.image-placeholder{position:relative;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:placeholder-loading 1.5s infinite;border-radius:4px}@keyframes placeholder-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.ast-header .custom-logo-link img,.ast-header .site-logo img{transition:opacity .3s ease-in-out}.ast-header .custom-logo-link img.image-loading,.ast-header .site-logo img.image-loading{opacity:.3}.ast-header .custom-logo-link img.image-loaded,.ast-header .site-logo img.image-loaded{opacity:1}.elementor-widget-image img{transition:opacity .4s ease-in-out}.elementor-widget-image img.image-loading{opacity:0;transform:scale(.95)}.elementor-widget-image img.image-loaded{opacity:1;transform:scale(1)}.post-thumbnail img,.ast-featured-img img{transition:all .4s ease-in-out}.post-thumbnail img.image-loading,.ast-featured-img img.image-loading{opacity:0;transform:scale(.95)}.post-thumbnail img.image-loaded,.ast-featured-img img.image-loaded{opacity:1;transform:scale(1)}.image-loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #007cba;border-radius:50%;animation:image-spin 1s linear infinite;z-index:10}@keyframes image-spin{0%{transform:translate(-50%,-50%) rotate(0deg)}100%{transform:translate(-50%,-50%) rotate(360deg)}}.image-fade-in{animation:imageFadeIn .6s ease-in-out}@keyframes imageFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ast-container img,.ast-main-content img{max-width:100%;height:auto;transition:opacity .3s ease-in-out}.ast-container img.image-loading,.ast-main-content img.image-loading{opacity:.3}.ast-container img.image-loaded,.ast-main-content img.image-loaded{opacity:1}.elementor-section img,.elementor-column img,.elementor-widget img{max-width:100%;height:auto;transition:opacity .3s ease-in-out}.elementor-section img.image-loading,.elementor-column img.image-loading,.elementor-widget img.image-loading{opacity:.3}.elementor-section img.image-loaded,.elementor-column img.image-loaded,.elementor-widget img.image-loaded{opacity:1}.image-error{background-color:#ffebee;border:2px dashed #f44336;position:relative}.image-error:after{content:'⚠ 画像の読み込みに失敗しました';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#f44336;font-size:14px;font-weight:700;text-align:center;background-color:rgba(255,255,255,.9);padding:10px;border-radius:4px;z-index:10}.lazy-image{opacity:0;transition:opacity .3s ease-in-out}.lazy-image.lazy-loaded{opacity:1}.image-preload-status{position:fixed;top:10px;left:10px;background-color:#007cba;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;z-index:10000;opacity:.9;transition:opacity .3s ease-in-out}.image-preload-status:hover{opacity:1}.image-priority-high{border:2px solid #4caf50}.image-priority-medium{border:2px solid #ff9800}.image-priority-low{border:2px solid #9e9e9e}.image-success{animation:imageSuccess .5s ease-in-out}@keyframes imageSuccess{0%{transform:scale(.98);opacity:.8}50%{transform:scale(1.02);opacity:1}100%{transform:scale(1);opacity:1}}.ast-header-image{position:relative;overflow:hidden}.ast-header-image img{width:100%;height:auto;transition:opacity .5s ease-in-out}.ast-header-image img.image-loading{opacity:0}.ast-header-image img.image-loaded{opacity:1}.elementor-section.elementor-top-section:first-child{position:relative;overflow:hidden}.elementor-section.elementor-top-section:first-child img{width:100%;height:auto;object-fit:cover;transition:opacity .5s ease-in-out}.elementor-section.elementor-top-section:first-child img.image-loading{opacity:0}.elementor-section.elementor-top-section:first-child img.image-loaded{opacity:1}@media (max-width:768px){.image-loading-indicator{width:30px;height:30px;border-width:2px}.ast-header-image{min-height:200px}.elementor-section.elementor-top-section:first-child{min-height:200px}}@media (max-width:480px){.image-loading-indicator{width:25px;height:25px;border-width:2px}.ast-header-image{min-height:150px}.elementor-section.elementor-top-section:first-child{min-height:150px}}@media (max-width:921px){.ast-header-image{min-height:180px}.elementor-section.elementor-top-section:first-child{min-height:180px}}@media (max-width:544px){.ast-header-image{min-height:120px}.elementor-section.elementor-top-section:first-child{min-height:120px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.image-loading-indicator{border-width:2px}img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media print{.image-loading-indicator,.image-preload-status{display:none !important}img{opacity:1 !important;border:1px solid #ccc !important}}@media (prefers-reduced-motion:reduce){.image-fade-in,.image-success{animation:none}.image-loading-indicator{animation:none;border-top-color:#007cba}}@media (prefers-color-scheme:dark){.image-placeholder{background:linear-gradient(90deg,#2d2d2d 25%,#3d3d3d 50%,#2d2d2d 75%)}.image-loading-indicator{border-color:#555;border-top-color:#007cba}.image-error{background-color:#3d1b1b;border-color:#d32f2f}}.image-loading,.image-loaded,.image-error{will-change:opacity,transform;contain:layout style paint}.aspect-ratio-16-9{padding-bottom:56.25%}.aspect-ratio-4-3{padding-bottom:75%}.aspect-ratio-1-1{padding-bottom:100%}.aspect-ratio-3-2{padding-bottom:66.67%}.ast-container img,.ast-main-content img{contain:layout style}.elementor-widget-image{contain:layout style}.elementor-widget-image img{contain:layout style paint}.image-progress{position:absolute;bottom:0;left:0;width:0;height:3px;background-color:#007cba;transition:width .3s ease-in-out;z-index:10}.image-progress.loading{width:100%;animation:progress-loading 2s ease-in-out infinite}@keyframes progress-loading{0%{width:0}50%{width:100%}100%{width:0}}.ast-breadcrumbs img,.ast-pagination img,.ast-comment-meta img{transition:opacity .3s ease-in-out}.ast-breadcrumbs img.image-loading,.ast-pagination img.image-loading,.ast-comment-meta img.image-loading{opacity:.3}.ast-breadcrumbs img.image-loaded,.ast-pagination img.image-loaded,.ast-comment-meta img.image-loaded{opacity:1}