@charset "UTF-8";
#cart h2, #recommend h3 {
  margin-left: -25px; }
  #cart h2 span, #recommend h3 span {
    display: inline-block;
    padding: 2px 16px 2px 23px;
    border-radius: 0px 16px 16px 0px;
    background-color: #b5b5b5;
    color: #FFFFFF;
    font-weight: bold;
    box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.3); }

a.btn[href="#continue"], .cart-help > a, #cartHeader > a {
  font-size: 0.875rem;
  background-image: url(../images/2017/icon_arrow_l.svg);
  background-position: left center;
  background-repeat: no-repeat;
  padding-left: 32px;
  border-radius: 1em 0.625em 0.625em 1em;
  box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.3);
  width: 22.41379%; }

/* Reset

Copyright (c) 2010, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 2.8.2r1

-------------------------------------------------------------------------------*/
html {
  color: #000;
  background: #FFF; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

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

fieldset, img {
  border: 0; }

address, caption, cite, code, dfn, em, strong, th, var, optgroup {
  font-style: inherit;
  font-weight: inherit; }

del, ins {
  text-decoration: none; }

li {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

q:before, q:after {
  content: ''; }

abbr, acronym {
  border: 0;
  font-variant: normal; }

sup {
  vertical-align: baseline; }

sub {
  vertical-align: baseline; }

legend {
  color: #000; }

input, button, textarea, select, optgroup, option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit; }

input, button, textarea, select {
  *font-size: 100%; }

/* Font
-------------------------------------------------------------------------------*/
body {
  font: -apple-system-body;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.75;
  letter-spacing: .05em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  .en body {
    letter-spacing: 0; }

/* Basic
-------------------------------------------------------------------------------*/
a {
  text-decoration: none;
  -webkit-touch-callout: none; }

a:link {
  color: #7070cb;
  text-decoration: underline; }

a:visited {
  color: #535398;
  text-decoration: underline; }

a:focus {
  outline: 0; }

a img {
  vertical-align: top; }

.current > a {
  cursor: default;
  pointer-events: none; }

@media all and (min-width: 601px) {
  a {
    transition: all 0.25s; }
    a:hover {
      color: #ff8000;
      text-decoration: none; }
  .opc a:link, .opc a:visited {
    opacity: 1; }
  .opc a:hover {
    opacity: .5; }
  .opc .current > a:hover {
    opacity: 1; }
  .opc input[type="image"]:hover {
    opacity: .5; } }

a.btn {
  font-weight: bold;
  line-height: 1;
  padding: .5em 1em;
  text-decoration: none;
  border-radius: 1em; }
  a.btn:link, a.btn:visited {
    color: #FFFFFF;
    background-color: #00b8d9; }
  a.btn[href="#continue"] {
    align-items: center;
    display: inline-flex; }

.sprite {
  position: relative;
  display: block;
  overflow: hidden; }

.sprite img {
  position: absolute; }

.normal {
  font-weight: normal !important; }

.bold {
  font-weight: bold; }

.fltL {
  float: left !important; }

.fltR {
  float: right !important; }

.clrml {
  margin-left: 0 !important; }

.clrmr {
  margin-right: 0 !important; }

.clrmb {
  margin-bottom: 0 !important; }

.clrmt {
  margin-top: 0 !important; }

.clrbt {
  clear: both !important; }

.clrL {
  clear: left !important; }

.clrR {
  clear: right !important; }

.clrbd {
  border: none !important; }

.alnR {
  text-align: right; }

.block {
  display: block; }

.whitespace {
  white-space: pre;
  white-space: pre-wrap;
  white-space: pre-line;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  white-space: -moz-pre-wrap;
  white-space: -hp-pre-wrap;
  word-wrap: break-word; }

.clrfx:after {
  content: "";
  display: block;
  clear: both; }

/* Layout
-------------------------------------------------------------------------------*/
html {
  background: #FFFFFF url(../images/techo2014/bg_html.png); }

body * {
  box-sizing: border-box; }

#wrapper {
  max-width: 1000px;
  margin: 0 auto; }

#header {
  background-color: #00b8d9;
  overflow: hidden;
  width: 100%;
  margin-bottom: 20px;
  border-radius: 0 0 10px 10px;
  box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.3); }
  #header h1 {
    float: left;
    padding: 18px; }
  #header > a {
    display: block;
    float: right;
    padding-top: 50px;
    margin-right: 20px;
    text-decoration: none;
    width: 50px;
    text-align: center;
    color: #FFFFFF; }
    #header > a.store {
      background: url(/sn/images/icon_store.svg) no-repeat center 14px; }
    #header > a.help {
      background: url(/sn/images/icon_help.svg) no-repeat center 14px; }
    #header > a img {
      vertical-align: middle;
      display: inline-block; }
    #header > a span {
      display: block;
      font-size: 75%;
      font-weight: bold;
      line-height: 1.2;
      margin-top: 5px; }
    #header > a + a {
      margin-right: 10px; }
  #header > p {
    clear: both;
    background-color: #FFFFFF;
    padding: 8px 16px;
    text-align: right;
    font-size: 81.25%; }

