@charset "utf-8";
/*				reset
====================================================*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
sup.supText {
	font-size: 75.5%;
	vertical-align: top;
	position: relative;
	top: 0.2em;
}
body {
  line-height: 1;


	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;

	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;

}

article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

.clearfix:before, .clearfix:after {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

li {
  list-style: none;
}




/*共通*/
.btn01 a{
	display: inline-block;
	background: #fff url("../images/arrow_black.svg") no-repeat right 34px center;
	background-size: 22px 22px;
	padding: 15px 65px 15px 40px ;

	border-radius: 30px;

	color: #000;

	text-decoration: none;

	font-size: 13px;

	font-weight: 600;

	transition: all .2s ease-in-out;

}

.btn02 a{
	display: inline-block;
	background: #000 url("../images/arrow_white.svg") no-repeat right 34px center;
	background-size: 22px 22px;
	padding: 15px 65px 15px 40px ;

	border-radius: 30px;

	color: #fff;

	text-decoration: none;

	font-size: 13px;

	font-weight: 600;

	transition: all .2s ease-in-out;
}
.btn03 a{
	display: inline-block;
	background: #fff;
	padding: 18px 70px 18px 70px ;

	border-radius: 30px;

	color: #000;

	text-decoration: none;

	font-size: 20px;

	font-weight: 600;

	transition: all .2s ease-in-out;

	letter-spacing: .1em;
}

.btn01 a:hover,
.btn02 a:hover,
.btn03 a:hover{
	transform: scale(1.1);
}



/*header*/
header {
	/*position: fixed;
	top: 0;
	left: 0;*/
	width: 100%;
	background: #fff;
	z-index: 50;

	box-shadow: 0 0 10px rgba(0,0,0,.1);
}
header .inner{
	margin: 0 auto;
	width: 80%;

	display: flex;
	flex-wrap: wrap;

	align-items: center;

	position: relative;

	padding: 0 120px 0 0;
}


.headLogo{
	width: 96px;

	padding: 17px 0;
}
.headLogo img{
	width: 88px;
	height: 32px;
}



.headCatch{
	width: calc(100% - 217px);
	padding: 24px 0;

	margin: 0 auto;
	text-align: center;

	font-size: 20px;
	font-weight: 600;
	letter-spacing: .4em;

	line-height: 100%;
}
.headCatch a{
	text-decoration: none;
	color: #474747;
}

.hamburger{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);

}





#wrapper{
	padding-top: 0;
}


/*ハンバーガーメニュー*/

.hamburger {
  width: 34px;
  height: 22px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 1001;
  transition: 0.3s;
}
.hamburger span {
  height: 2px;
  background: #000;
  transition: all 0.3s ease;
}

/* バツアニメーション */
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(10px, 5px);
  background: #fff;
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(10px, -5px);
  background: #fff;
}

/* メニュー初期状態 */
.menu {
	display: none;
	opacity: 0;
	transition: opacity 0.4s ease;
	background: rgba(0,0,0,.95);
	padding: 0;
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
}
.menu.open {
	display: block;
	opacity: 1;

}


.menu ul{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);

}
.menu ul li{
	padding: 30px ;
}
.menu ul li a{
	color: #fff;
	font-size: 32px;
	text-decoration: none;

	font-weight: 600;

	letter-spacing: .1em;
	text-align: center;

	display: block;

}

.menuOfficial a{
	border-radius: 40px;
	border:2px solid #fff;
	padding: 20px 50px
}






/*ホームコンテンツ*/




/*#topPromotion*/
#topPromotion{
	background: #000 url("../images/promo_bg.jpg") no-repeat top 66px center;
	background-size: 1440px auto;
	position: relative;

	width: 100%;
	height: 874px; 
	/*height: 824px;*/


}

.topPromoLogo{
	width: 700px;
	margin: 0 auto;
	padding: 20px 0 0;
}
.topPromoLogo img{
	width:100%;
	height: auto;
}

.topPromoTxt1{
	position: absolute;

	top: 180px;
	left: 50%;
	transform: translateX(276px);

	color: #fff;

	font-size: 33px;
	letter-spacing: .1em;

	font-weight: 600;

	line-height: 160%;

	writing-mode: vertical-rl;
}

.topPromoTxt2{
	position: absolute;

	top: 520px;
	left: 50%;
	transform: translateX(-370px);

	color: #fff;

	font-size: 20px;

	line-height: 200%;

	letter-spacing: .1em;

	font-weight: 600;
}

.topPromoBtn{
	position: absolute;

	bottom: -35px;
	left: 50%;
	transform:translateX(-50%);
	text-align: center;

}
.topPromoBtn.nofix{
	
}
.topPromoBtn.fix {
  position: fixed;
  bottom: 20px;
  left: 50%;
	transform: translateX(-50%);
  display: none; /* 最初は非表示 */
}


.topPromoBtn span{
	font-size: 19px;
	text-align: center;
	margin-top: 7px;
	display: block;
}
.topPromoBtn a{
	letter-spacing: .05em;
	color: #000;
	text-decoration: none;
	padding: 15px 55px 15px 55px ;
	display: block;
	background: #FFFF00;
	border-radius: 50px;
	font-size: 24px;
	font-weight: 700;
	animation: topicbtn 0.9s ease alternate infinite;
}
.topPromoBtn.noanime a{
	animation: none;
	transition: all .2s ease-in-out;
}


.topPromoBtn1.topPromoBtn a{
	color: #000;
	background: #FFFF00;
}
.topPromoBtn2.topPromoBtn a{
	color: #ffffff;
	background: #000000;
}
.topPromoBtn3.topPromoBtn a{
	color: #ffffff;
	background: #dc0000;
}

.topPromoBtn3 a:hover{
	color: #dc0000;
	background: #ffffff;
}


@keyframes topicbtn {
  0% {
    transform: scale(1);
	  opacity: 0.7
  }
  100% {
    transform: scale(1.09);
	  opacity: 1
  }
}






#brandlineup{

}

.brandlineupHead{
	background: #191919;

	padding: 90px 0 80px;

}

.brandlineupHead h2{
	font-size: 50px;
	font-weight: 600;

	letter-spacing: .2em;

	color: #fff;

	margin-bottom: 50px;

	padding-top: 60px;

	position: relative;

	text-align: center;
}
.brandlineupHead h2::before{
	content: "";

	position: absolute;
	display: block;
	background: #DC0000;
	width: 280px;
	height: 5px;

	top: 0;
	left: 50%;
	transform: translateX(-50%);
}



.brandlineupHead .brandlineupCatch{
	font-size: 20px;
	font-weight: 600;

	letter-spacing: .2em;

	color: #fff;

	line-height: 180%;
	text-align: center;
}



.brandBanas{
	width: 90%;
	max-width: 1140px;
	min-width: 730px;
	margin: 0 auto;

	padding: 40px 0 60px;

	display: flex;
	flex-flow: column;

	gap:55px 0;
}

.brandBana{

}

.brandBanaImg{
	margin-bottom: 12px;
	border-radius: 5px;
}
.brandBanaImg a{
	display: block;
	transition: all .2s ease-in-out;
}
.brandBanaImg a:hover{
	transform: scale(1.05);
}
.brandBanaImg.diamania{
	background: #000 url("../images/brandlogo_01idiamania_bg2.jpg") no-repeat center center;
	background-size: cover;
}
.brandBanaImg.tensei{
	background: #000 url("../images/brandlogo_02tensen_bg2.jpg?v=0001") no-repeat center center;
	background-size: cover;
}
.brandBanaImg.vanquish{
	background: #000 url("../images/brandlogo_03vanquish_bg2.jpg?v=0001") no-repeat center center;
	background-size: cover;
}
.brandBanaImg img{
	width: 100%;
	height: auto;
}

.brandBanaTxt{

	font-size: 18px;
	text-align: center;

	font-weight: 600;

	margin-bottom: 15px;
	letter-spacing: .05em;
}

.brandBanaBtn{

	text-align: center;
}




#topNews{

	background: #191919 url("../images/bg_slush1.png") no-repeat left 0 bottom -2px;
	background-size: 100% auto;

	padding: 67px 0 261px;

	display: flex;
	flex-flow: column;

	gap:120px 0;
}

