@charset "utf-8";

@charset "utf-8";

i.icon-cover,
i.icon-hikidashi {
  position: absolute;
  top: 0;
  left: 0;

  display: block;

  border-radius: 2px;
}

i.icon-cover img,
i.icon-hikidashi img {
  position: absolute;
  top: 50%;
  left: 50%;

  width: 115.38%;

  -webkit-transform: translate(-50%, -50%);
     -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
       -o-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

nav[role="lineup"] {
  position: relative;
  z-index: 100;

  height: 110px;
  margin-right: -16px;
  margin-left: -16px;

  text-align: center;
}

nav[role="lineup"].state-expand {
  position: static;
}

nav[role="lineup"].state-expand.immediate > div {
  -webkit-transition: none !important;
     -moz-transition: none !important;
      -ms-transition: none !important;
       -o-transition: none !important;
          transition: none !important;
}

nav[role="lineup"].state-expand.immediate > div ul li {
  -webkit-transition: none !important;
     -moz-transition: none !important;
      -ms-transition: none !important;
       -o-transition: none !important;
          transition: none !important;
}

nav[role="lineup"].state-expand.immediate > div ul li a {
  -webkit-transition: none !important;
     -moz-transition: none !important;
      -ms-transition: none !important;
       -o-transition: none !important;
          transition: none !important;
}

nav[role="lineup"].state-expand.immediate > div ul li a:before {
  -webkit-transition: none !important;
     -moz-transition: none !important;
      -ms-transition: none !important;
       -o-transition: none !important;
          transition: none !important;
}

nav[role="lineup"].state-expand.immediate > div ul li a > span span {
  -webkit-transition: none !important;
     -moz-transition: none !important;
      -ms-transition: none !important;
       -o-transition: none !important;
          transition: none !important;
}

nav[role="lineup"].state-expand.immediate > div ul li a > span span[data-suffix] {
  -webkit-transition: none !important;
     -moz-transition: none !important;
      -ms-transition: none !important;
       -o-transition: none !important;
          transition: none !important;
}

nav[role="lineup"].state-expand.immediate > div ul li a > span span:after {
  -webkit-transition: none !important;
     -moz-transition: none !important;
      -ms-transition: none !important;
       -o-transition: none !important;
          transition: none !important;
}

nav[role="lineup"].state-expand.immediate > div ul li a > span i {
  -webkit-transition: none !important;
     -moz-transition: none !important;
      -ms-transition: none !important;
       -o-transition: none !important;
          transition: none !important;
}

nav[role="lineup"].state-expand.immediate > div form {
  -webkit-transition: none !important;
     -moz-transition: none !important;
      -ms-transition: none !important;
       -o-transition: none !important;
          transition: none !important;
}

nav[role="lineup"].state-expand > div {
  position: fixed;
  top: 56px;
  z-index: 100;

  font-size: 10px;

  border-bottom: 1px #d2d1d6 solid;
}

nav[role="lineup"].state-expand > div ul li {
  height: 56px;
}

nav[role="lineup"].state-expand > div ul li a:before {
  -webkit-transform: translate(-50%, 3px) scale(1);
     -moz-transform: translate(-50%, 3px) scale(1);
      -ms-transform: translate(-50%, 3px) scale(1);
       -o-transform: translate(-50%, 3px) scale(1);
          transform: translate(-50%, 3px) scale(1);
}

nav[role="lineup"].state-expand > div ul li a > span span {
  -webkit-transform: translate3d(0, -7px, 0);
     -moz-transform: translate3d(0, -7px, 0);
      -ms-transform: translate3d(0, -7px, 0);
       -o-transform: translate3d(0, -7px, 0);
          transform: translate3d(0, -7px, 0);
}

nav[role="lineup"].state-expand > div ul li a > span span[data-suffix] {
  -webkit-transform: translate3d(0, -15px, 0);
     -moz-transform: translate3d(0, -15px, 0);
      -ms-transform: translate3d(0, -15px, 0);
       -o-transform: translate3d(0, -15px, 0);
          transform: translate3d(0, -15px, 0);
}

nav[role="lineup"].state-expand > div form {
  padding: 2px 8px;
}

nav[role="lineup"] > div {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;

  font-size: 12px;

  background: #ffffff;
  border-bottom: 1px rgba(210,209,214,0) solid;

  -webkit-transition: font 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     -moz-transition: font 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      -ms-transition: font 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
       -o-transition: font 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: font 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

nav[role="lineup"] > div ul {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  width: 100%;
  padding: 4px 4px 0;
}

nav[role="lineup"] > div ul li {
  position: relative;

  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-flex: auto;
      -ms-flex: auto;
          flex: auto;
  -webkit-justify-content: center;
          justify-content: center;
  -webkit-align-items: center;
          align-items: center;
  height: 69px;
  padding: 0 4px;

  -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
       -o-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);

  -webkit-transition: height 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     -moz-transition: height 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      -ms-transition: height 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
       -o-transition: height 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: height 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -webkit-box-flex: 1;
     -moz-box-flex: 1;
       -o-box-flex: 1;
          box-flex: 1;
  -webkit-box-pack: center;
     -moz-box-pack: center;
       -o-box-pack: center;
  -ms-flex-align: center;
  -ms-flex-pack: center;
}

nav[role="lineup"] > div ul li + li {
  border-left: 1px #a5a3ad solid;
}

nav[role="lineup"] > div ul li.current a {
  background: #ffe100;
}

nav[role="lineup"] > div ul li.current a:before {
  -webkit-transform: translate(-50%, 0) scale(0);
     -moz-transform: translate(-50%, 0) scale(0);
      -ms-transform: translate(-50%, 0) scale(0);
       -o-transform: translate(-50%, 0) scale(0);
          transform: translate(-50%, 0) scale(0);

  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
     -moz-transition:    -moz-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
      -ms-transition:     -ms-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
       -o-transition:      -o-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
          transition:         transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

nav[role="lineup"] > div ul li.current a > span span {
  color: #1c3a83;

  -webkit-transform: translate3d(0, -1px, 0) !important;
     -moz-transform: translate3d(0, -1px, 0) !important;
      -ms-transform: translate3d(0, -1px, 0) !important;
       -o-transform: translate3d(0, -1px, 0) !important;
          transform: translate3d(0, -1px, 0) !important;
}

nav[role="lineup"] > div ul li.current a > span span[data-suffix] {
  margin: 0 6px 0 18px;

  -webkit-transform: translate3d(0, -8px, 0) !important;
     -moz-transform: translate3d(0, -8px, 0) !important;
      -ms-transform: translate3d(0, -8px, 0) !important;
       -o-transform: translate3d(0, -8px, 0) !important;
          transform: translate3d(0, -8px, 0) !important;
}

nav[role="lineup"] > div ul li.current a > span span:not([data-suffix]) {
  margin: 0 0 0 12px;
}

nav[role="lineup"] > div ul li.current a > span span:after {
  background: #ffffff !important;
}

nav[role="lineup"] > div ul li.current a > span i {
  -webkit-transform: scale(1);
     -moz-transform: scale(1);
      -ms-transform: scale(1);
       -o-transform: scale(1);
          transform: scale(1);

  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.895, 0.03, 0.685, 0.22) 0.15s;
     -moz-transition:    -moz-transform 0.3s cubic-bezier(0.895, 0.03, 0.685, 0.22) 0.15s;
      -ms-transition:     -ms-transform 0.3s cubic-bezier(0.895, 0.03, 0.685, 0.22) 0.15s;
       -o-transition:      -o-transform 0.3s cubic-bezier(0.895, 0.03, 0.685, 0.22) 0.15s;
          transition:         transform 0.3s cubic-bezier(0.895, 0.03, 0.685, 0.22) 0.15s;
}

nav[role="lineup"] > div ul li a {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-justify-content: center;
          justify-content: center;
  -webkit-align-items: center;
          align-items: center;
  width: 100%;
  height: calc(100% - 6px);

  border-radius: 4px;
  -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
       -o-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);

  -webkit-transition: background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), height 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
     -moz-transition: background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), height 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
      -ms-transition: background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), height 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
       -o-transition: background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), height 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
          transition: background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), height 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -webkit-box-pack: center;
     -moz-box-pack: center;
       -o-box-pack: center;
  -ms-flex-align: center;
  -ms-flex-pack: center;
}

nav[role="lineup"] > div ul li a:before {
  position: absolute;
  bottom: 0;
  left: 50%;

  font-size: 18px;
  color: #ffd300;

  -webkit-transform: translate(-50%, 0) scale(1);
     -moz-transform: translate(-50%, 0) scale(1);
      -ms-transform: translate(-50%, 0) scale(1);
       -o-transform: translate(-50%, 0) scale(1);
          transform: translate(-50%, 0) scale(1);

  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.15s;
     -moz-transition:    -moz-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.15s;
      -ms-transition:     -ms-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.15s;
       -o-transition:      -o-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.15s;
          transition:         transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.15s;
}

nav[role="lineup"] > div ul li a > span {
  position: relative;

  display: block;
  width: 100%;
  max-width: 100px;
  margin: 0 auto;

  font-weight: bold;
}

nav[role="lineup"] > div ul li a > span span {
  position: relative;

  display: inline-block;

  line-height: 1.08;
  vertical-align: middle;
  white-space: nowrap;

  -webkit-transform: translate3d(0, -10px, 0);
     -moz-transform: translate3d(0, -10px, 0);
      -ms-transform: translate3d(0, -10px, 0);
       -o-transform: translate3d(0, -10px, 0);
          transform: translate3d(0, -10px, 0);

  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), margin 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
     -moz-transition:    -moz-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), margin 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
      -ms-transition:     -ms-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), margin 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
       -o-transition:      -o-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), margin 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
          transition:         transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), margin 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);

  will-change: margin;
}

nav[role="lineup"] > div ul li a > span span[data-suffix] {
  -webkit-transform: translate3d(0, -18px, 0);
     -moz-transform: translate3d(0, -18px, 0);
      -ms-transform: translate3d(0, -18px, 0);
       -o-transform: translate3d(0, -18px, 0);
          transform: translate3d(0, -18px, 0);
}

nav[role="lineup"] > div ul li a > span span[data-suffix]:after {
  content: attr(data-suffix);
}

nav[role="lineup"] > div ul li a > span span[data-suffix][data-suffix="A6"]:after {
  background: #ffe100;
}

nav[role="lineup"] > div ul li a > span span[data-suffix][data-suffix="A5"]:after {
  background: #bbbac2;
}

nav[role="lineup"] > div ul li a > span span:after {
  position: absolute;
  right: 0;
  bottom: -2px;

  width: 100%;
  overflow: hidden;

  line-height: 1.42;
  color: #1e1933 !important;

  border-radius: 2px;
  -webkit-transform: translate(0, 100%);
     -moz-transform: translate(0, 100%);
      -ms-transform: translate(0, 100%);
       -o-transform: translate(0, 100%);
          transform: translate(0, 100%);

  -webkit-transition: background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), width 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     -moz-transition: background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), width 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), -moz-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      -ms-transition: background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), width 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), -ms-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
       -o-transition: background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), width 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), -o-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), width 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

nav[role="lineup"] > div ul li a > span i {
  top: calc(50% - 11px);
  left: 0;

  width: 22px;
  height: 22px;

  -webkit-transform: scale(0);
     -moz-transform: scale(0);
      -ms-transform: scale(0);
       -o-transform: scale(0);
          transform: scale(0);

  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
     -moz-transition:    -moz-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
      -ms-transition:     -ms-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
       -o-transition:      -o-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
          transition:         transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

nav[role="lineup"] > div form {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  padding: 8px 16px;

  -webkit-transition: padding 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     -moz-transition: padding 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      -ms-transition: padding 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
       -o-transition: padding 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: padding 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

nav[role="lineup"] > div form fieldset label {
  font-weight: bold;
}

nav[role="lineup"] > div form fieldset label + label {
  margin-left: 16px;
}

nav[role="lineup"] > div form fieldset label input {
  position: relative;
  top: -0.125em;

  display: inline-block;
  margin-right: 4px;

  vertical-align: middle;
}

nav[role="hikidashi"] {
  position: relative;
  z-index: 11;

  margin: 16px -16px 0;
  padding-top: 52px;
}

nav[role="hikidashi"].pos-fixed {
  position: static;
}

nav[role="hikidashi"].pos-fixed.immediate > div {
  -webkit-transition: none;
     -moz-transition: none;
      -ms-transition: none;
       -o-transition: none;
          transition: none;
}

nav[role="hikidashi"].pos-fixed.immediate > div ul li a {
  -webkit-transition: none;
     -moz-transition: none;
      -ms-transition: none;
       -o-transition: none;
          transition: none;
}

nav[role="hikidashi"].pos-fixed > div {
  position: fixed;
  top: 56px;
  z-index: 11;

  border-bottom: #d2d1d6 1px solid;
}

nav[role="hikidashi"]:not(.pos-fixed) > div {
  left: 0 !important;
}

nav[role="hikidashi"] > div {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  padding: 8px 16px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;

  background: #ffffff;
  border-bottom: rgba(210,209,214,0) 1px solid;

  -ms-overflow-style: none;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

nav[role="hikidashi"] > div::-webkit-scrollbar {
  display: none;
  height: 0 !important;
}

nav[role="hikidashi"] > div ul {
  display: table;
  padding-right: 16px;
}

nav[role="hikidashi"] > div ul li {
  display: table-cell;
  padding: 0 4px;

  border-right: 1px #a5a3ad solid;
  -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
       -o-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

nav[role="hikidashi"] > div ul li:first-child {
  border-left: 1px #a5a3ad solid;
}

nav[role="hikidashi"] > div ul li.current a {
  color: #1c3a83;

  background: #ffe100;
}

nav[role="hikidashi"] > div ul li a {
  display: block;

  font-weight: bold;

  border-radius: 2px;

  -webkit-transition: color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
     -moz-transition: color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
      -ms-transition: color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
       -o-transition: color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
          transition: color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

nav[role="hikidashi"] > div ul li a > span {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;
  width: 100%;
  height: 32px;
  padding: 0 4px;

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -ms-flex-align: center;
}

nav[role="hikidashi"] > div ul li a > span i {
  position: relative;

  width: 24px;
  height: 24px;
  margin: 4px 4px 4px 0;

  background: #ffe100;
  border-radius: 2px;
}

nav[role="hikidashi"] > div ul li a > span span {
  display: block;
  min-width: 70px;

  line-height: 1.3;
  white-space: nowrap;
}

#contents[data-type*="lineup"] > header {
  padding-bottom: 32px;
}

#contents[data-type*="lineup"] > header h2 {
  position: relative;

  margin: 0 -16px;
  overflow: hidden;
}

#contents[data-type*="lineup"] > header h2:before {
  content: "";

  display: block;
  padding: 56.25% 0 0;
}

#contents[data-type*="lineup"] > header h2 > img {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;
}

#contents[data-type*="lineup"] > header > p {
  font-size: 10px;
}

