@charset "utf-8";

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

  padding-top: 30px;
}

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

nav[role="lineup"].pos-fixed > div > div {
  position: fixed;
  top: 30px;
  z-index: 10;
}

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

  display: table;
  width: 100%;
  height: 30px;

  table-layout: fixed;

  background: #f6f6f7;
  -webkit-transform: translateZ(0);
     -moz-transform: translateZ(0);
      -ms-transform: translateZ(0);
       -o-transform: translateZ(0);
          transform: translateZ(0);
}

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

  display: table-cell;

  vertical-align: middle;
}

nav[role="lineup"] > div > div label span {
  position: relative;

  display: inline-block;
  padding-left: 15px;

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

nav[role="lineup"] > div > div label span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;

  display: inline-block;
  width: 10px;
  height: 10px;

  vertical-align: middle;

  background: #ffffff;
  border: 1px #d2d1d6 solid;
  -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="lineup"] > div > div label input {
  display: none;
}

nav[role="lineup"] > div > div label input:checked + span:before {
  background: #ffe100;
  border-color: #ffe100;
}

nav[role="lineup"] > div > ul {
  -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="lineup"] > div > ul li {
  border-bottom: 1px #d2d1d6 solid;
}

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

  padding: 8px 28px 8px 75px;
  overflow: hidden;

  font-weight: 700;
}

nav[role="lineup"] > div > ul li a:before {
  position: absolute;
  top: calc(50% + 0.125em);
  right: 4px;

  font-size: 20px;

  -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="lineup"] > div > ul li a > span {
  display: block;

  font-size: 13px;
  line-height: 1.15;
}

nav[role="lineup"] > div > ul li a > span:before {
  content: attr(data-prefix) "";
  position: absolute;
  top: 8px;
  left: 10px;

  width: 60px;
  height: 15px;
  overflow: hidden;

  text-align: center;

  border-radius: 2px;
}

nav[role="lineup"] > div > ul li a[href*="#cover_original"] > span:before {
  background: #fff399;
}

nav[role="lineup"] > div > ul li a[href*="#cover_cousin"] > span:before {
  background: #bbbac2;
}

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

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

  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"] > section {
  margin-top: -60px;
  padding-top: 60px;

  background: #ffffff;
}

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

  padding: 37.5% 0 0;
}

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

  width: 100%;
  height: auto;
}

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

  font-weight: 700;
}

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

  display: table;
  margin-bottom: 6px;
  padding: 0 6px;

  font-size: 14px;
  line-height: 1.71;
  color: #ffffff;

  border-radius: 2px;
}

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

  font-size: 14px;
  line-height: 1.71;
  font-family: "merriweather", serif;
  color: #1e1a33;
}

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

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

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

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

#contents[data-type*="lineup"] > section header h3 + p {
  padding: 14px 16px;

  font-size: 14px;
  line-height: 1.71;
  color: #1e1a33;
}

#contents[data-type*="lineup"] > section > h3 {
  margin-bottom: 10px;

  font-weight: 700;
  font-family: "merriweather", serif;
  text-align: center;
  text-align: center;
}

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

  display: inline-block;
  margin-bottom: 17px;
  padding-bottom: 5px;

  font-size: 18px;
  line-height: 1;
  vertical-align: top;
}

#contents[data-type*="lineup"] > section > h3 > small:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 55px);

  width: 110px;

  border-bottom-width: 2px;
  border-bottom-style: solid;
}

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

  font-size: 18px;
  line-height: 1.11;
  color: #1e1933;
}

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

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

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

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

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

#contents[data-type*="lineup"] > section > h3 > strong {
  display: block;
  margin-top: 10px;

  font-size: 18px;
  line-height: 1.11;
  color: #1e1933;
}

#contents[data-type*="lineup"] > section > h3 + p {
  padding: 0 16px;

  font-weight: 300;
  font-size: 15px;
  line-height: 1.6;
  font-family: "open-sans-condensed";
  text-align: center;
  color: #1e1933;
}

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

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

#contents[data-type*="lineup"] > section section h4 {
  margin: 0 17px 35px;

  color: #1e1933;
}

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

  font-weight: 700;
  font-size: 22px;
  line-height: 1.09;
  font-family: "merriweather", serif;
}

#contents[data-type*="lineup"] > section section h4 small {
  display: block;
  margin-top: 10px;

  font-weight: 300;
  font-size: 15px;
  line-height: 1.2;
  font-family: "open-sans-condensed";
}

#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: 156px;
  margin: 0 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: "No items in this category.";
  position: absolute;

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

  font-size: 14px;
  text-align: center;
  color: #1e1933;

  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: 213px;
}

#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"]),
#contents[data-type*="lineup"] section > ul > li[id^="c_o"],
#contents[data-type*="lineup"] section > ul > li[id^="dc"] {
  height: 267px;
}