.topNewsBox{
	width: 90%;
	max-width: 1140px;
	min-width: 730px;


	margin: 0 auto 0;


}
.topNewsBox h2{
	font-size: 30px;
	color: #fff;
	font-weight: 600;
	letter-spacing: .3em;

	margin-bottom: 30px
}
.topNewsBox h2 span{
	font-size: 18px;
	letter-spacing: .1em;
	padding-left: 20px;

	display: inline-block
}

.topNewsLists{
	display: flex;
	flex-wrap: wrap;

	justify-content: center;

	gap:0 2.25%;

	margin-bottom: 40px;
}

.topNewsLists.movieLists{
}

.topNewsLists .topNewsList{
	width: 31.5%;
	transition: all .2s ease-in-out;
}
.topNewsLists.movieLists .topNewsList{
	width:23.3%;
}
.topNewsLists .topNewsList a{
	display: block;
	color: #fff;
	text-decoration: none;
}
.topNewsLists .topNewsList:hover{
	transform: scale(1.05);
}
.topNewsLists .topNewsList .topNewsListImg{
	margin-bottom: 10px;
	overflow: hidden;
	border-radius: 5px;
}
.topNewsLists .topNewsList .topNewsListImg img{
	width: 100%;
	height: auto;
	display: block;
}
.topNewsLists.movieLists .topNewsList .topNewsListImg iframe{
	width: 100%;
	height: auto;
}


.topNewsLists.movieLists .topNewsList .topNewsListImg{
 width: 100%; /* 伸縮する横幅 */
 max-width: 400px; /* 最大の横幅 */
 margin: 0 auto 10px; /* 画面の中央に配置 */
}
.topNewsLists.movieLists .topNewsList .topNewsListImg iframe{
 aspect-ratio: 9 / 16;
 width: 100%;
 height: 100%;
}



.topNewsListTitle{
	margin-bottom: 4px;
	font-size: 15px;
	line-height: 160%;
	font-weight: 600;
	letter-spacing: .05em;
	color: #fff;

}

.topNewsListDate{
	font-size: 13px;
	line-height: 120%;
	font-weight: 600;

}

.newsListBtn{
	text-align: center;
}







#topSpecial{

	background: #fff url("../images/bg_slush2.png") no-repeat left 0 bottom -1px;
	background-size: 100% auto;

	padding: 67px 0 261px;

}



.topSpecialBox{
	width: 90%;
	max-width: 1140px;
	min-width: 730px;

	margin: 0 auto 0;


}
.topSpecialBox h2{
	font-size: 30px;
	color: #000000;
	font-weight: 600;
	letter-spacing: .3em;

	margin-bottom: 30px
}
.topSpecialBox h2 span{
	font-size: 18px;
	letter-spacing: .1em;

	padding-left: 20px;
	display: inline-block
}


.topSpecialImg{
	margin-bottom: 10px;
	border-radius: 6px;
	overflow:hidden;
}
.topSpecialImg img{
	width: 100%;
	height: auto;
	display: block;
}
.topSpecialTitle{
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 10px;
	line-height: 160%;
}
.topSpecialDate{
	color: #C8C8C8;
	font-weight: 600;
}




.topSpecialBox1{
	margin-bottom: 65px;
}
.topSpecialBox1 a{
	display: block;
	text-decoration: none;
	color: #000;

}
.topSpecialBox2,
.topSpecialBox3{
	width: 70%;
	max-width: 840px;
	min-width: 520px;


	margin: 0 auto;

}
.topSpecialBox2{
	margin: 0 auto 60px;

}

.topSpecialBox2 a,
.topSpecialBox3 a{
	display: flex;
	flex-wrap: wrap;

	justify-content: space-between;
	align-items: flex-end;

	text-decoration: none;
	color: #000;
}
.topSpecialBox3 a{
	flex-direction:row-reverse;
}

.topSpecialBox1 a,
.topSpecialBox2 a,
.topSpecialBox3 a{
	transition: all .3s ease-in-out;
}
.topSpecialBox1 a:hover,
.topSpecialBox2 a:hover,
.topSpecialBox3 a:hover{
	transform: scale(1.02);
}



.topSpecialBox2 .topSpecialImg,
.topSpecialBox3 .topSpecialImg{
	width: 60%;
}
.topSpecialBox2 .topSpecialTxt,
.topSpecialBox3 .topSpecialTxt{
	width: 36%;
	font-size: 15px;
	font-weight: 600;
	margin-bottom: 10px;
	line-height: 160%;
}

.topSpecialBtn{
	text-align: center;
	margin-top: 60px;
}




#topPickup{

	background: #191919;

	padding: 100px 0 130px;

}




.topPickupLists{
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 5%;
    margin-bottom: 40px;
}

.topPickupLists .topPickupList{
	width: 30%;
}
.topPickupLists .topPickupList a{
	color: #fff;
	text-decoration: none;
	transition: all .2s ease-in-out;

	display: flex;
	flex-wrap: wrap;

	flex-direction: column;


	height: 100%;
}
.topPickupLists .topPickupList a:hover{
	transform: scale(1.05);
}
.topPickupLists .topPickupList .topPickupListImg{
	margin-bottom: 10px;
	overflow: hidden;
	border-radius: 5px;
}
.topPickupLists .topPickupList .topPickupListImg img{
	width: 100%;
	height: auto;
	display: block;
}
.topPickupListTitle{
	margin-bottom: 4px;
	font-size: 15px;
	line-height: 160%;
	font-weight: 600;
	letter-spacing: .05em;

	text-align: center;
	/*flex-grow:1;*/
}

.topPickupListTxt{
	font-size: 13px;
	line-height: 160%;
	font-weight: 600;

	text-align: center;
}







footer{
	background: #C8C8C8;
	padding: 60px 0 80px;
}

.footSns ul{
	display: flex;
	flex: wrap;
	gap: 0 20px;
	justify-content: center;

	margin-bottom: 47px;
}
.footSns ul li{
	width:48px;
}
.footSns ul li a {
	display: block;
}
.footSns ul li a:hover {
	opacity: .8;
}
.footSns ul li a img{
	width: 100%;
	height: auto;
}

.footLogo{
	text-align: center;
	margin-bottom: 37px;
}
.footLogo img{
	width: 275px;
	height: auto;
}

.footCatch{
	text-align: center;
	font-size:  15px;
	font-weight: 600;

	margin-bottom: 17px;
}

.footMenu1 ul{
	display: flex;
	gap: 0 20px;
	justify-content: center;
	margin-bottom: 42px;
}
.footMenu1 ul li a {
	display: block;
	color: #000;
	text-decoration: none;
	font-weight: 600;
	font-size:  15px;
}
.footMenu1 ul li a:hover {
	opacity: .8;
}


.footMenu2 ul{
	display: flex;
	gap: 0 20px;
	justify-content: center;
	margin-bottom: 5px;
}
.footMenu2 ul li a {
	display: block;
	color: #000;
	text-decoration: none;
	font-weight: 600;
	font-size:  13px;
}
.footMenu2 ul li a:hover {
	opacity: .8;
}

.footCopy {
	display: block;
	color: #000;
	font-weight: 600;
	font-size:  13px;

	text-align: center;
}

.footFix{
	background: #fff;
	position: fixed;
	right: 0;
	bottom: 200px;
	display: none;
	box-shadow: 0 0 10px rgba(0,0,0,.1);
}
.footFix ul li{
	border-bottom: 1px solid #eee;
}
.footFix ul li a{
	display: block;
	padding: 10px;
}
.footFix ul li a img{
	width: 77px;
	height: auto;
}

.pc{
	display: block;
}

.sp{
	display: none;
}




