/* 共通レイアウト */
.site-header{position:sticky;top:0;z-index:1000;background:var(--color-base);backdrop-filter:blur(8px);border-bottom:1px solid rgba(13,42,82,.08)}
.site-header__inner{display:flex;align-items:center;height:120px;gap:24px}
.site-header__logo{flex-shrink:0}
.site-header__logo img{height:90px;width:auto}
.site-header__nav{margin-left:auto;flex-shrink:0}
.site-header__nav-list{display:flex;gap:8px;list-style:none}
.site-header__nav-list a{display:block;padding:10px 16px;font-family:var(--font-en);font-weight:600;font-size:14px;letter-spacing:.05em;color:var(--color-accent)}
.site-header__nav-list a:hover,.site-header__nav-list a.is-active{color:var(--color-main)}
.site-header__actions{display:flex;gap:12px;flex-shrink:0}
.site-header__menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.site-header__menu-btn span{display:block;width:24px;height:2px;background:var(--color-accent)}
.site-header__mobile-nav{background:#fff;border-top:1px solid rgba(13,42,82,.1);padding:16px 24px}
.site-header__mobile-nav ul{list-style:none}
.site-header__mobile-nav a{display:block;padding:12px 0;font-weight:600;color:var(--color-accent);border-bottom:1px solid rgba(13,42,82,.06)}
/* フッター Figma: Group 65 (347:3577) */
.site-footer{background:var(--color-white)}
.site-footer__body{min-height:618px;background:var(--color-white)}
.site-footer__inner{padding:84px var(--container-padding) 96px}
.site-footer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.site-footer__logo-link{display:block;flex-shrink:0}
.site-footer__logo{width:171px;height:171px;object-fit:contain}
.site-footer__actions{display:flex;align-items:center;gap:18px;flex-shrink:0;padding-top:112px}
.site-footer__btn{border:none;cursor:pointer}
.site-footer__en-nav{display:flex;flex-wrap:wrap;align-items:center;gap:150px;margin-top:58px}
.site-footer__en-nav a{font-family:var(--font-en);font-weight:600;font-size:16px;letter-spacing:.05em;color:var(--color-accent);text-decoration:none;padding:10px;line-height:1}
.site-footer__en-nav a:hover{color:var(--color-main)}
.site-footer__columns{display:grid;grid-template-columns:repeat(4,186px);gap:71px;margin-top:10px}
.site-footer__col-line{display:block;width:185px;height:1px;margin:0 0 10px;border:none;background:var(--color-main)}
.site-footer__col-links{display:flex;flex-direction:column}
.site-footer__col-links a{font-weight:600;font-size:16px;line-height:40px;color:var(--color-text);text-decoration:none}
.site-footer__col-links a.is-underline{text-decoration:underline;text-underline-offset:3px}
.site-footer__col-links a:hover{color:var(--color-main)}
.site-footer__bar{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:54px;background:var(--color-accent);padding:13px 24px}
.site-footer__policies{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 24px}
.site-footer__policies a{font-weight:600;font-size:14px;line-height:28px;color:var(--color-base);text-decoration:none;white-space:nowrap}
.site-footer__policies a:hover{opacity:.85}
.site-footer__copyright{margin:0;font-weight:600;font-size:16px;line-height:28px;color:var(--color-base);text-align:center}
.page-hero{background:var(--color-base);padding:120px 0 64px;text-align:center}
.page-hero__en{font-family:var(--font-en);font-weight:700;font-size:14px;letter-spacing:.2em;color:var(--color-main);margin-bottom:12px}
.page-hero__ja{font-size:clamp(28px,4vw,40px);font-weight:700;color:var(--color-accent)}
.subpage{background:#fff}
.subpage__content{padding:64px 0 80px}
.tab-nav{display:flex;justify-content:center;border-bottom:2px solid var(--color-base);margin-bottom:48px}
.tab-nav a{padding:16px 32px;font-family:var(--font-en);font-weight:600;font-size:14px;color:var(--color-text-muted);border-bottom:2px solid transparent;margin-bottom:-2px}
.tab-nav a.is-active,.tab-nav a:hover{color:var(--color-main);border-bottom-color:var(--color-main)}
.contact-cta{background:var(--color-base);padding:80px 0}
.contact-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.contact-cta__label{font-family:var(--font-en);font-weight:700;font-size:14px;letter-spacing:.15em;color:var(--color-main)}
.contact-cta__title{font-size:32px;font-weight:700;color:var(--color-accent);margin:8px 0}
.contact-cta__desc{color:var(--color-text-muted)}