#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),
#contents[data-type*="lineup"] section > ul > li[id^="c_o"] a dl dd:nth-of-type(2),
#contents[data-type*="lineup"] section > ul > li[id^="dc"] a dl dd:nth-of-type(2) {
  height: 99px;
}

#contents[data-type*="lineup"] section > ul > li[id^="tt_hikidashi_pk"],
#contents[data-type*="lineup"] section > ul > li[id^="tt_hikidashi_ane"] {
  height: 252px;
}

#contents[data-type*="lineup"] section > ul > li[id^="tt_hikidashi_pk"] a dl dd:nth-of-type(2),
#contents[data-type*="lineup"] section > ul > li[id^="tt_hikidashi_ane"] a dl dd:nth-of-type(2) {
  height: 84px;
}

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

#contents[data-type*="lineup"] section > ul > li[id^="wc"] a dl dd:nth-of-type(2) {
  height: 60px;
}

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

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

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

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

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

#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"] nav[role="lineup"] > div > div label:nth-child(1) {
  padding-right: 12.5%;

  text-align: right;
}

#contents[data-type*="lineup-cover"] nav[role="lineup"] > div > div label:nth-child(2) {
  padding-left: 10.94%;

  text-align: left;
}

#contents[data-type*="lineup-cover"] nav[role="lineup"] > div > div label:nth-child(2):before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;

  width: 0;
  height: 12px;

  border-left: #d2d1d6 1px solid;
  -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"] nav[role="lineup"] > div > div label span:before {
  border-radius: 50%;
}

#contents[data-type*="lineup-cover"] > section#cover_original header ~ div ul {
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: flex-start;
          justify-content: flex-start;

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

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

#contents[data-type*="lineup-cover"] > section header ~ div {
  margin: 0 0 16px;
  padding: 15px 0 20px;

  text-align: center;

  background: #f6f6f7;
}

#contents[data-type*="lineup-cover"] > section header ~ div > ul {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  -webkit-justify-content: center;
          justify-content: center;
  padding: 0 3.12vw;

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

#contents[data-type*="lineup-cover"] > section header ~ div > ul > li {
  padding: 5px 1.56vw;
}

#contents[data-type*="lineup-cover"] > section header ~ div > ul > li div {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
}

#contents[data-type*="lineup-cover"] > section header ~ div > ul > li div dl {
  width: 28.12vw;
}

#contents[data-type*="lineup-cover"] > section header ~ div > ul > li div dl + dl {
  margin-left: 3.12vw;
}

#contents[data-type*="lineup-cover"] > section header ~ div > ul > li div dl dd:nth-of-type(1) {
  position: relative;

  margin-bottom: 3px;
}

#contents[data-type*="lineup-cover"] > section header ~ div > ul > li div dl dd:nth-of-type(1) i {
  position: absolute;
  top: 0;
  right: 0;
}

#contents[data-type*="lineup-cover"] > section header ~ div > ul > li div dl dd:nth-of-type(1) i + i {
  right: 10.31vw;
}

#contents[data-type*="lineup-cover"] > section header ~ div > ul > li div dl dd:nth-of-type(1) i img {
  width: 9.37vw;
}

#contents[data-type*="lineup-cover"] > section header ~ div > ul > li div dl dd:nth-of-type(2) {
  padding-top: 5px;
}

#contents[data-type*="lineup-cover"] > section header ~ div > ul > li div dl dt {
  font-weight: 700;
  font-size: 12px;
  line-height: 1.67;
  font-family: "merriweather", serif;
  color: #1e1933;
  white-space: nowrap;
}

#contents[data-type*="lineup-cover"] > section header ~ div > ul > li div a {
  position: relative;

  display: table;
  margin: 0 auto;
  padding-left: 14px;

  font-size: 14px;
  line-height: 2;
  color: inherit;
  text-decoration: none;
}

#contents[data-type*="lineup-cover"] > section header ~ div > ul > li div a:before {
  position: absolute;
  top: 50%;
  left: 0;

  font-size: 14px;

  -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 > a {
  width: 62.5%;
  margin-top: 20px;

  background: #666666;
}

#contents[data-type*="lineup-cover"] > section header ~ div > a span {
  font-size: 13px;
  line-height: 2.23;
}

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

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

#contents[data-type="lineup-book"] nav[role="lineup"] > div > div label:nth-child(1) {
  text-align: center;
}

#contents[data-type="lineup-book"] nav[role="lineup"] br {
  display: none;
}

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

#contents[data-type="lineup-hikidashi"] nav[role="lineup"] {
  margin-bottom: 80px;
}

#contents[data-type="lineup-hikidashi"] nav[role="lineup"] > div > div label {
  text-align: center;
}

#contents[data-type="lineup-hikidashi"] nav[role="lineup"] > div > ul li a {
  padding-left: 10px;
}

#contents[data-type="lineup-hikidashi"] nav[role="lineup"] > div > ul li a > span:before {
  display: none;
}

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

  width: 47.19%;

  -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 {
  padding: 24px 8px;

  text-align: center;
}