@media only screen and (max-width: 767px) {

.pc{
	display: none;
}

.sp{
	display: block;
}

	/*共通*/
	.btn01 a{
		display: inline-block;
		background: #fff url("../images/arrow_black.svg") no-repeat right 6vw center;
		background-size: 5vw;
		padding: 3vw 14vw 3vw 8vw ;

		border-radius: 30px;

		color: #000;

		text-decoration: none;

		font-size: 3.8vw;

		font-weight: 600;

		transition: all .2s ease-in-out;

	}


	.btn02 a{
		display: inline-block;
		background: #000 url("../images/arrow_white.svg") no-repeat right 4vw center;
		background-size: 5vw;
		padding: 3vw 12vw 3vw 6vw ;

		border-radius: 30px;

		color: #fff;

		text-decoration: none;

		font-size: 3.8vw;

		font-weight: 600;

		transition: all .2s ease-in-out;
	}
	.btn03 a{
		background: #fff;
		display: inline-block;
		padding: 3vw 8vw 3vw 8vw ;

		border-radius: 30px;

		color: #000;

		text-decoration: none;

		font-size: 3.8vw;

		font-weight: 600;

		transition: all .2s ease-in-out;

	}

	.btn01 a:hover,
	.btn02 a:hover,
	.btn03 a:hover{
		transform: scale(1.1);
	}



	/*header*/

	header .inner{
		margin: 0 auto;
		width: calc(100% - 9.5vw);

		display: flex;
		flex-wrap: wrap;

		align-items: center;

		position: relative;

		padding: 0 9.5vw 0 0;
	}


	.headLogo{
		width: 14.5vw;

		padding: 3.2vw 0 3.2vw 5vw;
	}
	.headLogo img{
		width: 70px;
		height: 24px;
	}



	.headCatch{
		width: calc(100% - 34.5vw);
		padding: 3.2vw 0;

		margin: 0 auto;
		text-align: center;

		font-size: 3.2vw;
		font-weight: 600;
		letter-spacing: .1em;

		line-height: 140%;
	}


	.hamburger{
		position: absolute;
		right: 5vw;
		top: 50%;
		transform: translateY(-50%);

	}




	#wrapper{
		padding-top: 0;
	}



	/*ハンバーガーメニュー*/

	.hamburger {
	  width: 34px;
	  height: 22px;
	  cursor: pointer;
	  display: flex;
	  flex-direction: column;
	  justify-content: space-between;
	  z-index: 1001;
	  transition: 0.3s;
	}
	.hamburger span {
	  height: 2px;
	  background: #000;
	  transition: all 0.3s ease;
	}

	/* バツアニメーション */
	.hamburger.active span:nth-child(1) {
	  transform: rotate(45deg) translate(10px, 5px);
	  background: #fff;
	}
	.hamburger.active span:nth-child(2) {
	  opacity: 0;
	}
	.hamburger.active span:nth-child(3) {
	  transform: rotate(-45deg) translate(10px, -5px);
	  background: #fff;
	}

	/* メニュー初期状態 */
	.menu {
		display: none;
		opacity: 0;
		transition: opacity 0.4s ease;
		background: rgba(0,0,0,.95);
		padding: 0;
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		z-index: 100;
	}
	.menu.open {
		display: block;
		opacity: 1;

	}


	.menu ul{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 100%;

	}
	.menu ul li{
		padding: 30px ;
	}
	.menu ul li a{
		color: #fff;
		font-size: 20px;
		text-decoration: none;
		font-weight: 600;
		letter-spacing: .1em;
		text-align: center;
		display: block;
		line-height: 1.4;
	}



