@charset "UTF-8";

.cashmereContent {
	margin-top: 80px;
	box-sizing: border-box;
}
@media (max-width: 767px) {
	.cashmereContent {
		margin-top: 6vw;
	}
}
.cashmereTtl {
	font-size: 40px;
	text-align: center;
}
.mv {
	max-width: 750px;
	margin: 30px auto 0;
	position: relative;
}
.mv .img {
	position: relative;
	width: 100%;
	max-width: auto;
	max-width: inherit;
}
.mv .title {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 78%;
	/* width: 50.675%; */
	transform: translate(-50%, -50%);
}

.cashmereLead {
	width: 750px;
	margin: 20px auto 0;
	font-size: 17px;
	line-height: 26px;
	box-sizing: border-box;
}

/* campaignBnr */
.campaignBnr {
	max-width: 710px;
	margin: 30px auto 0;
	border: solid 3px #000;
	border-radius: 15px;
	background: #fff;
	position: relative;
}
.campaignBnr::before {
	content: "";
	width: 100%;
	height: 100%;
	border: solid 3px #000;
	border-radius: 15px;
	position: absolute;
	bottom: -7px;
	right: -7px;
	z-index: -1;
}
.campaignBnr a {
	display: block;
	font-size: 28px;
	line-height: 38px;
	text-align: center;
	border-radius: 15px;
	background: #fff;
	padding: 10px 5px;
	position: relative;
}
.campaignBnr a .big {
	font-size: 30px;
}
.campaignBnr a .small {
	font-size: 18px;
}
.campaignBnr a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-top: solid 3px #000;
	border-right: solid 3px #000;
	transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 5px);
	right: 10px;
}

