@charset "UTF-8";

/*==============================
  COMMON
==============================*/
html {
	font-weight: normal;
}
body,
body .u-text--body {
	font-family: hiragino-kaku-gothic-pron, sans-serif;
	color: #333;
	line-height: 1;
	letter-spacing: .05em;
}
img {
	max-width: 100%;
}
a,
a:hover,
a:visited {
	text-decoration: none !important;
}
.br-sp {
	display: block !important;
}
.br-pc {
	display: none !important;
}
picture img {
	width: 100%;
}

/* FONT */
body,
body .u-text--body {
	font-family: 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'YuGothic M', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, Arial, sans-serif;
	font-size: 14px;
}
.nimbus {
	font-family: nimbus-sans-dv, sans-serif;
	font-weight: 500;
}
.bold {
	font-family: 'Yu Gothic', '游ゴシック', YuGothic, '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, Arial, sans-serif;
	font-weight: bold;
}
@media screen and (min-width: 768px) {
	.br-sp {
		display: none !important;
	}
	.br-pc {
		display: block !important;
	}
}



/*------------------------------
  New item
------------------------------*/
/* 768px ~ */
@media screen and (min-width: 768px) {
	.img-newitem {
		display: block;
		margin: 0 auto;
		width: 90%;
		max-width: 1348px;
	}
}



/*------------------------------
  Header - MV, Logo, Slider
------------------------------*/
.slider-block {
	position: relative;
	overflow: hidden;
	margin: 12vw auto 0;
}
.slick-prev:before,
.slick-next:before {
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background-size: contain;
	opacity: 1;
}
.slick-prev:before {
	background: url(../img/arrow_l.svg) no-repeat;
}
.slick-next:before {
	background: url(../img/arrow_r.svg) no-repeat;
}
.shop-link {
	position: absolute;
	top: 2.8%;
	left: 5.5%;
	padding: 3.3vw 0;
	width: 20%;
	border: 1px solid #fff;
	border-radius: 1.5vw;
	font-size: 3.5vw;
	text-align: center;
	line-height: 1;
	color: #fff;
	z-index: 2;
}

.shop-link::after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	background: #00255b57;
	border-radius: 1.5vw;
	opacity: 0;
	z-index: -1;
	transition: 500ms;
}
.shop-link:hover::after {
	opacity: 1;
	transition: 500ms;
}
.slick-dots li {
	margin: 0 .5vw;
}
.slick-dots li button:before {
	font-size: 1.8vw;
}

/* 768px ~ */
@media screen and (min-width: 768px) {
	#header {
		padding-top: 60px;
	}
	.img-newitem-cp {
		display: block;
		margin: 0 auto;
		width: 90%;
		max-width: 1349px;
	}
	.slider-block {
		overflow: visible;
		margin: 100px auto 0;
		width: 90%;
		max-width: 1348px;
	}
	.slick-arrow {
		transition: 200ms;
	}
	.slick-arrow:hover {
		opacity: .8;
		transition: 200ms;
	}
	.slick-prev,
	.slick-next {
		width: 25px;
		height: 45px;
	}
	.slick-prev {
		left: -60px;
	}
	.slick-next {
		right: -60px;
	}
	.slick-prev:before,
	.slick-next:before {
		display: block;
		content: "";
		width: 100%;
		height: 100%;
		background-size: contain;
		opacity: 1;
	}
	.slick-prev:before {
		background: url(../img/arrow_l.svg) no-repeat;
	}
	.slick-next:before {
		background: url(../img/arrow_r.svg) no-repeat;
	}
	.slick-dots {
		bottom: -30px;
	}
	.slick-dots li {
		margin: 0;
	}
	.slick-dots li button:before {
		font-size: 12px;
	}
	.shop-link {
		position: absolute;
		top: 6%;
		left: auto;
		right: 1.4%;
		padding: 18px 0;
		width: 12.4%;
		max-width: 165px;
		border-radius: 11px;
		font-size: 19px;
	}

	.shop-link p {
		text-decoration: underline;
		text-underline-offset: .3em;
		text-decoration: none;
	}
	.shop-link::after {
		border-radius: 11px;
	}
}

/* 768px ~ 1515px */
@media screen and (min-width: 768px) and (max-width: 1515px) {
	.slick-prev,
	.slick-next {
		width: 1.6vw;
		height: 3vw;
	}
	.slick-prev {
		left: -3.5vw;
	}
	.slick-next {
		right: -3.5vw;
	}
	.shop-link {
		padding: 1.23vw 0;
		border-radius: .6vw;
		font-size: 1.23vw;
	}
	.shop-link::after {
		border-radius: .6vw;
	}
}