#contents[data-type="lineup-hikidashi"] > header h2 + div p {
  margin-bottom: 4px;

  letter-spacing: -0.01em;
}

#contents[data-type="lineup-hikidashi"] > header h2 + div p strong {
  display: block;

  font-weight: 700;
  font-size: 14px;
  line-height: 1.43;
  font-family: "merriweather", serif;
}

#contents[data-type="lineup-hikidashi"] > header h2 + div p span {
  display: block;

  font-weight: 300;
  font-size: 15px;
  line-height: 1.27;
  font-family: "open-sans-condensed";
}

#contents[data-type="lineup-hikidashi"] > header h2 + div a {
  display: inline;

  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  color: #be5a5a;
}

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

#contents[data-type="lineup-hikidashi"] > section header h3 span {
  font-size: 18px;
  line-height: 1.44;
}

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

#contents[data-type="lineup-hikidashi"] > section header + div p {
  margin-bottom: 12px;

  font-size: 14px;
  line-height: 24px;
  color: #1e1933;
}

#contents[data-type="lineup-hikidashi"] > section header + div a {
  display: table;
  margin: 0 auto;

  font-size: 14px;
  line-height: 1.5;
  color: #be5a5a;
}

#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-weight: 400;
  font-size: 16px;
  line-height: 1.88;
  font-family: "tinos", serif;
  color: #ffffff;
}

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

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

  background: url("/store/techo/2021/modal/images/banner_trinity_en_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: 5px 0 0;
  padding-top: 105px;
}

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

nav[role="day"].pos-fixed > div {
  position: fixed;
  top: 30px;
  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: 154px;
  height: 35px;

  background: url("/store/techo/en/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/en/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: 29px;
  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: 32px;
}

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

  display: table;
  max-width: calc(100% - 16px);
  height: 54px;
  margin: 8px auto 0;
  padding-left: 70px;

  text-align: left;
}

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

  width: 70px;
  height: 54px;

  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: -3px 0 6px 0;

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

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

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

#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"] > section {
  margin-top: -135px;
  padding-top: 145px;
}

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

#contents[data-type="lineup-cover-day"] section > ul:before {
  content: "There are no products for this date.";
}

#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/en/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/en/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/en/2021/sp/lineup/images/day_ico_0901.svg");
}

nav[role="day"] li a[data-day="0901"] span:after {
  background-image: url("/store/techo/en/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/en/2021/sp/lineup/images/day_ico_0902.svg");
}

nav[role="day"] li a[data-day="0902"] span:after {
  background-image: url("/store/techo/en/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/en/2021/sp/lineup/images/day_ico_0903.svg");
}

nav[role="day"] li a[data-day="0903"] span:after {
  background-image: url("/store/techo/en/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/en/2021/sp/lineup/images/day_ico_1011.svg");
}

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

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

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

nav[role="toolstoys"].pos-fixed > div > div:nth-child(1) {
  position: fixed;
  top: 30px;
}

nav[role="toolstoys"] > div > div:nth-child(1) {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;

  display: table;
  width: 100%;
  height: 30px;

  table-layout: fixed;

  background: #f6f6f7;
  -webkit-transform: translateZ(0);
     -moz-transform: translateZ(0);
      -ms-transform: translateZ(0);
       -o-transform: translateZ(0);
          transform: translateZ(0);
}

