@charset "utf-8";
/******************************************************************
Theme Name: 2026 - SD LEADUE v1
Theme URI: 
Description: 
Author: ORIGAMI WORKS
Author URI: 
Version: 1.0.0
Tags: 

License: WTFPL
License URI: http://sam.zoy.org/wtfpl/
******************************************************************/

/* ==========================================================================
   Setting
========================================================================== */
:root {
  --white: #FFF;
  --l-gray: #F3F4F5;
  --l-gray2: #E6E7E8;
  --gray: #898E93;
  --d-gray: #34373A;
  --d-gray_h: #2A2D30;
  --dd-gray: #1E2123;
  --dd-gray_h: #131415;
  --black: #0E1011;
  --border1: #E5E8EA;
  --border2: #BAC1C6;
  --color1: #FF1744;
  --color1_h: #E4123B;
  --color2: #2962FF;
  --color2_h: #2158EF;
  --color3: #FFEB3B;
  --color3_h: #F1DC25;
  --highlight: #FFF0F3;
  --ui-color1: #0099FF;
  --ui-color1_h: #008BE7;
  --gradation: radial-gradient(circle at 0 0, #0099CE, #EA49D3);
  --red: #FF1744;
  --blue: #2962FF;
  --green: #00A968;
  --yellow: #FFEB3B;
  --pointColor: #FFEB3B;
  --font1: 'Barlow Semi Condensed', 'Noto Sans JP', sans-serif;
  --fontAw: 'Font Awesome 6 Free';
  --fontAw_b: 'Font Awesome 6 Brands';
}

/* ==========================================================================
   Loading
========================================================================== */
body #container::before {
  content: '';
  width: 100%;
  height: 100%;
  background: #D4D6D8;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 994;
  transition: .6s cubic-bezier(.39, .575, .565, 1);
}
body.loaded #container::before {
  opacity: 0;
  pointer-events: none;
}
@keyframes fadein{
  0%   { opacity: 0;
  }
  100% { opacity: 1;
  }
}

/* ==========================================================================
   Animation
========================================================================== */
.iv {
  opacity: 0;
}
.iv + .iv {
  animation-delay: .2s;
}

/* ==========================================================================
   Base
========================================================================== */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-size: 3.7334vw;
}

body {
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  background-color: var(--white);
  width: 100%;
  overflow-x: hidden;
  overflow-y: scroll !important;
  line-height: 2;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
@media (min-width: 576px) {
  html { font-size: 1.9532vw; }
}
@media (min-width: 768px) {
  html { font-size: 1.625vw; }
}
@media (min-width: 992px) {
  html { font-size: 100%; }
}
@media (min-width: 1200px) {
  html { font-size: calc(100% + .2vw); }
}

/* ==========================================================================
   Print Only
========================================================================== */
.print-only {
  display: none !important;
}

/* ==========================================================================
   Layout
========================================================================== */
#container {
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 auto;
  transition: opacity .3s cubic-bezier(0.95, 0.05, 0.795, 0.035);
  position: relative;
}

#content {
  /*
  border-bottom: 2px solid var(--black); */
}
body:not(.mv) #content {
  padding-top: 5rem;
}

#main {
  padding-bottom: 3em;
  overflow: hidden;
}

/* ==========================================================================
   Header
========================================================================== */
#siteHeader {
  font-size: 1rem;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1002;
  margin: 0 auto;
  background: var(--black);
  color: var(--white);
}
#siteHeader::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: var(--black);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform: translateY(-100%);
  transition: transform .6s;
}
#siteHeader.fixed::before {
  transform: translateY(0);
}
#siteHeader a {
  text-decoration: none;
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 5rem;
  transition: 0.2s;
}
.header__logo {
  line-height: 1.25;
  display: inline-block;
}
.header__logo a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}
.header__logo img {
  display: block;
  width: 120px;
  height: 32px;
}
.header__logo a span {
  display: inline-block;
  font-family: var(--font1);
  font-size: 1.375em;
  font-style: normal;
  margin: 0 0 .075em .25em;
  color: var(--color1);
  white-space: nowrap;
}

.mv #siteHeader {
  background: transparent;
}

@media (min-width: 992px) {
  .header__logo img {
    width: 184px;
    height: 40px;
  }
}