/*------------------------------
  Section - Concept
------------------------------*/
.concept {
	margin: 15vw auto 0;
}
.brand-img-01-block {
	position: relative;
}
.brand-img-01-block::after {
	content: "";
	position: absolute;
	bottom: -6.5vw;
	right: 0;
	width: 88%;
	height: 100%;
	background: #f3f8ff;
}
.brand-img-01 {
	position: relative;
	margin-left: -2vw;
	width: 88%;
	opacity: 0;
	z-index: 1;
}
.is-inview .brand-img-01 {
	margin-left: 0;
	opacity: 1;
	transition: 1000ms;
}
.concept-textblock-01 {
	margin: 20vw auto 0;
	text-align: center;
}
.brand-title {
	width: 50vw;
	opacity: 0;
	filter: blur(5vw);
	transform: scale(1.1);
	transition: all 1500ms cubic-bezier(0.65, 0.05, 0.36, 1);
}
.is-inview .brand-title {
	opacity: 1;
	filter: blur(0);
	transform: scale(1);
}
.brand-text {
	margin-top: 4vw;
	font-size: 3vw;
	line-height: 2.6;
	letter-spacing: .12em;
}
.concept-block-02 {
	margin: 11vw auto 0;
}
.concept-block-02 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.concept-textblock-02 {
	order: 2;
	position: relative;
	margin: 12vw auto 0;
}
.brand-img-02-block {
	opacity: 0;
}
.is-inview .brand-img-02-block {
	opacity: 1;
	transition: 1000ms;
}
.brand-img-02 {
	width: 58vw;
}
.feature-title {
	position: relative;
	font-size: 6.8vw;
	letter-spacing: .08em;
	color: #00255b;
	z-index: 1;
}
.feature-text {
	position: relative;
	margin-top: 4.5vw;
	font-size: 3vw;
	line-height: 2.6;
	letter-spacing: .12em;
	z-index: 1;
}
.feature-bg {
	position: absolute;
	bottom: -16vw;
	right: -9vw;
	width: 54vw;
	z-index: 0;
}

/* 768px ~ */
@media screen and (min-width: 768px) {
	.concept {
		margin: 170px auto 0;
		padding-left: 50px;
		width: 90%;
		max-width: 1200px;
	}
	.concept-block-01 {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.brand-img-01-block {
		width: 51%;
		max-width: 582px;
	}
	.brand-img-01-block::after {
		content: none;
	}
	.brand-img-01 {
		margin-left: -30px;
		width: 100%;
	}
	.concept-textblock-01 {
		margin: 0;
		padding: 0 5.8%;
		width: 49%;
		text-align: center;
	}
	.brand-title {
		width: 93%;
		max-width: 400px;
	}
	.brand-text {
		margin-top: 30px;
		padding-left: 15px;
		font-size: 18px;
		text-align: center;
		line-height: 2.2;
	}
	.concept-block-02 {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: nowrap;
		margin-top: 130px;
	}
	.concept-textblock-02 {
		order: 0;
		margin: 0;
		width: 57%;
	}
	.feature-title {
		font-size: 50px;
	}
	.feature-text {
		margin-top: 40px;
		font-size: 18px;
		line-height: 2.2;
	}
	.brand-img-02-block {
		position: relative;
		margin-right: -30px;
		width: 43%;
		max-width: 492px;
		opacity: 0;
		z-index: 1;
	}
	.is-inview .brand-img-02-block {
		margin-right: 0;
		opacity: 1;
	}
	.feature-bg {
		position: absolute;
		bottom: -29%;
		right: 10%;
		width: 65%;
		z-index: 0;
	}
}

/* 768px ~ 1350px */
@media screen and (min-width: 768px) and (max-width: 1350px) {
	.brand-text {
		font-size: 1.34vw;
	}
	.concept-block-02 {
		margin-top: 10vw;
	}
	.feature-title {
		font-size: 3.7vw;
	}
	.feature-text {
		margin-top: 2vw;
		font-size: 1.34vw;
	}
	.feature-bg {
		bottom: -6.7vw;
		right: 4.8vw;
		width: 31.6vw;
	}
}



/*------------------------------
  PRODUCT
------------------------------*/
.product {
	margin: 24vw auto 0;
	padding: 0 0 22vw;
	background: #f8faff;
}
.product-title-block {
	margin: 20vw auto 0;
	text-align: center;
}
.product-title {
	font-size: 6.8vw;
	line-height: 1;
	letter-spacing: .08em;
	color: #00255b;
}
.product-title-jp {
	margin-top: 2.8vw;
	font-size: 2.8vw;
	letter-spacing: .08em;
	color: #00255b;
}
.product-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8vw 3.5vw;
	margin: 10vw auto 0;
	width: 90%;
}
.product-item a {
	display: block;
	position: relative;
	border-top-left-radius: 25vw;
	border-top-right-radius: 25vw;
	color: #505050;
}
.product-img-mask {
	overflow: hidden;
	border-top-left-radius: 25vw;
	border-top-right-radius: 25vw;
}
.product-name {
	margin: 2.8vw 0 2vw;
	font-size: 3vw;
	line-height: 1.5;
	letter-spacing: .15em;
	font-feature-settings: "palt" 1;
}
.product-name span {
	display: block;
	font-size: 2.3vw;
}
.product-price {
	font-size: 4vw;
}
.product-price-tax {
	font-size: 2vw;
	letter-spacing: .2em;
}
.product-item a .product-img {
	transform-origin: bottom;
	transition: 1s cubic-bezier(.08,.69,.61,.95);
}
.product-item a:hover .product-img {
	transform: scale(1.1);
	transition: 1s cubic-bezier(.08,.69,.61,.95);
}
.product-item a:hover p {
	color: #00255b;
}
.product-rank {
	position: absolute;
	top: 0vw;
	right: 2.5vw;
	width: 15.5vw;
	z-index: 1;
}
.regular-block {
	position: relative;
	margin: 7vw auto 0;
	width: 90%;
}
.regular-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	bottom: 20vw;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 68vw;
	height: 13vw;
	background: #00255b;
	border-radius: 10vw;
	font-size: 3.7vw;
	font-weight: normal;
	letter-spacing: .1em;
	color: #fff;
}
.regular-btn::after {
	position: absolute;
	right: 8.5vw;
	content: "";
	width: 1.4vw;
	height: 2.5vw;
	background: url(../img/arrow_white.svg) no-repeat;
	background-size: contain;
}
.regular-btn:hover {
	opacity: .9;
	transition: 500ms;
}
.regular-btn:hover::after {
	right: 7.6vw;
	transition: 500ms;
}

