@charset "UTF-8";
[unselectable=on] {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.sb-lvl-1-cat > a, .sb-lvl-2-cat {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }

.clear:before, .clear:after {
  content: ' ';
  display: table; }

.clear {
  *zoom: 1; }
  .clear:after {
    clear: both; }

/*! sanitize.css v2.0.0 | CC0 1.0 Public Domain | github.com/jonathantneal/sanitize.css */
/*
 * Normalization
 */
:root {
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%; }

audio:not([controls]) {
  display: none; }

button {
  overflow: visible; }

details {
  display: block; }

input[type="number"] {
  width: auto; }

input[type="search"] {
  -webkit-appearance: textfield; }
  input[type="search"]::-webkit-search-cancel-button,
  input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

main {
  display: block; }

summary {
  display: block; }

pre {
  overflow: auto; }

progress {
  display: inline-block; }

small {
  font-size: 75%; }

template {
  display: none; }

textarea {
  overflow: auto; }

[hidden] {
  display: none; }

/*
 * Universal inheritance
 */
*,
::before,
::after {
  box-sizing: inherit; }

* {
  font-size: inherit;
  line-height: inherit; }

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit; }

/*
 * Opinionated defaults
 */
*,
::before,
::after {
  border-style: solid;
  border-width: 0; }

* {
  margin: 0;
  padding: 0; }

:root {
  box-sizing: border-box;
  cursor: default;
  font: 100%/1.5 sans-serif;
  text-rendering: optimizeLegibility; }

html {
  background-color: #FFFFFF;
  color: #000000; }

a {
  text-decoration: none; }

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

button,
input,
select,
textarea {
  background-color: transparent; }

button,
input,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit; }

