@charset "utf-8";

body.modalActive {
height: 100%;
overflow: hidden;
}

.movie .video-js .vjs-big-play-button {
display: none;
}
.sp video-js.video-js.vjs-fluid:not(.vjs-audio-only-mode) {
padding-top: 138.6666%;
}
.pc video-js.video-js.vjs-fluid:not(.vjs-audio-only-mode) {
padding-top: 56.25%;
}
#VISUAL .video-js .vjs-control-bar {
  display: none;
}

#VISUAL .cont {
position: relative;
}
#VISUAL .logo {
transform: translate(-50%,-50%);
position: absolute;
left: 50%;
top: 50%;
}
#VISUAL .logo img {
display: block;
filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.5));
width: 58.133vw;
height: auto;
}
#VISUAL .movie {
position: relative;
}
#VISUAL .movie video,
#VISUAL .movie img {
display: block;
width: 100%;
height: auto;
}
#VISUAL .sound {
position: absolute;
right: 4vw;
bottom: 6.4vw;
cursor: pointer;
}
#VISUAL .sound img {
display: block;
width: 6.133vw;
height: 6.133vw;
height: auto;
}
#VISUAL .link {
transform: translateX(-50%);
position: absolute;
left: 50%;
bottom: 6.4vw;
}
#VISUAL .link img {
display: block;
width: 58.667vw;
height: auto;
}
@media screen and (min-width: 768px) {
	#VISUAL .logo img {
	width: 252px;
	}
	#VISUAL .movie {
	margin: 0 auto;
	max-width: 1200px;
	}
	#VISUAL .movie img {
	object-fit: cover;
	width: 100%;
	height: 675px;
	}
	#VISUAL .sound {
	right: 25px;
	bottom: 30px;
	}
	#VISUAL .sound img {
	width: 37px;
	height: 37px;
	}
	#VISUAL .link {
	bottom: 30px;
	}
	#VISUAL .link img {
	width: 190px;
	}
}

#LEAD {
position: relative;
overflow: hidden;
}
#LEAD .cont {
padding: 4.8vw 0 12vw 0;
}
#LEAD .lead {
margin: 0 auto 45px auto;
width: 81.333vw;
font-family: "Zen Old Mincho", serif;
font-weight: 500;
font-size: 3.733vw;
line-height: 2.28;
letter-spacing: 0.1em;
}
#LEAD .logo {
margin: 0 auto 65px auto;
width: 81.333vw;
}
#LEAD .logo img {
width: 32vw;
height: auto;
}
#LEAD .catch {
background-color: #1e221b;
margin-bottom: 13.333vw;
padding: 13.333vw 0;
text-align: center;
}
#LEAD .catch p {
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 400;
font-size: 4.267vw;
line-height: 2;
color: #fff;
}
#LEAD .link {
margin: 45px auto 0 auto;
width: 81.333vw;
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 400;
font-size: 4vw;
}
#LEAD .link a {
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
border: solid 1px #000;
height: 11.733vw;
text-align: center;
text-decoration: none;
}
#LEAD .modal .body {
padding: 0 0 4vw 0;
}
#LEAD .modal .body .txt {
padding: 4vw 5.333vw 6.667vw 5.333vw;
font-size: 3.733vw;
line-height: 1.5;
text-align: left;
}
#LEAD .modal .body img {
display: block;
width: 100%;
height: auto;
}