/* 768px ~ 1399px */
@media screen and (min-width: 768px) {
	.product {
		margin: 250px auto 0;
		padding-bottom: 200px;
	}
	.product-title-block {
		margin: 100px auto 0;
	}
	.product-title {
		font-size: 50px;
	}
	.product-title-jp {
		margin-top: 15px;
		font-size: 16px;
	}
	.product-list {
		grid-template-columns: repeat(4, 1fr);
		gap: 80px 28px;
		margin: 70px auto 0;
		width: 90%;
		max-width: 1104px;
	}
	.product-item {
		max-width: 255px;
	}
	.product-item a {
		border-top-left-radius: 150px;
		border-top-right-radius: 150px;
	}
	.product-img-mask {
		border-top-left-radius: 150px;
		border-top-right-radius: 150px;
	}
	.product-name {
		margin: .85em 0;
		height: 3em;
		font-size: min(1.6vw, 18px);
	}
	.product-name span {
		font-size: min(1.4vw, 16px);
	}
	.product-price {
		font-size: min(1.9vw, 21px);
	}
	.product-price-tax {
		font-size: min(1.0vw, 12px);
	}
	.product-item a .product-img {
		transform-origin: bottom;
		transition: 1s cubic-bezier(.08,.69,.61,.95);
	}
	.product-item a:hover .product-img {
		transform: scale(1.1);
		transition: 1s cubic-bezier(.08,.69,.61,.95);
	}
	.product-item a:hover p {
		color: #00255b;
	}
	.product-rank {
		top: 2.5%;
		right: 4%;
		width: 39%;
		max-width: 97px;
	}
	.regular {
		margin: 250px auto 0;
	}
	.regular-block {
		margin: 70px auto 0;
		width: 90%;
		max-width: 1105px;
	}
	.regular-btn {
		bottom: 10%;
		left: 10.9%;
		right: inherit;
		width: 37.4%;
		max-width: 413px;
		height: 3.2em;
		border-radius: 50px;
		font-size: min(1.8vw, 22px);
		transition: 500ms;
	}
	.regular-btn::after {
		right: 12%;
		width: 1.7%;
		height: 19%;
		transition: 500ms;
	}
	.regular-btn:hover::after {
		right: 11%;
	}
}

/* 768px ~ 1350px */
@media screen and (min-width: 768px) and (max-width: 1350px) {
	.product {
		margin: 18vw auto 0;
	}
}

/* 768px ~ 1200px */
@media screen and (min-width: 768px) and (max-width: 1200px) {
	.product-title-block {
		margin: 8vw auto 0;
	}
	.product-list {
		gap: 6.5vw 2.3vw;
		margin: 6vw auto 0;
	}
	.regular {
		margin: 21vw auto 0;
	}
}



/*------------------------------
  bottom section
------------------------------*/
.bottom-section {
	padding: 20vw 0 50vw;
	background: url(../img/sp/bottom_bg.webp);
	background-repeat: repeat-y;
	background-size: 100%;
	background-position: center -20.5vw;
}

/* 768px ~ */
@media screen and (min-width: 768px) {
	.bottom-section {
		margin: 0 auto;
		padding: 100px 0 200px;
		width: 100%;
		max-width: 2370px;
		background: url(../img/pc/bottom_bg.webp);
		background-repeat: repeat-y;
		background-size: 2370px;
		background-position: center -213px;
	}
}

/* 768px ~ 2390px */
@media screen and (min-width: 768px) and (max-width: 2390px) {
	.bottom-section {
		/* max-width: 1920px; */
		background-size: 2370px;
		background-position: center -213px;
	}
}

