/**
 * Main CSS Stylesheet
 *
 * @package templateSystem
 * @copyright Copyright 2003-2007 Zen Cart Development Team
 * @copyright Portions Copyright 2003 osCommerce
 * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
 * @version $Id: stylesheet.css 5952 2007-03-03 06:18:46Z drbyte $
 */

/* -------------------------------------------------------------------------- */
/*	0. CSS Reset
/* -------------------------------------------------------------------------- */

* {
	box-sizing: border-box;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

body {
	line-height: 0;
	overflow: hidden;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

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

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

caption,
thead,
tbody,
tfoot,
th,
td {
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

html {
	overflow-y: scroll;
	font-size: 62.5%;
}

a:focus {
	outline: thin dotted;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
	display: block;
}

audio,
canvas,
video {
	display: inline-block;
}

audio:not([controls]) {
	display: none;
}

del {
	color: #333;
}

ins {
	background: #fff9c0;
	text-decoration: none;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin: 10px 0;
	margin: 1rem 0;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

small {
	font-size: smaller;
}

img {
	border: 0;
	-ms-interpolation-mode: bicubic;
}

div,
span {
	word-break: break-all;
}


/* -------------------------------------------------------------------------- */
/*	1. Document Setup
/* -------------------------------------------------------------------------- */


html {
	font-size: 62.5%; /* 1rem = 10px */
	scroll-behavior: smooth;
}

body {
	background: #e8e8e8;
	box-sizing: border-box;
	color: #333;
	font-family: Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	font-size: 1.4rem;
	line-height: 1.6;
	text-align: left;
}

/* Clearing ---------------------------------- */

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


/* -------------------------------------------------------------------------- */
/*	2. Element Base
/* ---------------------------------------------*---------------------------- */


p {
	margin: 0 0 3.0rem;
}

a {
	color: #dc1e5f;
	text-decoration: underline;
}

a:hover,
a:focus {
	color: #dc1e5f;
	text-decoration: underline;
}

hr {
	border-style: solid;
	border-width: 0.1rem 0 0 0;
	border-color: #8b999f;
	margin: 4.0rem 0;
}

img {
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

/* Alignment ------------------------------------- */

.left {
	text-align: left !important;
}

.center {
	text-align: center !important;
}

.right {
	text-align: right !important;
}

/* Inputs ------------------------------------ */

label {
	display: block;
	font-size: 1.4rem;
}

label.inline,
label.radioButtonLabel,
input[type="checkbox"] + label {
	display: inline;
	margin-left: 0.5rem;
	margin-right: 2.5rem;
}

input,
select,
textarea,
button,
.button {
	font-family: Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	font-size: 1.4rem;
	line-height: 1.6;
}

code,
input[type="url"],
input[type="email"],
input[type="tel"] {
	direction: ltr;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="week"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea {
	background: #fff;
	border-radius: 0;
	border: solid 1px #99a5a9;
	box-shadow: none;
	color: #000;
	margin: 0;
	max-width: 100%;
	padding: 0.5rem 1.8rem;
}

textarea.normal {
	height: 25.0rem;
}

input::-webkit-input-placeholder {
	line-height: normal;
}

input:-ms-input-placeholder {
	line-height: normal;
}

input::-moz-placeholder {
	line-height: revert; /* Reset to the value from the user-agent stylesheet. */
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	display: none;
}

button,
.button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	background: #dc1e5f;
	border: none;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 1.4rem;
	margin: 0;
	opacity: 1;
	padding: 0.5rem 1.8rem;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	-webkit-appearance: none;
}

button:focus,
button:hover,
.button:focus,
.button:hover,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover {
	opacity: 0.8;
	text-decoration: none;
}

input[type="search"]:focus {
	outline: thin dotted;
	outline-offset: -4px;
}

/* Tables ------------------------------------ */

table {
	border: solid 1px #e8e8e8;
	empty-cells: show;
	font-size: 1.4rem;
	margin: 4.0rem 0;
	max-width: 100%;
	width: 100%;
}

table th,
table td {
	border: solid 1px #e8e8e8;
	padding: 0.5rem;
	vertical-align: middle;
}

table th {
	background: #dc1e5f;
	color: #fff;
	font-weight: normal;
}


/* -------------------------------------------------------------------------- */
/*	3. Helper Classes
/* -------------------------------------------------------------------------- */


/* Text Decorations ------------------------------------ */

.mini {
	font-size: 70% !important;
}

.alert {
	color: #f00 !important;
}

.pink {
	color: #dc1e5f !important;
}

.mb30 {
	margin-bottom: 3.0rem !important;
}

.mt30 {
	margin-top: 3.0rem !important;
}


/* Buttons ------------------------------------ */

button.cart-button,
input[type="button"].cart-button,
input[type="submit"].cart-button {
	padding: 1.5rem 3.0rem;
}

button.cart-button:hover,
button.cart-button:focus,
input[type="button"].cart-button:hover,
input[type="button"].cart-button:focus,
input[type="submit"].cart-button:hover,
input[type="submit"].cart-button:focus {
	opacity: 1;
}

button.recommend-button,
input[type="button"].recommend-button,
input[type="submit"].recommend-button {
	background: #ff9e02;
	padding: 1.5rem 3.0rem;
}

a.side-recommend-button,
a.side-restock-button {
	background: url("../images/check_white_right.png") no-repeat right 0.5rem center #ff9e02;
	color: #fff;
	display: block;
	font-size: 1.4rem;
	padding: 0.8rem 1.8rem;
	text-align: center;
	text-decoration: none;
}

a.side-restock-button {
	background: url("../images/check_white_right.png") no-repeat right 0.5rem center #00ada2;
}

a.side-recommend-button:hover,
a.side-restock-button:hover {
	color: #fff;
	opacity: 0.7;
	text-decoration: none;
}


/* -------------------------------------------------------------------------- */
/*	4.	Site Header
/* -------------------------------------------------------------------------- */


#header-wrapper {
	background: #fff;
	border-bottom: solid 3px #e02d60;
	padding: 1.5rem 0;
}

#header-wrapper.fixed {
	padding: 0.5rem 0 0;
	position: fixed;
	width: 100%;
	z-index: 9999;
}

#header-logo {
	float: left;
	margin-left: 5.0rem;
}

#header-wrapper.fixed #header-logo {
	width: 25.0rem;
}

#header-menu {
	float: right;
	margin-right: 5.0rem;
	width: 58%;
}

