

.modal__overlay
{
	display:none
}

.modal--on .modal__overlay
{
	display:block;
	position:fixed;
	top:0;
	left:0;
	bottom:0;
	right:0;
	width:100%;
	height:120%;
	opacity:1;
	background-color:rgba(0,0,0,0.3);
	-webkit-backdrop-filter:blur(5px);
	-webkit-tap-highlight-color:transparent;
	z-index:900
}

.modal
{
	display:none;
	z-index:-9999;
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	background-color:#fff;
	-webkit-box-shadow:0 19px 38px rgba(0,0,0,0.3),0 15px 12px rgba(0,0,0,0.22);
	-moz-box-shadow:0 19px 38px rgba(0,0,0,0.3),0 15px 12px rgba(0,0,0,0.22);
	box-shadow:0 19px 38px rgba(0,0,0,0.3),0 15px 12px rgba(0,0,0,0.22);
	-webkit-tap-highlight-color:transparent
}

.modal.modal--active
{
	display:block;
	z-index:9999;
	overflow-y:auto;
	-webkit-animation-name:zoomIn;
	animation-name:zoomIn;
	-webkit-animation-duration:.5s;
	-ms-animation-duration:.5s;
	animation-duration:.5s;
	-webkit-animation-fill-mode:both;
	ms-animation-fill-mode:both;
	animation-fill-mode:both;
	animation-timing-function:cubic-bezier(0.19,1,0.22,1)
}

.modal.modal--close--animation
{
	-webkit-animation-name:zoomOut;
	animation-name:zoomOut
}

.modal .modal__content
{
	height:100%;
	padding:20% 5%;
	overflow:scroll;
	-webkit-overflow-scrolling:touch
}

.modal .modal__close
{
	box-sizing:border-box;
	position:fixed;
	top:20px;
	right:20px;
	width:50px;
	height:50px;
	padding:10px;
	border-radius:50%;
	background-color:rgba(0,0,0,0.5);
	cursor:pointer;
	z-index:9999
}

.modal .modal__close:hover
{
	background-color:rgba(0,0,0,0.7)
}

.modal .modal__close>svg
{
	width:100%;
	height:auto;
	fill:#fff
}

@media (max-width: 640px) {
	.modal__language .modal__content
	{
		padding:0 20%;
		display:flex;
		align-items:center
	}
	
	.modal__language .modal__content .modal__language__region>a
	{
		display:flex;
		align-items:center;
		margin:2rem 0;
		text-decoration:none
	}
	
	.modal__language .modal__content .modal__language__region .__svg
	{
		width:60px;
		height:auto;
		margin-right:1rem;
		border:1px solid #ddd
	}
	
	.modal__language .modal__content .modal__language__region .__caption
	{
		color:#333
	}
}

@media (min-width: 641px) {
	.modal__language
	{
		background:rgba(0,0,0,0.7)
	}
	
	.modal__language .modal__content
	{
		position:absolute;
		top:50%;
		left:50%;
		width:600px;
		height:150px;
		overflow:hidden;
		margin:-75px auto auto -300px;
		padding:0
	}
	
	.modal__language .modal__content .modal__language__region
	{
		float:left;
		width:33.333%;
		text-align:center
	}
	
	.modal__language .modal__content .modal__language__region>a
	{
		display:block;
		padding:20px;
		border:1px solid rgba(255,255,255,0);
		text-decoration:none
	}
	
	.modal__language .modal__content .modal__language__region>a:hover
	{
		border:1px solid #fff
	}
	
	.modal__language .modal__content .modal__language__region .__svg
	{
		width:80px;
		height:auto;
		margin-bottom:10px
	}
	
	.modal__language .modal__content .modal__language__region .__caption
	{
		display:block;
		color:#fff
	}
}
.modal--desktop .modal__buy_products
{
	z-index:9998;
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	max-width:980px;
	width:100%;
	height:620px;
	background-color:#fff;
	-webkit-box-shadow:0 19px 38px rgba(0,0,0,0.3),0 15px 12px rgba(0,0,0,0.22);
	-moz-box-shadow:0 19px 38px rgba(0,0,0,0.3),0 15px 12px rgba(0,0,0,0.22);
	box-shadow:0 19px 38px rgba(0,0,0,0.3),0 15px 12px rgba(0,0,0,0.22);
	-webkit-tap-highlight-color:transparent
}