/* 768px ~ 1300px */
@media screen and (min-width: 768px) and (max-width: 1300px) {
	.bottom-section {
		padding: 8vw 0 20vw;
		background-size: 160%;
		background-position: center -12.5vw;
	}
}



/*------------------------------
  Instagram
------------------------------*/
.instagram-title-block {
	margin: 0 auto 0;
	text-align: center;
}
.insta-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2vw;
	margin: 9vw auto 0;
	width: 100%;
}
.gallery-item {
	width: 32vw;
	height: 40.0054vw;
	overflow: hidden;
}
.gallery-item a {
	display: block;
}
.gallery-item a img {
	transition: 1s cubic-bezier(.08,.69,.61,.95);
}
.gallery-item a:hover img {
	transform: scale(1.1);
	transition: 1s cubic-bezier(.08,.69,.61,.95);
}

/* 768px ~ */
@media screen and (min-width: 768px) {
	.instagram-title-block {
		margin: 0 auto 0;
		text-align: center;
	}
	.insta-list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 58px;
		margin: 80px auto 0;
		width: 80%;
		max-width: 1028px;
	}
	.gallery-item {
		max-width: 304px;
		max-height: 380.05px;
		overflow: hidden;
	}
	.gallery-item a {
		display: block;
	}
	.gallery-item a img {
		transition: 1s cubic-bezier(.08,.69,.61,.95);
	}
	.gallery-item a:hover img {
		transform: scale(1.1);
		transition: 1s cubic-bezier(.08,.69,.61,.95);
	}
}

/* 768px ~ 1300px */
@media screen and (min-width: 768px) and (max-width: 1300px) {
	.insta-list {
		gap: 4.3vw;
		margin: 6vw auto 0;
	}
	.gallery-item {
		width: 23.4vw;
		height: 29.2524vw;
	}
}



/*------------------------------
  MEDIA
------------------------------*/
.media {
	margin: 24vw auto 0;
	text-align: center;
}
.media-slider-ff {
	margin: 10vw auto 0;
	width: 80%;
}
.media-slider-list {
	margin: 0 2vw;
}
.media-text {
	margin-top: 3vw;
	font-size: 2.8vw;
	line-height: 1.3;
}
.media-slider-ff .slick-prev,
.media-slider-ff .slick-next {
	top: 40%;
	width: 2.5vw;
	height: 5vw;
}
.media-slider-ff .slick-prev {
	left: -5.5vw;
}
.media-slider-ff .slick-next {
	right: -5.5vw;
}
.media-slider-ff .slick-dots {
	bottom: -7vw;
}
.media-slider-ff .slick-dots li {
	margin: 0;
}

/* 768px ~ */
@media screen and (min-width: 768px) {
	.media {
		margin: 270px auto 0;
	}
	.media-slider-ff {
		margin: 65px auto 0;
		width: 100%;
		max-width: 800px;
	}
	.media-slider-list {
		margin: 0;
	}
	.media-slider-ff .slider-img {
		width: auto;
		margin: 0 auto;
	}
	.media-text {
		margin-top: 15px;
		font-size: min(2vw, 20px);
		line-height: 1.5;
	}
	.media-slider-ff .slick-prev,
	.media-slider-ff .slick-next {
		top: 41%;
		width: 33px;
		height: 60px;
	}
	.media-slider-ff .slick-prev {
		left: -100px;
	}
	.media-slider-ff .slick-next {
		right: -100px;
	}
	.media-slider-ff .slick-dots {
		bottom: -55px;
	}
}

/* 768px ~ 1300px */
@media screen and (min-width: 768px) and (max-width: 1300px) {
	.media {
		margin: 20vw auto 0;
	}
	.media-slider-ff {
		margin: 5vw auto 0;
		width: 80%;
	}
	.media-slider-list {
		padding: 0 1.7vw;
	}
	.media-slider-ff .slick-prev,
	.media-slider-ff .slick-next {
		width: 2.53vw;
		height: 4.7vw;
	}
	.media-slider-ff .slick-prev {
		left: -7.7vw;
	}
	.media-slider-ff .slick-next {
		right: -7.7vw;
	}
	.media-slider-ff .slick-dots {
		bottom: -4vw;
	}
}