nav[role="toolstoys"] > div > div:nth-child(1) label {
  position: relative;

  display: table-cell;

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

nav[role="toolstoys"] > div > div:nth-child(1) label span {
  position: relative;

  display: inline-block;
  padding-left: 15px;

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

nav[role="toolstoys"] > div > div:nth-child(1) label span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;

  display: inline-block;
  width: 10px;
  height: 10px;

  vertical-align: middle;

  background: #ffffff;
  border: 1px #d2d1d6 solid;
  -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="toolstoys"] > div > div:nth-child(1) label input {
  display: none;
}

nav[role="toolstoys"] > div > div:nth-child(1) label input:checked + span:before {
  background: #ffe100;
  border-color: #ffe100;
}

nav[role="toolstoys"] > div > div:nth-child(2) {
  position: relative;
  z-index: 1;

  height: 68px;
  -webkit-overflow-scrolling: none;
}

nav[role="toolstoys"] > div > div:nth-child(2) ul {
  position: absolute;
  top: 38px;
  left: 50%;

  width: 75%;
  max-width: 362.25px;
  min-height: 30px;
  overflow: hidden;

  background: #f6f6f7;
  border-radius: 2px;
  -webkit-transform: translate3d(-50%, 0, 0);
     -moz-transform: translate3d(-50%, 0, 0);
      -ms-transform: translate3d(-50%, 0, 0);
       -o-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
}

nav[role="toolstoys"] > div > div:nth-child(2) ul.open li:first-child a:before {
  -webkit-transform: translate(0, -50%) rotate(180deg);
     -moz-transform: translate(0, -50%) rotate(180deg);
      -ms-transform: translate(0, -50%) rotate(180deg);
       -o-transform: translate(0, -50%) rotate(180deg);
          transform: translate(0, -50%) rotate(180deg);
}

nav[role="toolstoys"] > div > div:nth-child(2) ul li {
  border-top: 1px #ffffff solid;
}

nav[role="toolstoys"] > div > div:nth-child(2) ul li:first-child a {
  height: 30px;
  padding-left: 10px;

  font-size: 14px;
  line-height: 1.93;
  color: #ffffff;

  background: #a5a3ad;
}

nav[role="toolstoys"] > div > div:nth-child(2) ul li:first-child a:before {
  top: calc(50% + 0.125em);

  -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;
}

nav[role="toolstoys"] > div > div:nth-child(2) ul li:first-child ~ li a {
  height: 30px;
  padding-left: 20px;

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

nav[role="toolstoys"] > div > div:nth-child(2) ul li a {
  position: relative;

  padding-right: 40px;
  overflow: hidden;

  font-weight: 700;
  font-family: "lato", sans-serif;
}

nav[role="toolstoys"] > div > div:nth-child(2) ul li a:before {
  position: absolute;
  top: 50%;
  right: 10px;

  font-size: 20px;

  -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="toolstoys"] > div > div:nth-child(2) ul li a > span span {
  display: none;
}

nav[role="toolstoys"] > div > div:nth-child(2) ul li a br {
  display: none;
}

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

#contents[data-type="toolstoys"] [role="banner"] {
  margin-bottom: 40px;
}

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

  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: 11.11%;
  left: 16px;
}

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

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

#contents[data-type="toolstoys"] > div section {
  margin-top: -60px;
  padding-top: 60px;
}

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

  padding: 37.5% 0 0;
}

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

  width: 100%;
  height: auto;
}

#contents[data-type="toolstoys"] > div section header h3 {
  padding: 13px 16px 9px;

  font-weight: 700;
  font-size: 24px;
  line-height: 1.17;
  font-family: "merriweather", serif;
  text-align: center;
  color: #1e1933;
}

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

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

#contents[data-type="toolstoys"] > div section form {
  width: 75%;
  max-width: 362.25px;
  margin: 0 auto 40px;

  color: #1e1933;
}

#contents[data-type="toolstoys"] > div section form.disabled div input {
  background: #f6f6f7;
}

#contents[data-type="toolstoys"] > div section form div {
  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-box-pack: justify;
     -moz-box-pack: justify;
       -o-box-pack: justify;
  -ms-flex-pack: justify;
}

#contents[data-type="toolstoys"] > div section form div input {
  float: left;
  width: calc(100% - 33px);
  height: 30px;
  padding: 0 8px;

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

  background: rgba(230,90,80,0.1);
  border: 1px #d2d1d6 solid;
  border-radius: 2px;

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

  -webkit-appearance: none;
}

#contents[data-type="toolstoys"] > div section form div input::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

#contents[data-type="toolstoys"] > div section form div a {
  position: relative;

  width: 30px;
  height: 30px;

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

#contents[data-type="toolstoys"] > div section form div a:before {
  position: absolute;
  top: 50%;
  left: 50%;

  font-size: 20px;
  color: #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="toolstoys"] > div 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: 156px;
  margin: 0 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"] > div 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"] > div section > ul:before {
  content: "No items in this category.";
  position: absolute;

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

  font-size: 14px;
  text-align: center;
  color: #1e1933;

  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"] > div section > ul > li {
  height: 213px;
}

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

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

#contents[data-type^="detail"] .icon-info {
  width: 89px;
  height: 14px;

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

#contents[data-type^="detail"] .icon-info[data-index="0"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_mega.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="1"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_2020.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="2"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_start_1.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="3"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_start_4.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="4"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_start_7.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="5"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_start_1_only.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="6"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_sale_10.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="7"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_sale_11.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="8"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_sale_12.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="9"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_only_sp.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="10"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_lot_sale.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="11"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_lot_cls.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="12"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_only_ws.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="13"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_only_as.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="14"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_only_jpn.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="15"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_cont.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="16"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_new.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="17"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_30_off.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="18"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_sale_9.svg");
}

#contents[data-type^="detail"] .icon-info[data-index="19"] {
  background-image: url("/store/techo/en/2021/sp/images/icon/icon_meet_again.svg");
}

#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;

  color: #ffffff;

  background: #4b475c;

  -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: 700;
  font-size: 14px;
}

#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 {
  height: 32px;
  overflow: hidden;

  text-decoration: none;

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

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

#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, color 0.3s;
     -moz-transition: opacity 0.3s, color 0.3s;
      -ms-transition: opacity 0.3s, color 0.3s;
       -o-transition: opacity 0.3s, color 0.3s;
          transition: opacity 0.3s, color 0.3s;
}

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

