@charset "utf-8";

body {
	background-color: #000;
}

@media screen and (max-width: 767px){
	.onlyPC {
		display: none;
	}
}
@media screen and (min-width: 768px){
	.onlySP {
		display: none;
	}
}

.dib {
	display: inline-block;
}

.mainvisual {
	background-color: #000;
	aspect-ratio: 16 / 9;
	margin-top: -1.5em;
}
.mainvisual video {
	width: 100%;
	vertical-align: top;
}

.mainArea {
	background-color: #000;
	font-family: "Noto Serif JP", serif;
	color: #fff;
	font-weight: 100;
	line-height: 2;
	overflow: hidden;
}
.mainArea .pageInner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 40px;
}
.mainArea h1,
.mainArea h2,
.mainArea h3,
.mainArea p {
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: 0.24em;
}
@media screen and (max-width: 767px){
	.mainArea .pageInner {
		padding: 0 5vw;
	}
	.mainArea h1,
	.mainArea h2,
	.mainArea h3,
	.mainArea p {
		font-weight: inherit;
		line-height: inherit;
		letter-spacing: 0.1em;
	}
}

.showAnime {
	position: relative;
	transition: all 1s ease-out;
	opacity: 0;
}
.showAnime.show {
	top: 0;
	left: 0;
	opacity: 1;
}
.anime01 {
	top: 120px;
}
.subAnime {
	transition: all 1s ease-out;
	opacity: 0;
}
.showAnime.show .subAnime {
	opacity: 1;
}
.delay1 {
	transition-delay: 0.5s;
}
.delay2 {
	transition-delay: 1.0s;
}
.delay3 {
	transition-delay: 1.5s;
}
.delay4 {
	transition-delay: 2.0s;
}

.lead01 a {
	display: block;
	background: url(../images/line_01.png) no-repeat 50% 51%, url(../images/bg_01.jpg) no-repeat 50% 50%;
	background-size: 1540px auto, cover;
	padding: 130px 0 170px;
	text-align: center;
	font-size: 30px;
	line-height: 2;
}
.lead01 h1 {
	margin-top: 30px;
	font-size: 60px;
	letter-spacing: 0.14em;
	line-height: 1.2;
}
.lead01 h1 small {
	font-size: 50%;
}
@media screen and (max-width: 1200px){
	.lead01 a {
		padding: 9% 0 14.2%;
		font-size: 3.2vw;
	}
	.lead01 h1 {
		margin-top: 5vw;
		font-size: 6vw;
	}
}
@media screen and (max-width: 767px){
	.lead01 {
		background-size: 150% auto, cover;
		padding: 8vw 0 14vw;
		font-size: 4.2vw;
	}
	.lead01 h1 {
		margin-top: 5vw;
		font-size: 7vw;
	}
}

.lead02 {
	margin-bottom: 60px;
	aspect-ratio: 3080 / 1752;
	background: url(../images/bg_02.jpg) no-repeat 50% 50%;
	background-size: cover;
	padding-top: 20%;
	font-size: 40px;
	line-height: 2;
}
@media screen and (max-width: 1200px){
	.lead02 {
		margin-bottom: 5vw;
		font-size: 3vw;
	}
}

.sectionTitle {
	position: relative;
	margin-bottom: -120px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 620px;
	background: url(../images/bg_title.jpg) no-repeat 50% 50%;
	background-size: cover;
	font-size: 40px;
}
.sectionTitle span {
	position: relative;
}
.sectionTitle::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #000;
	transition: opacity 1s;
	transition-delay: 0.5s;
}
.sectionTitle.show::before {
	opacity: 0;
}
@media screen and (max-width: 1200px){
	.sectionTitle {
		margin-bottom: -10%;
		height: 50vw;
		font-size: 3.2vw;
	}
}
@media screen and (max-width: 767px){
	.sectionTitle {
		margin-bottom: -5%;
		background-size: 150% auto;
		font-size: 6vw;
	}
}

.detailBtn {
	margin-top: 50px;
}
.detailBtn a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: url(../images/btn_bg.png) no-repeat 50% 50%;
	background-size: contain;
	aspect-ratio: 450 / 100;
	width: 225px;
	font-size: 14px;
	transition: opacity 0.2s;
}
.detailBtn a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 1200px){
	.detailBtn {
		margin-top: 30px;
	}
}
@media screen and (max-width: 767px){
	.detailBtn {
		margin-top: 6vw;
	}
	.detailBtn a {
		width: 60vw;
		font-size: 3vw;
	}
}

