
/* --------------------------------------------
↓↓↓ レンズTOP ↓↓↓
-------------------------------------------- */

.page-lensesTop .secBrandedContents {
	margin-top: calc(80 * var(--rs));
}
.page-lensesTop .secBrandedContents .bnrItem {
	position: relative;
}
.page-lensesTop .secBrandedContents .bnrItem .bnrInr {
	display: block;
	text-decoration: none;
	transition: opacity 0.3s linear;
}
.page-lensesTop .secBrandedContents .bnrItem .bnrInr:hover {
	opacity: 0.7;
}
.page-lensesTop .secBrandedContents .bnrItem .img {
	display: block;
	width: 100%;
}
.page-lensesTop .secBrandedContents .bnrItem .img img {
	width: 100%;
	height: auto;
}
.page-lensesTop .secBrandedContents .bnrItem .bnrInr:hover img {
	opacity: 1;
}

/* SP
-------------------------------------*/
@media screen and (max-width: 768px) {
	.page-lensesTop .secBrandedContents {
		margin-top: calc(56 * var(--rs));
	}
	.page-lensesTop .secBrandedContents .bnrItem {
		margin: 0 calc(-40 * var(--rs));
	}
}





.page-lensesTop .secPickup {
	margin-top: calc(65 * var(--rs));
}
.page-lensesTop .secPickup .secTtl {
	font-size: calc(28 * var(--rs));
	line-height: 1.66;
}
.page-lensesTop .secPickup .secCtsWrap {
	margin-top: calc(18 * var(--rs));
}
.page-lensesTop .secPickup .secCtsWrap .ctsBnr {
	display: flex;
	flex-wrap: wrap;
	margin: calc(-15 * var(--rs)) calc(-10 * var(--rs)) 0;
}
.page-lensesTop .secPickup .secCtsWrap .ctsBnr .bnrItem {
	width: 50%;
	margin-top: calc(20 * var(--rs));
	box-sizing: border-box;
	padding: 0 calc(10 * var(--rs));
}
.page-lensesTop .secPickup .secCtsWrap .ctsBnr .bnrItem .itemInr {
	display: block;
	text-decoration: none;
}
.page-lensesTop .secPickup .secCtsWrap .ctsBnr .bnrItem a.itemInr {
	transition: opacity 0.3s ease-out;
}
.page-lensesTop .secPickup .secCtsWrap .ctsBnr .bnrItem a.itemInr:hover {
	opacity: 0.7;
}
.page-lensesTop .secPickup .secCtsWrap .ctsBnr .bnrItem .img {
	display: block;
}
.page-lensesTop .secPickup .secCtsWrap .ctsBnr .bnrItem .img img {
	width: 100%;
	height: auto;
}
.page-lensesTop .secPickup .secCtsWrap .ctsBnr .bnrItem .itemInr:hover img {
	opacity: 1;
}
.page-lensesTop .secPickup .secCtsWrap .ctsBnr .bnrItem--sizeL {
	width: 100%;
}
.page-lensesTop .secPickup .secCtsWrap .ctsBnr .bnrItem--sizeS {
	width: calc(100% / 3);
}


/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.page-lensesTop .secPickup {
		margin-top: calc(126 * var(--rs));
	}
	.page-lensesTop .secPickup .secTtl {
		font-size: calc(50 * var(--rs));
		line-height: 1.2;
	}
	.page-lensesTop .secPickup .secCtsWrap {
		margin-top: calc(42 * var(--rs));
	}
	.page-lensesTop .secPickup .secCtsWrap .ctsBnr {
		display: block;
		margin: 0 calc(-40 * var(--rs));
	}
	.page-lensesTop .secPickup .secCtsWrap .ctsBnr .bnrItem {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	.page-lensesTop .secPickup .secCtsWrap .ctsBnr.ctsBnrLarge {
		margin: 0 calc(-40 * var(--rs));
	}
	.page-lensesTop .secPickup .secCtsWrap .ctsBnr.ctsBnrLarge .bnrItem {
		width: 100%;
		padding: 0 calc(0 * var(--rs));
	}
}


.page-lensesTop .secAccessory {
	margin-top: calc(80 * var(--rs));
	margin-bottom: calc(100 * var(--rs));
}
.page-lensesTop .secAccessory .secTtl {
	font-size: calc(28 * var(--rs));
	line-height: 1.66;
}

