@charset "UTF-8";

/* --------------------------------------------------
 * base styles
 * ----------------------------------------------- */
.clearfix:after{
	display: block;
	clear: both;
	content: "";
}
.pull_left{
	float: left!important;
}
.pull_right{
	float: right!important;
}
.right{
	text-align: right!important;
}
.center{
	text-align: center!important;
}
.left{
	text-align: left!important;
}
.top{
	vertical-align: top!important;
}
.middle{
	vertical-align: middle!important;
}
.bottom{
	vertical-align: bottom!important;
}
ul{
	list-style:none;
}
ul.list li{
	margin-bottom: 6px;
	margin-left: 26px;
	list-style-type: disc!important;
}
ol.list li{
	margin-bottom: 6px;
	margin-left: 26px;
	list-style-type: decimal!important;
}

.mt0 {margin-top:0px;}
.mt5 {margin-top:5px;}
.mt10 {margin-top:10px;}
.mt15 {margin-top:15px;}
.mt20 {margin-top:20px;}
.mt25 {margin-top:25px;}
.mt30 {margin-top:30px;}
.mt35 {margin-top:35px;}
.mt40 {margin-top:40px;}
.mt45 {margin-top:45px;}
.mt50 {margin-top:50px;}
.mt55 {margin-top:55px;}
.mt60 {margin-top:60px;}
.mt65 {margin-top:65px;}
.mt70 {margin-top:70px;}
.mt75 {margin-top:75px;}
.mt80 {margin-top:80px;}

.ml0 {margin-left:0px;}
.ml5 {margin-left:5px;}
.ml10 {margin-left:10px;}
.ml15 {margin-left:15px;}
.ml20 {margin-left:20px;}
.ml25 {margin-left:25px;}
.ml30 {margin-left:30px;}
.ml35 {margin-left:35px;}
.ml40 {margin-left:40px;}
.ml45 {margin-left:45px;}
.ml50 {margin-left:50px;}
.ml55 {margin-left:55px;}
.ml60 {margin-left:60px;}
.ml65 {margin-left:65px;}
.ml70 {margin-left:70px;}
.ml75 {margin-left:75px;}
.ml80 {margin-left:80px;}

.mb0 {margin-bottom:0px;}
.mb5 {margin-bottom:5px;}
.mb10 {margin-bottom:10px;}
.mb15 {margin-bottom:15px;}
.mb20 {margin-bottom:20px;}
.mb25 {margin-bottom:25px;}
.mb30 {margin-bottom:30px;}
.mb35 {margin-bottom:35px;}
.mb40 {margin-bottom:40px;}
.mb45 {margin-bottom:45px;}
.mb50 {margin-bottom:50px;}
.mb55 {margin-bottom:55px;}
.mb60 {margin-bottom:60px;}
.mb65 {margin-bottom:65px;}
.mb70 {margin-bottom:70px;}
.mb75 {margin-bottom:75px;}
.mb80 {margin-bottom:80px;}

/* --------------------------------------------------
 * contents styles
 * ----------------------------------------------- */
 #document{
	     position: relative;
    z-index: 1;
 }
 #container{
	  overflow:hidden;
	  position: relative;
    z-index: -1;
 }
 .mainVisual,.contInner>*:not(#usability),.shopListWrapper{
	 position:relative;
	 z-index:10;
 }
 img{
	 width:100%;
 }
h1, h2, h3, h4, h5, h6, dl, dt, dd, li, p{
	font-family:"游ゴシック","YuGothic","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 	font-weight:400;
	font-weight:normal;
	line-height:1;
 }
 
.br414,
.br375,
.br320{
	display:none;
}

 .caption{
	font-size:12px;
 }
 #container {
    padding-top: 0;
 }
 section{
	 position:relative;
 }
 section .inner{
	 position:relative;
	     height: 100%;
		 box-sizing:border-box;
		 padding:0 15%;
}
 /*mainVisual*/
 .mainVisual h1 img{
	 width:100%;
}
.mainVisual h1{
	line-height:0;
}
/*intro*/
#intro{
	padding:30px 0 40px;
	background: #fff;
}
#intro h2{
	text-align:center;
	margin-bottom:30px;
}
#intro h2 img{
	    width: 96%;
    display: block;
    margin: 0 auto;
}
#intro .accordion-box-wrap{
	margin-bottom:30px;
	padding:0 4%;
}
#intro .accordion-box+.accordion-box{
	margin-top:20px;
}
#intro .row{
	display:table;
	width:100%;
}
#intro .grid-col-3{
	display:table-cell;
	vertical-align:middle;
	line-height:1;
	
}
#intro .grid-col-3.col1{
	width:90px;
}
#intro .grid-col-3.col2{
	    padding-left: 2.5%;
    box-sizing: content-box;
	}
#intro  h3{
	font-size:18px;
	color:#222222;
	font-weight:bold;
	float:left;
	    line-height: 1.2;
}