#contents[data-type*="lineup"] > section {
  padding-bottom: 48px;
}

#contents[data-type*="lineup"] > section header {
  position: relative;

  margin: 0 -16px;
}

#contents[data-type*="lineup"] > section header:before {
  content: "";

  display: block;
  padding: 37.5% 0 16px;
}

#contents[data-type*="lineup"] > section header > img {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: auto;
}

#contents[data-type*="lineup"] > section header h3 {
  margin: 0 16px;
}

#contents[data-type*="lineup"] > section h3 {
  position: relative;

  min-height: 56px;
  padding-left: 64px;

  font-weight: bold;
}

#contents[data-type*="lineup"] > section h3 > i.icon-cover,
#contents[data-type*="lineup"] > section h3 > i.icon-hikidashi {
  width: 56px;
  height: 56px;

  background: #ffe100;
}

#contents[data-type*="lineup"] > section h3 > i[data-suffix] {
  display: inline-block;
  height: 24px;
  padding: 0 8px;
  overflow: hidden;

  font-size: 20px;
  line-height: 1.1;
  vertical-align: top;
  text-align: center;

  border-radius: 2px;
}

#contents[data-type*="lineup"] > section h3 > i[data-suffix] + i {
  margin-left: 4px;
}

#contents[data-type*="lineup"] > section h3 > i[data-suffix]:after {
  content: attr(data-suffix);
}

#contents[data-type*="lineup"] > section h3 > i[data-suffix][data-suffix*="A6"] {
  background: #ffe100;
}

#contents[data-type*="lineup"] > section h3 > i[data-suffix][data-suffix*="A5"] {
  background: #bbbac2;
}

#contents[data-type*="lineup"] > section h3 span {
  display: block;

  font-size: 20px;
  line-height: 1.35;
}

#contents[data-type*="lineup"] > section h3 small {
  display: block;
  min-height: 60px;
  padding-top: 9px;

  font-size: 14px;
  line-height: 1.21;
}

#contents[data-type*="lineup"] > section section {
  padding-top: 48px;
}

#contents[data-type*="lineup"] > section section h4 {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;

  font-weight: bold;

  -webkit-box-lines: multiple;
     -moz-box-lines: multiple;
       -o-box-lines: multiple;
      -ms-flex-wrap: wrap;
}

#contents[data-type*="lineup"] > section section h4:before {
  content: "";

  display: block;
  width: 16px;
  height: 16px;
  margin: 4px 8px 0 0;

  background: #ffe100;
}

#contents[data-type*="lineup"] > section section h4 span {
  display: block;
  width: calc(100% - 24px);

  font-size: 16px;
  line-height: 1.5;
}

#contents[data-type*="lineup"] > section section h4 i {
  margin: 4px 0 0 24px;
}

#contents[data-type*="lineup"] > section section h4 i + i {
  margin-left: 1px;
}

#contents[data-type*="lineup"] > section section h4 i[data-suffix="A6"]:after {
  background: #ffe100;
}

#contents[data-type*="lineup"] > section section h4 i[data-suffix="A5"]:after {
  background: #bbbac2;
}

#contents[data-type*="lineup"] > section section h4 i:after {
  content: attr(data-suffix);

  display: block;
  height: 16px;
  padding: 0 8px;
  overflow: hidden;

  font-size: 12px;
  line-height: 1.33;
  text-align: center;

  background: #fff399;
  border-radius: 2px;
}

#contents[data-type*="lineup"] section > ul {
  position: relative;

  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  min-height: 146px;
  margin-top: 16px;

  -webkit-box-lines: multiple;
     -moz-box-lines: multiple;
       -o-box-lines: multiple;
  -webkit-box-pack: justify;
     -moz-box-pack: justify;
       -o-box-pack: justify;
  -ms-flex-pack: justify;
      -ms-flex-wrap: wrap;
}

#contents[data-type*="lineup"] section > ul:empty:before {
  opacity: 1;
      filter: none;

  -webkit-transition: opacity 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
     -moz-transition: opacity 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
      -ms-transition: opacity 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
       -o-transition: opacity 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
          transition: opacity 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);

  -ms-filter: none;
}

#contents[data-type*="lineup"] section > ul:before {
  content: "該当の商品はありません。";
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 130px;
  padding-top: 53px;

  font-size: 14px;
  text-align: center;

  background: #f6f6f7;
  opacity: 0;
      filter: alpha(opacity=0);

  -webkit-transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
     -moz-transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
      -ms-transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
       -o-transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
          transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);

  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

#contents[data-type*="lineup"] section > ul > li {
  height: 186px;
}

#contents[data-type*="lineup"] section > ul > li[id^="oc"],
#contents[data-type*="lineup"] section > ul > li[id^="cc"],
#contents[data-type*="lineup"] section > ul > li[id^="fb"]:not([id$="_jan"]):not([id$="_bloom"]) {
  height: 207px;
}

#contents[data-type*="lineup"] section > ul > li[id^="oc"] a dl dd:nth-of-type(2),
#contents[data-type*="lineup"] section > ul > li[id^="cc"] a dl dd:nth-of-type(2),
#contents[data-type*="lineup"] section > ul > li[id^="fb"]:not([id$="_jan"]):not([id$="_bloom"]) a dl dd:nth-of-type(2) {
  height: 114px;
}

#contents[data-type*="lineup-cover"] > header h2 > span {
  position: absolute;
  top: 17.78%;
  left: 16px;
}

#contents[data-type*="lineup-cover"] > header h2 > span span {
  display: block;

  font-size: 20px;
  line-height: 1.35;
}

#contents[data-type*="lineup-cover"] > header > p {
  text-align: right;
}

#contents[data-type*="lineup-cover"] > header > a {
  margin: 0 -16px;
  padding: 16px;

  border-bottom: 1px #d2d1d6 solid;
}

#contents[data-type*="lineup-cover"] > header > a span {
  position: relative;

  display: block;
  width: 100%;
  max-width: 382px;
  margin: 0 auto;
}

#contents[data-type*="lineup-cover"] > header > a span:before {
  content: "";

  display: block;
  padding-top: 10.42%;
}

#contents[data-type*="lineup-cover"] > header > a span img {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;
}

#contents[data-type*="lineup-cover"] > header nav[role="lineup"] {
  margin-top: 12px;
}

#contents[data-type*="lineup-cover"] > header nav[role="lineup"] > div form {
  -webkit-justify-content: space-between;
          justify-content: space-between;

  -webkit-box-pack: justify;
     -moz-box-pack: justify;
       -o-box-pack: justify;
  -ms-flex-pack: justify;
}

#contents[data-type*="lineup-cover"] > section {
  margin-top: -138px;
  padding-top: 138px;
}

#contents[data-type*="lineup-cover"] > section[id="5year"] header + div > dl dt + dd > span {
  padding-top: 54.12%;
}

#contents[data-type*="lineup-cover"] > section header + div {
  padding: 11px 16px 16px;

  background: #f6f6f7;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(1) p {
  margin-bottom: 11px;

  font-size: 14px;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(1) > div a {
  position: relative;

  margin-bottom: 16px;
  padding-left: 32px;

  text-decoration: none;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(1) > div a:before {
  position: absolute;
  top: 50%;
  left: 4px;

  font-size: 22px;
  color: #ffd300;

  -webkit-transform: translate(0, -50%);
     -moz-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
       -o-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(1) > div a span {
  display: table-cell;
  margin: 0;

  vertical-align: middle;
  text-align: left;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(2) dl {
  padding: 15px 16px 8px;

  background: #ffffff;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(2) dl + dl {
  margin-top: 8px;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(2) dl + dl dt + dd > span {
  padding-top: 54.12%;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(2) dl dt {
  margin-bottom: 12px;

  font-weight: bold;
  font-size: 14px;
  line-height: 1.07;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(2) dl dt small {
  font-size: 12px;
  line-height: 1.25;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(2) dl dt + dd {
  max-width: 279px;
  margin: 0 auto;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(2) dl dt + dd > span {
  position: relative;

  display: block;
  padding-top: 64.81%;
  overflow: hidden;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(2) dl dt + dd > span img {
  position: absolute;
  top: 0;
  left: 0;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(2) dl dt + dd + dd {
  padding-top: 8px;

  border-top: 1px #d2d1d6 solid;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(2) dl dt + dd + dd a {
  display: table;
  width: 100%;
  height: 32px;

  color: #1e1933;
  text-decoration: none;
}

#contents[data-type*="lineup-cover"] > section header + div > div:nth-child(2) dl dt + dd + dd a span {
  display: table-cell;

  font-weight: bold;
  font-size: 12px;
  line-height: 2.29;
  vertical-align: middle;
}

#contents[data-type*="lineup-cover"] > section section {
  margin-top: -122px;
  padding-top: 170px;
}

#contents[data-type="lineup-book"] {
  padding-top: 12px;
}

#contents[data-type="lineup-book"] [role="headline"] {
  margin-bottom: 18px;
}

#contents[data-type="lineup-book"] > header nav[role="lineup"] {
  margin-top: 30px;
}

#contents[data-type="lineup-book"] > header nav[role="lineup"] > div form {
  -webkit-justify-content: flex-end;
          justify-content: flex-end;

  -webkit-box-pack: end;
     -moz-box-pack: end;
       -o-box-pack: end;
  -ms-flex-pack: end;
}

#contents[data-type="lineup-book"] > section {
  margin-top: -154px;
  padding-top: 154px;
}

#contents[data-type="lineup-hikidashi"] > header h2 span {
  position: absolute;
  top: 50%;
  left: 50%;

  width: 41.88%;

  -webkit-transform: translate3d(-50%, -50%, 0);
     -moz-transform: translate3d(-50%, -50%, 0);
      -ms-transform: translate3d(-50%, -50%, 0);
       -o-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
}

#contents[data-type="lineup-hikidashi"] > header h2 + div {
  margin: 18px 0 0;
}

#contents[data-type="lineup-hikidashi"] > header h2 + div p {
  font-size: 14px;
}

#contents[data-type="lineup-hikidashi"] > header h2 + div a {
  width: 274px;
  height: 34px;
  margin: 8px 0 0 auto;
  padding: 0 36px 0 0;
}

#contents[data-type="lineup-hikidashi"] > header h2 + div a span {
  font-size: 13px;
  text-align: right;
}

#contents[data-type="lineup-hikidashi"] > header > p {
  text-align: right;
}

#contents[data-type="lineup-hikidashi"] > section {
  margin-top: -105px;
  padding-top: 105px;
}

#contents[data-type="lineup-hikidashi"] > section header h3 {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -ms-flex-align: center;
}

#contents[data-type="lineup-hikidashi"] > section header h3 small {
  min-height: 0;
  padding: 0 0 7px;
}

#contents[data-type="lineup-hikidashi"] > section header + div {
  margin-top: 16px;
  padding: 16px;

  background: #f6f6f7;
}

#contents[data-type="lineup-hikidashi"] > section header + div p {
  font-size: 14px;
}

#contents[data-type="lineup-hikidashi"] > section header + div a {
  margin-top: 10px;
}

#contents[data-type="lineup-hikidashi"] > section header + div a span {
  font-weight: bold;
  font-size: 12px;
}

#modal-lineup {
  width: calc(100vw - 40px);
  max-width: 374px;
  padding: 20px 20px 30px;

  background: #3e2620;
}

#modal-lineup h3 {
  position: relative;

  margin-bottom: 15px;
  padding-top: 70px;

  border-bottom: #847471 1px solid;
}

#modal-lineup h3 img {
  position: absolute;
  top: 0;
  left: calc(50% - 48px);

  display: block;
  width: 96px;
}

#modal-lineup p span {
  display: block;

  font-size: 14px;
  line-height: 1.79;
  color: #ffffff;
  letter-spacing: 0.025em;
}

#modal-lineup p:nth-of-type(2) {
  display: none;
}

#modal-lineup p a {
  display: block;
  margin-top: 10px;
  padding-top: 16.67%;

  background: url("/store/techo/2021/modal/images/banner_trinity_ja_sp.jpg");
  -webkit-background-size: 100% 100%;
     -moz-background-size: 100% 100%;
          background-size: 100% 100%;
  border-radius: 4px;
}