/*------------------------------
  NEWS
------------------------------*/
.news {
	margin: 29vw auto 0;
}
.news-title-block {
	text-align: center;
}
.news-list {
	margin: 5vw auto 0;
	width: 76%;
}
.news-list li {
	padding: 1.65em 0 1.55em;
	border-bottom: 1px solid #505050;
	font-size: 3vw;
}
.news-date {
	margin: 0 0 .4em 0;
	font-size: 3vw;
	color: #00255b;
}
.news-text {
	font-size: 3vw;
	line-height: 1.2;
}
.news-text-pr-text {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.news-text-link {
	display: block;
	text-align: right;
	margin-top: 3%;
	font-size: 2.8vw;
}
.news-text a {
	font-size: 2.5vw;
	color: #000;
}
.news-text-link a {
	color: initial;
}

/* 768px ~ */
@media screen and (min-width: 768px) {
	.news {
		margin: 320px auto 0;
	}
	.news-list {
		margin: 50px auto 0;
		width: 80%;
		max-width: 720px;
	}
	.news-list li {
		display: flex;
		/* align-items: center; */
		justify-content: flex-start;
		padding: 28px 0 29px;
		border-bottom: 1px solid #505050;
	}
	.news-date {
		margin: 0 1em 0 0;
		font-size: 16px;
		color: #00255b;
	}
	.news-text {
		font-size: 16px;
	}
	
	.news-list li a:hover {
		color: #00255b;
	}
	.news-text-link {
		font-size: 14px;
		margin-top: 10px;
	}
	.news-text a {
		font-size: 1vw;
	}
}

/* 768px ~ 1300px */
@media screen and (min-width: 768px) and (max-width: 1300px) {
	#news {
		margin: 20vw auto 0;
	}
	.news-list {
		margin: 3.8vw auto 0;
	}
}


/*------------------------------
  Footer
------------------------------*/
footer {
	position: relative;
	background-color: #00255b;
	padding: 12vw 5vw 9vw;
	text-align: center;
}
.footer-logo-ff {
	margin-bottom: 10vw;
	width: 22vw;
}
.footer-text {
	margin-bottom: .8em;
	line-height: 1.6;
	letter-spacing: .06em;
	font-size: 3.2vw;
	color: #fff;
}
.footer-text a {
	color: #fff;
	text-decoration: none;
}
.mailto {
	color: #fff;
}
.footer-logo-cc-link {
	display: inline-block;
	margin: 3vw auto 0;
	width: 45vw;
}

/* back to top */
.btt {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -25vw;
	right: 6%;
	margin: 0 auto;
	width: 12vw;
	height: 12vw;
	background-color: #00255b;
	cursor: pointer;
}
.btt i {
	color: #FFF;
}

/* 768px ~ 1399px */
@media screen and (min-width: 768px) {
	footer {
		margin-top: 0;
		padding: 80px 0 30px;
	}
	.footer-logo-ff {
		margin-bottom: 80px;
		width: 110px;
	}
	.footer-text-flex {
		display: flex;
		justify-content: center;
	}
	.mail-address {
		position: relative;
		margin-left: 65px;
	}
	.mail-address::before {
		position: absolute;
		top: 22%;
		left: -8.2%;
		height: 1em;
		content: '';
		border-left: 1px solid #fff;
	}
	.footer-text {
		font-size: 13px;
	}
	.footer-space {
		margin-left: 1em;
	}
	.mailto {
		text-decoration: none;
	}
	.mailto:hover {
		text-decoration: underline !important;
	}
	.footer-logo-cc-link {
		margin: 20px auto 0;
		width: 250px;
	}

	/* back to top */
	.btt {
		top: -40%;
		left: inherit;
		right: 5.5vw;
		width: 60px;
		height: 60px;
		font-size: 18px;
		transition: 200ms;
	}
	.btt:hover {
		background-color: #0c3674;
	}
}



/*------------------------------
  AOS調整
------------------------------*/
[data-aos=fade-up] {
	transform: translate3d(0,30px,0);
}
[data-aos=fade-right] {
	transform: translate3d(-30px,0,0);
}
[data-aos=fade-left] {
	transform: translate3d(30px, 0, 0);
}
@media screen and (max-width: 767px) {
	[data-aos=fade-right],
	[data-aos=fade-left] {
		transform: translate3d(0,30px,0);
	}
}



/*------------------------------
  2025/0130
------------------------------*/
.product-rank {
	top: -3vw;
	right: -1vw;
	z-index: 0;
}
.product-item {
	position: relative;
}
.new-item-block {
	position: relative;
}
.new-item-block .regular-btn {
	width: 51.2vw;
	max-width: 424px;
	font-size: 3.9vw;
	height: 9.8vw;
}
.new-item-block .regular-btn.ff-bcm {
	bottom: 196vw;
}
.new-item-block .regular-btn.ff-chp-rskn {
	bottom: 12vw;
}
.product-name {
	height: 3em;
}
.product-price-txt {
	font-size: 2.8vw;
	letter-spacing: 0.2em;
}
.regular-btn::after {
	background: url(../img/arrow_white.png) no-repeat;
	background-size: contain;
}