#LEAD .swiper-slide {
box-sizing: border-box;
padding: 0 1.6vw;
width: 73.867vw;
}
#LEAD .swiper img {
display: block;
width: 70.667vw;
height: auto;
}
#LEAD .swiper-navigation {
margin: 4.8vw auto 0 auto;
width: 70.667vw;
}
#contents .swiper-pagination {
position: relative;
margin-top: 2.667vw;
}
#contents .swiper-pagination-bullet {
box-sizing: border-box;
border: solid 1px #000;
background-color: #fff;
}
#contents .swiper-pagination-bullet-active {
background-color: #000;
}
@media screen and (min-width: 768px) {
	#LEAD .cont {
	padding: 80px 0 95px 0;
	}
	#LEAD .lead {
	margin: 0 auto 60px auto;
	width: 690px;
	font-size: 14px;
	line-height: 3;
	text-align: left;
	}
	#LEAD .logo {
	margin: 0 auto 80px auto;
	width: 690px;
	text-align: left;
	}
	#LEAD .logo img {
	width: 200px;
	height: auto;
	}
	#LEAD .catch {
	margin-bottom: 95px;
	padding: 40px 0;
	}
	#LEAD .catch p {
	font-size: 22px;
	line-height: 2.32;
	}
	#LEAD .link {
	margin: 65px auto 0 auto;
	width: 295px;
	font-size: 20px;
	}
	#LEAD .link a {
	position: relative;
	height: 57px;
	z-index: 1;
	}
	#LEAD .link a::before {
	transition: width 0.3s ease;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	background-color: #eee;
	width: 0;
	height: 100%;
	z-index: -1;
	}
	#LEAD .link a:hover::before {
	width: 100%;
	}
	#LEAD .modal .body {
	padding: 0 0 45px 0;
	}
	#LEAD .modal .body .txt {
	padding: 35px 35px 45px 35px;
	font-size: 15px;
	line-height: 1.6;
	}

	#LEAD .images {
	margin: 0 auto;
	width: 986px;
	}
	#LEAD .swiper {
	margin: 0 0 0 0;
	width: 448px;
	overflow: visible;
	}
	#LEAD .swiper-slide {
	padding: 0 10px;
	width: 448px;
	}
	#LEAD .swiper img {
	width: 428px;
	}
	#contents .swiper-navigation {
	gap: 50px;
	margin: 15px 10px 0 10px;
	width: auto;
	font-size: 12px;
	}
	#contents .swiper-next {
	padding-right: 40px;
	cursor: pointer;
	}
	#contents .swiper-prev {
	padding-left: 40px;
	cursor: pointer;
	}
	#contents .swiper-next:hover,
	#contents .swiper-prev:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
	}
	#contents .swiper-next::before,
	#contents .swiper-prev::before {
	width: 30px;
	}
	#contents .swiper-next::after,
	#contents .swiper-prev::after {
	width: 8px;
	}
	#contents .swiper-next::after {
	transform: rotate(-45deg) translateY(2px);
	right: 5px;
	}
	#contents .swiper-prev::after {
	transform: rotate(45deg) translateY(2px);
	left: 5px;
	}
	#contents .swiper-pagination {
	margin-top: 15px;
	}
	#contents .swiper-pagination-bullet {
	margin: 0 6px;
	width: 11px;
	height: 11px;
	}
}