/* ==========================================================================
   Global Navigation
========================================================================== */
nav a {
  display: block;
  text-decoration: none;
}
nav ul {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 0;
  margin: 0;
}
nav ul li a {
  display: block;
  color: inherit;
  text-decoration: none;
  line-height: 1.25;
  padding: .75em 1em;
}
nav ul li ul.sub-menu li a,
nav ul li ul.children li a {
  padding-left: 30px;
}
nav ul li a span,
nav ul li a em {
  display: block;
  font-style: normal;
}


.gNav {
  font-size: 1rem;
  flex: 1 1 100%;
  max-width: 100%;
  height: 100dvh;
  background: rgba(0,0,0,0.4);
  position: fixed;
  top: 0;
  right: 0;
  left: 0;

  display: none;   
}
.gNav__inner {
  display: flex;
  height: 100%;
  width: max(22em, 30vw);
  background: var(--black);
  color: var(--white);
  position: absolute;
  top: 0;
  right: 0;
    
  opacity: 0;
  transform: translateX(100%);
  transition: 1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
.gNav .navBar {
  width: 100%;
  display: flex;
  flex-direction: column;
  font-size: .923em;
  overflow-y: auto;
  padding-top: 5em;
  padding-bottom: 2em;
}
.gNav .navBar ul {
  display: flex;
  justify-content: flex-end;
  margin: 0;
}
.gNav .navBar > ul {
  margin: 1em 12.5%;
}
.gNav .navBar > ul.main-menu,
.gNav .navBar > ul.sub-menu {
  flex-direction: column;
}
.gNav .navBar ul li {
  clip-path: inset(100% 0 0);
  -webkit-clip-path: inset(100% 0 0);
  transition: clip-path .8s .5s;
}

.gNav .navBar ul li a {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .25em 0;
  overflow: hidden;
}
.gNav .navBar > ul > li > a span {
  display: block;
  font-size: .75em;
  letter-spacing: .16em;
  opacity: .5;
  transition: opacity .2s;
}
.gNav .navBar > ul > li > a:hover span {
  opacity: 1;
}
.gNav .navBar > ul > li > a em {
  display: block;
  font-family: var(--font1);
  font-size: 1.75em;
  font-weight: 700;
  letter-spacing: .04em;
  position: relative;
}
.gNav .navBar > ul > li > a em::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .2s;
}
.gNav .navBar > ul > li > a:hover em::after {
  transform-origin: left;
  transform: scale(1);
}

/* sub-menu */