/* SP
-------------------------------------*/
@media screen and (max-width: 768px) {
	.page-lensesTop .secAccessory {
		margin-top: calc(120 * var(--rs));
		margin-bottom: calc(120 * var(--rs));
	}
	.page-lensesTop .secAccessory .secTtl {
		font-size: calc(50 * var(--rs));
	}
}

.page-lensesTop .md-secRecommend .secInr {
	padding-bottom: calc(118 * var(--rs));
}
.page-lensesTop .md-lenscategoryNavi {
	margin-bottom: calc(90 * var(--rs));
}

/* --------------------------------------------
↑↑↑ レンズTOP ↑↑↑
-------------------------------------------- */





/* --------------------------------------------
↓↓↓ レンズ一覧 ↓↓↓
-------------------------------------------- */
.page-discontinued,
.page-mirrolessLensesList,
.page-slrLensesList {
	background: #f7f7f7;
}
.page-discontinued .md-productIndexList .secLens .lensType .itemWrap .item .itemTtl {
	padding-left: 0;
}
.page-mirrolessLensesList .md-productIndexList .secLens .lensType .dtlTtlLine .ttl {
	font-size: calc(30 * var(--rs));
	font-weight: 500;
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.page-mirrolessLensesList .md-productIndexList .secLens .lensType .dtlTtlLine .ttl {
		font-size: calc(42 * var(--rs));
	}
}
/* --------------------------------------------
↑↑↑ レンズ一覧 ↑↑↑
-------------------------------------------- */




/* --------------------------------------------
↓↓↓ 3つのプロダクトライン ↓↓↓
-------------------------------------------- */
.page-productLine .md-lenscategoryNavi {
	margin-top: calc(100 * var(--rs));
}
.page-productLine .pageTtlLine {
	margin-top: calc(40 * var(--rs));
}
.page-productLine .pageTtlLine .ttl {
	font-size: calc(34 * var(--rs));
	font-weight: var(--weight-medium);
	line-height: 1.6;
}
.page-productLine .visWrap {
	height: calc(700 * var(--rs));
	margin-top: calc(24 * var(--rs));
	overflow: hidden;
	position: relative;
}
.page-productLine .visWrap .img {
	display: block;
	width: calc(1920 * var(--rs));
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 0;
}
.page-productLine .visWrap .img img {
	width: 100%;
	height: auto;
}
.page-productLine .visWrap .visCol {
	height: calc(700 * var(--rs));
	position: relative;
}
.page-productLine .visWrap .visCol .colInr {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	color: #fff;
}
.page-productLine .visWrap .visCol .en {
	font-size: calc(26 * var(--rs));
	line-height: 1.26;
	letter-spacing: 0.17em;
}
.page-productLine .visWrap .visCol .txt {
	margin-top: calc(18 * var(--rs));
	font-size: calc(46 * var(--rs));
	line-height: 1.5;
	letter-spacing: 0.02em;
}

/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.page-productLine .pageTtlLine {
		margin-top: calc(60 * var(--rs));
	}
	.page-productLine .pageTtlLine {
		margin-top: calc(40 * var(--rs));
	}
	.page-productLine .pageTtlLine .ttl {
		font-size: calc(50 * var(--rs));
	}
	.page-productLine .visWrap {
		height: calc(770 * var(--rs));
		margin-top: calc(50 * var(--rs));
	}
	.page-productLine .visWrap .img {
		width: 100%;
		position: static;
		transform: translateX(0);
	}
	.page-productLine .visWrap .visCol {
		width: 100%;
		height: auto;
		box-sizing: border-box;
		padding-left: calc(50 * var(--rs));
		padding-right: calc(50 * var(--rs));
		position: absolute;
		left: 0;
		bottom: calc(70 * var(--rs));
	}
	.page-productLine .visWrap .visCol .colInr {
		justify-content: flex-end;
	}
	.page-productLine .visWrap .visCol .en {
		font-size: calc(32 * var(--rs));
		line-height: 1.1;
	}
	.page-productLine .visWrap .visCol .txt {
		margin-top: calc(40 * var(--rs));
		font-size: calc(54 * var(--rs));
		line-height: 1.66;
	}
}



.page-productLine .secLead {
	margin-top: calc(80 * var(--rs));
}
.page-productLine .secLead .ttlLine {
	text-align: center;
}
.page-productLine .secLead .ttlLine .ttl {
	font-size: calc(36 * var(--rs));
	line-height: 1.58;
}
.page-productLine .secLead .secCol {
	max-width: calc(900 * var(--rs));
	margin: calc(46 * var(--rs)) auto 0;
}
.page-productLine .secLead .secCol .txt {
	font-size: calc(16 * var(--rs));
	line-height: 2.3;
}