@media screen and (min-width: 768px) {
	.product-list {
		width: 50.8vw;
		max-width: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 80px 5.5vw;
	}
	.product-item {
		width: 13.2vw;
	}
	.product-rank {
		top: -5.5%;
		right: -4%;
	}
	.new-item-block {
		margin: 0 auto;
		width: 90%;
		max-width: 1348px;
	}
	.new-item-block .regular-btn {
		width: 18.9%;
		max-width: 253px;
		height: 2.85em;
		font-size: min(1vw, 20px);
	}
	.new-item-block .regular-btn::after {
		width: 3.7%;
		height: 21%;
	}
	.new-item-block .regular-btn:hover::after {
		right: 10%;
	}
	.new-item-block .regular-btn.ff-bcm {
		bottom: 69%;
		left: 5.5%;
	}
	.new-item-block .regular-btn.ff-chp-rskn {
		bottom: 5.5%;
		left: 62.3%;
	}
	.new-item-block .img-newitem-cp {
		width: 100%;
		max-width: none;
	}
	.product-name {
		font-size: min(0.9vw, 18px);
	}
	.product-name span {
		font-size: min(0.8vw, 16px);
	}
	.product-price {
		font-size: min(1.1vw, 21px);
	}
	.product-price-tax {
		font-size: min(0.6vw, 12px);
	}
	.product-price-txt {
		font-size: min(0.8vw, 16px);
	}
	.content-product-more-btn .info-txt {
		font-size: .8vw;
	}
}

/* -----------------------------------
MORE BTN
----------------------------------- */
.content-product-more {
	font-family: nimbus-sans-dv, sans-serif;
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-start;
	width: 100%;
	height: 8.9vw;
	margin: 4.8vw auto 6.2vw;
	transition: all .5s;
}
.content-product-more.opened .content-product-more-btn::before {
	background: #fff;
	transition: 500ms;
}
.content-product-more.open.opened .content-product-more-btn::before {
	background: #00255b;
	/* outline-color: rgba(0, 0, 0, 0); */
}
.content-product-more.opened.open .content-product-more-btn span {
	color: #fff;
}
.content-product-more.opened .content-product-more-btn span {
	color: #00255b;
}
.content-product-more.opened .content-product-more-btn:after {
	border-top: 1.5px solid #00255b;
	border-right: 1.5px solid #00255b;
}
.content-product-more.opened.open .content-product-more-btn::after {
	border-top: 1.5px solid #fff;
	border-right: 1.5px solid #fff;
}
.content-product-more-btn {
	display: block;
	position: relative;
	margin: 0 auto;
	width: 43vw;
	height: 8.9vw;
	font-size: 3vw;
	font-weight: normal;
	color:#fff;
	text-align: center;
	line-height: 8.9vw;
	cursor: pointer;
	/* outline-color: #00255b;
	outline-style: solid;
	outline-offset: -1px;
	outline-width: 1px;
	border-radius: 40px; */
	box-shadow: 0 0 0 1px #00255b;
	background: none;
	transition: 500ms;
	z-index: 6;
}
.content-product-more-btn::before {
	content: '';
	display: block;
	margin: 0 auto;
	width: 100%;
	height: 8.9vw;
}
.content-product-more.open .content-product-more-btn {
	/* outline-color: #00255b;
	outline-style: solid;
	outline-offset: -1px;
	outline-width: 1px; */
	/* transition: 500ms; */
	box-shadow: none;
}
.content-product-more-btn::before {
	background-image: none;
	background: #00255b;
	border-radius: 40px;
	transition: 500ms;
	opacity: 0;
}
.content-product-more.open .content-product-more-btn::before {
	border: none;
	border-radius: 0;
	opacity: 1;
}
.content-product-more-btn:hover::before,
.content-product-more-btn.shop-reset {
	border-radius: 40px;
}
.content-product-more-shop li {
	height: 8.9vw;
	text-align: center;
	line-height: 8.9vw;
	background: #fff;
	transition: all .5s;
}
.content-product-more-shop li a {
	display: block;
	color: #00255b;
	font-weight: normal;
	font-size: 3vw;
	transition: all .5s;
}
.content-product-more-shop li:hover {
	background: #00255b;
}
.content-product-more-shop li a:hover {
	color: #fff;
}
.content-product-more-shop li:first-of-type,
.content-product-more-shop li:not(:first-of-type) {
	border-top: 1px solid #00255b;
}
.content-product-more-shop li:last-of-type {
	border-bottom: 1px solid #00255b;
}
.content-product-more-shop li:nth-of-type(4) {
	margin-top: 9vw;
	border-top: none;
}
.content-product-more-shop {
	position: relative;
	width: 43vw;
	z-index: 1;
	visibility: hidden;
	top: 27.2vw;
	clip-path: inset(80% 0 53% 0);
	border-left: 1px solid #00255b;
	border-right: 1px solid #00255b;
	transition: 800ms;
}
.content-product-more.open {
	overflow: visible;
}
.content-product-more.open .content-product-more-btn::after {
	top: 3.9vw;
	transform: rotate(135deg);
}
.content-product-more.open .content-product-more-shop {
	visibility: visible;
	clip-path: inset(0);
	transition: 500ms;
}
.content-product-more-btn.shop-show {
	border-radius: 40px;
	transition-delay: .1ms;
	z-index: 2;
}
.content-product-more-btn span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	font-size: 3vw;
	font-weight: normal;
	color: #00255b;
	transition: 300ms;
	z-index: 6;
}
.content-product-more-btn.shop-show span {
	color: #fff;
	transition: 300ms;
}
.content-product-more-btn::after {
	content: '';
	position: absolute;
	top: 4vw;
	right: 7vw;
	width: 1vw;
	height: 1vw;
	transform: rotate(-45deg);
	border-top: 1.5px solid #00255b;
	border-right: 1.5px solid #00255b;
	transition: 300ms;
	z-index: 6;
}
.content-product-more-btn.shop-show::after {
	border-color: #fff;
}
.content-product-more .content-product-more-btn.btn-transition::before {
	transition: 500ms;
	transition-delay: 0s;
}