#header-navi {
	float: right;
	padding-top: 1.0rem;
	width: 40%;
}

#header-wrapper.fixed #header-navi {
	padding-top: 0.2rem;
}

#header-navi li {
	float: left;
	width: 33%;
}

#header-navi li:last-child {
	width: 34%;
}

#header-navi li a {
	color: #000;
	display: block;
	text-align: center;
	text-decoration: none;
}

#header-navi li a:hover {
	color: #dc1e5f;
	text-decoration: none;
}

#header-navi li a i {
	font-size: 3.6rem;
}

#header-search {
	float: left;
	padding-top: 1.5rem;
	text-align: right;
	width: 60%;
}

#header-wrapper.fixed #header-search {
	padding-top: 0.5rem;
}

#header-search-form {
	background: #d0225c;
	border: solid 1px #d0225c;
	border-radius: 2.0rem;
	display: inline-block;
	height: 4.0rem;
	overflow: hidden;
	width: 43.0rem;
}

#header-search-form #header-search-select {
	float: left;
	height: 100%;
	width: 8.0rem;
}

#header-search-form #header-search-select select {
	background: #eaeaea;
	border: none;
	height: 100%;
	padding: 0.5rem 1.0rem;
	width: 100%;
	vertical-align: middle;
}

#header-search-form #header-search-keyword {
	float: left;
	height: 100%;
	width: 27.0rem;
}

#header-search-form #header-search-keyword input[type="text"] {
	border: none;
	height: 100%;
	vertical-align: middle;
	width: 100%;
}

#header-search-form #header-search-submit {
	float: left;
	height: 100%;
	text-align: center;
	width: 7.7rem;
}

#header-search input[type="submit"] {
	background: #d0225c;
	color: #fff;
	cursor: pointer;
	font-size: 2.8rem;
	height: 100%;
	vertical-align: middle;
	width: 100%;
}


/* -------------------------------------------------------------------------- */
/*	5.	Main Structure
/* -------------------------------------------------------------------------- */


#main-wrapper {
	background: #fdeff4;
	padding: 3.0rem 0;
	width: 100%;
}

#main-and-left {
	float: left;
	width: 80%;
}

#main {
	float: right;
	width: 75%;
}

#main-left {
	float: left;
	width: 25%;
}

#main-right {
	float: right;
	width: 20%;
}

#main-and-left.no-sidebar {
	float: none;
	margin: 0 auto;
}

#main-and-left.no-sidebar #main {
	float: none;
	width: auto;
}


/* -------------------------------------------------------------------------- */
/*	6.	Main Content
/* -------------------------------------------------------------------------- */


/* Common */

.center-content {
	margin: 0 1.0rem;
}

.main-content-wrap {
	background: #fff;
	box-shadow: 0.3rem 0.3rem 0.3rem rgba(0, 0, 0, 0.1);
	padding: 1.5rem 0;
}

#breadcrumb {
	margin: 0 1.0rem 3.0rem;
}

.page-title {
	border-left: solid 0.3rem #dc1e5f;
	font-size: 1.8rem;
	font-weight: bold;
	margin: 0 1.0rem 1.5rem;
	padding-left: 1.5rem;
}

.main-content {
	border-top: solid 0.2rem #efefef;
	padding: 2.5rem;
}

.content-title {
	color: #dc1e5f;
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 3.0rem;
}

.content-title-simple {
	color: #dc1e5f;
	margin-bottom: 3.0rem;
}

.main-information {
	background: #efefef;
	margin-bottom: 3.0rem;
	padding: 1.5rem 3.0rem;
}

.main-information p:last-child {
	margin-bottom: 0;
}

.sub-box {
	background: #efefef;
	margin-bottom: 3.0rem;
	padding: 1.5rem 0;
}

.sub-box-content {
	padding: 2.5rem;
}

.form-box {
	border: solid 1px #efefef;
	margin-bottom: 3.0rem;
	padding: 2.5rem;
}

.form-box p:last-child {
	margin-bottom: 0;
}

/* Top */

#mainvisual {
	margin-bottom: 3.0rem;
}

#mainvisual li {
	text-align: center;
}

a.index-list-link {
	color: #100a5a;
	font-size: 1.4rem;
	margin-left: 2.0rem;
	text-decoration: none;
}

a.index-list-link:hover,
a.index-list-link:focus {
	color: #dc1e5f;
	font-size: 1.4rem;
	margin-left: 2.0rem;
	text-decoration: none;
}

#news {
	height: 30.0rem;
	overflow: scroll;
}

#news-list {
	margin-bottom: 3.0rem;
}

#news li,
#news-list li {
	border-bottom: solid 1px #efefef;
	padding: 1.0rem 3.0rem;
}

#news-list li:first-child {
	border-top: solid 1px #efefef;
}

#news li:last-child {
	border-bottom: none;
}

#news li .news-title-box .news-date,
#news-list li .news-title-box .news-date {
	float: left;
	margin: 0;
	width: 18%;
}

#news li .news-title-box .news-title,
#news-list li .news-title-box .news-title {
	margin: 0;
}

#news li .news-title-box .news-date+.news-title,
#news-list li .news-title-box .news-date+.news-title {
	float: left;
	width: 82%;
}