.menuOfficial a{
	border-radius: 40px;
	border:2px solid #fff;
	padding: 10px 20px
}





	/*ホームコンテンツ*/




	/*#topPromotion*/
	#topPromotion{
		background: #191919 url("../images/promo_bg_sp.jpg") no-repeat top 20vw center;
		background-size: 100vw auto;
		position: relative;

		width: 100%;
		height: 188vw;
		/*height: 173vw;*/


	}

	.topPromoLogo{
		width: 100%;
		margin: 0 auto;
		padding: 20px 0 0;
		text-align: center
	}
	.topPromoLogo img{
		width:80%;
		height: auto;
	}

	.topPromoTxt1{
		position: absolute;

		top: 26vw;
		left: 80vw;
		transform: translateX(0);

		color: #fff;

		font-size: 5vw;
		letter-spacing: .1em;

		font-weight: 600;

		line-height: 160%;

		writing-mode: vertical-rl;
	}

	.topPromoTxt2{
		position: absolute;

		top: auto;
		 bottom: 42vw; 
		/*bottom: 10vw;*/
		left: 4vw;
		transform: translateX(-0);

		color: #fff;

		font-size: 4.2vw;

		line-height: 210%;

		letter-spacing: .12em;

		font-weight: 600;
	}


	.topPromoBtn{
		position: absolute;

		bottom: 45px;
		left:0;
		transform:translateX(0);
		text-align: center;
		width: 100%;

	}
	.topPromoBtn.fix {
	  position: fixed;
	  bottom: 80px;
	  left: 0;
		transform: translateX(0);
	  display: none; /* 最初は非表示 */
		text-align: center;
		width: 100%;
		z-index: 10;
	}


	.topPromoBtn span{
		font-size: 15px;
		text-align: center;
		margin-top: 7px;
		display: block;
	}
	.topPromoBtn a{
		letter-spacing: .05em;
		color: #000;
		text-decoration: none;
		padding: 9px 40px 9px 40px ;
		display: inline-block;
		background: #FFFF00;
		border-radius: 50px;
		font-size: 18px;
		font-weight: 700;
		animation: topicbtn 0.9s ease alternate infinite;
	}



	#brandlineup{

	}

	.brandlineupHead{
		background: #191919;

		padding: 0 0 7vw;

	}

	.brandlineupHead h2{
		font-size: 6vw;
		font-weight: 600;

		letter-spacing: .2em;

		color: #fff;

		margin-bottom: 10vw;

		padding-top: 12vw;

		position: relative;

		text-align: center;
	}
	.brandlineupHead h2::before{
		content: "";

		position: absolute;
		display: block;
		background: #DC0000;
		width: 40vw;
		height: 1vw;

		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}



	.brandlineupHead .brandlineupCatch{
		font-size: 4.2vw;
		font-weight: 600;

		letter-spacing: .2em;

		color: #fff;

		line-height: 180%;
		text-align: center;
	}



	.brandBanas{
		width: 90%;

		max-width: 90%;
		min-width: 90%;


		margin: 0 auto;

		padding: 9vw 0 10vw;

		display: flex;
		flex-flow: column;

		gap:6.7vw 0;
	}

	.brandBana{

	}

	.brandBanaImg{
		margin-bottom: 2vw;
		overflow: hidden;
		border-radius: 4px;
	}
	.brandBanaImg a{
		display: block;
		transition: all .2s ease-in-out;

		padding: 3vw 0;
		transform: scale(1.3);
	}
	.brandBanaImg a:hover{
		transform: scale(1.3);
	}
	.brandBanaImg.diamania{
		background: #000 url("../images/brandlogo_01idiamania_bg2.jpg") no-repeat center center;
		background-size: cover;
	}
	.brandBanaImg.tensei{
		background: #000 url("../images/brandlogo_02tensen_bg2.jpg?v=0001") no-repeat center center;
		background-size: cover;
	}
	.brandBanaImg.vanquish{
		background: #000 url("../images/brandlogo_03vanquish_bg2.jpg?v=0001") no-repeat center center;
		background-size: cover;
	}
	.brandBanaImg img{
		width: 100%;
		height: auto;
	}

	.brandBanaTxt{

		font-size: 3.7vw;
		text-align: center;

		font-weight: 600;

		margin-bottom: 15px;
		letter-spacing: .2.7vw;

		line-height: 160%;
	}

	.brandBanaBtn{

		text-align: center;
	}




	#topNews{

		background: #191919 url("../images/bg_slush1.png") no-repeat left 0 bottom 0;
		background-size: 100% auto;

		padding: 10vw 0 20vw;

		display: flex;
		flex-flow: column;

		gap:9vw 0;
	}

	.topNewsBox{
		width: 90%;
		max-width: 90%;
		min-width: 90%;

		margin: 0 auto 0;


	}
	.topNewsBox h2{
		font-size: 7vw;
		color: #fff;
		font-weight: 600;
		letter-spacing: .3em;

		margin-bottom: 30px
	}
	.topNewsBox h2 span{
		font-size: 4.5vw;
		letter-spacing: .1em;
		padding-left: 0;
		padding-top: 3vw;

		display: block
	}

	.topNewsLists{
		display: flex;

		flex-direction: column;

		gap:2vw 0;

		margin-bottom: 5vw;
	}

	.topNewsLists.movieLists{
		flex-direction: row;
		gap:4% 4%
	}

	.topNewsLists .topNewsList{
		width: 100%;
	}
	.topNewsLists.movieLists .topNewsList{
		width:48%;
	}
	.topNewsLists .topNewsList a{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		color: #fff;
		text-decoration: none;
		transition: all .2s ease-in-out;
	}
	.topNewsLists .topNewsList a:hover{
		transform: scale(1.05);
	}


	.topNewsLists .topNewsList .topNewsListImg{
		margin-bottom: 10px;
		overflow: hidden;
		border-radius: 5px;
		width: 43vw;
		height: 28vw;
	}
	.topNewsLists .topNewsList .topNewsListImg img{
		width: 100%;
		height: auto;
		display: block;
	}
	.topNewsLists.movieLists .topNewsList .topNewsListImg{
	 width: 100%; /* 伸縮する横幅 */
	 max-width: 400px; /* 最大の横幅 */
	 margin: 0 auto 10px; /* 画面の中央に配置 */
	}
	.topNewsLists.movieLists .topNewsList .topNewsListImg iframe{
	 aspect-ratio: 9 / 16;
	 width: 100%;
	 height: 100%;
	}


	.topNewsListTxt{
		width: 44vw;
	}
	.topNewsListTitle{
		margin-bottom: 4px;
		font-size: 4.0vw;
		line-height: 160%;
		font-weight: 600;
		letter-spacing: .05em;

	}

	.topNewsListDate{
		font-size: 3.7vw;
		line-height: 120%;
		font-weight: 600;

	}

	.newsListBtn{
		text-align: center;
	}







	#topSpecial{

		background: #fff url("../images/bg_slush2.png") no-repeat left 0 bottom -1px;
		background-size: 100% auto;

		padding: 11vw 0 20vw;

	}



	.topSpecialBox{
		width: 90%;
		max-width: 90%;
		min-width: 90%;

		margin: 0 auto 0;


	}
	.topSpecialBox h2{
		font-size: 7vw;
		color: #000000;
		font-weight: 600;
		letter-spacing: .3em;

		margin-bottom: 30px
	}
	.topSpecialBox h2 span{
		font-size: 4.5vw;
		letter-spacing: .1em;

		padding-left: 0;
		padding-top: 3vw;

		display: block

	}


	.topSpecialImg{
		margin-bottom: 1.5vw;
		border-radius: 6px;
		overflow:hidden;
	}
	.topSpecialImg img{
		width: 100%;
		height: auto;
		display: block;
	}
	.topSpecialTitle{
		font-size: 4vw;
		font-weight: 600;
		margin-bottom: 1.5vw;
		line-height: 150%;
	}
	.topSpecialDate{
		color: #C8C8C8;
		font-weight: 600;

		font-size: 4vw;
		line-height: 150%;
	}




	.topSpecialBox1{
		margin-bottom: 7vw;
	}
	.topSpecialBox1 a{
		display: block;
		text-decoration: none;
		color: #000;

	}
	.topSpecialBox2,
	.topSpecialBox3{
		width: 100%;
		max-width: 100%;
		min-width: 100%;
		margin: 0 auto;

	}
	.topSpecialBox2{
		margin: 0 auto 7vw;

	}

	.topSpecialBox2 a,
	.topSpecialBox3 a{
		display: block;
		flex-wrap: wrap;

		justify-content: space-between;
		align-items: flex-end;

		text-decoration: none;
		color: #000;
	}
	.topSpecialBox3 a{
		flex-direction:row-reverse;
	}

	.topSpecialBox1 a,
	.topSpecialBox2 a,
	.topSpecialBox3 a{
		transition: all .3s ease-in-out;
	}
	.topSpecialBox1 a:hover,
	.topSpecialBox2 a:hover,
	.topSpecialBox3 a:hover{
		transform: scale(1.02);
	}



	.topSpecialBox2 .topSpecialImg,
	.topSpecialBox3 .topSpecialImg{
		width: 100%;
	}
	.topSpecialBox2 .topSpecialTxt,
	.topSpecialBox3 .topSpecialTxt{
		width: 100%;
		font-size: 4vw;
		font-weight: 600;
		margin-bottom: 2.5vw;
		line-height: 160%;
	}

	.topSpecialBtn{
		text-align: center;
		margin-top: 7vw;
	}




	#topPickup{

		background: #191919;

		padding: 7vw 0 6vw;

	}




	.topPickupLists{
		display: flex;
        flex-wrap: wrap;
        gap: 4vw 4%;
        margin-bottom: 0;
	}

	.topPickupLists .topPickupList{
		width:48%;
	}
	.topPickupLists .topPickupList a{
		color: #fff;
		text-decoration: none;
		transition: all .2s ease-in-out;

		display: flex;
		flex-wrap: wrap;

		flex-direction: column;


		height: 100%;
	}
	.topPickupLists .topPickupList a:hover{
		transform: scale(1.05);
	}
	.topPickupLists .topPickupList .topPickupListImg{
		margin-bottom: 10px;
		overflow: hidden;
		border-radius: 5px;
	}
	.topPickupLists .topPickupList .topPickupListImg img{
		width: 100%;
		height: auto;
		display: block;
	}
	.topPickupListTitle{
		margin-bottom: 4px;
		font-size: 4vw;
		line-height: 160%;
		font-weight: 600;
		letter-spacing: .05em;

		text-align: center;
		/*flex-grow:1;*/
	}

	.topPickupListTxt{
		font-size: 3.5vw;
		line-height: 160%;
		font-weight: 600;

		text-align: center;
	}







	footer{
		background: #C8C8C8;
		padding: 60px 0 120px;
	}

	.footSns ul{
		display: flex;
		flex-wrap:wrap;
		gap: 0 4vw;
		justify-content: center;

		margin-bottom: 47px;
	}
	.footSns ul li{
		width:10vw;
	}
	.footSns ul li a {
		display: block;
	}
	.footSns ul li a:hover {
		opacity: .8;
	}
	.footSns ul li a img{
		width: 100%;
		height: auto;
	}

	.footLogo{
		text-align: center;
		margin-bottom: 37px;
	}
	.footLogo img{
		width: 85%;
		height: auto;
	}

	.footCatch{
		text-align: center;
		font-size:  3.5vw;
		font-weight: 600;

		margin-bottom: 17px;
	}

	.footMenu1 ul{
		display: flex;
		gap: 4vw 0;
		justify-content: center;

		flex-direction: column;
		margin-bottom: 5vw;
	}
	.footMenu1 ul li a {
		display: block;
		color: #000;
		text-decoration: none;
		font-weight: 600;
		font-size:  15px;

		text-align: center;
	}
	.footMenu1 ul li a:hover {
		opacity: .8;
	}


	.footMenu2 ul{
		display: flex;
		gap: 0 20px;
		justify-content: center;
		margin-bottom: 3vw;
	}
	.footMenu2 ul li a {
		display: block;
		color: #000;
		text-decoration: none;
		font-weight: 600;
		font-size:  3vw;
	}
	.footMenu2 ul li a:hover {
		opacity: .8;
	}

	.footCopy {
		display: block;
		color: #000;
		font-weight: 600;
		font-size:  3vw;

		text-align: center;
	}



	.footFix{
		background: #fff;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		display: none;
		box-shadow: 0 0 10px rgba(0,0,0,.1);
	}

	.footFix ul{
		display: flex;
		width: 80%;
		margin: 0 auto;
		justify-content: space-between;
		/* justify-content: space-around; */
		padding-bottom: 7px;
	}
	.footFix ul li{
		width: 15vw;
		border-bottom: none;
	}
	.footFix ul li a{
		display: block;
		padding: 0;
	}
	.footFix ul li a img{
		width: 100%;
		height: auto;
	}



}