/* pc */
@media screen and (min-width: 769px) {
	.content-product-more {
		margin: 1.4vw auto 0;
		width: 100%;
		height: 2.7vw;
	}
	.content-product-more-btn {
		width: 100%;
		font-size: 1vw;
		line-height: 2.7vw;
		font-weight: normal;
		/* outline-offset: -2px;
		outline-width: 2px; */
		box-shadow: 0 0 0 2px #00255b;
	}
	.content-product-more-btn::before {
		height: 2.7vw;
		transition: opacity .5s;
	}
	.content-product-more.opened .content-product-more-btn:hover::before {
		background: #00255b;
		/* outline-color: rgba(0, 0, 0, 0); */
	}
	.content-product-more.opened .content-product-more-btn:hover span {
		color: #fff;
	}
	.content-product-more.opened .content-product-more-btn:hover::after {
		border-top: 1.5px solid #fff;
		border-right: 1.5px solid #fff;
	}
	.content-product-more-btn::after {
		top: 1.3vw;
		right: 3vw;
		width: .3vw;
		height: .3vw;
		border-top-width: 1.5px;
		border-right-width: 1.5px;
	}
	.content-product-more-btn span {
		font-size: 1vw;
		height: 2.7vw;
		line-height: 2.7vw;
	}
	.content-product-more-shop {
		width: 12.99vw;
		top: 8.3vw;
		clip-path: inset(80% 0 53% 0);
		border-left: 2px solid #00255b;
		border-right: 2px solid #00255b;
	}
	.content-product-more-shop li {
		height: 2.7vw;
		line-height: 2.7vw;
	}
	.content-product-more-shop li:first-of-type,
	.content-product-more-shop li:not(:first-of-type) {
		border-top: 2px solid #00255b;
	}
	.content-product-more-shop li:nth-of-type(4) {
		margin-top: 2.6vw;
		border-top: none;
	}
	.content-product-more-shop li a {
		font-size: 1vw;
	}
	.content-product-more.open .content-product-more-btn::after {
		top: 1.2vw;
	}
	.content-product-more-btn.shop-show {
		transition: border-radius .1s;
	}
	.content-product-more-btn.shop-reset {
		transition: border-radius .1s linear .5s;
	}
	.content-product-more-shop li:last-of-type {
		border-bottom: 2px solid #00255b;
	}
	.content-product-more-btn:hover::before {
		background-image: none;
		background: #00255b;
		border-radius: 40px;
		transition: 500ms;
		opacity: 1;
	}
	.content-product-more .content-product-more-btn:hover {
		/* outline-color: #00255b;
		outline-style: solid;
		outline-offset: -1px;
		outline-width: 1px; */
		transition: 500ms;
	}
	.content-product-more-btn:hover:after {
		border-top: 1.5px solid #fff;
		border-right: 1.5px solid #fff;
		transition: 300ms;
	}
	.content-product-more-btn:hover span {
		color: #fff;
		transition: 300ms;
	}
}