#modal-lineup > a {
  position: absolute;
  top: 10px;
  right: 10px;

  width: 21px;
  height: 21px;
}

#modal-lineup > a:before {
  content: "";

  display: block;
  width: 100%;
  height: 100%;

  background: url("/store/techo/2021/modal/images/ico_close.svg") no-repeat;
  -webkit-background-size: 100% 100%;
     -moz-background-size: 100% 100%;
          background-size: 100% 100%;
}

nav[role="day"] {
  position: relative;
  z-index: 11;

  margin: 18px -16px 0;
  padding-top: 105px;
}

nav[role="day"].pos-fixed {
  position: static;
}

nav[role="day"].pos-fixed > div {
  position: fixed;
  top: 56px;
  z-index: 11;
}

nav[role="day"]:not(.pos-fixed) > div {
  left: 0 !important;
}

nav[role="day"] > div {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;

  background: #ffffff;
  -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
          backface-visibility: hidden;

      -ms-backface-visibility: hidden;
}

nav[role="day"] > div ul {
  position: relative;

  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  -webkit-align-items: center;
          align-items: center;
  width: calc(100% - 16px);
  height: 105px;
  margin: 0 auto;
  padding: 45px 0 0;

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -webkit-box-pack: justify;
     -moz-box-pack: justify;
       -o-box-pack: justify;
  -ms-flex-align: center;
  -ms-flex-pack: justify;
}

nav[role="day"] > div ul:before {
  content: "";
  position: absolute;
  top: 4px;
  left: 1px;

  display: block;
  width: 128px;
  height: 36px;

  background: url("/store/techo/ja/2021/sp/lineup/images/day_ico.svg") no-repeat;
  -webkit-background-size: 100% 100%;
     -moz-background-size: 100% 100%;
          background-size: 100% 100%;
}

nav[role="day"] > div ul li {
  width: calc(20% - 3px);
}

nav[role="day"] > div ul li:nth-child(1) {
  margin-right: 5px;
}

nav[role="day"] > div ul li:nth-child(1) a:nth-child(2)[data-day="all"] {
  position: absolute;
  top: 13px;
  right: 0;

  width: calc(40% - 4px);
  height: 24px;
}

nav[role="day"] > div ul li:nth-child(1) a:nth-child(2)[data-day="all"] span:before {
  background-image: url("/store/techo/ja/2021/sp/lineup/images/day_ico_all_abs.svg");
}

nav[role="day"] > div ul li:nth-child(1) a:nth-child(2)[data-day="all"] i {
  display: none;
}

nav[role="day"] > div ul li:nth-child(5) a:after {
  content: "";
  position: absolute;
  top: 30px;
  left: 7%;
  z-index: 1;

  width: 86%;
  height: 1px;

  background: #1a1a1a;
  border-radius: 0.5px;
}

nav[role="day"] > div ul li a {
  position: relative;

  display: block;
  height: 60px;
  padding: 1px;

  background: #1e1933;
  border-radius: 4px;
  cursor: pointer;

  -webkit-transition: border-radius 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), padding 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
     -moz-transition: border-radius 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), padding 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
      -ms-transition: border-radius 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), padding 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
       -o-transition: border-radius 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), padding 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
          transition: border-radius 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), padding 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

nav[role="day"] > div ul li a[data-day="all"]:hover:before,
nav[role="day"] > div ul li a[data-day="available"]:hover:before {
  background: #ff99b8;
}

nav[role="day"] > div ul li a[data-day="all"]:hover i,
nav[role="day"] > div ul li a[data-day="available"]:hover i {
  background: #ff99b8;
}

nav[role="day"] > div ul li a:before {
  content: "";
  position: relative;
  z-index: 1;

  display: block;
  width: 100%;
  height: 100%;

  background: #fff9cc;
  border-radius: 3px;

  -webkit-transition: border-radius 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), background 0.3s;
     -moz-transition: border-radius 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), background 0.3s;
      -ms-transition: border-radius 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), background 0.3s;
       -o-transition: border-radius 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), background 0.3s;
          transition: border-radius 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), background 0.3s;
}

nav[role="day"] > div ul li a span {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;

  width: 100%;
  height: 100%;
}

nav[role="day"] > div ul li a span:before,
nav[role="day"] > div ul li a span:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  background-repeat: no-repeat;
  background-position: 50% 50%;
  -webkit-background-size: auto 100%;
     -moz-background-size: auto 100%;
          background-size: auto 100%;
}

nav[role="day"] > div ul li a span:after {
  opacity: 0;
      filter: alpha(opacity=0);

  -webkit-transition: opacity 0.3s;
     -moz-transition: opacity 0.3s;
      -ms-transition: opacity 0.3s;
       -o-transition: opacity 0.3s;
          transition: opacity 0.3s;

  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

nav[role="day"] > div ul li a i {
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 0;

  width: 16px;
  height: 16px;

  background: #fff9cc;
  border-width: 1px;
  border-style: solid;
  border-color: #1e1933;
  border-top: none !important;
  border-radius: 8px;
  -webkit-transform: translate3d(-8px, 8px, 0) scale(1, 0);
     -moz-transform: translate3d(-8px, 8px, 0) scale(1, 0);
      -ms-transform: translate3d(-8px, 8px, 0) scale(1, 0);
       -o-transform: translate3d(-8px, 8px, 0) scale(1, 0);
          transform: translate3d(-8px, 8px, 0) scale(1, 0);
  -webkit-transform-origin: 50% 0;
     -moz-transform-origin: 50% 0;
      -ms-transform-origin: 50% 0;
       -o-transform-origin: 50% 0;
          transform-origin: 50% 0;

  -webkit-transition: border 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), background 0.3s;
     -moz-transition: border 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), -moz-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), background 0.3s;
      -ms-transition: border 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), -ms-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), background 0.3s;
       -o-transition: border 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), -o-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), background 0.3s;
          transition: border 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), background 0.3s;
}

#contents[data-type="lineup-cover-day"] > header {
  padding-bottom: 28px;
}

#contents[data-type="lineup-cover-day"] > header > p:nth-of-type(1) {
  position: relative;

  display: table;
  height: 70px;
  margin: 8px auto 0;
  padding-left: 84px;

  text-align: left;
}

#contents[data-type="lineup-cover-day"] > header > p:nth-of-type(1):before {
  content: "";
  position: absolute;
  top: 0;
  left: -8px;

  width: 92px;
  height: 70px;

  background: url("/store/techo/2021/images/lineup/day_img.png") no-repeat;
  -webkit-background-size: 100% 100%;
     -moz-background-size: 100% 100%;
          background-size: 100% 100%;
}

#contents[data-type="lineup-cover-day"] > header > p:nth-of-type(1) > span {
  display: block;
  margin: 4px -8px 4px 0;

  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.075em;
}

#contents[data-type="lineup-cover-day"] > header > p:nth-of-type(1) > a {
  display: table;
  margin-right: -8px;
  padding-right: 24px;

  font-weight: bold;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.075em;
}

#contents[data-type="lineup-cover-day"] > header > p:nth-of-type(1) > a:before {
  font-size: 18px;
  text-decoration: none;
}

#contents[data-type="lineup-cover-day"] > header > p:nth-of-type(2) {
  margin-top: 18px;
}

#contents[data-type="lineup-cover-day"] > section {
  margin-top: -161px;
  padding-top: 171px;
}

#contents[data-type="lineup-cover-day"] > section section {
  margin-top: -145px;
  padding-top: 193px;
}

#contents[data-type="lineup-cover-day"] section > ul:before {
  content: "該当する商品はありません。";
}

#contents[data-type="lineup-cover-day"][data-day="0901"] section > ul:before {
  content: "９月１日発売の商品はありません。";
}

#contents[data-type="lineup-cover-day"][data-day="0902"] section > ul:before {
  content: "９月2日発売の商品はありません。";
}

#contents[data-type="lineup-cover-day"][data-day="0903"] section > ul:before {
  content: "９月3日発売の商品はありません。";
}

#contents[data-type="lineup-cover-day"][data-day="1011"] section > ul:before {
  content: "10月発売、11月発売の商品はありません。";
}

#contents[data-day="all"] nav[role="day"] li a[data-day="all"] {
  padding: 2px;

  border-radius: 0;
  cursor: default;

  pointer-events: none;
}

#contents[data-day="all"] nav[role="day"] li a[data-day="all"]:before {
  background: #ff99b8;
  border-radius: 0;
}

#contents[data-day="all"] nav[role="day"] li a[data-day="all"] span:after {
  opacity: 1;
      filter: none;

  -ms-filter: none;
}

#contents[data-day="all"] nav[role="day"] li a[data-day="all"] i {
  background: #ff99b8;
  border-width: 2px;
  -webkit-transform: translate3d(-8px, 8px, 0) scale(1, 1);
     -moz-transform: translate3d(-8px, 8px, 0) scale(1, 1);
      -ms-transform: translate3d(-8px, 8px, 0) scale(1, 1);
       -o-transform: translate3d(-8px, 8px, 0) scale(1, 1);
          transform: translate3d(-8px, 8px, 0) scale(1, 1);
}

nav[role="day"] li a[data-day="all"] span:before {
  background-image: url("/store/techo/ja/2021/sp/lineup/images/day_ico_all.svg");
}

nav[role="day"] li a[data-day="all"] span:after {
  display: none;
}

#contents[data-day="available"] nav[role="day"] li a[data-day="available"] {
  padding: 2px;

  border-radius: 0;
  cursor: default;

  pointer-events: none;
}

#contents[data-day="available"] nav[role="day"] li a[data-day="available"]:before {
  background: #ff99b8;
  border-radius: 0;
}

#contents[data-day="available"] nav[role="day"] li a[data-day="available"] span:after {
  opacity: 1;
      filter: none;

  -ms-filter: none;
}

#contents[data-day="available"] nav[role="day"] li a[data-day="available"] i {
  background: #ff99b8;
  border-width: 2px;
  -webkit-transform: translate3d(-8px, 8px, 0) scale(1, 1);
     -moz-transform: translate3d(-8px, 8px, 0) scale(1, 1);
      -ms-transform: translate3d(-8px, 8px, 0) scale(1, 1);
       -o-transform: translate3d(-8px, 8px, 0) scale(1, 1);
          transform: translate3d(-8px, 8px, 0) scale(1, 1);
}

nav[role="day"] li a[data-day="available"] span:before {
  background-image: url("/store/techo/ja/2021/sp/lineup/images/day_ico_available.svg");
}

nav[role="day"] li a[data-day="available"] span:after {
  display: none;
}

#contents[data-day="0901"] nav[role="day"] li a[data-day="0901"] {
  padding: 2px;

  border-radius: 0;
  cursor: default;

  pointer-events: none;
}

#contents[data-day="0901"] nav[role="day"] li a[data-day="0901"]:before {
  background: #fee21f;
  border-radius: 0;
}

#contents[data-day="0901"] nav[role="day"] li a[data-day="0901"] span:after {
  opacity: 1;
      filter: none;

  -ms-filter: none;
}

#contents[data-day="0901"] nav[role="day"] li a[data-day="0901"] i {
  background: #fee21f;
  border-width: 2px;
  -webkit-transform: translate3d(-8px, 8px, 0) scale(1, 1);
     -moz-transform: translate3d(-8px, 8px, 0) scale(1, 1);
      -ms-transform: translate3d(-8px, 8px, 0) scale(1, 1);
       -o-transform: translate3d(-8px, 8px, 0) scale(1, 1);
          transform: translate3d(-8px, 8px, 0) scale(1, 1);
}

nav[role="day"] li a[data-day="0901"] span:before {
  background-image: url("/store/techo/ja/2021/sp/lineup/images/day_ico_0901.svg");
}

nav[role="day"] li a[data-day="0901"] span:after {
  background-image: url("/store/techo/ja/2021/sp/lineup/images/day_ico_0901_hover.svg");
}

#contents[data-day="0902"] nav[role="day"] li a[data-day="0902"] {
  padding: 2px;

  border-radius: 0;
  cursor: default;

  pointer-events: none;
}

#contents[data-day="0902"] nav[role="day"] li a[data-day="0902"]:before {
  background: #3eac3e;
  border-radius: 0;
}

#contents[data-day="0902"] nav[role="day"] li a[data-day="0902"] span:after {
  opacity: 1;
      filter: none;

  -ms-filter: none;
}

#contents[data-day="0902"] nav[role="day"] li a[data-day="0902"] i {
  background: #3eac3e;
  border-width: 2px;
  -webkit-transform: translate3d(-8px, 8px, 0) scale(1, 1);
     -moz-transform: translate3d(-8px, 8px, 0) scale(1, 1);
      -ms-transform: translate3d(-8px, 8px, 0) scale(1, 1);
       -o-transform: translate3d(-8px, 8px, 0) scale(1, 1);
          transform: translate3d(-8px, 8px, 0) scale(1, 1);
}

nav[role="day"] li a[data-day="0902"] span:before {
  background-image: url("/store/techo/ja/2021/sp/lineup/images/day_ico_0902.svg");
}

nav[role="day"] li a[data-day="0902"] span:after {
  background-image: url("/store/techo/ja/2021/sp/lineup/images/day_ico_0902_hover.svg");
}

#contents[data-day="0903"] nav[role="day"] li a[data-day="0903"] {
  padding: 2px;

  border-radius: 0;
  cursor: default;

  pointer-events: none;
}

