@charset 'utf-8';
nav[role='local']
{
    position: fixed;
    z-index: 10;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px;
    border-top: #ccc 1px solid;
    background: #f5f5f5;
}
nav[role='local'].pos-abs
{
    position: absolute;
    bottom: inherit !important;
    -webkit-transform: rotate(.01deg);
       -moz-transform: rotate(.01deg);
        -ms-transform: rotate(.01deg);
         -o-transform: rotate(.01deg);
            transform: rotate(.01deg);
}
nav[role='local'] ul
{
    font-size: 0;
    padding-top: 4px;
    text-align: center;
}
nav[role='local'] ul li
{
    display: inline-block;
    vertical-align: top;
}
nav[role='local'] ul li:nth-child(2)
{
    width: 62.5%;
    max-width: 240px;
    margin-left: 4px;
}
nav[role='local'] ul li:nth-child(2) a
{
    width: 100%;
    color: #fff;
    background: #fa960a;
}
nav[role='local'] ul li:nth-child(2) a:before
{
    font-size: 20px !important;
    margin-right: .2em;
    vertical-align: middle;
}
nav[role='local'] ul li:nth-child(1)
{
    width: 35px;
}
nav[role='local'] ul li:nth-child(1) a
{
    position: relative;
    display: none;
    overflow: hidden;
    height: 30px;
    -webkit-transition: color .3s;
       -moz-transition: color .3s;
        -ms-transition: color .3s;
         -o-transition: color .3s;
            transition: color .3s;
    text-align: center;
    color: #fff;
    -webkit-border-radius: 2px;
            border-radius: 2px;
    background: rgba(230,90,80,.5);
}
nav[role='local'] ul li:nth-child(1) a.like
{
    color: #e65a50;
}
nav[role='local'] ul li:nth-child(1) a:before
{
    font-size: 19px;
    position: absolute;
    top: calc(50% - .5em);
    left: calc(50% - .5em);
}
.ua-desktop nav[role='local']
{
    left: 50%;
    width: 640px;
    margin-left: -320px;
}
main
{
    padding-bottom: 0;
}
main > header
{
    padding: 21px 0 17px;
    text-align: center;
    color: #fff;
    background: #5ab546;
}
main > header h3
{
    font-size: 20px;
    line-height: 1.22;
}
main > header p
{
    font-size: 16px;
    line-height: 1.29;
    margin: 10px 4.69% 0;
}
main > section
{
    position: relative;
}
main #slide
{
    margin-bottom: 20px;
    padding-bottom: 10px;
    text-align: center;
    border-bottom: #ccc 1px solid;
}
main #slide.ready
{
    z-index: -1;
}
main #slide.ready > ul
{
    opacity: 0;
}
main #slide > div
{
    position: relative;
    overflow: hidden;
    padding-top: 56.25%;
}
main #slide > div:last-child
{
    margin-bottom: 18px;
}
main #slide > div ul:nth-child(1)
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;

    -webkit-backface-visibility: hidden;
       -moz-backface-visibility: hidden;
        -ms-backface-visibility: hidden;
            backface-visibility: hidden;
}
main #slide > div ul:nth-child(1) li
{
    position: absolute;
    top: 0;
    overflow: hidden;
    width: 100%;
    padding-top: 56.25%;
    -webkit-transform: translate(0, -100%);
       -moz-transform: translate(0, -100%);
        -ms-transform: translate(0, -100%);
         -o-transform: translate(0, -100%);
            transform: translate(0, -100%);
    background: url('/store/techo/2018/images/loading3.gif') no-repeat 50% 50%;
    -webkit-background-size: 10% auto;
       -moz-background-size: 10% auto;
            background-size: 10% auto;

    -webkit-backface-visibility: hidden;
       -moz-backface-visibility: hidden;
        -ms-backface-visibility: hidden;
            backface-visibility: hidden;
}
main #slide > div ul:nth-child(1) li.ready img
{
    opacity: 0;
}
main #slide > div ul:nth-child(1) li:first-child
{
    left: 0;
}
main #slide > div ul:nth-child(1) li.active
{
    -webkit-transform: translate(0, 0);
       -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
         -o-transform: translate(0, 0);
            transform: translate(0, 0);
}
main #slide > div ul:nth-child(1) li:before
{
    font-size: 22px;
    line-height: 1.14;
    position: absolute;
    z-index: 1;
    right: 9px;
    bottom: 9px;
    display: block;
    overflow: hidden;
    overflow: hidden;
    width: 25px;
    height: 25px;
    text-align: center;
    color: #fa960a;
    -webkit-border-radius: 50%;
            border-radius: 50%;
    background: #fff;
}
main #slide > div ul:nth-child(1) li img
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: opacity .6s;
       -moz-transition: opacity .6s;
        -ms-transition: opacity .6s;
         -o-transition: opacity .6s;
            transition: opacity .6s;
}
main #slide > div ul:nth-child(2) li
{
    position: absolute;
    top: calc(50% - 15px);
    width: 26px;
    height: 31px;
    background: rgba(0,0,0,0) url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHZpZXdCb3g9IjAgMCA4LjAxIDEzLjIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDguMDEgMTMuMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiNGRkZGRkY7fQo8L3N0eWxlPgo8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjYuNiwxMy4yIDAsNi42IDYuNiwwIDguMDEsMS40MSAyLjgzLDYuNiA4LjAxLDExLjc5ICIvPgo8L3N2Zz4K') no-repeat 50% 50%;
    -webkit-background-size: 8px 13px;
       -moz-background-size: 8px 13px;
            background-size: 8px 13px;
}
main #slide > div ul:nth-child(2) li:nth-child(1)
{
    left: 0;
}
main #slide > div ul:nth-child(2) li:nth-child(2)
{
    right: 0;
    -webkit-transform: rotate(180deg);
       -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
         -o-transform: rotate(180deg);
            transform: rotate(180deg);
}
main #slide > ul
{
    font-size: 0;
    padding-top: 10px;
    -webkit-transition: opacity .6s;
       -moz-transition: opacity .6s;
        -ms-transition: opacity .6s;
         -o-transition: opacity .6s;
            transition: opacity .6s;
}
main #slide > ul li
{
    font-size: 10px;
    display: inline-block;
    width: 8px;
    height: 8px;
    -webkit-transition: background .6s;
       -moz-transition: background .6s;
        -ms-transition: background .6s;
         -o-transition: background .6s;
            transition: background .6s;
    vertical-align: top;
    -webkit-border-radius: 50%;
            border-radius: 50%;
    background: #aaa;
}
main #slide > ul li + li
{
    margin-left: 8px;
}
main #slide > ul li.current
{
    -webkit-transition: background .45s cubic-bezier(.25, .46, .45, .94);
       -moz-transition: background .45s cubic-bezier(.25, .46, .45, .94);
        -ms-transition: background .45s cubic-bezier(.25, .46, .45, .94);
         -o-transition: background .45s cubic-bezier(.25, .46, .45, .94);
            transition: background .45s cubic-bezier(.25, .46, .45, .94);
    background: #fa960a;
}
main #info
{
    display: none;
    margin: 0 6.25%;
    padding: 16px 6%;
    border: 1px #e65a50 solid;
    -webkit-border-radius: 6px;
            border-radius: 6px;
}
main #info p
{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.43;
    color: #e65a50;
}
main #detail
{
    padding-top: 20px;
}
main #detail.disabled
{
    margin-bottom: -40px;
    border-bottom: none;
}
main #detail.disabled #about
{
    height: auto !important;
    min-height: 0;
}
main #detail.disabled #about:after
{
    display: none;
}
main #detail.disabled #about ~ a
{
    display: none;
}
main #detail header
{
    margin-bottom: 37px;
    padding: 0 6.25%;
    border-bottom: #ccc 1px solid;
}
main #detail header h2
{
    font-family: 'bodoni-urw', serif;
    font-weight: 500;
}
main #detail header h2 span
{
    font-size: 16px;
    line-height: 1;
    display: inline-block;
    vertical-align: bottom;
}
main #detail header h2 span img
{
    display: block;
}
main #detail header h2 strong
{
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
    display: block;
    margin: 14px 0 8px;
}
main #detail header h2 small
{
    font-family: 'tinos', serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    display: block;
}
main #detail header div
{
    height: 44px;
    margin: 19px -4px 0 0;
}
main #detail header div:before,
main #detail header div:after
{
    display: table;
    content: '';
}
main #detail header div:after
{
    clear: both;
}
main #detail header div img
{
    float: left;
    width: 89px;
    height: 14px;
    margin: 0 4px 4px 0;
}
main #detail > a span
{
    -webkit-transition: -webkit-transform .3s;
       -moz-transition:    -moz-transform .3s;
        -ms-transition:     -ms-transform .3s;
         -o-transition:      -o-transform .3s;
            transition:         transform .3s;
}
main #detail > a.open 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%);
}
main #detail #about
{
    position: relative;
    height: 240px;
    min-height: 240px;
    padding: 0 6.25%;
}
main #detail #about.open:after
{
    height: 0;
    opacity: 0;
}
main #detail #about:after
{
    position: absolute;
    bottom: 0;
    left: 50%;
    display: block;
    width: 114.29%;
    height: 70px;
    content: '';
    -webkit-transition: opacity .45s, height .45s;
       -moz-transition: opacity .45s, height .45s;
        -ms-transition: opacity .45s, height .45s;
         -o-transition: opacity .45s, height .45s;
            transition: opacity .45s, height .45s;
    -webkit-transform: translate(-50%, 0);
       -moz-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
         -o-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    background: -webkit-linear-gradient(top, rgba(255,255,255,.5), #fff);
    background:    -moz-linear-gradient(top, rgba(255,255,255,.5), #fff);
    background:      -o-linear-gradient(top, rgba(255,255,255,.5), #fff);
    background:     -ms-linear-gradient(top, rgba(255,255,255,.5), #fff);
    background:         linear-gradient(to bottom, rgba(255,255,255,.5), #fff);
}
main #detail #about > *:not(.tmpl-title)
{
    display: block !important;
}
main #products
{
    margin-top: 40px;
}
main #products dl
{
    padding: 0 6.25% 40px;
    background: #f5f5f5;
}
main #products dl dt
{
    padding: 34px 0 15px;
    /*font-size 28px
        line-height 1*/
}
main #products dl dt span
{
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    display: inline-block;
    vertical-align: bottom;
}
main #products dl dt span img
{
    display: block;
    margin-bottom: 2px;
}
main #products dl dt strong
{
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    display: block;
    margin-top: 13px;
}
main #products dl dt small
{
    display: none;
}
main #products > div
{
    padding: 40px 6.25% 35px;
    border-bottom: 1px #ccc solid;
}
main #products > div ul li + li
{
    margin-top: 10px;
}
main #products > div ul li a
{
    font-size: 14px;
    line-height: 1.14;
    position: relative;
    display: inline-block;
    padding-left: 16px;
    vertical-align: top;
}
main #products > div ul li a:before
{
    font-size: 10px;
    line-height: 1.2;
    position: absolute;
    top: calc(50% - 6px);
    left: 0;
    overflow: hidden;
    width: 12px;
    height: 12px;
    text-align: center;
    color: #fff;
    -webkit-border-radius: 50%;
            border-radius: 50%;
    background: #1da1f2;
}
main #products #item-image
{
    padding-bottom: 25px;
}
main #products #item-image:before,
main #products #item-image:after
{
    display: table;
    content: '';
}
main #products #item-image:after
{
    clear: both;
}
main #products #item-image figure
{
    position: relative;
    display: block;
    float: left;
    width: 66.07%;
    padding-top: 66.07%;
    background: url('/store/techo/sp/ja/2017/images/loading3.gif') no-repeat 50% 50%;
    -webkit-background-size: 17.3% auto;
       -moz-background-size: 17.3% auto;
            background-size: 17.3% auto;
}
main #products #item-image figure img
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: opacity .3s ease;
       -moz-transition: opacity .3s ease;
        -ms-transition: opacity .3s ease;
         -o-transition: opacity .3s ease;
            transition: opacity .3s ease;
}
main #products #item-image figure img.state-ready
{
    opacity: 0;
}
main #products #item-image ul
{
    float: right;
    width: 32.5%;
}
main #products #item-image ul[class]
{
    display: none;
}
main #products #item-image ul li
{
    width: 48.35%;
    padding-bottom: 3.3%;
}
main #products #item-image ul li:nth-child(2n+1)
{
    float: left;
    clear: both;
}
main #products #item-image ul li:nth-child(2n)
{
    float: right;
}
main #products #item-image ul li[class]
{
    display: none;
}
main #products #item-image ul li:empty:before
{
    display: block;
    padding-top: 100%;
    content: '';
    background: #ccc;
}
main #products #item-image ul li a
{
    position: relative;
    padding-top: 100%;
    background: #ccc;
}
main #products #item-image ul li a.current
{
    cursor: default;
    pointer-events: none;
    opacity: .4;
}
main #products #item-image ul li a img
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: opacity .3s ease;
       -moz-transition: opacity .3s ease;
        -ms-transition: opacity .3s ease;
         -o-transition: opacity .3s ease;
            transition: opacity .3s ease;
}
main #products #item-image ul li a img.state-ready
{
    opacity: 0;
}
main #products .mdi-unfold-more
{
    font-size: 14px;
    font-weight: 400;
    line-height: 3.14;
    position: relative;
    margin-bottom: 20px;
    border: 1px #ccc solid;
    -webkit-border-radius: 2px;
            border-radius: 2px;
    background: #fff;
}
main #products .mdi-unfold-more:after
{
    font-size: 12px;
    font-weight: 700;
    line-height: 1.75;
    position: absolute;
    top: -1px;
    left: 0;
    content: 'Select Item';
    -webkit-transform: translate(0, -100%);
       -moz-transform: translate(0, -100%);
        -ms-transform: translate(0, -100%);
         -o-transform: translate(0, -100%);
            transform: translate(0, -100%);
}
main #products .mdi-unfold-more:before
{
    font-size: 20px;
    position: absolute;
    top: calc(50% - .5em);
    right: 3px;
}
main #products .mdi-unfold-more select
{
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 0 30px 0 5.4%;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
main #products .mdi-unfold-more select:-moz-focusring
{
    color: transparent;
    text-shadow: 0 0 0 #000;
}
main #products .mdi-unfold-more select::-ms-value
{
    background: none;
}
main #products .mdi-unfold-more select::-ms-expand
{
    display: none;
}
main #products .mdi-unfold-more option
{
    color: #000;
}
main #products #item-price
{
    padding: 9px 0 11px;
    border-top: #ccc 1px solid;
    border-bottom: #ccc 1px solid;
}
main #products #item-price strong
{
    font-size: 12px;
    line-height: 1.5;
    display: block;
}
main #products #item-price span
{
    font-size: 10px;
    font-weight: 400;
}
main #products #item-price span var
{
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    padding-left: 4px;
}
main #products #item-price span[class]
{
    display: none;
}
main #products #item-price small
{
    font-size: 10px;
    font-weight: 400;
    padding-left: 4px;
}
main #products #item-notice p
{
    font-size: 12px;
    font-weight: 400;
    line-height: 1.42;
    display: none;
    padding-top: 19px;
    color: #ff6464;
    /*&[class]
          display none
          padding-top 18px!important
          &[style*="block"] ~ p
            padding-top 6px*/
}
main #products #item-stock
{
    font-size: 0;
    border-bottom: #ccc 1px solid;
}
main #products #item-stock:before
{
    display: inline-block;
    height: 45px;
    content: '';
    vertical-align: middle;
}
main #products #item-stock strong
{
    font-size: 12px;
    display: inline-block;
    width: 26.07%;
    vertical-align: middle;
}
main #products #item-stock span
{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.14;
    display: inline-block;
    max-width: 73.93%;
    vertical-align: middle;
}
main #products #item-stock span + span
{
    font-weight: 700;
    color: #ff6464;
}
main #products #item-amount
{
    font-size: 0;
    border-bottom: #ccc 1px solid;
}
main #products #item-amount:before
{
    display: inline-block;
    height: 45px;
    content: '';
    vertical-align: middle;
}
main #products #item-amount strong
{
    font-size: 12px;
    display: inline-block;
    width: 26.07%;
    vertical-align: middle;
}
main #products #item-amount ul
{
    font-weight: 400;
    display: inline-block;
    width: 140px;
    vertical-align: middle;
}
main #products #item-amount ul:before,
main #products #item-amount ul:after
{
    display: table;
    content: '';
}
main #products #item-amount ul:after
{
    clear: both;
}
main #products #item-amount ul li
{
    float: left;
    text-align: center;
    -webkit-border-radius: 2px;
            border-radius: 2px;
}
main #products #item-amount ul li + li
{
    position: relative;
    width: 30px;
    height: 30px;
    -webkit-transition: color .3s, background-color .3s;
       -moz-transition: color .3s, background-color .3s;
        -ms-transition: color .3s, background-color .3s;
         -o-transition: color .3s, background-color .3s;
            transition: color .3s, background-color .3s;
    color: #fff;
    background: #fa960a;
}
main #products #item-amount ul li + li:before
{
    font-size: 16px;
    position: absolute;
    top: calc(50% - .5em);
    left: calc(50% - .5em);
}
main #products #item-amount ul li + li.disabled
{
    cursor: default;
    pointer-events: none;
    color: #808080;
    background: #d8d8d8;
}
main #products #item-amount ul li:nth-child(1)
{
    overflow: hidden;
    width: 60px;
    height: 30px;
    background: #fff;
}
main #products #item-amount ul li:nth-child(1) var
{
    font-size: 18px;
    line-height: 1.67;
}
main #products #item-amount ul li:nth-child(2)
{
    float: right;
}
main #products #item-amount ul li:nth-child(3)
{
    float: left;
    margin-left: 10px;
}
main #products #item-btn
{
    padding: 40px 7.14%;
    border-bottom: #ccc 1px solid;
}
main #products #item-btn a
{
    display: none;
    max-width: 240px;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    -webkit-border-radius: 2px;
            border-radius: 2px;
}
main #products #item-btn a span
{
    font-size: 18px;
    line-height: 2;
}
main #products #item-btn a.btn-cart
{
    background: #fa960a;
}
main #products #item-btn a.btn-cart span:after
{
    content: 'Add to Cart';
}
main #products #item-btn a.btn-mail
{
    margin-top: 20px;
    background: #e65a50;
    display: none !important; /* 0801 受付終了 */
}
main #products #item-btn a.btn-mail span:after
{
    content: 'Get Restock Notification';
}
main #products #item-btn a.btn-lot
{
    background: #e65a50;
}
main #products #item-btn a.btn-lot span:after
{
    content: 'Enter Lottery Sale';
}
main #products .item-detail
{
    padding: 5px 0 8px;
    border-bottom: #ccc 1px solid;
}
main #products .item-detail strong
{
    font-size: 12px;
    line-height: 1.5;
    display: block;
}
main #products .item-detail strong ~ *
{
    font-weight: 400;
}
main #products .item-detail strong ~ *[class]
{
    display: none;
}
main #products .item-detail > span
{
    font-size: 14px;
    line-height: 1.14;
}
main #products .item-detail ul
{
    margin: 5px 0 -8px;
    padding-left: 7.14%;
}
main #products .item-detail ul li
{
    padding: 2px 0;
    border-top: #ccc 1px solid;
}
main #products .item-detail ul li img
{
    display: inline-block;
    width: 25px;
    height: 25px;
    vertical-align: middle;
}
main #products .item-detail ul li span
{
    font-size: 14px;
    line-height: 1.14;
    display: inline-block;
    width: calc(100% - 25px);
    padding-left: 8px;
    vertical-align: middle;
}
main #products .item-detail > a
{
    font-size: 14px;
    line-height: 1.5;
    position: relative;
    display: block !important;
    margin-bottom: 7px;
    padding-right: 20px;
}
main #products .item-detail > a:before
{
    font-size: 20px;
    position: absolute;
    top: calc(50% - .5em);
    right: 0;
}
main #products .item-detail > a span
{
    display: inline-block;
}
main #products.soldout #item-btn a.btn-cart
{
    cursor: default;
    pointer-events: none;
    color: #808080;
    background: #ccc;
}
main #products.soldout #item-btn a.btn-cart:before
{
    display: none;
}
main #products.soldout #item-btn a.btn-cart span:after
{
    content: 'Out of Stock';
}
main #products.soldout #item-btn a[style*='block'] + a.btn-mail
{
    /*display: block !important;*/
    display: none !important; /* 0801 受付終了 */
}
main #products.soldout #item-btn a.btn-lot
{
    cursor: default;
    pointer-events: none;
    color: #808080;
    background: #d8d8d8;
}
main #products.soldout #item-btn a.btn-lot:before
{
    display: none;
}
main #products.soldout #item-btn a.btn-lot span:after
{
    content: 'Orders Closed';
}
main #products ~ section
{
    border-bottom: #ccc 1px solid;
}
main #products ~ section:last-of-type
{
    border-bottom: none;
}
main #spec
{
    padding: 27px 6.25% 39px;
}
main #spec h3
{
    margin-bottom: 15px;
}
main #spec > dl > dt
{
    position: relative;
}
main #spec > dl > dt.btn-accord
{
    padding: 8px 20px 8px 0;
    border-bottom: #ccc 1px solid;
}
main #spec > dl > dt.btn-accord:empty
{
    padding: 0;
    border-bottom: none;
}
main #spec > dl > dt.btn-accord:empty:after
{
    display: none;
}
main #spec > dl > dt.btn-accord:first-child
{
    border-top: #ccc 1px solid;
}
main #spec > dl > dt.btn-accord:after
{
    display: inline-block;
    width: 0;
    height: 28px;
    content: '';
    vertical-align: middle;
}
main #spec > dl > dt.btn-accord span
{
    display: inline-block;
    vertical-align: middle;
}
main #spec > dl > dt.mdi-chevron-down.open:before
{
    -webkit-transform: rotate(180deg);
       -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
         -o-transform: rotate(180deg);
            transform: rotate(180deg);
}
main #spec > dl > dt.mdi-chevron-down:before
{
    font-size: 20px;
    position: absolute;
    top: calc(50% - .5em);
    right: 0;
    -webkit-transition: -webkit-transform .3s;
       -moz-transition:    -moz-transform .3s;
        -ms-transition:     -ms-transform .3s;
         -o-transition:      -o-transform .3s;
            transition:         transform .3s;

    -webkit-backface-visibility: hidden;
       -moz-backface-visibility: hidden;
        -ms-backface-visibility: hidden;
            backface-visibility: hidden;
}
main #spec > dl > dt:not(.mdi-chevron-down) + dd
{
    height: auto !important;
}
main #spec > dl > dt:not(.mdi-chevron-down) + dd > *
{
    display: block !important;
}
main #spec > dl > dt span
{
    font-size: 14px;
    line-height: 1;
}
main #spec > dl > dd dl
{
    padding-left: 7.14%;
    border-bottom: #ccc 1px solid;
}
main #spec > dl > dd dl dt
{
    font-size: 12px;
    line-height: 1.5;
    padding-top: 5px;
}
main #spec > dl > dd dl dd
{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.14;
    padding-bottom: 8px;
}
main #spec > dl > dd dl dd ~ dt
{
    border-top: #ccc 1px solid;
}
main #demerit
{
    padding: 27px 6.25% 39px;
}
main #demerit h3
{
    margin-bottom: 14px;
}
main #demerit > p
{
    font-size: 12px;
    font-weight: 400;
    line-height: 1.42;
    margin-bottom: 15px;
}
main #demerit > p + p
{
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 0;
}
main #demerit > dl br:not(.device-sp)
{
    display: none;
}
main #demerit > dl > dt
{
    position: relative;
}
main #demerit > dl > dt.btn-accord
{
    padding: 8px 20px 8px 0;
    border-bottom: #ccc 1px solid;
}
main #demerit > dl > dt.btn-accord:first-child
{
    border-top: #ccc 1px solid;
}
main #demerit > dl > dt.btn-accord:after
{
    display: inline-block;
    width: 0;
    height: 28px;
    content: '';
    vertical-align: middle;
}
main #demerit > dl > dt.btn-accord span
{
    display: inline-block;
    vertical-align: middle;
}
main #demerit > dl > dt.mdi-chevron-down.open:before
{
    -webkit-transform: rotate(180deg);
       -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
         -o-transform: rotate(180deg);
            transform: rotate(180deg);
}
main #demerit > dl > dt.mdi-chevron-down:before
{
    font-size: 20px;
    position: absolute;
    top: calc(50% - .5em);
    right: 0;
    -webkit-transition: -webkit-transform .3s;
       -moz-transition:    -moz-transform .3s;
        -ms-transition:     -ms-transform .3s;
         -o-transition:      -o-transform .3s;
            transition:         transform .3s;

    -webkit-backface-visibility: hidden;
       -moz-backface-visibility: hidden;
        -ms-backface-visibility: hidden;
            backface-visibility: hidden;
}
main #demerit > dl > dt:not(.mdi-chevron-down) + dd
{
    height: auto !important;
}
main #demerit > dl > dt:not(.mdi-chevron-down) + dd > *
{
    display: block !important;
}
main #demerit > dl > dt span
{
    font-size: 14px;
    line-height: 1;
}
main #demerit > dl > dd p
{
    font-size: 12px;
    font-weight: 400;
    line-height: 1.14;
    padding: 13px 0 13px 7.14%;
    border-bottom: #ccc 1px solid;
}
main #demerit > dl > dd p img
{
    width: 100%;
}
main #demerit > ul
{
    padding-top: 12px;
    text-align: right;
}
main #demerit > ul li a
{
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    position: relative;
    display: inline-block;
    padding-left: 1em;
    vertical-align: top;
}
main #demerit > ul li a:before
{
    font-size: 14px !important;
    position: absolute;
    top: calc(50% - .5em);
    left: 0;
}
main #lot
{
    padding: 27px 6.25% 11px;
}
main #lot h3
{
    margin-bottom: 14px;
}
main #lot > p
{
    font-size: 12px;
    font-weight: 400;
    line-height: 1.42;
    margin-bottom: 15px;
}
main #lot dl dt
{
    font-size: 12px;
    line-height: 1.5;
    padding-top: 5px;
    border-top: #ccc 1px solid;
}
main #lot dl dd
{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.14;
    padding: 8px 0;
}
main #lot dl dd strong
{
    font-weight: 400;
    display: block;
    margin-bottom: 1.14em;
}
main #lot dl dd ul li
{
    position: relative;
    padding-left: .5em;
}
main #lot dl dd ul li:before
{
    position: absolute;
    left: 0;
    content: '-';
}
main #recommend
{
    padding: 27px 0 45px;
}
main #recommend h3
{
    margin: 0 6.25%;
    padding-bottom: 15px;
    border-bottom: 1px #ccc solid;
}
main #recommend ul
{
    font-size: 0;
    margin: 0 4px;
    padding-left: 3.13%;
    text-align: center;
}
main #recommend ul li
{
    display: inline-block;
    text-align: left;
    vertical-align: top;
}
main #recommend ul li a
{
    color: #000;
}
main #recommend ul li a dl dt
{
    position: relative;
    padding-top: 100%;
}
main #recommend ul li a dl dt img
{
    position: absolute;
    top: 0;
    left: 0;
}
main #recommend ul li a dl dd
{
    padding-top: 10px;
}
main #recommend ul li a dl dd span
{
    font-size: 10px;
    font-weight: 400;
    line-height: 1.6;
    display: block;
}
main #recommend ul li a dl dd strong
{
    font-size: 14px;
    line-height: 1.14;
    display: block;
}
main #staff
{
    padding: 27px 6.25% 39px;
}
main #staff h3
{
    margin-bottom: 15px;
}
main #staff dl
{
    border-bottom: #ccc 1px solid;
}
main #staff dl dt
{
    font-size: 12px;
    line-height: 1.5;
    padding-top: 5px;
    border-top: #ccc 1px solid;
}
main #staff dl dd
{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.14;
    padding-bottom: 8px;
}
#recommend li
{
    width: 46.69%;
    margin: 20px 3.31% 0 0;
}
#recommend dt
{
    background: url('/store/techo/2018/images/loading3.gif') 50% 50% no-repeat;
    -webkit-background-size: 17.02% auto;
       -moz-background-size: 17.02% auto;
            background-size: 17.02% auto;
}
@media screen and (min-width: 482px)
{
    #recommend li
    {
        width: 30.72%;
        margin: 20px 2.18% 0 0;
    }
}
@media screen and (min-width: 643px)
{
    #recommend li
    {
        width: 22.93%;
        margin: 20px 1.63% 0 0;
    }
}
.ua-desktop main #slide > div ul:nth-child(1) li
{
    -webkit-background-size: 32px auto;
       -moz-background-size: 32px auto;
            background-size: 32px auto;
}
.ua-desktop main #slide > ul li
{
    cursor: pointer;
}
#detail_book2017 main #detail header h2 span
{
    line-height: 1.63;
    min-height: 26px;
}
#detail_book2017 main #detail header h2 span:before
{
    display: block;
    width: 100px;
    height: 26px;
    margin-bottom: 14px;
    content: '';
    background: url('/store/techo/en/2018/images/book2017/icon_2017.svg') no-repeat;
    -webkit-background-size: 100% 100%;
       -moz-background-size: 100% 100%;
            background-size: 100% 100%;
}
#alert
{
    width: 100%;
    padding: 26px 6.25% 18px;
    text-align: center;
}
#alert h4
{
    margin-bottom: 15px;
    text-align: center;
}
#alert h4 span
{
    font-size: 18px;
    line-height: 1.11;
}
#alert p
{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    padding-bottom: 26px;
    text-align: left;
    letter-spacing: .05em;
}
#alert p a
{
    display: inline;
}
#alert > a
{
    overflow: hidden;
    width: 46.43%;
    height: 30px;
    margin: 0 auto;
    text-align: center;
    vertical-align: top;
    color: #fff;
    -webkit-border-radius: 2px;
            border-radius: 2px;
    background: #666;
}
#alert > a span
{
    font-size: 14px;
    font-weight: 700;
    line-height: 2.14;
    display: inline-block;
    vertical-align: middle;
}
#alert ul:before,
#alert ul:after
{
    display: table;
    content: '';
}
#alert ul:after
{
    clear: both;
}
#alert ul li
{
    float: left;
    width: 46.43%;
}
#alert ul li + li
{
    float: right;
}
#alert ul li + li a
{
    background: #666;
}
#alert ul li a
{
    display: block;
    color: #fff;
    -webkit-border-radius: 4px;
            border-radius: 4px;
    background: #fa960a;
}
#alert ul li a span
{
    font-size: 14px;
    line-height: 2.14;
}
#about[data-device='sp']
{
    word-wrap: break-word;
}
#about[data-device='sp'] br:not([role='device-sp'])
{
    display: none;
}
#about[data-device='sp'] > *:last-child
{
    margin-bottom: 38px;
}
#about[data-device='sp'] h4
{
    font-size: 20px;
    display: inline-block;
    padding-bottom: 10px;
}
#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-family: 'tinos', serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}
#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'])
{
    font-size: 10px;
    display: inline-block;
    vertical-align: bottom;
}
#about[data-device='sp'] .content-text img:not([role='br'])[data-icon='face']
{
    width: 4.5em;
}
#about[data-device='sp'] .content-text img:not([role='br']):not([data-icon])
{
    width: 100% !important;
    margin-top: 24px;
    margin-bottom: 24px;
}
#about[data-device='sp'] .content-text img:not([role='br']):not([data-icon]) + br + img[data-val]
{
    margin-top: -14px;
}
#about[data-device='sp'] .content-text img:not([role='br']):not([data-icon]):first-child
{
    margin-top: 0;
}
#about[data-device='sp'] .content-text img:not([role='br']):not([data-icon]):last-child
{
    margin-bottom: 0;
}
#about[data-device='sp'] .content-text [data-type='youtube']
{
    font-size: 0;
    position: relative;
    display: inline-block;
    margin: 0;
    padding-top: 56.25%;
}
#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: 8px;
}
#about[data-device='sp'] .content-text ul li:before,
#about[data-device='sp'] .content-text ol li:before
{
    position: absolute;
    left: 4px;
    content: '*';
    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: 8px;
    text-indent: -8px;
}
#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
{
    font-size: 0;
    padding: 4px 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
{
    font-size: 14px;
    line-height: 1.5;
    display: inline-block;
    max-width: calc(100% - 30px);
    padding-left: 20px;
    vertical-align: middle;
    color: #000;
}
#about[data-device='sp'] .tmpl-title
{
    display: none;
    margin-bottom: 37px;
    padding-bottom: 19px;
    border-bottom: .1em #ccc solid;
}
#about[data-device='sp'] .tmpl-title h2
{
    font-family: 'bodoni-urw', serif;
    font-weight: 500;
}
#about[data-device='sp'] .tmpl-title h2 span
{
    font-size: 16px;
    line-height: 1;
    display: inline-block;
    vertical-align: bottom;
}
#about[data-device='sp'] .tmpl-title h2 span img
{
    display: block;
}
#about[data-device='sp'] .tmpl-title h2 strong
{
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
    display: block;
    margin: 14px 0 8px;
}
#about[data-device='sp'] .tmpl-title h2 small
{
    font-family: 'tinos', serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    display: block;
}
#about[data-device='sp'] .tmpl-title + *
{
    margin-top: 0 !important;
}
#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 #ccc solid;
    -webkit-border-radius: 5px;
            border-radius: 5px;
}
#about[data-device='sp'] .tmpl-border .content-text
{
    letter-spacing: -.02em;
}
#about[data-device='sp'] .tmpl-link-hse h4
{
    display: block;
    margin-bottom: 20px;
    text-align: center;
    border-bottom: 1px #ccc solid;
}
#about[data-device='sp'] .tmpl-link-hse > a img
{
    width: 100%;
}
#about[data-device='sp'] .tmpl-link-hse > a span
{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    display: block;
    margin: 16px 0 2px;
    margin-top: 0;
    padding-bottom: 0;
    color: #000;
}
#about[data-device='sp'] .tmpl-link-hse > a i
{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    display: block;
    margin-left: -.29em;
}
#about[data-device='sp'] .tmpl-link-hse > a i:before
{
    display: inline-block;
    vertical-align: middle;
}
#about[data-device='sp'] .tmpl-link-hse > a i:after
{
    font-style: normal;
    content: 'Details';
}
#about[data-device='sp'] .tmpl-link-aa h4
{
    display: block;
    text-align: center;
}
#about[data-device='sp'] .tmpl-link-aa > ul
{
    border-top: 1px #ccc solid;
}
#about[data-device='sp'] .tmpl-link-aa > ul > li
{
    border-bottom: 1px #ccc solid;
}
#about[data-device='sp'] .tmpl-link-aa > ul > li > a
{
    font-size: 0;
    padding: 4px 0;
}
#about[data-device='sp'] .tmpl-link-aa > ul > li > a img
{
    display: inline-block;
    width: 30px;
    vertical-align: middle;
}
#about[data-device='sp'] .tmpl-link-aa > ul > li > a span
{
    font-size: 14px;
    line-height: 1.5;
    display: inline-block;
    max-width: calc(100% - 30px);
    padding-left: 20px;
    vertical-align: middle;
    color: #000;
}
#about[data-device='sp'] .tmpl-link-aa > ul > li > a br
{
    display: inherit;
}
#about[data-device='sp'] [class*='tmpl-link-']
{
    margin-top: 34px;
}
#about[data-device='sp'] [class*='tmpl-link-'] + [class*='tmpl-link-']
{
    margin-top: 24px;
}
/*# sourceMappingURL=dev/store/techo/en/2018/sp/styl/detail.css.map */