.modal--desktop .modal__buy_products .modal--active
{
	display:block;
	z-index:9999;
	-webkit-animation-name:zoomIn;
	animation-name:zoomIn;
	-webkit-animation-duration:.5s;
	-ms-animation-duration:.5s;
	animation-duration:.5s;
	-webkit-animation-fill-mode:both;
	ms-animation-fill-mode:both;
	animation-fill-mode:both;
	animation-timing-function:cubic-bezier(0.19,1,0.22,1)
}

.modal--desktop .modal__buy_products .modal--close--animation
{
	-webkit-animation-name:zoomOut;
	animation-name:zoomOut
}

.modal--desktop .modal__buy_products .modal__content
{
	padding:40px 5% 0;
	-webkit-overflow-scrolling:touch;
	height:580px;
	width:90%;
	overflow-y:auto;
	overflow-x:hidden;
	position:absolute;
	top:0
}

.modal--desktop .modal__buy_products .modal__page
{
	display:none;
	-webkit-transition:all .5s;
	transition:all .5s
}

.modal--desktop .modal__buy_products .page1
{
	display:block
}

.modal--desktop .modal__buy_products .modal__close
{
	box-sizing:border-box;
	position:absolute;
	top:20px;
	right:20px;
	font-size:50px;
	line-height:50px;
	width:50px;
	height:50px;
	padding:0;
	border-radius:50%;
	color:#999;
	background:none;
	cursor:pointer;
	z-index:9999
}

.modal--desktop .modal__buy_products .modal__close:hover
{
	color:#666;
	background:none
}

.modal--desktop .modal__buy_products .modal__close>svg
{
	width:100%;
	height:auto;
	fill:#fff
}

.modal--desktop .modal__buy_products .modal__back
{
	box-sizing:border-box;
	position:absolute;
	top:20px;
	left:20px;
	width:120px;
	height:50px;
	padding:10px;
	border-radius:50%;
	cursor:pointer;
	z-index:9999;
	font-size:16px
}

.modal--desktop .modal__buy_products .modal__back:hover
{
	color:#009cdd
}

.modal--desktop .modal__buy_products .modal__title
{
	font-size:32px;
	line-height:30px;
	margin-top:30px;
	margin-bottom:20px;
	text-align:center;
	font-weight:normal;
}

.modal--desktop .modal__buy_products .soldout__message
{
	max-width:600px;
	margin:8px auto -16px;
	margin:.5rem auto -1rem;
	padding:16px;
	padding:1rem;
	border-radius:3px;
	font-size:.8rem;
	line-height:1.1rem;
	background:#039be5;
	color:#fff;
	text-align:center
}

.modal--desktop .modal__buy_products .soldout__message a
{
	color:#fff;
	text-decoration:none
}

.modal--desktop .modal__buy_products .soldout__message a:hover
{
	text-decoration:underline
}

.modal--desktop .modal__buy_products .modal__lineup
{
	max-width:900px;
	min-width:570px;
	width:100%;
	height:100%;
	max-height:440px;
	margin:0 auto;
	display:flex;
	justify-content:center
}

.modal--desktop .modal__buy_products .column
{
	margin-top:40px;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:space-between;
	justify-content:space-between
}

.modal--desktop .modal__buy_products .column__image
{
	width:100%;
	max-width:460px
}

.modal--desktop .modal__buy_products .column__image>img
{
	width:100%;
	height:auto
}

.modal--desktop .modal__buy_products .column__form
{
	width:100%;
	margin-left:2rem;
	padding-left:2rem;
	border-left:1px solid #ccc;
	text-align:left
}

.modal--desktop .modal__buy_products .fieldset
{
	padding:1rem 0
}

.modal--desktop .modal__buy_products .item
{
	max-width:300px;
	min-width:170px;
	width:100%;
	display:flex;
	flex-flow:column nowrap;
	justify-content:center;
	position:relative;
	margin-right:20px;
	padding:10px;
	text-align:left;
	-webkit-transition:all .3s;
	transition:all .3s
}

.modal--desktop .modal__buy_products .item--soldout .btn--ghost
{
	border-color:#ccc;
	color:#ccc
}

.modal--desktop .modal__buy_products .item--has-stock
{
	cursor:pointer
}

.modal--desktop .modal__buy_products .item--has-stock:hover
{
	box-shadow:0 10px 20px rgba(0,0,0,0.3)
}

.modal--desktop .modal__buy_products .item--has-stock:hover .btn--ghost
{
	background:#4ba53a;
	color:#fff
}

.modal--desktop .modal__buy_products .item:last-child
{
	margin-right:0
}

.modal--desktop .modal__buy_products .item input[type="radio"]
{
	display:none
}