#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: 20;

  margin-bottom: 8px;
}

#contents[data-type^="detail_book"] #lot {
  margin: -70px 16px 0;
  padding-top: 95px !important;
}

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

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

#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: "Set: ";
}

#slide {
  text-align: center;

  border-bottom: 1px #d2d1d6 solid;
}

#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 {
  padding-bottom: 35px;
}

#detail header {
  position: relative;

  padding: 0 16px 30px;

  border-bottom: 1px #d2d1d6 solid;
}

#detail header h2 {
  padding-top: 30px;
}

#detail header h2 span {
  display: block;

  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  font-family: "merriweather", serif;
}

#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: 14px;
}

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

  font-size: 10px;
}

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

  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  font-family: "merriweather", serif;
}

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

  font-size: 14px;
  line-height: 1.5;
  font-family: "tinos", serif;
}

#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% - 32px);
  min-height: 18px;
  margin-top: 14px;

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

#detail header ul li {
  margin: 4px 4px 0 0;
}

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

  width: 32px;

  border-radius: 4px;
}

#detail header > p {
  margin-top: 30px;
  padding: 15px 16px;

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

  border: 1px #cc1433 solid;
  border-radius: 4px;
}

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

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

#detail > div {
  position: relative;

  padding: 0 16px;
  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.disabled {
  height: auto !important;
  min-height: 0 !important;
}

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

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

#detail > div + a {
  margin: 0 auto;
}

#detail > div + a.open span {
  -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
       -o-transform: translate(0, 0);
          transform: translate(0, 0);
}

#detail > div + a span {
  -webkit-transform: translate(0, -50%);
     -moz-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
       -o-transform: translate(0, -50%);
          transform: translate(0, -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;
}

#staff {
  padding-bottom: 30px;
}

#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;
  margin-bottom: 8px;

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

#staff h3 span {
  font-weight: 700;
  font-size: 15px;
}

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

#staff div dl dt {
  padding-top: 3px;

  font-weight: 700;
  font-size: 12px;
  line-height: 1.5;

  border-top: 1px #d2d1d6 solid;
}

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

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

#staff div dl dd a {
  display: inline;

  text-decoration: underline;
}

#banner {
  padding: 12px 0 30px;
}

#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%;
}

#related {
  padding: 12px 0 0;
}

#related h3 {
  margin-bottom: 11px;

  font-weight: 700;
  font-size: 18px;
  text-align: center;
}

#related ul {
  width: 100%;
  max-width: 372px;
  margin: 0 auto;
}

#related ul li {
  padding-bottom: 22px;
}

#related ul li a {
  display: block;
}

#related ul li a span {
  display: block;
  margin: 7px 0 5px;

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

#about {
  padding: 25px 0 35px;
}

#products {
  margin: 0;
  padding: 28px 16px;

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

#products ~ section {
  padding-top: 25px;
  padding-bottom: 40px;
}

#products + section:not(#books) ~ section,
#products + #books + section ~ section {
  border-top: 1px #d2d1d6 solid;
}

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

#products.soldout #item-btn > a:not(.btn-mail) span:before {
  content: "View Product Information";
  position: static;

  display: block;
  margin-right: 0;

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

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

  font-weight: 400;
  font-size: 13px;
  line-height: 1.38;
}

#products.soldout #item-btn > a.btn-cart span:after {
  content: "Out of Stock";
}

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

#products.soldout #item-btn > a.btn-lot span:after {
  content: "Orders for this product have closed";
}

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

  cursor: default;

  pointer-events: none;
}

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

  background: #d2d1d6;
}

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

#products.busy #item-btn > a:not(.btn-mail) span:after {
  content: "Cart temporarily disabled" !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: 700;
}

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

  font-size: 14px;
  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: 6px;
}

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

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

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

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

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

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

  font-weight: 700;
  font-size: 18px;
  line-height: 1.33;
}

#products #item-price > div {
  font-weight: 700;
}

#products #item-price > div:nth-child(1) i:before {
  content: "Usual Price";
}

#products #item-price > div:nth-child(2) {
  margin-top: 16px;
}

#products #item-price > div:nth-child(2) i:before {
  content: "Sale Price";
}

#products #item-price > div:last-child {
  font-size: 18px;
  line-height: 1.33;
}

#products #item-price > div:last-child ul li + li {
  margin-top: 4px;
}

#products #item-price > div:last-child ul li:before {
  display: block;

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

#products #item-price > div:last-child ul li:nth-of-type(1):before {
  content: "Book & Cover Set";
}

#products #item-price > div:last-child ul li:nth-of-type(2):before {
  content: "Cover Only";
}

#products #item-price > div:last-child var:before {
  font-size: 10px;
  line-height: 2.4;
}

