* {
margin:0;
padding:0;
text-decoration:none;
font-weight:normal;
text-align: left;
letter-spacing:0em;
}
body > img {display:none;}
html {
	height:100%;
	-webkit-text-size-adjust:100%;
	 }

body {
	height:100%;
	margin:0;
	padding:0;
  font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	color:#403231;
}
h1{
  font-size: 140%;
}
h2{
	text-align: center;
  font-size: 130%;
}
h3{
  font-size: 120%;
}
h1,h2,h3{
  line-height: 2em;
  margin-bottom: 10px;
  font-weight: 700;
}
p,dd{
  line-height: 2em;
}
p{
	text-align: center;
	padding-bottom: 30px;
}
section{
	padding-bottom: 50px;
}




header{
  position: relative;
  background: no-repeat center/100% url("../img/bg.jpg");
	margin-bottom: 50px;
  background-size: cover;
  height: 100vh;

}
header div.title{
  width: 100%;
  padding: 15px 0 0;
  display: block;
  margin: 0 auto;
  background: rgba(255,255,255,0.5);
}
header div.title h1{
  text-align: center;
	padding-bottom: 50px;
}
header div.title h1 span{
  font-size: 150%;
}
header div.title p{
  text-align: center;
}
header div.logo{
  position: relative;
  width: 1100px;
  margin: 0 auto;
}
header div.logo p{
  position: absolute;
  right: 100px;
  top: -60px;

}
header div.logo p img{
	width: 100px;

}
.wrapper{
	width:1100px;
	margin:0px auto;
}
.swiper-container {
    width: 600px;
    height: 300px;
}
section.about{
	width: 100%;
	display: table;
	margin-bottom: 80px;
}
section.about h2{
	text-align: center;
}
section.about p{
	text-align: center;
}

section.about p.text{
	width: 100%;
}
.container {
	padding-bottom: 50px;
}

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
	width: 720px;
  height: auto;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}
.swiper-slide img{
  height:400px;
}
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2;
}
.swiper-container-horizontal>.swiper-scrollbar{
    display: none;
}


.swiper-button-prev:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f137";
  color: #fff; /* 色を白に */
  margin-left: 20px; /* マージンを追加 */
}
.swiper-button-next:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f138";
  color: #fff;
  margin-right: 20px;
}













section.about ul{
	display: table-cell;
	width: 50%;
}
section.about ul li{
	display: table-cell;
}

section.campaign h2,
section.campaign p{
	text-align: center;
}


section.dis {
	margin: 0 auto;
	width: 100%;
	text-align: center;
}
section.dis h2{
	display: inline-block;
	text-align: left;
	height: 85px;
	padding-left: 100px;
	margin-bottom: 50px;
	background: no-repeat url("../img/icon.png");
	background-position: left center;
	background-size: 70px;
}





section.info{
  background-color:#c9bda8;
  padding: 50px;
  margin: 50px 0;
}
section.info div.howto{
  width: 100%;
  margin: 0 auto;
}
section.info div.howto h2{
  margin-bottom: 40px;
  text-align: center;
}
section.info ul.step{
  width: 100%;
  display: table;
  overflow: hidden;
  margin-bottom: 60px;
}
section.info ul.step li{
  display: table-cell;
	background: no-repeat url("../img/arrow.png");
	background-position: 90% 50%;
	background-size: 20px;
}
section.info ul.step li.s1{
	background-position: 97% 50%;
  width: 23%;
	padding-right: 3%;
}
section.info ul.step li.s2{
	background-position: 97% 50%;
	width: 23%;
	padding-right: 3%;
}
section.info ul.step li.s3{
	background-position: 100% 50%;
	width: 23%;
	padding-right: 3%;
}
section.info ul.step li:last-child{
	width: 23%;
	padding-right:0;
  padding-right:0;
	background: none;
}

section.info ul li dl{
}

section.info ul li dl dt{
  text-align: center;
  margin-bottom: 15px;
}

section.info ul li dl dd.step_img{
  text-align: center;
  height: 420px;
}
section.info ul li dl dd{
	font-size: 80%;
}

