/* -------------------------------------------------------
Common Layout
---------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
button,
textarea {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input {
  box-sizing: border-box;
  font-size: 100%;
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"] {
  padding: 1em;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-transition: all .3s;
  transition: all .3s;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus {
  box-shadow: 0 0 4px #3498db;
  border: 1px solid #3498db;
}
input[type="radio"] {
  margin-right: 4px;
}
textarea {
  box-sizing: border-box;
  width: 94%;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-transition: all .3s;
  transition: all .3s;
}
textarea:focus {
  box-shadow: 0 0 4px #3498db;
  border: 1px solid #3498db;
}

select {
  padding: .5em;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 100%;
}

table .required {
  display: inline-block;
  margin-right: 8px;
  padding: 4px 8px;
  background-color: #e60033;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  font-style: normal;
}
table th .optional {
  display: inline-block;
  margin-right: 8px;
  padding: 4px 8px;
  background-color: #d3cbc6;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
}

.box_error {
	margin-top: 1em;
	padding: 1em;
	background-color: #ede4e1;
	line-height: 1.8;
}
.signup_att {
	font-size: 80%;
}

/* login */
.member_body {
  margin-top: 2em;
}
.member_body p {
  line-height: 1.8;
}
.member_body table {
  width: 100%;
  box-sizing: border-box;
  margin-top: 40px;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
}
.member_body table td table {
  margin-top: 0;
  border: 0;
}
.member_body table td table td {
  border: 0;
}

.member_body th,
.member_body td {
  line-height: 1.6;
}
.member_body th {
  box-sizing: border-box;
  background-color: #f5f5f5;
  font-weight: normal;
  text-align: left;
}
.member_body td a {
  text-decoration: underline;
}
.member_body .table_title + table {
  margin-top: 0;
}
.member_body td img {
  max-width: 100%;
}

.login_main_btn {
  margin-top: 24px;
  text-align: center;
}
.login_main_btn button {
  padding: 0 3em;
  background-color: #007bbb;
  border: 0;
  border-radius: 20px;
  color: #fff;
  font-size: 16px;
  line-height: 40px;
}

.pageback_btn {
  margin-top: 24px;
  text-align: center;
}
.pageback_btn button {
  padding: 0 3em;
  background-color: #a99e93;
  border: 0;
  border-radius: 20px;
  color: #fff;
  font-size: 16px;
  line-height: 40px;
}
.pageback_btn a {
  display: inline-block;
  padding: 0 3em;
  background-color: #a99e93;
  border: 0;
  border-radius: 20px;
  color: #fff;
  font-size: 16px;
  line-height: 40px;
}

.member_body .pass_miss {
  margin-top: 2em;
  text-align: center;
}
.member_body .pass_miss a {
  text-decoration: underline;
}

.new_regi {
  margin-top: 2em;
  text-align: center;
}
.new_regi a {
  display: inline-block;
  padding: 0 2em;
  background-color: #fff;
  border: 1px solid #00a3af;
  border-radius: 20px;
  color: #00a3af;
  line-height: 40px;
}
.new_regi a:hover {
  background-color: #a2d7dd;
  color: #fff;
}
.member_body input + input {
  margin-left: 8px;
}
.member_body select + p,
.member_body input + p {
  margin-top: 1em;
}

.member_body textarea {
  width: 100%;
  height: 8em;
  box-sizing: border-box;
  padding: .5em 1em;
}

.address_select {
  border: 1px solid #ddd;
}
.address_select_title {
  padding: 1em;
  background-color: #544a47;
  color: #fff;
}
.address_select_body {
  padding: 1em;
}

tr.responsiveDesignSectionInputHeader th,
tr.responsiveDesignSectionUserHeaderTop th {
  background-color: #544a47;
  color: #fff;
}
.addressWrap + .addressWrap {
  margin-top: 1em;
}

.note {
  font-size: 90%;
}