#news li .news-title-box .news-title a,
#news-list li .news-title-box .news-title a {
	color: #333;
	text-decoration: underline;
}

#news li .news-title-box .news-title a:hover,
#news li .news-title-box .news-title a:focus,
#news-list li .news-title-box .news-title a:hover,
#news-list li .news-title-box .news-title a:focus {
	color: #dc1e5f;
	text-decoration: underline;
}

#news li .news-comment,
#news-list li .news-comment {
	color: #666;
	margin-top: 1.5rem;
}

.ranking-title-box {
	margin: 0 1.0rem 1.5rem;
}

.ranking-title-box .page-title {
	display: inline-block;
	margin: 0 3.0rem 0 0;
}

.ranking-title-box .ranking-period {
	display: inline-block;
	font-size: 0;
}

.ranking-menu {
	background: #efefef;
	cursor: pointer;
	display: inline-block;
	font-size: 1.4rem;
	padding: 0.5rem 1.0rem;
	text-align: center;
}

.ranking-menu:hover,
.ranking-menu.current {
	background: #dc1e5f;
	color: #fff;
}

.ranking-title-box .ranking-period .ranking-menu {
	width: 15.0rem;
}

.ranking-category {
	border-bottom: solid 0.2rem #dc1e5f;
	font-size: 0;
}

.ranking-category .ranking-menu {
	margin: 0.5rem 1% 0 0;
	min-width: 10%;
}

#ranking-area {
	border-top: none;
}

#ranking li {
	float: left;
	height: 40.0rem;
	margin-bottom: 3.0rem;
	width: 20%;
}

#ranking p,
#ranking h3 {
	margin: 0 0 1.5rem;
	padding: 0 1.0rem;
	text-align: center;
}

#ranking p.ranking-number {
	font-size: 2.0rem;
	height: 3.1rem;
	line-height: 3.1rem;
	text-align: left;
}

#ranking p.ranking-number.no1,
#ranking p.ranking-number.no2,
#ranking p.ranking-number.no3 {
	padding: 0 1.0rem 0 3.5rem;
}

#ranking p.ranking-number.no1 {
	background: url("../images/ranking1.jpg") no-repeat left center;
}

#ranking p.ranking-number.no2 {
	background: url("../images/ranking2.jpg") no-repeat left center;
}

#ranking p.ranking-number.no3 {
	background: url("../images/ranking3.jpg") no-repeat left center;
}

#ranking h3 {
	font-weight: normal;
	height: 8.0rem;
	margin: 0;
	text-align: left;
}

#ranking p.ranking-price {
	color: #dc1e5f;
}

#ranking p.ranking-description {
	height: 8.0rem;
	margin: 0;
}

#upcoming {
	height: 30.0rem;
	overflow: scroll;
}

#upcoming li {
	border-bottom: solid 1px #efefef;
	padding: 1.0rem 3.0rem;
}

#upcoming li:last-child {
	border-bottom: none;
}

#upcoming li a {
	color: #333;
	text-decoration: none;
}

#upcoming li a:hover,
#upcoming li a:focus {
	color: #333;
	text-decoration: underline;
}

#abolition {
	height: 30.0rem;
	overflow: scroll;
}

#abolition li {
	border-bottom: solid 1px #efefef;
	padding: 1.0rem 3.0rem;
}

#abolition li:last-child {
	border-bottom: none;
}

.index-list-date {
	margin-right: 3.0rem;
}

/* Search List */

#indexProductListCatDescription {
	margin-bottom: 3.0rem;
}

#product-list-narrow-down {
	border: solid 1px #efefef;
	margin-bottom: 2.0rem;
	padding: 1.5rem 3.0rem;
}

#product-list-narrow-down .content-title-simple {
	float: left;
	margin: 0 2.0rem 0 0;
}

#product-list-narrow-down #product-list-keyword-search {
	float: left;
}

#product-list-narrow-down #product-list-keyword-search select {
	background: #eaeaea;
	padding: 0.5rem 1.0rem;
	width: 8.0rem;
}

#search-condition {
	border: solid 1px #efefef;
	margin-bottom: 2.0rem;
	padding: 1.5rem 3.0rem;
}

#search-condition .content-title-simple {
	margin-bottom: 1.5rem;
}

#search-condition p {
	margin-bottom: 0;
}

#product-listing-menu {
	margin-bottom: 2.0rem;
	padding: 0 3.0rem;
}

#product-listing-menu #show-menu {
	float: left;
	margin: 0;
	width: 44%;
}

#product-listing-menu #show-menu span {
	margin: 0 1.0rem;
	padding: 0.3rem 1.0rem;
}

#product-listing-menu #show-menu .current {
	background: #dc1e5f;
	color: #fff;
}

#product-listing-menu #sort-menu {
	float: left;
	margin: 0;
	text-align: right;
	width: 28%;
}

#product-listing-menu #per-page-menu {
	float: left;
	margin: 0;
	text-align: right;
	width: 28%;
}

#product-listing-menu #sort-menu select,
#product-listing-menu #per-page-menu select {
	padding: 0.5rem 1.0rem;
	width: 9.0rem;
}

.product-listing-pager {
	border-bottom: solid 1px #efefef;
	border-top: solid 1px #efefef;
	margin-bottom: 3.0rem;
	padding: 1.5rem 3.0rem;
}

.product-listing-pager .number-display {
	float: left;
	margin: 0;
	width: 50%;
}

.product-listing-pager .pager {
	float: left;
	margin: 0;
	text-align: right;
	width: 50%;
}

#product-listing.detail li {
	display: table;
	margin-bottom: 3.0rem;
	width: 100%;
}

#product-listing.detail li .product-image {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	width: 20%;
}

#product-listing.detail li .product-image img {
	max-width: 96%;
}

#product-listing.detail li .product-data {
	display: table-cell;
	vertical-align: middle;
	width: 55%;
}

