/***** ▼var▼ *****/
:root{
	/*▽カラー▽*/
	--theme-color: #0680da;/*テーマカラー*/
	--even-bg: #4d4e60;/*セクション背景色(偶数)*/
	--odd-bg: #4d4e60;/*セクション背景色(奇数)*/	
	--text-color: #fff;/*文字色*/
	--link-text-color: #f90;/*リンク文字色*/
	/*▽フォントサイズ▽*/
	/*--変数名: calc(最小値 + ((1vw - .32rem) * 可変率));*/
	--def-font-size: calc(1.4rem + ((1vw - .32rem) * .21));/*ベースフォントサイズ*/

	/*▽パディング▽*/
	--content-padding-y: calc(3.2rem + ((1vw - .32rem) * 3.33));/*コンテントラップ パディング上下*/
	--content-padding-x: calc(1.6rem + ((1vw - .32rem) * 5));/*コンテントラップ パディング左右*/
}

@media (min-width:1280px){
	:root{
		/*最大値*/
	 --def-font-size: 1.8rem;
	 --content-padding-y: 6.4rem;
	 --content-padding-x: 3.2rem;
	}
}
/***** ▲var▲ *****/

/***** ▼base▼ *****/
html {
	font-size: 62.5%;/*10px*/
	-ms-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	font-family: 'Noto Sans JP', 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'sans-serif';
	font-size: 1.6em;
	font-size: var(--def-font-size);
	line-height: 1.5;
	color: #fff;
	color: var(--text-color);
}

* {
	margin: 0 auto;
	padding: 0;
	word-break: break-all;
	list-style-type: none;
	border-style: none;
}

*,
*::before,
*::after {
   box-sizing: inherit;
}

img {
	max-width: 100%;
	display: block;
}

a {
	color: var(--link-text-color);
	text-decoration: none;
}

.loder-bg{
	background: rgba(32,31,36,1);
}

section{
	height: 100vh;
	overflow: hidden;
}

section:nth-child(even){
	background: #4d4e60;
  background: var(--even-bg);
}

section:nth-child(odd){
	background: #4d4e60;
  background: var(--odd-bg);
}

aside{
	background: rgba(32,31,36,1);
}

.d-flex {
	display: flex;
	display: -ms-flexbox;
	align-items: center;
	-ms-flex-align: center;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
}

#closed{
	text-align: center;
	background: #000;
	color: #fff;
	font-size: 125%;
	padding: calc(1rem + ((1vw - .32rem) * .5)) 0;
}

h3 {
  position: relative;
  display: inline-block;
	margin: 10px auto 20px;
	left: 50%;
	transform: translateX(-50%);
	width: 80%;
	text-align: center;
	font-size: 4rem;
	font-size: calc(2.4rem + ((1vw - .32rem) * 1.67));
}

h3:before, h3:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 20%;
  height: 2px;
  background: #0680da;
}

h3:before {
  left:0;
}
h3:after {
  right: 0;
}

.popup{
	display: block;
}

.content-wrap{
	max-width: 1280px;
  margin:0 auto;
	padding: 60px 50px;
}
/***** ▲base▲ *****/

/***** ▼visual▼ *****/
header{
	height: 100vh;
	background: rgb(32,31,36);
  background: linear-gradient(180deg, rgba(32,31,36,1) 0%, rgba(77,78,96,1) 100%);
}

header > div{
	width: 100%;
}

.header-left{
	align-content: flex-end;
	padding: 3%;
	height: 30vh;
}

.header-left > *{
	width: 100%;
}

.header-logo-wrap{
	margin-bottom: 10px;
}

.header-logo-wrap img{
	width: 50%;
	margin: 0;
}

.header-logo-wrap p{
	width: 100%;
	font-size: 2.8rem;
	font-size: calc(1.4rem + ((1vw - .32rem) * 1.5));
}

.header-left .header-catchcopy{
	font-size: 3.5rem;
	font-size: calc(1.6rem + ((1vw - .32rem) * 2));
}