.imgCol {
	position: relative;
	margin-bottom: 240px;
}
.imgCol > .img {
	position: relative;
	width: 100%;
}
.imgCol .textArea {
	position: absolute;
	top: 13.5%;
	right: 0;
	width: 43.3%;
}
.imgCol.s_reverse .textArea {
	left: 0;
	right: auto;
	width: 46%;
}
@media screen and (max-width: 1280px){
	.imgCol {
		margin-bottom: 200px;
	}
	.imgCol > .img {
		left: -40px;
	}
	.imgCol > .img img {
		width: 80%;
	}
	.imgCol.s_reverse > .img {
		text-align: right;
		right: -40px;
	}
	.imgCol .textArea {
		top: 13.5%;
	}
}
@media screen and (min-width: 1001px){
	.imgCol > .img {
		left: -24.2%;
		opacity: 0;
		transition: all 1s;
		transition-delay: 1s;
	}
	.imgCol.show > .img {
		left: -14.2%;
		opacity: 1;
	}
	.imgCol.s_reverse > .img {
		left: auto;
		right: -24.2%;
	}
	.imgCol.s_reverse.show > .img {
		right: -14.2%;
	}
}
@media screen and (max-width: 1000px){
	.imgCol {
		margin-bottom: 15%;
	}
	.imgCol > .img {
		left: auto;
		text-align: center;
	}
	.imgCol > .img img {
		width: 100%;
	}
	.imgCol.s_reverse > .img {
		text-align: center;
		right: auto;
	}
	.imgCol .textArea {
		position: static;
		width: 100%;
	}
	.imgCol.s_reverse .textArea {
		width: 100%;
	}
}
@media screen and (max-width: 767px){
	.imgCol {
	margin-bottom: 15%;
	}
}

.textArea h3 {
	margin-bottom: 40px;
	font-size: 30px;
}
.textArea > p {
	font-size: 18px;
}
.textArea > p + p {
	margin-top: 1em;
}
.textArea sup {
	font-size: 60%;
	vertical-align: text-top;
}
.textArea .img {
	margin-top: 60px;
}
@media screen and (max-width: 1280px){
	.textArea h3 {
		margin-bottom: 30px;
		font-size: 24px;
	}
	.textArea > p {
		font-size: 16px;
	}
	.textArea .img {
		margin-top: 40px;
	}
}
@media screen and (max-width: 1000px){
	.textArea .img {
		text-align: center;
	}
}
@media screen and (max-width: 767px){
	.textArea h3 {
		margin-bottom: 4vw;
		font-size: 5vw;
	}
	.textArea > p {
		font-size: 3.6vw;
	}
	.textArea .img {
		margin-top: 10vw;
	}
}

.noteList {
	margin-top: 15px;
}
.noteList li {
	font-size: 12px;
	opacity: 0.5;
}
.noteList .head {
	float: left;
	margin-right: 0.7em;
}
.noteList p {
	overflow: hidden;
}
.noteList a {
	text-decoration: underline;
}
.noteList a:hover {
	text-decoration: none;
}

.colLayout {
	margin-bottom: 110px;
	display: flex;
	justify-content: space-between;
}
.colLayout .col {
	width: 46%;
}
.colLayout .col + .col {
	margin-top: 10%;
	width: 43.4%;
}
.colLayout > .img {
	width: 46.7%;
}
@media screen and (max-width: 1000px){
	.colLayout {
		margin-bottom: 60px;
		flex-direction: column;
		gap: 4vw;
	}
	.colLayout .col {
		width: 100%;
	}
	.colLayout .col + .col {
		margin-top: 0;
		width: 100%;
	}
	.colLayout > .img {
		width: 100%;
		text-align: center;
	}
}

/* .block07 .textArea .img {
	transition: all 1s;
	transition-delay: 2s;
	opacity: 0;
}
.block07.show .textArea .img {
	opacity: 1;
} */
@media screen and (min-width: 1001px){
	.block01 {
		margin-bottom: 110px;
	}
	.block02 {
		margin-bottom: 230px;
	}
	.block05 {
		margin-bottom: 60px;
	}
	.block06 {
		margin-bottom: 310px;
	}
	.block08 {
		margin-bottom: 110px;
	}
	.block11 {
		align-items: center;
	}
	.block11 > .img {
		width: 30%;
	}
	.block11 > .col {
		width: 63.4%;
	}
}
@media screen and (min-width: 1001px) and (max-width: 1280px){
	.block02 {
		margin-bottom: 120px;
	}
	.block02 .img01 img {
		max-width: 40%;
	}
	.block03 {
		margin-bottom: 300px;
	}
	.block05 {
		margin-bottom: 150px;
	}
	.block07 {
		margin-bottom: 300px;
	}
}
@media screen and (max-width: 1000px){
	.block02 .img01 img {
		max-width: 40%;
	}
	.block11 .img img {
		max-width: 40%;
	}
}
@media screen and (max-width: 767px){
	.block02 .img01 img {
		max-width: 60%;
	}
	.block11 .img img {
		max-width: 60%;
	}
}