button,
[type="button"],
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="reset"],
[type="search"],
[type="submit"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
select,
textarea {
  min-height: 1.5em; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; }

nav ol,
nav ul {
  list-style: none; }

select {
  -moz-appearance: none;
  -webkit-appearance: none; }
  select::-ms-expand {
    display: none; }
  select::-ms-value {
    color: currentColor; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

textarea {
  resize: vertical; }

::-moz-selection {
  background-color: #B3D4FC;
  color: #4c2b03;
  text-shadow: none; }

::selection {
  background-color: #B3D4FC;
  color: #4c2b03;
  text-shadow: none; }

[aria-busy="true"] {
  cursor: progress; }

[aria-controls] {
  cursor: pointer; }

[aria-disabled] {
  cursor: default; }

[hidden][aria-hidden="false"] {
  clip: rect(0 0 0 0);
  display: inherit;
  position: absolute; }
  [hidden][aria-hidden="false"]:focus {
    clip: auto; }

* {
  box-sizing: border-box;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  outline: none !important; }

html {
  font-size: 62.5%; }

body {
  font: 300 16px/1 HelveticaNeueW01-45Ligh, HelveticaNeueW02-45Ligh, HelveticaNeueW10-45Ligh, 'Helvetica Neue', Helvetica, Arial, メイリオ, Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
  font-weight: 200;
  color: #20303c; }

textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
  border-color: rgba(126, 239, 104, 0);
  box-shadow: 0;
  outline: 0 none; }

input {
  margin-left: 70px;
  transition: all 900ms cubic-bezier(0.23, 1, 0.32, 1);
  z-index: 10;
  font-size: 16px;
  letter-spacing: 0.5px; }

a:link,
a:focus,
a:visited,
a:active,
a:hover {
  text-decoration: none;
  cursor: pointer; }

a {
  color: #000;
  cursor: pointer; }

a[disabled] {
  cursor: default;
  pointer-events: none; }

label {
  font-size: 16px; }

ul {
  list-style: none; }

p {
  font-size: 16px; }

textarea {
  resize: none; }

i {
  margin-right: 5px; }

hr {
  border-color: #999999; }

main {
  display: block;
  unicode-bidi: isolate; }

::-moz-selection {
  background: #333;
  color: #fff;
  text-shadow: none; }

::selection {
  background: #333;
  color: #fff;
  text-shadow: none; }

::-moz-selection {
  background: #333;
  color: #fff;
  text-shadow: none; }

::-webkit-selection {
  background: #333;
  color: #fff;
  text-shadow: none; }

.button-prev, .button-first {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1); }

@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

html {
  min-width: 700px; }

html.using-optiscroll {
  overflow: hidden !important; }

body, html {
  min-height: 100vh;
  width: 100%;
  height: auto;
  overflow-x: hidden; }

.app-wrapper {
  padding-top: 78px; }
  .app-wrapper.optiscroll-content {
    overflow-x: hidden; }

main {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100vw; }

h1 {
  font-size: 48px;
  font-weight: 100;
  text-align: center;
  line-height: 63px; }

h2 {
  font-size: 20px;
  /* Approximation due to font substitution */
  font-weight: 500; }

h5 {
  font-size: 16px;
  font-weight: 200;
  margin-bottom: 10px; }

.wm-drop-down-settings-component {
  background-color: transparent; }

/**************************************
 *  Optiscroll container base style
 */
.optiscroll {
  position: relative;
  overflow: hidden; }

.optiscroll-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: auto;
  overflow-scrolling: touch; }

/**************************************
 *  Optiscroll scrollbars base style
 */
.optiscroll-v,
.optiscroll-h {
  position: absolute;
  z-index: 999999;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.optiscroll-v {
  right: 0; }

.optiscroll-h {
  bottom: 0; }

/**************************************
 *  Optiscroll tracks base style
 */
.optiscroll-vtrack,
.optiscroll-htrack {
  display: block;
  position: absolute;
  opacity: 0;
  -webkit-transform: translate(0%, 0%);
          transform: translate(0%, 0%);
  box-sizing: border-box; }

/* track visible only when enabled */
.vtrack-on > .optiscroll-v .optiscroll-vtrack {
  opacity: 1; }

.htrack-on > .optiscroll-h .optiscroll-htrack {
  opacity: 1; }

/**************************************
 *  Prevent parent scroll
 *  even when content is not longer enough.
 */
/* Uncomment to prevent VERTICAL scrolling. */
/*
.optiscroll-prevent > .optiscroll-content:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  border-bottom: 2px solid transparent;

  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
*/
/* Uncomment to prevent HORIZONTAL scrolling. */
/*
.optiscroll-prevent > .optiscroll-content:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  border-right: 2px solid transparent;

  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
*/
/**************************************
 *  CUSTOM STYLE
 *  feel free to change stuff
 **************************************/
/***
 ***  Scrollbars style  ***/
.optiscroll-v,
.optiscroll-h {
  background: transparent;
  /* Scrollbars are visible only on hover */
  opacity: 0;
  transition: opacity 0.2s ease 0s; }
  .optiscroll-v.-visible,
  .optiscroll-v:hover,
  .optiscroll-h.-visible, .optiscroll-h:hover {
    opacity: 1; }

.optiscroll.vtrack-on > .optiscroll-content:hover ~ .optiscroll-v {
  opacity: 1; }

.optiscroll.htrack-on > .optiscroll-content:hover ~ .optiscroll-h {
  opacity: 1; }

.optiscroll-v {
  top: 0;
  bottom: 0;
  width: 14px; }

.optiscroll-h {
  left: 0;
  right: 0;
  height: 14px; }

/* Avoid overapping while both scrollbars are enabled */
.vtrack-on.htrack-on > .optiscroll-v {
  bottom: 18px; }

.vtrack-on.htrack-on > .optiscroll-h {
  right: 18px; }

/***
 ***  Tracks style  ***/
.optiscroll-vtrack,
.optiscroll-htrack {
  background: #82ccf8;
  border-radius: 8px; }

.optiscroll-vtrack {
  width: 8px;
  right: 6px; }

.optiscroll-htrack {
  height: 8px;
  bottom: 6px; }

header {
  position: absolute;
  top: 0;
  width: 100%;
  min-height: 77px;
  cursor: pointer;
  margin-bottom: 20px;
  box-sizing: content-box; }

.page-header {
  padding: 54px 0 49px;
  margin-left: -20px;
  margin-right: -20px;
  font-size: 32px;
  line-height: 42px;
  font-family: "HelveticaNeueW01-Thin", "HelveticaNeueW02-Thin", "HelveticaNeueW10-35Thin", "Helvetica Neue Light", "'Helvetica Neue', Helvetica, Arial, メイリオ, Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif"; }

@media (min-width: 64em) {
  .page-header {
    margin-left: auto;
    margin-right: auto;
    font-size: 40px;
    line-height: 48px;
    letter-spacing: 1.4px; } }

@media (min-width: 90.25em) {
  .page-header {
    padding: 82px 0 76px;
    font-size: 48px;
    line-height: 60px; } }

.pg-page, .pg-button {
  display: inline-block;
  margin: auto; }
  .pg-page > a:hover, .pg-button > a:hover {
    color: #4eb7f5; }
  .-active.pg-page, .-active.pg-button, .-disabled.pg-page, .-disabled.pg-button {
    cursor: default;
    pointer-events: none; }
    .-active.pg-page > a, .-active.pg-button > a, .-disabled.pg-page > a, .-disabled.pg-button > a {
      color: #c2c7cb; }

.pg-pagination {
  margin: 63px auto 0;
  font-size: 24px;
  line-height: 36px;
  text-align: center;
  font-family: "HelveticaNeueW01-45Ligh", "HelveticaNeueW02-45Ligh", "HelveticaNeueW10-45Ligh", "'Helvetica Neue', Helvetica, Arial, メイリオ, Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif"; }

.pg-page.-ellipsis {
  cursor: default;
  pointer-events: none; }

.pg-button > a > svg {
  width: 8px;
  height: 15px;
  vertical-align: middle;
  margin-bottom: 4px; }

.pg-button > a:hover > svg > polygon {
  fill: #4eb7f5; }

.pg-button.-active, .pg-button.-disabled {
  cursor: default;
  pointer-events: none; }
  .pg-button.-active > a > svg > polygon, .pg-button.-disabled > a > svg > polygon {
    fill: #c2c7cb; }

.pg-button.-first > a > svg, .pg-button.-last > a > svg {
  width: 14px;
  height: 10px; }

.pg-button.-first > a > svg, .pg-button.-prev > a > svg {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1); }

.pg-page > a {
  padding: 0 12px; }

.pg-button.-prev > a {
  padding-right: 12px;
  padding-left: 18px; }

.pg-button.-next > a {
  padding-right: 18px;
  padding-left: 12px; }

@media (min-width: 64em) {
  .pg-page {
    padding: 0 18px; }
  .pg-button.-prev {
    padding-right: 18px; }
  .pg-button.-next {
    padding-left: 18px; } }

@media (min-width: 90.25em) {
  .pg-pagination {
    font-size: 32px;
    font-family: "HelveticaNeueW01-Thin", "HelveticaNeueW02-Thin", "HelveticaNeueW10-35Thin", "Helvetica Neue Light", "'Helvetica Neue', Helvetica, Arial, メイリオ, Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif"; }
  .pg-button > a > svg {
    width: 9px;
    height: 17px;
    margin-bottom: 4px; }
  .pg-button.-first > a > svg, .pg-button.-last > a > svg {
    width: 16px;
    height: 12px; } }

.sb-wrapper {
  display: block;
  position: absolute;
  top: 1px;
  right: auto;
  bottom: 0px;
  left: auto;
  box-sizing: content-box;
  width: 312px;
  height: 100%;
  margin: 0;
  overflow: hidden; }
  .sb-wrapper.optiscroll {
    clip: rect(auto, 312px, auto, auto); }

.sb-sidebar {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  width: 312px;
  float: left;
  position: absolute;
  top: 1px;
  bottom: 0;
  font-family: "HelveticaNeueW01-45Ligh", "HelveticaNeueW02-45Ligh", "HelveticaNeueW10-45Ligh", "'Helvetica Neue', Helvetica, Arial, メイリオ, Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif";
  letter-spacing: .2px;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0;
  left: 0;
  right: auto;
  transition: -webkit-transform 0.3s cubic-bezier(0.755, 0.05, 0.855, 0.06);
  transition: transform 0.3s cubic-bezier(0.755, 0.05, 0.855, 0.06); }
  .-sidebar-open .sb-sidebar {
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1); }
  .-sidebar-closed .sb-sidebar {
    -webkit-transform: translateX(-100%) translateZ(0);
            transform: translateX(-100%) translateZ(0); }
  .sb-sidebar.-transitioning {
    overflow: hidden !important; }
    .sb-sidebar.-transitioning + .optiscroll-v {
      opacity: 0; }
  .sb-sidebar > h2 {
    width: 100%;
    padding-left: 48px;
    font-family: "HelveticaNeueW01-55Roma", "HelveticaNeueW02-55Roma", "HelveticaNeueW10-55Roma", "'Helvetica Neue', Helvetica, Arial, メイリオ, Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif";
    margin-bottom: 25px;
    color: #43515c; }
  .sb-wrapper > .sb-sidebar {
    top: 0; }
  .sb-sidebar.-fixed {
    position: fixed;
    top: 1px; }
    .sb-sidebar.-fixed + .optiscroll-v {
      position: fixed;
      top: 1px;
      left: 298px; }
      .-sidebar-closed .sb-sidebar.-fixed + .optiscroll-v {
        display: none; }
  .sb-sidebar.-to-bottom {
    position: absolute; }
    .sb-sidebar.-to-bottom + .optiscroll-v {
      position: absolute; }

.sb-separator {
  width: 222px;
  margin-left: 48px;
  height: 1px;
  background-color: rgba(32, 48, 60, 0.1); }
  .sb-separator.-blue {
    background-color: #4eb7f5; }

.sbs-switch, .sbs-icon {
  position: absolute;
  z-index: 999;
  top: 15px;
  left: 48px;
  width: 50px;
  height: 50px;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  border-radius: 50%;
  cursor: pointer; }
  .-fixed.sbs-switch, .-fixed.sbs-icon {
    position: fixed; }
  .-to-bottom.sbs-switch, .-to-bottom.sbs-icon {
    position: absolute;
    top: auto;
    bottom: 350px; }

.sbs-switch:checked + .sbs-icon > .sbs-stroke, .sbs-collapse > .sbs-stroke {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg); }
  .sbs-switch:checked + .sbs-icon > .sbs-stroke > .sbs-circle, .sbs-collapse > .sbs-stroke > .sbs-circle {
    fill: #ffffff;
    stroke-dashoffset: 157; }

.sbs-switch:checked + .sbs-icon > .sbs-arrow, .sbs-collapse > .sbs-arrow {
  -webkit-transform: translateX(-13px) translateZ(0);
          transform: translateX(-13px) translateZ(0); }
  .sbs-switch:checked + .sbs-icon > .sbs-arrow > .sbs-arrow-hand:first-child, .sbs-collapse > .sbs-arrow > .sbs-arrow-hand:first-child {
    -webkit-transform: rotate(-44deg);
            transform: rotate(-44deg); }
  .sbs-switch:checked + .sbs-icon > .sbs-arrow > .sbs-arrow-hand:last-child, .sbs-collapse > .sbs-arrow > .sbs-arrow-hand:last-child {
    -webkit-transform: rotate(44deg);
            transform: rotate(44deg); }

.sbs-switch:checked + .sbs-icon:hover > .sbs-stroke > .sbs-circle, .sbs-collapse:hover > .sbs-stroke > .sbs-circle {
  fill: transparent; }

.sbs-switch:checked + .sbs-icon:hover > .sbs-arrow > .sbs-arrow-hand, .sbs-collapse:hover > .sbs-arrow > .sbs-arrow-hand {
  border-color: #4eb7f5; }

.sbs-switch {
  margin: 0;
  opacity: 0;
  z-index: 9999; }
  .sbs-switch:checked {
    top: 20px;
    -webkit-transform: translateX(192px) translateZ(0);
            transform: translateX(192px) translateZ(0); }
    .sbs-switch:checked + .sbs-icon {
      -webkit-transform: translateX(192px) translateZ(0);
              transform: translateX(192px) translateZ(0); }
  .sbs-switch:hover + .sbs-icon > .sbs-stroke > .sbs-circle {
    fill: #4eb7f5;
    stroke: #4eb7f5; }
  .sbs-switch:hover + .sbs-icon > .sbs-arrow > .sbs-arrow-hand {
    border-color: #ffffff; }
  .sbs-switch.-hidden {
    visibility: hidden; }
    .sbs-switch.-hidden + .sbs-icon {
      visibility: hidden; }

.sbs-icon.-transitioning > .sbs-stroke > .sbs-circle {
  fill: #ffffff !important; }

.sbs-icon.-transitioning > .sbs-arrow > .sbs-arrow-hand {
  border-color: #459fed !important; }

.sbs-collapse {
  position: absolute;
  top: 14px;
  left: 240px;
  width: 50px;
  height: 50px; }
  .sbs-collapse > .sbs-arrow {
    cursor: pointer; }
  .sbs-collapse.-hidden {
    visibility: hidden; }

.sbs-stroke {
  transition: -webkit-transform 0.4s 0.4s;
  transition: transform 0.4s 0.4s;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg); }
  .sbs-stroke > .sbs-circle {
    fill: #ffffff;
    stroke: #459fed;
    stroke-width: 1px;
    cx: 25px;
    cy: 25px;
    r: 23px;
    stroke-dasharray: 157;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 0.5s 0.3s cubic-bezier(0.5, 0.5, 0.5, 0.5); }
  .sbs-stroke.-absolute {
    position: absolute;
    top: 0;
    left: 0; }

.sbs-arrow {
  position: absolute;
  top: 23px;
  left: 30.5px;
  width: 15px;
  height: 15px;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  transition: -webkit-transform 0.1s 0.3s;
  transition: transform 0.1s 0.3s; }
  .sbs-arrow > .sbs-arrow-hand {
    position: relative;
    left: 1px;
    width: 100%;
    margin: 0 auto;
    color: black;
    border-bottom: 1px solid #459fed;
    transition: -webkit-transform 0.2s 0.2s ease-in;
    transition: transform 0.2s 0.2s ease-in;
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%; }
    .sbs-arrow > .sbs-arrow-hand:first-child {
      -webkit-transform: rotate(-135deg);
              transform: rotate(-135deg);
      top: 1px; }
    .sbs-arrow > .sbs-arrow-hand:last-child {
      -webkit-transform: rotate(135deg);
              transform: rotate(135deg);
      left: 0; }

.sb-search {
  width: 222px;
  margin-left: 48px;
  margin-top: 76px;
  color: #66737c;
  padding: 13px 0;
  padding-left: 26px;
  background: url("../img/search.svg") no-repeat #fff;
  background-size: 16px 16px;
  background-position: 0 14px; }
  .ff .sb-search {
    padding-top: 8px;
    padding-bottom: 10px;
    line-height: 26px; }
  .sb-search + .sb-separator {
    margin-bottom: 37px; }
    .-no-js .sb-search + .sb-separator {
      visibility: hidden; }
  .sb-search.-active {
    color: #20303c; }
  .-no-js .sb-search {
    display: none; }

.sb-lvl-1-cat > label, .sb-lvl-1-cat > a, .sb-lvl-2-cat {
  width: 100%;
  padding-left: 48px;
  display: block;
  padding-top: 13px;
  padding-bottom: 13px;
  text-indent: 26px;
  letter-spacing: 0.5px;
  cursor: pointer; }
  .sb-lvl-1-cat > label:hover, .sb-lvl-1-cat > a:hover, .sb-lvl-2-cat:hover {
    color: #4eb7f5; }

.sb-lvl-1-cat.-active > a, .sb-lvl-2-cat.-active, .sb-lvl-2-cat.-active:after, .sb-filters > li.-active {
  background-color: #d3edff;
  color: #20303c; }
  .sb-lvl-1-cat.-active > a > a, .sb-lvl-2-cat.-active > a, .sb-lvl-2-cat.-active:after > a, .sb-filters > li.-active > a {
    color: #20303c; }
  .sb-lvl-1-cat.-active > a:hover, .sb-lvl-2-cat.-active:hover, .sb-lvl-2-cat.-active:hover:after, .sb-filters > li.-active:hover {
    color: #20303c; }

.sb-categories {
  margin-top: -13px; }

.sb-lvl-1-cat {
  position: relative;
  overflow: hidden; }
  .sb-lvl-1-cat:last-child {
    margin-bottom: 57px; }
  .sb-lvl-1-cat > label {
    position: absolute;
    width: auto;
    text-indent: 16px;
    z-index: 10;
    background: url("../img/button-category.svg") no-repeat 54px 15px/6px 12px;
    -webkit-transform-origin: 54px 21px;
            transform-origin: 54px 21px; }
  .sb-lvl-1-cat > a {
    transition: text-indent 0.2s; }
    .sb-lvl-1-cat > a:hover {
      text-indent: 32px; }
  .sb-lvl-1-cat > input[type=checkbox] {
    display: none;
    position: absolute;
    top: -9999px;
    left: -9999px; }
    .sb-lvl-1-cat > input[type=checkbox]:checked ~ label {
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg); }
  .sb-lvl-1-cat.-no-icon > label {
    background-image: none; }
  .sb-lvl-1-cat.-no-icon > a {
    transition: text-indent 0.2s;
    text-indent: 0; }
    .sb-lvl-1-cat.-no-icon > a:hover {
      text-indent: 6px; }

.sb-lvl-1-cat > ul {
  display: none; }

.sb-lvl-1-cat > input[type=checkbox] {
  display: none;
  position: absolute;
  top: -9999px;
  left: -9999px; }
  .sb-lvl-1-cat > input[type=checkbox]:checked ~ ul {
    display: block; }

.sb-lvl-2-cat {
  transition: text-indent 0.2s;
  position: relative;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 34px;
  letter-spacing: 0.2px;
  white-space: nowrap; }
  .sb-lvl-2-cat:hover {
    text-indent: 32px; }
  .sb-lvl-2-cat > a {
    display: inline;
    margin-left: 26px;
    transition: margin-left 0.2s; }
  .sb-lvl-2-cat:before {
    content: "•";
    color: #4eb7f5;
    position: relative;
    font-size: 11px;
    left: 14px; }
  .sb-lvl-2-cat:hover > a {
    color: inherit; }
  .sb-lvl-2-cat.-active:after {
    position: absolute;
    top: -3px;
    left: 0;
    right: 0;
    bottom: -3px;
    content: "";
    z-index: -5; }

.sb-filters {
  cursor: pointer; }
  .sb-filters > li {
    width: 100%;
    padding-left: 48px;
    padding-top: 13px;
    padding-bottom: 13px;
    transition: text-indent 0.2s; }
    .sb-filters > li:hover {
      text-indent: 6px; }
    .sb-filters > li:first-child {
      margin-top: -13px; }
    .sb-filters > li > a {
      display: block; }
    .sb-filters > li.-active > a {
      color: inherit; }
    .sb-filters > li:hover > a {
      color: #4eb7f5; }
  .sb-filters ~ .sb-separator {
    margin-top: 20px;
    margin-bottom: 31px; }

.tg-container {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  min-height: calc(100vh - 78px);
  border-left: 1px solid rgba(32, 48, 60, 0.1); }
  .ie .tg-container {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.tg-gallery {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  width: 100%; }

.tg-padding {
  width: 0;
  min-width: 0;
  transition: min-width 0.3s cubic-bezier(0.755, 0.05, 0.855, 0.06); }
  .-sidebar-open > .tg-padding {
    min-width: 312px;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1); }

.tg-template {
  position: relative;
  border-radius: 4px 4px 0 0;
  box-shadow: 0px 1px 2px 0px rgba(32, 48, 60, 0.14), 0px 3px 3px 0px rgba(32, 48, 60, 0.06); }
  .tg-template > img:first-child {
    width: 100%; }
  .-js .tg-template.-hidden {
    opacity: 0; }

.tg-thumbnail {
  position: relative;
  overflow: hidden; }
  .safari .tg-thumbnail {
    overflow: visible; }
  .tg-thumbnail > i {
    position: relative;
    display: block;
    width: 100%;
    border-radius: 4px 4px 0 0;
    background: #ebedef; }
    .tg-thumbnail > i:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 3.8835%; }
    .tg-thumbnail > i > img {
      position: absolute;
      left: 3.34821429%;
      top: 50%;
      width: 5.13392857%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
    .thumbnail-click-abtest > .tg-thumbnail > i {
      cursor: pointer; }

.tg-template-img {
  width: 100%;
  height: 100%; }
  .thumbnail-click-abtest > .tg-template-img {
    cursor: pointer; }

.tg-template-name {
  display: block;
  position: absolute;
  left: 50%;
  width: 100%;
  margin-top: 24px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  letter-spacing: .1px;
  text-align: center; }

.tg-hover > h5, .tg-info-link {
  position: absolute;
  left: 7%; }

.tg-hover {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 1px;
  left: 0;
  right: 0;
  min-width: 100%;
  height: calc(100% - 1px);
  padding-top: 9%;
  border-radius: 4px 4px 0 0;
  background: rgba(255, 255, 255, 0.96);
  font-family: "HelveticaNeueW01-45Ligh", "HelveticaNeueW02-45Ligh", "HelveticaNeueW10-45Ligh", "'Helvetica Neue', Helvetica, Arial, メイリオ, Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif";
  z-index: 10;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transition: opacity 0.4s ease-out;
  opacity: 0;
  visibility: hidden; }
  .ie .tg-hover {
    right: -1px; }
  .safari .tg-hover {
    height: 100%; }
  .tg-hover > * {
    opacity: 0;
    transition: opacity 0.3s ease-out; }
    .-no-js .tg-hover > * {
      opacity: 1; }
  .tg-thumbnail:hover > .tg-hover {
    visibility: visible; }
  .tg-hover:hover {
    visibility: visible;
    transition-delay: 0.05s;
    opacity: 1; }
    .tg-hover:hover > * {
      opacity: 1;
      transition-delay: 0.15s; }
  .tg-hover.-visible {
    visibility: visible; }
  .tg-hover:focus {
    transition: none; }
  @media (min-width: 43.75em) and (max-width: 63.99em) {
    .tg-hover {
      font-size: 1.85714286vw; } }
  @media (min-width: 64em) and (max-width: 79.99em) {
    .-sidebar-open .tg-hover {
      font-size: 1.3671875vw; } }
  @media (min-width: 90.25em) and (max-width: 104.99em) {
    .-sidebar-open .tg-hover {
      font-size: .969529086vw; } }
  .tg-hover > h5 {
    top: 11.3173726%;
    letter-spacing: 0.5px;
    font-size: 14px; }
  .tg-hover > img:first-of-type {
    position: absolute;
    bottom: -1px;
    right: calc(19.5% + (28.6391586% / 2));
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    width: 28.6391586%;
    background-color: transparent; }
  .tg-hover > img:last-of-type {
    position: absolute;
    bottom: 0;
    right: calc(19.5% + ((28.6391586% - 26.2135922%) / 2) + (26.2135922% / 2));
    width: 26.2135922%;
    margin-right: calc(26.2135922% / -2);
    z-index: 1;
    border: 1px solid #e3e3e3;
    border-bottom: none;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
  .tg-hover > input[type=checkbox] {
    display: none;
    position: absolute;
    top: -9999px;
    left: -9999px; }
    .tg-hover > input[type=checkbox]:checked ~ img, .tg-hover > input[type=checkbox]:checked ~ h5, .tg-hover > input[type=checkbox]:checked ~ button, .tg-hover > input[type=checkbox]:checked ~ a {
      display: none; }
    .tg-hover > input[type=checkbox]:checked ~ .tg-information {
      display: block; }
    .tg-hover > input[type=checkbox]:checked ~ .tg-info-link {
      position: absolute;
      top: 11.3173726%;
      right: 7%;
      left: auto;
      z-index: 100;
      border: none;
      text-indent: 9999px;
      width: 12px;
      height: 12px; }
      .tg-hover > input[type=checkbox]:checked ~ .tg-info-link:before {
        content: ' ';
        position: absolute;
        top: 0;
        right: 0;
        width: 12px;
        height: 12px;
        background: transparent url("../img/x.svg") no-repeat center/12px 12px; }
  .thumbnail-click-abtest > .tg-hover {
    cursor: pointer; }

.tg-information {
  display: none;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 20;
  pointer-events: auto; }
  .tg-information.-visible {
    display: block;
    opacity: 0; }
  .tg-information.thumbnail-click-abtest {
    cursor: default; }

.tg-info-box {
  height: 85%;
  padding-top: calc(7% + 12px + 14px - 2px);
  padding-right: 11.3173726%;
  padding-left: 7%;
  overflow-y: scroll; }
  .tg-info-box > h5 {
    font-weight: 400;
    line-height: 14px;
    margin-bottom: 12px;
    letter-spacing: 0.2px;
    color: #43515c;
    font-family: "HelveticaNeueW01-55Roma", "HelveticaNeueW02-55Roma", "HelveticaNeueW10-55Roma", "'Helvetica Neue', Helvetica, Arial, メイリオ, Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif"; }
  .tg-info-box > p {
    margin-bottom: 22px;
    line-height: 24px;
    letter-spacing: 0.2px; }
    .tg-info-box > p:last-of-type {
      margin-bottom: 0; }
  .tg-info-box + .optiscroll-v {
    opacity: 1; }
  .-no-js .tg-info-box {
    overflow-y: auto; }

.tg-info-link {
  bottom: calc(11.3173726% - 4px);
  border-bottom: 1px solid #333;
  line-height: 20px;
  cursor: pointer;
  pointer-events: auto;
  font-size: 12px; }

@media (min-width: 64em) {
  .tg-info-link {
    font-size: 14px; }
  .tg-hover > h5 {
    font-size: 16px; }
  .-sidebar-open .tg-info-link {
    font-size: 12px; }
  .-sidebar-open .tg-hover > h5 {
    font-size: 14px; } }

.tg-button {
  min-width: calc(19.0504005%);
  height: calc(15.275564%);
  margin-left: 31.33564%;
  min-height: 23.62px;
  max-height: 41.18px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-radius: 1500px;
  pointer-events: auto;
  margin-bottom: 4%;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 20px;
  position: relative;
  color: #fff;
  box-shadow: 0px 1px 1px 0px #246faf, 0px 4px 6px 0px rgba(31, 89, 140, 0.14);
  font-family: "HelveticaNeueW01-55Roma", "HelveticaNeueW02-55Roma", "HelveticaNeueW10-55Roma", "'Helvetica Neue', Helvetica, Arial, メイリオ, Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif"; }
  @media (min-width: 64em) and (max-width: 90.24em) {
    .tg-button {
      min-width: calc(19.0504005% * 0.98);
      height: calc(15.275564% * 0.98);
      margin-left: 31.52615%; } }
  @media (min-width: 90.25em) and (max-width: 104.99em) {
    .tg-button {
      min-width: calc(19.0504005% * 1.05);
      height: calc(15.275564% * 1.05);
      margin-left: 30.85938%; } }
  @media (min-width: 105em) {
    .tg-button {
      min-width: calc(16.6666667% * 1.1);
      height: calc(13.6247931% * 1.1);
      margin-left: 31.69417%; } }
  .ff .tg-button, .edge .tg-button {
    margin-bottom: calc(4% * 16 / 9); }
  .win .tg-button {
    font-family: "HelveticaNeueW01-45Ligh", "HelveticaNeueW02-45Ligh", "HelveticaNeueW10-45Ligh", "'Helvetica Neue', Helvetica, Arial, メイリオ, Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif"; }
  .win.chrome .tg-button {
    letter-spacing: .7px; }
  .tg-button.-blue {
    background-color: #459fed; }
    .tg-button.-blue:hover {
      -webkit-animation: tg-button-animation 0.2s;
              animation: tg-button-animation 0.2s;
      background-color: #4db4f1; }
    .tg-button.-blue:active {
      background-color: #459fed; }
  .tg-button > span {
    width: 100%;
    text-align: center; }

@-webkit-keyframes tg-button-animation {
  from {
    background-color: #459fed; }
  to {
    background-color: #4db4f1; } }

@keyframes tg-button-animation {
  from {
    background-color: #459fed; }
  to {
    background-color: #4db4f1; } }

@media (max-width: 63.99em) {
  .-sidebar-open .tg-template {
    width: calc((100% - 48px) / 1);
    margin: 0 24px 86px; }
    .-sidebar-open .tg-template:nth-child(1n+1) {
      margin-right: 24px; }
      .ie .-sidebar-open .tg-template:nth-child(1n+1), .edge .-sidebar-open .tg-template:nth-child(1n+1) {
        margin-right: 23.99px; }
    .-sidebar-open .tg-template:nth-child(1n+1) {
      margin-left: 24px; } }

@media (max-width: 63.99em) {
  .tg-container {
    padding: 0 24px 132px; }
  .tg-template {
    width: calc((100% - 96px) / 2);
    margin: 0 24px 86px; }
    .tg-template:nth-child(2n+2) {
      margin-right: 24px; }
      .ie .tg-template:nth-child(2n+2), .edge .tg-template:nth-child(2n+2) {
        margin-right: 23.99px; }
    .tg-template:nth-child(2n+1) {
      margin-left: 24px; } }

@media (min-width: 64em) {
  .tg-container {
    padding: 0 18px 132px; } }

@media (min-width: 64em) and (max-width: 65.49em) {
  .tg-template {
    width: calc((100% - 72px) / 2);
    margin: 0 18px 86px; }
    .tg-template:nth-child(2n+2) {
      margin-right: 18px; }
      .ie .tg-template:nth-child(2n+2), .edge .tg-template:nth-child(2n+2) {
        margin-right: 17.99px; }
    .tg-template:nth-child(2n+1) {
      margin-left: 18px; } }

@media (min-width: 65.5em) {
  .tg-container {
    padding: 0 36px 132px; } }

@media (min-width: 65.5em) and (max-width: 79.99em) {
  .tg-template {
    width: calc((100% - 132px) / 2);
    margin: 0 30px 86px; }
    .tg-template:nth-child(2n+2) {
      margin-right: 36px; }
      .ie .tg-template:nth-child(2n+2), .edge .tg-template:nth-child(2n+2) {
        margin-right: 35.99px; }
    .tg-template:nth-child(2n+1) {
      margin-left: 36px; } }

@media (min-width: 80em) and (max-width: 90.24em) {
  .tg-template {
    width: calc((100% - 132px) / 2);
    margin: 0 30px 86px; }
    .tg-template:nth-child(2n+2) {
      margin-right: 36px; }
      .ie .tg-template:nth-child(2n+2), .edge .tg-template:nth-child(2n+2) {
        margin-right: 35.99px; }
    .tg-template:nth-child(2n+1) {
      margin-left: 36px; } }

@media (min-width: 90.25em) and (max-width: 104.99em) {
  .tg-template {
    width: calc((100% - 192px) / 3);
    margin: 0 30px 86px; }
    .tg-template:nth-child(3n+3) {
      margin-right: 36px; }
      .ie .tg-template:nth-child(3n+3), .edge .tg-template:nth-child(3n+3) {
        margin-right: 35.99px; }
    .tg-template:nth-child(3n+1) {
      margin-left: 36px; } }

@media (min-width: 105em) and (max-width: 120.24em) {
  .tg-template {
    width: calc((100% - 192px) / 3);
    margin: 0 30px 86px; }
    .tg-template:nth-child(3n+3) {
      margin-right: 36px; }
      .ie .tg-template:nth-child(3n+3), .edge .tg-template:nth-child(3n+3) {
        margin-right: 35.99px; }
    .tg-template:nth-child(3n+1) {
      margin-left: 36px; } }

@media (min-width: 120.25em) {
  .tg-template {
    width: calc((100% - 264px) / 3);
    margin: 0 48px 86px; }
    .tg-template:nth-child(3n+3) {
      margin-right: 36px; }
      .ie .tg-template:nth-child(3n+3), .edge .tg-template:nth-child(3n+3) {
        margin-right: 35.99px; }
    .tg-template:nth-child(3n+1) {
      margin-left: 36px; } }

.tg-gallery {
  max-width: 1539px;
  margin: auto;
  transition: max-width 0.3s cubic-bezier(0.755, 0.05, 0.855, 0.06); }
  .-sidebar-closed > .tg-container > .tg-gallery {
    max-width: 1852px; }
  .-sidebar-open > .tg-container > .tg-gallery {
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1); }