.en #header > a.store {
  width: 70px; }

@media only screen and (min-width: 600px) {
  #header > a {
    margin-right: 25px;
    transition: all 0.25s; }
    #header > a.store:hover {
      background-image: url(/sn/images/icon_store-over.svg);
      color: #ffe093; }
    #header > a.help:hover {
      background-image: url(/sn/images/icon_help-over.svg);
      color: #ffe093; } }

/* Footer
-------------------------------------------------------------------------------*/
#footer {
  background-color: #00b8d9; }
  #footer ul {
    list-style: none;
    margin: 0;
    padding: 10px 20px 10px 20px;
    position: relative;
    overflow: hidden; }
  #footer li {
    display: block;
    position: relative; }
    #footer li a {
      font-size: 75%;
      font-weight: bold;
      line-height: 1.66667;
      display: block;
      padding: 5px 5px 5px 25px;
      text-align: left;
      text-decoration: none;
      color: #fff;
      background: url(/sn/images/icon_arrow_footer.svg) no-repeat left center;
      transition: all 0.25s; }
      #footer li a:hover {
        color: #FFb600; }

@media only screen and (min-width: 600px) {
  #footer {
    margin-top: 20px;
    border-radius: 10px 10px 0 0; }
    #footer li {
      display: inline-block; }
      #footer li a:hover {
        background-image: url(/sn/images/icon_arrow_footer-over.svg); }
      #footer li:last-child {
        float: right; }
        #footer li:last-child a {
          display: inline-block; }
  .en #footer li:last-child {
    float: none; } }

/* #cart
-------------------------------------------------------------------------------*/
.cart-top {
  position: relative;
  display: block;
  margin-bottom: 20px; }

