header{background-color:#f8f8f8;padding:20px 0;box-shadow:0 2px 5px rgba(0,0,0,.1);top:0;left:0;width:100%;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}header,nav{position:relative}nav{display:flex;justify-content:center;align-items:center}@media (max-width:768px){nav{justify-content:flex-start;padding-left:20px}}.desktop-menu{list-style:none;display:flex;gap:10px;padding:0;margin:0}.hamburger-button{display:none;flex-direction:column;justify-content:space-between;width:30px;height:24px;background:none;border:none;cursor:pointer;padding:0;z-index:1001}.hamburger-line{width:100%;height:3px;background-color:#333;transition:all .3s ease;transform-origin:center}.hamburger-line.open:first-child{transform:translateY(10.5px) rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:translateY(-10.5px) rotate(-45deg)}.mobile-menu{flex-direction:column;position:absolute;top:100%;left:0;width:100%;background-color:#f8f8f8;box-shadow:0 2px 5px rgba(0,0,0,.1);list-style:none;padding:0;margin:0;max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .3s ease}.mobile-menu.open{max-height:300px;opacity:1}.mobile-menu li{padding:15px 20px;border-bottom:1px solid #e0e0e0;text-align:center}.mobile-menu li:last-child{border-bottom:none}.mobile-menu a{display:block;width:100%;padding:0;transform:none}.mobile-menu a:hover{transform:none}@media (max-width:768px){.desktop-menu{display:none}.hamburger-button,.mobile-menu{display:flex}}a{text-decoration:none;color:#333;font-size:18px;font-weight:700;font-family:"Noto Serif JP",serif;position:relative;display:inline-block;padding:0 10px;transition:color .3s ease,transform .3s ease}a:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:#2ca9e1;transform:scaleX(0);transform-origin:bottom right;transition:transform .3s ease}a:hover{color:#2ca9e1;transform:translateY(-5px)}a:hover:before{transform:scaleX(1);transform-origin:bottom left}a.no{text-decoration:none;color:inherit;font-family:inherit;padding:0;transform:none}a.no:before{content:"";background-color:transparent;height:0;transform:none;transition:none}