#products #item-price > div:last-child var:after {
  content: "(incl. tax, excl. shipping)";

  padding-left: 0.5em;

  font-weight: 400;
  font-size: 10px;
  line-height: 2.4;
}

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

#products #item-price > div:nth-last-child(2) ul li:before {
  font-weight: 400;
}

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

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

#products #item-price > div ul li:nth-of-type(1):before {
  content: "Book & Cover Set: ";
}

#products #item-price > div ul li:nth-of-type(2):before {
  content: "Cover Only: ";
}

#products #item-price var:before {
  content: attr(data-unit) "";

  padding-right: 0.5em;

  font-weight: 400;
}

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

  font-size: 14px;
  line-height: 1.21;
  color: #cc1433;

  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.14;
}

#products #item-detail dd[data-title] {
  padding: 7px 4px 9px;

  border-bottom: #d2d1d6 1px solid;
}

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

  display: block;

  font-weight: 700;
  font-size: 12px;
  line-height: 1.33;
}

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

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

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

#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: 20px 0;
}

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

  cursor: pointer;
}

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

#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: "Get Restock Notification";
  position: relative;
  top: -0.05em;

  display: inline-block;

  vertical-align: middle;
}

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

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

#products #item-btn > a.btn-cart span:after {
  content: "Select Item and Add to Cart";
}

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

#products #item-btn > a.btn-lot span:after {
  content: "Select Item and Enter Lottery Sale";
}

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

#products #item-btn > a.btn-unreleased span:before {
  content: "View Product Information";
  position: static;

  display: block;
  margin-right: 0;

  font-weight: inherit;
  font-size: inherit;
  line-height: 1.13;
  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: "Add to Favorites";

  display: block;
  margin-left: 8px;

  font-weight: 700;
  font-size: 16px;
  line-height: 1;
}

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

  width: 64px;

  border-radius: 4px;
}

#lot {
  margin: -30px 16px 0;
  padding-top: 55px !important;
}

#lot h3 {
  margin-bottom: 12px;
}

#lot div p {
  margin-bottom: 19px;

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

#lot div table {
  margin-bottom: -33px;
}

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

  text-align: left;
}

#lot div table th {
  padding: 18px 0 5px;

  font-weight: 700;
  font-size: 12px;
  line-height: 1.33;

  border-top: 1px #d2d1d6 solid;
}

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

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

#lot div table td strong {
  display: block;

  font-weight: 400;
}

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

  padding-left: 0.5em;
}

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

#spec {
  margin: 0 16px;
}

#spec h3 {
  margin-bottom: 16px;
}

#spec > dl {
  border-bottom: 1px #d2d1d6 solid;
}

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

  border-top: 1px #d2d1d6 solid;
}

#spec > dl > dt span {
  display: table-cell;
  width: 100%;
  padding: 6px 0 9px;

  font-weight: 700;
  font-size: 14px;
  line-height: 1.14;
  vertical-align: middle;
}

#spec > dl > dt + dd table th,
#spec > dl > dt + dd table td {
  padding-left: 7.14%;
}

#spec > dl > dd table th,
#spec > dl > dd table td {
  display: block;

  text-align: left;
}

#spec > dl > dd table th {
  padding-top: 6px;

  font-weight: 700;
  font-size: 12px;
  line-height: 1.33;

  border-top: #d2d1d6 1px solid;
}

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

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

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

  text-decoration: underline;
}

#demerit {
  margin: 0 16px;
}

#demerit h3 {
  margin-bottom: 12px;
}

#demerit div > p:nth-of-type(1) {
  margin-bottom: 16px;

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

#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;
  width: 100%;
  height: 47px;

  border-top: 1px #d2d1d6 solid;
  border-bottom: 1px #d2d1d6 solid;

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

#demerit div > p:nth-of-type(2) span {
  padding: 6px 0 9px;

  font-weight: 700;
  font-size: 14px;
  line-height: 1.14;
}

#demerit div dl:not(:empty) + dl {
  border-bottom: 1px #d2d1d6 solid;
}

#demerit div dl br {
  display: none;
}

#demerit div dl dt {
  display: table;
  width: 100%;
  height: 46px;

  border-top: 1px #d2d1d6 solid;
}

#demerit div dl dt span {
  display: table-cell;
  padding: 6px 0 9px;

  font-weight: 700;
  font-size: 14px;
  line-height: 1.14;
  vertical-align: middle;
}

#demerit div dl dd p {
  padding: 6px 0 9px 7.14%;

  font-size: 14px;
  line-height: 1.14;

  border-top: #d2d1d6 1px solid;
}

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

  text-decoration: underline;
}

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

  font-size: 10px;
}

#demerit div > ul {
  margin: 5px 0 -6px;

  text-align: right;
}

#demerit div > ul li a {
  position: relative;

  display: inline-block;
  padding-left: 1em;

  font-size: 12px;
  vertical-align: top;
  color: #a5a3ad;
}

#demerit div > ul li a:before {
  position: absolute;
  top: 50%;
  left: 0;

  font-size: 12px;

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