section div.follow{
  clear: both;
	display: table;
	width: 100%;
}
section div.follow p{
	width: 50%;
	display: table-cell;
	text-align:right;
	vertical-align: middle;
}
section div.follow p{
	padding:5px 20px;
}
section div.follow p.account{
	text-align: left;
	width: 80%;
	display: inline-block;
	margin: 0;
}
section p.account a.button {
  text-decoration: none;
  outline: none;
}
section p.account a.button::before,
section p.account a.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
section p.account a.button,
section p.account a.button::before,
section p.account a.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
section p.account a{
	text-align: center;
	display: block;
	padding: 20px;
	color: #fff;
	background:#333 url(../img/warrow.png) no-repeat 95% center / 8px;
}
a.button:hover{
	opacity: 0.6;
}
section p.account a img{
	height: 35px;
}
section.info div.requirements ul{
	margin-bottom: 20px;
}
section.info div.requirements ul li{
	font-size: 90%;
	list-style: disc;
	margin-left: 1.5em;
	margin-bottom: 10px;
}
section.info div.requirements dl{
	margin-bottom: 20px;
}
section.info div.requirements dl dt{
	font-weight: 700;
	margin-bottom: 5px;
}
section.info div.requirements dl dd{
	font-size: 90%;
	margin-left: 1em;
}

section.info div.app_dl{
	width: 100%;
	display: table;
	padding: 20px;
	margin: 30px 0;
	background-color: #fff;
}

section.info div.app_dl p{
	width: 60%;
	display: table-cell;
	text-align: right;
	padding: 0 20px;
	vertical-align: middle;
}

section.info div.app_dl ul{
	width: 50%;
	text-align: left;
	display: table;
	padding: 0 20px;
	display: table;
}

section.info div.app_dl ul li{
  display: table-cell;
	text-align: center;
	vertical-align: middle;
	padding: 10px 0;
}
section.info div.app_dl ul li.googleplay{
	position: relative;
	bottom: 2px;
}
section.info div.app_dl ul li img{
	height: 62px;
}








div.home{
	margin: 50px auto 30px;
}
div.home p{
	text-align: center;
	margin: 0 auto;
}
div.home p a{
	text-align: center;
	margin: 0 auto;
	width: 20%;
	background-color: #333;
	padding: 20px 100px;
	color: #fff;
}
footer{
	background-color: #333333;
	padding: 50px 0 0;
	color: #fff;
	text-align: center;
}
footer h2{
	text-align: center;
	line-height: 1.5em;
	margin-bottom: 10px;
text-decoration:underline;
text-decoration-color:#FFF;
}
footer ul{
	display: table;
	margin: 0 auto 10px;

}
footer ul li{
	display: table-cell;
	padding: 10px;
}
footer p.Copyright{
	text-align: center;
	font-size: 60%;
	padding: 10px;
}



footer ul li.maru a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column;
  vertical-align: top;
  width: 60px;
  height: 60px;
	color: #fff;
	border: 4px solid #fff;
  font-size: 1em;
  line-height: 1.5em;
}

.sp{
	display: none;
}





@media screen and (max-width:1100px){
	.sp{
		display: block;
	}
	.sp img{
		width: 100%;
	}
	.sp .note{
		font-size: 65%;
	}
	header {
    background: no-repeat center/100% url(../img/spbg.jpg);
	}
	header div.logo{
		display: none;
	}
	.wrapper{
		width:100%;
		margin:0px auto;
		padding: 30px;
	}
	section.dis h2 {
		display: inline-block;
		    text-align: center;
		    height: auto;
		    padding: 80px 0 0 0;
		    margin-bottom: 50px;
		    background: no-repeat url(../img/icon.png);
		    background-position: center top;
		    background-size: 70px;
		}
		section.about {
	    width: 100%;
	    display: table;
	    margin-bottom: 80px;
		}
		section.about h2 {
			text-align:center;
		  float: none;
		  width: 80%;
			margin: auto;
		}

		section.about p.text {
	    float: none;
	    width: 80%;
			text-align:center;
			margin: auto;
		}
		section.about .swiper-container {
		    height: auto;
		    float: none;
		}
		section.campaign p img{
			width: 80%;
		}
		section.info div.howto {
	     width: 100%;
	     margin: 0 auto;
	 }
	 .requirements dl dt,
	 .requirements dl dd{
		 text-align: center;
	 }
	 section.info div.requirements dl dd {
    font-size: 90%;
    margin-left: 0;
	}
	 .step{
    display: inline-block;
	 }
	 section.info ul.step li.s1,
		section.info ul.step li.s2,
		section.info ul.step li.s3,
		section.info ul.step li.s4{
		 display: inline-block;
		 background:none;
     width: 100%;
		 margin-bottom: 30px;
		 padding: 0;
	 }
	 .step dl dd.step_img{
		 display: none;
	 }
	 section div.follow {
    display: inline-block;
		}
		section div.follow p {
		    width: 100%;
		    display: block;
		    text-align: center;
		}
		section div.follow p.account {
	    text-align: center;
	    width: 100%;
	    display: block;
	}
	section.info div.app_dl p {
    width: 100%;
    display: block;
    text-align: center;
    padding: 0 20px;
    vertical-align: middle;
	}
	section.info div.app_dl ul {
    width: 100%;
	}
	.swiper-container {
		display: none;
	}
}
