@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&display=swap');
/*
font-family: 'Zen Kaku Gothic New', sans-serif;
Medium 500
Bold 700
*/


@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@500&display=swap');
/*
font-family: "Shippori Mincho B1", serif;
Medium 500
*/



@font-face {
  font-family: "MontRegular";
  src: url('../../font/MontRegular/font.woff2') format('woff2'), url('../../font/MontRegular/font.woff') format('woff');
  font-weight: 500;
}
@font-face {
  font-family: "MontSemiBold";
  src: url('../../font/MontSemiBold/font.woff2') format('woff2'), url('../../font/MontSemiBold/font.woff') format('woff');
    font-weight: 500;
}
@font-face {
  font-family: "ArbeitBook";
  src: url('../../font/ArbeitBook/font.woff2') format('woff2'), url('../../font/ArbeitBook/font.woff') format('woff');
    font-weight: 500;
}
@font-face {
  font-family: "TTRationalistLight";
  src: url('../../font/TTRationalistLight/font.woff2') format('woff2'), url('../../font/TTRationalistLight/font.woff') format('woff');
    font-weight: 500;
}
@font-face {
  font-family: "AlbertinaProMedium";
  src: url('../../font/AlbertinaProMedium/font.woff2') format('woff2'), url('../../font/AlbertinaProMedium/font.woff') format('woff');
    font-weight: 500;
}




/* ---------- RESET ---------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, b, u, i, center, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,
time, mark, audio, video, textarea, input {margin:0;padding:0;border:0;font-size: 100%;font:inherit;vertical-align: baseline;text-decoration:none;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
body {line-height: 1;}
ol, ul, li {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,q:before, q:after {content: '';content: none;}
table {border-collapse: collapse;border-spacing: 0;}
input, textarea, button{-webkit-apparence:none;border:none;background: none;outline: none;}
input:focus, textarea:focus{-webkit-apparence:none;outline: none;border:none;}
img{border:none;outline:none;vertical-align:top;font-size:0;line-height:0;}
img a{border:none;outline: none;}
a:focus{outline:none;}
hr {height:0;margin:0;padding:0;border:0;}
h1, h2, h3, h4, h5, h6, p{margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;text-decoration:none;}
input, textarea, button{-webkit-apparence:none;border:none;background: none;outline: none;}

img{width:100%;height:auto;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translate3d(0,0,0);}

*{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;   outline:none;box-sizing:border-box;margin:0;padding:0;}
/*----------------------------------*/

html,body{width: 100%;height: 100%;}

html{ font-size: 16px;}

body{
    background:#FFF;
    width: 100%;
    height: 100%;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;	
	font-family: "Zen Kaku Gothic New", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    font-weight:500;
	color: #141906;
}



/* =============================================== */


#loader-bg{
    display:block;
    position:fixed;
    width:100%;
    top:0;
    left:0;
	bottom: 0;
	right: 0;
	height: 100vh;
    z-index:1000;
	background: #FFF;
    overflow:hidden;
}
#loader-bg .spinner {
    width: 100px;
    text-align: center;
    position: absolute;
    margin: 0 auto;
    font-size: 0;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 100;
    -webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}
#loader-bg .spinner > div {
  width: 12px;
  height: 12px;
  margin: 0 5px;
  background-color:#E5E3E1;
  border-radius: 100%;
  display: inline-block;
  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}
#loader-bg .spinner .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
#loader-bg .spinner .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% { -webkit-transform: scale(0) }
  40% { -webkit-transform: scale(1.0) }
}
@keyframes sk-bouncedelay {
  0%, 80%, 100% { 
    -webkit-transform: scale(0);
    transform: scale(0);
  } 40% { 
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
  }
}




/* ---------------- */

.inView{
	position: relative;
	top: 2rem;
	opacity: 0;
	-webkit-transition: top 1.6s cubic-bezier(0.33, 1, 0.68, 1), opacity 1.2s;
	transition: top 1.6s cubic-bezier(0.33, 1, 0.68, 1), opacity 1.2s;
}
.inView.view{opacity: 1;top: 0;}

/* ---------------- */