@media only screen and (max-width: 324px) {



	/*header*/

	header .inner{
		margin: 0 auto;
		width: calc(100% - 9.5vw);

		display: flex;
		flex-wrap: wrap;

		align-items: center;

		position: relative;

		padding: 0 9.5vw 0 0;
	}


	.headLogo{
		width: 14.5vw;

		padding: 3.2vw 0 3.2vw 5vw;
	}
	.headLogo img{
		width: 70px;
		height: 24px;
	}



	.headCatch{
		width: calc(100% - 34.5vw);
		padding: 3.2vw 0;

		margin: 0 auto;
		text-align: center;

		font-size: 3.2vw;
		font-weight: 600;
		letter-spacing: .1em;

		line-height: 140%;
	}


	.hamburger{
		position: absolute;
		right: 5vw;
		top: 50%;
		transform: translateY(-50%);

	}




	#wrapper{
		padding-top: 0;
	}



	/*ハンバーガーメニュー*/

	.hamburger {
	  width: 34px;
	  height: 22px;
	  cursor: pointer;
	  display: flex;
	  flex-direction: column;
	  justify-content: space-between;
	  z-index: 1001;
	  transition: 0.3s;
	}
	.hamburger span {
	  height: 2px;
	  background: #000;
	  transition: all 0.3s ease;
	}

	/* バツアニメーション */
	.hamburger.active span:nth-child(1) {
	  transform: rotate(45deg) translate(10px, 5px);
	  background: #fff;
	}
	.hamburger.active span:nth-child(2) {
	  opacity: 0;
	}
	.hamburger.active span:nth-child(3) {
	  transform: rotate(-45deg) translate(10px, -5px);
	  background: #fff;
	}

	/* メニュー初期状態 */
	.menu {
		display: none;
		opacity: 0;
		transition: opacity 0.4s ease;
		background: rgba(0,0,0,.95);
		padding: 0;
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		z-index: 100;
	}
	.menu.open {
		display: block;
		opacity: 1;

	}


	.menu ul{
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		transform: translate(0,-50%);

	}
	.menu ul li{
		padding: 15px 0 ;
		text-align: center;
	}
	.menu ul li a{
		color: #fff;
		font-size: 18px;
		text-decoration: none;

		font-weight: 600;

		letter-spacing: .1em;
		text-align: center;

		display: block;

	}








	/*ホームコンテンツ*/




	/*#topPromotion*/
	#topPromotion{
		background: #191919 url("../images/promo_bg_sp.jpg") no-repeat top 20vw center;
		background-size: 100vw auto;
		position: relative;

		width: 100%;
		height: 183vw; 
		/*height: 168vw;*/


	}

	.topPromoLogo{
		width: 100%;
		margin: 0 auto;
		padding: 20px 0 0;
		text-align: center
	}
	.topPromoLogo img{
		width:80%;
		height: auto;
	}

	.topPromoTxt1{
		position: absolute;

		top: 26vw;
		left: 80vw;
		transform: translateX(0);

		color: #fff;

		font-size: 4.5vw;
		letter-spacing: .1em;

		font-weight: 600;

		line-height: 160%;

		writing-mode: vertical-rl;
	}

	.topPromoTxt2{
		position: absolute;

		top: auto;
		bottom: 30vw;
		left: 4vw;
		transform: translateX(-0);

		color: #fff;

		font-size: 3.7vw;

		line-height: 210%;

		letter-spacing: .12em;

		font-weight: 600;
	}

	.topPromoBtn{
		position: absolute;

		bottom: 45px;
		left: 50%;
		transform:translateX(-50%);

	}

}



/*アーカイブ*/


section#contSec{
	background: #dcdcdc;
	padding: 70px 0 80px 0;
}
.archiveBox{
	width: 730px;
	margin: 0 auto;
}

.pageTitle1{
	margin-bottom: 50px;
}

.pageTitle1 .pageTitle{
	text-align: center;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: .1em;
	margin-bottom: 20px;
}

.pageTitle1 h1{
	font-size: 18px;
	font-weight: 600;
	text-align: center;
}



.archiveTagLists{
	margin-bottom: 50px;
}
.archiveTagLists ul{
	display: flex;
	flex-wrap: wrap;
	gap:10px;
	justify-content: center;
}
.archiveTagLists ul li{
	padding: 6px 16px 8px 16px;
	border: 1px solid #000;
	border-radius: 30px;
	font-size: 13px;
	line-height: 100%;
	
	cursor: pointer;
}
.archiveTagLists ul li:hover{
	background: #eee;
}

.archiveTagLists ul li.active{
	background-color: #000;
	color: #fff;
}




.archiveLists{
	display: flex;
	
	flex-wrap: wrap;
	justify-content: flex-start;
	
	gap:30px;
	
	margin-bottom: 40px;
}

.archiveItem{
	width: calc( 50% - 55px);
	
	background: #fff;
	
	padding: 20px;

}
.archiveItem a{
	text-decoration: none;
	color: #000;
	display: block;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.archiveItem .archiveListImg{
	margin-bottom: 10px;
}

.archiveItem .archiveListImg img{
	width: 100%;
	height: auto;
	border-radius: 5px;
	display: block;
}


.archiveListTag{
	display: none;
}

.archiveListTitle{
	font-size: 15px;
	margin-bottom: 10px;
	line-height: 160%;
}

.archiveListDate{
	margin-bottom: 20px;
	font-size: 13px;
	color: #c8c8c8;
}
.archiveListDate{
	display: flex;
	justify-content: space-between;
}

.archiveListBtn {
	text-align: center;
	margin-top: auto;
}
.archiveListBtn span{
	display: inline-block;
	background: #fff url("../images/arrow_black.svg") no-repeat right 18px center;
	background-size: 22px 22px;
	padding: 11px 48px 11px 23px ;

	border-radius: 30px;

	color: #000;

	text-decoration: none;

	font-size: 13px;

	font-weight: 600;

	transition: all .2s ease-in-out;
	
	border: 1px solid #000;

}


.morebtn.btn02 span{
	display: inline-block;
	background: #000 url("../images/arrow_white.svg") no-repeat right 34px center;
	background-size: 22px 22px;
	padding: 15px 65px 15px 40px ;

	border-radius: 30px;

	color: #fff;

	text-decoration: none;

	font-size: 13px;

	font-weight: 600;

	transition: all .2s ease-in-out;
	
	cursor: pointer;

}
.morebtn.btn02 span:hover{
	background: #333 url("../images/arrow_white.svg") no-repeat right 34px center;
	background-size: 22px 22px;
}



#contPickup{
	
	width: 730px;
	margin: 0 auto;

	padding: 100px 0 0;

}

.contNewsBox h2{
	font-size: 30px;
	color: #000;
	font-weight: 600;
	letter-spacing: .3em;

	margin-bottom: 30px
}
.contNewsBox h2 span{
	font-size: 18px;
	letter-spacing: .1em;
	padding-left: 20px;

	display: inline-block
}


.contPickupLists{
	display: flex;
	flex-wrap: wrap;

	justify-content: flex-start;

	gap:0 2.25%;

	margin-bottom: 40px;
}

.contPickupLists .contPickupList{
	width:23.3%;
}
.contPickupLists .contPickupList a{
	color: #000;
	text-decoration: none;
	transition: all .2s ease-in-out;

	display: flex;
	flex-wrap: wrap;

	flex-direction: column;


	height: 100%;
}
.contPickupLists .contPickupList a:hover{
	transform: scale(1.05);
}
.contPickupLists .contPickupList .contPickupListImg{
	margin-bottom: 10px;
	overflow: hidden;
	border-radius: 5px;
	border: 1px solid #ccc;
}
.contPickupLists .contPickupList .contPickupListImg img{
	width: 100%;
	height: auto;
	display: block;
	border-radius: 5px;
}
.contPickupListTitle{
	margin-bottom: 4px;
	font-size: 15px;
	line-height: 160%;
	font-weight: 600;
	letter-spacing: .05em;

	text-align: center;
	/*flex-grow:1;*/
}

.contPickupListTxt{
	font-size: 13px;
	line-height: 160%;
	font-weight: 600;

	text-align: center;
}



