  /*
scroll-lock
*/
body.is-scroll-lock { position: fixed; width: 100%; height: 100%; left: 0; }

/*
com - nav(add)
*/
@media print, screen and (min-width: 1025px) { .com-header { position: relative; z-index: 1001; } }

@media print, screen and (max-width: 1024px) { .com-header__open-button1-tb { line-height: 1.1 !important; padding: 11px 32px 9px 16px !important; font-size: 15px !important; }
  .com-header__open-button1-tb small { display: block; font-size: 11px; } }

.com-header__sub-logoimg-pc a, .com-header__open-logoimg-tb a { font-weight: bold; font-size: 112.5%; }

.com-header__open-tb { overflow-y: auto; max-height: 100vh; }

/*
com - header-fixed
*/
.com-header-fixed { position: relative; z-index: 1002; }

.com-header-fixed[data-header-fixed="false"] .com-header-fixed__inner { position: static; }

.com-header-fixed[data-header-fixed="true"] .com-header-fixed__inner { position: fixed; top: 0; width: 100%; }

/*
layout - nav
*/
.l-nav { background: #f5f5f5; }

@media print, screen and (min-width: 1025px) { .l-nav { position: relative; z-index: 1001; }
  .l-nav__inner { max-width: 1280px; margin-right: auto; margin-left: auto; padding-right: 16px; padding-left: 16px; } }

@media print, screen and (max-width: 1024px) { .l-nav { display: none; } }

/*
layout - nav-main
*/
@media print, screen and (min-width: 1025px) { .l-nav-main { display: flex; }
  .l-nav-main > .l-nav-main__item:first-child { border-left: 1px solid #fff; }
  .l-nav-main > .l-nav-main__item { flex-grow: 1; width: 100%; }
  .l-nav-main > .l-nav-main__item > a { display: flex; align-items: center; box-sizing: border-box; height: 100%; padding: 14px; border-right: 1px solid #fff; text-align: center; line-height: 1.5; font-weight: bold; color: #2f2f2f; font-size: 16px; }
  .l-nav-main > .l-nav-main__item > a > span { flex-grow: 1; display: block; }
  .l-nav-main > .l-nav-main__item > a small { display: block; font-size: 12px; font-weight: normal; }
  .l-nav-main > .l-nav-main__item > a:hover, .l-nav-main > .l-nav-main__item[data-menu-item="event,true"] > a { color: #e60012; opacity: 1 !important; background-color: #fff; } }

/*
layout - nav-mega
*/
.l-nav-mega { position: absolute; left: 0; width: 100%; background: #fff; }

@media print, screen and (min-width: 1025px) { .l-nav-mega { display: none; z-index: 1001; }
  .l-nav-mega__inner { max-width: 1280px; margin-right: auto; margin-left: auto; padding-right: 16px; padding-left: 16px; padding-top: 50px; padding-bottom: 50px; }
  .l-nav-mega__title { margin-bottom: 20px; position: relative; padding-left: 7.5px; padding-left: 18px; }
  .l-nav-mega__title::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; left: 0; transform: translate(7.5px, 3px) rotate(135deg); transform-origin: top left; border-top: 2px solid #e60012; border-left: 2px solid #e60012; width: 8px; height: 8px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }
  .l-nav-mega__title a { font-size: 18px; color: #263163; font-weight: bold; }
  .l-nav-mega__nav { margin-left: 18px; margin-right: 18px; }
  .l-nav-mega__nav ul { display: flex; flex-wrap: wrap; margin-right: -3%; }
  .l-nav-mega__nav li { width: calc(25% - 3%); margin-right: 3%; }
  .l-nav-mega__nav a { display: block; border-bottom: 1px solid #e0e0e0; padding: 12px 0 8px; color: #263163; font-size: 90%; }
  .l-nav-mega__nav--3col li { width: calc(33.33333% - 3%); margin-right: 3%; } }

@media print, screen and (max-width: 1024px) { .l-nav-mega { display: none; } }

/*
layout - nav-mega-overlay
*/
.l-nav-mega-overlay { display: none; z-index: 1000; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background-color: rgba(0, 0, 0, 0.66); }

/*
project - sns
*/
.p-sns { padding: 60px 0 30px 0; display: flex; justify-content: center; }

@media screen and (max-width: 767px) { .p-sns { padding: 40px 0 40px 0; } }

.p-sns li:not(:last-child) { margin-right: 2rem; }

.p-sns img { width: 70px; }

@media screen and (max-width: 767px) { .p-sns img { width: 60px; } }