/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.page-productLine .secLead {
		margin-top: calc(100 * var(--rs));
		padding-bottom: calc(90 * var(--rs));
	}
	.page-productLine .secLead .ttlLine .ttl {
		font-size: calc(56 * var(--rs));
		line-height: 1.46;
	}
	.page-productLine .secLead .secCol {
		max-width: 100%;
		margin: calc(56 * var(--rs)) auto 0;
	}
	.page-productLine .secLead .secCol .txt {
		font-size: calc(32 * var(--rs));
		line-height: 2;
		letter-spacing: 0.02em;
	}
}



.page-productLine .secProductCts {
	margin-top: calc(100 * var(--rs));
}
.page-productLine .secProductCts .ttlLine .ttl {
	text-align: center;
	font-size: calc(36 * var(--rs));
	line-height: 1.58;
}
.page-productLine .secProductCts .ttlLine .ancWrap {
	display: flex;
	justify-content: center;
	margin-top: calc(30 * var(--rs));
}
.page-productLine .secProductCts .ttlLine .ancWrap .anc {
	box-sizing: border-box;
	padding: 0 calc(30 * var(--rs));
	font-size: calc(26 * var(--rs));
	font-weight: 500;
	line-height: 1.42;
	position: relative;
}
.page-productLine .secProductCts .ttlLine .ancWrap .anc:not(:first-child)::before {
	content: "|";
	font-size: calc(23 * var(--rs));
	position: absolute;
	top: 0;
	left: 0;
}
.page-productLine .secProductCts .ttlLine .ancWrap .anc a {
	box-sizing: border-box;
	padding-left: calc(40 * var(--rs));
	text-decoration: none;
	transition: all 0.3s ease-out;
	position: relative;
}
.page-productLine .secProductCts .ttlLine .ancWrap .anc a:hover {
	opacity: 0.7;
}
.page-productLine .secProductCts .ttlLine .ancWrap .anc a::before {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(30 * var(--rs));
	height: calc(30 * var(--rs));
	box-sizing: border-box;
	padding: calc(4 * var(--rs));
	border-radius: 100%;
	background: #7e7e7e;
	color: #fff;
	font-size: calc(17 * var(--rs));
	font-weight: 500;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.page-productLine .secProductCts .ttlLine .ancWrap .anc.ancA a::before {
	content: "A";
}
.page-productLine .secProductCts .ttlLine .ancWrap .anc.ancC a::before {
	content: "C";
}
.page-productLine .secProductCts .ttlLine .ancWrap .anc.ancS a::before {
	content: "S";
}
.page-productLine .secProductCts .anchorOffsetA {
	margin-top: calc(58 * var(--rs));
}
.page-productLine .secProductCts .anchorOffsetA a,
.page-productLine .secProductCts .anchorOffsetC a,
.page-productLine .secProductCts .anchorOffsetS a {
	top: calc(-60 * var(--rs));
	font-size: 0;
}
.page-productLine .secProductCts .secDtlCts {
	box-sizing: border-box;
	padding-top: calc(110 * var(--rs));
	padding-bottom: calc(126 * var(--rs));
}
.page-productLine .secProductCts .secDtlCts .dtlCol {
	min-height: calc(650 * var(--rs));
	position: relative;
}
.page-productLine .secProductCts .secDtlCts .dtlCol .colWrap {
	padding-top: calc(110 * var(--rs));
	width: calc(630 * var(--rs));
}
.page-productLine .secProductCts .secDtlCts .colWrap .ttlWrap .sub {
	padding-left: calc(45 * var(--rs));
	font-size: calc(33 * var(--rs));
	font-weight: 500;
	line-height: 1.45;
	position: relative;
}
.page-productLine .secProductCts .secDtlCts .colWrap .ttlWrap .sub::before {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(34 * var(--rs));
	height: calc(34 * var(--rs));
	box-sizing: border-box;
	padding: calc(4 * var(--rs)) calc(4 * var(--rs)) calc(6 * var(--rs));
	border-radius: 100%;
	background: #7e7e7e;
	color: #fff;
	font-size: calc(22 * var(--rs));
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.page-productLine .secProductCts .secArtDtlCts .colWrap .ttlWrap .sub::before {
	content: "A";
}
.page-productLine .secProductCts .secContemporaryDtlCts .colWrap .ttlWrap .sub::before {
	content: "C";
}
.page-productLine .secProductCts .secSportsDtlCts .colWrap .ttlWrap .sub::before {
	content: "S";
}
.page-productLine .secProductCts .secDtlCts .colWrap .ttlWrap .ttl {
	margin-top: calc(10 * var(--rs));
	font-size: calc(36 * var(--rs));
	line-height: 1.58;
}
.page-productLine .secProductCts .secDtlCts .colWrap .txtWrap {
	margin-top: calc(30 * var(--rs));
}
.page-productLine .secProductCts .secDtlCts .colWrap .txtWrap .txt {
	font-size: calc(24 * var(--rs));
	line-height: 1.66;
	letter-spacing: 0.03em;
}
.page-productLine .secProductCts .secDtlCts .img {
	width: calc(846 * var(--rs));
	position: absolute;
	top: 0;
	right: calc(-360 * var(--rs));
}
.page-productLine .secProductCts .secDtlCts .img img {
	width: 100%;
	height: auto;
}


.page-productLine .secProductCts .secArtDtlCts,
.page-productLine .secProductCts .secSportsDtlCts {
	background: #f4f4f5;
}
.page-productLine .secProductCts .secContemporaryDtlCts .dtlCol {
	margin-right: calc(-50 * var(--rs));
}
.page-productLine .secProductCts .secContemporaryDtlCts .dtlCol .colWrap {
	width: calc(660 * var(--rs));
	margin-left: auto;
}
.page-productLine .secProductCts .secContemporaryDtlCts .dtlCol .img {
	left: calc(-360 * var(--rs));
	right: auto;
}

/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.page-productLine .secProductCts {
		margin-top: 0;
	}
	.page-productLine .secProductCts .ttlLine .ttl {
		font-size: calc(56 * var(--rs));
		line-height: 1.46;
	}
	.page-productLine .secProductCts .ttlLine .ancWrap {
		margin-top: calc(36 * var(--rs));
	}
	.page-productLine .secProductCts .ttlLine .ancWrap .anc {
		padding: 0 calc(26 * var(--rs));
		font-size: calc(28 * var(--rs));
	}
	.page-productLine .secProductCts .ttlLine .ancWrap .anc:not(:first-child)::before {
		font-size: calc(28 * var(--rs));
		top: calc(-4 * var(--rs));
	}
	.page-productLine .secProductCts .ttlLine .ancWrap .anc a {
		padding-left: calc(45 * var(--rs));
	}
	.page-productLine .secProductCts .ttlLine .ancWrap .anc a::before {
		width: calc(32 * var(--rs));
		height: calc(32 * var(--rs));
		font-size: calc(19 * var(--rs));
	}
	.page-productLine .secProductCts .anchorOffsetA {
		margin-top: calc(80 * var(--rs));
	}
	.page-productLine .secProductCts .anchorOffsetA a,
	.page-productLine .secProductCts .anchorOffsetC a,
	.page-productLine .secProductCts .anchorOffsetS a {
		top: calc(-120 * var(--rs));
	}
	.page-productLine .secProductCts .secDtlCts {
		padding-top: calc(120 * var(--rs));
		padding-bottom: calc(126 * var(--rs));
	}
	.page-productLine .secProductCts .secDtlCts .dtlCol {
		display: flex;
		flex-direction: column;
		min-height: auto;
	}
	.page-productLine .secProductCts .secDtlCts .dtlCol .colWrap {
		display: contents;
		padding-top: 0;
		width: 100%;
	}
	.page-productLine .secProductCts .secDtlCts .colWrap .ttlWrap {
		order: 1;
	}
	.page-productLine .secProductCts .secDtlCts .colWrap .ttlWrap .sub {
		padding-left: calc(92 * var(--rs));
		font-size: calc(66 * var(--rs));
	}
	.page-productLine .secProductCts .secDtlCts .colWrap .ttlWrap .sub::before {
		width: calc(68 * var(--rs));
		height: calc(68 * var(--rs));
		font-size: calc(45 * var(--rs));
	}
	.page-productLine .secProductCts .secDtlCts .colWrap .ttlWrap .ttl {
		margin-top: calc(16 * var(--rs));
		font-size: calc(56 * var(--rs));
		line-height: 1.46;
	}
	.page-productLine .secProductCts .secDtlCts .colWrap .txtWrap {
		order: 3;
		margin-top: calc(80 * var(--rs));
	}
	.page-productLine .secProductCts .secDtlCts .colWrap .txtWrap .txt {
		font-size: calc(44 * var(--rs));
		line-height: 1.63;
		letter-spacing: 0.02em;
	}
	.page-productLine .secProductCts .secDtlCts .img {
		order: 2;
		width: auto;
		margin: calc(80 * var(--rs)) calc(-40 * var(--rs)) 0;
		position: static;
	}
	.page-productLine .secProductCts .secDtlCts .img img {
		display: inline-block;
		width: 100%;
		box-sizing: border-box;
		padding-left: calc(40 * var(--rs));
	}


	.page-productLine .secProductCts .secContemporaryDtlCts .dtlCol {
		margin-right: 0;
	}
	.page-productLine .secProductCts .secContemporaryDtlCts .dtlCol .colWrap {
		width: 100%;
	}
	.page-productLine .secProductCts .secContemporaryDtlCts .dtlCol .img img {
		padding-left: 0;
		padding-right: calc(40 * var(--rs));
	}
}



.md-toggleCol .detailToggleBtn {
	display: table;
	margin-top: calc(52 * var(--rs));
	position: relative;
	cursor: pointer;
	transition: all 0.3s ease-out;
}
.md-toggleCol .detailToggleBtn:hover {
	opacity: 0.7;
}
.md-toggleCol .detailToggleBtn .bar {
	width: calc(20 * var(--rs));
	height: calc(20 * var(--rs));
	box-sizing: border-box;
	padding: calc(2 * var(--rs));
	border-radius: 100%;
	background: #000;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.md-toggleCol .detailToggleBtn .bar .inr {
	width: 100%;
	height: 100%;
	position: relative;
}
.md-toggleCol .detailToggleBtn .bar .inr::after,
.md-toggleCol .detailToggleBtn .bar .inr::before {
	content: " ";
	width: calc(10 * var(--rs));
	height: 1px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transition: all 0.3s ease-out;
}
.md-toggleCol .detailToggleBtn .bar .inr::before {
	transform: translate(-50%,-50%) rotate(0);
}
.md-toggleCol .detailToggleBtn .bar .inr::after {
	transform: translate(-50%,-50%) rotate(90deg);
}
.md-toggleCol.js-moreOpen .detailToggleBtn .bar .inr::after {
	transform: translate(-50%,-50%) rotate(0deg);
}
.md-toggleCol .detailToggleBtn .more {
	box-sizing: border-box;
	padding-left: calc(30 * var(--rs));
	font-size: calc(16 * var(--rs));
	font-weight: var(--weight-medium);
	line-height: 2;
}
.md-toggleCol .showCol {
	display: none;
	height: 0;
}
.md-toggleCol .showCol .dtlTxt {
	padding-top: calc(10 * var(--rs));
	font-size: calc(16 * var(--rs));
	line-height: 2.6;
}

/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	.md-toggleCol .detailToggleBtn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: calc(320 * var(--rs));
		height: calc(72 * var(--rs));
		margin: calc(90 * var(--rs)) auto 0;
		box-sizing: border-box;
		padding: calc(10 * var(--rs));
		background: #000;
		color: #fff;
		transition: background 0.3s linear;
	}
	.md-toggleCol .detailToggleBtn .bar {
		display: none;
	}
	.md-toggleCol .detailToggleBtn .bar .inr::after,
	.md-toggleCol .detailToggleBtn .bar .inr::before {
		content: none;
	}
	.md-toggleCol .detailToggleBtn .more {
		padding-left: 0;
		font-size: calc(30 * var(--rs));
		transition: color 0.3s linear;
	}
	.md-toggleCol .showCol .dtlTxt {
		padding-top: calc(60 * var(--rs));
		font-size: calc(32 * var(--rs));
		line-height: 2;
	}
	.md-toggleCol.js-moreOpen .detailToggleBtn {
		background: #f4f4f5;
		border: 1px solid #c9c9c9;
	}
	.md-toggleCol.js-moreOpen .detailToggleBtn .more {
		color: #333;
	}
}
/* --------------------------------------------
↑↑↑ 3つのプロダクトライン ↑↑↑
-------------------------------------------- */



/* -------------------------------------------
↓↓↓ レンズ比較 ↓↓↓
------------------------------------------- */
.page-lensComparison .md-lenscategoryNavi {
	margin-top: calc(30 * var(--rs));
}
/* -------------------------------------------
↑↑↑ レンズ比較 ↑↑↑
------------------------------------------- */