/* sns-nav */
.sns-nav {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
.sns-nav li a {
  display: block;
  padding: .65em !important;
}
.sns-nav li a svg {
  fill: currentColor;
}


/* OPEN */
.gNav.on .gNav__inner{
  opacity: 1;
  transform: translateX(0);
}
.gNav.on .navBar ul li {
  clip-path: inset(0 0 0);
  -webkit-clip-path: inset(0 0 0);
}

/* Print Btn */
.print-btn {
  color: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 5em;
  height: 5em;
  position: relative;
  z-index: 2;
  transition: .5s;
}
.print-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4em;
  height: 4em;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
@media(max-width:767px){
  .print-btn {
    display: none;
  }
}


/* Nav Btn */
.nav-btn {
  color: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 5em;
  height: 5em;
  position: relative;
  z-index: 2;
  transition: .5s;
}
.nav-btn::before {
  content: '';
  width: 4em;
  height: 4em;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.nav-btn i{
  display: block;
  background: currentColor;
  width: 36%;
  height: 2px;
  position: absolute;
  left: 32%;
  margin-top: -1px;
  transition: transform .3s, top .2s .3s;
}
.nav-btn i:nth-of-type(1){
  top: 50%;
}
.nav-btn i:nth-of-type(2){
  top: 40%;
}
.nav-btn i:nth-of-type(3){
  top: 60%;
}
.nav-btn.on i{
  transition: transform .3s .3s, top .2s;
}
.nav-btn.on i:nth-of-type(1){
  transform:scaleX(0);
}
.nav-btn.on i:nth-of-type(2){
  top: 50%;
  transform: rotate(30deg);
}
.nav-btn.on i:nth-of-type(3){
  top: 50%;
  transform: rotate(-30deg);
}


/* ==========================================================================
   User Menu
========================================================================== */
#siteHeader .userMenu {
  position: relative;
  z-index: 2;
}
#siteHeader .userMenu > nav > ul {
  display: flex;
  align-items: center;
}
#siteHeader .userMenu .switch {
  display: flex;
  align-items: center;
}
#siteHeader .userMenu .icon-switch {
  display: block;
  width: 60px;
  height: 60px;
  padding: 0 10px !important;
  line-height: 60px;
  font-size: 20px;
  text-align: center;
}
#siteHeader .userMenu .icon-switch i.off {
  opacity: .5;
}
#siteHeader .userMenu .counter {
  display: inline-block;
  text-align: center;
  border-radius: 7px;
  font-weight: 600;
  font-size: 10px;
  line-height: 14px;
  padding: 0 5px;
  position: absolute;
  top: 17px;
  left: 32px;
  background-color: var(--red);
  color: var(--white);
}
#siteHeader .userMenu .avatar {
  width: 40px;
  height: 40px;
  vertical-align: middle;
}
#siteHeader .userMenu .display_name {
  font-size: .75rem;
  font-weight: 600;
  padding-left: 10px;
}
#siteHeader .userMenu .sub-menu {
  display: none;
  position: absolute;
  top: 90%;
  right: 15px;
  z-index: 100;
  background-color: var(--white);
  color: var(--dd-gray);
  border-radius: 5px;
  min-width: 200px;
  font-size: .83rem;
  box-shadow: 0 0 10px -2px rgba(0, 0, 0, 0.15);
}
#siteHeader .userMenu .sub-menu.sub-menu_L {
  width: 300px;
  min-height: 261px;
}
#siteHeader .userMenu li {
  position: relative;
}
#siteHeader .userMenu .sub-menu li a {
  padding: 10px 20px;
}
#siteHeader .userMenu .sub-menu li:first-of-type a {
  padding-top: 20px;
}
#siteHeader .userMenu .sub-menu li:last-of-type a {
  padding-bottom: 20px;
}
#siteHeader .userMenu .sub-menu li.logout a {
  font-size: .75rem;
  justify-content: flex-end;
  color: var(--d-gray);
}
#siteHeader .userMenu .sub-menu li a i{
  color: var(--ui-color1);
}

@media (min-width: 768px) {
  #siteHeader .userMenu .sub-menu {
    top: 100%;
    right: -20px;
  }
}
@media (max-width: 767px) {
  #siteHeader .userMenu li.menu-item-has-children > a {
    padding: 5px;
  }
  #siteHeader .userMenu li.menu-item-has-children > a::before {
    display: none;
  }
}




#siteHeader .userMenu .um-members-messaging-btn a.um-button,
#siteHeader .userMenu a.message-btn {
  padding: 0;
  font-size: inherit;
  color: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 5em;
  height: 5em;
  position: relative;
  z-index: 2;
  transition: .5s;
  box-shadow: none;
}
#siteHeader .userMenu .um-members-messaging-btn a.um-button:before,
#siteHeader .userMenu a.message-btn:before {
  margin-right: 0;
  width: 1.25em;
  font-size: 1.25em;
}
#siteHeader .userMenu .um-members-messaging-btn a.um-button > span {
  display: none;
}
#siteHeader .userMenu .um_message_count {
  position: absolute;
  top: 1.5rem;
  right: 1.25rem;
  z-index: 2;
}



/* ==========================================================================
   Login menu
========================================================================== */
.side-nav__btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--black);
  color: var(--white);
  text-align: center;
  position: fixed;
  left: 3vw;
  bottom: 3vw;
  z-index: 1003;
}
.side-nav__btn span,
.side-nav__btn a {
  display: block;
}
.side-nav__btn i {
  line-height: 48px;
}
body.side-open .side-nav__btn i.fa-bars::before {
  content: "\f00d";
}

@media (min-width: 992px) {
  .side-nav__btn {
    display: none;
  }
}


/* ==========================================================================
   Breadcrumb
========================================================================== */
.breadcrumb-wrapper {
  background: var(--l-gray2);
  border-bottom: 1px solid rgba(0,0,0,.1);
  overflow: hidden;
  position: relative;
}
#breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  font-size: .813em;
  line-height: 1.25;
  padding: 1em 0;
}
#breadcrumb ol li {
  display: flex;
  align-items: center;
  padding: .5em 0;
}
#breadcrumb ol li a {
  display: inline-block;
}
#breadcrumb ol .separator {
  display: block;
  padding: .5em .5em;
  color: rgba(0,0,0,.2);
}