#product-listing.detail li .product-cart {
	display: table-cell;
	vertical-align: middle;
	width: 25%;
}

#product-listing li input[type="number"] {
	padding: 0.2rem 1.5rem;
	width: 8.0rem;
}

#product-listing li button.cart-button,
#product-listing li button.recommend-button {
	padding: 0.5rem 1.0rem;
}

#product-listing li button.cart-button.pushdown,
#product-listing li button.recommend-button.pushdown {
	box-shadow: 0.3rem 0.3rem 0.3rem 0.3rem rgba(0, 0, 0, 0.3) inset;
	padding: 0.8rem 0.7rem 0.2rem 1.3rem;
}

#product-listing li button.cart-button i,
#product-listing li button.recommend-button i {
	margin-right: 0.3rem;
}

#product-listing.simple li {
	float: left;
	width: 25%;
}

#product-listing.simple li .product-image {
	height: 20.0rem;
	margin-bottom: 1.5rem;
	padding: 0 1.0rem;
	text-align: center;
}

#product-listing.simple li .product-image img {
	max-height: 100%;
}

#product-listing.simple li .product-data {
	height: 8.0rem;
	padding: 0 1.0rem;
}

#product-listing.simple li .product-cart {
	height: 15.0rem;
	padding: 0 1.0rem;
	text-align: center;
}

/* Product Info */

.product-title {
	font-size: 2.4rem;
	font-weight: bold;
	margin-left: 1.5rem;
}

#product-image-box {
	margin-bottom: 3.0rem;
}

#product-image {
	float: left;
	text-align: center;
	width: 50%;
}

#product-image-box .sub-image-list {
	float: right;
	width: 50%;
}

#product-image-box .sub-image-list li {
	display: inline-block;
	margin: 0 3% 1.0rem 0;
	width: 30%;
}

#product-info-box #info-box {
	float: left;
	width: 55%;
}

#product-info-box #info-box #info-box-table {
	border: none;
	margin: 0 auto;
	width: 90%;
}

#product-info-box #info-box #info-box-table th,
#product-info-box #info-box #info-box-table td {
	background: transparent;
	border: none;
}

#product-info-box #info-box #info-box-table th {
	color: #333;
	width: 35%;
}

#pop-box a i {
	font-size: 2.4rem;
}

#product-info-box #cart-box {
	float: right;
	width: 45%;
}

#product-info-box #cart-box #cart-info {
	border: none;
	margin: 0 auto 3.0rem;
	width: 80%;
}

#product-info-box #cart-box #cart-info th,
#product-info-box #cart-box #cart-info td {
	background: transparent;
	border: none;
}

#product-info-box #cart-box #cart-info th {
	color: #333;
	width: 50%;
}

#product-info-box #cart-box #cart-info .price {
	color: #dc1e5f;
	font-size: 2.3rem;
	font-weight: bold;
}

#product-info-box #cart-box #cart-info input[type="number"],
#product-info-box #cart-box #cart-info select {
	padding: 0.2rem 0.5rem;
	width: 10.0rem;
}

#cart-button-box {
	margin: 0 auto;
	width: 80%;
}

#cart-button-box li#cart {
	margin-bottom: 3.0rem;
}

#cart-button-box li button.cart-button,
#cart-button-box li button.recommend-button {
	display: block;
	width: 100%;
}

#cart-button-box li button.cart-button.pushdown,
#cart-button-box li button.cart-button.pushdown {
	box-shadow: 0.3rem 0.3rem 0.3rem 0.3rem rgba(0, 0, 0, 0.3) inset;
	padding-top: 1.8rem;
	text-indent: 0.3rem;
}

#product-description {
	margin-bottom: 3.0rem;
}

#product-detail-info li {
	border-top: solid 1px #dadada;
	padding: 0.8rem 1.5rem;
}

#product-detail-info li:last-child {
	border-bottom: solid 1px #dadada;
}

#product-detail-info li .info-heading,
#product-detail-info li .info-content {
	display: block;
	float: left;
	width: 35%;
}

#product-detail-info li .info-content {
	width: 65%;
}

.main-content-wrap.relational-products {
	margin-top: 3.0rem;
}

/* Shopping Cart */

.cart-information {
	border: solid 1px #efefef;
	color: #838383;
	margin-bottom: 3.0rem;
	padding: 1.5rem 3.0rem;
}

.cart-information p:last-child {
	margin-bottom: 0;
}

#cart-content th,
#cart-content td {
	text-align: center;
	vertical-align: middle;
}

#cart-content .cart-title-delete {
	width: 10%;
}

#cart-content .cart-title-image {
	width: 15%;
}

#cart-content .cart-title-products {
	width: 36%;
}

#cart-content .cart-title-price {
	width: 12%;
}

#cart-content .cart-title-quantity {
	width: 15%;
}

#cart-content .cart-title-total {
	width: 12%;
}

#cart-content .cart-content-products {
	text-align: left;
}

#cart-content .cart-content-quantity input[type="number"] {
	padding: 0.2rem 0.5rem;
	width: 90%;
}

#cart-total {
	background: #efefef;
	margin-bottom: 3.0rem;
	padding: 1.0rem 3.0rem;
	text-align: right;
}

#cart-total span {
	margin-left: 1.5rem;
}

.cart-caution {
	background: #fff5e0;
	border: solid 1px #f00;
	color: #f00;
	margin-bottom: 3.0rem;
	padding: 1.5rem 3.0rem;
}

.cart-error {
	background: #f00;
	color: #fff;
	margin-bottom: 3.0rem;
	padding: 1.5rem 3.0rem;
}

.payment-buttons {
	padding: 3.0rem;
	text-align: center;
}

.payment-buttons .back-button,
.payment-buttons .forward-button {
	background: url(../images/check_white_left.png) no-repeat left 0.5rem center #00ada2;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	margin: 0 3.0rem;
	padding: 1.5rem;
	text-align: center;
	text-decoration: none;
	width: 20.0rem;
}