/*
.guide,
.guide1,
.guide2,
.guide3,
.guide4{opacity: 0.3;z-index: 1000;position: relative;}

body:before{content: '';position: fixed;opacity: 0.3;width: 1px;left: 50%;top: 0;bottom: 0;background: #FF0004;z-index: 1000;}
.guide:before{content: '';position: fixed;width: 1px;left: 5%;top: 0;bottom: 0;background: #FF0004;}
.guide:after{content: '';position: fixed;width: 1px;right: 5%;top: 0;bottom: 0;background: #FF0004;}
.guide1:before{content: '';position: fixed;width: 1px;left: 10%;top: 0;bottom: 0;background: #FF0004;}
.guide1:after{content: '';position: fixed;width: 1px;right: 10%;top: 0;bottom: 0;background: #FF0004;}
.guide2:before{content: '';position: fixed;width: 1px;left: 15%;top: 0;bottom: 0;background: #FF0004;}
.guide2:after{content: '';position: fixed;width: 1px;right: 15%;top: 0;bottom: 0;background: #FF0004;}
.guide3:before{content: '';position: fixed;width: 1px;left: 7.5%;top: 0;bottom: 0;background: #00B5FF;}
.guide3:after{content: '';position: fixed;width: 1px;right: 7.5%;top: 0;bottom: 0;background: #00B5FF;}
.guide4:before{content: '';position: fixed;width: 1px;left: 12.5%;top: 0;bottom: 0;background: #00B5FF;}
.guide4:after{content: '';position: fixed;width: 1px;right: 12.5%;top: 0;bottom: 0;background: #00B5FF;}




/* ---------------------------------------------- */


#header{
	width: 100%;
	height: 100%;
	position: relative;
	color: #FFF;
	background: #FFF;
}


#header .title{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 20;
	margin: 0 auto;
}
#header .title h1{
	position: absolute;
	width: min(2.35%, 2.5em);
	right: 4%;
	top: 8%;
}
#header .title h2{
	position: absolute;
	width: min(1.05%, 1.11em);
	right: 5%;
	bottom: 8%;
}
#header .title h3{
	position: absolute;
	width: min(14.5%, 15.4em);
	left: 0;
	right: 0;
	top: 50%;
	margin: 0 auto;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}


#header .vegas{
    width: 100%;
    height: 100%;
    position: relative;
	z-index: 10;
	overflow: hidden;
}
#header .vegas .vegasImage{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width:100%;
    z-index: 10;
}


.scrollbar{
	width: 2em;
	position: absolute;
	left:3%;
	right: 0;
	bottom: -3.5em;
	height:8.75em;
	z-index: 100;
}
.scrollbar p{width: 1em;}
.scrollbar .base{
	width:1px;
	height:8.75em;
	position: absolute;
	bottom:0px;
	right: 0;
	overflow: hidden;
    z-index: 5;
    background:#dbd6cf;
}
.scrollbar .bar{
	width:1px;
	height:8.75em;
	position: absolute;
	bottom:0px;
	right: 0;
	overflow: hidden;
    z-index: 10;
}
.scrollbar .line{
		width: 100%;
		height: 100%;
		display: block;
		background: linear-gradient(to bottom,rgba(96, 96, 92, 1) 50%, rgba(72, 75, 68, 0) 50%);
		background-position: 0 -100%;
		background-size: 100% 200%;
		animation: scrolldown 3.0s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
}
@keyframes scrolldown {
	0% {background-position: 0 100%;}
	50% {background-position: 0 0;}
	100% {background-position: 0 -100%;}
}



/*--------------------*/

.lead{
	width: 90%;
	max-width: 1152px;
	margin: 0 auto;
	padding: 3.8em 0 11.3em;
	/*background: rgba(0,0,0,0.1);*/
}

.lead .logo{
	width: 11.375em;
}

.lead .leadInner{
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-top: 2.8em;
}
.lead .leadInner .shoulder{
	width: 26%;
	display: flex;
	justify-content:flex-start;
	align-items: center;
}
.lead .leadInner .shoulder h2{
	width:2.06em;
	margin-left: 12%;
}
.lead .leadInner .shoulder h3{
	width: 0.93em;
	margin-left: 2em;
}

.lead .leadInner .text{
	width: 67%;
	margin-right: 7%;
	/*background: rgba(0,0,0,0.1);*/
}

.lead .leadInner .text p{
	font-size: 1.15em;
	font-family: "Shippori Mincho B1", serif;
	line-height: 2.5;
	text-align: justify;
	text-justify: inter-ideograph;
}



/*--------------------*/


.topNav{
	width: 100%;
}
.topNav .menu{
	width: 100%;
	height: 56vw;
	position: relative;
	color: #FFF;
	overflow: hidden;
}
.topNav .menu .bk{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
}
.topNav .menu .bk span{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-position: center center;
	background-size: cover;
	opacity: 0;
	transform:scale(1.15);
	transition: transform 1.3s cubic-bezier(0.33, 1, 0.68, 1), opacity 1.1s;
}
.topNav .menu.view .bk span{opacity: 1;transform:scale(1);}

.topNav .menu.m01 .bk span{background-image: url("../../images/nav01_pc.webp");}
.topNav .menu.m02 .bk span{background-image: url("../../images/nav02_pc.webp");}




.topNav .menu.m02{
margin-top: 3px;
}


