/* 掲載先サイトの共通フォント・テーマ・ヘッダーメニュー */
body{font-family:'Inter','游ゴシック Medium','Yu Gothic Medium','ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN',sans-serif}
:root{--theme-color-base:#ff0265;--theme-color-dark:#c5004f;--theme-color-darker:#a30042;--theme-color-medium:#ff5c9d;--theme-color-light:#ff85b5;--theme-color-lighter:#ffcadf;--theme-color-lightest:#fff5f7}
.hamburger-lines{display:flex;flex-direction:column;gap:6px}
.hamburger-line{display:block;width:24px;height:2px;background-color:currentColor;transition:transform .3s ease,opacity .3s ease}
.menu-open .hamburger-line:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-open .hamburger-line:nth-child(2){opacity:0}
.menu-open .hamburger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-nav{max-height:0;overflow:hidden;transition:max-height .4s ease-out,opacity .3s ease-out;opacity:0;visibility:hidden}
.mobile-nav.menu-visible{max-height:calc(100dvh - 80px);overflow-y:auto;opacity:1;visibility:visible}
@media(min-width:1024px){.mobile-nav{max-height:none;overflow:visible;opacity:1;visibility:visible;transition:none}}
.site-header nav a:not(.site-contact):hover{color:var(--theme-color-dark)}
.site-contact{background:var(--theme-color-base)}
.site-contact:hover{background:var(--theme-color-dark)}
.site-header button{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
@media(min-width:1024px){.site-header button{display:none}}
@media(min-width:1024px) and (max-width:1279px){.site-header nav ul>li+li{margin-left:20px}.site-header nav a{white-space:nowrap}}
:focus-visible{outline:3px solid var(--theme-color-dark);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.hamburger-line,.mobile-nav{transition:none}}
