@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&display=swap');
.feature_main {
		max-width: 1280px;
		margin: 0 auto 80px;
}
.products_detail_wrap {
		margin-top: 0;
}
.feature_main img {
		width: 100%;
		height: auto;
}
.feature_wrap {
		max-width: 1020px;
		margin: 0 auto 80px;
		padding: 0 10px;
}
.feature_catch {
		font-size: 34px;
		font-weight: 300;
		line-height: 1.6;
		margin: 0 0 40px;
		text-align: center;
		padding-top: 35px;
}
.feature_name_col {
		max-width: 780px;
		margin: 0 auto 40px;
		text-align: center;
}
.feature_name {
		margin-bottom: 60px;
}
.feature_product {
		text-align: center;
		font-size: 30px;
		font-weight: 300;
		padding-bottom: 10px;
		border-bottom: 1px solid #b9b9b9;
}
.feature_price {
		text-align: center;
		font-size: 16px;
		padding-top: 15px;
}
.feature_nav {
		list-style: none
}
.feature_nav ul {
		display: flex;
		justify-content: space-between;
		list-style: none
}
.feature_nav li {
		width: calc(calc(100% - 46px) / 3);
		position: relative;
}
.feature_nav li::after {
		content: '';
		display: block;
		width: 6px;
		height: 6px;
		border-bottom: 1px solid #4c4949;
		border-right: 1px solid #4c4949;
		position: absolute;
		bottom: 20px;
		left: calc(50% - 3px);
		transform: rotate(45deg);
		pointer-events: none
}
.feature_nav li a {
		text-decoration: none;
		display: flex;
		justify-content: center;
		height: 100px;
		border: 1px solid #e1e1e1;
		text-align: center;
		box-sizing: border-box;
		position: relative;
}
.feature_nav_outer {
		width: 100%;
		height: 100%;
		padding-top: 20px;
		pointer-events: none;
}
.feature_nav_outer:lang(en) {
		display: flex;
		justify-content: center;
		align-items: center;
		padding-top: 0;
}
.feature_nav li a::before, .feature_nav li a::after {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		background: #a11d23;
		transition: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleX(0);
}
.feature_nav li a::before {
		top: 0;
		transform-origin: left center;
}
.feature_nav li a::after {
		bottom: 0;
		transform-origin: right center;
}
.feature_nav_outer::before, .feature_nav_outer::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		width: 1px;
		height: 100%;
		pointer-events: none;
		z-index: 5;
		background: #a11d23;
		transition: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleY(0);
}
.feature_nav_outer::before {
		top: 0;
		left: 0;
		transform-origin: center top;
}
.feature_nav_outer::after {
		top: 0;
		right: 0;
		transform-origin: center bottom;
}
@media (hover: hover) {
		.feature_nav li a:hover, .feature_nav li a:hover * {
				color: #a11d23;
		}
		.feature_nav li:hover::after {
				border-bottom: 1px solid #a11d23;
				border-right: 1px solid #a11d23;
		}
		.feature_nav li a:hover::before, .feature_nav li a:hover::after {
				transform: scaleX(1);
		}
		.feature_nav li a:hover .feature_nav_outer::before, .feature_nav li a:hover .feature_nav_outer::after {
				transform: scaleY(1);
		}
}
.feature_nav .en {
		color: #9d1d23;
		font-weight: 500;
		font-size: 12px;
		font-family: 'Helvetica LT W01 Roman';
		margin: 0
}
.feature_nav .en:lang(en) {
		font-size: 20px;
}
.feature_nav .jp {
		font-size: 20px;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 400;
		color: #4c4949;
}
.feature_grid {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 auto 60px;
		max-width: 1000px;
}
.feature_item {
		width: 490px;
		margin: 0 0 70px;
}
.feature_item_thumb {
		margin: 0 0 20px;
}
.feature_item_thumb img {
		width: 100%;
		height: auto;
}
.feature_item_sb {
		font-size: 20px;
		line-height: 1.6;
		font-weight: 500;
		margin: 0 0 5px;
}
.feature_item_sb:lang(en) {
		font-size: 18px;
		line-height: 1.4;
}
.feature_item_caption p {
		line-height: 1.8;
}
.feature_item_caption p:lang(en) {
		line-height: 1.6;
}
.cart_btn.extra {
		width: 240px !important;
}
.cart_btn.extra:lang(en) {
		width: 280px !important;
}
.cart_btn.extra a:lang(en) {
		display: flex;
		align-items: center;
		height: 60px;
		line-height: 1.4;
		padding-left: 20px;
}
.cart_btn.extra:lang(en)::after {
		top: 17px
}
.cart_btn_center {
		display: flex;
		justify-content: center;
		margin: 60px 0 0;
}
@media(max-width: 1300px) {
		.feature_item {
				width: calc(calc(100% - 20px) / 2);
		}
}
@media(max-width: 767px) {
		.feature_wrap {
				margin: 0 auto 40px;
		}
		.feature_product {
				font-size: 20px;
				padding-bottom: 10px;
		}
		.feature_product:lang(en) {
				text-align: left;
				line-height: 1.4;
		}
		.feature_product:lang(en) br:not(.extra) {
				display: none
		}
		.feature_main {
				margin: 0 auto 40px;
				padding: 0 10px;
		}
		.feature_catch {
				font-size: 20px;
				margin: 0 0 25px;
				padding-top: 20px;
		}
		.feature_catch:lang(en) {
				line-height: 1.4;
				text-align: left;
		}
		.feature_catch:lang(en) br:not(.extra) {
				display: none
		}
		.feature_name {
				margin-bottom: 40px;
		}
		.feature_price {
				font-size: 16px;
				padding-top: 13px;
		}
		.feature_grid {
				display: block;
		}
		.feature_item_sb, .feature_item_sb:lang(en) {
				font-size: 18px;
				margin: 0 0 5px;
		}
		.feature_item {
				width: 100%;
				margin: 0 0 60px;
		}
		.feature_nav li {
				width: calc(calc(100% - 20px) / 3);
				position: relative;
		}
		.feature_nav .en {
				font-size: 8px;
		}
		.feature_nav .jp {
				font-size: 16px;
		}
		.feature_nav .en:lang(en) {
				font-size: 16px;
		}
		.feature_nav li a {
				height: 80px;
		}
		.feature_nav_outer {
				padding-top: 18px;
		}
		.feature_nav_outer:lang(en) {
				display: flex;
				justify-content: center;
				align-items: center;
				padding-top: 0;
				height: 65px;
		}
		.feature_nav li::after {
				bottom: 15px;
		}
		.cart_btn_center {
				margin: 40px 0 0;
		}
}
/* ================= */
.feature_movie {
		max-width: 1100px;
		margin: 0 auto 120px;
		padding: 0 10px;
}
.youtube_col_player {
		position: relative;
		width: 100%;
		padding-top: 56.25%;
}
@media(max-width: 767px) {
		.feature_movie {
				margin: 0 auto 60px;
		}
}
.youtube_col iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100% !important;
		height: 100% !important;
}
#movieOverLay {
		background: rgba(255, 255, 255, 0.96);
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		display: none;
}
.movie_close {
		position: absolute;
		right: 50px;
		top: 30px;
		width: 48px;
		height: 48px;
		cursor: pointer;
		border: 1px solid #a11d23;
		border-radius: 50%;
}
.movie_close .movie_close_bar {
		position: absolute;
		width: 20px;
		height: 1px;
		top: 23px;
		left: 14px;
}
.movie_close .movie_close_bar:first-child {
		transform: rotate(-45deg);
}
.movie_close .movie_close_bar:last-child {
		transform: rotate(45deg);
}
.movie_close_bar::after {
		content: '';
		display: block;
		width: 20px;
		height: 1px;
		background: #a11d23;
		position: absolute;
		top: 0;
		left: 0;
		transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
		transform-origin: right center;
		transform: scaleX(0);
}
.movie_close .movie_close_bar:first-child::after {
		transition-delay: 0.3s;
}
.movie_close .movie_close_bar:last-child::after {
		transition-delay: 0.45s;
}
.movie_close.isActive .movie_close_bar::after {
		transform: scaleX(1);
}
.movie_popup_player {
		width: 70%;
		margin: auto;
		position: absolute;
		aspect-ratio: 16 / 9;
		object-fit: cover;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 10;
}
#player_box {
		width: 100%;
		height: 100%;
}
@media(max-width: 1500px) {
		.movie_close {
				right: 30px;
		}
		.movie_popup_player {
				width: 80%;
		}
}
@media (max-width: 767px) {
		.movie_popup_player {
				width: 100%;
				aspect-ratio: 16 / 9;
				object-fit: cover;
				margin: auto;
		}
		.movie_close {
				right: 20px;
				top: 20px;
		}
}
.movie_tile_item_thumb {
		position: relative;
}
.movie_tile_item_thumb_in {
		position: relative;
}
.movie_tile_item_thumb_in::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.6);
		mix-blend-mode: multiply;
		pointer-events: none;
}
.movie_tile_item_thumb img {
		width: 100%;
		height: auto;
}
.movie_tile_item_thumb {
		position: relative;
		overflow: hidden;
}
.movie_tile_item_thumb::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 55px);
		left: calc(50% - 55px);
		width: 110px;
		height: 110px;
		border-radius: 50%;
		border: 1px solid #fff;
		box-sizing: border-box;
		pointer-events: none;
		z-index: 10;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.movie_tile_item_thumb::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 15px);
		left: calc(50% - 10px);
		width: 0;
		height: 0;
		border-top: 15px solid transparent;
		border-bottom: 15px solid transparent;
		border-left: 26px solid #fff;
		border-right: 0;
		z-index: 10;
		pointer-events: none;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@media(max-width: 767px) {
		.movie_tile_item_thumb::before {
				top: calc(50% - 25px);
				left: calc(50% - 25px);
				width: 50px;
				height: 50px;
		}
		.movie_tile_item_thumb::after {
				top: calc(50% - 5.5px);
				left: calc(50% - 4px);
				border-top: 6px solid transparent;
				border-bottom: 6px solid transparent;
				border-left: 11px solid #fff;
				border-right: 0;
		}
}
@media (hover: hover) {
		.movie_tile_item:hover .movie_tile_item_thumb::before {
				transform: scale(1.3);
		}
}
.movie_tile_item_thumb img {
		width: 100%;
		height: auto;
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.movie_tile_item_thumb_in {
		position: relative;
}
.movie_tile_item_thumb_in::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.15);
		pointer-events: none;
		z-index: 1;
}
@media (hover: hover) {
		.movie_tile_item_thumb:hover img {
				transform: scale(1.06)
		}
}