.modal--desktop .modal__buy_products .item__image
{
	position:relative;
	text-align:center;
	max-height:260px;
	max-width:260px
}

.modal--desktop .modal__buy_products .item__image img
{
	width:80%;
	height:auto
}

.modal--desktop .modal__buy_products .item__image--square
{
	margin:-20px auto
}

.modal--desktop .modal__buy_products .item__image--wide
{
	margin:-40px auto
}

.modal--desktop .modal__buy_products .item__image--long
{
	margin:15px auto
}

.modal--desktop .modal__buy_products .item__name
{
	position:relative;
	margin:0 0 10px;
	font-size:16px;
	line-height:20px;
	color:#666;
	text-align:center
}

.modal--desktop .modal__buy_products .item__product-code
{
	font-size:13px;
	color:#999
}

.modal--desktop .modal__buy_products .item__description
{
	text-align:center;
	color:#666;
	line-height:1.3rem;
	font-size:13px
}

.modal--desktop .modal__buy_products .item__purchase
{
	clear:both;
	overflow:hidden;
	margin-top:10px;
	margin-bottom:10px
}

.modal--desktop .modal__buy_products .item__shipping
{
	font-size:16px;
	color:#666;
	text-align:center
}

.modal--desktop .modal__buy_products .item__buy
{
	width:100%;
	margin-bottom:10px;
	text-align:center
}

.modal--desktop .modal__buy_products .item__price
{
	font-size:14px;
	color:#666;
	text-align:center
}

.modal--desktop .modal__buy_products .item__price:before
{
	content:"Â¥";
	font-size:14px
}

.modal--desktop .modal__buy_products .item__price--exctax:after
{
	content:"(ç¨Žåˆ¥)";
	font-size:14px
}

.modal--desktop .modal__buy_products .item__price--inctax:after
{
	content:"(ç¨Žè¾¼)";
	font-size:14px
}

.modal--desktop .modal__buy_products .option__product_name
{
	font-size:1.2rem;
	line-height:1.2rem
}

.modal--desktop .modal__buy_products .option__product_code
{
	color:#999
}

.modal--desktop .modal__buy_products .option__subheading
{
	font-size:14px;
	font-weight:700;
	margin:1rem 0 0
}

.modal--desktop .modal__buy_products .option__spec
{
	font-size:14px;
	line-height:1.4rem;
	margin:1rem 0
}

.modal--desktop .modal__buy_products .option__price:before
{
	content:"Â¥";
	font-size:14px
}

.modal--desktop .modal__buy_products .option__price--exctax:after
{
	content:"(ç¨Žåˆ¥)";
	font-size:14px
}

.modal--desktop .modal__buy_products .option__price--inctax:after
{
	content:"(ç¨Žè¾¼)";
	font-size:14px
}

.modal--desktop .modal__buy_products .option__shipping
{
	font-size:16px
}

.modal--desktop .modal__buy_products .option__description
{
	font-size:14px;
	line-height:1.4rem;
	margin:1rem 0
}

.modal--desktop .modal__buy_products .option__description p
{
	margin-bottom:1rem
}

.modal--desktop .modal__buy_products .option__description p>em
{
	font-weight:700
}

.modal--desktop .modal__buy_products .input,.modal--desktop .modal__buy_products button,.modal--desktop .modal__buy_products textarea,.modal--desktop .modal__buy_products select
{
	background:none;
	border:none;
	border-radius:0;
	font-size:1rem;
	outline:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none
}

.modal--desktop .modal__buy_products .btn
{
	position:relative;
	display:block;
	box-sizing:border-box;
	border-style:none;
	border-radius:2px;
	outline:0;
	text-align:center;
	text-decoration:none;
	cursor:pointer;
	vertical-align:middle;
	-webkit-tap-highlight-color:transparent
}

.modal--desktop .modal__buy_products .btn--large
{
	display:block;
	width:100%;
	max-width:320px;
	height:55px;
	font-size:1rem;
	line-height:55px;
	background-color:#4ba53a;
	color:#fff
}

.modal--desktop .modal__buy_products .btn--ghost
{
	display:inline-block;
	border:1px solid #4ba53a;
	color:#4ba53a;
	background:none;
	padding:.2rem 3rem
}

.modal--desktop .modal__buy_products .btn--large[disabled]
{
	background-color:#999;
	cursor:default
}