/* history */
.member_menu {
  display: flex;
  justify-content: center;
  padding: 1em 0;
  background-color: #fbfaf5;
}
.member_menu .m_m {
  margin: 0 1em;
}
.history_body table {
  width: 100%;
}
.history_body th {
  padding-bottom: 1em;
  border-bottom: 1px solid #a99e93;
  font-weight: normal;
  text-align: center;
}

.history_body th.day {width: 10em;}
.history_body th.quantity {width: 5em;}
.history_body th.price {width: 12em;}
.history_body th.del {width: 6em;}
.history_body td {
  padding: 16px;
  border-bottom: 1px dotted #a99e93;
  vertical-align: middle;
  text-align: center;
}

.totalamount {
  /*border-top: 1px dotted #a99e93;*/
  font-size: 140%;
  font-weight: bold;
  text-align: right;
}
.totalamount_final {
  text-align: right;
}
.totalamount_final .shipping,
.totalamount_final .point_used {
  margin-top: .5em;
}
.totalamount_final .total-amount {
  margin-top: 1em;
}

.totalamount .total,
.totalamount_final .total {
  display: inline-block;
  margin-right: 16px;
  font-size: 14px;
  font-weight: normal;
}
.totalamount_final .point_op {
  margin-top: 2em;
}
.totalamount_final .point_op .use_point {
  margin-top: 16px;
}
.totalamount_final .point_op .use_point input {
  width: 6em;
  box-sizing: border-box;
}

.totalamount .yen,
.totalamount_final .yen {
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
}
.totalamount_final .price {
  font-size: 150%;
  font-weight: bold;
}

.table_title {
  padding: 1em;
  background-color: #a99e93;
  color: #fff;
}

.payment_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2em;
}
.payment_wrap.single {
  justify-content: center;
}
.payment_wrap .continue a {
  display: inline-block;
  padding: 1.2em 1em;
  background-color: #fff;
  border: 1px solid #a99e93;
  border-radius: 8px;
  color: #544a47;
}
.payment_wrap .continue a:hover {
  background-color: #ede4cd;
}
.payment_wrap .add_btn a,
.payment_wrap .add_btn button {
  display: inline-block;
  padding: 1.2em 2.5em;
  background-color: #a22041;
  border-radius: 8px;
  color: #fff;
  opacity: 1;
  transition: all .3s;
}
.payment_wrap .add_btn button {
  font-size: 100%;
}
.payment_wrap .add_btn a:hover {
  opacity: .5;
}

.history_pn {
  margin-top: 2em;
  font-size: 14px;
  text-align: center;
}
.fav_body .history_pn {
  padding-top: 2em;
  border-top: 1px dotted #a99e93;
}