#contents[data-day="0903"] nav[role="day"] li a[data-day="0903"]:before {
  background: #ff9a00;
  border-radius: 0;
}

#contents[data-day="0903"] nav[role="day"] li a[data-day="0903"] span:after {
  opacity: 1;
      filter: none;

  -ms-filter: none;
}

#contents[data-day="0903"] nav[role="day"] li a[data-day="0903"] i {
  background: #ff9a00;
  border-width: 2px;
  -webkit-transform: translate3d(-8px, 8px, 0) scale(1, 1);
     -moz-transform: translate3d(-8px, 8px, 0) scale(1, 1);
      -ms-transform: translate3d(-8px, 8px, 0) scale(1, 1);
       -o-transform: translate3d(-8px, 8px, 0) scale(1, 1);
          transform: translate3d(-8px, 8px, 0) scale(1, 1);
}

nav[role="day"] li a[data-day="0903"] span:before {
  background-image: url("/store/techo/ja/2021/sp/lineup/images/day_ico_0903.svg");
}

nav[role="day"] li a[data-day="0903"] span:after {
  background-image: url("/store/techo/ja/2021/sp/lineup/images/day_ico_0903_hover.svg");
}

#contents[data-day="1011"] nav[role="day"] li a[data-day="1011"] {
  padding: 2px;

  border-radius: 0;
  cursor: default;

  pointer-events: none;
}

#contents[data-day="1011"] nav[role="day"] li a[data-day="1011"]:before {
  background: #76cdeb;
  border-radius: 0;
}

#contents[data-day="1011"] nav[role="day"] li a[data-day="1011"] span:after {
  opacity: 1;
      filter: none;

  -ms-filter: none;
}

#contents[data-day="1011"] nav[role="day"] li a[data-day="1011"] i {
  background: #76cdeb;
  border-width: 2px;
  -webkit-transform: translate3d(-8px, 8px, 0) scale(1, 1);
     -moz-transform: translate3d(-8px, 8px, 0) scale(1, 1);
      -ms-transform: translate3d(-8px, 8px, 0) scale(1, 1);
       -o-transform: translate3d(-8px, 8px, 0) scale(1, 1);
          transform: translate3d(-8px, 8px, 0) scale(1, 1);
}

nav[role="day"] li a[data-day="1011"] span:before {
  background-image: url("/store/techo/ja/2021/sp/lineup/images/day_ico_1011.svg");
}

nav[role="day"] li a[data-day="1011"] span:after {
  background-image: url("/store/techo/ja/2021/sp/lineup/images/day_ico_1011_hover.svg");
}

nav[role="toolstoys"] {
  position: relative;
  z-index: 11;

  margin: 8px -16px 0;
  padding-top: 52px;
}

nav[role="toolstoys"].pos-fixed {
  position: static;
}

nav[role="toolstoys"].pos-fixed.immediate > div {
  -webkit-transition: none;
     -moz-transition: none;
      -ms-transition: none;
       -o-transition: none;
          transition: none;
}

nav[role="toolstoys"].pos-fixed > div {
  position: fixed;
  top: 56px;
  z-index: 11;

  border-bottom: #d2d1d6 1px solid;
}

nav[role="toolstoys"]:not(.pos-fixed) > div {
  left: 0 !important;
}

nav[role="toolstoys"] > div {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  padding: 8px 16px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;

  background: #ffffff;
  border-bottom: rgba(210,209,214,0) 1px solid;

  -ms-overflow-style: none;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

nav[role="toolstoys"] > div::-webkit-scrollbar {
  display: none;
  height: 0 !important;
}

nav[role="toolstoys"] > div ul {
  display: table;
  padding-right: 16px;
}

nav[role="toolstoys"] > div ul li {
  display: table-cell;
  padding: 0 4px;

  border-right: 1px #a5a3ad solid;
  -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
       -o-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

nav[role="toolstoys"] > div ul li:first-child {
  border-left: 1px #a5a3ad solid;
}

nav[role="toolstoys"] > div ul li.current a {
  color: #1c3a83;

  background: #ffe100;
}

nav[role="toolstoys"] > div ul li a {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;
  width: 100%;
  height: 32px;
  padding: 0 4px;

  font-weight: bold;

  border-radius: 2px;

  -webkit-transition: color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
     -moz-transition: color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
      -ms-transition: color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
       -o-transition: color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
          transition: color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), background 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -ms-flex-align: center;
}

nav[role="toolstoys"] > div ul li a i {
  width: 24px;
  height: 24px;
  margin: 4px 4px 4px 0;

  background: #ffffff;
}

nav[role="toolstoys"] > div ul li a > span {
  display: block;

  line-height: 1.3;
  white-space: nowrap;
}

nav[role="toolstoys"] > div ul li a > span span,
nav[role="toolstoys"] > div ul li a > span small {
  display: none;
}

nav[role="filter"] {
  margin: 0 -16px;
  padding: 0 16px;

  white-space: nowrap;

  background: #f6f6f7;
  -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
          backface-visibility: hidden;

      -ms-backface-visibility: hidden;
}

nav[role="filter"] h4 {
  margin-bottom: 8px;

  border-bottom: 1px #d2d1d6 solid;
}

nav[role="filter"] h4 a {
  display: table;
  width: 100%;
  height: 48px;
}

nav[role="filter"] h4 a i {
  display: table-cell;
  width: 76px;

  font-weight: bold;
  font-size: 16px;
  vertical-align: middle;
}

nav[role="filter"] h4 a span {
  position: relative;

  display: table-cell;
  padding-left: 18px;

  font-size: 10px;
  vertical-align: middle;
  color: #a5a3ad;

  opacity: 0;
      filter: alpha(opacity=0);

  -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     -moz-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      -ms-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
       -o-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);

  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

nav[role="filter"] h4 a span:before {
  position: absolute;
  top: 50%;
  left: 0;

  font-size: 15px;

  -webkit-transform: translate(0, -50%);
     -moz-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
       -o-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

nav[role="filter"] div.open > * {
  opacity: 1;
      filter: none;

  -ms-filter: none;
}

nav[role="filter"] div > * {
  opacity: 0;
      filter: alpha(opacity=0);

  -webkit-transition: opacity 0.3s;
     -moz-transition: opacity 0.3s;
      -ms-transition: opacity 0.3s;
       -o-transition: opacity 0.3s;
          transition: opacity 0.3s;

  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

nav[role="filter"] div ul {
  position: relative;

  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-right: -8px;
  padding: 1px 0 16px;

  -webkit-box-lines: multiple;
     -moz-box-lines: multiple;
       -o-box-lines: multiple;
      -ms-flex-wrap: wrap;
}

nav[role="filter"] div ul:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;

  width: calc(100% - 8px);

  border-top: 0.1em #d2d1d6 solid;
}

nav[role="filter"] div ul li {
  position: relative;

  display: table;
  height: 24px;
  margin: 8px 8px 0 0;
  padding: 0 2px 0 24px;

  border-radius: 4px;
  cursor: pointer;

  -webkit-transition: color 0.3s cubic-bezier(0.075, 0.82, 0.165, 1), background 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
     -moz-transition: color 0.3s cubic-bezier(0.075, 0.82, 0.165, 1), background 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
      -ms-transition: color 0.3s cubic-bezier(0.075, 0.82, 0.165, 1), background 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
       -o-transition: color 0.3s cubic-bezier(0.075, 0.82, 0.165, 1), background 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
          transition: color 0.3s cubic-bezier(0.075, 0.82, 0.165, 1), background 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
}

nav[role="filter"] div ul li:after {
  display: table-cell;

  font-weight: bold;
  font-size: 12px;
  vertical-align: middle;
}

nav[role="filter"] div ul li.selected {
  color: #ffd300;

  background: #ffffff;
}

nav[role="filter"] div ul li.selected i:first-child:before {
  opacity: 1;
      filter: none;

  -ms-filter: none;
}

nav[role="filter"] div ul li i {
  position: absolute;
  top: 0;
  left: 0;

  width: 24px;
  height: 24px;
}

nav[role="filter"] div ul li i:first-child:before {
  opacity: 0;
      filter: alpha(opacity=0);

  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

nav[role="filter"] div ul li i:before {
  position: absolute;
  top: 50%;
  left: 50%;

  font-size: 18px;
  color: #ffd300;

  -webkit-transform: translate(-50%, -50%);
     -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
       -o-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);

  -webkit-transition: opacity 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
     -moz-transition: opacity 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
      -ms-transition: opacity 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
       -o-transition: opacity 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
          transition: opacity 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
}

nav[role="filter"] div > a {
  position: relative;

  display: table;
  width: auto;
  height: 24px;
  margin-bottom: 8px;
  padding: 0 2px 0 24px;

  cursor: pointer;
}

nav[role="filter"] div > a.disabled {
  cursor: default;

  pointer-events: none;
}

nav[role="filter"] div > a.disabled:before {
  color: #a5a3ad;
}

nav[role="filter"] div > a.disabled span {
  color: #a5a3ad;
}

nav[role="filter"] div > a:before {
  position: absolute;
  top: 50%;
  left: 3px;

  font-size: 18px;
  color: #ffd300;

  -webkit-transform: translate(0, -50%);
     -moz-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
       -o-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

nav[role="filter"] div > a span {
  display: table-cell;

  font-weight: bold;
  font-size: 12px;
  vertical-align: middle;
  text-align: left;

  -webkit-transition: color 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
     -moz-transition: color 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
      -ms-transition: color 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
       -o-transition: color 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
          transition: color 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
}

aside[role="tab"] {
  position: relative;

  height: 254px;
  margin: 0 -16px 80px;

  -webkit-transition: opacity 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
     -moz-transition: opacity 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
      -ms-transition: opacity 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
       -o-transition: opacity 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
          transition: opacity 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
}

aside[role="tab"] + [role="banners"] {
  margin-top: -40px;
}

aside[role="tab"] section {
  position: absolute;
  bottom: 0;
  left: 0;

  width: 100%;
  height: 210px;

  border-top: 4px #ffe100 solid;
  border-bottom: 4px #ffe100 solid;
}

aside[role="tab"] section h4 {
  width: calc(50% - 20px);
  max-width: 181.13px;
  height: 44px;
  margin-top: -44px;
  margin-left: 16px;
  padding-top: 4px;
  overflow: hidden;

  background: #ffffff;
  border-width: 1px;
  border-color: #a5a3ad;
  border-top-style: solid;
  border-right-style: solid;
  border-left-style: solid;
  border-radius: 4px 4px 0 0;
  cursor: pointer;

  -webkit-transition: background 0.3s, border-color 0.3s;
     -moz-transition: background 0.3s, border-color 0.3s;
      -ms-transition: background 0.3s, border-color 0.3s;
       -o-transition: background 0.3s, border-color 0.3s;
          transition: background 0.3s, border-color 0.3s;
}

aside[role="tab"] section h4 a {
  font-weight: bold;
  font-size: 12px;
  line-height: 3.33;
  text-align: center;

  -webkit-transition: color 0.3s;
     -moz-transition: color 0.3s;
      -ms-transition: color 0.3s;
       -o-transition: color 0.3s;
          transition: color 0.3s;
}

aside[role="tab"] section.active {
  z-index: 1;
}

aside[role="tab"] section.active h4 {
  background: #ffe100;
  border-color: #ffe100;
}

aside[role="tab"] section.active h4 a {
  color: #1c3a83;
}

aside[role="tab"] section.active div {
  opacity: 1;
      filter: none;

  -ms-filter: none;
}

aside[role="tab"] section:first-child h4 {
  -webkit-transform: translate(0, -4px);
     -moz-transform: translate(0, -4px);
      -ms-transform: translate(0, -4px);
       -o-transform: translate(0, -4px);
          transform: translate(0, -4px);
}

aside[role="tab"] section:first-child div ul > li dt:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;

  display: block;
  width: 32px;
  height: 32px;
  overflow: hidden;

  font-weight: bold;
  font-size: 16px;
  line-height: 2;
  text-align: center;

  background: #fff399;
  border-radius: 2px;
}

aside[role="tab"] section:first-child div ul > li:first-child dt:before {
  content: "1";
}

aside[role="tab"] section:first-child div ul > li:first-child + li dt:before {
  content: "2";
}

aside[role="tab"] section:first-child div ul > li:first-child + li + li dt:before {
  content: "3";
}

aside[role="tab"] section:first-child div ul > li:first-child + li + li + li dt:before {
  content: "4";
}

aside[role="tab"] section:first-child div ul > li:first-child + li + li + li + li dt:before {
  content: "5";
}

aside[role="tab"] section:first-child + section h4 {
  margin-left: 24px;

  -webkit-transform: translate(100%, -4px);
     -moz-transform: translate(100%, -4px);
      -ms-transform: translate(100%, -4px);
       -o-transform: translate(100%, -4px);
          transform: translate(100%, -4px);
}

aside[role="tab"] section div {
  padding: 8px 0 6px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;

  background: #ffffff;
  opacity: 0;
      filter: alpha(opacity=0);

  -webkit-transition: opacity 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
     -moz-transition: opacity 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
      -ms-transition: opacity 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
       -o-transition: opacity 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
          transition: opacity 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);

  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -ms-overflow-style: none;
  overscroll-behavior-x: contain;
  scroll-padding: 8px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

aside[role="tab"] section div::-webkit-scrollbar {
  display: none;
  height: 0 !important;
}

aside[role="tab"] section div ul {
  display: table;
  padding: 0 8px;
}

aside[role="tab"] section div ul > li {
  display: table-cell;
  padding: 0 8px;

  scroll-snap-align: start;
}

aside[role="tab"] section div ul > li a.btn-item {
  width: 120px;
  margin: 0 auto;
}

aside[role="tab"] section div ul > li a.btn-item dl {
  border-bottom: none;
}

aside[role="tab"] section div ul > li a.btn-item dl dd {
  height: 64px;
}

#contents[data-type*="toolstoys-"] > header {
  padding-bottom: 32px;
}

#contents[data-type*="toolstoys-"] > header h2 {
  position: relative;

  margin: 0 -16px;
  overflow: hidden;
}