.modal--sp .modal
{
	display:none;
	z-index:9997;
	position:fixed;
	overflow-y:hidden!important;
	top:0;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	height:100%;
	width:100%;
	background-color:#fff;
	-webkit-box-shadow:0 19px 38px rgba(0,0,0,0.3),0 15px 12px rgba(0,0,0,0.22);
	-moz-box-shadow:0 19px 38px rgba(0,0,0,0.3),0 15px 12px rgba(0,0,0,0.22);
	box-shadow:0 19px 38px rgba(0,0,0,0.3),0 15px 12px rgba(0,0,0,0.22);
	-webkit-tap-highlight-color:transparent
}

.modal--sp .modal.modal--active
{
	display:block;
	z-index:9997;
	-webkit-animation-name:zoomIn;
	animation-name:zoomIn;
	-webkit-animation-duration:.5s;
	-ms-animation-duration:.5s;
	animation-duration:.5s;
	-webkit-animation-fill-mode:both;
	ms-animation-fill-mode:both;
	animation-fill-mode:both;
	animation-timing-function:cubic-bezier(0.19,1,0.22,1)
}

.modal--sp .modal .modal--close--animation
{
	-webkit-animation-name:zoomOut;
	animation-name:zoomOut
}

.modal--sp .modal .modal__content
{
	padding:0 5%;
	width:90%;
	height:100vh;
	overflow-y:scroll;
	-webkit-overflow-scrolling:touch;
	position:relative
}

.modal--sp .modal .modal__page
{
	display:none;
	-webkit-transition:all .5s;
	transition:all .5s
}

.modal--sp .modal .page1
{
	display:block
}

.modal--sp .modal .modal__close
{
	box-sizing:border-box;
	position:fixed;
	top:0;
	right:0;
	font-size:80px;
	line-height:80px;
	width:130px;
	height:130px;
	padding:20px 20px 0 0;
	border-radius:0;
	color:#999;
	background:none;
	cursor:pointer;
	z-index:9999;
	text-align:right
}

.modal--sp .modal .modal__close:hover
{
	background:none
}

.modal--sp .modal .modal__back
{
	box-sizing:border-box;
	position:fixed;
	top:20px;
	left:20px;
	width:120px;
	height:50px;
	padding:10px;
	border-radius:50%;
	cursor:pointer;
	z-index:9999;
	font-size:32px
}

.modal--sp .modal .modal__title
{
	position:relative;
	font-size:40px;
	line-height:40px;
	margin-top:100px;
	margin-bottom:20px;
	text-align:center
}

.modal--sp .modal .modal__lineup
{
	width:100%;
	margin:0 auto;
	display:flex;
	justify-content:center;
	flex-direction:column
}

.modal--sp .modal .column
{
	margin:40px 0 300px
}

.modal--sp .modal .column .price
{
	display:block;
	font-size:48px;
	line-height:30px;
	text-align:center
}

.modal--sp .modal .column .price:before
{
	content:"Â¥";
	font-size:24px
}

.modal--sp .modal .column .price--exctax:after
{
	content:"(ç¨Žåˆ¥)";
	font-size:24px
}

.modal--sp .modal .column .price--inctax:after
{
	content:"(ç¨Žè¾¼)";
	font-size:24px
}

.modal--sp .modal .column .sku_information
{
	display:block;
	font-size:28px;
	color:#999;
	text-align:center
}

.modal--sp .modal .column .label--fixed
{
	font-size:24px
}

.modal--sp .modal .column__image
{
	text-align:center
}

.modal--sp .modal .column__image>img
{
	width:80%;
	height:auto
}

.modal--sp .modal .column__image--square
{
	margin:-40px 0
}

.modal--sp .modal .column__image--wide
{
	margin:-200px 0
}

.modal--sp .modal .column__image--long
{
	margin:20px 0
}

.modal--sp .modal .column__form
{
	width:100%
}

.modal--sp .modal .fieldset
{
	padding:1rem 0
}

.modal--sp .modal .item
{
	width:100%;
	display:flex;
	flex-flow:column nowrap;
	justify-content:center;
	position:relative;
	margin-right:20px;
	padding:10px;
	text-align:left;
	-webkit-transition:all .3s;
	transition:all .3s
}

.modal--sp .modal .item--soldout .btn--ghost
{
	border-color:#ccc;
	color:#ccc
}

.modal--sp .modal .item:last-child
{
	margin-right:0
}

.modal--sp .modal .item input[type="radio"]
{
	display:none
}

.modal--sp .modal .item__image
{
	position:relative;
	text-align:center
}

.modal--sp .modal .item__image img
{
	width:80%;
	height:auto
}

.modal--sp .modal .item__image--square
{
	margin:-20px 0
}

.modal--sp .modal .item__image--wide
{
	margin:-40px 0
}

