@font-face{font-family:'System Font Fallback';font-display:swap;src:local('ヒラギノ角ゴ ProN'),local('Hiragino Kaku Gothic ProN'),local('メイリオ'),local('Meiryo'),local('ＭＳ Ｐゴシック'),local('MS PGothic'),local('Arial'),local('sans-serif')}body,html{font-family:'System Font Fallback','ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN','メイリオ','Meiryo','ＭＳ Ｐゴシック','MS PGothic','Arial',sans-serif;font-display:swap;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ast-container,.ast-header,.ast-main-header,.ast-footer,.ast-main-content{font-display:swap;min-height:1em;line-height:1.4}.elementor-heading-title,.elementor-text-editor,.elementor-widget-text-editor,.elementor-widget-heading,.elementor-widget-button{font-display:swap;min-height:1.2em;line-height:1.4}.entry-title,.widget-title,.ast-archive-title,.ast-single-title,h1,h2,h3,h4,h5,h6{font-display:swap;min-height:1.2em;line-height:1.4;font-weight:inherit}.fonts-loaded body{font-family:'ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN','メイリオ','Meiryo','ＭＳ Ｐゴシック','MS PGothic','Arial',sans-serif}.fonts-loading .ast-header,.fonts-loading .ast-main-header,.fonts-loading .ast-main-content,.fonts-loading .ast-footer{font-family:'System Font Fallback','Arial',sans-serif}.ast-header,.ast-main-header{min-height:60px}.ast-main-content{min-height:200px}.ast-footer{min-height:100px}.entry-title{min-height:1.5em}.widget-title{min-height:1.3em}.ast-archive-title,.ast-single-title{min-height:2em}.elementor-heading-title{min-height:1.3em}.elementor-text-editor{min-height:1.2em}@media (max-width:768px){body{font-size:16px;line-height:1.5}h1{font-size:1.75rem;line-height:1.3}h2{font-size:1.5rem;line-height:1.3}h3{font-size:1.25rem;line-height:1.3}.elementor-heading-title{font-size:1.5rem;line-height:1.3}}@media (max-width:480px){body{font-size:15px;line-height:1.4}h1{font-size:1.5rem;line-height:1.2}h2{font-size:1.25rem;line-height:1.2}h3{font-size:1.125rem;line-height:1.2}.elementor-heading-title{font-size:1.25rem;line-height:1.2}}.fonts-loading:before{content:'';position:fixed;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#007cba,#00a0d2,#007cba);background-size:200% 100%;animation:font-loading-bar 2s infinite;z-index:9999}@keyframes font-loading-bar{0%{background-position:200% 0}100%{background-position:-200% 0}}.fonts-loaded .ast-header,.fonts-loaded .ast-main-header,.fonts-loaded .ast-main-content,.fonts-loaded .ast-footer{animation:font-fade-in .3s ease-in-out}@keyframes font-fade-in{from{opacity:.8;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}}@media print{body,html{font-family:'Times New Roman',serif !important;font-size:12pt !important;line-height:1.4 !important}.fonts-loading:before{display:none !important}}@media (prefers-reduced-motion:reduce){.fonts-loaded .ast-header,.fonts-loaded .ast-main-header,.fonts-loaded .ast-main-content,.fonts-loaded .ast-footer{animation:none}.font-loading-bar{animation:none}}@media (prefers-color-scheme:dark){.font-loading-bar{background:linear-gradient(90deg,#00a0d2,#007cba,#00a0d2)}}.fonts-error{font-family:'System Font Fallback','Arial',sans-serif !important}.fonts-error:after{content:'⚠ フォントの読み込みに失敗しました';position:fixed;top:10px;right:10px;background:#f44;color:#fff;padding:5px 10px;border-radius:3px;font-size:12px;z-index:10000}.fonts-loading,.fonts-loaded,.fonts-error{will-change:font-family;contain:layout style}.ast-header,.ast-main-header,.ast-main-content,.ast-footer{font-display:swap;font-display:optional;font-display:fallback}.entry-content,.widget-content,.elementor-widget-text-editor{font-display:swap;line-height:1.7;text-rendering:optimizeLegibility}.ast-header-menu,.ast-mobile-menu,.elementor-nav-menu{font-display:swap;font-weight:500;letter-spacing:.5px}.ast-button,.elementor-button,.wp-block-button__link,input[type=submit]{font-display:swap;font-weight:600;letter-spacing:.5px}.elementor-widget-container{font-display:swap}.elementor-section{font-display:swap}.elementor-column{font-display:swap}.ast-breadcrumbs{font-display:swap}.ast-pagination{font-display:swap}.ast-comment-meta{font-display:swap}@media (max-width:921px){.ast-header,.ast-main-header{min-height:50px}.ast-main-content{min-height:150px}}@media (max-width:544px){.ast-header,.ast-main-header{min-height:45px}.ast-main-content{min-height:120px}}