#contents[data-type*="toolstoys-"] > header h2:before {
  content: "";

  display: block;
  padding: 56.25% 0 0;
}

#contents[data-type*="toolstoys-"] > header h2 > img {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;
}

#contents[data-type*="toolstoys-"] > header h2 > span {
  position: absolute;
  top: 17.78%;
  left: 16px;
}

#contents[data-type*="toolstoys-"] > header h2 > span span {
  display: block;

  font-size: 20px;
  line-height: 1.35;
}

#contents[data-type*="toolstoys-"] > header > p {
  font-size: 10px;
  text-align: right;
}

#contents[data-type="toolstoys-index"] > header > div {
  margin: 18px 0 28px;
}

#contents[data-type="toolstoys-index"] > header > div p {
  font-size: 14px;
  line-height: 1.75;
}

#contents[data-type="toolstoys-index"] > header > div [role="banner"] {
  margin-top: 18px;
}

#contents[data-type="toolstoys-index"] > section {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  max-width: 382px;
  margin: 0 auto;

  -webkit-box-lines: multiple;
     -moz-box-lines: multiple;
       -o-box-lines: multiple;
  -webkit-box-pack: justify;
     -moz-box-pack: justify;
       -o-box-pack: justify;
  -ms-flex-pack: justify;
      -ms-flex-wrap: wrap;
}

#contents[data-type="toolstoys-index"] > section dl {
  width: 100%;
  margin-bottom: 32px;
}

#contents[data-type="toolstoys-index"] > section dl dt {
  padding: 4px 0;

  font-weight: bold;
  font-size: 18px;
  line-height: 1.5;
}

#contents[data-type="toolstoys-index"] > section dl dt small {
  display: block;

  font-size: 14px;
}

#contents[data-type="toolstoys-index"] > section dl dd:nth-of-type(1) {
  position: relative;

  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
  padding-top: 50%;

  border-bottom: #ffe100 4px solid;
}

#contents[data-type="toolstoys-index"] > section dl dd:nth-of-type(1) img {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
}

#contents[data-type="toolstoys-index"] > section dl dd:nth-of-type(2) {
  font-size: 16px;
}

#contents[data-type="toolstoys-index"] > section dl dd:nth-of-type(2) br {
  display: none;
}

#contents[data-type="toolstoys-index"] > section dl a.btn-secondary {
  width: 240px;
  margin-top: 10px;
}

#contents[data-type="toolstoys-index"] > section dl a.btn-secondary:before {
  right: 7px;
}

#contents[data-type="toolstoys-index"] > section dl a.btn-secondary span {
  text-align: left;
}

#contents[data-type="toolstoys-list"] > section {
  margin-top: -105px;
  padding: 105px 0 24px;
}

#contents[data-type="toolstoys-list"] > section header {
  position: relative;

  margin: 0 -16px 16px;
}

#contents[data-type="toolstoys-list"] > section header:before {
  content: "";

  display: block;
  padding: 37.5% 0 16px;
}

#contents[data-type="toolstoys-list"] > section header > img {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: auto;
}

#contents[data-type="toolstoys-list"] > section header h3 {
  position: relative;

  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;
  height: 56px;
  margin: 0 16px;
  padding-left: 64px;

  font-weight: bold;

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -ms-flex-align: center;
}

#contents[data-type="toolstoys-list"] > section header h3 i {
  position: absolute;
  top: 0;
  left: 0;

  width: 56px;
  height: 56px;
  padding: 4px;

  background: #ffe100;
  border-radius: 2px;
}

#contents[data-type="toolstoys-list"] > section header h3 > span {
  display: block;

  font-size: 20px;
  line-height: 1.4;
}

#contents[data-type="toolstoys-list"] > section header h3 > span span {
  display: block;
}

#contents[data-type="toolstoys-list"] > section header h3 > span small {
  display: block;

  font-size: 14px;
  line-height: 2;
}

#contents[data-type="toolstoys-list"] > section header h3 > span br:not(.device-res) {
  display: none;
}

#contents[data-type="toolstoys-list"] > section > ul {
  position: relative;

  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  min-height: 146px;
  margin-top: 16px;

  -webkit-box-lines: multiple;
     -moz-box-lines: multiple;
       -o-box-lines: multiple;
  -webkit-box-pack: justify;
     -moz-box-pack: justify;
       -o-box-pack: justify;
  -ms-flex-pack: justify;
      -ms-flex-wrap: wrap;
}

#contents[data-type="toolstoys-list"] > section > ul:empty:before {
  opacity: 1;
      filter: none;

  -webkit-transition: opacity 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
     -moz-transition: opacity 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
      -ms-transition: opacity 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
       -o-transition: opacity 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
          transition: opacity 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);

  -ms-filter: none;
}

#contents[data-type="toolstoys-list"] > section > ul:before {
  content: "該当の商品はありません。";
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 130px;
  padding-top: 38px;

  font-size: 14px;
  text-align: center;

  background: #f6f6f7;
  opacity: 0;
      filter: alpha(opacity=0);

  -webkit-transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
     -moz-transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
      -ms-transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
       -o-transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
          transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);

  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

#contents[data-type="toolstoys-list"] > section > ul > li {
  height: 222px;
}

#contents[data-type="toolstoys-list"] > section > ul > li a.btn-item dd:nth-of-type(1) {
  height: 109px;
}

body.state-expand #page > footer {
  padding-bottom: 48px;
}

body.state-expand #page a.btn-gotop {
  bottom: 56px;
}

#contents[data-type^="detail"] {
  padding: 0 16px 16px;
}

#contents[data-type^="detail"] > section {
  padding-top: 16px;
}

#contents[data-type^="detail"] > section:not(:last-child) {
  border-bottom: 1px #d2d1d6 solid;
}

#contents[data-type^="detail"] ~ footer {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;

  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-justify-content: center;
          justify-content: center;
  -webkit-align-items: center;
          align-items: center;
  width: 100%;
  height: 48px;

  background: #f6f6f7;
  border-top: #d2d1d6 1px solid;

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -webkit-box-pack: center;
     -moz-box-pack: center;
       -o-box-pack: center;
  -ms-flex-align: center;
  -ms-flex-pack: center;
}

#contents[data-type^="detail"] ~ footer a:nth-child(1) {
  position: relative;

  width: 32px;

  border-radius: 2px;
}

#contents[data-type^="detail"] ~ footer a:nth-child(2) {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-justify-content: center;
          justify-content: center;
  -webkit-align-items: center;
          align-items: center;
  width: 62.5%;
  max-width: 258.75px;
  height: 32px;
  margin: 0 0 0 8px;
  overflow: hidden;

  text-align: center;
  color: #ffffff;

  background: #1e1933;
  border-radius: 2px;

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -webkit-box-pack: center;
     -moz-box-pack: center;
       -o-box-pack: center;
  -ms-flex-align: center;
  -ms-flex-pack: center;
}

#contents[data-type^="detail"] ~ footer a:nth-child(2) span {
  display: block;

  font-weight: bold;
  font-size: 12px;
  line-height: 2.5;
}

#contents[data-type^="detail"] ~ footer a:nth-child(2).state-reverse:before {
  -webkit-transform: rotateX(180deg);
     -moz-transform: rotateX(180deg);
      -ms-transform: rotateX(180deg);
       -o-transform: rotateX(180deg);
          transform: rotateX(180deg);
}

#contents[data-type^="detail"] ~ footer a:nth-child(2):before {
  display: block;
  margin-right: 2px;

  font-size: 20px;

  -webkit-transform-origin: 50% 50%;
     -moz-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
       -o-transform-origin: 50% 50%;
          transform-origin: 50% 50%;

  -webkit-transition: -webkit-transform 0.3s;
     -moz-transition:    -moz-transform 0.3s;
      -ms-transition:     -ms-transform 0.3s;
       -o-transition:      -o-transform 0.3s;
          transition:         transform 0.3s;
}

#contents[data-type^="detail"] a.btn-fav,
#contents[data-type^="detail"] ~ footer a.btn-fav {
  display: block;
  height: 32px;

  text-decoration: none;

  background: #ffffff;
  border: 1px #a5a3ad solid;
}

#contents[data-type^="detail"] a.btn-fav.like i + i,
#contents[data-type^="detail"] ~ footer a.btn-fav.like i + i {
  opacity: 0;
      filter: alpha(opacity=0);

  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

#contents[data-type^="detail"] a.btn-fav i,
#contents[data-type^="detail"] ~ footer a.btn-fav i {
  color: #ffd300;

  -webkit-transition: opacity 0.3s;
     -moz-transition: opacity 0.3s;
      -ms-transition: opacity 0.3s;
       -o-transition: opacity 0.3s;
          transition: opacity 0.3s;
}

#contents[data-type^="detail"] a.btn-fav i:before,
#contents[data-type^="detail"] ~ footer a.btn-fav i:before {
  position: absolute;
  top: 50%;
  left: 50%;

  font-size: 18px;

  background: #ffffff;
  -webkit-transform: translate(-50%, -50%);
     -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
       -o-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

#contents[data-type^="detail_book"] {
  padding-top: 12px;
}

#contents[data-type^="detail_book"] [role="headline"] {
  z-index: 103;

  margin-bottom: 8px;
}

#contents[data-type^="detail_book"] #lot {
  margin-top: -96px;
  padding-top: 112px !important;
}

#contents[data-type*="detail_hikidashi"] #products #item-price > div ul li:nth-of-type(1):before {
  content: "";
}

#contents[data-type*="detail_hikidashi"] #products #item-price > div ul li:nth-of-type(2):before {
  content: "セット：";
}

#slide {
  width: calc(100% + 32px);
  margin: 0 -16px;

  text-align: center;
}

#slide > div {
  position: relative;

  padding-top: 100%;
  overflow: hidden;
}

#slide > div ul:nth-child(1) {
  position: absolute;
  top: 0;
  left: 0;

  width: calc(100% + 1px);
  height: calc(100% + 1px);

  -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
       -o-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
          backface-visibility: hidden;

      -ms-backface-visibility: hidden;
}

#slide > div ul:nth-child(1) li {
  position: absolute;
  top: -100%;

  width: 100%;
  height: 100%;

  background: url("/store/techo/2021/images/loading3.gif") no-repeat 50% 50%;
  background-color: #f1f1f1;
  -webkit-background-size: 32px auto;
     -moz-background-size: 32px auto;
          background-size: 32px auto;
  -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
          backface-visibility: hidden;

      -ms-backface-visibility: hidden;
}

#slide > div ul:nth-child(1) li.ready img {
  opacity: 0;
      filter: alpha(opacity=0);

  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

#slide > div ul:nth-child(1) li:first-child {
  left: 0;
}

#slide > div ul:nth-child(1) li.active {
  top: 0;
}

#slide > div ul:nth-child(1) li:before {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;

  display: block;
  width: 32px;
  height: 32px;
  overflow: hidden;

  font-size: 26px;
  line-height: 1.23;
  text-align: center;
  color: #ffffff;

  background: #1e1933;
  border-radius: 4px 0 0 0;
  -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
       -o-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

#slide > div ul:nth-child(1) li img {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  -webkit-transition: opacity 0.6s;
     -moz-transition: opacity 0.6s;
      -ms-transition: opacity 0.6s;
       -o-transition: opacity 0.6s;
          transition: opacity 0.6s;

  pointer-events: none;

  object-fit: contain;
  object-position: 50% 50%;
}

#slide > div ul:nth-child(2) {
  -webkit-transition: opacity 0.6s;
     -moz-transition: opacity 0.6s;
      -ms-transition: opacity 0.6s;
       -o-transition: opacity 0.6s;
          transition: opacity 0.6s;
}

#slide > div ul:nth-child(2) li:nth-child(1) a {
  left: 0;
}

#slide > div ul:nth-child(2) li:nth-child(2) a {
  right: 0;
}

#slide > div ul:nth-child(2) li a {
  position: absolute;
  position: absolute;
  top: 50%;

  width: 36px;
  height: 25%;

  color: rgba(255,255,255,0);

  -webkit-transform: translate(0, -50%);
     -moz-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
       -o-transform: translate(0, -50%);
          transform: translate(0, -50%);
  cursor: pointer;

  -webkit-transition: color 0.45s;
     -moz-transition: color 0.45s;
      -ms-transition: color 0.45s;
       -o-transition: color 0.45s;
          transition: color 0.45s;
}

#slide > div ul:nth-child(2) li a.darken {
  color: #1e1933;
}

#slide > div ul:nth-child(2) li a.lighten {
  color: #ffffff;
}

#slide > div ul:nth-child(2) li a:before {
  position: absolute;
  top: 50%;
  left: 50%;

  font-size: 36px;

  -webkit-transform: translate(-50%, -50%);
     -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
       -o-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

#slide > ul {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-justify-content: center;
          justify-content: center;
  height: 32px;
  padding: 8px 0;

  -webkit-transition: opacity 0.6s;
     -moz-transition: opacity 0.6s;
      -ms-transition: opacity 0.6s;
       -o-transition: opacity 0.6s;
          transition: opacity 0.6s;

  -webkit-box-pack: center;
     -moz-box-pack: center;
       -o-box-pack: center;
  -ms-flex-pack: center;
}