/* bunka */
.bunka {
	margin-top: 50px;
	padding: 110px 0;
	background: #e2ddee;
}
.bunka .inner {
	max-width: 860px;
	margin: 0 auto;
	padding: 50px 55px;
	box-sizing: border-box;
	background-color: #fff;
}
.bunka .bunkaTtl {
	text-align: center;
}
.bunka .bunka_ttlTxt {
	margin-top: 30px;
	font-size: 30px;
	font-weight: bold;
	line-height: 52px;
}
.bunka .bunkaLead {
	margin-top: 30px;
	font-size: 20px;
	font-weight: bold;
	line-height: 33px;
}
.bunka .bunkaItemBox {
	margin-top: 45px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.bunka .bunkaItemBox + .bunkaItemBox {
	margin-top: 90px;
}
.bunka .bunkaItemBox .itemPic {
	width: 62.5%;
}
.bunka .bunkaItemBox .bunkaItem {
	width: 30.6%;
	box-sizing: border-box;
}
.bunka .bunkaItemBox .bunkaItem + .bunkaItem {
	margin-top: 90px;
}
.bunka .itemWrap {
	position: relative;
}
.bunka .itemWrap .items.new {
	position: relative;
}
.bunka .itemWrap .items.new::before {
	content: "";
	background: url(/base/pc/store/special/depart_de_loop/2025/img/top/new_icon.png) no-repeat;
	background-size: auto;
	background-size: contain;
	width: 74px;
	height: 15px;
	display: block;
	position: absolute;
	top: 0.5vw;
	left: 0.5vw;
	z-index: 10;
}
.bunka .itemWrap .items li {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	transition: opacity .7s;
}
.bunka .itemWrap .items li.on {
	opacity: 1;
}
.bunka .colorBox {
	margin-top: 15px;
	display: flex;
	justify-content: center;
	gap: 0 35px;
}
.bunka .colorBox .box .dot {
	display: flex;
	justify-content: center;
	gap: 0 15px;
}
.bunka .colorBox .box .dot li {
	width: 15px;
	height: 15px;
	border-radius: 50%;
	cursor: pointer;
}
.bunka .colorBox .box .dot li.color01 {
	background: #2a7047;
}
.bunka .colorBox .box .dot li.color02 {
	background: #ab3031;
}
.bunka .colorBox .box .dot li.color03 {
	background: #90868f;
}
.bunka .colorBox .box .dot li.color04 {
	background: #9e3286;
}
.bunka .colorBox .box .dot li.color05 {
	background: #35333a;
}
.bunka .itemTxt {
	margin-top: 30px;
}
.bunka .itemTxt > p {
	font-size: 15px;
	font-weight: normal;
	line-height: 18px;
}
.bunka .itemTxt > p + p {
	margin-top: 20px;
}
.bunka .itemTxt > .button a {
	display: block;
	margin: 0 auto;
	line-height: 1;
	position: relative;
	font-size: 16px;
	padding: 7px 5px;
	border: 1px solid #000;
	font-weight: normal;
	text-align: center;
	box-sizing: border-box;
}
.bunka .itemTxt > .button a:after {
	content: "";
	display: block;
	position: absolute;
	width: 8px;
	height: 8px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	top: 50%;
	right: 8px;
	transform: translateY(-50%) rotate(-45deg);
}

/* loop */
.cashmereContent .loop {
	margin-top: 150px;
}
.cashmereContent .loop .loopTtl {
	font-size: 35px;
	text-align: center;
}
.cashmereContent .loop .loopPic {
	max-width: 861px;
	margin: 60px auto 0;
}

/* process */
.cashmereContent .process {
	margin-top: 55px;
	background: #e2ddee;
	padding: 50px 0 70px;
}
.cashmereContent .cashmereInner {
	max-width: 860px;
	margin: 0 auto;
}
.cashmereContent .process .processTtl {
	font-size: 32px;
	text-align: center;
}
.cashmereContent .process .processContent {
	margin-top: 40px;
	background: #fff;
	border-radius: 10px;
	padding: 35px 45px 50px;
	position: relative;
}
.cashmereContent .process .processContent::after {
	content: '';
	width: 40px;
	height: 20px;
	background: url("/base/pc/store/special/depart_de_loop/2024/img/cashmere/arrow.png") no-repeat;
	background-size: contain;
	position: absolute;
	bottom: -37px;
	left: calc(50% - 20px);
}
.cashmereContent .process .processContent.last::after {
	content: none;
}
.cashmereContent .process .processContent + .processContent {
	margin-top: 50px;
}
.cashmereContent .process .processContent .processContentTtl {
	display: flex;
	align-items: center;
	gap: 0 35px;
}
.cashmereContent .process .processContent .processContentTtl .ttl01 {
	background: #7e5ba7;
	border-radius: 5px;
	padding: 10px 20px;
	font-size: 26px;
	color: #fff;
}
.cashmereContent .process .processContent .processContentTtl .ttl02 {
	font-size: 26px;
}
.cashmereContent .process .processContent .processContentTtl .ttl02 .place {
	display: inline-block;
	font-size: 17px;
	margin-left: 25px;
	vertical-align: middle;
}
.cashmereContent .process .processContent .processTxt {
	margin-top: 40px;
	font-size: 17px;
	line-height: 26px;
}
.cashmereContent .process .processContent .processPicBox {
	margin-top: 35px;
	display: flex;
	justify-content: space-between;
	gap: 0 20px;
}
.cashmereContent .process .processContent .processPicBox > p {
	max-width: 172px;
}
@media (max-width: 767px) {
	.cashmereTtl {
		font-size: 6.667vw;
	}
	.mv {
		max-width: 100%;
		width: 92%;
		margin: 6vw auto 0;
	}

	.mv .title {
		width: 62vw;
	}

	.cashmereLead {
		margin: 7.333vw auto 0;
		width: 92%;
		font-size: 3.6vw;
		line-height: 5.733vw;
	}

	/* campaignBnr */
	.campaignBnr {
		max-width: 92%;
		margin: 4vw auto 0;
		border: solid 0.4vw #000;
		border-radius: 2vw;
	}
	.campaignBnr::before {
		border: solid 0.4vw #000;
		border-radius: 2vw;
		bottom: -0.933vw;
		right: -0.933vw;
	}
	.campaignBnr a {
		font-size: 3.733vw;
		line-height: 5.067vw;
		border-radius: 2vw;
		padding: 2.333vw 2vw;
	}
	.campaignBnr a .big {
		font-size: 4vw;
	}
	.campaignBnr a .small {
		font-size: 2.4vw;
	}
	.campaignBnr a::after {
		width: 1.333vw;
		height: 1.333vw;
		border-top: solid 0.4vw #000;
		border-right: solid 0.4vw #000;
		top: calc(50% - 0.667vw);
		right: 1.333vw;
	}

	/* bunka */
	.bunka {
		padding: 9.333vw 5.067vw;
	}
	.bunka .inner {
		max-width: 100%;
		width: 100%;
		padding: 6vw 4vw;
	}
	.bunka .bunka_ttlTxt {
		margin-top: 4vw;
		font-size: 4.667vw;
		font-weight: bold;
		line-height: 8.267vw;
	}
	.bunka .bunkaLead {
		margin-top: 4vw;
		font-size: 4vw;
		line-height: 6.3vw;
	}
	.bunka .bunkaItemBox {
		margin-top: 13.333vw;
		display: block;
	}
	.bunka .bunkaItemBox + .bunkaItemBox {
		margin-top: 10.667vw;
	}
	.bunka .bunkaItemBox .itemPic {
		width: 100%;
	}
	.bunka .bunkaItemBox .bunkaItem {
		margin-top: 5.333vw;
		width: 100%;
		padding: 0 1.733vw;
	}
	.bunka .bunkaItemBox .bunkaItem + .bunkaItem {
		margin-top: 13.333vw;
	}
	.bunka .itemWrap .items.new::before {
		width: 27.2vw;
		height: 5.8vw;
		top: 3vw;
		left: 3vw;
	}
	.bunka .colorBox {
		margin-top: 5.333vw;
		gap: 0 13.333vw;
	}
	.bunka .colorBox .box .dot {
		gap: 0 4vw;
	}
	.bunka .colorBox .box .dot li {
		width: 5.733vw;
		height: 5.733vw;
	}
	.bunka .itemTxt {
		margin-top: 5.333vw;
		padding: 0 4.667vw;
	}
	.bunka .itemTxt > p {
		font-size: 4vw;
		line-height: 5.067vw;
	}
	.bunka .itemTxt > p + p {
		margin-top: 5.333vw;
	}
	.bunka .itemTxt > .button a {
		width: 100%;
		max-width: 100%;
		font-size: 4vw;
		padding: 1.333vw;
	}
	.bunka .itemTxt > .button a:after {
		width: 1.733vw;
		height: 1.733vw;
		right: 2.667vw;
	}

	/* loop */
	.cashmereContent .loop {
		margin-top: 20vw;
	}
	.cashmereContent .loop .loopTtl {
		font-size: 5.467vw;
	}
	.cashmereContent .loop .loopPic {
		max-width: 93.333vw;
		margin: 7.333vw 0 0 auto;
	}

	/* process */
	.cashmereContent .process {
		margin-top: 2.667vw;
		padding: 6vw 0 13.333vw;
	}
	.cashmereContent .cashmereInner {
		max-width: 100%;
		padding: 0 5.333vw;
	}
	.cashmereContent .process .processTtl {
		font-size: 4.8vw;
	}
	.cashmereContent .process .processContent {
		margin-top: 4vw;;
		border-radius: 1.333vw;
		padding: 2.667vw 4vw 6vw;
	}
	.cashmereContent .process .processContent::after {
		width: 10vw;
		height: 5.067vw;
		bottom: -8.267vw;
		left: calc(50% - 5vw);
	}
	.cashmereContent .process .processContent + .processContent {
		margin-top: 10.667vw;
	}
	.cashmereContent .process .processContent .processContentTtl {
		gap: 0 6.667vw;
	}
	.cashmereContent .process .processContent .processContentTtl .ttl01 {
		border-radius: 1.333vw;
		padding: 2vw 0;
		font-size: 5.333vw;
		width: 22.933vw;
		text-align: center;
	}
	.cashmereContent .process .processContent .processContentTtl .ttl02 {
		padding-top: 2vw;
		max-width: 42vw;
		font-size: 4.533vw;
		/* line-height: 7.867vw; */
		text-align: center;
	}
	.cashmereContent .process .processContent .processContentTtl .ttl02 .place {
		font-size: 2.667vw;
		margin-left: 0;
	}
	.cashmereContent .process .processContent .processTxt {
		margin-top: 3.333vw;
		font-size: 3.2vw;
		line-height: 5.467vw;
		text-align: justify;
	}
	.cashmereContent .process .processContent .processPicBox {
		margin-top: 4vw;
		flex-wrap: wrap;
		justify-content: center;
		gap: 2.667vw 3.333vw;
	}
	.cashmereContent .process .processContent .processPicBox > p {
		max-width: 33.067vw;
	}
}

/* contentsList */
.cashmereContent .contentsList {
	max-width: 765px;
	margin: 50px auto 0;
	padding-bottom: 30px;
}
.cashmereContent .contentsList .contentsListTxt {
	margin-top: 30px;
	font-size: 15px;
	text-align: center;
}
.cashmereContent .contentsList ul {
	margin: 25px auto 0;
	width: 100%;
	display: flex;
	justify-content: center;
	gap: 0 35px;
	position: relative;
	z-index: 5;
}
.cashmereContent .contentsList ul li {
	width: 31%;
	border: solid 3px #000;
	border-radius: 15px;
	background: #fff;
	position: relative;
}
.cashmereContent .contentsList ul li::before {
	content: "";
	width: 100%;
	height: 100%;
	border: solid 3px #000;
	border-radius: 15px;
	position: absolute;
	bottom: -7px;
	right: -7px;
	z-index: -1;
}
.cashmereContent .contentsList ul li a {
	display: block;
	font-size: 26px;
	text-align: center;
	border-radius: 15px;
	background: #fff;
	padding: 40px 20px;
	position: relative;
}
.cashmereContent .contentsList ul li a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-top: solid 3px #000;
	border-right: solid 3px #000;
	transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 5px);
	right: 10px;
}
@media (max-width: 767px) {
	.cashmereContent .contentsList {
		max-width: 100%;
		width: 90%;
		margin: 10vw auto;
		padding-bottom: 0;
	}
	.cashmereContent .contentsList .contentsListTxt {
		margin-top: 4vw;
		font-size: 3.467vw;
		line-height: 1.3;
	}
	.cashmereContent .contentsList ul {
		width: 100%;
		margin: 4.667vw auto 0;
		gap: 0 4.667vw;
	}
	.cashmereContent .contentsList ul li {
		border: solid 0.4vw #000;
		border-radius: 2vw;
	}
	.cashmereContent .contentsList ul li::before {
		border: solid 0.4vw #000;
		border-radius: 2vw;
		bottom: -0.933vw;
		right: -0.933vw;
	}
	.cashmereContent .contentsList ul li a {
		font-size: 2.667vw;
		border-radius: 2vw;
		padding: 5.333vw 2vw 5.333vw 1vw;
	}
	.cashmereContent .contentsList ul li a::after {
		width: 1.333vw;
		height: 1.333vw;
		border-top: solid 0.4vw #000;
		border-right: solid 0.4vw #000;
		top: calc(50% - 0.667vw);
		right: 1.667vw;
	}
}

.cashmereContent .reclamationMenu {
	margin-top: 60px;
	padding-bottom: 0;
}
.cashmereContent .reclamationMenu ul {
	margin-top: 30px;
}
@media (max-width: 767px) {
	.cashmereContent .reclamationMenu {
		margin-top: 8vw;
	}
	.cashmereContent .reclamationMenu ul {
		margin-top: 4vw;
	}
}