.block12 {
	margin-bottom: 210px;
}
.block12 .textArea {
	margin-bottom: 60px;
	text-align: center;
}
.block12 .imgList {
	margin-bottom: 20px;
	display: flex;
	justify-content: space-between;
}
.block12 .imgList li {
	width: 30.25%;
}
@media screen and (min-width: 1000px){
	.block12 {
		margin-bottom: 120px;
	}
}
@media screen and (max-width: 767px){
	.block12 {
		margin-bottom: 15vw;
	}
	.block12 .textArea {
		margin-bottom: 8vw;
		text-align: left;
	}
	.block12 .imgList {
		margin-bottom: 5vw;
		flex-direction: column;
		gap: 5vw;
	}
	.block12 .imgList li {
		width: 80%;
		margin: 0 auto;
	}
}

#comparison .textArea {
	text-align: center;
}
@media(min-width:1281px){
	#comparison {
		margin-bottom: 220px;
	}
	#comparison .comparison_cts {
		position:relative;
		width:1200px;
		height:725px;
		padding-top: 50px;
		margin:auto;
		overflow:hidden;
	}
	#comparison .model {
		position:absolute;
		bottom:0;
		left:0;
		transform:translate(-100%,100%);
	}
	#comparison .model img {
		position:absolute;
		top:15px;
		right:15px;
		z-index:10;
	}
	#comparison .model_116v img {
		width:95px;
		top:-25px;
		right:15px;
	}
	#comparison .model_110v img {
		width:95px;
	}
	#comparison .model_100v img {
		width:95px;
	}
	#comparison .model_85v img {
		width:70px;
	}
	#comparison .model_75v img {
		width:70px;
	}
	#comparison .model_65v img {
		width:70px;
	}
	#comparison .model.active {
		transform:translate(0,0);
	}
	#comparison .model_116v {
		width:1200px;
		height:675px;
		background-size:cover;
		transition:1s;
		transition-delay:2.5s;
		display:flex;
		justify-content:center;
		align-items:center;
	}
	#comparison .model_116v video {
		margin: 0 auto;
		z-index: 1;
		width: 100%;
	}
	#comparison .comparison_bg.active {
		opacity:1;
	}
	#comparison .model_110v {
		width:1138px;
		height:640px;
		transition:1s;
		border-top:#aaa 1px dotted;
		border-right:#aaa 1px dotted;
		transition-delay:2s;
	}
	#comparison .model_100v {
		width:1034px;
		height:582px;
		transition:1s;
		border-top:#aaa 1px dotted;
		border-right:#aaa 1px dotted;
		transition-delay:1.5s;
	}
	#comparison .model_85v {
		width:879px;
		height:495px;
		transition:1s;
		border-top:#aaa 1px dotted;
		border-right:#aaa 1px dotted;
		transition-delay:1s;
	}
	#comparison .model_75v {
		width:776px;
		height:436px;
		border-top:#aaa 1px dotted;
		border-right:#aaa 1px dotted;
		transition:1s;
		transition-delay:0.5s;
	}
	#comparison .model_65v {
		width:672px;
		height:378px;
		border-top:#aaa 1px dotted;
		border-right:#aaa 1px dotted;
		transition:1s;
	}
	#comparison .more_btn {
		width:280px;
	}
	#comparison .model_110v.disabled {
		transition:0s;
		transition-delay:0s;
	}
	#comparison .model_100v.disabled {
		transition:0s;
		transition-delay:0s;
	}
	#comparison .model_85v.disabled {
		transition:0s;
		transition-delay:0s;
	}
	#comparison .model_75v.disabled {
		transition:0s;
		transition-delay:0s;
	}
	#comparison .model_65v.disabled {
		transition:0s;
		transition-delay:0s;
	}
}
@media(max-width:1280px){
	#comparison {
		margin-bottom: 15vw;
	}
	#comparison .comparison_cts {
		position:relative;
		padding-top: 60%;
		margin:auto;
		overflow:hidden;
	}
	#comparison .model {
		position:absolute;
		bottom:0;
		left:0;
		transform:translate(-100%,100%);
		aspect-ratio: 16 / 9;
	}
	#comparison .model img {
		position:absolute;
		top:1vw;
		right:1vw;
		z-index:10;
	}
	#comparison .model_116v img {
		width:5vw;
		top:-1.5vw;
		right:1vw;
	}
	#comparison .model_110v img {
		width:5vw;
	}
	#comparison .model_100v img {
		width:5vw;
	}
	#comparison .model_85v img {
		width:4.5vw;
	}
	#comparison .model_75v img {
		width:4.5vw;
	}
	#comparison .model_65v img {
		width:4.5vw;
	}
	#comparison .model.active {
		transform:translate(0,0);
	}
	#comparison .model_116v {
		width:100%;
		background-size:cover;
		transition:1s;
		transition-delay:2.5s;
		display:flex;
		justify-content:center;
		align-items:center;
	}
	#comparison .model_116v video {
		margin: 0 auto;
		z-index: 1;
		width: 100%;
	}
	#comparison .comparison_bg.active {
		opacity:1;
	}
	#comparison .model_110v {
		width:94.8%;
		transition:1s;
		border-top:#aaa 1px dotted;
		border-right:#aaa 1px dotted;
		transition-delay:2s;
	}
	#comparison .model_100v {
		width:86.2%;
		transition:1s;
		border-top:#aaa 1px dotted;
		border-right:#aaa 1px dotted;
		transition-delay:1.5s;
	}
	#comparison .model_85v {
		width:73.3%;
		transition:1s;
		border-top:#aaa 1px dotted;
		border-right:#aaa 1px dotted;
		transition-delay:1s;
	}
	#comparison .model_75v {
		width:64.7%;
		border-top:#aaa 1px dotted;
		border-right:#aaa 1px dotted;
		transition:1s;
		transition-delay:0.5s;
	}
	#comparison .model_65v {
		width:56%;
		border-top:#aaa 1px dotted;
		border-right:#aaa 1px dotted;
		transition:1s;
	}
	#comparison .more_btn {
		width:280px;
	}
	#comparison .model_100v.active {
		transition:1s;
		transition-delay:1.5s;
	}
	#comparison .model_100v.disabled {
		transition:0s;
		transition-delay:0s;
	}
	#comparison .model_85v.active {
		transition:1s;
		transition-delay:1s;
	}
	#comparison .model_85v.disabled {
		transition:0s;
		transition-delay:0s;
	}
	#comparison .model_75v.active {
		transition:1s;
		transition-delay:0.5s;
	}
	#comparison .model_75v.disabled {
		transition:0s;
		transition-delay:0s;
	}
	#comparison .model_65v.active {
		transition:1s;
	}
	#comparison .model_65v.disabled {
		transition:0s;
		transition-delay:0s;
	}
}