@media only screen and (max-width: 767px) {

	section#contSec{
		background: #dcdcdc;
		padding: 40px 0 40px 0;
	}
	.archiveBox{
		width: 90%;
		margin: 0 auto;
	}

	.pageTitle1{
		margin-bottom: 30px;
	}

	.pageTitle1 .pageTitle{
		text-align: center;
		font-size: 7vw;
		font-weight: 700;
		letter-spacing: .1em;
		margin-bottom: 10px;
	}

	.pageTitle1 h1{
		font-size: 4vw;
		font-weight: 600;
		text-align: center;
	}



	.archiveTagLists{
		margin-bottom: 30px;
	}
	.archiveTagLists ul{
		display: flex;
		flex-wrap: wrap;
		gap:7px;
		justify-content: center;
	}
	.archiveTagLists ul li{
		padding: 5px 12px 6px;
		border: 1px solid #000;
		border-radius: 30px;
		font-size: 12px;
		line-height: 100%;
	}

	.archiveTagLists ul li.active{

	}




	.archiveLists{
		display: flex;

		flex-wrap: wrap;
		justify-content: flex-start;

		gap:15px;

		margin-bottom: 40px;
	}

	.archiveItem{
		width: calc( 100% - 40px);

		background: #fff;

		padding: 20px;

	}
	.archiveItem a{
		text-decoration: none;
		color: #000;
	}

	.archiveItem .archiveListImg{
		margin-bottom: 10px;
	}

	.archiveItem .archiveListImg img{
		width: 100%;
		height: auto;
		border-radius: 5px;
		display: block;
	}


	.archiveListTag{
		display: none;
	}

	.archiveListTitle{
		font-size: 4vw;
		margin-bottom: 7px;
		line-height: 160%;
	}

	.archiveListDate{
		margin-bottom: 13px;
		font-size: 3vw;
		color: #c8c8c8;
	}

	.archiveListBtn {
		text-align: center;
	}
	.archiveListBtn span{
		display: inline-block;
		background: #fff url("../images/arrow_black.svg") no-repeat right 13px center;
		background-size: 19px 19px;
		padding: 8px 38px 8px 23px ;

		border-radius: 30px;

		color: #000;

		text-decoration: none;

		font-size: 3.5vw;

		font-weight: 600;

		transition: all .2s ease-in-out;

		border: 1px solid #000;

	}


	.morebtn.btn02 span{
		display: inline-block;
		background: #000 url("../images/arrow_white.svg") no-repeat right 34px center;
		background-size: 22px 22px;
		padding: 15px 65px 15px 40px ;

		border-radius: 30px;

		color: #fff;

		text-decoration: none;

		font-size: 13px;

		font-weight: 600;

		transition: all .2s ease-in-out;

	}




	#contPickup{

		width: 90%;
		margin: 0 auto;


		padding: 20vw 0 4vw;

	}

	.contNewsBox h2{
		font-size: 7vw;
		color: #000;
		font-weight: 600;
		letter-spacing: .3em;

		margin-bottom: 20px
	}
	.contNewsBox h2 span{
		font-size: 4.5vw;
		letter-spacing: .1em;
		padding-left: 0;

		display: inline-block
	}




	.contPickupLists{
		display: flex;
		flex-wrap: wrap;

		justify-content: flex-start;

		gap:4vw 4%;

		margin-bottom: 0;
	}

	.contPickupLists .contPickupList{
		width:48%;
	}
	.contPickupLists .contPickupList a{
		color: #000;
		text-decoration: none;
		transition: all .2s ease-in-out;

		display: flex;
		flex-wrap: wrap;

		flex-direction: column;


		height: 100%;
	}
	.contPickupLists .contPickupList a:hover{
		transform: scale(1.05);
	}
	.contPickupLists .contPickupList .contPickupListImg{
		margin-bottom: 10px;
		overflow: hidden;
		border-radius: 5px;
	}
	.contPickupLists .contPickupList .contPickupListImg img{
		width: 100%;
		height: auto;
		display: block;
	}
	.contPickupListTitle{
		margin-bottom: 4px;
		font-size: 4vw;
		line-height: 160%;
		font-weight: 600;
		letter-spacing: .05em;

		text-align: center;
		/*flex-grow:1;*/
	}

	.contPickupListTxt{
		font-size: 3.5vw;
		line-height: 160%;
		font-weight: 600;

		text-align: center;
	}




	
	
}





section#contSecW{
	background: #ffffff;
	padding: 70px 0 80px 0;
	border-top: 1px solid #999;
}

.topicsBox{
	width: 730px;
	margin: 0 auto;
}

.topicsHead{
	display: flex;
	flex-wrap: wrap;
	
	margin-bottom: 50px;
}

.topicsHeadPrev{
	width: 30px;
}
.topicsHeadNext{
	width: 30px;
	transform: rotate(180deg);
}
.topicsHeadPrev img,
.topicsHeadNext img{
	width:100%;
	height: auto;
}

.topicsHeadTxt{
	width: 670px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.tipicsHeadNo{
	height: 29px;
	background: url("../images/topics/topics_no.jpg") no-repeat right 0 top 0;
	background-size: 11px auto;
	
	padding: 0 30px 0 0;
	line-height: 29px;
	
	font-size: 16px;
	
	font-weight: bold;
	
	letter-spacing: .1em;
}
.tipicsHeadTag{
	height: 29px;
	line-height: 29px;
	padding: 0 0 0 20px;
	font-size: 16px;
	
	font-weight: bold;
	
	color: #dc0000;
	letter-spacing: .1em;
}


.topicsTitle{
	font-size: 38px;
	margin-bottom: 40px;
	font-weight: 600;
	text-align: center;
	line-height: 140%;
	letter-spacing: .1em;
}
.topicsDate{
	font-size: 13px;
	margin-bottom: 50px;
	color: #c8c8c8;
	font-weight: bold;
	text-align: center;
}

.topicsImg{
	margin-bottom: 38px;
}
.topicsImg img{
	width: 100%;
	height: auto;
}

.topicsTxt{
	font-size: 16px;
	line-height: 200%;
	margin-bottom: 60px;
}
.topicsTxt a{
	color: #dc0000
}


.footUpper li h5 {
	text-align: center;
	font-size: 16px;
	color: #FFF;
	font-weight: bold;
	margin-bottom: 25px;
}
.footUpper li p {
    padding: 0 10px;
    padding-bottom: 20px;
    font-size: 12px;
    line-height: 166.66667%;
}










section#contSecW2{
	background: #ffffff;
	padding: 0 0 0 0;
	border-top: 1px solid #999;
}

section#contSecW2 sup{
	vertical-align: top;
	font-size: 10px;
} 

.pdtDetailTop{
	padding: 70px 0;
	background: #191919;
	
	color: #fff;
	letter-spacing: .1em;
	
	font-weight: 600;

}
.pdtDetailTop .pdtTopTxt1{
	text-align: center;
	font-size: 24px;
	margin-bottom: 30px;
	line-height: 160%;
}

.pdtDetailTop .pdtTopLogo{
	text-align: center;
	margin-bottom: 40px;
}
.pdtDetailTop .pdtTopLogo img{
	width: 730px;
	height: auto;
}

.pdtDetailTop .pdtTopTxt2{
	text-align: center;
	font-size: 26px;
	margin-bottom: 40px;
	line-height: 180%;
}

.pdtDetailTop .pdtTopImg{
	margin-bottom: 60px;
}
.pdtDetailTop .pdtTopImg img{
	width: 100%;
	height: auto;
}

.pdtDetailTop .pdtTopTxt3{
	margin-bottom: 60px;
	text-align: center;
}
.pdtDetailTop .pdtTopTxt3 span{
	position: relative;
	display: inline-block;
	font-size: 33px;
	padding: 0 0 20px 0;
	
	border-bottom: 5px solid #dc0000;
}

.pdtDetailTop .pdtTopCheck{
	
}

.pdtDetailTop .pdtTopCheck li{
	text-align: center;
	margin-bottom: 30px;
}
.pdtDetailTop .pdtTopCheck li span{
	display: inline-block;
	background: url("../../brand/vanquish/images/icon_check.png") no-repeat 0 0;
	background-size: 22px 26px;
	
	padding: 0 0 0 40px;
	
	font-size: 28px;
	letter-spacing: .21em;
}







.pdtDetailBox{
	border-top: 15px solid #191919 ;
	padding: 66px 0 40px;
	
	background: #c8c8c8;
}

.pdtDetailBoxTop{
	width: 730px;
	margin: 0 auto 30px;
	padding: 0 0 30px;
	
	/*border-top: 3px solid #000000;*/
	position: relative;
	
	letter-spacing: .1em;
	
	color: #000;
	
	font-weight: 600;
}
.pdtDetailBoxTop .pdtDetailCat{
	position: absolute;
	right: 0;
	top: -7px;
	
	padding: 10px 30px;
	color: #fff;
	
	line-height: 100%;
	
	font-size: 13px;
}
.pdtDetailBoxTop .pdtDetailCat.cat1{
	background-color: #dc8200;
}
.pdtDetailBoxTop .pdtDetailCat.cat2{
	background-color: #dc0000;
}

.pdtDetailBoxTop .pdtDetailCat.cat3{
	background-color: #008c00;
}
.pdtDetailBoxTop .pdtDetailCat.cat4{
	background-color: #3167c8;
}
.pdtDetailBoxTop .pdtDetailCat.cat5{
	background-color: #000000;
}