/*==============================
  present-campaign
==============================*/
.present {
  text-align: center;
}
.present-cp-title {
  background-image: url(../img/present/ff_present-cp_bg_sp.jpg);
  background-repeat: no-repeat;
  background-size: contain;
	padding: 12vw 0 11vw;
}
.cp-text-title-sp {
  color: #00255b;
  font-size: 9vw;
	letter-spacing: 0.05em;
}
.present-cp-bl {
	margin-bottom: 5vw;
}
.present-cp-blbm {
  display: grid;
  justify-content: center;
  color: #00255b;
  font-size: 3.5vw;
  letter-spacing: 0;
  line-height: 1.7;
	margin: 10vw 0 11vw;
}
.present-cp-bl,
.present-cp-bm {
  background-color: #F3F8FF;
  border-radius: 10vw;
  padding: 2vw 12vw;
}
.present-date {
  color: #00255b;
}
.present-date-text {
  display: inline-block;
  font-size: 4.5vw;
  background: linear-gradient(transparent 80%, #F9F8E1 50%);
}
.present-text-5 {
  font-size: 9vw;
}
.present-date-text-list {
  font-family: nimbus-sans-dv, sans-serif;
  margin-top: 4vw;
}
.cp-text-year {
  font-size: 4vw;
}
.cp-text-date {
  font-size: 7vw;
  font-weight: 500;
}
.cp-text-week {
	display: inline-block;
	vertical-align: top;
	margin-top: 2.8vw;
  font-size: 3vw;
}
.cp-text-time {
  font-size: 3.3vw;
	display: inline-block;
  vertical-align: top;
  margin-top: 2.6vw;
}
.present-date-mark {
	display: inline-block;
	vertical-align: top;
	margin-top: 2.6vw;
	font-size: 2.5vw;
}
.present-list-way a {
  color: inherit;
}
.present-list {
  display: flex;
  flex-direction: column;
  margin: 20vw 0 16vw;
}
.present-list-way:not(:last-child) {
	margin-bottom: 16vw;
}
.present-list-way .common-btn-text {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 4vw auto 0;
  width: 68%;
  height: 13vw;
  font-size: 3.7vw;
  color: #fff;
  background-color: #00255b;
  border-radius: 10vw;
  line-height: 1;
  letter-spacing: .12em;
}
.present-list-way .common-btn-text:hover {
  opacity: .9;
  transition: 500ms;
}
.common-btn-text::after {
  position: absolute;
  right: 6.5vw;
  content: "";
  width: 1.4vw;
  height: 2.5vw;
  background: url(../img/arrow_white.svg) no-repeat;
  background-size: contain;
}
.common-btn-text:hover::after {
  right: 5.6vw;
  transition: 500ms;
}
.present-list-way-title-sub::before {
	content: '';
  position: absolute;
  top: -5vw;
  left: 50%;
  transform: translate(-50%, -50%);
	width: 7vw;
  height: 7vw;
}
.present-list-way-title-insta::before {
  background: url(../img/present/icon_insta.png) no-repeat;
	background-size: contain;
}
.present-list-way-title-x::before {
  background: url(../img/present/icon_x.png) no-repeat;
	background-size: contain;
}
.present-list-way-title-sub {
	position: relative;
	font-size: 3.8vw;
	letter-spacing: .1em;
	line-height: 2;
}
.present-cp-img {
	width: 80vw;
}

/*------------ PC ---------------*/
@media screen and (min-width: 768px) {
	.present {
		width: 90%;
		max-width: 1105px;
		margin: 0 auto;
	}
  .sp-br {
    display: none;
  }
  .present-cp-title {
    background-image: url(../img/present/ff_present-cp_bg.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 auto;
		padding: 8vw 0 5vw;
  }
	.present-cp-bl {
		margin-bottom: 0;
	}
  .present-cp-blbm {
    display: flex;
    margin: 3vw 0 5vw;
    column-gap: 40px;
  }
  .present-cp-bl,
  .present-cp-bm {
    border-radius: 80px;
    width: 100%;
		font-size: 1.2vw;
		padding: 1.7vw 0;
  }
  .present-date-text {
    font-size: 1.5vw;
    background: linear-gradient(transparent 65%, #F9F8E1 50%);
  }
  .present-text-5 {
    font-size: 2.9vw;
    line-height: 0;
    margin-right: 6px;
    margin-left: 0;
  }
  .present-date-text-list {
    font-family: nimbus-sans-dv, sans-serif;
    font-weight: 700;
    margin-top: 18px;
    margin-right: 23px;
  }
  .cp-text-year {
		vertical-align: bottom;
    font-size: 1.8vw;
  }
  .cp-text-date {
    font-size: 2.5vw;
    font-weight: bold;
  }
  .cp-text-week {
    font-size: 1.3vw;
		vertical-align: super;
		margin-top: 0;
  }
  .cp-text-time {
		margin-top: 0.7vw;
    font-size: 1.6vw;
  }
	.cp-text-title-sp {
    font-size: 2.7vw;
		letter-spacing: 0.08em;
	}
  .present-date-mark {
		margin-top: .6vw;
		font-size: 1.5vw;
  }
  .present-list {
    flex-direction: row;
    justify-content: center;
    margin: 6vw 0 7vw;
    column-gap: 60px;
  }
  .present-list-way-title-sub {
		font-size: 1vw;
		line-height: normal;
  }
  .present-list-way-title-sub::before {
    top: -1.2vw;
    height: 1.7vw;
    width: 1.7vw;
  }
  .present-list-way .common-btn-text {
		width: 30.4vw;
		height: 5.2vw;
		max-width: 413px;
		max-height: 70px;
		margin-top: 2vw;
		font-size: 1.2vw;
    font-weight: 500;
    letter-spacing: 0;
  }
  .present-list-way .common-btn-text:hover {
    opacity: .9;
    transition: 500ms;
  }
	.present-list-way:not(:last-child) {
		margin-bottom: 0;
	}
  .common-btn-text::after {
    right: 12%;
    content: "";
    width: 1.7%;
    height: 19%;
    transition: 500ms;
  }
  .common-btn-text:hover::after {
    right: 11%;
    transition: 500ms;
  }
	.present-cp-img {
		width: 38.5vw;
	}
}