.shop {
	margin-bottom: 110px;
	text-align: center;
	font-size: 24px;
}
.shop .logo {
	margin-top: 25px;
	display: flex;
	flex-wrap: wrap;
	gap: 30px 2.84%;
}
.shop .logo a {
	width: 14.3%;
	padding: 10px 5px;
	background-color: #fff;
}
.shop .logo img {
	vertical-align: top;
}
@media screen and (max-width: 1023px){
	.shop .logo {
		gap: 20px 2.66%;
	}
	.shop .logo a {
		width: 23%;
	}
}
@media screen and (max-width: 767px){
	.shop {
		margin-bottom: 50px;
		font-size: 4.3vw;
	}
	.shop .logo {
		margin-top: 5vw;
		gap: 4vw 5%;
	}
	.shop .logo a {
		width: 30%;
		padding: 2vw 1vw;
	}
}

.bannerArea {
	margin-bottom: 120px;
}
.bannerArea h2 {
	text-align: center;
	font-size: 40px;
	line-height: 1.2;
}
.bannerArea .banner {
	margin-top: 60px;
}
.bannerArea a {
	transition: opacity 0.2s;
}
.bannerArea a:hover {
	opacity: 0.8;
}
@media screen and (max-width: 1000px){
	.bannerArea {
		margin-bottom: 80px;
	}
	.bannerArea h2 {
		font-size: 32px;
	}
	.bannerArea .banner {
		margin-top: 40px;
	}
}
@media screen and (max-width: 767px){
	.bannerArea {
		margin-bottom: 15vw;
	}
	.bannerArea h2 {
		font-size: 6vw;
	}
	.bannerArea .banner {
		margin-top: 5vw;
	}
}

.lineup {
	margin-bottom: 60px;
	display: flex;
	justify-content: space-between;
}
.lineup li {
	width: 48.3%;
	font-size: 24px;
}
.lineup .img {
	position: relative;
	margin-bottom: 20px;
}
.lineup .img::before {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 50px;
	height: 50px;
	background-color: #00442d;
}
.lineup .img::after {
	content: '';
	position: absolute;
	right: 21px;
	bottom: 20px;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}
.lineup .img img {
	vertical-align: top;
}
@media screen and (max-width: 767px){
	.lineup {
		margin-bottom: 8vw;
		flex-direction: column;
		gap: 8vw;
		padding-bottom: 8vw;
	}
	.lineup li {
		width: 100%;
		font-size: 4.2vw;
	}
	.lineup .img {
		margin-bottom: 3vw;
	}
	.lineup .img::before {
		width: 10vw;
		height: 10vw;
	}
	.lineup .img::after {
		right: 4.2vw;
		bottom: 4vw;
		width: 2vw;
		height: 2vw;
	}
}


footer {
	padding-top: 0;
}
