section.section--product {
    border-bottom: none;
}

#product .product-flexslider {
	margin: 0;
	border: none;
	border-bottom: 1px solid white;
}

#product .product-flexslider .flex-control-nav {
	display: none;
}

#product .flex-direction-nav a {
	width: 30px;
	height: 30px;
	margin: -15px 0 0;
}

#product .flex-direction-nav a:before {
	font-size: 26px;
	color: rgba(232, 111, 164, 0.7);
}

.my-gallery,
.my-gallery * {
	box-sizing: border-box;
}

.my-gallery #thumbs {
	display: flex;
	flex-wrap: wrap;
}

.my-gallery #thumbs .col-quart {
	width: 25%;
	border: 1px solid white;
}

.my-gallery #thumbs .col-quart img {
	width: 100%;
}

.section__inner .prices {
	padding-top: 30px;
	margin-bottom: 5px;
}

.section__inner .prices .price {
	font-weight: normal;
	text-align: left;
	display: block;
	width: 100%;
}

.section__inner h2.product_title {
	font-size: 18px;
	line-height: 1.5;
	text-align: left;
	letter-spacing: 0;
	color: #000000;
	margin-bottom: 10px;
}

#product .buy .buy__inner {
	text-align: right;
	margin-bottom: 20px;
}

#product .buy .buy__inner p {
	display: inline-block;
}

#product input[type="number"].buy__num {
	padding: 4px 8px;
	margin-right: 5px;
	border: 1px solid #ea6da4;
}

#product .buy .button.button--orange.button--large {
	border-radius: 15px;
	margin-bottom: 0px;
	padding: 30px 0;
}

#product .buy .button.button--orange.button--float {
	margin-bottom: 0px;
	position: fixed;
	right: 15px;
	bottom: 15px;
	z-index: 10;
	width: 150px;
	font-size: 14px;
	height: 50px;
	padding: 0;
	line-height: 50px;
	border-radius: 10px !important;
	background: rgba(234, 109, 164, 0.8);
	box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
	transform: translatey(0px);
	-webkit-animation: float_codepen 5s ease-in-out infinite;
	animation: float_codepen 5s ease-in-out infinite;
}

#product #description-toggle {
	border: 1px solid #ea6da4;
	color: #ea6da4;
	text-align: center;
	display: block;
	background-color: white;
	border-radius: 15px;
	padding: 20px 10px;
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 20px;
}

#product #special-offer-link {
	border: 1px solid #ea6da4;
	color: #ea6da4;
	text-align: center;
	display: block;
	background-color: white;
	border-radius: 15px;
	padding: 10px 10px;
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 20px;
}

#product #description-drawer {
	display: block;
}

#product #description-drawer h3 {
	border-left: 8px solid #ea6da4;
	padding-left: 10px;
	line-height: 1;
	margin-bottom: 15px;
	margin-top: 0;
}

.slidelist .slide__name {
	display: none;
}

#product #description-drawer,
#product #description-drawer * {
	transition: none !important;
}

#product .otherlist.u-cf {
	text-align: center;
}

#product .otherlist.u-cf .button--line {
	border: 1px solid #ea6da4;
	color: #ea6da4;
}

#product .otherlist.u-cf .share {
	display: inline-block;
	float: none;
	margin: 12px 0 0;
}

.linklist.linklist--breadcrumb {
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	background-color: white;
}

.linklist.linklist--breadcrumb li {
	display: inline-block;
	margin: 0 3px 0 0;
	letter-spacing: 0.4px;
}

.linklist.linklist--breadcrumb li a {
	font-size: 13px;
}

#description-drawer .table--bordered {
	margin-bottom: 15px;
	border-top: 1px solid #aaa;
}

input[type=text],
input[type=number],
textarea {
	outline: none !important;
}

input[type=text]:focus,
input[type=number]:focus,
textarea:focus {
	box-shadow: 0 0 5px rgba(234, 109, 164, 1);
	border: 1px solid rgba(234, 109, 164, 1) !important;
}

.other-price {
	justify-content: space-between;
	width: 65%;
	margin-bottom: 5px;
}

.other-price p,
.member-price {
	font-size: 12px;
	color: #ea6da4;
}

.other-price p .price--regular,
.member-price .price--regular {
	color: #ea6da4;
	text-decoration: none;
}

.buy__inner.disable_cartin {
	margin-bottom: 60px !important;
}

form.buy {
	position: relative;
}

#product input[type="number"].buy__num {
	width: 12%;
	margin-right: 0;
}

#description-drawer .table--bordered th,
#description-drawer .table--bordered td {
	padding: 7px 10px;
	border-bottom: 1px solid #aaa;
}