.topNav .menu .detail{
	position: absolute;
	top: 6vw;
	left: 6.25vw;
	z-index: 5;
	font-size: 1.2vw;
	font-size: clamp(1em, 1.2vw, 1.3em);
}
.topNav .menu .detail .number{width: 5.125em;}
.topNav .menu .detail .name{
	font-family: "MontSemiBold";
	font-size: 3.125em;
	line-height: 1.06;
	letter-spacing: 0.025em;
	margin-top: 0.5em;
}
.topNav .menu .detail .more{
	font-family: "ArbeitBook";
	font-size: 1.25em;
	line-height: 1;
	margin-top: 1.8em;
}
.topNav .menu .detail .more a{
	background: #FFF;
	color: #141906;
	display: inline-block;
	padding: 0.7em 2.3em 0.6em;
}
.topNav .menu .copy{
	position: absolute;
	top: 6vw;
	right: 6.5vw;
	width: 4.1em;
	z-index: 80;
}



@media(min-width:769px) {
.topNav .menu .detail .more a{
	-webkit-transition: color 0.4s, background 0.4s;
	transition: color 0.4s, background 0.4s;
}
.topNav .menu .detail .more a:hover{background: #605F5B;color: #FFF;}

}




/*--------------------*/


article.wapper{width: 100%;}

article.wapper .topLogo{
	width: 9.375em;
	margin: 3.125em auto;
}





/*--------------------*/


.catergory{width: 100%;}
.catergory.ca02{margin-top: 12em;}

.cateHeader{
	width: 100%;
	position: relative;
	overflow: hidden;
	color: #FFF;
	background: #2B2B28;
	line-height: 1;
	font-size: clamp(1em, 1.2vw, 1.3em);
}
.ca02 .cateHeader{color: #DBD6CF;}



.cateHeader .logo{
	position: absolute;
	width: min(9.65% ,112px);
	top: 4.1%;
	right: 2%;
	display: none;
}

.cateHeader .headerIn{
	width: 100%;
/*	max-width: 1280px;*/
/*	padding-top: min(56.25%,720px);*/
	padding-top: 56.25%;
	margin: 0 auto;
	position: relative;
	/*background: rgba(0,0,0,0.1);*/
}
.cateHeader .detail{
	position: absolute;
	top: 4.1%;
	left: 0;
	right: 0;
	margin:0 auto;
	width: 90.6%;
	/*max-width: 1160px;*/
	z-index: 5;
	font-family: "MontSemiBold";
}
.cateHeader .detail .number{
	width: 5%;
	margin-top: 2.8%;
}
.cateHeader .detail .name{
	font-size: 3.125em;
	line-height: 1.06;
	letter-spacing: 0.025em;
	margin-top: 0.5em;
}

.cateHeader .detail .name h3{opacity:0;}
.cateHeader .detail .name h3 span{
	position: relative;
	left: 0.5em;
	opacity:0;
}

.cateHeader .detail .season{
	font-size: 1.375em;
	line-height: 1.06;
	letter-spacing: 0.025em;
	margin-top: 0.5em;
	opacity:0;
}
.cateHeader .detail .season span{
	position: relative;
	left: 0.5em;
	opacity:0;
}


.cateHeader .detail .copy{
	position: absolute;
	top: 0%;
	opacity: 0;
	right: calc(11% + 2em);
	width: 4.1em;
	-webkit-transition: right 1.2s cubic-bezier(0.33, 1, 0.68, 1) 1.5s, opacity 1.0s 1.5s;
	transition: right 1.2s cubic-bezier(0.33, 1, 0.68, 1) 1.5s, opacity 1.0s 1.5s;
}
.cateHeader.view .detail .copy{right: 11%;opacity: 1;}



.cateHeader .photoSet{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin:0 auto;
	width: 90.6%;
	/*max-width: 1160px;*/
	z-index: 1;
}
.ca01 .cateHeader .photoSet .photoMain{
	position: absolute;
	width: 43.9%;
	left: 0;
	bottom: 0;
}
.ca01 .cateHeader .photoSet .photoSub01{
	position: absolute;
	width: 33.1%;
	top: 4.1%;
	left: 47.4%;
}
.ca01 .cateHeader .photoSet .photoSub02{
	position: absolute;
	width: 32.7%;
	bottom: 4.1%;
	right: 0;
}


.ca02 .cateHeader .photoSet.pcv{display: block;}
.ca02 .cateHeader .photoSet.spv{display: none;}

.ca02 .cateHeader .photoSet .photoMain{
	position: absolute;
	width: 43.9%;
	right: 0;
	bottom: 0;
}
.ca02 .cateHeader .photoSet .photoSub01{
	position: absolute;
	width: 33.1%;
	top: 4.1%;
	right: 50%;
}
.ca02 .cateHeader .photoSet .photoSub02{
	position: absolute;
	width: 32.7%;
	bottom: 4.1%;
	left: 0;
}
.cateHeader .photoSet figure{
	width: 100%;
	overflow: hidden;
}
.cateHeader .photoSet figure img{
	opacity: 0;
	transform:scale(1.15);
	transition: transform 1.3s cubic-bezier(0.33, 1, 0.68, 1), opacity 1.1s;
}
.cateHeader.view .photoSet figure img{opacity: 1;transform:scale(1);}

.cateHeader.view .photoSet .photoMain figure img{-webkit-transition-delay:0.5s;transition-delay:0.5s;}
.cateHeader.view .photoSet .photoSub01 figure img{-webkit-transition-delay:1.0s;transition-delay:1.0s;}
.cateHeader.view .photoSet .photoSub02 figure img{-webkit-transition-delay:1.5s;transition-delay:1.5s;}



/*--------*/


.movieAreaTop{
	width: 100%;
	background: #FFF;
}

.movieArea{
	width: 92%;
	max-width: 1190px;
	margin:2.8em auto 0;
	background: #FFF;
}





/*--------------------------------------*/



.feature{
	width: 100%;
	margin-top: 11em;
}
.feature.farst{margin-top: 8em;}

.featureTitle{
	position: relative;
	width: 90.6%;
	max-width: 1160px;
	margin: 0 auto;
	padding-top: 1px;
	/*background: rgba(0,0,0,0.1);*/
}
.featureTitle::before,
.featureTitle::after{
	content: '';
	position: absolute;
	width: 100%;
	height: 2px;
	background: #605F5B;
	z-index: 100;
	left: 0;
	right: 0;
	margin: 0 auto;
	-webkit-transition: width 1.2s cubic-bezier(0.45, 0, 0.55, 1);
	transition: width 1.2s cubic-bezier(0.45, 0, 0.55, 1);
}
.featureTitle::before{top: 0;}
.featureTitle::after{top: 1.25em;}

.featureTitle.view::before,
.featureTitle.view::after{width: 100%;}


.featureTitleInner{
	width: 100%;
	margin-top: 4.6em;
	height: 16.25em;
	position: relative;
}
.featureTitle .titleText{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 7%;
	padding-left: 2.5em;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.featureTitle .titleText::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 100%;
	left: 0;
	width: 0.437em;
	background: #141906;
	-webkit-transition: bottom 1.2s cubic-bezier(0.76, 0, 0.24, 1);
	transition: bottom 1.2s cubic-bezier(0.76, 0, 0.24, 1);
}
.featureTitle.view .titleText::before{bottom: 0;}




.featureTitle .titleText h3{
	font-family: "TTRationalistLight";
	font-size: 1.31em;
	margin-bottom: 0.5em;
	opacity: 0;
}
.featureTitle .titleText h3 span{
	position: relative;
	left: 0.5em;
	opacity:0;
}

.featureTitle .titleText h2{
	font-family: "MontSemiBold";
	font-size: 3.375em;
	line-height: 1.37;
}
.featureTitle .titleText h2 em{
	opacity: 0;
	display: block;
}
.featureTitle .titleText h2  em span{
	position: relative;
	left: 0.5em;
	opacity:0;
}
.featureTitle .titleText h2 em.reg{font-family: "MontRegular";}





.featureTitle .copy{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.featureTitle .copy.long{align-items: flex-start;}

.featureTitle .copy::before{
	content: '';
	position: absolute;
	top: 100%;
	bottom: 0;
	right: 0;
	width: 0.437em;
	background: #141906;
	-webkit-transition: top 1.2s cubic-bezier(0.76, 0, 0.24, 1);
	transition: top 1.2s cubic-bezier(0.76, 0, 0.24, 1);
}
.featureTitle.view .copy::before{top: 0;}

.featureTitle .copy p{
	width: 3.94em;
	margin-right: 2.7em;
	position: relative;
	left: -1em;
	opacity: 0;
	-webkit-transition: left 1.2s cubic-bezier(0.45, 0, 0.55, 1) 0.8s, opacity 1.0s 1.0s;
	transition: left 1.2s cubic-bezier(0.45, 0, 0.55, 1) 0.8s, opacity 1.0s 1.0s;
}
.featureTitle.view .copy p{left: 0;opacity: 1;}


/*-----------------------------*/


.detailItem{
	width: 78%;
	max-width: 1000px;
	margin: 3.5em auto 0;
	display: flex;
	justify-content: space-between;
	/*background: rgba(0,0,0,0.1);*/
}
.detailItem .imageBox{width: 55%;}

.detailItem .elementBox{
	width: 39%;
	/*background: rgba(0,0,0,0.1);*/
	display: flex;
	align-items: flex-end;
}
.detailItem .elementBox .inner{width: 100%;}

.detailItem .elementBox p{
	line-height: 1.7;
	margin-top: 1.4em;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing: -0.01em;
}
.detailItem .elementBox .specBox{margin-top: 4.0em;}


/*----------------------------------*/

.imageCut{
	width: 87.5%;
	max-width: 1120px;
	margin: 6.25em auto 0;
	/*background: rgba(0,0,0,0.1);*/
}
.imageCut .double{
	width: 100%;
	display: flex;
	justify-content: space-between;
}
.imageCut .double .farst{
	width: 51.8%;
}
.imageCut .double .second{
	width: 45.5%;
	position: relative;
}
.imageCut .double .second img{
	position: relative;
	top: 34%;
}
.imageCut .single{
	width: 89.2%;
	margin: 0 auto;
}
.imageCut .specBox{
	width: 89.2%;
	margin: 1.875em auto 0;
	padding-left: 42%;
	/*background: rgba(0,0,0,0.1);*/
}
.imageCut .specBox.half{
	width: 51.8%;
	margin-left: 0;
	margin-right: 0;
	padding: 0 1.25em;
}


/*----------------------------------*/

.subTitle{
	width: 75%;
	max-width: 960px;
	margin: 8em auto 0;
}

.subTitle .headline{
	width: 100%;
}
.subTitle .headline h2{
	font-family: "MontSemiBold";
	font-size: 2.75em;
	line-height: 1;
	opacity: 0;
	padding-bottom: 0.2em;
	position: relative;
}
.subTitle .headline h2 span{
	position: relative;
	left: 0.5em;
	opacity:0;
}
.subTitle .headline h2::after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 2.8em;
	height: 1px;
	background: #141906;
}

.subTitle .headline h3{
	font-family: "MontRegular";
	font-size: 2.75em;
	line-height: 1;
	opacity: 0;
	margin-top: 0.4em;
	padding-bottom: 0.2em;
	position: relative;
}
.subTitle .headline h3 span{
	position: relative;
	left: 0.5em;
	opacity:0;
}
.subTitle .headline h3::after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 2.8em;
	height: 1px;
	background: #141906;
}
.subTitle .headline.item h3::after{width: 100%;}
	
	
.subTitle .subText{
	width: 90%;
	max-width: 780px;
	margin-top: 3.5em;
	line-height: 1.75;
	letter-spacing: 0.02em;
	text-align: justify;
	text-justify: inter-ideograph;
	top: 2rem;
	opacity: 0;
	position: relative;
	-webkit-transition: top 1.6s cubic-bezier(0.33, 1, 0.68, 1) 1.0s, opacity 1.2s 1.0s;
	transition: top 1.6s cubic-bezier(0.33, 1, 0.68, 1) 1.0s, opacity 1.2s 1.0s;
}
.subTitle.view .subText{opacity: 1;top: 0;}



/*----------------------------------*/

.styleSet{
	width: 75%;
	max-width: 960px;
	margin: 1.5em auto 0;
}
.styleSet.top{margin-top: 4.5em;}

.styleSet h3{
	width: 100%;
	font-family: "ArbeitBook";
	font-size: 1.25em;
	line-height: 1;
	letter-spacing: 0.01em;
}
.styleSet h3 span{
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: middle;
	margin: 0 0.8em;
	position: relative;
}
.styleSet h3 span::after{
	content: '';
	position: absolute;
	top: 48%;
	left: 50%;
	width: 0.8em;
	height: 1.0em;
	background: #141906;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	-webkit-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
}

.styleSet .styleImage{
	width: 100%;
	margin-top: 1.25em;
	display: flex;
	justify-content: space-between;
}
.styleSet .styleImage figure{width: 46.9%;overflow: hidden;}
.styleSet .styleImage figure img{
	opacity: 0;
	transform:scale(1.15);
	transition: transform 1.3s cubic-bezier(0.33, 1, 0.68, 1), opacity 1.1s;
}
.styleSet .styleImage figure.view img{opacity: 1;transform:scale(1);}






.styleSet .styleSpec{
	width: 46.9%;
	margin: 1.875em 0 0 53.1%;
}



/*++++++++++++++++++++++++++++++++++++++++++++++*/



.mainItem{
	width: 75%;
	max-width: 960px;
	margin: 7em auto 0;
	display: flex;
	justify-content: space-between;
}
.mainItem .imageBox{width: 53.1%;}
.mainItem .imageBox figure{width: 100%;}


.mainItem .elementBox{width: 40.7%;position: relative;}

.mainItem .mainSlide{
	width: 100%;
	position: relative;
	padding-bottom: 2.8em;
}
.mainItem .mainSlide .slickMain::after{
	content: '';
	position: absolute;
	z-index: 50;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	border: 1px solid #141906;
}
.mainItem .slick-dots{bottom:-3.2em;width:100%;}
.mainItem .slick-dots li{margin: 0 0.7em;width:2.5em;height: 0.75em;background: #000;}
.mainItem .slick-dots li:first-of-type{margin-left: 0;}
.mainItem .slick-dots li:last-of-type{margin-right: 0;}
.mainItem .slick-dots li.slick-active button:after{
	content: "";
	display: block;
	position: absolute;
	left: -1px;
	right: -1px;
	bottom: -6px;
	height: 1px;
	background: #141906;
}
.f03 .mainItem.m01 .slick-dots li:nth-child(1) button{background: #333C41;}
.f03 .mainItem.m01 .slick-dots li:nth-child(2) button{background: #43403B;}

.mainItem .elementBox .specBox{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}


/*++++++++++++++++++++++++++++++++++++++++++++++*/


.itemList{
	width: 100%;
	margin: 0px auto;
	font-family: "ArbeitBook";
}

.itemList dl{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: left;
	line-height: 1.15;
	margin-top: 1.3em;
}
.itemList dl:not(.other):nth-child(1){margin-top: 0;}

.itemList .name{
	width: calc( 100% - 6em);
	letter-spacing: 0.04em;
	font-size: 1.02em;
}
.itemList .name em{display: block;}
.itemList .name span{
	font-size: 0.8em;
	padding-left: 0.3em;
	letter-spacing: 0;
	display: inline-block;
	padding-bottom: 0.05em;
	vertical-align: middle;
}
.itemList .detail{width: 5.5em;}
.itemList .detail a{
	display: block;
	width: 100%;
	border: 1px solid #141906;
	color: #141906;
	font-size: 1.12em;
	line-height: 1;
	text-align: center;
	padding: 0.4em 0 0.2em;
}

@media(min-width: 769px) {
.itemList .detail a{-webkit-transition: all 0.4s;transition: all 0.4s;}
.itemList .detail a:hover{background:#141906;color: #FFF;}
}


/*----------------------------------------------------------------------*/

.allBanner{
	width: 100%;
	margin: 8em auto 0;
	position: relative;
	overflow: hidden;
	padding-top: min(56.25%, 800px);
	background-position: center center;
	background-size: cover;
}
.allBanner.c01{background-image: url("../../images/all_ca01.webp");}
.allBanner.c02{background-image: url("../../images/all_ca02.webp");}
.allBanner.brand{background-image: url("../../images/all_brand.webp");margin-top: 6.5em;}

.allBanner .bannerInner{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 3.2em;
	width: 100%;
	margin: 0 auto;
	border-bottom: 2px solid #FFF;
}
.allBanner .detail{
	width: 85%;
	/*max-width: 1400px;*/
	margin: 0 auto;
	padding-right: 4%;
	position: relative;
	padding-bottom: 1.5em;
	display: flex;
	justify-content: space-between;
	color: #FFF;
	font-size: clamp(1em, 1.2vw, 1.3em);
}
.allBanner .detail h2{
	font-size: 2.2em;
	letter-spacing: 0.01em;
	line-height: 1.3;
}
.allBanner .detail h2 em{
	font-family: "MontSemiBold";
	font-size: 1.05em;
	letter-spacing: 0.08em;
}
.allBanner .detail h2 br.res{display: none;}
.allBanner .more{
	display: flex;
	align-items:flex-end;
	margin-bottom: 1.5em;
}
.allBanner .more a{
	display: block;
	font-family: "ArbeitBook";
	letter-spacing: 0.04em;
	font-size: 1.25em;
	text-align: center;
	line-height: 1;
	padding: 0.8em 0 0.7em;
	color: #141906;
	width: 9em;
	background: #FFF;
}

@media(min-width: 769px) {
.allBanner .more a{-webkit-transition: color 0.4s, background 0.4s;transition: color 0.4s, background 0.4s;}
.allBanner .more a:hover{background:#605F5B;color:#FFF;}
}


/*----------------------------------------------------------------------*/


.otherContents{
	width: 100%;
	margin:13em auto 0;
	overflow: hidden;
}



.otherBanner{
	width: 100%;
	margin: 3.25em auto 0;
	position: relative;
	overflow: hidden;
	padding-top: min(56.25%, 920px);
	background-position: center center;
	background-image: url("../../images/other_banner.webp");
	background-size: cover;
	font-size: clamp(0.9em, 1.16vw, 1.3em);
}

.otherBanner .logo{
	position: absolute;
	top: 2em;
	right: 2em;
	z-index: 50;
	width: 11.5em;
}
.otherBanner .detail{
	position: absolute;
	top: 55%;
	right: 0;
	width: 50%;
	color: #000;
	text-align: center;
	padding-right: 2em;
	line-height: 1;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}
.otherBanner .detail h2{
	font-family: "AlbertinaProMedium";
	font-size: 3.25em;
	letter-spacing: 0.02em;
}
.otherBanner .detail h3{
	font-family: "AlbertinaProMedium";
	font-size: 1.375em;
	letter-spacing: 0.02em;
	margin-top: 1em;
}
.otherBanner .detail .more{
	margin-top: 4em;
}
.otherBanner .detail .more a{
	display: block;
	font-family: "ArbeitBook";
	letter-spacing: 0.04em;
	font-size: 1.25em;
	text-align: center;
	line-height: 1;
	padding: 0.8em 0 0.7em;
	color: #141906;
	width: 9em;
	background: #FFF;
	margin: 0 auto;
}
.otherBanner .detail .more .soon{
	display: block;
	font-family: "ArbeitBook";
	letter-spacing: 0.04em;
	font-size: 1.25em;
	text-align: center;
	line-height: 1;
	padding: 0.8em 0 0.7em;
	color: #141906;
	width: 9em;
	background: #FFF;
	margin: 0 auto;
}


@media(min-width: 769px) {
.otherBanner .detail .more a{-webkit-transition: color 0.4s, background 0.4s;transition: color 0.4s, background 0.4s;}
.otherBanner .detail .more a:hover{background:#605F5B;color:#FFF;}
}



/*-----------------------------------------*/


.sns{width: 60em;margin: 7.5em auto 0;overflow: hidden;}

.sns ul{width: 100%;display: flex;}
.sns ul li{
	text-align: center;
	width: 33.3333%;
	padding: 3em 0;
	border-left: 2px solid #605f5b;
}
.sns ul li:first-child{border: none;}
.sns a{
	color: #141906;
	letter-spacing: 0.05em;
	font-size: 2em;
	font-family: "MontRegular";
}
.sns .icon{
	width: 2em;
	margin: 0.6em auto 0;
	-webkit-transition:opacity 0.4s;
	transition:opacity 0.4s;
}

@media(min-width:769px) {
.sns a:hover .icon{opacity: 0.5;}
}

/*--------------------*/

.lineBanner{
	width: 39em;
	margin: 7em auto;
	border: 1px solid #ADB5B8;
}
@media(min-width:769px) {
.lineBanner a{-webkit-transition:opacity 0.4s;transition:opacity 0.4s;}
.lineBanner a:hover{opacity: 0.6;}
}

/*--------------------*/


.officeal{
	width: 61%;
	max-width: 778px;
	margin: 0 auto;
	text-align: center;
	position: relative;
	padding: 0.8em 0;
	line-height: 1.1;
	border-left: 3px solid #605f5b; 
	border-right: 3px solid #605f5b; 
}
.officeal .logo{
	width: 27.7%;
	margin: 0 auto;
}

.officeal h2{
	font-family: "MontRegular";
	font-size: 2.82em;
	letter-spacing: 0.15em;
	margin-top: 1em;
}
.officeal h3{
	font-size: 2.22em;
	letter-spacing: 0.03em;
}
.officeal h3 em{
	font-family: "MontRegular";
	font-size: 1.05em;
	letter-spacing: 0.08em;
}
.officeal .more{
	margin-top: 4em;
}
.officeal .more a{
	display: block;
	font-family: "ArbeitBook";
	letter-spacing: 0.04em;
	font-size: 1.6em;
	text-align: center;
	line-height: 1;
	padding: 0.65em 0 0.55em;
	color: #FFF;
	width: 9em;
	background: #605f5b;
	margin: 0 auto;
}

@media(min-width: 769px) {
.officeal .more a{-webkit-transition:background 0.4s;transition:background 0.4s;}
.officeal .more a:hover{background:#000;}
}


/*-----------------------------------------------------------------------------------------------------*/


.footer{
	width: 100%;
	height: 65vw;
	max-height: 100vh;
	margin-top: 8em;
	color: #FFF;
	position: relative;
	overflow: hidden;
	background: url("../../images/footer_pc.webp") center center;
	background-size: cover;
}

.footer .pagetop{
	cursor: pointer;
	width: 3.2em;
	margin: 3.2em auto 0;
}
.footer h2{
	position: absolute;
	top: 50%;
	left: 5%;
	width: clamp(11.3em, 14vw, 15em);
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}

.footer h3{
	position: absolute;
	top: 50%;
	right: 4.5%;
	width: clamp(2em, 2.35vw, 2.8em);
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}

.footer .copyright{
	position: absolute;
	bottom: 2.5em;
	left: 0;
	right: 0;
	letter-spacing: 0.08em;
	font-size: 1em;
	line-height: 1.3;
	text-align: center;
	font-family: "MontRegular";
}
.footer .copyright br{display: none;}






/*-----------------------------------------------------------------------------------------------------*/


.menu-trigger{display: none;}
.spNavi{display: none;}



.sideNavi{
    position: fixed;
    top: 50%;
    right:-6em;
    width: 6em;
    z-index: 100;
    -webkit-transition: all 0.8s cubic-bezier(0.25, 1, 0.5, 1);
	transition: all 0.8s cubic-bezier(0.25, 1, 0.5, 1);
    -webkit-transform:translateY(-50%);
	transform:translateY(-50%);  
}
.sideNavi.view{right:0px;}

.sideNavi .logo{
	width: 92%;
	margin: 0 auto 1.5em;
}
.sideNavi ul{width:100%;}
.sideNavi ul li{width: 100%;margin-bottom: 1.5em;}

.sideNavi h3{
	width: 100%;
	opacity: 0.4;
	-webkit-transition: opacity 0.4s;
	transition: opacity 0.4s;
}

.sideNavi .current h3{opacity: 1;}


.sideNavi .photo{
	width: 100%;
	position:relative;
	margin:0.6em 0 0.8em;
	background: #adb5b8;
}
.sideNavi .photo figure{
	opacity: 0.4;
	-webkit-transition: opacity 0.4s;
	transition: opacity 0.4s;
}
.sideNavi .photo figure:hover,
.sideNavi .current .photo figure{opacity: 1;}

.sideNavi .num{
	font-family: "TTRationalistLight";
	font-size: 0.78em;
	line-height: 1;
	letter-spacing: 0.01em;
	margin-top: 0.6em;
	width: 100%;
}
.sideNavi .num a{
	color: #141906;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
	opacity: 0.5;
}
.sideNavi .num  em{font-size: 1.33em;padding-left: 0.15em;}
.sideNavi .num span{
	display: inline-block;
	width: 0.85em;
	height: 0.85em;
	background: #605f5b;
	margin-right: 0.4em;
	-webkit-transition: background 0.3s;
	transition: background 0.3s;
}
.sideNavi .num a:hover{opacity: 1;}
.sideNavi .num.current a{opacity: 1;}


.sideNavi .pagetop{
    width: 37%;
    margin: 0 auto;
    cursor: pointer;
	-webkit-transition: opacity 0.4s;
	transition: opacity 0.4s;
}
.sideNavi .pagetop:hover{opacity:0.5;}











/* ========================= Slider =============================== */

.slick-slider{position: relative;display: block;box-sizing: border-box;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;-webkit-touch-callout: none;-khtml-user-select: none;-ms-touch-action: pan-y;touch-action: pan-y;-webkit-tap-highlight-color: transparent;}
.slick-list{position: relative;display: block;overflow: hidden;margin: 0;padding: 0;outline:none;}
.slick-list:focus{outline:none;}
.slick-list.dragging{cursor: pointer;cursor: hand;}
.slick-slider .slick-track,
.slick-slider .slick-list{-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}
.slick-track{position: relative;top: 0;left: 0;display: block;}
.slick-track:before,
.slick-track:after{display: table;content: '';}
.slick-track:after{clear: both;}
.slick-loading .slick-track{visibility: hidden;}
.slick-slide{display: none;float: left;position: relative;height: 100%;min-height: 1px;}
[dir='rtl'] .slick-slide{float: right;}
.slick-slide img{display: block;}
.slick-slide.slick-loading img{display: none;}
.slick-slide.dragging img{pointer-events: none;}
.slick-initialized .slick-slide{display: block;}
.slick-loading .slick-slide{visibility: hidden;}
.slick-vertical .slick-slide{display: block;height: auto;border: 1px solid transparent;}
.slick-arrow.slick-hidden {display: none;}
/*--------*/
.slick-track{display: flex;}
.slick-track:before,
.slick-track:after{display: none;}
.slick-slide{height: auto !important;float: none;}
.slick-slide > div{height: 100%;}
/*--------*/
/* Prev Next Button */
.slick-prev,
.slick-next {
    cursor:pointer;
    display:block;
    font-size:0;
    line-height:0;
    width: 5.3vw;
    height: 6.2vw;
    position:absolute;
    top:50%;
	margin-top: -3.1vw;
    z-index:50;
}
.slick-prev{left:-8.5vw;}
.slick-next{right:-8.5vw;}


.slick-prev::before,
.slick-next::before{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	background: #201510;
}
.slick-prev::before{clip-path: polygon(0 50%, 100% 0, 100% 100%);left: 0;}
.slick-next::before{clip-path: polygon(0 0, 100% 50%, 0 100%);right: 0;}


.slick-dots{
	display:block;
	list-style:outside none none;
	padding:0;
	text-align:center;
	position:absolute;
	z-index:10;
}
.slick-dots li{
	cursor: pointer;
	display: inline-block;
	padding: 0;
	position: relative;
	vertical-align: top;
}
.slick-dots li button{
	cursor:pointer;
	display:block;
	font-size:0;
	width:100%;
	height: 100%;
	line-height: 0;
	outline:medium none;
	position: relative;
}





