.header-left .header-catchcopy span{
	font-size: 120%;
}

.header-left .header-catchcopy-sub{
	font-size: 3.6rem;
	font-size: calc(1.4rem + ((1vw - .32rem) * 2.2));
}

.header-left h1{
	font-size: 12rem;
	font-size: calc(5.4rem + ((1vw - .32rem) * 8.4));
	line-height: 1;
	margin-bottom: 5px;
}

.header-left h1 span{
	letter-spacing: -.5rem;
}

.header-right{
	align-content: flex-start;
	height: 70vh;
}

.header-right{
  padding: 30px;
}

.header-right img{
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(3px 3px 4px rgba(0,0,0,.4));
}
/***** ▲visual▲ *****/

/***** ▼content▼ *****/
.content-wrap{
	padding: 60px 7%;
	padding: var(--content-padding-y) var(--content-padding-x);
}

.content-title-wrap{
	text-align:center;
}

.content-title-wrap:after {
	width:6%;
	min-width: 40px;
	height:5px;
	display:block;
	margin:var(--border-padding-top) auto var(--border-padding-bottom);
	content:"";
	background: var(--theme-color);
}

.content-title1{
	font-size: var(--content-title1-fs);
	line-height:2;
}

.content-title2{
	font-size:  var(--content-title2-fs);
}

.col-2{
	height: 100%;
}

.col-2 > div{
	width: 100%;
}

.col-2-txt{
	height: 100vh;
	background: rgba(32,31,36,1);
	padding: 20px;
	line-height: 2;
}

.col-2-img img{
	display: none;
	object-fit: cover;
}
/***** ▲content▲ *****/

/***** ▼product▼ *****/
#product{
	background: rgb(32,31,36);
  background: linear-gradient(180deg, rgba(32,31,36,1) 0%, rgba(77,78,96,1) 100%);
}

.product-wrap{
	height: 100%;
	align-content: center;
}

.product-img{
	max-width: 350px;
}

.product-txt{
	width: 100%;
	text-align: center;
}

.product-name{
	font-size: 5rem;
	font-size: calc(3rem + ((1vw - .32rem) * 2));
}

.product-state{
	color: #eee;
	margin-bottom: 5px;
}

.product-price{
	font-size: 2.6rem;
	font-size: calc(2.2rem + ((1vw - .32rem) * .41));
	margin-bottom: 15px;
}

.product-price span{
	font-size: 140%;
}

.product-btn{
	border: 1px solid #eee;
	min-width: 200px;
	width: 300px;
	max-width: 400px;
	transition: 0.5s;
}

.product-btn:hover{
	background: #eee;
	width: 400px;
  color: rgba(32,31,36,1);
}
/***** ▲product▲ *****/

/***** ▼movie▼ *****/
#movie{
	background: rgba(32,31,36,1);
	background-image: url(../img/bg/01.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: auto;
	position: relative;
}

#movie::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(32,31,36,.7);
}

#movie .content-wrap{
	z-index: 1;
}


.youtube-wrap{
	width: 100%;
}

.youtube{
  position: relative;
	width:100%;
  padding-top: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
  margin:0px auto;
  background: #ccc;
}

.youtube iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
/***** ▲movie▲ *****/


/***** ▼feature▼ *****/
#feature{
	background: rgba(32,31,36,1);
	padding: 30px 20px;
	font-size: 1.8rem;
	font-size: calc(1.2rem + ((1vw - .32rem) * .62));
	min-height: 100vh;
	height: auto;
}

#feature ul{
	padding-left: 1em;
}

#feature li{
	list-style: disc;
	margin-bottom: 5px;
}

#feature2{
	padding: 30px 20px;
	height: auto;
	min-height: 1vh;
	background: rgb(32,31,36);
  background: linear-gradient(180deg, rgba(32,31,36,1) 0%, rgba(77,78,96,1) 100%);
}

#feature2 .feature-wrap article{
	margin-bottom: 15px;
}