.payment-buttons .forward-button {
	background: url(../images/check_white_right.png) no-repeat right 0.5rem center #dc1e5f;
}

.payment-buttons .back-button:hover,
.payment-buttons .forward-button:hover {
	color: #fff;
	opacity: 0.7;
	text-decoration: none;
}

.payment-buttons .back-button.cart-update-button.fal {
	background-image: none;
	line-height: inherit;
}

.payment-buttons .back-button.disabled,
.payment-buttons .forward-button.disabled {
	background: #b0b0b0;
	cursor: wait;
}

/* Checkout */

.checkout-title {
	border-bottom: solid 1px #dadada;
	border-top: solid 1px #dadada;
	margin-bottom: 3.0rem;
	padding: 0.8rem 3.0rem;
}

.checkout-address {
	margin-bottom: 3.0rem;
	padding: 0 3.0rem;
}

.checkout-content {
	margin-bottom: 3.0rem;
	padding: 0 3.0rem;
}

.checkout-content-total > li:last-child {
	margin-top: 3.0rem;
}

.checkout-content p:last-child {
	margin-bottom: 0;
}

#confirm-cart-content th,
#confirm-cart-content td {
	text-align: center;
	vertical-align: middle;
}

#confirm-cart-content .cart-title-products {
	width: 60%;
}

#confirm-cart-content .cart-title-quantity {
	width: 20%;
}

#confirm-cart-content .cart-title-total {
	width: 20%;
}

#confirm-cart-content .cart-content-products {
	text-align: left;
}

/* Account */

#account-information,
#account-information th,
#account-information td {
	background: transparent;
	border: none;
}

#account-information {
	margin: 0;
}

#account-information th {
	color: #333;
	font-weight: bold;
	width: 30%;
}

#accountDefault .payment-buttons .back-button,
#accountDefault .payment-buttons .forward-button {
	background-image: none;
}

/* History */

#history-content th,
#history-content td {
	text-align: center;
	vertical-align: middle;
}

#history-content .history-title-products {
	width: 61%;
}

#history-content .history-title-quantity {
	width: 12%;
}

#history-content .history-title-total {
	width: 15%;
}

#history-content .history-title-cart {
	width: 12%;
}

#history-content .history-content-products,
#history-content .history-content-cart {
	text-align: left;
}

#history-content .history-content-cart input[type="number"] {
	padding: 0.2rem 0.5rem;
	width: 90%;
}

#history-content .history-content-cart button.cart-button {
	font-size: 1.2rem;
	padding: 0.3rem 0.5rem;
}

#history-content .history-content-cart button.cart-button.pushdown {
	box-shadow: 0.2rem 0.2rem 0.2rem 0.2rem rgba(0, 0, 0, 0.3) inset;
	padding: 0.5rem 0.3rem 0.1rem 0.7rem;
}

.sub-info {
	color: #666;
}

#history-totals {
	margin: 0 3.0rem 3.0rem 0;
}

#history-totals li {
	margin-bottom: 1.0rem;
	text-align: right;
}

#history-totals li:last-child {
	margin-top: 3.0rem;
	margin-bottom: 0;
}

#history-status th,
#history-status td {
	text-align: center;
	vertical-align: middle;
}

#history-status .history-status-title-date {
	width: 20%;
}

#history-status .history-status-title-status {
	width: 20%;
}

#history-status .history-status-title-comments {
	width: 60%;
}

#history-status .history-status-content-comments {
	text-align: left;
}

/* Product Table */

.product-table-title {
	border-bottom: solid 1px #dadada;
	border-top: solid 1px #dadada;
	margin-bottom: 3.0rem;
	padding: 0.8rem 1.5rem;
}

.table-date {
	display: block;
	float: left;
	text-align: center;
	width: 12%;
}

.table-model {
	display: block;
	float: left;
	text-align: center;
	width: 20%;
}

.table-jan {
	display: block;
	float: left;
	text-align: center;
	width: 22%;
}

.table-name {
	display: block;
	float: left;
	width: 46%;
}

.product-table-content {
	margin-bottom: 3.0rem;
}

.product-table-content li {
	border-top: solid 1px #dadada;
	padding: 0.8rem 1.5rem;
}

.product-table-content li:last-child {
	border-bottom: solid 1px #dadada;
}

.product-table-content li span {
	font-size: 1.2rem;
}

/* Static pages */

#staticPagesDefault .main-content h1,
#staticPagesDefault .main-content h2,
#staticPagesDefault .main-content h3,
#staticPagesDefault .main-content h4,
#staticPagesDefault .main-content h5,
#staticPagesDefault .main-content h6,
#staticPagesDefault .main-content ul,
#staticPagesDefault .main-content ol {
	margin-bottom: 3.0rem;
}

#staticPagesDefault .main-content h1,
#staticPagesDefault .main-content h2 {
	padding: 0.3rem 1.0rem;
	font-size: 1.8rem;
	background: #eaeaea;
}

#staticPagesDefault .main-content h3,
#staticPagesDefault .main-content h4,
#staticPagesDefault .main-content h5,
#staticPagesDefault .main-content h6 {
	font-size: 1.6rem;
	color: #dc1e5f;
}

#staticPagesDefault .main-content ul,
#staticPagesDefault .main-content ol {
	margin-left: 2.5rem;
	list-style: disc;
}

#staticPagesDefault .main-content ol {
	list-style: decimal;
}

#staticPagesDefault .main-content ul li,
#staticPagesDefault .main-content ol li {
	margin-bottom: 0.8rem;
}

#staticPagesDefault table.carriage-list th {
	color: #333;
	background: #ffffe0;
}

#staticPagesDefault table.carriage-list th,
#staticPagesDefault table.carriage-list td {
	width: 25%;
}

