.p-product-heading__unit {
	margin: 0 20px 20px;
  }
  
  .p-product-heading__unit::after {
	display: block;
	clear: both;
	content: '';
  }
  
  .p-product-fav-item {
	margin-top: 10px;
  }
  
  .p-product-fav-item button {
	padding: 0;
	cursor: pointer;
	transition: .2s;
	color: #999;
	border: 0;
	outline: none;
	background: transparent;
  }
  
  .p-product-fav-item .is-added {
	color: #ff7373;
  }
  
  .p-product-fav-item svg {
	width: 20px;
	height: 20px;
	vertical-align: -.35em;
  
	fill: currentColor;
  }
  
  .p-large-image__image-wrap {
	max-width: 400px;
	border: 6px solid transparent;
  }
  
  .p-large-image__image-wrap {
	margin: 20px auto;
  }
  
  .p-thumbnail-list {
	box-sizing: border-box;
	margin: 20px -5px 10px;
	padding: 0;
	list-style-type: none;
	text-align: center;
  }
  
  .p-thumbnail-list__image-wrap {
	border: 2px solid transparent;
  }
  
  .p-thumbnail-list::after {
	display: block;
	clear: both;
	content: '';
  }
  
  .p-thumbnail-list__unit {
	float: left;
	box-sizing: border-box;
	width: 20%;
	margin-bottom: 10px;
	padding: 0 5px;
  }
  
  .p-thumbnail-list__image-wrap.is-current {
	border-color: #333;
	background: #333;
  }
  
  .p-view-product-images {
	text-align: right;
  }
  
  .p-view-product-images a {
	display: inline-block;
	padding: .5em 0;
	transition: opacity .2s;
	text-decoration: none;
  }
  
  .p-view-product-images a:hover {
	opacity: .66;
  }
  
  .p-view-product-images a:active {
	opacity: 1;
  }
  
  .p-short-description {
	line-height: 1.5;
	margin: 20px 0;
  }
  
  .p-cart-form {
	margin: 20px 0;
  }
  
  .p-cart-form::after {
	display: block;
	clear: both;
	content: '';
  }
  
  .p-cart-form__info {
	line-height: 1.5;
	margin-bottom: 40px;
	padding-bottom: 40px;
	text-align: center;
	border-bottom: 1px solid #eaeaea;
  }
  
  .p-cart-form__link-list {
	font-size: 12px;
	margin: 10px 0 0;
	padding: 0;
	list-style-type: none;
	text-align: right;
  }
  
  .p-cart-form__link-list a {
	display: inline-block;
	padding: .5em 0;
	transition: opacity .2s;
	text-decoration: none;
	color: #333;
  }
  
  .p-cart-form__link-list a:hover {
	opacity: .66;
  }
  
  .p-cart-form__link-list a:active {
	opacity: 1;
  }
  
  .p-cart-form__name {
    font-size: 16px;
	line-height: 1.2;
	margin-bottom: .8em;
  }
  
  .p-cart-form__price {
	font-size: 14px;
  }
  
  .p-cart-form__regular-price {
	font-weight: bold;
	margin-top: .5em;
  }
  
  .p-cart-form__list-price {
	font-size: 12px;
	line-height: 2;
	opacity: .7;
  }
  
  .p-cart-form__point {
	font-size: 12px;
	margin-top: 10px;
  }
  
  .p-cart-form__point span {
	font-size: 18px;
	font-weight: bold;
  }
  
  .p-cart-form__stock {
	margin-top: 10px;
  }
  
  .p-cart-form__option-select select {
	box-sizing: border-box;
	width: 100%;
	border-color: #eaeaea;
  }
  
  .p-cart-form__option-select select:hover {
	border-color: #333;
  }
  
  .p-cart-form__password-input input {
	font-size: 16px;
	line-height: 40px;
	box-sizing: border-box;
	width: 100%;
	height: 40px;
	padding: 0 10px;
	transition: .2s;
	vertical-align: middle;
	border: 2px solid #eaeaea;
	border-radius: 4px;
  
	-webkit-appearance: none;
	   -moz-appearance: none;
			appearance: none;
  }
  
  .p-cart-form__password-input input:focus {
	border-color: #333;
	outline: none;
  }
  
  .p-cart-form__add-cart-num {
	font-family: 'Montserrat', sans-serif;
	display: inline-block;
	width: 100px;
	text-align: right;
  }
  
  .p-cart-form__add-num-wrap {
	position: relative;
	display: inline-block;
	width: 32px;
	height: 64px;
	vertical-align: -2em;
  }
  
  .p-cart-form__add-num {
	position: absolute;
	display: inline-block;
	padding: 5px;
	transition: opacity .2s;
	text-decoration: none;
	color: #333;
  }
  
  .p-cart-form__add-num:hover {
	opacity: .66;
  }
  
  .p-cart-form__add-num:active {
	opacity: 1;
  }
  
  .p-cart-form__add-num--up {
	top: 0;
  }
  
  .p-cart-form__add-num--down {
	bottom: 0;
  }
  
  .p-cart-form__add-num svg {
	width: 22px;
	height: 22px;
  
	fill: currentColor;
  }
  
  .p-cart-form__button-wrap {
	margin-top: 20px;
  }
  
  .p-cart-form__add-cart-button {
	font-family: 'Montserrat', sans-serif;
	width: 100%;
	padding: 15px;
	letter-spacing: 1px;
  }
  
  .p-cart-form__error-message {
	font-weight: bold;
	display: none;
	margin: 10px 0 0;
	text-align: center;
	color: #f00;
  }
  
  .p-view-option-info {
	display: block;
	margin-top: 20px;
	padding: .4em;
	text-align: center;
  }
  
  .p-price-table {
	line-height: 1.4;
	height: auto;
	margin-top: 10px;
	transition: .2s;
	text-align: left;
  }
  
  .p-price-table.is-hidden {
	overflow: hidden;
	height: 0;
	margin: 0;
	opacity: 0;
  }
  
  .p-price-table__heading-wrap {
	display: table;
	width: 100%;
  }
  
  .p-price-table__heading {
	font-size: 12px;
	display: table-cell;
	box-sizing: border-box;
	width: 50%;
	padding: .5em;
	background: #eaeaea;
  }
  
  .p-price-table__body {
	font-size: 12px;
	clear: both;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #eaeaea;
  }
  
  .p-price-table__body::after {
	display: block;
	clear: both;
	content: '';
  }
  
  .p-price-table__body dt {
	float: left;
	box-sizing: border-box;
	width: 50%;
	padding: .7em .5em;
	border-top: 1px solid #eaeaea;
  }
  
  .p-price-table__body dd {
	overflow: hidden;
	padding: 0;
	border-top: 1px solid #eaeaea;
  }
  
  .p-price-table__body span {
	display: block;
	text-align: right;
  }
  
  .p-price-table__body ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
  }
  
  .p-price-table__body li {
	padding: .7em .5em;
	border-bottom: 1px solid #eaeaea;
  }
  
  .p-price-table__body li:last-child {
	border-bottom: 0;
  }
  
  .p-price-table__name {
	font-weight: bold;
  }
  
  .p-option-table table {
	min-width: 100%;
	border-collapse: collapse;
	text-align: center;
	border: 1px solid #ccc;
  }
  
  .p-option-table br {
	display: none;
  }
  
  .p-option-table .cell_1,
  .p-option-table .cell_2 {
	padding: 10px 8px;
	text-align: center;
	white-space: nowrap;
	border: 1px solid #ddd;
  }
  
  .p-option-table [type='radio'] {
	position: relative;
	z-index: 0;
	width: 10px;
	height: 10px;
	margin: 5px;
	cursor: pointer;
  }
  
  .p-option-table [type='radio']::before {
	position: absolute;
	z-index: 1;
	top: -5px;
	left: -5px;
	display: block;
	width: 20px;
	height: 20px;
	content: '';
	border-radius: 20px;
	background: #eee;
  }
  
  .p-option-table [type='radio']::after {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	display: block;
	width: 10px;
	height: 10px;
	content: '';
	transition: .2s;
	border-radius: 10px;
	background: transparent;
  }
  
  .p-option-table [type='radio']:hover::after {
	background: rgba(0, 0, 0, .2);
  }
  
  .p-option-table [type='radio']:checked::after {
	background: #fd7f23;
  }
  
  .p-option-table .t_stock_num {
	font-size: 12px;
	display: block;
	margin-top: 12px;
	text-align: center;
  }
  
  .p-option-table .stock_zero {
	font-size: 12px;
  }
  
  .p-option-table .table_price {
	display: none;
  }
  
  .p-product-body__model {
	font-size: 12px;
	line-height: 2;
	color: #888;
  }
  
  .p-product-body__name {
    font-size: 22px;
	line-height: 1.4;
  }
  .p-product-body__name > img {
	  display: block;
	  margin: 10px 0;
  }
  
  .p-product-body__share-buttons {
	display: block;
	margin: 10px 0;
	padding: 0;
	list-style-type: none;
  }
  
  .p-product-body__share-buttons li {
	display: inline-block;
	margin-right: 10px;
	vertical-align: top;
  }
  
  .p-product-body__review-link {
	margin: 10px 0;
  }
  
  .p-product-body__review-link span {
	font-size: 18px;
  }
  
  .p-product-body__review-link a {
	transition: opacity .2s;
	text-decoration: none;
  }
  
  .p-product-body__review-link a:hover {
	opacity: .66;
  }
  
  .p-product-body__review-link a:active {
	opacity: 1;
  }
  
  .p-product-body__price {
	font-size: 18px;
	clear: both;
	margin: 20px 0;
  }
  
  .p-product-body__price--discount {
	color: #f00;
  }
  
  .p-product-body__regular-price {
	margin-top: 10px;
	text-decoration: line-through;
  }
  
  .p-product-body__point {
	margin: 30px 0;
  }
  
  .p-product-body__point span {
	font-size: 18px;
	font-weight: bold;
  }
  
  .p-product-body__description {
	line-height: 1.8;
	clear: both;
	margin: 30px 0 0;
    font-size: 13px;
    letter-spacing: 0.15em;
  }
  
  .p-product-body__images {
	margin-top: 30px;
	border-top: 1px solid #eaeaea;
  }
  
  .p-product-body__linkto-cart {
	font-size: 14px;
	font-weight: normal;
	line-height: 22px;
	display: inline-block;
	display: block;
	box-sizing: border-box;
	max-width: 300px;
	margin: 30px auto;
	padding: 15px;
	cursor: pointer;
	transition: .2s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	color: #fff;
	border: 0;
	border-radius: 4px;
	background: #fd7f23;
  
	-webkit-appearance: none;
	   -moz-appearance: none;
			appearance: none;
  }
  
  .p-product-body__linkto-cart:hover,
  .p-product-body__linkto-cart:focus {
	outline: none;
	box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .2);
	text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
  }
  
  .p-product-images {
	margin: 0 -10px 0 0;
	padding: 30px 0;
	list-style-type: none;
  }
  
  .p-product-images__image-wrap {
	border: 6px solid transparent;
  }
  
  .p-product-images::after {
	display: block;
	clear: both;
	content: '';
  }
  
  .p-product-images li {
	float: left;
	box-sizing: border-box;
	width: 33.33333%;
	margin-bottom: 15px;
	padding-right: 10px;
  }
  
  .p-product-images li:nth-child(3n + 1) {
	clear: left;
  }
  
  .p-product-footer-nav {
	font-size: 12px;
	margin: 0;
	padding: 0;
	padding-top: 20px;
	list-style-type: none;
	text-align: right;
	border-top: 1px solid #eaeaea;
  }
  
  .p-product-footer-nav li {
	margin-bottom: 10px;
  }
  
  .p-product-footer-nav a {
	transition: opacity .2s;
	text-decoration: none;
	color: #333;
  }
  
  .p-product-footer-nav a:hover {
	opacity: .66;
  }
  
  .p-product-footer-nav a:active {
	opacity: 1;
  }
  
  .p-product-footer-nav .c-icon {
	vertical-align: -.4em;
  }
  
  .p-review__unit {
	padding: 15px 20px;
	border-bottom: 1px solid #eaeaea;
  }
  
  .p-review__unit:last-child {
	border: 0;
  }
  
  .p-review__button {
	display: block;
	max-width: 300px;
	margin: 30px auto;
	padding: 15px;
	text-align: center;
  }
  
  .p-posted-review__image {
	display: block;
	max-width: 200px;
	margin: 0 auto 20px;
  }
  
  .p-posted-review__heading {
	overflow: hidden;
	margin: 0 20px 0 0;
  }
  
  .p-posted-review__title {
	font-weight: bold;
	display: block;
	margin: 15px 0;
  }
  
  .p-posted-review__info {
	margin: 15px 0;
	padding: 0;
  }
  
  .p-posted-review__info li {
	display: inline;
	margin-right: 10px;
  }
  
  .p-posted-review__body {
	line-height: 1.8;
	overflow: hidden;
  }
  
  .p-posted-review__star {
	width: 18px;
	height: 18px;
	vertical-align: -.3em;
  
	fill: currentColor;
	fill: #ddd;
  }
  
  .p-posted-review__star.is-color {
	fill: #ffdc00;
  }
  
  @media screen and (min-width: 600px) {
	.p-product-heading__unit {
	  margin: 0 0 20px;
	  padding: 0 20px;
	  border: 1px solid #eaeaea;
	}
  
	.p-cart-form__password-input input {
	  font-size: 14px;
	}
  
	.p-product-body__share-buttons {
	  float: left;
	}
  
	.p-product-body__linkto-cart {
	  padding: 12px 15px;
	}
  
	.p-product-footer-nav li {
	  display: inline-block;
	  margin-left: 10px;
	}
  
	.p-review__unit {
	  padding: 30px 0;
	}
  
	.p-review__button {
	  padding: 10px 15px;
	}
  
	.p-posted-review__image {
	  float: left;
	  height: auto;
	  margin: 0 30px 0 0;
	}
  
	.p-posted-review__title {
	  display: inline-block;
	  margin: 0 0 0 20px;
	}
  }
  
  @media screen and (min-width: 600px) and (max-width: 959px) {
	.p-large-image {
	  float: left;
	  width: 50%;
	  margin: 0;
	}
  
	.p-thumbnail-list {
	  float: right;
	  width: 45%;
	}
  
	.p-view-product-images {
	  float: right;
	  width: 45%;
	}
  
	.p-short-description {
	  float: right;
	  width: 45%;
	}
  
	.p-cart-form__info {
	  float: left;
	  width: 50%;
	  margin: 0;
	  padding: 0;
	  text-align: left;
	  border: 0;
	}
  
	.p-cart-form__option {
	  float: right;
	  width: 45%;
	}
  
	.p-cart-form__link-list {
	  float: right;
	  clear: right;
	  width: 45%;
	}
  
	.p-product-body-inner {
	  margin-top: 40px;
	}
  }
  
  @media screen and (min-width: 960px) {
	.p-product-wrap {
	  overflow: hidden;
	}
  
	.p-product-heading {
	  float: right;
	  box-sizing: border-box;
	  width: 400px;
	}
  
	.p-product-body {
	  float: right;
	  width: 100%;
	  margin-right: -400px;
	}
  
	.p-product-body-inner {
	  margin-right: 440px;
	}
  
	.p-large-image__image-wrap {
	  border-width: 9px;
	}
  
	.p-thumbnail-list__image-wrap {
	  border-width: 3px;
	}
  
	.p-view-product-images {
	  display: none;
	}
  
	.p-product-body__linkto-cart {
	  display: none;
	}
  
	.p-product-images__image-wrap {
	  border-width: 9px;
	}
  
	.p-product-images li {
	  width: 50%;
	}
  
	.p-product-images li:nth-child(3n + 1) {
	  clear: none;
	}
  
	.p-product-images li:nth-child(2n + 1) {
	  clear: left;
	}
  }
  
  @media screen and (max-width: 599px) {
	.p-short-description {
	  display: none;
	}
  
	.p-product-body-inner {
	  padding-top: 20px;
	  border-top: 1px solid #eaeaea;
	}
  
	.p-product-body {
	  padding: 0 20px;
	}
  
	.p-product-body__price {
	  display: none;
	}
  
	.p-product-body__regular-price {
	  display: none;
	}
  
	.p-product-body__point {
	  display: none;
	}
  }
  
  /*  オプションごとのカートボタン CSS  */
  
  .cms-opt__unit-label {
	font-weight: bold;
	margin-bottom: .5em;
  }
  
  .cms-opt-button__opt-list {
	margin: 0;
  }
  
  .cms-opt-button__opt-body {
	padding-bottom: 20px;
	border-bottom: 1px solid #eaeaea;
	margin: 0 0 20px 0;
  }
  
  .cms-opt-button__opt-label {
	display: inline-block;
  }
  .cms-opt-button__opt-heading {
	background: #eee;
	font-weight: bold;
	box-sizing: border-box;
	width: 100%;
	padding: 10px;
	margin-bottom: 10px;
  }
  .cms-opt-button__opt-heading--hidden {
	visibility: hidden;
	height: 0;
	margin: 0;
	padding: 0;
  }
  
  .cms-opt-button__content {
	margin-bottom: 10px;
  }
  
  .cms-opt-button__content-name {
	min-width: 50%;
	display: inline-block;
	vertical-align: middle;
  }
  
  .cms-opt-button__content-price {
	font-size: 18px; 
	min-width: 48%;
	display: inline-block;
	vertical-align: middle;
  }
  
  @media screen and (min-width: 600px) {
	.cms-opt-button__content-price {
	   font-size: 20px; 
	}
  }
  
  .cms-opt-button__purchase-stock {
	display: inline-block;
	margin: 0;
	font-size: 13px;
	color: #777;
	min-width: 50%;
	word-break: break-all;
  }
  
  .cms-opt-button__purchase-number {
	display: inline-block;
  }
  
  .cms-opt-button__cart {
	margin-top: 10px;
  }
  
  .cms-opt-button__purchase-unit {
	word-break: break-all;
  }
  
  /*  クイックカートイン CSS  */
  
  .cart_in_modal,
  .cart_in_error_modal {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, .7);
	z-index: 20000;
	display: flex;
	overflow: auto;
  }
  
  @media screen and (min-width: 960px) {
	.cart_in_modal,
	.cart_in_error_modal {
	  align-items: center;
	}
  }
  
  .cart_in_modal__bg {
	background-color: rgba(0, 0, 0, .7);
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 20000;
  }
  
  .cart_in_modal__outline {
	width: 90%;
	margin: 20px 5%;
	padding: 20px;
	background-color: #fff;
	border-radius: 5px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, .4);
	box-sizing: border-box;
	text-align: center;
	position: absolute;
  }
  
  @media screen and (min-width: 960px) {
	.cart_in_modal__outline {
	  width: 900px;
	  margin: auto;
	  padding: 20px 70px;
	  position: relative;
	}
  }
  
  .cart_in_modal__heading {
	font-size: 20px;
	font-weight: bold;
	margin: 20px 0;
	line-height: 1.4;
  }
  
  @media screen and (min-width: 960px) {
	.cart_in_modal__heading {
	  font-size: 26px;
	  margin: 30px 0;
	  line-height: 1.2;
	}
  }
  
  .cart_in_error_modal__heading {
	font-size: 20px;
	font-weight: bold;
	margin: 40px 0 20px;
	line-height: 1.4;
  }
  
  @media screen and (min-width: 960px) {
	.cart_in_error_modal__heading {
	  margin: 30px 0;
	  line-height: 1.2;
	}
  }
  
  .cart_in_modal__detail {
	display: flex;
	padding: 20px;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	align-items: center;
	flex-direction: column;
  }
  
  @media screen and (min-width: 960px) {
	.cart_in_modal__detail {
	  flex-direction: row;
	}
  }
  
  .cart_in_modal__name {
	font-size: 16px;
	flex: 1;
	line-height: 1.4;
	text-align: left;
	margin: 0;
  }
  
  @media screen and (min-width: 960px) {
	.cart_in_modal__name {
	  font-size: 18px;
	}
  }
  
  .cart_in_modal__image-wrap {
	padding: 5px;
	width: 170px;
	height: 170px;
	background: rgba(0, 0, 0, .1);
	position: relative;
	border: 5px solid transparent;
	box-sizing: border-box;
  }
  
  @media screen and (min-width: 960px) {
	.cart_in_modal__image-wrap {
	  margin: 0 30px 0 0;
	  flex-basis: 170px;
	}
  }
  
  .cart_in_modal__image {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
  }
  
  .cart_in_modal__text-link {
	color: #2169f3;
	cursor: pointer;
	position: relative;
	display: inline-block;
	margin: 20px 0 0;
	padding: 0 0 0 20px;
	line-height: 1.15;
  }
  .cart_in_modal__text-link::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #2169f3;
	border-right: 2px solid #2169f3;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
  }
  
  .cart_in_modal__button-wrap {
	width: 100%;
	margin: 30px auto;
	font-size: 17px;
  }
  
  @media screen and (min-width: 960px) {
	.cart_in_modal__button-wrap {
	  width: 350px;
	}
  }
  .cart_in_modal__button {
	font-size: 17px;
	font-weight: bold;
	line-height: 23px;
	display: inline-block;
	box-sizing: border-box;
	cursor: pointer;
	vertical-align: middle;
	text-decoration: none;
	color: #fff;
	border: 0;
	border-radius: 4px;
	width: 100%;
	height: 58px;
	padding: 15px;
	background: #2169f3;
	box-shadow: 0 2px 0 #1a54c2;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
  }
  
  .cart_in_modal__button:hover,
  .cart_in_modal__button:focus {
	height: 58px;
	color: #e9f0fe;
	background-color: #1e5fdb;
	box-shadow: none;
	transform: translate3d(0, 2px, 0);
  }
  
  .cart_in_modal__close-icon {
	cursor: pointer;
  }
  
  .cart_in_modal__close-icon::before,
  .cart_in_modal__close-icon::after {
	content: "";
	width: 35px;
	height: 6px;
	display: block;
	position: absolute;
	top: 30px;
	right: 20px;
	background: #eee;
	border-radius: 4px;
  }
  
  .cart_in_modal__close-icon::before {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
  }
  
  .cart_in_modal__close-icon::after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
  }
  
  .spinner::before {
	content: "";
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	left: 50%;
	height: 100px;
	width: 100px;
	margin-top: -50px;
	margin-left: -50px;
	border-radius: 50%;
	border: 5px solid #eee;
	border-top-color: #fd7f23;
	animation: spinner 0.5s linear infinite;
  }
  
  @keyframes spinner {
	to {
	  transform: rotate(360deg);
	}
  }
  
  @media screen and (min-width: 960px) {
	.sp-br {
	  display: none;
	}
  }