.cart-items {
  width: 100%;
  display: flex;
  flex-direction: column; }
  .cart-items table {
    width: 100%;
    box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    border-collapse: separate;
    border-spacing: 0; }
    .cart-items table tr.soldout td {
      background-color: #FFF1E3; }
    .cart-items table tr.max_quantity td {
      background-color: #ffccd5; }
    .cart-items table tr.reduced_tax td.product_label .product_label-items::after {
      font-size: 14px; }
      .ja .cart-items table tr.reduced_tax td.product_label .product_label-items::after {
        content: "※"; }
      .en .cart-items table tr.reduced_tax td.product_label .product_label-items::after {
        content: "*"; }
    .cart-items table th,
    .cart-items table td {
      table-layout: fixed; }
  .cart-items thead tr th {
    background-color: #b5b5b5;
    color: #FFFFFF;
    font-size: 87.5%;
    font-weight: bold;
    text-align: center;
    padding: 0.5em 0;
    border-right: 1px solid #FFFFFF;
    line-height: 1.25; }
    .cart-items thead tr th:first-child {
      border-radius: 10px 0 0 0; }
    .cart-items thead tr th:last-child {
      border-radius: 0 10px 0 0;
      border-right: 0 none; }
  .cart-items tbody tr:last-child td {
    border-bottom: 0 none transparent; }
    .cart-items tbody tr:last-child td:first-child {
      border-radius: 0 0 0 10px; }
    .cart-items tbody tr:last-child td:last-child {
      border-radius: 0 0 10px 0; }
  .cart-items tbody tr td {
    vertical-align: middle;
    padding: 12px 0.63158%;
    line-height: 1.2;
    word-break: break-all;
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
    .cart-items tbody tr td:nth-of-type(1) {
      width: 41.05263%; }
    .cart-items tbody tr td:nth-of-type(2) {
      width: 11.57895%; }
    .cart-items tbody tr td:nth-of-type(3) {
      width: 6.31579%; }
    .cart-items tbody tr td:nth-of-type(4) {
      width: 11.57895%; }
    .cart-items tbody tr td:nth-of-type(5) {
      width: 11.57895%; }
    .cart-items tbody tr td:nth-of-type(6) {
      width: 5.78947%; }
    .cart-items tbody tr td:nth-of-type(7) {
      width: 5.78947%; }
    .cart-items tbody tr td:nth-of-type(8) {
      width: 6.31579%; }
    .cart-items tbody tr td + td {
      text-align: center; }
  .cart-items td.product_label {
    max-width: 300px; }
    .cart-items td.product_label .product_label-items {
      display: flex;
      align-items: center; }
      .cart-items td.product_label .product_label-items > * {
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: auto; }
      .cart-items td.product_label .product_label-items img,
      .cart-items td.product_label .product_label-items span {
        display: inline-block;
        vertical-align: middle; }
      .cart-items td.product_label .product_label-items img {
        width: 50px;
        height: 50px;
        flex-grow: 0;
        flex-shrink: 0;
        flex-basis: 50px; }
      .cart-items td.product_label .product_label-items span {
        font-size: 87.5%;
        margin: 0 1.50602%; }
  .cart-items td.product_price {
    text-align: right; }
    .cart-items td.product_price span {
      font-size: 12px; }
  .cart-items td.product_quantity {
    font-size: 14px; }
    .cart-items td.product_quantity span {
      color: #FFb600; }
  .cart-items td.product_amount {
    text-align: right; }
  .cart-items td.product_dt {
    font-size: 12px;
    text-align: right; }
  .cart-items td.product_wrapping,
  .cart-items td.product_i11l_shipping {
    font-size: 13px; }
  .cart-items td.notwrap,
  .cart-items td.notship {
    color: #FFb600; }
  .cart-items td.product_del {
    font-size: 12px; }
  .en .cart-items tbody tr td {
    word-break: break-word;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto; }
    .en .cart-items tbody tr td.product_price {
      white-space: nowrap; }
  @media all and (max-width: 600px) {
    .cart-items {
      width: 100%; }
      .cart-items table tr:last-child td:last-child {
        border-radius: 0 0 10px 10px; }
      .cart-items thead {
        display: none; }
      .cart-items tbody tr:first-child td:first-child {
        border-radius: 0; }
      .cart-items tbody tr:last-child td {
        border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
        .cart-items tbody tr:last-child td:first-child {
          border-radius: 0; }
        .cart-items tbody tr:last-child td:last-child {
          border: 0 none transparent; }
      .cart-items tbody tr td {
        width: auto;
        display: block;
        position: relative;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
        .cart-items tbody tr td::before {
          display: block;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          margin: 0.5em;
          font-size: 75%;
          font-weight: bold;
          letter-spacing: 0;
          min-width: 66px;
          border-right: 1px solid rgba(0, 0, 0, 0.1); }
        .cart-items tbody tr td:last-child {
          border-bottom: 3px double #b5b5b5; }
        .cart-items tbody tr td:nth-of-type(1), .cart-items tbody tr td:nth-of-type(2), .cart-items tbody tr td:nth-of-type(3), .cart-items tbody tr td:nth-of-type(4), .cart-items tbody tr td:nth-of-type(5), .cart-items tbody tr td:nth-of-type(6), .cart-items tbody tr td:nth-of-type(7), .cart-items tbody tr td:nth-of-type(8) {
          width: auto; }
        .cart-items tbody tr td.product_label, .cart-items tbody tr td.product_price, .cart-items tbody tr td.product_quantity, .cart-items tbody tr td.product_amount, .cart-items tbody tr td.product_dt, .cart-items tbody tr td.product_i11l_shipping, .cart-items tbody tr td.product_wrapping, .cart-items tbody tr td.product_del {
          font-size: 1rem;
          text-align: left;
          padding: 4px 8px 4px 84px;
          min-height: 1.75rem; }
          .cart-items tbody tr td.product_label::before, .cart-items tbody tr td.product_price::before, .cart-items tbody tr td.product_quantity::before, .cart-items tbody tr td.product_amount::before, .cart-items tbody tr td.product_dt::before, .cart-items tbody tr td.product_i11l_shipping::before, .cart-items tbody tr td.product_wrapping::before, .cart-items tbody tr td.product_del::before {
            content: attr(data-label); }
        .cart-items tbody tr td.product_label {
          max-width: 100%;
          padding-top: 8px; }
          .cart-items tbody tr td.product_label::before {
            margin-top: 8px; }
          .cart-items tbody tr td.product_label .product_label-items {
            flex-wrap: wrap;
            align-items: flex-end; }
            .cart-items tbody tr td.product_label .product_label-items span {
              margin: 0;
              width: calc(100% - 20px); }
        .cart-items tbody tr td.product_del {
          padding-bottom: 8px; }
          .cart-items tbody tr td.product_del::before {
            margin-bottom: 8px; }
          .cart-items tbody tr td.product_del input[type="button"] {
            border-radius: 4px;
            padding: 1px 7px 2px;
            font-size: 14px;
            background-color: #FFFFFF;
            border: 1px outset #cccccc; }
    .en .cart-items tbody tr td {
      word-break: break-word;
      -webkit-hyphens: auto;
      -ms-hyphens: auto;
      hyphens: auto; }
      .en .cart-items tbody tr td.product_label, .en .cart-items tbody tr td.product_price, .en .cart-items tbody tr td.product_quantity, .en .cart-items tbody tr td.product_amount, .en .cart-items tbody tr td.product_dt, .en .cart-items tbody tr td.product_i11l_shipping, .en .cart-items tbody tr td.product_wrapping, .en .cart-items tbody tr td.product_del {
        padding-left: 108px; }
      .en .cart-items tbody tr td::before {
        min-width: 90px; }
      .en .cart-items tbody tr td.product_dt {
        min-height: 2.5em; }
        .en .cart-items tbody tr td.product_dt::before {
          max-width: 90px; }
      .en .cart-items tbody tr td.product_i11l_shipping {
        min-height: 2.5em; }
        .en .cart-items tbody tr td.product_i11l_shipping::before {
          max-width: 90px; } }

.cart-navi {
  text-align: center;
  width: 100%;
  margin: 40px 0 0; }
  .cart-navi nav {
	flex-wrap: wrap;
    display: inline-flex; }
    .cart-navi nav > a,
    .cart-navi nav > button {
      vertical-align: middle; }
    .cart-navi nav > a[href="#continue"].btn {
      min-height: 56px;
      width: auto;}
    .cart-navi nav > button {
      width: 192px;
      margin-left: 20px; }
  .cart-navi.last {
    padding-bottom: 40px; }
  .AmazonPayNavi {
    display: block;
    max-width: 565px;
    margin: 50px auto 0; }
  .AmazonPayNavi nav {
    border: 1px solid #FFF;
    border-radius: 12px;
    box-shadow: 0px 0px 8px 0px rgb(0 0 0 / 15%);
    padding:18px; }
  .AmazonPayNavi div {
    font-size:0.82em;
    text-align:left; }
  .AmazonPayButton {
    max-width:60%;
    height:70px;
    margin:15px auto 25px; }
  @media all and (max-width: 600px) {
    .cart-navi {
      margin: 25px auto; }
      .cart-navi nav a,
      .cart-navi nav button {
        display: inline-block;
        margin: auto 5px auto 5px; }
      .cart-navi nav > a[href="#continue"].btn {
		display: flex;
		flex-wrap: wrap;
		flex-grow: 1;
		flex-basis: 128px;
		max-width: 185px;
        text-align: left;
		padding-right: 20px;
      }
  }

.cart-note {
  word-break: break-word;
  margin: 10px 0 0;
  font-size: 87.5%;
  max-width: 800px; }
  .cart-note a[target="_blank"]::after {
    font-family: 'Hobonichi-Icons';
    content: "\e914"; }
  .cart-note .cart-note-item {
    margin: 1rem auto 0; }
  .cart-note .type-default h3, .cart-note .type-default p {
    color: #000000; }
  .cart-note .type-muted h3, .cart-note .type-muted p {
    color: #b5b5b5; }
  .cart-note .type-primary h3, .cart-note .type-primary p {
    color: #2A9FD6; }
  .cart-note .type-secondary h3, .cart-note .type-secondary p {
    color: #555555; }
  .cart-note .type-warning h3, .cart-note .type-warning p {
    color: #FF8800; }
  .cart-note .type-danger h3, .cart-note .type-danger p {
    color: #CC0000; }
  .cart-note .type-success h3, .cart-note .type-success p {
    color: #77B300; }
  .cart-note .type-info h3, .cart-note .type-info p {
    color: #93c224; }
  .cart-note h3 .primary, .cart-note p .primary {
    color: #2A9FD6; }
  .cart-note h3 .secondary, .cart-note p .secondary {
    color: #555555; }
  .cart-note h3 .success, .cart-note p .success {
    color: #77B300; }
  .cart-note h3 .info, .cart-note p .info {
    color: #93c224; }
  .cart-note h3 .warning, .cart-note p .warning {
    color: #FF8800; }
  .cart-note h3 .danger, .cart-note p .danger {
    color: #CC0000; }
  .cart-note h3 {
    font-weight: bold;
    margin-bottom: 0.5em; }
    .cart-note h3:empty {
      display: none; }
  .cart-note p {
      padding-left: 8px;} 
  @media all and (max-width: 600px) {
    .cart-note {
      margin: 10px 0 0; }
    .cart-note p {
      padding-left: 0;} 
    .cart-note br:not(.sp) {
      display: none; } }

.cart-help {
  width: 100%;
  margin: 40px auto;
  box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  display: flex;
  align-items: center;
  overflow: hidden; }
  .cart-help h3 {
    background-color: #b5b5b5;
    background-image: url(../images/2017/icon_help.svg);
    background-position: 4px center;
    background-repeat: no-repeat;
    color: #FFFFFF;
    padding: 8px 4px 8px 36px;
    font-weight: bold;
    font-size: 87.5%;
    width: 20%; }
  .cart-help ul {
    border-radius: 0 0 10px 10px;
    background-color: #FFFFFF;
    display: flex;
    align-items: center;
    width: 80%; }
  .cart-help li {
    font-size: 12px;
    color: #666;
    padding-left: 1em;
    position: relative;
    margin: 0 10px; }
    .cart-help li a {
      display: inline-block; }
    .cart-help li::before {
      content: '・';
      position: absolute;
      left: 0; }
    .cart-help li:last-child {
      margin: 0 20px 0 auto;
      text-align: right; }
      .cart-help li:last-child::before {
        content: ''; }
      .cart-help li:last-child a {
        background: url(/store/cart/images/2017/icon_arrow_rg.svg) no-repeat left center;
        padding-left: 19px;
        color: #666;
        font-weight: bold;
        text-decoration: none; }
        .cart-help li:last-child a:hover {
          opacity: 0.5; }
  @media all and (max-width: 600px) {
    .cart-help {
      width: 100%;
      margin-top: 25px;
      flex-direction: column; }
      .cart-help h3 {
        width: 100%; }
      .cart-help ul {
        width: 100%;
        padding-top: 0;
        padding-bottom: 4px;
        align-items: center;
        flex-wrap: wrap; }
        .cart-help ul li {
          display: inline-block;
          margin: 4px 10px; }
          .cart-help ul li:last-child {
            margin-right: 10px; } }

.cart-banner {
  display: flex;
  flex-wrap: wrap; }
  .cart-banner .cart-banner-item {
    margin: 20px auto;
    max-width: 465px; }
  .cart-banner a {
    display: block;
    border-radius: 10px;
    overflow: hidden; }
    .cart-banner a:hover {
      opacity: 0.5; }
    .cart-banner a img {
      width: 100%;
      height: auto; }
  @media all and (max-width: 600px) {
    .cart-banner .cart-banner-item {
      margin-bottom: 0;
      max-width: 100%; }
      .cart-banner .cart-banner-item:first-of-type {
        margin-top: 0; }
    .cart-banner a:hover {
      opacity: 1; } }

.cart-products {
  order: 1; }

.cart-amount {
  order: 2; }

.cart-navi {
  order: 4; }
  @media all and (max-width: 600px) {
    .cart-navi {
      order: 4; } }

.cart-note {
  order: 3; }
  @media all and (max-width: 600px) {
    .cart-note {
      order: 3; } }

.cart-shipping {
  order: 5; }

.cart-help {
  order: 6; }

.cart-banner {
  order: 7; }

#cart {
  position: relative;
  display: block;
  padding: 25px; }
  #cart select,
  #cart option {
    padding: 0; }
  #cart select {
    min-width: 3em; }
  #cart > p {
    color: #5b5b5b;
    line-height: 1.5;
    padding: 30px 0 30px 7px;
    font-size: 87.5%; }
  #cart > a,
  #cart > img {
    margin: 0 0 10px 7px;
    display: inline-block; }
  #cart > a:hover {
    opacity: .5; }
  #cart #lang {
    float: right;
    font-size: 12px; }
  @media all and (max-width: 600px) {
    #cart {
      padding: 25px 15px; } }

#cartHeader {
  position: relative;
  margin: 13px 0 0;
  min-height: 0px; }
  #cartHeader > a {
    position: absolute;
    right: 0;
    bottom: 0; }
  #cartHeader > p {
    max-width: 750px;
    width: 80%;
    font-size: 14px;
    line-height: 1.5;
    color: #5b5b5b;
    padding-left: 8px; }
  #cartHeader #info {
    background-color: #93c224;
    background-image: url(/store/cart/images/2017/title_information.svg);
    background-repeat: no-repeat;
    background-position: 10px center;
    background-size: 60px;
    position: relative;
    color: #FFF;
    vertical-align: middle;
    margin-top: 36px;
    min-height: 116px;
    padding: 18px 18px 18px 86px;
    border-radius: 10px;
    box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.3);
    margin-bottom:30px;
    display: none;
    align-items: center;
     }
    #cartHeader #notice {
	  margin-top: 26px;
          font-weight: bold;
	}
    #cartHeader #info::before {
      content: '';
       }
    #cartHeader #info ul {
      display: inline-block;
      vertical-align: middle;
      width: 97%; }
    #cartHeader #info li {
      font-size: 14px;
      line-height: 1.5;
      font-weight: bold; }
      #cartHeader #info li + li {
        margin-top: .75em;
        padding-top: .75em;
        border-top: 1px dotted #FFFFFF; }
  @media all and (max-width: 600px) {
    #cartHeader {
      text-align: center; }
      #cartHeader p,li {
        width: auto;
        text-align: left; }
        #cartHeader p#info {
          width: auto;
          margin-top: 20px; }
          #cartHeader p#info span {
            width: 96%;
            text-align: left; }
      #cartHeader > a {
        position: static;
        margin-top: 20px;
        width: auto; } }

#cartAmount {
  margin-top: 20px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between; }
  #cartAmount .detail {
    width: calc(550 / 950 * 100%); }
  #cartAmount .regi {
    width: calc(380 / 950 * 100%); }
  #cartAmount .cart-amount-detail {
    width: 100%;
    box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    overflow: hidden; }
  #cartAmount #reduced_tax {
    font-size: 14px;
    margin-top: 0.5em; }
  #cartAmount dl {
    display: flex;
    align-content: stretch;
    position: relative;
    margin: 0;
    border-radius: 10px;
    overflow: hidden;
    vertical-align: top; }
    #cartAmount dl dt,
    #cartAmount dl dd {
      display: flex;
      align-items: center; }
    #cartAmount dl dt {
      background-color: #b5b5b5;
      color: #FFFFFF;
      font-weight: bold;
      padding: 0 2.18182%;
      text-align: center;
      font-size: 87.5%;
      line-height: 1.25; }
    #cartAmount dl dd {
      justify-content: flex-end;
      padding: 0 2.18182%;
      line-height: 1; }
    #cartAmount dl span {
      display: inline-block;
      vertical-align: middle;
      color: #666;
      font-size: 12px;
      line-height: 1.75; }
    #cartAmount dl b {
      color: #ff8300;
      font-weight: bold; }
    #cartAmount dl#cart_amount_ex-tax {
      border-radius: 0;
      min-height: 80px; }
      #cartAmount dl#cart_amount_ex-tax dt {
        width: 26.78571%;
        text-align: left; }
      #cartAmount dl#cart_amount_ex-tax dd {
        width: 23.21429%;
        font-size: 18px;
        font-weight: bold;
        color: #666666;
        letter-spacing: 0;
        text-align: right; }
    #cartAmount dl#tax_details {
      border-top: 1px solid #b5b5b5;
      border-radius: 0;
      flex-wrap: wrap; }
      #cartAmount dl#tax_details dt, #cartAmount dl#tax_details dd {
        padding: 0.5em 2.18182%;
        font-weight: normal; }
        #cartAmount dl#tax_details dt:nth-of-type(n+3), #cartAmount dl#tax_details dd:nth-of-type(n+3) {
          border-top: 1px solid #b5b5b5; }
      #cartAmount dl#tax_details dt {
        width: 26.78571%;
        background-color: #FFFFFF;
        color: #666666;
        text-align: left; }
      #cartAmount dl#tax_details dd {
        width: 23.21429%;
        color: #666666;
        letter-spacing: 0;
        text-align: right; }
    #cartAmount dl#regi_amount {
      min-height: 80px;
      box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.3); }
      #cartAmount dl#regi_amount dt {
        font-size: 100%;
        width: 47.36842%;
        border-radius: 8px 0 0 8px;
        text-align: left; }
      #cartAmount dl#regi_amount dd {
        width: 52.63158%; }
      #cartAmount dl#regi_amount dt, #cartAmount dl#regi_amount dd {
        padding: 1.84211% 3.68421%; }
      #cartAmount dl#regi_amount dd + dt {
        border-radius: 0; }
      #cartAmount dl#regi_amount span {
        letter-spacing: 0;
        text-align: right;
        line-height: 1.25; }
      #cartAmount dl#regi_amount b {
        font-size: 24px; }
    #cartAmount dl#regi_alert {
      min-height: 40px;
      margin-top: 20px;
      width: 100%;
      box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.3); }
      #cartAmount dl#regi_alert dt {
        width: 47.36842%;
        border-radius: 8px 0 0 8px;
        text-align: left; }
      #cartAmount dl#regi_alert dd {
        width: 52.63158%; }
      #cartAmount dl#regi_alert dt, #cartAmount dl#regi_alert dd {
        padding: 1.84211% 3.68421%; }
      #cartAmount dl#regi_alert span {
        text-align: right;
        line-height: 1.25; }
      #cartAmount dl#regi_alert b {
        font-size: 15px;
        font-weight: bold; }
  @media all and (max-width: 600px) {
    #cartAmount {
      flex-direction: column; }
      #cartAmount .detail {
        width: 100%; }
      #cartAmount .regi {
        margin-top: 20px;
        width: 100%;
        box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.3);
        border-radius: 10px;
        overflow: hidden; }
      #cartAmount dl {
        float: none;
        min-height: 0; }
        #cartAmount dl#cart_amount_ex-tax {
          flex-wrap: wrap; }
          #cartAmount dl#cart_amount_ex-tax dt, #cartAmount dl#cart_amount_ex-tax dd {
            width: 50%; }
          #cartAmount dl#cart_amount_ex-tax dt:nth-of-type(n+2) {
            border-top: 1px solid #FFFFFF; }
          #cartAmount dl#cart_amount_ex-tax dd:nth-of-type(n+2) {
            border-top: 1px solid #b5b5b5; }
        #cartAmount dl#tax_details dt:nth-of-type(n+3), #cartAmount dl#tax_details dd:nth-of-type(n+3) {
          border-top: 1px solid #b5b5b5; }
        #cartAmount dl#tax_details dt:nth-of-type(-n+2), #cartAmount dl#tax_details dd:nth-of-type(-n+2) {
          padding-bottom: 0.5em; }
        #cartAmount dl#tax_details dt:nth-last-of-type(-n+2), #cartAmount dl#tax_details dd:nth-last-of-type(-n+2) {
          padding-top: 0.5em; }
        #cartAmount dl#regi_amount {
          width: 100%;
          border-radius: 0;
          box-shadow: none; }
          #cartAmount dl#regi_amount dt {
            border-radius: 0;
            border-bottom: 1px solid #FFFFFF; }
          #cartAmount dl#regi_amount dd {
            border-bottom: 1px solid #b5b5b5; }
        #cartAmount dl#regi_alert {
          border-radius: 0;
          width: 100%;
          margin: 0;
          box-shadow: none; }
          #cartAmount dl#regi_alert dt {
            border-radius: 0; } }