#intro  p{
	font-size:14px;
	color:#222222;
	    line-height: 1.5;
}
#intro  .caption{
	margin-top:4px;
	font-size:14px;
	display:block
}
#intro .point .img-box img,
#intro .img-box2 img{
	display:block;
	margin:0 auto;
}
  /*accordion*/
  #intro .accordion{
	display:none;
    margin-left:90px;
	padding-left:3%;
	box-sizing:border-box;
}
 #intro .accordion_icon {
	position: relative;
	width:21px;
}
#intro .accordion_icon.active img{
	animation-timing-function:linear;
	animation-iteration-count:1;
	animation-duration: 0.2s;
	animation-direction: alternate;
	animation-name: open;
	animation-fill-mode:forwards;
}
#intro .accordion_icon.close img{
	animation-timing-function:linear;
	animation-iteration-count:1;
	animation-duration: 0.3s;
	animation-direction: alternate;
	animation-name: close;
	animation-fill-mode:forwards;
}
@keyframes open{
	0% {
	transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
	}
	100% {
	transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
	}
}
@keyframes close{
	0% {
		transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
	}
	100% {
		transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
	
	}
}
/*app*/
#app{
	padding:20px 0 30px;
	background:#f6f5f5;
}
#app .inner{
	margin:0 auto;
}
#app h2{
	margin-bottom:30px;
}
#app h2 img{
	    width: 96%;
    display: block;
}
#app .list-wrap{
		    margin-bottom: 30px;
			padding:0 6%; 
}
#app li{
	background-image:url(../images/app_icon.png);
	background-repeat:no-repeat;
	    background-size: 21px;
    padding-left: 30px;
	font-size:14px;
	line-height:1.5;
	letter-spacing: 0.5px;
	color:#1f1f1f;
}
#app li h3{
	 margin-bottom: 10px;
    position: relative;
    top: 3px
}
#app .list-item h3 img{
	width:205px;
}
#app li p{
	font-size:14px;
	    line-height: 1.5;
}
#app li+li{
	margin-top:20px;
}
#app #download{
	border-radius:10px;
		position:relative;
		    display: table;
    margin: 0 auto;
}
#app #download>*{
	float:left;
}
#app #download .btn2{
	margin-left:10px;
}
#app .download_btn{
	width:183px;
	margin:0 auto;
	display:block;
}
#app .iPhone7{
	position:absolute;
	    right: -20px;
	    bottom: -86px;
}
/*PV*/
#PV{
	height:320px;
	background:url(../images/PV_bg.png) center center no-repeat;
	background-size:cover;
}
#PV .inner{
	padding:0 6%;
}
#PV iframe{
	position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    margin-top: 128px;
}
/*usability*/
#usability{
	padding:30px 0;
}
#usability::before {
  background:url('../images/usability-bg.jpg')center center  no-repeat;
  display: block;
  background-size:cover;
  position: fixed;
  top: 0;
  left: 0;
  content: "";
  z-index: 0;
  width:100%;
  height:100%
}  
#usability .head{
	margin-bottom:20px;
}
#usability .head h2{
	text-align:center;
}
#usability h3 img{
	width:230px;
	display:block;
	margin:0 auto;
}
#usability .title-box{
	    margin-bottom: 30px;
}
#usability h3{
	text-align:center;
	    margin-bottom: 20px;
}
#usability .line{
	background:#ffff8f;
	height: 2px;
    width: 39px;
	margin:0 auto
}
#usability .contents-wrap{
	background:rgba(0,0,0,0.80);
	border-radius:10px;
	box-sizing:border-box;
	    padding: 30px 15%;
}
#usability .contents-wrap+.contents-wrap{
	margin-top:30px;
}
#usability .box-wrap{
	display:table;
	margin:0 auto;
	    width: 100%;
}
#usability .caption{
	color:#fff;
	display:inline-block;
	line-height:1.3;
	text-shadow:1px 1px 20px #000;
	-moz-text-shadow:1px 1px 20px #000;
	-webkit-text-shadow:1px 1px 20px #000;
}
#usability .caption-box{
	margin-top:30px;
}
 .caption+.caption{
	margin-top:4px;
}
#usability .caption a{
	color:#FFFFFF;
	border-bottom:1px solid #e30920;
	    padding-bottom: 2px;
}
/*product*/
#product ul{
	padding:0;
}
#product {
	padding: 30px 0;
	background: #fff;
}

#product h2{
	text-align:center;
	margin-bottom:30px;
}
#product h2 img{
	width:76px;
}
#product .line{
	background:#afafaf;
	height:1px;
	width:100%;
}	
#product .row{
	position:relative;
}

#product h3{
	color:#0463a5;
	font-size:17px;
	font-weight:bold;
	    line-height: 1.2;
}
#product h3 span{
	font-size:12px;
}
#product h3 span.sup{
	vertical-align: top;
	position: relative;
}
#product li,#product p{
	    font-size: 13px;
    color: #222222;
    line-height: 1.4;
}
#product li+li{
	margin-top:8px;
}
#product .btn-img{
	width:211px;
}
#product .FH1{
	position:absolute;
	     right: 12px;
       top: 32px;
    width: 64px;
}
#product .caption{
	font-size:12px;
	margin-top:14px;
	color:#222222
}
#product .box-wrap2 .accordion img{
	display:block;
	margin:0 auto;
}
  /*accordion*/