#staticPagesDefault dl.questions dt {
	margin: 0 0 1.5rem 2.0rem;
	color: #dc1e5f;
	text-indent: -2.0rem;
}

#staticPagesDefault dl.questions dt::before {
	display: inline;
	content: "Q.";
	margin-right: 0.5rem;
	color: #dc1e5f;
}

#staticPagesDefault dl.questions dd {
	margin: 0 0 3.0rem 2.0rem;
	text-indent: -2.0rem;
}

#staticPagesDefault dl.questions dd::before {
	display: inline;
	content: "A.";
	margin-right: 0.5rem;
	color: #00ada2;
}

/*warnings, errors, messages*/
.required {
	margin-left: 1.5rem;
	padding: 0 0.3rem;
	font-size: 1.4rem;
	color: #fff;
	background: #f00;
}

.messageStackWarning,
.messageStackError,
.messageStackSuccess,
.messageStackCaution {
	line-height: 1.8em;
	margin-bottom: 3.0rem;
	padding: 0.5rem;
	border: 1px solid #9a9a9a;
}

.messageStackWarning,
.messageStackError {
	background-color: #ff0000;
	color: #ffffff;
}

.messageStackSuccess {
	background-color: #99FF99;
	color: #000000;
}

.messageStackCaution {
	background-color: #FFFF66;
	color: #000000;
}

.hiddenField {
	display: none;
}
.visibleField {
	display: inline;
}


/* -------------------------------------------------------------------------- */
/*	7. Sidebar
/* -------------------------------------------------------------------------- */


.side-content {
	background: #fff;
	box-shadow: 0.3rem 0.3rem 0.3rem rgba(0, 0, 0, 0.1);
	margin: 0 1.0rem 3.0rem;
	padding: 1.5rem 0 0;
}

.side-content-title {
	border-left: solid 0.3rem #dc1e5f;
	font-size: 1.6rem;
	font-weight: bold;
	margin: 0 1.0rem 1.5rem;
	padding-left: 1.5rem;
}

.sideBoxContent {
	border-top: solid 0.2rem #efefef;
	padding: 2.5rem;
}

#bannerBox2.side-content,
#bannerBox3.side-content {
	box-shadow: none;
	padding: 0;
}

#bannerBox2 .sideBoxContent,
#bannerBox3 .sideBoxContent {
	border-top: none;
	padding: 0;
}

#subBannerBox.side-content {
	padding: 0;
}

#categories.side-content {
	padding: 0;
}

#categories .sideBoxContent {
	border-top: none;
	padding: 0;
}

#side-categories li {
	background-position: 1.0rem center;
	background-repeat: no-repeat;
	background-size: 3.0rem auto;
	border-bottom: solid 1px #e0e0e0;
	height: 6.5rem;
}

#side-categories li:last-child {
	border-bottom: none;
}

#side-categories li.has-children {
	position: relative;
}

#side-categories li .text-box,
#side-categories li a {
	background: url("../images/check_right.png") no-repeat right 0.5rem center;
	color: #000;
	cursor: pointer;
	display: table;
	height: 100%;
	padding: 0 2.0rem 0 5.0rem;
	text-decoration: none;
	width: 100%;
}

#side-categories li a:hover {
	color: #000;
	text-decoration: none;
}

#side-categories li.has-children .text-box {
	left: 0;
	position: absolute;
	top: 0;
}

#side-categories li .text-box span,
#side-categories li a span {
	display: table-cell;
	height: 100%;
	vertical-align: middle;
}

#side-categories li .side-sub-categories {
	box-shadow: 0.3rem 0.3rem 0.3rem rgba(0, 0, 0, 0.1);
	display: none;
	left: 100%;
	position: absolute;
	top: 0;
	width: 100%;
}

#side-categories li .side-sub-categories li {
	background-color: #ffffe0;
	position: relative;
}

#side-categories li .side-sub-categories.level3 li {
	background-color: #e0ffff;
}

#calendar .side-calendar {
	margin: 0 0 3.0rem;
}

#calendar .side-calendar th,
#calendar .side-calendar td {
	border: solid 1px #fff;
	font-size: 1.2rem;
	padding: 0.3rem 0;
	text-align: center;
	vertical-align: middle;
}

#side-calendar-note {
	margin: 0;
	text-align: center;
}

.side-calendar-info {
	margin: 1.5rem 0 0;
}

#shoppingcart.fixed {
	margin: 0;
	position: fixed;
	right: 1.0rem;
	z-index: 9999;
}

.side-cart-date {
	margin-bottom: 1.0rem;
}

#shoppingcart.fixed .side-cart-date {
	display: none;
}

.side-cart-product {
	list-style: disc;
	margin-left: 1.5rem;
}

.side-cart-product li {
	margin-bottom: 1.0rem;
}

#shoppingcart.fixed .side-cart-product li.side-cart-new-product {
	display: none;
}

.side-cart-product li.side-cart-new-product-short {
	display: none;
}

#shoppingcart.fixed .side-cart-product li.side-cart-new-product-short {
	display: list-item;
}

.side-cart-subtotal {
	border-top: solid 1px #efefef;
	margin-bottom: 1.0rem;
	padding-top: 0.5rem;
	text-align: right;
}

.side-cart-carriage {
	color: #f00;
	text-align: center;
}

.side-cart-button {
	margin-top: 3.0rem;
	text-align: center;
}

.side-button {
	background: url(../images/check_white_right.png) no-repeat right 0.5rem center #dc1e5f;
	color: #fff;
	display: inline-block;
	padding: 1.2rem 2.5rem;
	text-align: center;
	text-decoration: none;
}

.side-button:hover {
	color: #fff;
	opacity: 0.7;
	text-decoration: none;
}

#sub-banner {
	padding: 2.5rem;
}