.description font[size="6"] {
	line-height: 1.15;
}

.description img {
	width: calc(100% + 40px);
	max-width: unset;
	margin: 0 -20px;
	display: block;
}

/* PDP CAPTURE */
#product {
	font-family: 'MPLUS1', "Hiragino Kaku Gothic ProN", "Þâ¥´¥·¥Ã¥¯", YuGothic, Meiryo, sans-serif;
	font-weight: 400;
}

.outer {
	padding-top: 50px;
}

.linklist.linklist--breadcrumb {
	min-height: 34px;
	padding: 5px 10px;
}

.linklist.linklist--breadcrumb li,
.linklist.linklist--breadcrumb li a {
	color: #4A9B0A;
}

#product .flex-direction-nav a {
	width: 30px;
	height: 30px;
	margin: -15px 0 0;
	border-radius: 50%;
	border: 1px solid #444;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0;
}

#product .flex-direction-nav a.flex-prev:before {
	content: ' ';
	width: 12px;
	height: 12px;
	border-left: 2px solid #444;
	border-top: 2px solid #444;
	transform: rotate(-45deg);
	position: relative;
	left: 2px;
}

#product .flex-direction-nav a.flex-next:before {
	content: ' ';
	width: 12px;
	height: 12px;
	border-right: 2px solid #444;
	border-top: 2px solid #444;
	transform: rotate(45deg);
	position: relative;
	left: -2px;
}

.new_atc_button {
	min-width: 320px;
	min-height: 70px;
	display: block;
	align-items: center;
	justify-content: center;
	text-transform: uppercase;
	text-align: center;
	color: #222222;
	background: #F6FFD7;
	background: linear-gradient(90deg, rgba(255, 237, 254, 1) 0%, rgb(244, 211, 244) 100%);
	border: none;
	border-radius: 1000px;
	box-shadow: 3px 8px 20px rgba(229, 118, 171, 0.40);
	transition: all 0.3s ease-in-out 0s;
	cursor: pointer;
	outline: none;
	position: relative;
	padding: 10px;
	font-size: 18px;
	margin: 0 auto;
	border: 2px solid;
}

.new_atc_button::after {
	content: '';
	width: 30px;
	height: 30px;
	border-radius: 100%;
	border: 6px solid #ea59a5;
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: ring 1.8s infinite;
}

.new_atc_button[disabled] {
	pointer-events: none;
	background: #c1c1c1;
	margin: 20px auto 30px;
	box-shadow: none;
}

.new_atc_button[disabled]::after {
	content: none;
}

@keyframes ring {
	0% {
		width: 30px;
		height: 30px;
		opacity: 1;
	}

	100% {
		width: 170px;
		height: 170px;
		opacity: 0;
	}
}

.section__inner h2.product_title {
	color: #222222;
	font-size: 20px;
	font-family: 'MPLUS1';
	font-weight: 500;
	margin-bottom: 0;
}

.section__inner h2.product_title .new_mark_img1 {
	display: none !important;
}

.product_tags .new_tag {
	color: #FF003D;
	font-family: 'Grinched';
	text-transform: lowercase;
	display: inline-block;
	font-size: 26px;
	line-height: 1;
	margin-right: 5px;
}

.product_tags img {
	display: inline-block;
}

.section__inner .prices {
	padding: 20px 15px 0px;
	margin: 0;
}

.section__inner .prices .price {
	text-align: center;
	color: #5EB246;
	font-family: 'AbadiMT';
	font-size: 20px;
	margin-bottom: 0px;
	font-size: 32px;
}

form.buy .buy__inner.quantity {
	position: static;
}

#product input[type="number"].buy__num {
	border: none;
	border-bottom: 1px solid #444444;
	color: #444444;
	font-family: 'Grinched';
	text-align: right;
	font-size: 34px;
	line-height: 36px;
    border-radius: 0;
}

.table_background {
	position: relative;
	padding: 60px 0;
	margin: 0 -20px;
}

.table_background img {
	display: block;
}

.table_background .beige_bg {
	background: #FFE8BB;
	padding: 20px 15%;
}