.pdtDetailBoxTop .pdtDetailCat2{
	position: absolute;
	right: 0;
	top: -7px;
	
}

.pdtDetailBoxTop .pdtDetailCat2 span{
	padding: 10px 20px;
	color: #fff;
	
	line-height: 100%;
	
	font-size: 14px;
	
	display: inline-block;
	margin-left: 5px;
}

.pdtDetailBoxTop .pdtDetailCat2 .cat1-1{
	background-color: #dc8200;
}
.pdtDetailBoxTop .pdtDetailCat2 .cat1-2{
	background-color: #dc0000;
}

.pdtDetailBoxTop .pdtDetailCat2 .cat1-3{
	background-color: #0094ff;
}
.pdtDetailBoxTop .pdtDetailCat2 .cat1-4{
	background-color: #3167c8;
}
.pdtDetailBoxTop .pdtDetailCat2 .cat1-5{
	background-color: #000000;
}


.pdtDetailBoxTop .pdtDetailCat2 .cat2-1{
	background-color: #3bafe4;
}
.pdtDetailBoxTop .pdtDetailCat2 .cat2-2{
	background-color: #e5303e;
}

.pdtDetailBoxTop .pdtDetailCat2 .cat2-3{
	background-color: #848690;
}
.pdtDetailBoxTop .pdtDetailCat2 .cat2-4{
	background-color: #ffffff;
	color: #000;
}



.pdtDetailTop1{
	font-size: 20px;
	margin-bottom: 15px;
}
.pdtDetailName{
	font-size: 60px;
	font-weight: bold;
}
.pdtDetailBox2 .pdtDetailName {
	font-size: 48px;
}


.pdtDetailBoxImg{
	margin-bottom: 40px;
}

.pdtDetailBoxImg img{
	width: 100%;
	height: auto;
	
}

.pdtDetailBoxBtm{
	width: 730px;
	margin: 0 auto 0;
	padding: 0 0 30px;
	
	position: relative;
	
	letter-spacing: .1em;
	
	color: #000;

	font-weight: 600;
}

.pdtDetailBoxPoint{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
}
.pdtDetailBoxPoint li{
	width: calc(50% - 20px);
	position: relative;
	padding-left: 20px;
	
	margin-bottom: 12px;
	
	font-size: 15px;
}
.pdtDetailBoxPoint li::before{
	content: "●";
	position: absolute;
	font-size: 9px;
	color: #FF0004;
	top: 5px;
	left: 0;
	
}


.pdtDetailBoxEx{
	display: flex;
	flex-wrap: wrap;
	padding: 10px 30px 5px;
	background: #fff;
	
	font-size: 14px;
	
	font-weight: 600;
	
	margin-bottom: 30px;
}
.pdtDetailBoxEx div{
	padding-right: 30px;
	margin-right: 10px;
	border-right: 1px solid #000;
}
.pdtDetailBoxEx ul{
	display: flex;
	flex-wrap: wrap;
	
	width: 80%;
}
.pdtDetailBoxEx ul li{
	padding-left: 15px;
	letter-spacing: .05em;
	margin-bottom: 6px;
}

.pdtDetailBoxBtn{
	text-align: center;
}
.pdtDetailBoxBtn.btn02 a{
	margin: 0 5px;
	font-size: 14px;
}




.pdtDetailBtm{
	padding: 90px 0 ;
	text-align: center;
	background: #000;
}


.pdtDetailBtmTitle{
	font-size: 23px;
	color: #fff;
	margin-bottom: 30px;
	font-weight: 600;
	
	letter-spacing: .1em;
}





.pdtDetailBtmBtns{
	width: 730px;
	
	margin: 0 auto;
}

.pdtDetailBtmBtns{
	
}
.pdtDetailBtmBtns li{
	margin-bottom: 20px;
}

.pdtDetailBtmBtns li a{
	min-width: 40%;
	font-size: 14px;
}








.pdtDetailBox3{
	padding: 0 0 0;
	
	background: #191919;
}

.pdtDetailBox2Top{
	width: 100%;
	margin: 0 auto 30px;
	padding: 0 0;
	
	border-top: 3px solid #000000;
	position: relative;
	
	letter-spacing: .1em;
	
	color: #000;
	
	font-weight: 600;
	
	text-align: center;
}
.pdtDetailBox2Top img{
	width: 100%;
	max-width: 1300px;
	height: 400px;
	object-fit: cover;
}

.pdtDetailBox3 .pdtDetailBoxPoint{
	margin-bottom: 20px;
}

.pdtDetailBox3 .pdtDetailBoxPoint li{
	color: #fff;
	margin-bottom: 10px;
}

.pdtDetailBox3 .pdtDetailBoxBtm{
	margin: 0 auto 0;
	padding: 0 0 50px;

}




.pdtDetailChart{
	background: #191919;
	padding:0 0 80px;
}
.pdtDetailChart1{
	margin: 0 auto 0;
	width: 730px
}

.pdtDetailChartTitle,
.pdtDetailChartBlock{
	display: flex;
	flex-wrap: wrap;
	
	margin-bottom: 5px;
	
	justify-content: space-between;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: .1em;
}

.chartTitle1{
	width:28%;
	background: #fff;
	padding: 15px 0;
	text-align: center;
	
}
.chartTitle2{
	width:35%;
	background: #fff;
	padding: 15px 0;
	text-align: center;
	border: 1px solid #fff;
}
.chartBlock1-1{
	width:28%;
	
	background: #3bafe4;
	color: #fff;
	
	padding: 30px 0;
	text-align: center;
	font-size: 22px;
	
	letter-spacing: .1em;
}
.chartBlock2-1{
	width:28%;
	
	background: #e5303e;
	color: #fff;

	padding: 30px 0;
	text-align: center;
	font-size: 22px;
	letter-spacing: .1em;
}
.chartBlock3-1{
	width:28%;
	
	background: #848690;
	color: #fff;

	padding: 30px 0;
	text-align: center;
	font-size: 22px;
	letter-spacing: .1em;
}


.chartBlock1-2{
	width:35%;
	
	color: #3bafe4;
	padding: 30px 0;
	text-align: center;
	
	border: 1px solid #3bafe4;
}
.chartBlock2-2{
	width:35%;
	
	color: #e5303e;
	padding: 30px 0;
	text-align: center;

	border: 1px solid #e5303e;
}
.chartBlock3-2{
	width:35%;
	
	color: #848690;
	padding: 30px 0;
	text-align: center;

	border: 1px solid #848690;
}