#side-banner li,
#sub-banner li {
	margin-bottom: 1.5rem;
	text-align: center;
}

#side-banner li:last-child,
#sub-banner li:last-child {
	margin-bottom: 0;
}


/* -------------------------------------------------------------------------- */
/*	8. Site Footer
/* -------------------------------------------------------------------------- */


#footer-wrapper p {
	margin: 0;
	padding: 2.5rem 0;
	text-align: center;
}

.grecaptcha-badge {
	bottom: 8.0rem !important;
}

#top-button {
	background: #d0225c;
	border-radius: 2.5rem;
	bottom: 2.0rem;
	color: #fff;
	cursor: pointer;
	font-size: 1.2rem;
	height: 5.0rem;
	padding-top: 0.5rem;
	position: fixed;
	right: 2.0rem;
	text-align: center;
	width: 5.0rem;
	z-index: 9999;
}

#top-button i {
	font-size: 2.4rem;
}


/* -------------------------------------------------------------------------- */
/*	9. Media Queries
/* -------------------------------------------------------------------------- */

@media all and (-ms-high-contrast: none) {

	#product-listing.detail li .product-image img {
		width: 20.0rem;
	}

}

@media screen and ( min-width: 1281px ) {

	.pc-text {
		display: inline;
	}

	.sp-text {
		display: none;
	}

}

@media screen and ( max-width: 1280px ) {

	.pc-text {
		display: none;
	}

	.sp-text {
		display: inline;
	}

	#header-logo {
		margin-left: 2.0rem;
	}

	#header-menu {
		margin-right: 2.0rem;
	}

	#header-search-form {
		width: 31.0rem;
	}

	#header-search-form #header-search-select {
		width: 6.0rem;
	}

	#header-search-form #header-search-keyword {
		width: 19.0rem;
	}

	#header-search-form #header-search-submit {
		width: 5.8rem;
	}

	#main-and-left {
		width: 85%;
	}

	#main {
		float: right;
		width: 82%;
	}

	#main-left {
		float: left;
		width: 18%;
	}

	#main-right {
		float: right;
		width: 15%;
	}

	#news li .news-title-box .news-date,
	#news-list li .news-title-box .news-date {
		width: 20%;
	}

	#news li .news-title-box .news-date+.news-title,
	#news-list li .news-title-box .news-date+.news-title {
		width: 80%;
	}

	#ranking li {
		height: 37.0rem;
	}

	#product-listing.simple li .product-image {
		height: 16.0rem;
	}

	#product-info-box #cart-box #cart-info {
		width: 90%;
	}

	#product-info-box #cart-box #cart-info th {
		width: 55%;
	}

	#product-info-box #cart-box #cart-info .price {
		font-size: 1.9rem;
	}

	#product-info-box #cart-box #cart-info input[type="number"],
	#product-info-box #cart-box #cart-info select {
		width: 8.0rem;
	}

	#side-categories li span,
	#side-categories li a {
		font-size: 1.2rem;
	}

	#calendar .side-calendar th,
	#calendar .side-calendar td {
		font-size: 1.2rem;
	}

	#side-calendar-note {
		font-size: 1.2rem;
	}

	.side-calendar-info {
		font-size: 1.2rem;
	}

	.side-button {
		padding: 1.5rem 2.5rem;
	}

}

@media screen and ( max-width: 980px ) {

	#header-logo {
		float: none;
		margin: 0 0 2.0rem;
		text-align: center;
	}

	#header-menu {
		float: none;
		margin: 0;
		width: auto;
	}

	#header-navi {
		float: none;
		margin: 0 0 2.0rem;
		padding-top: 0;
		width: auto;
	}

	#header-search {
		float: none;
		padding-top: 0;
		text-align: center;
		width: auto;
	}

	#header-search-form {
		width: 90%;
	}

	#header-search-form #header-search-select {
		width: 25%;
	}

	#header-search-form #header-search-keyword {
		width: 60%;
	}

	#header-search-form #header-search-submit {
		width: 15%;
	}

	#header-search-form #header-search-submit input[type="submit"] {
		font-size: 2.4rem;
	}

	#main-and-left {
		float: none;
		width: auto;
	}

	#main {
		width: 75%;
	}

	#main-left {
		width: 25%;
	}

	#main-right {
		float: none;
		width: auto;
	}

	#main-and-left.no-sidebar {
		margin: 0 2%;
	}

	.page-title {
		font-size: 1.6rem;
	}

	.main-content {
		padding: 1.5rem;
	}

	.content-title {
		font-size: 1.6rem;
	}

	#news li .news-title-box .news-date,
	#news-list li .news-title-box .news-date {
		width: 24%;
	}

	#news li .news-title-box .news-date+.news-title,
	#news-list li .news-title-box .news-date+.news-title {
		width: 76%;
	}

	.ranking-category {
		border-bottom: none;
	}

	.ranking-category .ranking-menu {
		margin: 0 1% 0.5rem;
		min-width: auto;
		width: 48%;
	}

	#ranking li {
		height: 35.0rem;
	}

	#product-list-narrow-down .content-title-simple {
		float: none;
		margin: 0 0 2.0rem;
	}

	#product-list-narrow-down #product-list-keyword-search {
		float: none;
	}

	#product-listing-menu #show-menu {
		float: none;
		margin-bottom: 1.5rem;
		text-align: center;
		width: auto;
	}

	#product-listing-menu #sort-menu,
	#product-listing-menu #per-page-menu {
		text-align: center;
		width: 50%;
	}

	.product-listing-pager .number-display {
		float: none;
		text-align: center;
		width: auto;
	}

	.product-listing-pager .pager {
		float: none;
		margin: 1.5rem 0 0;
		text-align: center;
		width: auto;
	}

	#product-listing.simple li .product-image {
		height: 13.0rem;
	}

	#product-listing.simple li .product-cart {
		height: 17.0rem;
	}

	#product-image,
	#product-image-box .sub-image-list {
		float: none;
		text-align: center;
		width: auto;
	}

	#product-image-box .sub-image-list li {
		margin: 0 3% 1.0rem;
		width: 30%;
	}

	#product-info-box #info-box {
		float: none;
		margin-bottom: 3.0rem;
		width: auto;
	}

	#product-info-box #cart-box {
		float: none;
		width: auto;
	}

	#product-info-box #cart-box #cart-info th {
		width: 50%;
	}

	#product-info-box #cart-box #cart-info .price {
		font-size: 2.3rem;
	}

	#product-info-box #cart-box #cart-info input[type="number"],
	#product-info-box #cart-box #cart-info select {
		width: 10.0rem;
	}

	#cart-button-box {
		margin: 0 1.5rem;
		width: auto;
	}

	#cart-content .cart-title-delete {
		width: 10%;
	}

	#cart-content .cart-title-image {
		display: none;
	}

	#cart-content .cart-title-products {
		width: 44%;
	}

	#cart-content .cart-title-price {
		width: 12%;
	}

	#cart-content .cart-title-quantity {
		width: 22%;
	}

	#cart-content .cart-title-total {
		width: 12%;
	}

	#cart-content .cart-content-image {
		display: none;
	}

	#cart-content .cart-content-quantity input[type="number"] {
		padding: 0.2rem;
		width: 96%;
	}

	#confirm-cart-content .cart-title-products {
		width: 50%;
	}

	#confirm-cart-content .cart-title-quantity {
		width: 25%;
	}

	#confirm-cart-content .cart-title-total {
		width: 25%;
	}

	#history-content .history-title-products {
		width: 50%;
	}

	#history-content .history-title-quantity {
		width: 15%;
	}

	#history-content .history-title-total {
		width: 15%;
	}

	#history-content .history-title-cart {
		width: 20%;
	}

	#calendar.side-content table td {
		padding: 0.3rem;
	}

}

