/* ==========================================================================
	 * mainvisual
========================================================================== */
.mainvisual {
	position: relative;
	width: 100%;
}
.mainvisual::after {
	content: "";
	display: inline-block;
	position: absolute;
	right: 0;
	bottom: -9px;
	background-color: rgba(128, 199, 164, 0.9);
	width: 290px;
	height: 18px;
}
.mainvisual__picture img {
	width: 100%;
	height: auto;
}
.mainvisual__scroll {
	position: absolute;
	z-index: 1;
	display: block;
	left: 50%;
	bottom: -68px;
	transform: translateX(-50%);
	width: 24px;
	height: 133px;
	background-image: url(https://campaigns.nikon-lenswear.jp/lohas/a/assets/img/btn_scroll.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	animation: blink 1.2s infinite ease-in-out alternate;
}
@keyframes blink {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@media screen and (min-width: 769px) {
	.mainvisual::after {
		right: 0;
		bottom: -18px;
		width: 622px;
		height: 36px;
	}
	.mainvisual__scroll {
		left: 12.5%;
		bottom: -50px;
		transform: translateX(0%);
	}
}
/* ==========================================================================
	 * overview
========================================================================== */
.overview__container {
	padding-top: 110px;
	padding-bottom: 60px;
}
.overview__head {
	margin-bottom: 120px;
	padding-right: 30px;
	padding-left: 30px;
}
.overview__head-title {
	margin-bottom: 40px;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.8;
}
.overview__head-bodycopy {
	font-size: 2.2rem;
	line-height: 2.3;
}
.overview__list {
	margin-bottom: 70px;
}
.overview__item {
	position: relative;
	margin-bottom: 110px;
}
.overview__item:last-child {
	margin-bottom: 0;
}
.overview__number {
	position: absolute;
	top: -47px;
	left: 20px;
}
.overview__picture img {
	width: 100%;
}
.overview__textbox {
	position: relative;
	z-index: 1;
	margin-top: -40px;
	margin-right: 30px;
	margin-left: 30px;
	padding-top: 25px;
	padding-right: 25px;
	padding-bottom: 20px;
	padding-left: 25px;
	background-color: rgba(210, 235, 218, 0.9);
}
.overview__item-title {
	margin-bottom: 8px;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.6;
}
.overview__item-bodycopy {
	font-size: 1.8rem;
	line-height: 1.8;
}

@media screen and (min-width: 769px) {
	.overview__container {
		padding-top: 120px;
		padding-bottom: 150px;
	}
	.overview__head {
		margin-right: auto;
		margin-left: auto;
		max-width: 1000px;
		padding-right: 20px;
		padding-left: 20px;
	}
	.overview__head-title {
		margin-bottom: 60px;
		font-size: 4rem;
	}
	.overview__head-bodycopy {
		padding-left: 120px;
		font-size: 2.4rem;
		line-height: 2.1;
	}
	.overview__list {
		margin-right: auto;
		margin-left: auto;
		max-width: 1000px;
		margin-bottom: 190px;
		padding-right: 20px;
		padding-left: 20px;
	}
	.overview__item {
		margin-bottom: 140px;
	}
	.overview__number {
		top: -50px;
		left: 0;
	}
	.overview__item:nth-child(2) .overview__number {
		left: initial;
		right: 0;
	}
	.overview__textbox {
		position: absolute;
		margin-right: 0;
		margin-left: 0;
		padding-top: 35px;
		padding-right: 50px;
		padding-bottom: 30px;
		padding-left: 70px;
		max-width: 463px;
	}
	.overview__item:nth-child(1) .overview__textbox {
		top: 120px;
		right: 0;
	}
	.overview__item:nth-child(2) .overview__textbox {
		top: 120px;
		left: 0;
		padding-right: 70px;
		padding-left: 50px;
	}
	.overview__item:nth-child(3) .overview__textbox {
		top: 120px;
		right: 0;
	}
	.overview__item-title {
		font-size: 2.6rem;
	}
	.overview__item-bodycopy {
		font-size: 2rem;
	}
}
.check {
	padding-right: 20px;
	padding-left: 20px;
}
.check__container {
	padding-top: 50px;
	padding-right: 20px;
	padding-bottom: 50px;
	padding-left: 20px;
	border: 2px solid #80C7A4;
}
.check__title {
	margin-bottom: 40px;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.8;
}
.check__subtitle {
	margin-bottom: 10px;
	padding-top: 0.1em;
	padding-right: 0.1em;
	padding-bottom: 0.2em;
	padding-left: 0.1em;
	background-color: #80C7A4;
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
	line-height: 1.6;
}
.check__bodycopy {
	margin-bottom: 30px;
	font-size: 2.2rem;
	line-height: 2.3;
}
.check__list {
	margin-bottom: 20px;
}
.check__item {
	margin-bottom: 10px;
	font-size: 2.1rem;
	font-weight: 500;
	line-height: 2;
}
.check__picture {
	margin-bottom: 50px;
	text-align: center;
}
.check__link {
	padding-top: 0.5em;
	padding-right: 0.2em;
	padding-bottom: 0.7em;
	padding-left: 0.2em;
	display: block;
	background-color: #ECF4EF;
	border: 2px solid #80C7A4;
	box-shadow: 0px 0px 10px 2px rgba(128, 199, 164, 0.5);
	font-size: 2.4rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.6;
	transition: 0.4s;
}
.check__link:hover {
	background-color: #80C7A4;
	border: 2px solid #fff;
	color: #fff;
}
.check__modal {
	display: none;
}
.check__modal-title {
	margin-bottom: 20px;
	padding-bottom: 15px;
	border-bottom: 2px solid #999;
	font-size: 3.6rem;
	font-weight: 900;
	color: #999;
	line-height: 1.4;
	letter-spacing: 0;
}
.check__modal-wrapper {
	position: relative;
}
.check__modal-subtitle {
	margin-bottom: 10px;
	font-size: 2.2rem;
	font-weight: 500;
	color: #999;
	line-height: 1.7;
	letter-spacing: 0;
}
.check__modal-flexbox {
	padding-bottom: 15px;
	border-bottom: 2px solid #999;
}
.check__modal-picture {
	position: absolute;
	top: 8px;
	right: 0;
}
.check__modal-picture img {
	width: 100px;
	height: 100px;
}
.check__modal-bodycopy {
	font-size: 1.2rem;
	color: #999;
	line-height: 2;
}

@media screen and (min-width: 479px) and (max-width: 768px) {
	.check__picture {
		margin-right: auto;
		margin-left: auto;
		max-width: 300px;
	}
	.check__link {
		margin-right: auto;
		margin-left: auto;
		max-width: 320px;
	}
	.check__modal-subtitle {
		margin-bottom: 40px;
	}
}
@media screen and (min-width: 769px) {
	.check {
		margin-right: auto;
		margin-left: auto;
		max-width: 1000px;
	}
	.check__container {
		padding-top: 60px;
		padding-right: 90px;
		padding-bottom: 100px;
		padding-left: 90px;
	}
	.check__title {
		margin-bottom: 50px;
		font-size: 4rem;
	}
	.check__subtitle {
		margin-bottom: 15px;
		max-width: 320px;
	}
	.check__bodycopy {
		font-size: 2.4rem;
		line-height: 2;
	}
	.check__flexbox {
		margin-right: auto;
		margin-left: auto;
		max-width: 690px;
		margin-bottom: 50px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	.check__list {
		margin-bottom: 0;
		width: 46.5%;
	}
	.check__item {
		font-size: 2.4rem;
	}
	.check__picture {
		margin-top: -10px;
		margin-bottom: 0;
		width: 47.5%;
	}
	.check__link {
		padding-top: 0.35em;
		padding-bottom: 0.5em;
		margin-right: auto;
		margin-left: auto;
		max-width: 460px;
		font-size: 3rem;
	}
	.check__modal {
		margin-right: auto;
		margin-left: auto;
		max-width: 700px;
	}
	.check__modal-title {
		margin-bottom: 25px;
		padding-bottom: 5px;
		font-size: 4rem;
	}
	.check__modal-subtitle {
		font-size: 2.8rem;
		line-height: 1.5;
	}
	.check__modal-flexbox {
		padding-bottom: 30px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.check__modal-picture {
		padding-top: 5px;
		position: static;
	}
	.check__modal-picture img {
		width: 200px;
		height: 200px;
	}
	.check__modal-bodycopy {
		max-width: 60%;
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 320px) {
	.check__container {
		padding-top: 30px;
		padding-right: 20px;
		padding-bottom: 30px;
		padding-left: 20px;
	}
	.check__title {
		font-size: 2.3rem;
	}
	.check__subtitle {
		font-size: 1.8rem;
	}
	.check__bodycopy {
		font-size: 2rem;
	}
	.check__item {
		font-size: 1.7rem;
	}
	.check__link {
		font-size: 2rem;
	}
	.check__modal-title {
		font-size: 3.5rem;
	}
	.check__modal-subtitle {
		font-size: 1.8rem;
	}
	.check__modal-picture img {
		width: 80px;
		height: 80px;
	}
}
/* ==========================================================================
	 * lens
========================================================================== */
.lens {
	padding-bottom: 80px;
	background-color: #ECF4EF;
}
.lens__container {
	padding-top: 60px;
	padding-right: 30px;
	padding-left: 30px;
}
.lens__head {
	margin-bottom: 30px;
}
.lens__head-title {
	margin-bottom: 30px;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.8;
}
.lens__head-bodycopy {
	margin-bottom: 25px;
	font-size: 2.2rem;
	line-height: 2.3;
}
.lens__list {
	margin-bottom: -20px;
}
.lens__item {
	margin-bottom: 20px;
}
.lens__picture {
	margin-bottom: 5px;
	text-align: center;
}
.lens__figcaption {
	font-size: 1.8rem;
	text-align: center;
	line-height: 1.7;
}
.lens__notes {
	padding-top: 10px;
	font-size: 1.4rem;
	text-align: center;
	line-height: 1.6;
}
.lens__invest {
	margin-bottom: 80px;
	padding-top: 50px;
	padding-right: 20px;
	padding-bottom: 30px;
	padding-left: 20px;
	background-color: #fff;
}
.lens__invest-title {
	margin-bottom: 30px;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.8;
}
.lens__invest-bodycopy {
	margin-bottom: 50px;
	font-size: 2.2rem;
	line-height: 2.3;
}
.lens__invest-picture {
	text-align: center;
}

@media screen and (min-width: 479px) and (max-width: 768px) {
	.lens__picture {
		margin-right: auto;
		margin-left: auto;
		max-width: 450px;
	}
	.lens__invest-picture {
		margin-right: auto;
		margin-left: auto;
		max-width: 450px;
	}
}
@media screen and (min-width: 769px) {
	.lens {
		padding-bottom: 140px;
	}
	.lens__container {
		margin-right: auto;
		margin-left: auto;
		padding-top: 100px;
		padding-right: 20px;
		padding-left: 20px;
		max-width: 1000px;
	}
	.lens__head {
		margin-bottom: 50px;
	}
	.lens__head-title {
		margin-bottom: 50px;
		font-size: 4rem;
	}
	.lens__head-bodycopy {
		margin-bottom: 50px;
		padding-left: 120px;
		font-size: 2.4rem;
		line-height: 2.1;
	}
	.lens__list {
		margin-bottom: 0;
		padding-left: 120px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.lens__item {
		margin-bottom: 0;
		width: 47.6%;
	}
	.lens__picture {
		margin-bottom: 10px;
	}
	.lens__figcaption {
		font-size: 2rem;
	}
	.lens__notes {
		text-align: right;
	}
	.lens__invest {
		margin-bottom: 120px;
		padding-top: 60px;
		padding-right: 90px;
		padding-bottom: 90px;
		padding-left: 90px;
	}
	.lens__invest-title {
		margin-bottom: 20px;
		font-size: 4rem;
	}
	.lens__invest-bodycopy {
		margin-bottom: 60px;
		font-size: 2.4rem;
		line-height: 2.1;
	}
}
/* ==========================================================================
	 * lohas
========================================================================== */
.lohas {
	padding-bottom: 80px;
	background-color: #ECF4EF;
}
.lohas__container {
	padding-top: 60px;
	padding-right: 30px;
	padding-left: 30px;
}
.lohas__head {
	margin-bottom: 40px;
}
.lohas__head-title {
	margin-bottom: 30px;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.8;
}
.lohas__head-bodycopy {
	font-size: 2.2rem;
	line-height: 2.3;
}
.lohas__wrap {
	margin-bottom: 40px;
}
.lohas__flexbox {
	margin-bottom: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.lohas__logo {
	width: 35%;
}
.lohas__logo img {
	max-width: 110px;
}
.lohas__title {
	width: 54%;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.8;
}
.lohas__bodycopy {
	margin-bottom: 70px;
	font-size: 2.2rem;
	line-height: 2.3;
}
.lohas__list {
	margin-bottom: 80px;
}
.lohas__item {
	margin-bottom: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.lohas__item-picture {
	width: 48%;
}
.lohas__item-picture img {
	width: 100%;
}
.lohas__item-container {
	padding-top: 10px;
	background-color: #80C7A4;
	width: 52%;
}
.lohas__item-title {
	margin-bottom: 10px;
	text-align: center;
}
.lohas__item-title span {
	display: block;
	font-size: 1.2rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
}
.lohas__item-title img {
	width: auto;
	height: 16px;
}
.lohas__table {
	margin-right: auto;
	margin-left: auto;
	border-collapse: separate;
	border-spacing: 8px;
}
.lohas__th {
	padding-top: 0.1em;
	padding-right: 0.2em;
	padding-bottom: 0.2em;
	padding-left: 0.2em;
	background-color: #fff;
	font-size: 1.2rem;
	font-weight: 500;
	text-align: center;
	line-height: 1;
}
.lohas__td {
	padding-bottom: 0.2em;
	font-size: 1.2rem;
	color: #fff;
	line-height: 1;
}
.lohas__td span {
	color: #000;
}

@media screen and (min-width: 479px) and (max-width: 768px) {
	.lohas__flexbox {
		margin-right: auto;
		margin-left: auto;
		max-width: 350px;
	}
	.lohas__picture {
		margin-right: auto;
		margin-left: auto;
		max-width: 450px;
	}
	.lohas__list {
		margin-bottom: 40px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.lohas__item {
		margin-bottom: 40px;
		flex-direction: column;
		width: 47.5%;
	}
	.lohas__item-picture {
		width: 100%;
	}
	.lohas__item-container {
		padding-top: 30px;
		padding-bottom: 30px;
		width: 100%;
	}
	.lohas__item-title {
		margin-bottom: 20px;
	}
	.lohas__item-title span {
		margin-bottom: 20px;
		font-size: 1.8rem;
		line-height: 1.8;
	}
	.lohas__item-title img {
		height: 26px;
	}
	.lohas__table {
		border-spacing: 13px;
	}
	.lohas__th {
		padding-right: 0.5em;
		padding-left: 0.5em;
		font-size: 1.8rem;
	}
	.lohas__td {
		font-size: 2rem;
	}
}
@media screen and (min-width: 769px) {
	.lohas {
		padding-bottom: 140px;
	}
	.lohas__container {
		margin-right: auto;
		margin-left: auto;
		padding-top: 110px;
		padding-right: 20px;
		padding-left: 20px;
		max-width: 1000px;
	}
	.lohas__head {
		margin-bottom: 80px;
	}
	.lohas__head-title {
		margin-bottom: 40px;
		font-size: 4rem;
	}
	.lohas__head-bodycopy {
		margin-right: -10px;
		padding-left: 110px;
		font-size: 2.4rem;
		line-height: 2.1;
	}
	.lohas__wrap {
		margin-bottom: 50px;
		padding-left: 120px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.lohas__flexbox {
		padding-right: 0;
		padding-left: 0;
		width: 35%;
		justify-content: start;
		flex-direction: column;
		align-items: flex-start;
	}
	.lohas__logo {
		margin-bottom: 30px;
		padding-left: 5px;
	}
	.lohas__logo img {
		max-width: 145px;
	}
	.lohas__title {
		margin-bottom: 0;
		width: 100%;
		font-size: 3rem;
	}
	.lohas__picture {
		padding-right: 0;
		padding-left: 0;
		width: 57%;
	}
	.lohas__bodycopy {
		margin-bottom: 100px;
		padding-left: 120px;
		font-size: 2.2rem;
		line-height: 2.3;
	}
	.lohas__list {
		margin-right: auto;
		margin-left: auto;
		max-width: 1000px;
		margin-bottom: 35px;
		padding-left: 20px;
		padding-right: 20px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.lohas__item {
		margin-bottom: 90px;
		flex-direction: column;
		width: 45.8%;
	}
	.lohas__item-picture {
		width: 100%;
	}
	.lohas__item-container {
		padding-top: 30px;
		padding-bottom: 30px;
		width: 100%;
	}
	.lohas__item-title {
		margin-bottom: 20px;
	}
	.lohas__item-title span {
		margin-bottom: 20px;
		font-size: 2.2rem;
		line-height: 1.8;
	}
	.lohas__item-title img {
		height: 30px;
	}
	.lohas__table {
		border-spacing: 13px;
	}
	.lohas__th {
		padding-right: 0.5em;
		padding-left: 0.5em;
		font-size: 2rem;
	}
	.lohas__td {
		font-size: 2.6rem;
	}
}
/* ==========================================================================
	 * technology
========================================================================== */
.technology {
	background-color: #E0E2DF;
}
.technology__container {
	padding-top: 80px;
	padding-bottom: 80px;
}
.technology__title {
	margin-bottom: 40px;
	padding-right: 30px;
	padding-left: 30px;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.8;
}
.technology__list {
	margin-bottom: 80px;
	padding-right: 30px;
	padding-left: 30px;
}
.technology__item {
	margin-bottom: 40px;
	background-color: #fff;
}
.technology__item-title {
	padding-top: 15px;
	padding-right: 30px;
	padding-bottom: 12px;
	padding-left: 30px;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.4;
}
.technology__item-picture {
	padding-right: 30px;
	padding-left: 30px;
}
.technology__item-picture img {
	width: 100%;
}
.technology__item-bodycopy {
	padding-top: 15px;
	padding-right: 30px;
	padding-bottom: 30px;
	padding-left: 30px;
	font-size: 1.5rem;
	line-height: 1.9;
}
.technology__item-bodycopy span {
	padding-top: 0.2em;
	display: block;
	font-size: 1.2rem;
}

@media screen and (min-width: 479px) and (max-width: 768px) {
	.technology__list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.technology__item {
		margin-bottom: 40px;
		width: 47.5%;
	}
}
@media screen and (min-width: 769px) {
	.technology__container {
		padding-top: 120px;
		padding-bottom: 150px;
	}
	.technology__title {
		margin-bottom: 50px;
		margin-right: auto;
		margin-left: auto;
		max-width: 1000px;
		padding-right: 20px;
		padding-left: 20px;
		font-size: 4rem;
	}
	.technology__list {
		margin-bottom: 80px;
		margin-right: auto;
		margin-left: auto;
		max-width: 1000px;
		padding-right: 20px;
		padding-left: 20px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.technology__item {
		margin-bottom: 40px;
		width: 48%;
	}
	.technology__item::before {
		width: 84px;
		height: 6px;
	}
	.technology__item-title {
		padding-top: 10px;
		font-size: 2.5rem;
	}
	.technology__item-picture {
		padding-right: 40px;
		padding-left: 40px;
	}
	.technology__item-bodycopy {
		padding-top: 20px;
		padding-right: 30px;
		padding-bottom: 40px;
		padding-left: 40px;
		font-size: 2rem;
		line-height: 2;
	}
}
/* ==========================================================================
	 * life
========================================================================== */
.life__container {
	padding-top: 80px;
	padding-bottom: 80px;
}
.life__head {
	margin-bottom: 80px;
	padding-right: 30px;
	padding-left: 30px;
}
.life__head-title {
	margin-bottom: 30px;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.8;
}
.life__head-bodycopy {
	font-size: 2.2rem;
	line-height: 2.3;
}
.life__list {
	margin-bottom: 30px;
}
.life__item {
	margin-bottom: 60px;
}
.life__picture img {
	width: 100%;
}
.life__textbox {
	position: relative;
	z-index: 1;
	margin-top: -40px;
	margin-right: 30px;
	margin-left: 30px;
	padding-top: 25px;
	padding-right: 25px;
	padding-bottom: 20px;
	padding-left: 25px;
	background-color: rgba(210, 235, 218, 0.9);
}
.life__item-title {
	margin-bottom: 5px;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.7;
}
.life__item-bodycopy {
	font-size: 1.8rem;
	line-height: 2;
}
.life__notes {
	padding-right: 30px;
	padding-left: 30px;
	font-size: 1.4rem;
	line-height: 1.6;
}

@media screen and (min-width: 479px) and (max-width: 768px) {
	.life__picture {
		margin-right: auto;
		margin-left: auto;
		max-width: 450px;
	}
}
@media screen and (min-width: 769px) {
	.life {
		margin-right: auto;
		margin-left: auto;
		padding-right: 20px;
		padding-left: 20px;
		max-width: 1000px;
	}
	.life__container {
		padding-top: 120px;
		padding-bottom: 120px;
	}
	.life__head {
		padding-right: 0;
		padding-left: 0;
	}
	.life__head-title {
		margin-bottom: 60px;
		font-size: 4rem;
	}
	.life__head-bodycopy {
		padding-left: 120px;
		font-size: 2.4rem;
		line-height: 2.1;
	}
	.life__list {
		margin-bottom: -90px;
	}
	.life__item {
		position: relative;
		margin-bottom: 140px;
	}
	.life__textbox {
		position: absolute;
		margin-top: 0;
		margin-right: 0;
		margin-left: 0;
		padding-top: 40px;
		padding-right: 35px;
		padding-bottom: 40px;
		padding-left: 35px;
		max-width: 440px;
	}
	.life__item:nth-child(1) .life__textbox {
		top: 40px;
		left: 0;
	}
	.life__item:nth-child(2) .life__textbox {
		top: 110px;
		right: 0;
	}
	.life__item:nth-child(3) .life__textbox {
		top: 170px;
		left: 0;
	}
	.life__item-title {
		margin-bottom: 10px;
		font-size: 2.6rem;
	}
	.life__item-bodycopy {
		font-size: 2rem;
	}
	.life__notes {
		padding-right: 0;
		padding-left: 0;
		text-align: right;
	}
}
/* ==========================================================================
	 * warranty
========================================================================== */
.warranty {
	background-color: #80C7A4;
}
.warranty__container {
	padding-top: 80px;
	padding-right: 30px;
	padding-bottom: 100px;
	padding-left: 30px;
}
.warranty__title {
	margin-bottom: 20px;
	font-size: 3.4rem;
	font-weight: 500;
	color: #fff;
	line-height: 2;
}
.warranty__bodycopy {
	font-size: 2.2rem;
	font-weight: 500;
	color: #fff;
	line-height: 2.3;
}
.warranty__bodycopy span {
	display: block;
	font-size: 1.4rem;
}
.warranty__list {
	margin-bottom: 40px;
	padding-top: 25px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.warranty__item {
	padding-top: 20px;
	width: 150px;
	height: 150px;
	background-color: #fff;
	border-radius: 50%;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.6;
}
.warranty__item::before {
	content: "";
	display: block;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 10px;
	width: 22px;
	height: 22px;
	background-image: url(https://campaigns.nikon-lenswear.jp/lohas/a/assets/img/icon_check_green.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.warranty__partner {
	margin-top: 15px;
	padding-top: 30px;
	padding-right: 20px;
	padding-bottom: 35px;
	padding-left: 20px;
	background-color: #5b9377;
	background-image: url(https://campaigns.nikon-lenswear.jp/lohas/a/assets/img/bg_partner_sp.png);
	background-position: top right;
	background-repeat: no-repeat;
	background-size: 197px 175px;
}
.warranty__partner-title {
	margin-bottom: 20px;
	font-size: 2.2rem;
	font-weight: 500;
	color: #fff;
	line-height: 2;
}
.warranty__partner-bodycopy {
	margin-bottom: 20px;
	font-size: 1.8rem;
	font-weight: 500;
	color: #fff;
	line-height: 2;
}
.warranty__partner-link {
	padding-top: 0.4em;
	padding-right: 1em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	display: inline-block;
	border: 1px solid #fff;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
	line-height: 1.6;
	transition: 0.4s;
}
.warranty__partner-link:hover {
	opacity: 0.7;
}
.warranty__partner-link::after {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 0.5em;
	background-image: url(https://campaigns.nikon-lenswear.jp/lohas/a/assets/img/icon_external_white.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (min-width: 479px) and (max-width: 768px) {
	.warranty__list {
		justify-content: center;
	}
	.warranty__item {
		padding-top: 30px;
		margin-right: 20px;
		margin-left: 20px;
		width: 200px;
		height: 200px;
		font-size: 2.2rem;
		line-height: 1.8;
	}
	.warranty__item::before {
		margin-bottom: 10px;
		width: 30px;
		height: 30px;
	}
}
@media screen and (min-width: 769px) {
	.warranty__container {
		margin-right: auto;
		margin-left: auto;
		max-width: 900px;
		padding-top: 120px;
		padding-right: 20px;
		padding-bottom: 180px;
		padding-left: 20px;
	}
	.warranty__title {
		font-size: 4.6rem;
		text-align: center;
	}
	.warranty__bodycopy {
		font-size: 2.8rem;
		text-align: center;
		line-height: 2;
	}
	.warranty__bodycopy span {
		padding-top: 10px;
	}
	.warranty__list {
		margin-bottom: 80px;
		padding-top: 35px;
		justify-content: center;
	}
	.warranty__item {
		padding-top: 45px;
		margin-right: 40px;
		margin-left: 40px;
		width: 250px;
		height: 250px;
		font-size: 2.2rem;
		line-height: 2;
	}
	.warranty__item::before {
		margin-bottom: 15px;
		width: 34px;
		height: 34px;
	}
	.warranty__partner {
		margin-top: 25px;
		padding-top: 25px;
		padding-right: 280px;
		padding-bottom: 35px;
		padding-left: 60px;
		background-image: url(https://campaigns.nikon-lenswear.jp/lohas/a/assets/img/bg_partner.png);
		background-size: 293px 260px;
	}
	.warranty__partner-title {
		margin-bottom: 5px;
		font-size: 2.6rem;
	}
	.warranty__partner-bodycopy {
		font-size: 2rem;
		line-height: 1.9;
	}
}
/* ==========================================================================
	 * campaign
========================================================================== */
.campaign__container {
	padding-top: 60px;
	padding-right: 20px;
	padding-bottom: 60px;
	padding-left: 20px;
}
.campaign__catch {
	margin-bottom: 10px;
	font-size: 2.1rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
}
.campaign__textbox {
	border: 2px solid #80C7A4;
}
.campaign__head {
	padding-top: 20px;
	padding-right: 10px;
	padding-bottom: 20px;
	padding-left: 10px;
	background-color: #80C7A4;
}
.campaign__title {
	font-size: 2.6rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
}
.campaign__title span {
	font-size: 3.5rem;
	color: #fff;
}
.campaign__body {
	padding-top: 25px;
	padding-right: 25px;
	padding-bottom: 30px;
	padding-left: 25px;
	background-color: #ECF4EF;
}
.campaign__bodycopy {
	margin-bottom: 15px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 2;
}
.campaign__dl {
	padding-top: 20px;
	padding-right: 15px;
	padding-bottom: 20px;
	padding-left: 15px;
	background-color: #fff;
}
.campaign__dt {
	margin-bottom: 5px;
	padding-top: 0.3em;
	padding-right: 0.3em;
	padding-bottom: 0.4em;
	padding-left: 0.3em;
	background-color: #80C7A4;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
	line-height: 1.3;
}
.campaign__dd {
	margin-bottom: 10px;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
}
.campaign__attention {
	margin-top: -15px;
	margin-bottom: 15px;
	padding-top: 0.5em;
	padding-right: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 0.5em;
	background-color: #80C7A4;
	box-shadow: 0px 0px 7px 1px rgba(128, 199, 164, 0.4);
	border-radius: 50px;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
	line-height: 1.5;
}
.campaign__notes {
	font-size: 1.2rem;
	line-height: 1.6;
}

@media screen and (min-width: 769px) {
	.campaign__container {
		margin-right: auto;
		margin-left: auto;
		max-width: 924px;
		padding-top: 100px;
		padding-bottom: 120px;
	}
	.campaign__catch {
		margin-bottom: 15px;
		font-size: 3.8rem;
	}
	.campaign__head {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.campaign__title {
		font-size: 4.4rem;
		line-height: 1.4;
	}
	.campaign__title span {
		font-size: 6.4rem;
	}
	.campaign__body {
		padding-top: 50px;
		padding-right: 100px;
		padding-bottom: 60px;
		padding-left: 100px;
	}
	.campaign__bodycopy {
		margin-bottom: 30px;
		font-size: 2.4rem;
		text-align: center;
	}
	.campaign__item {
		position: relative;
		margin-bottom: 15px;
	}
	.campaign__dl {
		padding-top: 35px;
		padding-right: 50px;
		padding-bottom: 20px;
		padding-left: 50px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	.campaign__dt {
		margin-bottom: 15px;
		margin-right: 20px;
		padding-top: 0.2em;
		padding-right: 0.3em;
		padding-bottom: 0.4em;
		padding-left: 0.3em;
		width: 33%;
		max-width: 145px;
		font-size: 1.8rem;
	}
	.campaign__dd {
		margin-bottom: 15px;
		width: 67%;
		font-size: 2rem;
		text-align: left;
	}
	.campaign__attention {
		position: absolute;
		top: -12px;
		right: -70px;
		margin-top: 0;
		margin-bottom: 0;
		padding-top: 37px;
		box-shadow: 0px 0px 10px 2px rgba(128, 199, 164, 0.4);
		border-radius: 50%;
		width: 205px;
		height: 205px;
		font-size: 2rem;
		line-height: 2;
	}
	.campaign__notes {
		font-size: 1.4rem;
	}
}
/* ==========================================================================
	 * shop
========================================================================== */
.shop {
	background-color: #ECF4EF;
}
.shop__container {
	padding-top: 45px;
	padding-right: 20px;
	padding-bottom: 35px;
	padding-left: 20px;
}
.shop__title {
	margin-bottom: -15px;
	font-size: 2.4rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
}
.shop__map {
	width: 100%;
	height: 90vh;
	overflow: hidden;
}

@media screen and (min-width: 769px) {
	.shop__container {
		padding-top: 120px;
		padding-right: 65px;
		padding-bottom: 80px;
		padding-left: 65px;
	}
	.shop__title {
		margin-bottom: 30px;
		font-size: 4rem;
	}
	.shop__map {
		height: 787px;
	}
}

/*# sourceMappingURL=style.css.map */