#recommend {
  margin: 0 16px;
  padding-top: 0 !important;
  padding-bottom: 40px;
}

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

  display: block;
  padding: 25px 0 17px;

  font-weight: 700;
  font-size: 18px;
  line-height: 1.11;
  text-align: center;

  border-bottom: 1px #d2d1d6 solid;
}

#recommend:empty {
  display: none;
}

#recommend 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-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;
}

#recommend ul li {
  width: calc(50% - 8px);
  padding-top: 16px;
}

#recommend ul li a dl dd {
  height: auto;
  min-height: 86px;
  padding-right: 0;

  border-bottom: none;
}

#books {
  margin: 0 16px;
  padding: 24px 0 16px !important;

  border-bottom: #d2d1d6 1px solid;
}

#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-box-lines: multiple;
     -moz-box-lines: multiple;
       -o-box-lines: multiple;
      -ms-flex-wrap: wrap;
}

#books ul:before {
  content: "Compatible Techo Books";

  display: block;
  width: 100%;
  margin-bottom: 8px;

  font-weight: 700;
  font-size: 18px;
  line-height: 1.11;
  text-align: center;
}

#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;
  width: 100%;
}

#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: "Original (A6)";
}

#books ul li a img[src*="original"] + i:after {
  content: "1 page per day";
}

#books ul li a img[src*="original_avec"] + i:before {
  content: "Original\A Avec (A6)";
}

#books ul li a img[src*="original_avec"] + i:after {
  content: "1 page per day\A 6-month book";
}

#books ul li a img[src*="planner"] + i:before {
  content: "Planner (A6)";
}

#books ul li a img[src*="planner"] + i:after {
  content: "1 page per day\A English edition";
}

#books ul li a img[src*="dayfree"] + i:before {
  content: "Day-Free" !important;
}

#books ul li a img[src*="dayfree"] + i:after {
  content: "Monthly techo" !important;
}

#books ul li a img[src*="cousin"] + i:before {
  content: "Cousin (A5)";
}

#books ul li a img[src*="cousin"] + i:after {
  content: "1 page per day";
}

#books ul li a img[src*="cousin_avec"] + i:before {
  content: "Cousin\A Avec (A5)";
}

#books ul li a img[src*="cousin_avec"] + i:after {
  content: "1 page per day\A 6-month book";
}

#books ul li a img[src*="5year_s"] + i:before {
  content: "Hobonichi\A 5-Year Techo";
}

#books ul li a img[src*="5year_s"] + i:after {
  content: "5-Year techo";
}

#books ul li a img[src*="5year_m"] + i:before {
  content: "Large 5-Year\A Techo";
}

#books ul li a img[src*="5year_m"] + i:after {
  content: "5-Year techo";
}

#books ul li a img[src*="weeks"] + i:before {
  content: "Weeks";
}

#books ul li a img[src*="weeks"] + i:after {
  content: "Weekly planner";
}

#books ul li a img[src*="weeks_mega"] + i:before {
  content: "Weeks Mega";
}

#books ul li a img[src*="weeks_mega"] + i:after {
  content: "Weekly planner";
}

#books ul li a i {
  display: block;
  width: calc(100% - 64px);
  padding-top: 8px;
}

#books ul li a i:before,
#books ul li a i:after {
  display: block;

  font-size: 12px;
  line-height: 1.42;
  white-space: pre;
}

#books ul li a i:before {
  font-weight: 700;
}

#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;
  padding-bottom: 10px;

  font-size: 20px;
}

#about[data-device="sp"] b {
  font-weight: 700;
}

#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"] [data-type="image"] {
  font-size: 10px;
}

#about[data-device="sp"] [data-type="image"]:not(img) {
  width: 100%;
  margin-top: 24px;
}

#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: 24px;
}

#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-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  font-family: "tinos", serif;
}

#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;
}

#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: 1em;
}

#about[data-device="sp"] .content-text ul li + li,
#about[data-device="sp"] .content-text ol li + li {
  margin-top: 8px;
}

#about[data-device="sp"] .content-text ul li:before,
#about[data-device="sp"] .content-text ol li:before {
  content: "*";
  position: absolute;
  left: 0.22em;

  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:before {
  left: 0;
}

#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 span.indent {
  display: block;
  padding-left: 0.5em;

  text-indent: -0.5em;
}

#about[data-device="sp"] *:not(:first-child) > div.content-text {
  margin-top: 24px;
}

#about[data-device="sp"] .content-caption {
  width: 100%;
  margin-top: 24px;
}

#about[data-device="sp"] .content-caption .content-text {
  font-size: 14px;
}

#about[data-device="sp"] .content-link {
  margin-top: 24px;
}

#about[data-device="sp"] .content-link a {
  padding: 4px 0;

  font-size: 0;
}

#about[data-device="sp"] .content-link a img {
  display: inline-block;
  width: 30px !important;

  vertical-align: middle;
}