#slide > ul li {
  position: relative;

  width: 16px;
  height: 16px;
}

#slide > ul li:before {
  content: "";
  position: absolute;
  top: calc(50% - 3px);
  left: calc(50% - 3px);

  width: 6px;
  height: 6px;

  background: rgba(30,25,51,0.2);
  border-radius: 50%;

  -webkit-transition: background 0.6s;
     -moz-transition: background 0.6s;
      -ms-transition: background 0.6s;
       -o-transition: background 0.6s;
          transition: background 0.6s;
}

#slide > ul li.current:before {
  background: #1e1933;

  -webkit-transition: background 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     -moz-transition: background 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      -ms-transition: background 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
       -o-transition: background 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: background 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#detail {
  border-bottom: 1px #d2d1d6 solid;
}

#detail header {
  position: relative;

  padding-bottom: 26px;
}

#detail header h2 {
  padding-top: 19px;

  font-weight: bold;
}

#detail header h2 span {
  display: block;

  font-size: 14px;
  line-height: 1;
}

#detail header h2 span:empty {
  display: none;
}

#detail header h2 span:empty + span:empty + strong {
  margin-top: 0;
}

#detail header h2 span:not(:empty) + span {
  margin-top: 8px;
}

#detail header h2 span img {
  width: auto;
  margin-top: -10px;

  font-size: 10px;
}

#detail header h2 strong {
  display: block;
  margin: 4px 0 -4px;

  font-size: 18px;
  line-height: 1.5;
}

#detail header h2 small {
  display: block;
  margin: 5px 0 -3px;

  font-size: 12px;
  line-height: 1.5;
}

#detail header h2 small:empty {
  display: none;
}

#detail header ul {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  width: calc(100% - 40px);
  min-height: 25px;
  margin-top: 7px;

  -webkit-box-lines: multiple;
     -moz-box-lines: multiple;
       -o-box-lines: multiple;
      -ms-flex-wrap: wrap;
}

#detail header ul li {
  height: 24px;
  margin: 1px 1px 0 0;
  padding: 7px 16px 0;
  overflow: hidden;

  font-weight: bold;
  font-size: 10px;
  line-height: 1;
  color: #1e1933;

  background: #fff399;
  border-radius: 2px;
}

#detail header ul li[data-index="11"] {
  background: #d2d1d6;
}

#detail header ul li[data-index="15"] {
  background: #b2bdff;
}

#detail header ul li[data-index="16"],
#detail header ul li[data-index="17"] {
  color: #ffffff;

  background: #c80f0f;
}

#detail header ul li[data-index="19"] {
  padding-top: 6px;

  color: #ff0000;

  background: #ffffff;
  border: 1px #ff0000 solid;
}

#detail header a.btn-fav {
  position: absolute;
  right: 0;
  bottom: 26px;

  width: 32px;

  border-radius: 4px;
}

#detail header > p {
  padding-top: 3px;

  font-size: 14px;
  color: #c80f0f;
}

#detail header > p:empty {
  display: none;
}

#detail header > p a {
  color: #1e1933;
}

#detail > div {
  position: relative;

  overflow: hidden;

  -webkit-transition: min-height 0.3s;
     -moz-transition: min-height 0.3s;
      -ms-transition: min-height 0.3s;
       -o-transition: min-height 0.3s;
          transition: min-height 0.3s;
}

#detail > div.open:after {
  height: 0;

  opacity: 0;
      filter: alpha(opacity=0);

  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

#detail > div:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;

  display: block;
  width: 100%;
  height: 100%;
  max-height: 80px;

  background: -webkit-linear-gradient(top, rgba(255,255,255,0), #ffffff);
  background:    -moz-linear-gradient(top, rgba(255,255,255,0), #ffffff);
  background:      -o-linear-gradient(top, rgba(255,255,255,0), #ffffff);
  background:     -ms-linear-gradient(top, rgba(255,255,255,0), #ffffff);
  background:         linear-gradient(to bottom, rgba(255,255,255,0), #ffffff);

  -webkit-transition: opacity 0.45s, height 0.45s;
     -moz-transition: opacity 0.45s, height 0.45s;
      -ms-transition: opacity 0.45s, height 0.45s;
       -o-transition: opacity 0.45s, height 0.45s;
          transition: opacity 0.45s, height 0.45s;
}

#detail > div > *:last-child {
  padding-bottom: 16px;
}

#detail > div.disabled {
  height: auto !important;
  min-height: 0 !important;
}

#detail > div.disabled:after {
  display: none;
}

#detail > div.disabled + a {
  display: none;
}

#detail > div + a {
  position: relative;

  width: calc(100% + 32px);
  height: 40px;
  margin: 0 -16px;

  background: #ffffff;
}

#detail > div + a.open:before {
  -webkit-transform: translate(-50%, -50%) rotateX(180deg);
     -moz-transform: translate(-50%, -50%) rotateX(180deg);
      -ms-transform: translate(-50%, -50%) rotateX(180deg);
       -o-transform: translate(-50%, -50%) rotateX(180deg);
          transform: translate(-50%, -50%) rotateX(180deg);
}

#detail > div + a:before {
  position: absolute;
  top: 50%;
  left: 50%;

  font-size: 24px;
  color: #ffd300;

  -webkit-transform: translate(-50%, -50%);
     -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
       -o-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);

  -webkit-transition: -webkit-transform 0.45s;
     -moz-transition:    -moz-transform 0.45s;
      -ms-transition:     -ms-transform 0.45s;
       -o-transition:      -o-transform 0.45s;
          transition:         transform 0.45s;
}

#about {
  padding: 0 0 16px;
}

#staff h3 {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-justify-content: flex-end;
          justify-content: flex-end;
  -webkit-align-items: center;
          align-items: center;
  width: 100%;
  height: 40px;

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -webkit-box-pack: end;
     -moz-box-pack: end;
       -o-box-pack: end;
  -ms-flex-align: center;
  -ms-flex-pack: end;
}

#staff h3 span {
  display: block;
  padding-right: 8px;

  font-size: 14px;
}

#staff div {
  border-bottom: 1px #d2d1d6 solid;
}

#staff div dl:first-child {
  padding-top: 4px;
}

#staff div dl dt,
#staff div dl dd {
  font-size: 12px;
  line-height: 1.75;
}

#staff div dl dt br,
#staff div dl dd br {
  display: none;
}

#staff div dl dd {
  padding-bottom: 12px;
}

#staff div dl dd a {
  display: inline;

  text-decoration: underline;
}

#staff div dl dt {
  font-weight: bold;
}

#related {
  margin: 24px auto 0;
}

#related:empty {
  display: none;
}

#related:before {
  content: attr(data-title) "";

  display: block;
  margin-bottom: 16px;
  padding: 8px 0;

  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;

  border-bottom: 1px #d2d1d6 solid;
}

#related ul li + li {
  margin-top: 16px;
}

#related ul li a {
  display: table;
  width: 100%;
}

#related ul li a span {
  display: table-cell;
  width: 100%;
  padding-left: 8px;

  font-weight: bold;
  font-size: 12px;
  line-height: 1.25;
  vertical-align: middle;
}

#related ul li a img {
  display: table-cell;
  width: 80px;

  vertical-align: middle;
}

#banner {
  margin-top: 24px;
}

#banner:empty {
  display: none;
}

#banner ul {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  width: 100%;
  max-width: 382px;
  margin: 0 auto;

  -webkit-box-lines: multiple;
     -moz-box-lines: multiple;
       -o-box-lines: multiple;
  -webkit-box-pack: justify;
     -moz-box-pack: justify;
       -o-box-pack: justify;
  -ms-flex-pack: justify;
      -ms-flex-wrap: wrap;
}

#banner ul li {
  width: calc(50% - 4px);
  margin-top: 8px;
}

#banner ul li.wide {
  width: 100%;
  /* a
          padding-top round(100%*142/560,2)
      a
        padding-top round(100%*142/272,2)
        position relative
        img
          position absolute
          top 0
          left 0
          width 100%
          height 100% */;
}

#products {
  margin: 32px -16px 0;
  padding: 16px !important;

  background: #f6f6f7;
  border-bottom: none !important;
}

#products.soldout #item-btn > a:not(.btn-mail) span:before {
  content: "商品情報を見る";
  position: static;

  display: block;
  margin-right: 0;

  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
}

#products.soldout #item-btn > a:not(.btn-mail) span:after {
  display: block;

  font-size: 14px;
  line-height: 1.43;
  color: #a5a3ad;
}

#products.soldout #item-btn > a.btn-cart span:after {
  content: "在庫なし";
}

#products.soldout #item-btn > a.btn-cart + .btn-mail[href] {
  display: table;
}

#products.soldout #item-btn > a.btn-lot span:after {
  content: "受付終了";
}

#products.busy #item-btn > a:not(.btn-mail) {
  display: table;

  background: #d2d1d6;
  cursor: default;

  pointer-events: none;
}

#products.busy #item-btn > a:not(.btn-mail) span {
  color: #a5a3ad;
}

#products.busy #item-btn > a:not(.btn-mail) span:before {
  display: none;
}

#products.busy #item-btn > a:not(.btn-mail) span:after {
  content: "カート一時停止中" !important;
}

#products #item-info {
  zoom: 1;
}

#products #item-info:before,
#products #item-info:after {
  content: "";

  display: table;
}

#products #item-info:after {
  clear: both;
}

#products #item-info > * {
  float: left;
}

#products #item-image {
  width: 64px;
  height: 64px;

  background: #ffffff;
}

#products #item-image img {
  width: 100%;
}

#products #item-name {
  width: calc(100% - 64px);
  min-height: 64px;
  padding-left: 16px;

  font-weight: bold;
}

#products #item-name span {
  display: block;

  font-size: 12px;
  line-height: 1;
}

#products #item-name span:empty {
  display: none;
}

#products #item-name span:empty + span:empty + strong {
  margin-top: 0;
}

#products #item-name span:not(:empty) + span {
  margin-top: 8px;
}

#products #item-name span img {
  font-size: 10px;
}

#products #item-name strong {
  display: block;
  margin: 4px 0 -4px;

  font-size: 16px;
  line-height: 1.5;
}

#products #item-name small {
  display: block;
  margin: 5px 0 -3px;

  font-size: 12px;
  line-height: 1.5;
}

#products #item-price {
  clear: both;
  width: 100%;
  padding: 12px 0;
}

#products #item-price > div {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-items: flex-start;
          align-items: flex-start;

  -webkit-box-align: start;
     -moz-box-align: start;
       -o-box-align: start;
  -webkit-box-lines: multiple;
     -moz-box-lines: multiple;
       -o-box-lines: multiple;
  -ms-flex-align: start;
      -ms-flex-wrap: wrap;
}

#products #item-price > div:nth-child(1) i {
  line-height: 1.75;
}

#products #item-price > div:nth-child(1) i:before {
  content: "通常価格";
}

#products #item-price > div:nth-child(2):after {
  padding-left: 80px;
}

#products #item-price > div:nth-child(2) i {
  line-height: 2.6;
}

#products #item-price > div:nth-child(2) i:before {
  content: "セール価格";
}

#products #item-price > div:last-child {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
}

#products #item-price > div:last-child:after {
  content: "（税込・配送手数料別）";

  display: block;
  width: 100%;

  font-size: 10px;
  line-height: 2;
}

#products #item-price > div:last-child ul li:before {
  font-size: 12px;
  line-height: 2;
}

#products #item-price > div:nth-last-child(2) {
  font-weight: normal;
  font-size: 10px;
  line-height: 1.75;
  color: #8e8c99;
}

#products #item-price > div i {
  display: block;
  width: 80px;

  font-size: 10px;
}

#products #item-price > div i + * {
  width: calc(100% - 80px) !important;
}

#products #item-price > div ul {
  width: 100%;
}

#products #item-price > div ul li:nth-of-type(1):before {
  content: "セット：";
}

#products #item-price > div ul li:nth-of-type(2):before {
  content: "カバーのみ：";
}

#products p#item-notice span {
  display: block;
  margin-bottom: 16px;
  padding: 12px 16px;

  font-size: 12px;
  color: #c80f0f;

  background: #ffffff;
}

#products p#item-notice span:empty {
  display: none;
}

#products p#item-notice span a {
  color: #1e1933;
}

#products #item-detail {
  border-top: #d2d1d6 1px solid;

  zoom: 1;
}

#products #item-detail:before,
#products #item-detail:after {
  content: "";

  display: table;
}

#products #item-detail:after {
  clear: both;
}

#products #item-detail dd {
  font-size: 14px;
  line-height: 1.75;
}

#products #item-detail dd[data-title] {
  padding: 5px 8px 3px;

  border-bottom: #d2d1d6 1px solid;
}

#products #item-detail dd[data-title]:before {
  content: attr(data-title) "";

  display: block;

  font-weight: bold;
  font-size: 12px;
  line-height: 1.5;
}

#products #item-detail dd[data-title]:nth-child(2) {
  float: left;
  width: calc(50% - 8px);
}

#products #item-detail dd[data-title]:nth-child(3) {
  float: right;
  width: calc(50% - 8px);
}

#products #item-detail dd:not([data-title]) {
  clear: both;
  margin-bottom: -16px;
  padding: 3px 0 11px;
}

#products #item-detail dd:not([data-title]):empty {
  display: none;
}