@media only screen and (max-width: 767px) {
	
	
	section#contSecW{
		background: #ffffff;
		padding: 40px 0 40px 0;
	}
	section#contSecW2{
		background: #ffffff;
		padding: 0 0 0 0;
	}
	section#contSecW2 sup{
		vertical-align: top;
		font-size: 8px;
	} 

	.topicsBox{
		width: 90%;
		margin: 0 auto;
	}

	.topicsHead{
		display: flex;
		flex-wrap: wrap;

		margin-bottom: 30px;
	}

	.topicsHeadPrev{
		width: 20px;
	}
	.topicsHeadNext{
		width: 20px;
		transform: rotate(180deg);
	}
	.topicsHeadPrev img,
	.topicsHeadNext img{
		width:100%;
		height: auto;
	}

	.topicsHeadTxt{
		width: calc(100% - 40px);
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.tipicsHeadNo{
		height: 20px;
		background: url("../images/topics/topics_no.jpg") no-repeat right 0 top 0;
		background-size: 11px auto;

		padding: 0 20px 0 0;
		line-height: 20px;

		font-size: 13px;

		font-weight: bold;

		letter-spacing: .1em;
	}
	.tipicsHeadTag{
		height: 20px;
		line-height: 20px;
		padding: 0 0 0 20px;
		font-size: 13px;

		font-weight: bold;

		color: #dc0000;
		letter-spacing: .1em;
	}


	.topicsTitle{
		font-size: 20px;
		margin-bottom: 20px;
		font-weight: 600;
		text-align: center;
		line-height: 140%;
		letter-spacing: .1em;
	}
	.topicsDate{
		font-size: 11px;
		margin-bottom: 30px;
		color: #c8c8c8;
		font-weight: bold;
		text-align: center;
	}

	.topicsImg{
		margin-bottom: 20px;
	}
	.topicsImg img{
		width: 100%;
		height: auto;
	}

	.topicsTxt{
		font-size: 14px;
		line-height: 200%;
		margin-bottom: 60px;
	}


	.footUpper li h5 {
		text-align: center;
		font-size: 16px;
		color: #FFF;
		font-weight: bold;
		margin-bottom: 25px;
	}
	




	.pdtDetailTop{
		padding: 15px 0;

	}
	.pdtDetailTop .pdtTopTxt1{
		font-size: 16px;
		margin-bottom: 20px;
	}

	.pdtDetailTop .pdtTopLogo{
		text-align: center;
		margin-bottom: 20px;
	}
	.pdtDetailTop .pdtTopLogo img{
		width: 90%;
		height: auto;
	}

	.pdtDetailTop .pdtTopTxt2{
		font-size: 18px;
		margin-bottom: 20px;
		line-height: 220%;
	}

	.pdtDetailTop .pdtTopImg{
		margin-bottom: 30px;
	}
	.pdtDetailTop .pdtTopImg img{
		width: 100vw;
		height: 60vw;
		object-fit: cover;

	}

	.pdtDetailTop .pdtTopTxt3{
		margin-bottom: 20px;
		text-align: center;
	}
	.pdtDetailTop .pdtTopTxt3 span{
		position: relative;
		display: inline-block;
		font-size: 17px;
		padding: 0 0 10px 0;

		border-bottom: 3px solid #dc0000;
	}

	.pdtDetailTop .pdtTopCheck{

		width: 70%;
		margin: 0 auto;
	}

	.pdtDetailTop .pdtTopCheck li{
		text-align: left;
		margin-bottom: 20px;
		line-height: 160%;
	}
	.pdtDetailTop .pdtTopCheck li span{
		display: inline-block;
		background: url("../../brand/vanquish/images/icon_check.png") no-repeat 0 5px;
		background-size: 14px 16px;

		padding: 0 0 0 25px;

		font-size: 17px;

	}







	.pdtDetailBox{
		border-top: 15px solid #191919 ;
		padding: 40px 0;

		background: #c8c8c8;
	}

	.pdtDetailBoxTop{
		width: 90%;
		margin: 0 auto 20px;
		padding: 20px 0 0;

		border-top: 3px solid #000000;
		position: relative;

		letter-spacing: .05em;

		color: #000;

		font-weight: 600;
	}
	.pdtDetailBoxTop .pdtDetailCat{
		position: absolute;
		right: 0;
		top: auto;
		bottom: 0;

		padding: 5px 8px;
		color: #fff;

		line-height: 100%;

		font-size: 12px;
	}

	.pdtDetailBox2 .pdtDetailCat{
		top: 23px;
		bottom: auto;
	}
	
	
	.pdtDetailBoxTop .pdtDetailCat2{
		position: absolute;
		right: 0;
		top: 17px;

		padding: 5px 8px;
		color: #fff;

		line-height: 100%;

		font-size: 12px;
		width: 42%;
		
		text-align: right;
	}
	.pdtDetailBoxTop .pdtDetailCat2 span{
		margin: 0 0 5px 0;
		padding: 5px 8px;
		color: #fff;

		line-height: 100%;

		font-size: 12px;

		display: inline-block;
		margin-left: 5px;
	}


	.pdtDetailTop1{
		font-size: 3.7vw;
		line-height: 140%;
		margin-bottom: 10px;
	}
	.pdtDetailName{
		font-size: 7.3vw;
		font-weight: bold;
	}
	.pdtDetailBox2 .pdtDetailName {
		font-size: 5.8vw;
	}


	.pdtDetailBoxImg{
		margin-bottom: 20px;
	}

	.pdtDetailBoxImg img{
		width: 100vw;
		height: auto;
	}

	.pdtDetailBoxBtm{
		width: 90%;
		margin: 0 auto 0;
		padding: 0 0 0;

		position: relative;

		letter-spacing: .1em;

		color: #000;

		font-weight: 600;
	}

	.pdtDetailBoxPoint{
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 10px;
	}
	.pdtDetailBoxPoint li{
		width: calc(100% - 20px);
		position: relative;
		padding-left: 20px;
		margin-bottom: 15px;
		font-size: 14px;
	}
	.pdtDetailBoxPoint li::before{
		content: "●";
		position: absolute;
		font-size: 9px;
		color: #FF0004;
		top: 5px;
		left: 0;

	}


	.pdtDetailBoxEx{
		display: flex;
		flex-wrap: wrap;
		padding: 18px 15px;
		background: #fff;

		font-size: 12px;

		font-weight: 600;

		margin-bottom: 30px;
	}
	.pdtDetailBoxEx div{
		padding-right: 15px;
		margin-right: 15px;
		border-right: 1px solid #000;
		
		width: calc(33% - 30px);
		
		display: flex;
		align-items: center;
	}
	.pdtDetailBoxEx ul{
		display: flex;
		flex-wrap: wrap;
		width: 66%;
	}
	.pdtDetailBoxEx ul li{
		padding-left: 0;
		letter-spacing: .05em;
		margin-bottom: 10px;
		width: 100%;
	}
	.pdtDetailBoxEx ul li:nth-last-of-type(1){
		margin-bottom: 0
	}
	.pdtDetailBoxBtn{
		text-align: center;
	}
	.pdtDetailBoxBtn.btn02 a{
		margin: 0 5px 10px;
		width: calc(75%  - 10px);
		
	}




	.pdtDetailBtm{
		padding: 50px 0 40px;
		text-align: center;
		background: #000;
	}


	.pdtDetailBtmTitle{
		font-size: 23px;
		color: #fff;
		margin-bottom: 30px;
		font-weight: 600;

		letter-spacing: .1em;
	}





	.pdtDetailBtmBtns{
		width: 90%;

		margin: 0 auto;
	}

	.pdtDetailBtmBtns{

	}
	.pdtDetailBtmBtns li{
		margin-bottom: 20px;
	}

	.pdtDetailBtmBtns li a{
		min-width: calc(100% - 16vw);
		
        background: #fff url(../images/arrow_black.svg) no-repeat right 3vw center;
        background-size: 5vw;
        padding: 3vw 10vw 3vw 6vw;
        border-radius: 30px;
        color: #000;
        text-decoration: none;
        font-size: 3.6vw;
        font-weight: 600;
        transition: all .2s ease-in-out;
	}






	.pdtDetailChart{
		background: #191919;
		padding: 0 0 40px;
	}
	.pdtDetailChart1{
		margin: 0 auto 0;
		width: 90%;
	}

	.pdtDetailChartTitle,
	.pdtDetailChartBlock{
		display: flex;
		flex-wrap: wrap;
		
		margin-bottom: 5px;
		

		justify-content: space-between;
		font-weight: 700;
		font-size: 14px;
		line-height: 140%;
		letter-spacing: .1em;
	}

	.chartTitle1{
		width:26%;
		background: #fff;
		padding: 8px 0;
		text-align: center;
		
	}
	.chartTitle2{
		width:35%;
		background: #fff;
		padding: 8px 0;
		text-align: center;
		border: 1px solid #fff;
	}
	.chartBlock1-1{
		width:26%;

		background: #3bafe4;
		color: #fff;

		padding: 28px 0;
		text-align: center;
		font-size: 18px;

		letter-spacing: .1em;
	}
	.chartBlock2-1{
		width:26%;

		background: #e5303e;
		color: #fff;

		padding: 28px 0;
		text-align: center;
		font-size: 18px;
		letter-spacing: .1em;
	}
	.chartBlock3-1{
		width:26%;

		background: #848690;
		color: #fff;

		padding: 28px 0;
		text-align: center;
		font-size: 18px;
		letter-spacing: .1em;
	}


	.chartBlock1-2{
		width:35%;

		color: #3bafe4;
		padding: 20px 0;
		text-align: center;

		border: 1px solid #3bafe4;
	}
	.chartBlock2-2{
		width:35%;

		color: #e5303e;
		padding: 20px 0;
		text-align: center;

		border: 1px solid #e5303e;
	}
	.chartBlock3-2{
		width:35%;

		color: #848690;
		padding: 20px 0;
		text-align: center;

		border: 1px solid #848690;
	}
	
}