.table_background .wave.top {
	background: url(https://perfectworld.tokyo/perfectworld_new/images/wave_top.png);
	position: absolute;
	left: 0;
	top: 0;
	width: 800%;
	height: 60px;
	background-repeat: repeat no-repeat;
	background-position: 0 bottom;
	transform-origin: center bottom;
	background-size: 20% 60%;
	animation: move_wave 30s linear infinite;
}

.table_background .wave.bottom {
	background: url(https://perfectworld.tokyo/perfectworld_new/images/wave_bottom.png);
	position: absolute;
	left: 0;
	bottom: 30px;
	width: 800%;
	height: 60px;
	background-repeat: repeat no-repeat;
	background-position: 0 bottom;
	transform-origin: center bottom;
	background-size: 20% 60%;
	animation: move_wave 30s linear infinite;
	animation-direction: reverse;
}

#description-drawer .table--bordered {
	border-top: none;
}

.table--bordered th {
	text-align: left;
	padding: 7px 0px;
}

.table--bordered td {
	text-align: left;
	padding: 7px 0px;
}

.payoptions>div:first-child {
	width: 55%;
}

.payoptions>div:last-child {
	/* width: 42%;*/
}

.payoptions .gift_wrapping {
	background-color: #cdf5f7;
	color: #4c4c3c;
	border: 2px solid;
	height: 40px;
	line-height: 36px;
	width: 100%;
	display: block;
	font-size: 14px;
	text-align: center;
}


:root {
	--shimmer-hue-1: 213deg;
	--shimmer-sat-1: 95%;
	--shimmer-lit-1: 91%;
	--shimmer-hue-2: 248deg;
	--shimmer-sat-2: 100%;
	--shimmer-lit-2: 86%;
	--shimmer-hue-3: 293deg;
	--shimmer-sat-3: 78%;
	--shimmer-lit-3: 89%;

	--glow-hue: 222deg;
	--shadow-hue: 10deg;
	--spring-easing: linear(0, 0.002, 0.01 0.9%, 0.038 1.8%, 0.156, 0.312 5.8%, 0.789 11.1%, 1.015 14.2%,
			1.096, 1.157, 1.199, 1.224 20.3%, 1.231, 1.231, 1.226, 1.214 24.6%,
			1.176 26.9%, 1.057 32.6%, 1.007 35.5%, 0.984, 0.968, 0.956, 0.949 42%,
			0.946 44.1%, 0.95 46.5%, 0.998 57.2%, 1.007, 1.011 63.3%, 1.012 68.3%,
			0.998 84%, 1);
	--spring-duration: 1.33s;
}

@property --mask {
	syntax: "<angle>";
	inherits: false;
	initial-value: 33deg;
}

@keyframes wipe {
	0% {
		mask-position: 200% center;
	}

	100% {
		mask-position: 0% center;
	}
}

button.floating_atc {
	color: var(--bg);
	font-weight: 400;
	font-size: 15px;
	background-image: linear-gradient(315deg, #f6ffd7 0.00%, #ebf4c6 47%, #f6ffd7 100.00%);
	padding: 10px 30px;
	position: relative;
	isolation: isolate;
	border: 2px solid #4c4c4c;
	outline: none;
	border-radius: 35px;
	scale: 1;
	transition: all var(--spring-duration) var(--spring-easing);
	text-transform: unset;
	position: fixed;
	z-index: 10;
	bottom: 30px;
	right: 15px;
}

.shimmer {
	position: absolute;
	inset: -40px;
	border-radius: inherit;
	mix-blend-mode: color-dodge;
	mix-blend-mode: plus-lighter;
	pointer-events: none;
}

.shimmer::before,
.shimmer::after {
	transition: all 0.5s ease;
	opacity: 0;
	content: "";
	border-radius: inherit;
	position: absolute;
	inset: 40px;
}

.shimmer::before {
	box-shadow: 0 0 3px 2px #ffe8bb,
		0 0 5px 2px #ffe8bb,
		0 0 10px 2px #ffe8bb,
		0 0 20px 2px #ffe8bb;
	z-index: -1;
}

.shimmer::after {
	box-shadow: inset 0 0 0 1px hsl(var(--shimmer-hue-2) 70% 95%),
		inset 0 0 1px 1px hsl(var(--shimmer-hue-2) 100% 80%),
		inset 0 0 3px 1px hsl(var(--shimmer-hue-2) 100% 70%);
	z-index: 2;
}

button.floating_atc[disabled] {
	background: rgb(76 76 92);
	background-image: none;
}

button.floating_atc .text {
	background-clip: text;
	background-repeat: no-repeat;
	background-size: 300% 300%;
	background-position: center 200%;
}

button.floating_atc:not([disabled]) .shimmer::before,
button.floating_atc:not([disabled]) .shimmer::after {
	opacity: 1;
}

button.floating_atc:not([disabled])[data-effect=wipe] .shimmer {
	mask-image: linear-gradient(90deg, transparent 20%, #ffe8bb 88%, transparent 90%);
	mask-size: 200% 200%;
	mask-position: center;
	animation: wipe 2s linear infinite both -0.5s;
}