/* form
-------------------------------------------------------------------------------*/
form {
  background-color: #FFFFFF;
  padding: 0;
  border-radius: 10px;
  box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.3); }
  form > ul {
    width: 390px;
    margin: 0 auto;
    padding: 61px 0 17px;
    overflow: hidden; }
    form > ul li {
      float: left; }
      form > ul li + li {
        float: right; }

button[type="submit"] {
  border: 0 none;
  background: #FFb600 url(../images/2017/icon_submit.svg) no-repeat right center;
  font-weight: bold;
  color: #FFFFFF;
  text-align: left;
  font-size: 1rem;
  padding: 0.6em 5em 0.6em 1em;
  border-radius: 0.625em 2.5em 2.5em 0.625em;
  background-size: contain;
  box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: all 0.25s; }
  button[type="submit"]:hover {
    background-color: #ffe093; }

@media all and (min-width: 601px) {
  .device-sp {
    display: none; }
  a.btn:hover {
    background-color: #FFb600; } }

@media all and (max-width: 600px) {
  .device-pc {
    display: none; }
  a.btn:focus {
    outline-width: 5px; } }

/* grwt
-------------------------------------------------------------------------------*/
#ems h3 {
  color: #000000;
  margin-left: 8px;
  padding-top: 20px;
  font-weight: bold; }

table#shipping {
  display: block;
  table-layout: fixed;
  border-collapse: separate;
  margin-top: 5px; }
  table#shipping th,
  table#shipping td {
    text-align: center;
    padding: 10px;
    font-size: 87.5%; }
  table#shipping th {
    background: #b5b5b5;
    font-weight: bold;
    color: #FFFFFF;
    width: 25%;
    border-top: #b5b5b5 1px solid; }
  table#shipping td {
    width: 50%;
    border: #b5b5b5 1px solid;
    border-left: none;
    border-bottom: none; }
  table#shipping tr:first-child th:first-child, table#shipping tr:first-child td:first-child {
    border-radius: 10px 0 0 0; }
  table#shipping tr:first-child th {
    border-right: #b5b5b5 1px solid; }
  table#shipping tr:first-child td:last-child {
    border-radius: 0 10px 0 0; }
  table#shipping tr:nth-child(2) th {
    border-radius: 0 0 0 10px;
    border-top: #FFFFFF 1px solid;
    border-right: #FFFFFF 1px solid; }
  table#shipping tr:nth-child(n+3) th {
    border-top: #FFFFFF 1px solid; }
  table#shipping tr:last-child th, table#shipping tr:last-child td {
    border-bottom: #b5b5b5 1px solid; }
  table#shipping tr:last-child td:first-child {
    border-radius: 0 0 0 10px; }
  table#shipping tr:last-child td:last-child {
    border-radius: 0 0 10px 0; }