#products #item-detail dd:not([data-title]):before {
  content: attr(data-prefix) "";
}

#products #item-detail dd:not([data-title]):after {
  content: attr(data-suffix) "";
}

#products #item-btn {
  padding-bottom: 16px;
}

#products #item-btn > a {
  display: none;

  cursor: pointer;
}

#products #item-btn > a + a,
#products #item-btn > a + p {
  margin-top: 16px;
}

#products #item-btn > a.btn-mail {
  display: none;
}

#products #item-btn > a.btn-mail span {
  line-height: 1.71;
}

#products #item-btn > a.btn-mail span:before {
  display: inline-block;
  margin-right: 12px;

  font-size: 22px;
  line-height: 1.09;
  vertical-align: middle;
  color: #ffd300;
}

#products #item-btn > a.btn-mail span:after {
  content: "再販売お知らせメール";
  position: relative;
  top: -0.05em;

  display: inline-block;

  vertical-align: middle;
}

#products #item-btn > a:not(.btn-mail) {
  height: 64px;
}

#products #item-btn > a:not(.btn-mail) span:before {
  position: relative;
  top: -1px;

  margin-right: 12px;

  font-size: 24px;
  line-height: 1;
}

#products #item-btn > a.btn-cart {
  display: table;
}

#products #item-btn > a.btn-cart span:after {
  content: "商品を選んでカートに入れる";
}

#products #item-btn > a.btn-lot {
  display: table;
}

#products #item-btn > a.btn-lot span:after {
  content: "商品を選んで申し込む";
}

#products #item-btn > a.btn-unreleased {
  display: table;
}

#products #item-btn > a.btn-unreleased span:before {
  content: "商品情報を見る";
  position: static;

  display: block;
  margin-right: 0;

  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
}

#products #item-btn p {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -ms-flex-align: center;
}

#products #item-btn p:after {
  content: "お気に入りに追加する";

  display: block;
  margin-left: 8px;

  font-weight: bold;
  font-size: 14px;
  line-height: 1.71;
}

#products #item-btn p a.btn-fav {
  position: relative;

  width: 64px;

  border-radius: 4px;
}

#lot {
  margin-top: -56px;
  padding-top: 72px !important;
}

#lot div p {
  padding: 3px 0 6px;

  font-weight: bold;
  font-size: 14px;
}

#lot div br {
  display: none;
}

#lot div table th,
#lot div table td {
  display: block;

  font-size: 14px;
  text-align: left;
}

#lot div table th {
  font-weight: bold;
}

#lot div table td {
  padding-bottom: 6px;
}

#lot div table td:last-child {
  padding-bottom: 11px;
}

#lot div table td strong {
  display: block;

  font-weight: normal;
}

#lot div table td ul li {
  position: relative;

  padding-left: 14px;
}

#lot div table td ul li:before {
  content: "・";
  position: absolute;
  left: 0;
}

#spec > dl {
  padding-top: 0;
}

#spec > dl dt {
  display: table;
  width: 100%;
  height: 40px;
}

#spec > dl dt span {
  display: table-cell;

  font-weight: bold;
  font-size: 14px;
  line-height: 1.71;
  vertical-align: middle;
}

#spec > dl dt + dd {
  padding-left: 16px;
}

#spec > dl dd table {
  width: 100%;
  margin: 0;
}

#spec > dl dd table tr:last-child th,
#spec > dl dd table tr:last-child td {
  padding-bottom: 13px;
}

#spec > dl dd table th,
#spec > dl dd table td {
  padding-bottom: 9px;

  vertical-align: top;
  text-align: left;
}

#spec > dl dd table th {
  width: 64px;
  padding-right: 8px;

  font-weight: bold;
  font-size: 12px;
  line-height: 1.75;
}

#spec > dl dd table td {
  font-size: 14px;
  line-height: 1.5;
}

#spec > dl dd table td a {
  display: inline;

  text-decoration: underline;
}

#spec figure {
  padding-bottom: 8px;
}

#spec figure img {
  max-width: 382px;
}

#spec figure img + img {
  margin: 8px 0 0;
}

#demerit div > p:nth-of-type(1) {
  padding: 5px 0 13px;

  font-size: 14px;
  line-height: 1.5;
}

#demerit div > p:nth-of-type(2) {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;
  height: 40px;

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -ms-flex-align: center;
}

#demerit div > p:nth-of-type(2) span {
  font-weight: bold;
  font-size: 14px;
}

#demerit div > dl br {
  display: none;
}

#demerit div > dl dt {
  display: table;
  width: 100%;
  height: 40px;
  padding-top: 4px;
  padding-bottom: 4px;
}

#demerit div > dl dt span {
  display: table-cell;

  font-weight: bold;
  font-size: 14px;
  vertical-align: middle;
}

#demerit div > dl dd {
  border-bottom: 1px #d2d1d6 solid;
}

#demerit div > dl dd p {
  padding: 3px 0 11px;

  font-size: 14px;
}

#demerit div > dl dd p a {
  display: inline;

  text-decoration: underline;
}

#demerit div > dl dd p img {
  display: inline-block;
  width: 100%;
  max-width: 382px;
  margin: 3px 0;

  font-size: 10px;
}

#demerit div > ul {
  padding: 16px 0 16px calc(100% - 232px);
}

#demerit div > ul li a {
  display: table;
  width: 100%;
  height: 40px;
}

#demerit div > ul li a span {
  display: table-cell;

  font-weight: bold;
  font-size: 14px;
  line-height: 1.71;
  vertical-align: middle;
}

#comment {
  zoom: 1;
}

#comment:before,
#comment:after {
  content: "";

  display: table;
}

#comment:after {
  clear: both;
}

#comment > div {
  position: relative;

  width: calc(100% + 32px);
  margin: 0 -16px;
  padding: 0 24px;
  overflow: hidden;
}

#comment > div > p {
  display: block;
  margin: 0 -8px;

  font-size: 14px;
  line-height: 1.5;
}

#comment > div > div {
  position: relative;

  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;
  width: calc(100vw - 48px);

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -ms-flex-align: center;
}

#comment > div > div div {
  -webkit-flex-shrink: 0;
          flex-shrink: 0;
  width: calc(100vw - 48px);
  padding: 0 8px;
}

#comment > div > div div dl {
  padding: 13px 16px 16px;

  background: #f6f6f7;
}

#comment > div > div div dl dd:nth-of-type(1) {
  padding-bottom: 5px;

  font-size: 14px;
  line-height: 1.5;
}

#comment > div > div div dl dd:nth-of-type(2) {
  display: inline-block;
  width: 60px;

  font-weight: bold;
  font-size: 10px;
  vertical-align: middle;
}

#comment > div > div div dl dt {
  display: inline-block;
  width: calc(100% - 68px);

  vertical-align: middle;
}

#comment > div > div div dl dt span {
  display: inline-block;

  font-size: 12px;
  vertical-align: middle;
}

#comment > div > div div dl dt img {
  display: inline-block;
  width: 24px;
  margin-right: 8px;

  vertical-align: middle;

  pointer-events: none;
}

#comment > a {
  float: right;
  margin: 4px 0;
  padding-right: 30px;

  font-weight: bold;
  font-size: 12px;
  line-height: 2.17;
}

#comment > a:before {
  right: 4px;

  font-size: 18px;
}

#recommend:before {
  content: attr(data-title) "";

  display: block;
  margin-bottom: 0;

  font-weight: bold;
  font-size: 16px;
  line-height: 2.5;
}

#recommend:empty {
  display: none;
}

#recommend > div {
  position: relative;
}

#recommend > div > div {
  width: calc(100% + 32px);
  margin: 0 -16px;
  padding: 0 8px;
  overflow: hidden;
}

#recommend > div > div > ul {
  position: relative;

  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  width: auto;
  height: 197px;
}

#recommend > div > div > ul:not(.active) {
  -webkit-transform: translate3d(0, 0, 0) !important;
     -moz-transform: translate3d(0, 0, 0) !important;
      -ms-transform: translate3d(0, 0, 0) !important;
       -o-transform: translate3d(0, 0, 0) !important;
          transform: translate3d(0, 0, 0) !important;
}

#recommend > div > div > ul.active {
  width: 136px;
}

#recommend > div > div > ul.active > li {
  position: absolute;
}

#recommend > div > div > ul > li {
  top: 0;

  width: 136px;
  padding: 0 8px;
}

#recommend > div > div > ul > li a dl dt img {
  pointer-events: none;
}

#recommend > div > div > ul > li a dl dd {
  border-bottom: none;
}

#recommend > div > div > ul > li a dl dd:before {
  display: none;
}

#benefit {
  padding-top: 32px !important;
}

#benefit a {
  max-width: 382px;
  margin: 0 auto;
}

#books {
  padding: 12px 0;
}

#books ul {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-items: center;
          align-items: center;

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -webkit-box-lines: multiple;
     -moz-box-lines: multiple;
       -o-box-lines: multiple;
  -ms-flex-align: center;
      -ms-flex-wrap: wrap;
}

#books ul:before {
  content: "このカバーで使える手帳本体";

  display: block;
  width: 100%;

  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
}

#books ul li {
  width: 50%;
  margin: 4px 0;
}

#books ul li a {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;
  width: 100%;

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -ms-flex-align: center;
}

#books ul li a:last-child:first-child {
  width: auto;
}

#books ul li a img {
  display: block;
  width: 64px;
  height: 64px;
}

#books ul li a img[src*="original"] + i:before {
  content: "オリジナル\A１日１ページ";
}

#books ul li a img[src*="original_avec"] + i:before {
  content: "オリジナル\A avec\A１日１ページ\A分冊版";
}

#books ul li a img[src*="planner"] + i:before {
  content: "Planner\A１日１ページ\A英語版";
}

#books ul li a img[src*="dayfree"] + i:before {
  content: "day-free\A月間手帳" !important;
}

#books ul li a img[src*="cousin"] + i:before {
  content: "カズン\A１日１ページ";
}

#books ul li a img[src*="cousin_avec"] + i:before {
  content: "カズン avec\A１日１ページ\A分冊版";
}

#books ul li a img[src*="5year_s"] + i:before {
  content: "ほぼ日５年手帳\A５年手帳";
}

#books ul li a img[src*="5year_m"] + i:before {
  content: "おおきいほぼ日５年手帳\A５年手帳";
}

#books ul li a img[src*="weeks"] + i:before {
  content: "weeks\A週間手帳";
}

#books ul li a img[src*="weeks_mega"] + i:before {
  content: "weeks MEGA\A週間手帳";
}

#books ul li a i {
  display: block;
  width: calc(100% - 64px);
}

#books ul li a i:before {
  display: block;

  font-weight: bold;
  font-size: 12px;
  line-height: 1.25;
  white-space: pre;
}

#about[data-device="sp"] {
  font-weight: normal;
  word-wrap: break-word;
}

#about[data-device="sp"] br:not([role="device-sp"]) {
  display: none;
}

#about[data-device="sp"] > *:first-child {
  margin-top: 0 !important;
}

#about[data-device="sp"] > *:last-child {
  margin-bottom: 0 !important;
}

#about[data-device="sp"] h4 {
  display: inline-block;
  margin-bottom: 16px;

  font-weight: bold;
  font-size: 16px;
}

#about[data-device="sp"] b {
  font-weight: bold;
}

#about[data-device="sp"] i {
  font-style: italic;
}

#about[data-device="sp"] u {
  text-decoration: underline;
}

#about[data-device="sp"] strike {
  text-decoration: line-through;
}

#about[data-device="sp"] a.btn-plain {
  position: relative;

  display: table;
  width: 100%;
  height: 40px;
  padding-right: 32px;

  font-size: 10px;
}

#about[data-device="sp"] a.btn-plain img {
  display: table-cell;

  vertical-align: middle;
}

#about[data-device="sp"] a.btn-plain img[data-val="80"] {
  min-width: 80px;
  max-width: 80px;
}

#about[data-device="sp"] a.btn-plain img[data-val="160"] {
  min-width: 120px;
  max-width: 120px;
}

#about[data-device="sp"] a.btn-plain img + span {
  padding-left: 8px;
}

#about[data-device="sp"] a.btn-plain span {
  display: table-cell;
  width: 100%;

  font-weight: bold;
  font-size: 14px;
  vertical-align: middle;
  word-break: break-all;
}

#about[data-device="sp"] a.btn-plain i {
  position: absolute;
  top: 50%;
  right: 4px;

  font-size: 24px;
  line-height: 1;

  -webkit-transform: translate(0, -50%);
     -moz-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
       -o-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

#about[data-device="sp"] a.btn-plain i:before {
  font-size: 24px;
  line-height: 1;
  color: #ffd300;
}

#about[data-device="sp"] a.btn-round {
  position: relative;

  display: table;
  height: 40px;
  padding: 0 16px;

  font-size: 10px;
  text-align: center;
  text-align: center;
  color: #ffffff !important;

  background: #1e1933;
  border-radius: 4px;
}

#about[data-device="sp"] a.btn-round span {
  display: table-cell;

  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
  vertical-align: middle;
}

#about[data-device="sp"] a.btn-round i {
  display: none;
}

#about[data-device="sp"] [data-type="image"] {
  font-size: 10px;
}

#about[data-device="sp"] [data-type="image"]:not(img) {
  width: 100%;
  margin-top: 28px;
}

#about[data-device="sp"] [data-type="image"] img {
  width: 100% !important;
}

#about[data-device="sp"] img[data-type="image"] {
  width: 100% !important;
}

