:root{--color-primary: #0a2540;--color-secondary: yellow;--color-accent: #d9534f;--color-text: #333;--color-white: #fff;--glass-bg: rgba(255, 255, 255, 0.3);--font-serif: "Noto Serif JP", serif;--font-sans: "Noto Sans JP", sans-serif;--container-width: 1280px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:100%}body{font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--color-text);word-break:break-all;background-color:var(--color-primary)}a{text-decoration:none;color:var(--color-text)}img{max-width:100%;height:auto}ul{list-style:none}li{list-style:none}h1,h2,h3,h4{font-family:var(--font-serif)}p{margin-bottom:16px}button{border:none;background:none;cursor:pointer}input{border:none;background:none}address{font-style:normal}input[type=text],input[type=email],input[type=tel],textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem;box-sizing:border-box;transition:border-color .3s}input:focus,textarea:focus{outline:none;border-color:var(--color-primary);background:#f9fbf9}textarea{height:200px;resize:vertical}iframe{width:100%;height:400px;border:0}.site-wrapper{display:flex;flex-direction:column;min-height:100vh}.container{width:92%;max-width:var(--container-width);margin:0 auto;padding:128px 0}.post-columns{display:grid;grid-template-columns:1fr 300px;gap:50px}@media screen and (max-width: 1199px){.post-columns{grid-template-columns:1fr;gap:40px}}.post-main{min-width:0}.post-list{display:flex;flex-direction:column;gap:30px}.post-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s}.post-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,.1)}.post-card__link{display:grid;grid-template-columns:280px 1fr;text-decoration:none;color:inherit}@media screen and (max-width: 991px){.post-card__link{grid-template-columns:1fr}}.post-card__thumb{aspect-ratio:16/10;overflow:hidden;min-height:200px;width:100%}@media screen and (max-width: 991px){.post-card__thumb{aspect-ratio:16/9}}.post-card__thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s}.post-card:hover .post-card__thumb img{transform:scale(1.05)}.post-card__content{padding:25px 30px;display:flex;flex-direction:column;justify-content:center}@media screen and (max-width: 991px){.post-card__content{padding:20px}}.post-card__meta{display:flex;align-items:center;gap:15px;margin-bottom:12px;flex-wrap:wrap}.post-card__date{font-size:.85rem;color:#888}.post-card__date i{margin-right:5px}.post-card__cat{font-size:.75rem;background:var(--color-primary);color:#fff;padding:3px 12px;border-radius:3px}.post-card__title{font-size:1.2rem;font-weight:bold;color:var(--color-primary);margin-bottom:10px;line-height:1.5}.post-card__excerpt{font-size:.9rem;color:#666;line-height:1.8}.post-single{background:#fff;border-radius:8px;padding:40px;box-shadow:0 2px 10px rgba(0,0,0,.06)}@media screen and (max-width: 991px){.post-single{padding:25px 20px}}.post-single__header{margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid #eee}.post-single__meta{margin-bottom:20px}.post-single__dates{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px;font-size:.9rem;color:#666}.post-single__dates i{margin-right:5px;color:var(--color-secondary)}.post-single__terms{display:flex;flex-wrap:wrap;gap:15px}.post-single__categories,.post-single__tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85rem}.post-single__categories i,.post-single__tags i{color:var(--color-secondary)}.post-single__categories a,.post-single__tags a{color:var(--color-text);text-decoration:none;padding:2px 10px;background:#f5f5f5;border-radius:3px;transition:.3s}.post-single__categories a:hover,.post-single__tags a:hover{background:var(--color-primary);color:#fff}.post-single__title{font-size:1.8rem;font-weight:bold;color:var(--color-primary);line-height:1.5}@media screen and (max-width: 991px){.post-single__title{font-size:1.5rem}}.post-single__thumbnail{margin-bottom:30px;border-radius:6px;overflow:hidden}.post-single__thumbnail img{width:100%;height:auto;display:block}.post-single__content{font-size:1rem;line-height:2;color:var(--color-text)}.post-single__content h2{font-size:1.5rem;color:var(--color-primary);margin:40px 0 20px;padding-bottom:10px;border-bottom:2px solid var(--color-primary)}.post-single__content h3{font-size:1.3rem;color:var(--color-primary);margin:30px 0 15px;padding-left:15px;border-left:4px solid var(--color-secondary)}.post-single__content h4{font-size:1.1rem;color:var(--color-primary);margin:25px 0 10px}.post-single__content p{margin-bottom:20px}.post-single__content ul,.post-single__content ol{margin:20px 0;padding-left:25px}.post-single__content ul li,.post-single__content ol li{margin-bottom:8px}.post-single__content blockquote{background:#f9f9f9;border-left:4px solid var(--color-secondary);padding:20px 25px;margin:25px 0;font-style:italic;color:#666}.post-single__content img{max-width:100%;height:auto;border-radius:4px}.post-single__content a{color:var(--color-secondary);text-decoration:underline}.post-single__content a:hover{text-decoration:none}.post-single__content table{width:100%;border-collapse:collapse;margin:25px 0}.post-single__content table th,.post-single__content table td{padding:12px 15px;border:1px solid #ddd;text-align:left}.post-single__content table th{background:var(--color-bg-sub);font-weight:bold}.post-single__share{margin-top:40px;padding-top:30px;border-top:1px solid #eee;text-align:center}.post-single__share .share-label{display:block;font-size:.9rem;color:#666;margin-bottom:15px}.post-single__share .share-buttons{display:flex;justify-content:center;gap:12px}.post-single__share .share-btn{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:1.1rem;transition:transform .3s,opacity .3s;border:none;cursor:pointer}.post-single__share .share-btn:hover{transform:scale(1.1);opacity:.9}.post-single__share .share-btn--x{background:#000}.post-single__share .share-btn--facebook{background:#1877f2}.post-single__share .share-btn--line{background:#00b900}.post-single__share .share-btn--copy{background:#666}.post-navigation{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}@media screen and (max-width: 767px){.post-navigation{grid-template-columns:1fr}}.post-navigation__prev a,.post-navigation__next a{display:block;padding:20px;background:#f9f9f9;border-radius:6px;text-decoration:none;transition:background .3s}.post-navigation__prev a:hover,.post-navigation__next a:hover{background:#f0f0f0}.post-navigation__prev .nav-label,.post-navigation__next .nav-label{display:block;font-size:.8rem;color:var(--color-secondary);margin-bottom:8px}.post-navigation__prev .nav-label i,.post-navigation__next .nav-label i{font-size:.75em}.post-navigation__prev .nav-title,.post-navigation__next .nav-title{display:block;font-size:.95rem;color:var(--color-primary);font-weight:500;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-navigation__next{text-align:right}.related-posts{margin-top:50px}.related-posts__title{font-size:1.2rem;color:var(--color-primary);margin-bottom:25px;padding-bottom:12px;border-bottom:2px solid var(--color-primary)}.related-posts__title i{margin-right:10px;color:var(--color-secondary)}.related-posts__grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:20px}@media screen and (max-width: 767px){.related-posts__grid{grid-template-columns:1fr}}.related-post-card{display:flex;gap:15px;padding:15px;background:#fff;border-radius:6px;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s}.related-post-card:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.related-post-card__thumb{width:80px;height:80px;flex-shrink:0;border-radius:4px;overflow:hidden}.related-post-card__thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.related-post-card__content{flex:1;min-width:0}.related-post-card__date{font-size:.75rem;color:#888;display:block;margin-bottom:5px}.related-post-card__title{font-size:.9rem;color:var(--color-primary);font-weight:500;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media screen and (max-width: 1199px){.post-sidebar{display:grid;grid-template-columns:repeat(2, 1fr);gap:30px}}@media screen and (max-width: 767px){.post-sidebar{grid-template-columns:1fr}}.sidebar-widget{background:#fff;border-radius:8px;padding:25px;margin-bottom:30px;box-shadow:0 2px 10px rgba(0,0,0,.06)}@media screen and (max-width: 1199px){.sidebar-widget{margin-bottom:0}}.sidebar-widget__title{font-size:1rem;color:var(--color-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--color-primary)}.sidebar-widget__title i{margin-right:8px;color:var(--color-secondary)}.sidebar-category-list li{border-bottom:1px solid #eee}.sidebar-category-list li:last-child{border-bottom:none}.sidebar-category-list li a{display:flex;justify-content:space-between;align-items:center;padding:12px 5px;color:var(--color-text);text-decoration:none;transition:.3s}.sidebar-category-list li a:hover{color:var(--color-secondary);padding-left:10px}.sidebar-category-list li a .count{font-size:.8rem;color:#888;background:#f5f5f5;padding:2px 10px;border-radius:10px}.sidebar-recent-posts li{margin-bottom:15px}.sidebar-recent-posts li:last-child{margin-bottom:0}.sidebar-recent-posts li a{display:flex;gap:12px;text-decoration:none;transition:opacity .3s}.sidebar-recent-posts li a:hover{opacity:.8}.sidebar-recent-posts .recent-post__thumb{width:70px;height:70px;flex-shrink:0;border-radius:4px;overflow:hidden}.sidebar-recent-posts .recent-post__thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sidebar-recent-posts .recent-post__content{flex:1;min-width:0}.sidebar-recent-posts .recent-post__date{font-size:.75rem;color:#888;display:block;margin-bottom:5px}.sidebar-recent-posts .recent-post__title{font-size:.85rem;color:var(--color-primary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sidebar-archive-select select{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:4px;font-size:.95rem;color:var(--color-text);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 10px center;background-size:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.sidebar-archive-select select:focus{outline:none;border-color:var(--color-secondary)}.sidebar-tag-list{display:flex;flex-wrap:wrap;gap:8px}.sidebar-tag-list .tag-link{display:inline-block;padding:6px 14px;background:#f5f5f5;color:var(--color-text);text-decoration:none;font-size:.85rem;border-radius:3px;transition:.3s}.sidebar-tag-list .tag-link:hover{background:var(--color-primary);color:#fff}.post-main .navigation.pagination{margin-top:40px}.js-reveal{opacity:0;transform:translate3d(0, 12px, 0);transition:opacity 600ms ease,transform 700ms cubic-bezier(0.2, 0.8, 0.2, 1);will-change:opacity,transform}.js-reveal.is-inview{opacity:1;transform:none}.js-reveal.is-typing{opacity:1;transform:none}.js-reveal.is-typing[data-anim=fadeInUp]{opacity:1;transform:translate3d(0, 0, 0)}.js-reveal.is-typing[data-anim=zoomInSoft]{opacity:1;transform:translate3d(0, 0, 0) scale(1)}.js-reveal[data-anim=fadeInUp]{opacity:0;transform:translate3d(0, 26px, 0)}.js-reveal.is-inview[data-anim=fadeInUp]{opacity:1;transform:translate3d(0, 0, 0)}.js-reveal[data-anim=zoomIn]{opacity:0;transform:scale(0.92)}.js-reveal.is-inview[data-anim=zoomIn]{opacity:1;transform:scale(1)}.js-reveal[data-anim=zoomInSoft]{opacity:0;transform:translate3d(0, 10px, 0) scale(0.95)}.js-reveal.is-inview[data-anim=zoomInSoft]{opacity:1;transform:translate3d(0, 0, 0) scale(1)}@media(prefers-reduced-motion: reduce){.js-reveal{transition:none !important;opacity:1 !important;transform:none !important}}.char-fade{opacity:0;-webkit-animation:charFadeIn .4s ease forwards;animation:charFadeIn .4s ease forwards}@-webkit-keyframes charFadeIn{from{opacity:0}to{opacity:1}}@keyframes charFadeIn{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion: reduce){.char-fade{-webkit-animation:none;animation:none;opacity:1}}.page-transition{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg, #0a2540 0%, #0d3a5c 50%, #0a2540 100%);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:1;visibility:visible;overflow:hidden}.page-transition.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s ease,visibility .5s ease}.page-transition__ripple{position:absolute;top:50%;left:50%;width:60px;height:60px;border-radius:50%;border:none;background:none;box-shadow:0 0 0 .5px rgba(255,255,255,.08),0 0 8px 0 rgba(255,255,255,.04);transform:translate(-50%, -50%) scale(0);-webkit-animation:rippleExpand 4s ease-out infinite;animation:rippleExpand 4s ease-out infinite}.page-transition__ripple:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}.page-transition__ripple:nth-child(2){-webkit-animation-delay:0.7s;animation-delay:0.7s}.page-transition__ripple:nth-child(3){-webkit-animation-delay:1.4s;animation-delay:1.4s}.page-transition__ripple:nth-child(4){-webkit-animation-delay:2.1s;animation-delay:2.1s}.page-transition__ripple:nth-child(5){-webkit-animation-delay:2.8s;animation-delay:2.8s}.page-transition__content{text-align:center;position:relative;z-index:1;opacity:0;-webkit-animation:logoAppear .5s ease-out .2s forwards;animation:logoAppear .5s ease-out .2s forwards}.page-transition__logo{width:200px;height:auto}.page-transition__logo .wave-bar{transform-origin:center;will-change:transform,opacity;transform:scaleY(0.08);-webkit-animation:waveSweep 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;animation:waveSweep 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) infinite}.page-transition__logo .wave-bar:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}.page-transition__logo .wave-bar:nth-child(2){-webkit-animation-delay:0.06s;animation-delay:0.06s}.page-transition__logo .wave-bar:nth-child(3){-webkit-animation-delay:0.12s;animation-delay:0.12s}.page-transition__logo .wave-bar:nth-child(4){-webkit-animation-delay:0.18s;animation-delay:0.18s}.page-transition__logo .wave-bar:nth-child(5){-webkit-animation-delay:0.24s;animation-delay:0.24s}.page-transition__logo .wave-bar:nth-child(6){-webkit-animation-delay:0.3s;animation-delay:0.3s}.page-transition__logo .wave-bar:nth-child(7){-webkit-animation-delay:0.36s;animation-delay:0.36s}.page-transition__logo .wave-bar:nth-child(8){-webkit-animation-delay:0.42s;animation-delay:0.42s}.page-transition__logo .wave-bar:nth-child(9){-webkit-animation-delay:0.48s;animation-delay:0.48s}.page-transition__logo .wave-bar:nth-child(10){-webkit-animation-delay:0.54s;animation-delay:0.54s}.page-transition__logo .wave-bar:nth-child(11){-webkit-animation-delay:0.6s;animation-delay:0.6s}.page-transition__logo .wave-bar:nth-child(12){-webkit-animation-delay:0.66s;animation-delay:0.66s}.page-transition__logo .wave-bar:nth-child(13){-webkit-animation-delay:0.72s;animation-delay:0.72s}.page-transition__logo .wave-bar:nth-child(14){-webkit-animation-delay:0.78s;animation-delay:0.78s}.page-transition__logo .wave-bar:nth-child(15){-webkit-animation-delay:0.84s;animation-delay:0.84s}@-webkit-keyframes rippleExpand{0%{transform:translate(-50%, -50%) scale(0);opacity:.8}50%{opacity:.4}100%{transform:translate(-50%, -50%) scale(30);opacity:0}}@keyframes rippleExpand{0%{transform:translate(-50%, -50%) scale(0);opacity:.8}50%{opacity:.4}100%{transform:translate(-50%, -50%) scale(30);opacity:0}}@-webkit-keyframes logoAppear{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}@keyframes logoAppear{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes waveSweep{0%,100%{transform:scaleY(0.08);opacity:.3}18%{transform:scaleY(1.4);opacity:1}34%{transform:scaleY(0.3);opacity:.5}48%{transform:scaleY(0.85);opacity:.9}65%{transform:scaleY(0.12);opacity:.35}}@keyframes waveSweep{0%,100%{transform:scaleY(0.08);opacity:.3}18%{transform:scaleY(1.4);opacity:1}34%{transform:scaleY(0.3);opacity:.5}48%{transform:scaleY(0.85);opacity:.9}65%{transform:scaleY(0.12);opacity:.35}}.fade-in-up{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(0.25, 0.1, 0.25, 1),transform .9s cubic-bezier(0.19, 1, 0.22, 1);will-change:opacity,transform}.fade-in-up.is-visible{opacity:1;transform:translateY(0)}.animate-fade-in{-webkit-animation:heroFadeIn 1s ease .3s forwards;animation:heroFadeIn 1s ease .3s forwards;opacity:0}@-webkit-keyframes heroFadeIn{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.works-section__item.fade-in-up:nth-child(1){transition-delay:0s}.works-section__item.fade-in-up:nth-child(2){transition-delay:0.12s}.works-section__item.fade-in-up:nth-child(3){transition-delay:0.24s}.works-section__item.fade-in-up:nth-child(4){transition-delay:0.36s}.works-section__item.fade-in-up:nth-child(5){transition-delay:0.48s}.works-section__item.fade-in-up:nth-child(6){transition-delay:0.6s}.works-section__item.fade-in-up:nth-child(7){transition-delay:0.72s}.works-section__item.fade-in-up:nth-child(8){transition-delay:0.84s}.works-section__item.fade-in-up:nth-child(9){transition-delay:0.96s}.works-section__item.fade-in-up:nth-child(10){transition-delay:1.08s}.works-section__item.fade-in-up:nth-child(11){transition-delay:1.2s}.works-section__item.fade-in-up:nth-child(12){transition-delay:1.32s}.service-section__item.fade-in-up:nth-child(1){transition-delay:0s}.service-section__item.fade-in-up:nth-child(2){transition-delay:0.18s}.service-section__item.fade-in-up:nth-child(3){transition-delay:0.36s}.service-section__item.fade-in-up:nth-child(4){transition-delay:0.54s}.service-section__item.fade-in-up:nth-child(5){transition-delay:0.72s}.service-section__item.fade-in-up:nth-child(6){transition-delay:0.9s}@media(prefers-reduced-motion: reduce){.page-transition{display:none !important}.fade-in-up{opacity:1;transform:none;transition:none}.animate-fade-in{opacity:1;-webkit-animation:none;animation:none}.page-transition__logo .wave-bar{-webkit-animation:none;animation:none}}@media screen and (max-width: 991px){body{font-size:14px}}@media screen and (max-width: 991px){.container{padding:80px 0}}.primary-heading{text-align:center;margin-bottom:48px;color:var(--color-white)}@media screen and (max-width: 767px){.primary-heading{margin-bottom:32px}}.primary-heading__subtitle{font-size:.9rem;font-family:var(--font-sans);letter-spacing:.1em;margin-bottom:10px}.primary-heading__title{font-size:3rem;font-weight:bold;margin-bottom:20px}@media screen and (max-width: 991px){.primary-heading__title{font-size:1.6rem}}@media screen and (max-width: 767px){.primary-heading__title{font-size:1.35rem;margin-bottom:12px}}.primary-heading__description{font-size:1.2rem;margin-bottom:20px}@media screen and (max-width: 767px){.primary-heading__description{font-size:.95rem}}.primary-heading__copyright{font-size:.8rem;color:rgba(255,255,255,.7)}@media screen and (max-width: 767px){.primary-heading__copyright{font-size:.75rem}}.site-header{position:fixed;width:100%;top:0;left:0;z-index:100}.site-header::after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, transparent 100%)}.site-header__inner{height:88px;display:flex;justify-content:space-between;align-items:center;margin:0 auto;width:calc(100% - 100px);position:relative;z-index:1}@media screen and (max-width: 991px){.site-header__inner{width:calc(100% - 40px);height:60px}}.site-header__logo{display:block;width:300px}@media screen and (max-width: 991px){.site-header__logo{width:200px}}.site-header__nav{display:flex;gap:30px}@media screen and (max-width: 1199px){.site-header__nav{overflow:hidden;opacity:0;position:fixed;left:0;top:0;height:100vh;width:100%;background-color:var(--color-primary);z-index:1000;padding:86px 20px 20px;pointer-events:none;transition:.3s}}.site-header__nav.open{opacity:1;pointer-events:auto}.site-header__nav-close{display:none;align-items:center;justify-content:center;gap:10px;color:var(--color-white);font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;position:absolute;top:20px;right:20px}@media screen and (max-width: 1199px){.site-header__nav-close{display:flex}}.site-header__nav-list{display:flex;align-items:center;gap:30px}@media screen and (max-width: 1199px){.site-header__nav-list{flex-direction:column;align-items:flex-start;gap:0;width:100%}}.site-header__nav-item{list-style:none}@media screen and (max-width: 1199px){.site-header__nav-item{width:100%}}.site-header__nav-link{text-decoration:none;color:var(--color-white);font-size:16px;font-weight:600;font-family:var(--font-serif);transition:.3s}.site-header__nav-link:hover{color:var(--color-secondary)}@media screen and (max-width: 1199px){.site-header__nav-link{display:block;padding:15px;text-align:center;font-size:1.2rem}}.site-header .hamburger-menu{display:none;position:relative;width:46px;height:46px;background-color:var(--color-primary);border-radius:4px;cursor:pointer;transition:.3s}@media screen and (max-width: 1199px){.site-header .hamburger-menu{display:block}}.site-header .hamburger-menu span{width:20px;height:2px;background-color:var(--color-white);position:absolute;transition:var(--transition)}.site-header .hamburger-menu span:nth-child(1){top:16px;left:50%;transform:translateX(-50%)}.site-header .hamburger-menu span:nth-child(2){top:50%;left:50%;transform:translate(-50%, -50%)}.site-header .hamburger-menu span:nth-child(3){bottom:16px;left:50%;transform:translateX(-50%)}.site-footer{margin-top:auto;padding:60px 0;background:var(--color-primary);text-align:center;font-size:.8rem;color:rgba(255,255,255,.5)}.site-footer__copyright{margin-bottom:0}.scroll-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,.15);opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .3s,visibility .3s,transform .3s,background .3s;z-index:1000;cursor:pointer}.scroll-to-top:hover{background:var(--color-secondary);transform:translateY(-3px)}.scroll-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top svg{width:24px;height:24px}@media screen and (max-width: 767px){.scroll-to-top{bottom:20px;right:20px;width:44px;height:44px}.scroll-to-top svg{width:20px;height:20px}}.breadcrumb{background-color:var(--color-bg-sub);padding:12px 0}.breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:0;max-width:var(--container-width);margin:0 auto;padding:0 20px;font-size:.85rem}@media screen and (max-width: 767px){.breadcrumb__list{padding:0 16px;font-size:.8rem}}.breadcrumb__item{display:flex;align-items:center}.breadcrumb__item a{color:var(--color-secondary);text-decoration:none;transition:.3s}.breadcrumb__item a:hover{color:var(--color-primary);text-decoration:underline}.breadcrumb__item--current span{color:var(--color-text);font-weight:500;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;max-width:300px}@media screen and (max-width: 767px){.breadcrumb__item--current span{max-width:150px}}.breadcrumb__separator{display:inline-flex;align-items:center;justify-content:center;margin:0 10px;color:#ccc;font-size:.7em}@media screen and (max-width: 767px){.breadcrumb__separator{margin:0 6px}}.index-hero{height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:20px;color:var(--color-white);text-align:center;background:url("../images/bg.webp") no-repeat center top/cover;background-attachment:fixed}.index-hero__inner{width:90%;margin:0 auto}.index-hero__title{font-size:clamp(1rem,4vw,3rem)}.index-hero__subtitle{font-size:clamp(.9rem,5vw,2rem)}.index-hero__description{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;position:relative;padding:10px 30px;font-size:clamp(1rem,5vw,2rem);margin:0 auto}.index-hero__description::before,.index-hero__description::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:100%;height:3px;background:linear-gradient(to right, transparent, #ffffff 50%, transparent)}.index-hero__description::before{top:0}.index-hero__description::after{bottom:0}.works-section{position:relative}.works-section::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom, rgb(0, 40, 80) 0%, rgba(0, 40, 80, 0.8) 100px, transparent 300px, transparent 100%),url("../images/works-bg.webp") no-repeat center center/cover;z-index:-1}@media screen and (max-width: 767px){.works-section::before{background:linear-gradient(to bottom, rgb(0, 40, 80) 0%, rgba(0, 40, 80, 0.8) 60px, transparent 200px, transparent 100%),url("../images/works-bg.webp") no-repeat center center/cover}}.works-section__title{font-size:2.5rem;font-weight:bold;color:var(--color-text-light);letter-spacing:.1em;margin-bottom:16px}@media screen and (max-width: 991px){.works-section__title{font-size:2rem}}@media screen and (max-width: 767px){.works-section__title{font-size:1.6rem;margin-bottom:12px}}.works-section__description{font-size:1rem;color:var(--color-text-light);line-height:1.8;margin-bottom:8px}@media screen and (max-width: 767px){.works-section__description{font-size:.9rem}}.works-section__copyright{font-size:.8rem;color:rgba(255,255,255,.7)}@media screen and (max-width: 767px){.works-section__copyright{font-size:.75rem}}.works-section__content{margin-top:40px}@media screen and (max-width: 767px){.works-section__content{margin-top:24px}}.works-section__filters{display:flex;justify-content:center;gap:16px;margin-bottom:32px}@media screen and (max-width: 767px){.works-section__filters{flex-direction:column;gap:12px;margin-bottom:24px}}.works-section select[name=works-section__select],.works-section__select{display:block;width:100%;max-width:300px;padding:12px 40px 12px 16px;font-size:.95rem;color:var(--color-white);background-color:var(--color-primary);border:1px solid var(--color-white);border-radius:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin-bottom:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;transition:.3s}@media screen and (max-width: 767px){.works-section select[name=works-section__select],.works-section__select{max-width:100%}}.works-section select[name=works-section__select] option,.works-section__select option{background-color:#1a3a5c;color:#fff}.works-section__grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:24px}@media screen and (max-width: 991px){.works-section__grid{grid-template-columns:repeat(2, 1fr);gap:20px}}@media screen and (max-width: 767px){.works-section__grid{grid-template-columns:1fr;gap:16px}}.works-section__item{display:block;text-decoration:none;background-color:rgba(0,20,40,.6);border-radius:8px;overflow:hidden;transition:transform .3s,box-shadow .3s}.works-section__item:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.3)}.works-section__item:hover .works-section__item-image img{transform:scale(1.05)}.works-section__item-image{aspect-ratio:16/9;overflow:hidden}.works-section__item-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s}.works-section__item-content{padding:16px}@media screen and (max-width: 767px){.works-section__item-content{padding:12px}}.works-section__item-title{font-size:1rem;font-weight:bold;color:var(--color-white);margin-bottom:12px;line-height:1.5}@media screen and (max-width: 767px){.works-section__item-title{font-size:.95rem;margin-bottom:8px}}.works-section__item-tags{display:flex;flex-wrap:wrap;gap:8px}.works-section__item-tag{display:inline-block;font-size:.75rem;padding:4px 10px;border-radius:4px}@media screen and (max-width: 767px){.works-section__item-tag{font-size:.7rem;padding:3px 8px}}.works-section__item-tag--category{color:rgba(255,255,255,.9);background-color:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2)}.works-section__item-tag--role{color:#1a1a1a;background-color:#fff100;border:1px solid #fff100}.works-section__item-tag--platform{color:rgba(255,255,255,.9);background-color:rgba(100,180,255,.2);border:1px solid rgba(100,180,255,.3)}.works-section__no-items{grid-column:1/-1;text-align:center;color:rgba(255,255,255,.7);padding:40px 0}.works-section__more{display:flex;justify-content:center;margin-top:48px}@media screen and (max-width: 767px){.works-section__more{margin-top:32px}}.works-section--single .works-section__content{margin-top:0}.works-section__single{display:flex;justify-content:center;width:100%}.works-section__single-article{width:100%;max-width:720px;background-color:rgba(0,20,40,.6);border-radius:8px;overflow:hidden}.works-section a.works-section__single-article{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 48px;font-size:1rem;font-weight:500;text-decoration:none;border-radius:4px;transition:background-color .3s,transform .2s,box-shadow .3s;cursor:pointer}@media screen and (max-width: 767px){.btn{padding:12px 36px;font-size:.9rem}}.btn--primary{color:var(--color-white);background-color:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3)}.btn--primary:hover{background-color:rgba(255,255,255,.25);border-color:rgba(255,255,255,.5);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:48px;flex-wrap:wrap}@media screen and (max-width: 767px){.pagination{gap:4px;margin-top:32px}}.pagination__item{display:flex;justify-content:center;align-items:center;min-width:44px;height:44px;padding:0 12px;font-size:1rem;color:var(--color-white);background-color:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:4px;text-decoration:none;transition:background-color .3s,border-color .3s,transform .2s}@media screen and (max-width: 767px){.pagination__item{min-width:36px;height:36px;padding:0 8px;font-size:.9rem}}.pagination__item:hover:not(.is-current):not(.is-disabled){background-color:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);transform:translateY(-2px)}.pagination__item.is-current{background-color:var(--color-primary);border-color:var(--color-primary);font-weight:600;cursor:default}.pagination__item.is-disabled{opacity:.4;cursor:not-allowed}.pagination__dots{background:rgba(0,0,0,0);border:none;cursor:default;min-width:auto;padding:0 4px}.pagination__dots:hover{background:rgba(0,0,0,0);transform:none}.pagination__first,.pagination__prev,.pagination__next,.pagination__last{font-weight:700}.service-section{background:url("../images/service-bg.webp") no-repeat center center/cover}.service-section__content{display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;align-items:center}@media screen and (max-width: 991px){.service-section__content{grid-template-columns:1fr;align-items:stretch}}.service-section__item{background:var(--glass-bg);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:40px;text-align:center;transition:.3s;color:var(--color-white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(0,0,0,.4)}.service-section__item-title{font-size:1.5rem;font-weight:600;padding-bottom:15px;margin-bottom:15px;position:relative;color:var(--color-white);width:100%;border-bottom:2px solid var(--color-white)}.service-section__item-description{font-size:.9rem}.service-section__item--main{padding:60px 40px;align-self:center;margin-top:-20px;margin-bottom:-20px}@media screen and (max-width: 991px){.service-section__item--main{padding:40px;margin:0;order:-1}}.service-section__item--main .service-section__item-title{font-size:1.8rem}@media screen and (max-width: 991px){.service-section__item--main .service-section__item-title{font-size:1.5rem}}.service-section__item--main .service-section__item-title::before{width:70px}.service-section__item--main .service-section__item-description{font-size:1rem;line-height:1.9}@media screen and (max-width: 991px){.service-section__item--main .service-section__item-description{font-size:.9rem}}.company-section{overflow:hidden}.company-section__heading{color:var(--color-primary)}.company-section__content{position:relative}.company-section__content .image{width:65vw;height:800px;margin-left:calc(50% - 50vw)}@media screen and (max-width: 991px){.company-section__content .image{width:100vw;height:400px;margin-bottom:40px}}@media screen and (max-width: 767px){.company-section__content .image{height:200px}}.company-section__content .image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.company-section__content .text{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1;background-color:var(--color-white);padding:40px;border-radius:16px;box-shadow:0 0 10px rgba(0,0,0,.1)}@media screen and (max-width: 991px){.company-section__content .text{position:relative;top:0;transform:translateY(0)}}.company-section__content .text dl{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--color-primary)}@media screen and (max-width: 991px){.company-section__content .text dl{grid-template-columns:1fr}}.company-section__content .text dl dt{padding:20px 0;font-weight:bold;color:var(--color-primary)}@media screen and (max-width: 991px){.company-section__content .text dl dt{padding:10px 0 0}}.company-section__content .text dl dd{padding:20px 0;color:var(--color-text)}@media screen and (max-width: 991px){.company-section__content .text dl dd{padding:10px 0}}.company-section__content .text dl:last-child{border-bottom:none}.contact-section{background:url("../images/contact-bg.webp") no-repeat center center/cover}.contact-section .container{max-width:1000px;margin:0 auto}.contact-section__heading{color:var(--color-primary)}.contact-section__content{background:var(--glass-bg);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;padding:50px}.contact-section .form-label{display:block;font-size:.9rem;margin-bottom:5px;color:var(--color-primary)}.contact-section .form-row{margin-bottom:20px}.contact-section .form-input-placeholder{width:100%;padding:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--text-color-white);font-family:var(--font-family-ja)}.contact-section .wpcf7-submit{background:var(--color-primary);color:var(--color-white);border:none;padding:15px 50px;border-radius:4px;font-size:1rem;cursor:pointer;transition:.3s;font-weight:bold;display:block;margin:0 auto}.error-section{color:var(--color-white);text-align:center}.error-section__title{font-size:clamp(1rem,4vw,3rem)}