#feature2 .feature-img{
	margin-bottom: 20px;
}

#feature2 h2 {
  position: relative;
  line-height: 1.4;
  padding:0.25em 1em 0.3em;
  display: inline-block;
  top:0;
  width:100%;
  margin-bottom:5px;
  text-align:center;
	font-size: 2.4rem;
	font-size: calc(1.6rem + ((1vw - .32rem) * .84));
}

#feature2 h2:before,#feature2 h2:after { 
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
}

#feature2 h2:before {
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
  border-bottom: solid 1px #fff;
  left: 0;
}

#feature2 h2:after {
  content: '';
  border-top:solid 1px #fff;
  border-right: solid 1px #fff;
  border-bottom: solid 1px #fff;
  right: 0;
}

#feature2 .zoom-in{
	overflow: hidden;
}

#feature2 .zoom-in:nth-of-type(2){
	margin-top:15px;
}

#feature3{
	min-height: 100vh;
	height: auto;
	padding: 30px 20px;
}

#feature3 .app-img-main{
	margin-bottom: 15px;
}

#feature3 .app-title{
	text-align: center;
	margin-bottom: 15px;
	font-size: 2.6rem;
	font-size: calc(1.6rem + ((1vw - .32rem) * 1));
}

#feature3 .app-wrap{
	padding: 20px;
}

#feature3 .app{
	margin-bottom: 20px;
}

#feature3 .app-img{
	margin-bottom: 5px;
}

#feature3 .app-txt{
	text-align: center;
}

/***** ▲feature▲ *****/

/***** ▼setting▼ *****/
#setting{
	height: auto;
	padding: 30px 20px;
	background: rgb(32,31,36);
    background: linear-gradient(0deg, rgba(32,31,36,1) 0%, rgba(77,78,96,1) 100%);
}

.setting-inner{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 15px;
}

.disp-pc{
	display: none;
}

.setting-left{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	text-align: center;
	background: #0680da;
	padding: 5px;
}

.setting-left p{
	margin: 0;
}

.setting-right{
	width: 100%;
	background: rgba(32,31,36,1);
	padding: 15px;
}

.setting-txt{
	margin-bottom: 10px;
}

.setting-img{
	display: flex;
	align-items: center;
}

/***** ▲setting▲ *****/

/***** ▼reccomend▼ *****/
section#recommend {
	height: auto;
}
/***** ▲reccomend▲ *****/

/***** ▼movie▼ *****/
.youtube-wrap{
	width: 100%;
}

.youtube{
  position: relative;
	width:100%;
  padding-top: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
  margin:0px auto;
  background: #ccc;
}

.youtube iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
/***** ▲movie▲ *****/

/***** ▼store-info▼ *****/
#store{
	height: auto;
	background: rgba(32,31,36,1);
}

#store .store-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	justify-content: space-evenly;
}

#store article{
	width: 100%;
	margin:0 0 10px;
}

.store-inner{
	display: flex;
	flex-wrap: wrap;
}

.store-img{
	display: flex;
	align-items: center;
	width: 40%;
}

.store-txt{
	width: 60%;
	font-size: 80%;
	padding-left: 10px;
}

.store-name{
	font-size: 120%;
}

/***** ▲store-info▲ *****/

/*****▼ action ▼*****/
/*ホバー時に半透過*/
.hover-opacity{
	transition:.5s;
}

.hover-opacity:hover{
	transition:.5s;
	opacity:.5;
}
/*△ホバー時に半透過△*/
/*スクロール時に半透過*/
.translucent{
	opacity:0.5;
	transition: .3s;
}
/*△スクロール時に半透過△*/
/*****▲ action ▲*****/

/***** ▼button▼ *****/
.button{
	color: #fff;
	text-align: center;
	display: block;
	font-size: 90%;
	padding: 10px;
}

.btn-wrap{
	display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}

.shop-btn{
	background:#0CF;
	max-width:300px;
	margin:20px auto;
}

.store-btn{
	background: var(--theme-color);
	width:49%;
	margin:3px 0;
}