#about[data-device="sp"] [data-type="youtube"] {
  width: 100% !important;
  margin-top: 28px;
}

#about[data-device="sp"] [data-type="youtube"] figure {
  position: relative;

  display: block;
  width: 100% !important;
  padding-top: 56.25% !important;
}

#about[data-device="sp"] [data-type="youtube"] iframe {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;
}

#about[data-device="sp"] .content-text {
  font-size: 16px;
}

#about[data-device="sp"] .content-text a {
  display: inline;
}

#about[data-device="sp"] .content-text font[size="2"] {
  font-size: 75%;
}

#about[data-device="sp"] .content-text font[size="3"] {
  font-size: 87.5%;
}

#about[data-device="sp"] .content-text font[size="5"] {
  font-size: 112.5%;
}

#about[data-device="sp"] .content-text font[size="6"] {
  font-size: 125%;
}

#about[data-device="sp"] .content-text font[size] font[size] {
  font-size: 100%;
}

#about[data-device="sp"] .content-text img:not([role="br"]) {
  display: inline-block;

  font-size: 10px;
  vertical-align: bottom;
}

#about[data-device="sp"] .content-text img:not([role="br"])[data-icon="face"] {
  width: 45px;
}

#about[data-device="sp"] .content-text img:not([role="br"]):not([data-icon]) {
  width: 100% !important;
  /* margin-top 28px
          margin-bottom 28px
          & + br + img[data-val]
          &:first-child
            margin-top 0
          &:last-child
            margin-bottom 0 */;
}

#about[data-device="sp"] .content-text [data-type="youtube"] {
  position: relative;

  display: inline-block;
  margin: 0;
  padding-top: 56.25%;

  font-size: 0;
}

#about[data-device="sp"] .content-text ul li,
#about[data-device="sp"] .content-text ol li {
  position: relative;

  padding-left: 16px;
}

#about[data-device="sp"] .content-text ul li + li,
#about[data-device="sp"] .content-text ol li + li {
  margin-top: 9px;
}

#about[data-device="sp"] .content-text ul li:before,
#about[data-device="sp"] .content-text ol li:before {
  content: "・";
  position: absolute;
  left: 0;

  white-space: nowrap;
}

#about[data-device="sp"] .content-text ul li[data-marker]:not([data-marker=""]):before,
#about[data-device="sp"] .content-text ol li[data-marker]:not([data-marker=""]):before {
  content: attr(data-marker) "" !important;
}

#about[data-device="sp"] .content-text ol li {
  padding-left: 16px;
}

#about[data-device="sp"] .content-text ol li:nth-child(1):before {
  content: "1.";
}

#about[data-device="sp"] .content-text ol li:nth-child(2):before {
  content: "2.";
}

#about[data-device="sp"] .content-text ol li:nth-child(3):before {
  content: "3.";
}

#about[data-device="sp"] .content-text ol li:nth-child(4):before {
  content: "4.";
}

#about[data-device="sp"] .content-text ol li:nth-child(5):before {
  content: "5.";
}

#about[data-device="sp"] .content-text ol li:nth-child(6):before {
  content: "6.";
}

#about[data-device="sp"] .content-text ol li:nth-child(7):before {
  content: "7.";
}

#about[data-device="sp"] .content-text ol li:nth-child(8):before {
  content: "8.";
}

#about[data-device="sp"] .content-text ol li:nth-child(9):before {
  content: "9.";
}

#about[data-device="sp"] .content-text ol li:nth-child(10):before {
  content: "10.";
}

#about[data-device="sp"] .content-text span.indent {
  display: block;
  padding-left: 16px;

  text-indent: -16px;
}

#about[data-device="sp"] *:not(:first-child) > div.content-text {
  margin-top: 28px;
}

#about[data-device="sp"] .content-caption {
  margin-top: 28px;
}

#about[data-device="sp"] .content-caption .content-text {
  font-size: 14px;
}

#about[data-device="sp"] .content-link {
  margin-top: 28px;
}

#about[data-device="sp"] .content-link + .content-link {
  margin-top: 20px;
}

#about[data-device="sp"] .tmpl-title {
  position: relative;

  padding-bottom: 26px;
}

#about[data-device="sp"] .tmpl-title h2 {
  padding-top: 19px;

  font-weight: bold;
}

#about[data-device="sp"] .tmpl-title h2 span {
  display: block;

  font-size: 14px;
  line-height: 1;
}

#about[data-device="sp"] .tmpl-title h2 span + span {
  margin-top: 8px;
}

#about[data-device="sp"] .tmpl-title h2 strong {
  display: block;
  margin: 4px 0 -4px;

  font-size: 18px;
  line-height: 1.5;
}

#about[data-device="sp"] .tmpl-title h2 small {
  display: block;
  margin: 5px 0 -3px;

  font-size: 12px;
  line-height: 1.5;
}

#about[data-device="sp"] .tmpl-title div {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  min-height: 25px;
  margin-top: 7px;

  -webkit-box-lines: multiple;
     -moz-box-lines: multiple;
       -o-box-lines: multiple;
      -ms-flex-wrap: wrap;
}

#about[data-device="sp"] .tmpl-title div i {
  height: 24px;
  margin: 1px 1px 0 0;
  padding: 7px 16px 0;
  overflow: hidden;

  font-weight: bold;
  font-size: 10px;
  line-height: 1;
  color: #1e1933;
  font-style: normal;

  background: #facc9e;
  border-radius: 2px;
}

#about[data-device="sp"] .tmpl-title div i[data-index="11"] {
  color: #787585;

  background: #d2d1d6;
}

#about[data-device="sp"] .tmpl-default {
  margin-top: 28px;
}

#about[data-device="sp"] .tmpl-border {
  margin-top: 28px;
  padding: 13px 15px;

  border: 1px #a5a3ad solid;
}

#about[data-device="sp"] .tmpl-gray {
  margin-top: 28px;
  padding: 13px 16px;

  background: #f6f6f7;
}

#about[data-device="sp"] .tmpl-column-2 {
  margin-top: 28px;
}

#about[data-device="sp"] .tmpl-column-2 > div dl + dl {
  margin-top: 28px;
}

#about[data-device="sp"] .tmpl-column-2 > div dl:first-child ~ dl dd:first-child {
  margin-top: -28px;
}

#about[data-device="sp"] .tmpl-column-2 > div dl dt img {
  width: 100% !important;
}

#about[data-device="sp"] .tmpl-column-2 > div dl dd {
  padding-top: 5px;

  font-size: 14px;
}

#about[data-device="sp"] .tmpl-column-3 {
  margin-top: 28px;
}

#about[data-device="sp"] .tmpl-column-3 > div dl + dl {
  margin-top: 28px;
}

#about[data-device="sp"] .tmpl-column-3 > div dl:first-child ~ dl dd:first-child {
  margin-top: -28px;
}

#about[data-device="sp"] .tmpl-column-3 > div dl dt img {
  width: 100% !important;
}

#about[data-device="sp"] .tmpl-column-3 > div dl dd {
  padding-top: 5px;

  font-size: 14px;
}

#about[data-device="sp"] .tmpl-column-spec {
  margin-top: 28px;
}

#about[data-device="sp"] .tmpl-column-spec dl dt img {
  width: 100% !important;
}

#about[data-device="sp"] .tmpl-column-spec dl dd {
  padding-top: 5px;

  font-size: 14px;
}

#about[data-device="sp"] .tmpl-column-spec dl dd ol li:first-line {
  font-weight: bold;
  font-size: 16px;
}

#about[data-device="sp"] .tmpl-column-spec dl dd ol li + li {
  margin-top: 9px;
}

#about[data-device="sp"] .tmpl-link {
  margin-top: 28px;
}

#about[data-device="sp"] .tmpl-link li + li {
  margin-top: 16px;
}

#contents[data-type^="fav"] {
  padding-top: 32px;
}

#contents[data-type^="fav"] > header {
  padding-bottom: 0;

  border-bottom: 1px #d2d1d6 solid;
}

#contents[data-type^="fav"] > header h2 {
  margin-bottom: 20px;
}

#contents[data-type^="fav"] > header h2 i {
  width: 106px;
}

#contents[data-type^="fav"] > header p {
  padding-bottom: 4px;

  font-size: 12px;
  line-height: 1.5;
}

#contents[data-type^="fav"] > header var {
  display: block;
  padding: 10px 0 14px;

  font-weight: bold;
  font-size: 12px;
  text-align: left;
  font-style: normal;
}

#contents[data-type^="fav"] > header var:before {
  content: attr(data-prefix) "";
}

#contents[data-type^="fav"] > header var:after {
  content: attr(data-suffix) "";
}

#contents[data-type^="fav"] section {
  min-height: 152px;
}

#contents[data-type^="fav"] section > p {
  padding-top: 29px;

  font-size: 12px;
  line-height: 1.5;
}

#contents[data-type^="fav"] section > ul {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  padding: 16px 0;

  -webkit-box-lines: multiple;
     -moz-box-lines: multiple;
       -o-box-lines: multiple;
  -webkit-box-pack: justify;
     -moz-box-pack: justify;
       -o-box-pack: justify;
  -ms-flex-pack: justify;
      -ms-flex-wrap: wrap;
}

#contents[data-type^="fav"] section > ul > li {
  height: 217px;
}

#contents[data-type^="fav"] section > ul > li:nth-child(2n) {
  margin-left: 16px;
}

#contents[data-type^="fav"] section > ul > li div.btn-item dl dd:nth-of-type(2) {
  height: 72px;
}

#contents[data-type^="fav"] section > ul > li div.btn-item dl p {
  line-height: 1.17;
}

#contents[data-type*="category"] > header {
  padding: 0;

  background: #ffffff;
}

#contents[data-type*="category"] > header p {
  display: table;
  margin: 0 auto;
  padding: 37px 0;

  font-size: 14px;
  line-height: 1.75;
}

#contents[data-type*="category"] > header p br:not(.device-sp) {
  display: none;
}

#contents[data-type*="category"] > div {
  padding-bottom: 64px;

  background: #ffffff;
}

#contents[data-type*="category"] section {
  padding-top: 40px;
}

#contents[data-type*="category"] section:first-child {
  border-top: 1px #d2d1d6 solid;
}

#contents[data-type*="category"] section h3 {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;

  font-weight: bold;

  -webkit-box-align: center;
     -moz-box-align: center;
       -o-box-align: center;
  -ms-flex-align: center;
}

#contents[data-type*="category"] section h3:before {
  content: "";

  display: block;
  width: 16px;
  height: 16px;
  margin-right: 8px;

  background: #ffe100;
}

#contents[data-type*="category"] section h3:after {
  display: block;
  height: 16px;
  margin-left: 8px;
  padding: 0 8px;
  overflow: hidden;

  font-size: 12px;
  line-height: 1.33;
  text-align: center;

  background: #fff399;
  border-radius: 2px;
}

#contents[data-type*="category"] section h3[data-suffix="A6"]:after {
  content: attr(data-suffix);

  background: #ffe100;
}

#contents[data-type*="category"] section h3[data-suffix="A5"]:after {
  content: attr(data-suffix);

  background: #bbbac2;
}

#contents[data-type*="category"] section h3 span {
  display: block;

  font-size: 16px;
  line-height: 1.5;
}

#contents[data-type*="category"] aside {
  padding-top: 52px;
}

#contents[data-type*="category"] aside h3 {
  font-weight: bold;
  font-size: 16px;
  line-height: 2.5;

  border-bottom: 1px #d2d1d6 solid;
}

#contents[data-type*="category"] aside ul {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  -webkit-align-items: flex-start;
          align-items: flex-start;
  margin: -8px 0 0;

  -webkit-box-align: start;
     -moz-box-align: start;
       -o-box-align: start;
  -webkit-box-lines: multiple;
     -moz-box-lines: multiple;
       -o-box-lines: multiple;
  -webkit-box-pack: justify;
     -moz-box-pack: justify;
       -o-box-pack: justify;
  -ms-flex-align: start;
  -ms-flex-pack: justify;
      -ms-flex-wrap: wrap;
}

#contents[data-type*="category"] aside ul li {
  width: 100%;
  padding: 28px 0 0;
}

#contents[data-type*="category"] aside ul li a {
  position: relative;

  display: block;
}

#contents[data-type*="category"] aside ul li a:before {
  position: absolute;
  right: 0;
  bottom: 12px;

  font-size: 21px;
  color: #ffd300;
}

#contents[data-type*="category"] aside ul li a dl dd {
  position: relative;

  padding-top: 56.25%;
}

#contents[data-type*="category"] aside ul li a dl dd img {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;
}

#contents[data-type*="category"] aside ul li a dl dt {
  padding: 12px 24px 12px 0;

  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
}

#contents[data-type*="category"] aside > a {
  position: relative;

  display: block;
  max-width: 382px;
  margin: 36px auto 0;
  overflow: hidden;

  border-radius: 4px;
}

#contents[data-type*="category"] aside > a span {
  display: block;
  padding-top: 32.2%;

  background: url("/store/techo/ja/2021/images/categories/banner.jpg") no-repeat;
  -webkit-background-size: 100% 100%;
     -moz-background-size: 100% 100%;
          background-size: 100% 100%;
}

#root:empty {
  min-height: calc(100vh - 114px);
}

@media screen and (min-width: 640px) {
  #contents[data-type="toolstoys-index"] > section {
    max-width: none;
  }

  #contents[data-type="toolstoys-index"] > section dl {
    width: calc(50% - 8px);
  }

  #contents[data-type*="category"] aside ul li {
    width: calc(50% - 8px);
  }
}