/* ==========================================================================
   Sidebar
========================================================================== */
.sidebar {
  width: 22em;
  background-color: var(--white);
}

.sidebar .side-header {
  padding: calc((5rem - 40px)/2) 30px;
}

.sidebar .side-content {
  width: 100%;
  margin: 0 auto;
  padding: 15px 30px;
}
.sidebar .side-content h3 {
  margin-bottom: 20px;
}

.sidebar .btnBox > div {
  position: relative;
  z-index: 1;
}
.sidebar .btnBox > div.or {
  position: relative;
  z-index: 0;
}

.sidebar .side-footer {
  padding: 15px 30px;
}

.sidebar .side-nav li a {
  text-align: left;
  display: flex;
  align-items: center;
  padding: 4px 10px;
  font-size: .92em;
  color: var(--gray);
  text-decoration: none;
  transition: color .2s;
}
.sidebar .menu-icon {
  color: var(--ui-color1);
}
.sidebar .menu-text {
  white-space: nowrap;
}

.sidebar .imgBox a {
  display: block;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: var(--white);
  border: 4px solid var(--white);
  overflow: hidden;
}

@media (min-width: 992px) {
  .sidebar {
    width: 16em;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1003;
  }
  .sidebar .side-content {
    max-width: 100%;
  }
  .sidebar .side-content h3 {
    margin-bottom: 25px;
  }
  .sidebar .side-nav li a {
    border-radius: 4px;
  }
  .side-nav-btn {
    cursor: pointer;
  }
}

/* ==========================================================================
   Footer
========================================================================== */
#siteFooter {
  font-size: 1rem;
  background: var(--dd-gray);
  color: var(--white);
  clear: both;
  overflow: hidden;
}
#siteFooter a:hover {
  opacity: .5;
}

#siteFooter .footer-links {
  text-align: center;
}
#siteFooter .footer-links a {
  display: inline-block;
}
#siteFooter .footer-links .sns-nav {
  margin-bottom: 1em;
}
@media (min-width: 768px) {
  #siteFooter .footer-links .sns-nav {
    margin-bottom: 0;
  }
}


#siteFooter .footer-bottom {
  background: var(--black);
  color: var(--white);
  font-size: .813em;
  text-align: center;
  padding: 2em 0;
}
#siteFooter .footer-bottom nav ul {
  justify-content: center;
  margin: 0 -1em;
}
#siteFooter .footer-bottom nav ul li {
  margin: .5em 0;
}
#siteFooter .footer-bottom nav ul li:not(:last-child) {
  border-right: 1px solid currentColor;
}
#siteFooter .footer-bottom nav ul li a {
  padding: 0 1em;
}

#siteFooter .copyright {
  text-align: center;
  padding: 1em 0 3em;
}
#siteFooter .copyright p {
  margin-top: 0;
}

@media (min-width: 768px) {
  #siteFooter .copyright {
    padding: 0;
  }
}

@media (min-width: 992px) {
  #siteFooter .sns-nav {
    margin: 0;
  }
  #siteFooter .footer-bottom__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}


/* ==========================================================================
   Print
========================================================================== */
.page-break {
  display: block;
  break-after: page;
  page-break-after: always;
}

@media print {

  :root {
    --white: black;
  }

  html,body {
    font-size: 12px;
  }

  * {
    /* background: transparent !important; */
    /* color: black !important; */
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important;
  }

  #content {
    margin: 0 !important;
  }

  .container,
  .wrapper,
  .wrapper_M,
  .wrapper_S {
    max-width: 100% !important;
  }


  a, a:visited {
    color: #444 !important;
    text-decoration: underline;
  }
    /*
    a:after, a:visited:after {
      content: " (" attr(href) ")";
      }
    a abbr[title]:after, a:visited abbr[title]:after {
      content: " (" attr(title) ")";
      }
    */

  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }

  thead {
    display: table-header-group;
  }

  tr, img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: 5mm;
  }

  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }

  #siteHeader,
  #siteFooter,
  .sidebar,
  .page__header,
  .page-navigation,
  .wp-prev-next,
  .respond-form,
  nav,
  .no-print {
    display: none !important;
  }

  .print-only {
    display: block !important;
  }

}