@media all and (max-width: 600px) {
  #ems table#shipping tbody tr th, #ems table#shipping tbody tr td {
    display: table-cell;
    border-bottom: 0 none transparent; }
  #ems table#shipping tbody tr th {
    width: 33%; }
  #ems table#shipping tbody tr td {
    width: 34%; }
  #ems table#shipping tbody tr:last-child th:last-child, #ems table#shipping tbody tr:last-child td:last-child {
    border: 1px solid #b5b5b5;
    border-left: 0 none transparent;
    border-radius: 0 0 10px 0; } }

/* recommend
-------------------------------------------------------------------------------*/
#recommend {
  padding: 0 25px; }
  #recommend h3 {
    margin-bottom: 15px; }
  #recommend h4 {
    font-size: 20px;
    margin: 0 0 19px 4px;
    font-weight: bold; }
    #recommend h4:before {
      content: url(/store/cart/images/techo2014/icon_reco.png);
      vertical-align: middle;
      margin-right: 6px; }
  #recommend div + div {
    border-top: #a8a8a8 1px dotted;
    margin-top: 25px;
    padding-top: 20px; }
  #recommend div p {
    clear: both;
    text-align: right;
    padding-top: 8px; }
    #recommend div p a {
      display: inline-block;
      color: #666;
      text-decoration: none;
      font-weight: bold;
      background: url(/store/cart/images/techo2014/icon_arrow.png) no-repeat left 0.3em;
      padding-left: 19px; }
      #recommend div p a span {
        font-size: 12px; }
  #recommend dl {
    width: 164px;
    float: left;
    margin-left: 5px; }
  #recommend dt {
    text-align: left; }
    #recommend dt a {
      display: block;
      position: relative; }
      #recommend dt a img + img {
        position: absolute;
        left: 0;
        top: -13px;
        z-index: 1; }
    #recommend dt + dd {
      min-height: 3em;
      padding-top: 9px; }
  #recommend dd {
    font-size: 13px;
    line-height: 1.46;
    font-weight: bold; }
    #recommend dd a {
      margin: -2px 0 0 -7px; }
    #recommend dd img {
      margin: 0; }