.sns-wrap{
	display:flex;
  flex-wrap:wrap;
  justify-content: space-between;
	width: 70%;
	max-width: 250px;
}

.sns-btn{
	width: 30%;
}
/***** ▲button▲ *****/

/***** ▼footer▼ *****/

.footer{
	padding:20px;
	background: #000;
}

.footer-pagetop {
    position: fixed;
    z-index: 100;
    bottom: 3vh;
    right: 5vw;
}

.footer-pagetop a {
    color: var(--theme-color);
}

/***** ▲footer▲ *****/

@media (min-width:960px){	
	.disp-pc{
	 display: flex;
  }
	
	.header-left{
		width: 60%;
		height: 100vh;
	  align-content: space-between;
	}
	
	.header-logo-wrap{
		margin-bottom: 5vh;
	}
  
	.header-logo-wrap img{
		width: 30%;
	}
	
	.header-logo-wrap p{
		width: 70%;
		text-align: center;
	}
	
	.header-left h1{
		line-height: 1;
	}
	
	.header-left h1 span{
	  letter-spacing: -1.3rem;
  }
	
	.header-right{
		width: 40%;
		justify-content: flex-start;
		padding: 0;
	}
	
	.header-right img{
		margin: 0;
	}
	
	.col-2 > div{
	  width: 50%;
		height: 100%;
  }
	
	.col-2-img{
		display: flex;
		align-items: center;
	}
	
	.col-2-img a img{
	  display: block;
  }
	
	.col-2-txt{
	  padding:30px;
  }
	
	#product{
	  background: rgb(32,31,36);
    background: linear-gradient(0deg, rgba(32,31,36,1) 0%, rgba(77,78,96,1) 100%);
  }
	
	.product-wrap{
		flex-direction: row-reverse;
	}
	
	.product-wrap > div{
		width: 50%;
	}
	
	.product-img{
	  max-width: 100%;
  }
	
	#feature{
		padding: 50px 7%;
	}
	
	#feature li{
		margin-bottom: 15px;
	}
	
	h3{
		margin-bottom: 60px;
	}
	
	#feature2{
		padding: 50px 7%;
	}
	
	#feature2 .feature-wrap article{
	margin-bottom: 30px;
}
	
	#feature2 .feature-img{
		width: 40%;
		padding: 20px;
		overflow: hidden;
	}
	
	#feature2 .feature-img img:hover{
    transform: scale(1.2);
		transition: .5s;
	}
	
	#feature2 .feature-wrap{
		width: 60%;
		padding: 20px 30px
	}
	
	#feature2 .feature-txt{
		padding: 5px;
	}
	
	#feature2 .flex-item1{
		order: 2;
	}
	
	#feature2 .flex-item2{
		order: 1;
	}
	
	#feature2 .flex-item3{
		order: 3;
	}
	
	#feature2 .flex-item4{
		order: 4;
	}
	
	#feature2 .zoom-in:nth-of-type(2){
	  margin-top:30px;
  }
	
	#feature3{
		padding: 50px 7%;
	}
	
	#feature3 .app{
	  width: 30%;
  }
	
	#feature3 .app-title{
		margin-bottom: 30px;
	}
	
	.setting{
		padding: 50px 7%;
  }
	
	.setting-left{
		width: 20%;
	}
	
	.setting-right{
		display: flex;
		width: 80%;
		margin: 0;
	}
	
	.setting-txt{
		width: 60%;
		padding: 5px;
		margin: 0;
	}
	
	.setting-img{
		width: 40%;
	}
	
	.setting-head{
		text-align: center;
	}
	
	#store .store-wrap {
		max-width: 1280px;
	}
	
	#store article{
	  width: 25%;
  }
	
	.store-img{
		width: 100%;
		padding: 15px;
	}
	
	.store-img img{
		width: 100%;
	}
	
	.store-txt{
		width: 100%;
		padding-left: 15px;
	}
	
  #header{
		display: none;
	}
	
	
}