@media screen and ( max-width: 768px ) {

	#main,
	#main-left {
		float: none;
		width: auto;
	}

	.main-information {
		padding: 1.5rem;
	}

	.form-box {
		padding: 1.5rem;
	}

	#news li,
	#news-list li {
		padding: 1.0rem;
	}

	#news li .news-title-box .news-date,
	#news-list li .news-title-box .news-date {
		float: none;
		margin: 0 0 1.0rem;
		width: auto;
	}

	#news li .news-title-box .news-date+.news-title,
	#news-list li .news-title-box .news-date+.news-title {
		float: none;
		width: auto;
	}

	.ranking-title-box .ranking-period .ranking-menu {
		padding: 0.5rem 2.0rem;
		width: auto;
	}

	#ranking li {
		height: 53.0rem;
		width: 50%;
	}

	#ranking p.ranking-description {
		height: 6.0rem;
	}

	#upcoming li {
		padding: 1.0rem;
	}

	#abolition li {
		padding: 1.0rem;
	}

	#product-listing.detail li .product-cart {
		width: 35%;
	}

	#product-listing.simple li {
		width: 50%;
	}

	#product-listing.simple li .product-image {
		height: 20.0rem;
	}

	#product-detail-info li {
		padding: 0.8rem 1.0rem;
	}

	#product-detail-info li .info-heading,
	#product-detail-info li .info-content {
		float: none;
		margin: 0 0 1.0rem;
		width: auto;
	}

	#product-detail-info li .info-content {
		margin: 0;
		width: auto;
	}

	.cart-information {
		padding: 1.5rem;
	}

	#cart-total {
		padding: 1.5rem;
	}

	.cart-caution {
		padding: 1.5rem;
	}

	.cart-error {
		padding: 1.5rem;
	}

	.payment-buttons {
		padding: 3.0rem 0;
	}

	.payment-buttons .back-button,
	.payment-buttons .forward-button {
		display: block;
		margin: 0;
		text-align: center;
		width: 100%;
	}

	.payment-buttons .forward-button {
		margin-top: 3.0rem;
	}

	#account-information,
	#account-information thead,
	#account-information tbody,
	#account-information tr,
	#account-information th,
	#account-information td {
		display: block;
		padding: 0;
	}

	#account-information th {
		margin-bottom: 1.5rem;
		width: auto;
	}

	#account-information td {
		margin-bottom: 2.0rem;
	}

	#history-content .history-title-products {
		width: 40%;
	}

	#history-content .history-title-total {
		width: 30%;
	}

	#bannerBox2 {
		display: none;
	}

	#bannerBox3.side-content {
		margin-top: 3.0rem;
	}

	#categories.side-content {
		margin-top: 3.0rem;
	}

	#side-categories li span,
	#side-categories li a {
		font-size: 1.4rem;
	}

	#side-categories li {
		height: auto;
	}

	#side-categories li .text-box,
	#side-categories li a {
		height: 6.5rem;
	}

	#side-categories li .text-box {
		background: url("../images/check_under.png") no-repeat right 0.5rem center;
	}

	#side-categories li.has-children,
	#side-categories li.has-children .text-box,
	#side-categories li .side-sub-categories,
	#side-categories li .side-sub-categories li {
		position: static;
	}

	#side-categories li .side-sub-categories {
		box-shadow: none;
	}

	.side-button {
		display: block;
	}

}

@media screen and ( max-width: 480px ) {

	.ranking-menu {
		font-size: 1.2rem;
	}

	#ranking li {
		height: 39.0rem;
	}

	#ranking p.ranking-description {
		height: 7.0rem;
	}

	.product-table-title {
		padding: 0.8rem 0.5rem;
	}

	.product-table-title strong {
		font-size: 1.2rem;
	}

	.product-table-content li {
		padding: 0.8rem 0.5rem;
	}

	.product-table-content li span {
		font-size: 1.1rem;
	}

}