.wideModal .body {
padding-top: 8vw;
width: 100%;
height: 100%;
}
.wideModal .view {
box-sizing: border-box;
max-height: calc(100%);
overflow: auto;
text-align: left;
}
.wideModal .close {
position: absolute;
right: 0;
top: 0;
padding: 0;
width: 8vw;
height: 8vw;
}
.wideModal .close::before {
transform: rotate(45deg);
content: '';
display: block;
position: absolute;
top: 50%;
left: 2.133vw;
width: 4vw;
border-top: solid 1px #000;
}
.wideModal .close::after {
transform: rotate(-45deg);
content: '';
display: block;
position: absolute;
top: 50%;
left: 2.133vw;
width: 4vw;
border-top: solid 1px #000;
}
#LIFEWITH .image,
#MATERIAL .image,
#QUALITY .image,
#ORIGINALITY .image {
position: relative;
}
#LIFEWITH .head picture img,
#MATERIAL .head picture img,
#QUALITY .head picture img,
#ORIGINALITY .head picture img {
aspect-ratio: 15 / 14;
object-fit: cover;
}
#LIFEWITH .head p,
#MATERIAL .head p,
#QUALITY .head p,
#ORIGINALITY .head p {
margin: 18px auto 26px auto;
width: 81.333vw;
text-align: left;
}
#LIFEWITH .point,
#MATERIAL .point,
#QUALITY .point,
#ORIGINALITY .point {
margin: 0 auto;
padding-bottom: 10.667vw;
width: 81.333vw;
}
#LIFEWITH .point img,
#MATERIAL .point img,
#QUALITY .point img,
#ORIGINALITY .point img {
aspect-ratio: 61 / 70;
object-fit: cover;
}
#contents picture img {
display: block;
width: 100%;
height: auto;
}
#LIFEWITH h2,
#MATERIAL h2,
#QUALITY h2,
#ORIGINALITY h2 {
transform: translate(-50%,-50%);
position: absolute;
left: 50%;
top: 50%;
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 400;
font-size: 4.267vw;
text-align: center;
color: #fff;
filter: drop-shadow(0 0 4px rgba(0,0,0,1));
}
#LIFEWITH h2 img,
#MATERIAL h2 img,
#QUALITY h2 img,
#ORIGINALITY h2 img {
display: block;
margin: 0 auto 16px auto;
width: auto;
height: 4.8vw;
}
#LIFEWITH p,
#MATERIAL p,
#QUALITY p,
#ORIGINALITY p {
font-size: 3.733vw;
line-height: 1.36;
text-align: center;
}
#LIFEWITH p.ctg,
#MATERIAL p.ctg,
#QUALITY p.ctg,
#ORIGINALITY p.ctg {
margin-top: 5.333vw;
margin-bottom: 2.133vw;
font-size: 2.933vw;
line-height: 1.36;
}
#LIFEWITH p.note,
#MATERIAL p.note,
#QUALITY p.note,
#ORIGINALITY p.note {
margin-top: 0.533vw;
font-size: 3.2vw;
}
#contents p.more {
margin-top: 5.067vw;
font-size: 2.667vw;
text-align: center;
}
#contents p.more a {
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
position: relative;
background-color: #fff;
border: solid 1px #000;
border-radius: 26666.4vw;
margin: 0 auto;
padding: 0.267vw 4.267vw 0 0;
width: 18.667vw;
height: 5.867vw;
text-decoration: none;
}
#contents p.more a::before {
transform: translateY(-1px);
content: '';
display: block;
position: absolute;
top: 50%;
right: 1.6vw;
width: 3.467vw;
border-top: solid 1px #000;
}
#contents p.more a::after {
transform: rotate(-45deg) translateY(1px);
content: '';
display: block;
position: absolute;
top: 50%;
right: 2.4vw;
width: 1.067vw;
border-top: solid 1px #000;
}
@media screen and (min-width: 768px) {
	.wideModal .body {
	padding-top: 30px;
	width: 1200px;
	}
	.wideModal .view {
	max-height: calc(100vh - 30px);
	}
	.wideModal .close {
	top: 0;
	width: 30px;
	height: 30px;
	cursor: pointer;
	}
	.wideModal .close::before {
	left: 8px;
	width: 15px;
	}
	.wideModal .close::after {
	left: 8px;
	width: 15px;
	}
	#LIFEWITH .cont,
	#MATERIAL .cont,
	#QUALITY .cont,
	#ORIGINALITY .cont {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 100px auto;
	width: 1070px;
	}
	#LIFEWITH .head,
	#MATERIAL .head,
	#QUALITY .head,
	#ORIGINALITY .head {
	margin-right: 70px;
	width: 450px;
	}
	#LIFEWITH .head picture img,
	#MATERIAL .head picture img,
	#QUALITY .head picture img,
	#ORIGINALITY .head picture img {
	aspect-ratio: 1 / 1;
	}
	#LIFEWITH .head p,
	#MATERIAL .head p,
	#QUALITY .head p,
	#ORIGINALITY .head p {
	margin: 18px auto 0 auto;
	width: auto;
	text-align: left;
	}
	#LIFEWITH .point,
	#MATERIAL .point,
	#QUALITY .point,
	#ORIGINALITY .point {
	position: relative;
	margin: 0 54px 0 0;
	padding-bottom: 0;
	width: 248px;
	text-align: left;
	}
	#LIFEWITH .point:last-child,
	#MATERIAL .point:last-child,
	#QUALITY .point:last-child,
	#ORIGINALITY .point:last-child {
	margin: 0;
	}
	#LIFEWITH .point img,
	#MATERIAL .point img,
	#QUALITY .point img,
	#ORIGINALITY .point img {
	aspect-ratio: 124 / 183;
	}
	#LIFEWITH h2,
	#MATERIAL h2,
	#QUALITY h2,
	#ORIGINALITY h2 {
	font-size: 22px;
	}
	#LIFEWITH h2 img,
	#MATERIAL h2 img,
	#QUALITY h2 img,
	#ORIGINALITY h2 img {
	display: block;
	margin: 0 auto 15px auto;
	width: auto;
	height: 25px;
	}
	#LIFEWITH p,
	#MATERIAL p,
	#QUALITY p,
	#ORIGINALITY p {
	font-size: 15px;
	line-height: 1.6;
	text-align: left;
	}
	#LIFEWITH p.ctg,
	#MATERIAL p.ctg,
	#QUALITY p.ctg,
	#ORIGINALITY p.ctg {
	margin-top: 14px;
	margin-bottom: 4px;
	font-size: 11px;
	line-height: 1.36;
	}
	#LIFEWITH p.note,
	#MATERIAL p.note,
	#QUALITY p.note,
	#ORIGINALITY p.note {
	margin-top: 9px;
	font-size: 12px;
	}
	#contents p.more {
	position: absolute;
	left: 0;
	bottom: 0;
	font-size: 11px;
	}
	#contents p.more a {
	transition: background-color 0.3s ease;
	margin: 0;
	padding: 1px 16px 0 0;
	width: 80px;
	height: 27px;
	}
	#contents p.more a:hover {
	background-color: #eee;
	}
	#contents p.more a::before {
	right: 6px;
	width: 17px;
	}
	#contents p.more a::after {
	transform: rotate(-45deg) translateY(1px);
	right: 9px;
	width: 5px;
	}
}