#product .accordion-box{
	border-bottom:1px solid #afafaf;
}
#product .accordion-head{
	padding:20px 10px;
	display: table;
    width: 100%;
	box-sizing: border-box;
 }
 #product .accordion{
	display:none;
	padding-left:10px;
	box-sizing:border-box;
	padding-bottom:20px;
	position:relative
}
#product .accordion_icon {
	position: relative;
	width:21px;
}
#product .grid-col-2{
	display:table-cell;
	vertical-align:middle;
	    line-height: 1;
}
#product .accordion_icon.active img{
	animation-timing-function:linear;
	animation-iteration-count:1;
	animation-duration: 0.2s;
	animation-direction: alternate;
	animation-name: open;
	animation-fill-mode:forwards;
}
#product .accordion_icon.close img{
	animation-timing-function:linear;
	animation-iteration-count:1;
	animation-duration: 0.2s;
	animation-direction: alternate;
	animation-name: close;
	animation-fill-mode:forwards;
}
@keyframes open{
	0% {
	transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
	}
	100% {
	transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
	}
}
@keyframes close{
	0% {
		transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
	}
	100% {
		transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
	
	}
}
/*onlineshop*/
#onlineshop{
	height:338px;
	background:url(../images/onlineshop_bg.png) center center no-repeat;
	background-size:cover;
}
#onlineshop .inner{
	    padding: 18px 0;
    box-sizing: border-box;
}
#onlineshop .box-wrap{
	background-color: rgba(0, 0, 0, 0.2);
	margin-top: 264px;
    	padding: 8px 0;
	margin-top: 240px;
}
#onlineshop .btn{
	display:block;
	margin:0 auto;
	width:202px;
}
/*recomend*/
#recomend{
	padding:30px 0 40px;
	background: #fff;
}
#recomend .header{
	margin-bottom:34px;
}
#recomend .header .line{
	margin:0;
}
#recomend h2{
	text-align:center;
	font-weight:bold;
	 margin-bottom: 20px;
}
#recomend h2 img{
	width:167px;
}
#recomend .box-wrap{
	    padding: 0 2%;
    box-sizing: border-box;
}
#recomend .box-wrap + .box-wrap{
	margin-top:50PX;
}
#recomend .grid-col-2{
	display:table-cell;
	vertical-align:top;
}
#recomend .leftbox{
	width:35%
}
#recomend .img-box.img1 img{
	width:80px;
}
#recomend .img-box.img2 img{
	width:90px;
}
#recomend .img-box>*{
	display:block;
	margin:0 auto;
}
#recomend .txt-box{
	margin-bottom:16px;
}
#recomend h3{
	font-weight:bold;
	margin-bottom:10px;
	font-size:18px;
	color:#3e3e3e;
	    line-height: 1.2;
}
#recomend .txt-box p{
	    line-height: 1.5;
		color:#686868;
		font-size: 13px;
}
#recomend .price{
	font-weight:bold;
	color:#9a9b65;
	margin-bottom:26px;
}
#recomend .price h4{
	font-size:14px;
	margin-bottom: 4px;
	font-weight:bold
}
#recomend .price h5{
	font-size:24px;
		font-weight:bold
}
#recomend .price h5 span{
	font-size:14px
}
#recomend .btn{
	display:block;
	margin:0 auto;
	width:202px;
}
#recomend .line{
	height:1px;
	background:#afafaf;
	margin:34px 0;
}
/* imgTxt */
.shopList h2 {
	background-repeat: no-repeat;
	background-position: left top;
	background-size: contain;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
}

.center{
	text-align:center;
	margin-bottom:20px;
}
.mb_20{
	margin-bottom:40px;
}
/* clearfix */
.pageLink:after {
	content: "";
	display: block;
	clear: both;
}

/* .shopList
---------------------------------------- */
.shopListWrapper {
  background-color: #f5f5f5;
  padding-top: 10px;
 }
.shopList {
	padding: 15px 10px 20px;
}
.shopList h2 {
	width: 65px;
	height: 35px;
	margin: 0 auto 15px;
	background-image: url(https://softbankselection.jp/sp/special/memorykeeper/images/h2_shop.png);
}
.shopList ul {

}
.shopList ul li {
	margin-top: 10px;
}
.shopList ul li img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 414px) {
	.br414{
		display:block;
	}
	section .inner{
		 padding:0 4%;
	}
	#usability .contents-wrap{
	    padding: 30px 4%;
}
#app #download>*{
	float:none;
}
#app #download .btn1{
	margin-bottom:10px;
}
#app #download .btn2{
	margin-left:0px;
}
}
@media screen and (max-width: 375px) {
	.br375{
		display:block;
	}
}
@media screen and (max-width: 320px) {
	.br320{
		display:block;
	}
}