.related-posts-section{margin-top:60px;padding:40px
0;background-color:#f8f9fa;max-width:980px;margin-left:auto;margin-right:auto}.related-posts-section
h2{text-align:center;margin-bottom:40px;font-size:1.8rem;font-weight:700;color:#333}.related-posts-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:30px;max-width:1200px;margin:0
auto;padding:0
20px}.related-posts-grid .grid-item{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0, 0, 0, 0.1);transition:transform 0.3s ease, box-shadow 0.3s ease}.related-posts-grid .grid-item:hover{transform:translateY(-5px);box-shadow:0 5px 20px rgba(0, 0, 0, 0.15)}.related-posts-grid .grid-item
a{display:block;text-decoration:none;color:inherit}.related-posts-grid .thumbnail-wrapper{position:relative;width:100%;padding-bottom:66.67%;overflow:hidden;background-color:#f0f0f0}.related-posts-grid .thumbnail-wrapper
img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}.related-posts-grid .grid-item:hover .thumbnail-wrapper
img{transform:scale(1.05)}.related-posts-grid
h3{padding:15px;font-size:1rem;font-weight:600;line-height:1.4;color:#333;margin:0;min-height:3.5em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.view-all-link{text-align:center;margin-top:40px}.view-all-link
a{display:inline-block;padding:12px
30px;background-color:#007cba;color:#fff;text-decoration:none;border-radius:5px;font-weight:600;transition:background-color 0.3s ease}.view-all-link a:hover{background-color:#005a87}@media screen and (max-width: 1024px) and (min-width: 769px){.related-posts-grid{grid-template-columns:repeat(3, 1fr);gap:25px}}@media screen and (max-width: 768px){.related-posts-section{margin-top:40px;padding:30px
0}.related-posts-section
h2{font-size:1.5rem;margin-bottom:30px}.related-posts-grid{grid-template-columns:repeat(2, 1fr);gap:15px;padding:0
15px}.related-posts-grid
h3{font-size:0.9rem;padding:12px;min-height:3em}.view-all-link{margin-top:30px}.view-all-link
a{padding:10px
25px;font-size:0.9rem}}@media screen and (max-width: 480px){.related-posts-grid{gap:12px;padding:0
10px}.related-posts-grid
h3{font-size:0.85rem;padding:10px}}:root{--primary-blue:#1565c0;--primary-blue-dark:#0d47a1;--primary-blue-light:#1976d2}.site-header{width:100%;background-color:rgba(30, 58, 138, 0.95);position:relative;z-index:1000}.header-container{width:100%;max-width:1400px;margin:0
auto;padding:20px
40px}.header-content{display:flex;justify-content:space-between;align-items:center}.site-branding{display:flex;align-items:center;gap:20px}.site-title{margin:0;line-height:1}.site-title
img{height:60px;width:auto;display:block;filter:brightness(0) invert(1)}.site-description{margin:0;font-size:0.9rem;color:rgba(255, 255, 255, 0.9)}.header-center{flex:1;text-align:center}.header-message{color:#fff;font-family:"Hiragino Mincho ProN","Yu Mincho","游明朝","serif";font-weight:bold;font-size:1rem;letter-spacing:0.05em;margin:0;padding:0;line-height:1.2}.header-right{display:flex;align-items:center;gap:20px}.hamburger-menu{width:50px;height:50px;background:rgba(255, 255, 255, 0.1);border:2px
solid rgba(255, 255, 255, 0.8);border-radius:12px;cursor:pointer;position:relative;transition:all 0.3s ease;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}.hamburger-menu:hover{background:rgba(255, 255, 255, 0.2);transform:scale(1.05)}.hamburger-menu
span{width:25px;height:3px;background:white;border-radius:3px;transition:all 0.3s ease;position:relative;display:block}.hamburger-menu.active span:nth-child(1){transform:rotate(45deg) translate(7px, 7px)}.hamburger-menu.active span:nth-child(2){opacity:0}.hamburger-menu.active span:nth-child(3){transform:rotate(-45deg) translate(7px, -7px)}.slide-menu{position:fixed;top:0;right:-400px;width:400px;height:100vh;background:white;box-shadow:-5px 0 20px rgba(0, 0, 0, 0.1);transition:right 0.3s ease;z-index:10001;overflow-y:auto;display:flex;flex-direction:column}.slide-menu.active{right:0}.slide-menu-header{display:flex;justify-content:space-between;align-items:center;padding:30px;border-bottom:1px solid #eee;background:linear-gradient(135deg, var(--primary-blue) 0%, var(--primary-blue-dark) 100%);position:sticky;top:0;z-index:10}.slide-menu-header
h3{color:white;font-size:1.5rem;margin:0;font-weight:700;letter-spacing:0.05em}.close-menu{background:none;border:none;color:white;font-size:1.8rem;cursor:pointer;padding:5px;transition:transform 0.3s ease}.close-menu:hover{transform:rotate(90deg)}.service-menu{list-style:none;margin:0;padding:0;flex:1}.menu-category{border-bottom:1px solid #f0f0f0}.menu-category
a{display:flex;align-items:center;gap:20px;padding:25px
30px;text-decoration:none;color:#333;font-size:1.1rem;font-weight:500;transition:all 0.3s ease;position:relative;overflow:hidden}.menu-category a::before{content:'';position:absolute;left:0;top:0;width:0;height:100%;background:linear-gradient(90deg, rgba(21, 101, 192, 0.1) 0%, rgba(21, 101, 192, 0.05) 100%);transition:width 0.3s ease}.menu-category a:hover::before{width:100%}.menu-category a:hover{color:var(--primary-blue);padding-left:40px}.menu-category
i{font-size:1.5rem;color:var(--primary-blue-light);width:30px;text-align:center;flex-shrink:0}.slide-menu-footer{padding:30px;background:#f8f9fa;border-top:1px solid #eee}.contact-link,.phone-link{display:flex;align-items:center;gap:15px;padding:15px
25px;margin-bottom:15px;text-decoration:none;border-radius:10px;font-weight:600;transition:all 0.3s ease}.contact-link:last-child,.phone-link:last-child{margin-bottom:0}.contact-link{background:var(--primary-blue);color:white}.contact-link:hover{background:var(--primary-blue-dark);transform:translateY(-2px);box-shadow:0 5px 15px rgba(21, 101, 192, 0.3)}.phone-link{background:white;color:var(--primary-blue);border:2px
solid var(--primary-blue)}.phone-link:hover{background:var(--primary-blue);color:white}.menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.5);opacity:0;visibility:hidden;transition:all 0.3s ease;z-index:10000}.menu-overlay.active{opacity:1;visibility:visible}#content{position:relative;z-index:1}body.admin-bar .slide-menu{top:32px;height:calc(100vh - 32px)}@media (max-width: 782px){body.admin-bar .slide-menu{top:46px;height:calc(100vh - 46px)}}@media (max-width: 1024px){.header-container{padding:20px
30px}}@media (max-width: 768px){.header-container{padding:15px
20px}.header-content{flex-wrap:wrap;gap:15px}.header-center{width:100%;order:3}.header-message{font-size:0.9rem}.site-title
img{height:45px}.site-description{display:none}.slide-menu{width:100%;right:-100%}.hamburger-menu{width:45px;height:45px}.hamburger-menu
span{width:22px;height:2.5px}.menu-category
a{padding:20px
25px;font-size:1rem}.slide-menu-header{padding:20px}.slide-menu-header
h3{font-size:1.3rem}}@media (max-width: 480px){.header-container{padding:10px
15px}.site-title
img{height:40px}.hamburger-menu{width:40px;height:40px}.hamburger-menu
span{width:20px;height:2px}.menu-category
a{padding:18px
20px;font-size:0.95rem}.menu-category
i{font-size:1.3rem}}#chat-box{position:fixed !important;bottom:0 !important;right:10px !important;left:auto !important;width:calc(100% - 20px) !important;max-width:350px !important;background:#f0f0f0 !important;border:1px
solid #ddd !important;border-radius:15px 15px 0 0 !important;box-shadow:0 2px 10px rgba(0, 0, 0, 0.1) !important;z-index:999999 !important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Sans","Noto Sans CJK JP",sans-serif;transition:transform 0.3s ease-in-out;box-sizing:border-box !important}#chat-content{height:300px;max-height:60vh;overflow-y:auto;padding:12px;margin-bottom:10px;background:#f0f0f0;border-radius:10px;font-size:14px}.chat-message{margin:20px
0;max-width:100%;word-wrap:break-word;clear:both}.message-sender{margin-bottom:5px;font-size:0.85em;color:#666}.message-content{display:inline-block;padding:10px
14px;border-radius:20px;max-width:85%;text-align:left;white-space:pre-line;word-wrap:break-word;line-height:1.5;font-size:14px}.user-message{text-align:right}.user-message .message-content{background-color:#68af27;color:white;border-radius:20px 20px 0 20px;margin-left:auto}.ryuji-message{text-align:left;position:relative}.ryuji-message .message-sender{margin-left:48px}.ryuji-container{display:flex;flex-direction:column;position:relative}.avatar{width:40px;height:40px;border-radius:50%;background-color:#87ceeb;position:absolute;left:0;top:0;background-size:cover;background-position:center}.ryuji-message .message-content{background-color:white;color:#333;border-radius:20px 20px 20px 0;margin-left:48px}#chat-input-container{display:flex;gap:10px;padding:10px;background:#f5f5f5;border-radius:10px}#chat-input{flex-grow:1;padding:10px;border:1px
solid #ddd;border-radius:20px;outline:none;font-size:14px}#chat-send{background-color:#68af27;color:white;border:none;padding:8px
16px;border-radius:20px;cursor:pointer;transition:background-color 0.3s;font-size:14px}#chat-send:hover{background-color:#5a9722}.download-link{display:inline-block;margin:8px
0;padding:8px
15px;background-color:#4a90e2;color:white;text-decoration:none;border-radius:5px;text-align:center;transition:background-color 0.3s;font-size:13px}.download-link:hover{background-color:#357abd}.loading-message .message-content{background-color:#f0f0f0 !important;color:#666 !important}.loading{display:inline-block;width:20px;height:20px;border:2px
solid #f3f3f3;border-radius:50%;border-top:2px solid #68af27;animation:spin 1s linear infinite;margin-left:10px;vertical-align:middle}@keyframes
spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#chat-clear{background-color:#dc3545;color:white;border:none;padding:6px
12px;border-radius:5px;cursor:pointer;margin-bottom:10px;font-size:13px;transition:background-color 0.3s}#chat-clear:hover{background-color:#c82333}#chat-header{padding:8px
14px;background:#68af27;color:white;border-radius:15px 15px 0 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:bold;font-size:14px}#chat-header .toggle-icon{transition:transform 0.3s ease-in-out}#chat-box.minimized{transform:translateY(calc(100% - 45px))}#chat-box.minimized .toggle-icon{transform:rotate(180deg)}#chat-content-wrapper{padding:10px}@media screen and (max-width: 768px){#chat-box{width:95% !important;max-width:95% !important;right:2.5% !important;left:auto !important}#chat-content{height:250px;max-height:50vh;font-size:13px}.message-content{font-size:13px !important}#chat-input{font-size:13px}#chat-send{font-size:13px;padding:6px
12px}}