#about[data-device="sp"] .content-link a span {
  display: inline-block;
  max-width: calc(100% - 30px);
  padding-left: 20px;

  font-size: 14px;
  line-height: 1.5;
  vertical-align: middle;
  color: #000000;
}

#about[data-device="sp"] .tmpl-title {
  position: relative;

  padding: 0 0 30px;

  border-bottom: 1px #d2d1d6 solid;
}

#about[data-device="sp"] .tmpl-title h2 {
  padding-top: 30px;
}

#about[data-device="sp"] .tmpl-title h2 span {
  display: block;

  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  font-family: "merriweather", serif;
}

#about[data-device="sp"] .tmpl-title h2 span + span {
  margin-top: 14px;
}

#about[data-device="sp"] .tmpl-title h2 strong {
  display: block;
  margin: 8px 0 -6px;

  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  font-family: "merriweather", serif;
}

#about[data-device="sp"] .tmpl-title h2 small {
  display: block;
  margin: 11px 0 -3px;

  font-size: 14px;
  line-height: 1.5;
  font-family: "tinos", serif;
}

#about[data-device="sp"] .tmpl-title div {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         box;
  display:         flex;
  margin: 13px -4px 0 0;
}

#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: 24px;
}

#about[data-device="sp"] .tmpl-border {
  margin-top: 24px;
  padding: 13px 19px 19px 19px;

  border: 1px #d2d1d6 solid;
  border-radius: 5px;
}

#about[data-device="sp"] .tmpl-border .content-text {
  letter-spacing: -0.02em;
}

#contents[data-type^="fav"] > header {
  min-height: 0;
}

#contents[data-type^="fav"] > header var {
  display: none;
  padding: 10px 0;

  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  text-align: center;
  font-style: normal;

  border-bottom: 1px #d2d1d6 solid;
}

#contents[data-type^="fav"] > header var:before {
  content: attr(data-prefix) "";
}

#contents[data-type^="fav"] section {
  min-height: 124px;
  margin: 0 16px;
}

#contents[data-type^="fav"] section > p {
  margin-top: -3px;

  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}

#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-top: 16px;
  padding-bottom: 20px;

  -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: 267px;
}

#contents[data-type^="fav"] section > ul > li div {
  color: #1e1933;
}

#contents[data-type^="fav"] section > ul > li div dl dd:nth-of-type(2) {
  height: 99px;
}

#contents[data-type^="fav"] section > ul > li div dl p {
  display: block;

  font-weight: 400;
  font-size: 14px;
  line-height: 1.29;
  color: #a5a3ad;
}

#contents[data-type*="category"] {
  padding: 0;
}

#contents[data-type*="category"] > header {
  background: #ffffff;
}

#contents[data-type*="category"] > header p {
  padding: 37px 16px;

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

#contents[data-type*="category"] > header p br:not(.device-sp) {
  display: none;
}

#contents[data-type*="category"] > div {
  padding: 0 16px;

  background: #ffffff;
}

#contents[data-type*="category"] section {
  padding-top: 0;
}

#contents[data-type*="category"] section:first-child {
  padding-top: 36px;

  border-top: 1px #d2d1d6 solid;
}

#contents[data-type*="category"] section.color-planner h3:after {
  content: " (fits Planner and Original)";
}

#contents[data-type*="category"] section.color-cousin h3:after {
  content: " (fits Cousin)";
}

#contents[data-type*="category"] section h3 {
  font-size: 22px;
  line-height: 1.27;
  font-family: "merriweather", serif;
  color: #1e1a33;
}

#contents[data-type*="category"] section ul {
  margin: 36px 0 0;
}

#contents[data-type*="category"] aside h3 {
  font-weight: bold;
  font-size: 18px;
  line-height: 2.22;

  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 64px;

  -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: 14px;

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

  border-radius: 6px;
}

#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: 14px 16px 14px 0;

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

#contents[data-type*="category"] aside > a {
  position: relative;

  display: block;
  max-width: 382px;
  margin: 36px auto 40px;
  overflow: hidden;

  border-radius: 4px;
}

#contents[data-type*="category"] aside > a span {
  display: block;
  padding-top: 32.2%;

  background: url("/store/techo/en/2021/images/categories/banner.jpg") no-repeat;
  -webkit-background-size: 100% 100%;
     -moz-background-size: 100% 100%;
          background-size: 100% 100%;
}

#contents[data-type="lineup-category-day-free"] section.color-planner h3:after {
  content: " (Fits Day-Free Original)";
}

#contents[data-type="lineup-category-day-free"] section.color-cousin h3:after {
  content: " (Fits Day-Free Cousin)";
}

#root:empty {
  min-height: calc(100vh - 60px);
}

@media screen and (min-width: 640px) {
  #contents[data-type*="category"] aside ul li {
    width: calc(50% - 8px);
  }
}
