html {
   font-size: 14px;
}

   html:lang(ja) *:not(.logo-font):not(.fa):not(.far):not(.fas):not(.fab):not(.glyphicon) {
      font-family: 'Noto Sans JP', sans-serif;
   }

   html:lang(en) *:not(.fa):not(.far):not(.fas):not(.fab):not(.glyphicon),
   html:lang(en) *:not(.logo-font):not(.fa):not(.far):not(.fas):not(.fab):not(.glyphicon) * {
      font-family: 'Poppins', sans-serif;
   }

.my-logo-font, .my-logo-font *:not(.fa):not(.far):not(.fas):not(.fab):not(.glyphicon) {
   font-family: 'Didact Gothic', sans-serif !important;
}

.my-logo-text {
   letter-spacing: 3px;
}

@media (min-width: 768px) {
   html {
      font-size: 16px;
   }
}

html {
   position: relative;
   min-height: 100%;
}

body {
}

.my-header-logo {
   height: 60px;
}

.my-top-banner {
   width: 100%;
   height: 275px;
   margin: 0px;
   padding: 0px;
   display: block;
   position: relative;
   background-size: cover;
   background-position: center center;
}

.back-to-top {
   position: fixed;
   bottom: 80px;
   right: 10px;
   display: none;
   opacity: .7;
}

/* Positioning */
.center-xy {
   right: 50%;
   bottom: 50%;
   transform: translate(50%,50%);
   position: absolute;
}

/* Initial */
.dropdown-toggle:has(.circle-initial)::after {
   position: relative;
   top: -10px;
}

.circle-initial {
   display: inline-block;
   background-color: #00d53b;
   margin: 2px;
   border-radius: 50%;
}

   .circle-initial .circle-inner {
      color: white;
      display: table-cell;
      vertical-align: middle;
      text-align: center;
      text-decoration: none;
      height: 35px;
      width: 35px;
      font-size: 18px;
   }

   .circle-initial.circle-initial-sm .circle-inner {
      height: 25px;
      width: 25px;
      font-size: 14px;
   }

   .circle-initial.circle-initial-lg .circle-inner {
      height: 50px;
      width: 50px;
      font-size: 25px;
   }

/* Button With Icon */
.btn .btn-label {
   position: relative;
   left: -12px;
   display: inline-block;
   padding: 6px 12px;
   background: rgba(0, 0, 0, 0.15);
   border-radius: 3px 0 0 3px;
}

.btn-sm .btn-label {
   left: -8px;
   padding: 6px 8px;
}

.btn-lg .btn-label {
   left: -16px;
   padding: 8px 14px;
}

.btn.btn-labeled {
   padding-top: 0;
   padding-bottom: 0;
   display: inline-flex;
   align-items: center;
}

.btn-icon {
   color: #0d6efd;
   background-color: transparent;
   border: none;
}

.sold-out-overlay {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: rgba(0, 0, 0, 0.5);
}