.modal--sp .modal .item__image--long
{
	margin:15px 0
}

.modal--sp .modal .item .limited
{
	display:table;
	position:absolute;
	width:70px;
	height:70px;
	top:10px;
	right:10px;
	background:#009cdd;
	border-radius:50%;
	color:#fff
}

.modal--sp .modal .item .limited:before
{
	content:"ã‚ªãƒ³ãƒ©ã‚¤ãƒ³\aã‚¹ãƒˆã‚¢é™å®š";
	display:table-cell;
	padding:10px;
	line-height:15px;
	font-size:10px;
	vertical-align:middle
}

.modal--sp .modal .item__name
{
	position:relative;
	margin:0 0 10px;
	font-size:32px;
	line-height:40px;
	color:#666;
	text-align:center
}

.modal--sp .modal .item__product-code
{
	font-size:28px;
	color:#999
}

.modal--sp .modal .item__description
{
	text-align:center;
	color:#666;
	line-height:18px;
	font-size:13px
}

.modal--sp .modal .item__purchase
{
	clear:both;
	overflow:hidden;
	margin-top:10px;
	margin-bottom:10px
}

.modal--sp .modal .item__shipping
{
	font-size:28px;
	color:#666;
	text-align:center
}

.modal--sp .modal .item__buy
{
	width:100%;
	margin-bottom:10px;
	text-align:center
}

.modal--sp .modal .item__price
{
	font-size:36px;
	color:#666;
	text-align:center
}

.modal--sp .modal .item__price:before
{
	content:"Â¥";
	font-size:24px
}

.modal--sp .modal .item__price--exctax:after
{
	content:"(ç¨Žåˆ¥)";
	font-size:24px
}

.modal--sp .modal .item__price--inctax:after
{
	content:"(ç¨Žè¾¼)";
	font-size:24px
}

.modal--sp .modal .option__product_name
{
	font-size:32px;
	line-height:48px
}

.modal--sp .modal .option__product_code
{
	font-size:21px;
	line-height:32px;
	color:#999
}

.modal--sp .modal .option__subheading
{
	font-size:24px;
	font-weight:700;
	margin:1rem 0 0
}

.modal--sp .modal .option__spec
{
	font-size:24px;
	line-height:40px;
	margin:1rem 0
}

.modal--sp .modal .option__price:before
{
	content:"Â¥";
	font-size:24px
}

.modal--sp .modal .option__price--exctax:after
{
	content:"(ç¨Žåˆ¥)";
	font-size:24px
}

.modal--sp .modal .option__price--inctax:after
{
	content:"(ç¨Žè¾¼)";
	font-size:24px
}

.modal--sp .modal .option__shipping
{
	font-size:32px
}

.modal--sp .modal .option__description
{
	font-size:24px;
	line-height:40px;
	margin:1rem 0
}

.modal--sp .modal .option__description p
{
	margin-bottom:1rem
}

.modal--sp .modal .option__description p>em
{
	font-weight:700
}

.modal--sp .modal .input,.modal--sp .modal button,.modal--sp .modal textarea,.modal--sp .modal select
{
	background:none;
	border:none;
	border-radius:0;
	font-size:1rem;
	outline:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none
}

.modal--sp .modal .btn
{
	position:relative;
	display:block;
	box-sizing:border-box;
	border-style:none;
	border-radius:2px;
	outline:0;
	text-align:center;
	text-decoration:none;
	cursor:pointer;
	vertical-align:middle;
	-webkit-tap-highlight-color:transparent
}

.modal--sp .modal .btn--large
{
	display:block;
	width:100%;
	height:85px;
	font-size:1.8rem;
	line-height:85px;
	background-color:#4ba53a;
	color:#fff
}

.modal--sp .modal .btn--ghost
{
	display:inline-block;
	border:1px solid #4ba53a;
	color:#4ba53a;
	font-size:28px;
	background:none;
	width:100%
}

.modal--sp .modal .btn--large[disabled]
{
	background-color:#999;
	cursor:default
}

.modal--sp .modal .radio>input[type=radio]+label
{
	height:32px;
	font-size:28px
}

.modal--sp .modal .dropdown
{
	margin-top:90px;
	height:90px
}

.modal--sp .modal .dropdown__value
{
	padding:0 24px
}

.modal--sp .modal .dropdown__item--value
{
	font-size:28px;
	line-height:70px
}

.modal--sp .modal .dropdown__item--subtext
{
	font-size:20px;
	line-height:20px
}

.modal--sp .modal .dropdown__contents ul .dropdown__item
{
	height:90px
}