.page_mv {
  margin-top: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page_mv .prev,
.page_mv .next,
.page_mv button {
  margin: 0 8px;
}
.page_mv .prev a,
.page_mv .next a,
.page_mv button {
  display: block;
  width: 32px;
  border: 1px solid #a99e93;
  border-radius: 3px;
  color: #544a47;
  line-height: 32px;
}
.page_mv .prev a:hover,
.page_mv .next a:hover,
.page_mv button:hover {
  background-color: #ede4cd;
}
.page_mv button.now {
  background-color: #f5f2ed;
  border-color: #f5f2ed;
}

.cart_page_mv {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
}
.cart_page_mv.single {
  justify-content: center;
}
.cart_page_mv .prev {
  text-align: left;
}
.cart_page_mv .next {
  text-align: right;
}
.cart_page_mv .prev_btn,
.cart_page_mv .next_btn {
  display: inline-block;
  padding: .8em 2em;
  border-radius: 4px;
  color: #fff;
  font-size: 16px;
}
.cart_page_mv button {
  display: inline-block;
  padding: .8em 2em;
  border-radius: 4px;
  color: #fff;
  font-size: 16px;
}
.cart_page_mv .prev button {
  background-color: #666;
}
.cart_page_mv .next button {
  background-color: #1e50a2;
}

.cart_page_mv.single .prev_btn {
  font-size: 14px;
}


/* btn */
.back_btn {
  margin-top: 2em;
  text-align: center;
}
.back_btn a {
  display: inline-block;
  padding: 0 2em;
  background-color: #fff;
  border: 1px solid #a99e93;
  border-radius: 20px;
  color: #544a47;
  line-height: 40px;
}
.back_btn a:hover {
  background-color: #ede4cd;
}
.taikai_btn {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
.taikai_btn .ng,
.taikai_btn .ok {
  margin: 0 16px;
}
.taikai_btn .ng a,
.taikai_btn .ok button {
  display: inline-block;
  padding: 0 2em;
  background-color: #fff;
  border: 1px solid #a99e93;
  border-radius: 20px;
  color: #544a47;
  font-family: sans-serif;
  line-height: 40px;
}
.taikai_btn .ok button {
  background-color: #333;
  border-color: #333;
  color: #fff;
}

.m_m a {
  display: inline-block;
  padding: .5em 2em;
  background-color: #fff;
  border: 1px solid #a99e93;
  border-radius: 4px;
  color: #544a47;
}
.m_m a:hover {
  background-color: #ede4cd;
}
.m_m.withdraw a {
  background-color: #544a47;
  border-color: #544a47;
  color: #fff;
}

.del_btn {
  padding: .5em 1em;
  background-color: #333;
  border: 0;
  border-radius: 3px;
  color: #fff;
  font-size: 12px;
  letter-spacing: .1em;
  opacity: 1;
  transition: all .3s;
}
.del_btn:hover {
  opacity: .5;
}

/* -------------------------------------------------------
for Mobile
---------------------------------------------------------- */
@media screen and (max-width:1024px){
	input.ipt_sss {
		width: 5em;
	}
  input.ipt_ss {
    width: 30%;
  }
  input.ipt_ms {
    width: 40%;
  }
  input.ipt_ls,
  input.inputLarge {
    width: 100%;
  }

  .login_wrap {
    margin-top: 40px;
    padding: 0 16px;
  }
  .wide_wrap.mt40 {
    margin-top: 40px;
  }
  .wide_wrap.mt40pd16 {
    margin-top: 40px;
    padding: 0 16px;
  }

  .member_body tr,
  .member_body th,
  .member_body td {
    display: block;
  }
  .member_body th {
    padding: 1em;
    border-right: 1px solid #ddd;
  }
  .member_body td {
    padding: 1em;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
  }

  .member_body td .example {
    display: block;
  }

  .member_menu {
    margin-bottom: 40px;
  }
  .m_m a {
    padding: .8em 1em;
    font-size: 14px;
  }

  .history_body {
    margin-top: 24px;
  }
  .history_body table {
    scrollbar-width: none;
  }
  .history_body table::-webkit-scrollbar {
    display: none;
    -webkit-appearance: none;
  }
  .history_body th {
    font-size: 90%;
  }
  .history_body .yen {
    font-size: 12px;
  }
  .item_wrap {
    display: flex;
    text-align: left;
  }
  .item_wrap .item_img {
    width: 40px;
    height: 40px;
    margin-right: 16px;
    overflow: hidden;
  }
  .item_wrap .item_img img {
    width: auto;
    height: 100%;
  }
  .item_wrap .item_name {
    flex: 1;
    white-space: normal;
    font-size: 90%;
    line-height: 1.6;
  }

  .totalamount,
  .totalamount_final {
    margin-top: 32px;
    padding: 0 8px;
  }

  .payment_wrap {
    padding: 0 8px;
  }
  .payment_wrap .continue a,
  .payment_wrap .add_btn a {
    font-size: 90%;
  }

  .address_select {
    margin-top: 40px;
  }
  .address_select_body label {
    display: block;
  }
  .address_select_body label + label {
    margin-top: 1em;
  }

}/* end Mobile */
/* -------------------------------------------------------
for SmartPhone
---------------------------------------------------------- */
@media screen and (max-width:599px){
  .member_menu .m_m {
    margin: 0 4px;
  }
  .member_menu .m_m a {
    line-height: 1.2;
  }

  .history_body table {
    display: block;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    min-width: 100%;
    table-layout: fixed;
  }
  .history_body th.day {
    width: 10em;
    min-width: 10em;
  }
  .history_body th.quantity {
    width: 5em;
    min-width: 5em;
  }
  .history_body th.price {
    width: 12em;
    min-width: 12em;
  }
  .history_body th.name {
    width: 30em;
    min-width: 30em;
  }
  .history_body th.del {
    width: 6em;
    min-width: 6em;
  }

  .cart_body {
    margin-top: 40px;
  }
  .fav_body {
    margin-top: 24px;
  }
  .incart_item + .incart_item {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #a99e93;
  }
  .cart_body .incart_item,
  .fav_body .incart_item {
    padding-right: 8px;
    padding-left: 8px;
  }
  .item_flx_l,
  .item_flx_r {
    display: flex;
  }
  .item_flx_r {
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px dotted #a99e93;
    align-items: center;
  }

  .incart_item .item_name {
    flex: 1;
    padding-left: 16px;
    font-size: 90%;
    line-height: 1.6;
  }
  /*
  .incart_item .quantity,
  .incart_item .amount,
  .incart_item .itemdel {
    width: 33%;
    text-align: center;
  }
  */
  .incart_item .quantity,
  .incart_item .itemdel {
    width: 25%;
    text-align: center;
  }
  .incart_item .amount {
    width: 50%;
    text-align: center;
  }

  .fav_body .incart_item .amount,
  .fav_body .incart_item .itemdel {
    width: 50%;
    box-sizing: border-box;
  }

  .incart_item .item_img {
    width: 40px;
    height: 40px;
    overflow: hidden;
  }
  .incart_item .item_img img {
    width: auto;
    height: 100%;
  }
  .incart_item .quantity .count {
    margin-top: 16px;
  }
  .incart_item .quantity .count form {
    display: inline-block;
  }
  .incart_item .quantity .count form button {
    display: inline-block;
    width: 24px;
    background-color: #333;
    border-radius: 3px;
    color: #fff;
    line-height: 24px;
    text-align: center;
  }
  .incart_item .amount .yen {
    font-size: 12px;
  }
  .totalamount {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #a99e93;
  }

  .fav_body .history_pn {
    border-top: 1px solid #a99e93;
  }

}/* end SmartPhone */

/* -------------------------------------------------------
for TAB
---------------------------------------------------------- */
@media screen and (min-width:600px) and (max-width:1024px){
  .cart_body,
  .fav_body {
    margin-top: 24px;
  }
  .incart_item + .incart_item {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px dotted #a99e93;
  }
  .cart_body .incart_item,
  .fav_body .incart_item {
    display: table;
    width: 100%;
    box-sizing: border-box;
    padding-right: 8px;
    padding-left: 8px;
  }
  .item_flx_l,
  .item_flx_r {
    display: table-cell;
    vertical-align: top;
  }
  .item_flx_r {
    width: 22em;
  }
  .fav_body .item_flx_r {
    width: 16em;
  }
  .incart_item .item_img,
  .incart_item .item_name,
  .incart_item .quantity,
  .incart_item .amount,
  .incart_item .itemdel {
    display: table-cell;
    vertical-align: top;
  }
  .incart_item .item_img {
    width: 80px;
    height: 80px;
    overflow: hidden;
  }
  .incart_item .item_img img {
    width: auto;
    height: 100%;
  }
  .incart_item .quantity {
    width: 6em;
    text-align: center;
  }
  .incart_item .amount {
    width: 10em;
    text-align: center;
  }
  .incart_item .amount .yen {
    font-size: 12px;
  }
  .incart_item .itemdel {
    width: 6em;
    text-align: center;
  }
  .incart_item .item_name {
    padding-left: 24px;
    font-size: 90%;
    line-height: 1.6;
  }
  .incart_item .quantity .count {
    margin-top: 16px;
  }
  .incart_item .quantity .count form {
    display: inline-block;
  }
  .incart_item .quantity .count form button {
    display: inline-block;
    width: 24px;
    background-color: #333;
    border-radius: 3px;
    color: #fff;
    line-height: 24px;
    text-align: center;
  }

  .totalamount {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px dotted #a99e93;
  }

}/* end TAB */

/* -------------------------------------------------------
for PC
---------------------------------------------------------- */
@media print, screen and (min-width:1025px){
  input.ipt_s {
    width: 20%;
  }
  input.ipt_m {
    width: 45%;
  }
  input.ipt_l,
  input.inputLarge {
    width: 100%;
  }

  .login_wrap {
    width: 800px;
    margin: 0 auto;
  }
  .member_body {
    margin-top: 40px;
  }

  .member_body th,
  .member_body td {
    padding: 1em;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    vertical-align: middle;
  }
  .member_body th {
    width: 30%;
  }

  .wide_wrap {
    width: 1025px;
    margin: 0 auto;
  }
  .member_menu {
    margin-bottom: 40px;
  }

  .history_body {
    margin-top: 40px;
  }
  .history_body td {
    font-family: sans-serif;
  }
  .history_body .yen {
    font-size: 12px;
  }

  .cart_body {
    margin-top: 40px;
  }
  .fav_body {
    margin-top: 24px;
  }
  .incart_item + .incart_item {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px dotted #a99e93;
  }
  .cart_body .incart_item {
    display: table;
    width: 100%;
  }
  .item_flx_l,
  .item_flx_r {
    display: table-cell;
  }
  .item_flx_r {
    width: 24em;
  }
  .fav_body .item_flx_r {
    width: 16em;
  }
  .incart_item .item_img,
  .incart_item .item_name,
  .incart_item .quantity,
  .incart_item .amount,
  .incart_item .itemdel {
    display: table-cell;
  }
  .incart_item .item_img {
    width: 80px;
    height: 80px;
    margin-right: 16px;
    overflow: hidden;
  }
  .incart_item .item_img img {
    width: auto;
    height: 100%;
  }
  .incart_item .quantity {
    width: 6em;
    text-align: center;
  }
  .incart_item .amount {
    width: 12em;
    text-align: center;
  }
  .incart_item .amount span {
    font-size: 12px;
  }
  .incart_item .itemdel {
    width: 6em;
    text-align: center;
  }
  .incart_item .item_name {
    padding-left: 24px;
    line-height: 1.6;
  }
  .incart_item .quantity .count {
    margin-top: 16px;
  }
  .incart_item .quantity .count form {
    display: inline-block;
  }
  .incart_item .quantity .count form button {
    display: inline-block;
    width: 24px;
    background-color: #333;
    border-radius: 3px;
    color: #fff;
    line-height: 24px;
    text-align: center;
  }

  .item_wrap {
    display: flex;
    text-align: left;
  }
  .item_wrap .item_img {
    width: 80px;
    height: 80px;
    margin-right: 16px;
    overflow: hidden;
  }
  .item_wrap .item_img img {
    width: auto;
    height: 100%;
  }
  .item_wrap .item_name {
    flex: 1;
    font-size: 90%;
    line-height: 1.6;
  }

  .totalamount {
    margin-top: 24px;
    border-top: 1px dotted #a99e93;
  }
  .totalamount,
  .totalamount_final {
    padding-top: 24px;
  }


  .address_select {
    margin-top: 40px;
  }
  .address_select_body label + label {
    margin-left: 2em;
  }

}/* end PC */