@media all and (max-width: 600px) {
  #recommend {
    padding: 0 15px; }
    #recommend dl {
      width: 50%;
      margin-left: 0;
      margin-top: 10px; }
    #recommend dt {
      text-align: center; }
    #recommend dd {
      text-align: center; } }

#send-overlay {
  display: none;
  background: #c8c8c8;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  min-height: 100%;
  height: 9999px;
  z-index: 100;
  font-size: 10px;
  opacity: 0.7;
  transition: opacity 400ms; }

#send-wrap {
  display: none;
  position: fixed;
  width: 100px;
  height: 100px;
  z-index: 101;
  background: #fff;
  box-shadow: 0px 1px 20px 0px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transform-origin: 50% 50%;
  background-position: 50% 50%;
  background-size: 3.2em 3.2em;
  background-repeat: no-repeat;
  font-size: 10px;
  transition: width 400ms,  height 400ms,  top 400ms;
  border-radius: 16px; }

#send-wrap .info {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: 50% 50%;
  width: 400px;
  height: auto;
  padding: 10px 0 30px; }

#send-wrap .anim {
  background: url(../images/osaru.png);
  width: 150px;
  height: 150px;
  background-size: 450px 150px;
  background-position: 0 0;
  background-repeat: no-repeat;
  margin: auto; }

#send-wrap p {
  font-size: 140%;
  text-align: center; }

#send-wrap .close {
  width: 40%;
  background-color: #A6A6A6;
  border-radius: 8px;
  padding: 8px 0;
  margin: 10px auto 0;
  text-align: center;
  font-size: 140%;
  font-weight: bold;
  color: #fff;
  cursor: pointer; }

#send-wrap .close:hover {
  opacity: 0.5;
  transition: opacity 400ms; }
