	
 /* Reset */

 * {
	margin:0;
	padding: 0;
}

h5, h6, pre, table, code, kbd, samp, acronym, input, textarea, select {
  font-size: 100%;
}

a, ins {
  text-decoration: none;
}

address, em, cite, dfn, var {
  font-style: normal;
}

input, textarea {
  font-family: sans-serif;
  font-weight: normal;
}

img {
	vertical-align: bottom;
}

a img {
  border: none;
}


a:hover img {
opacity: 0.5;
-webkit-opacity: 0.5;
-moz-opacity: 0.5;
filter: alpha(opacity=50);	/* IE lt 8 */
-ms-filter: "alpha(opacity=50)"; /* IE 8 */
}
 
a img {
-webkit-transition: opacity 0.3s ease-out;
-moz-transition: opacity 0.3s ease-out;
-ms-transition: opacity 0.3s ease-out;
transition: opacity 0.3s ease-out;
}

a {
  cursor:pointer;
}




body {
  background-color:#f9e9e8;
}
main article.island {
  padding:2em 3em;
  background-color:#fff;
  box-shadow: 0 0 12px rgba(0,0,0,0.2);
  margin-bottom:2em;
}

section > header {
  padding:1.5em 0;
  font-size:90%;
  text-align:center;
  color:#fff;
  background: linear-gradient(to right, #e71f80 0%, #fc766a 100%);
  text-shadow:0 0 12px rgba(0,0,0,0.5);
  margin-bottom:0.5em;
  box-shadow: 0 0 12px rgba(0,0,0,0.2);
  margin-top:2em;
}

body,html {
  /* color:red; */
}

main {
  width:1280px;
  margin:0 auto;
  padding:0 1em;
  max-width:100vw;
  box-sizing:border-box;
}

main.home {
  padding:0!important;
  max-width:100vw;
}

h3 {
  margin:0.25em 0;
  color:#999;
}

a {
  color:#4bb5e2;
}

p {
  margin:0.75em 0;
}

p.right {
  text-align:right;
}

P+h3 {
  margin-top:1.5em;
}

header#header , footer#footer  {
  max-width:100vw;
  overflow:hidden;
}
header#header {
  background: #fff;
  border-bottom: 4px solid #e71f80;
  -webkit-border-image: -webkit-linear-gradient(left, #e71f80 0%, #fc766a 100%);
  -o-border-image: -o-linear-gradient(left, #e71f80 0%, #fc766a 100%);
  border-image: linear-gradient(to right, #e71f80 0%, #fc766a 100%);
  border-image-slice: 1;
}


#footer{
	padding:20px 0 0;
	background: #fff;
	text-align:center;
	font-size: 14px;
	border-top: 4px solid #e71f80;
  -webkit-border-image: -webkit-linear-gradient(left, #e71f80 0%, #fc766a 100%);
  -o-border-image: -o-linear-gradient(left, #e71f80 0%, #fc766a 100%);
  border-image: linear-gradient(to right, #e71f80 0%, #fc766a 100%);
  border-image-slice: 1;
}

ul {
  padding-left:1.5em;
  margin:1em 0;
}

nav ul {
  list-style-type: none;
  display:flex;
  width:100%;justify-content: center;
  flex-wrap:wrap;
  padding:0;
}

nav ul li {
  padding:0 1em;
}

/* 1024px以下 */
@media screen and (max-width:1024px) {
  footer nav ul li {
    width:140px;
    text-align:left;
  }
}

.heading-element {
  display:flex;
  max-width:1280px;
  margin:0 auto;
  /* justify-content: center; */
  align-items: center;
  width:calc(100% - 1.5em);
}
.heading-element > div {
  flex-grow:1;
}
.heading-element > div:last-child {
  text-align:right;
}

.heading-element h1 img {
  max-width:330px;
  width:100vw;
  margin:0.25em 0;
}

.googleplay {
  padding-right:50px;
}
.googleplay img {
  height:50px;
}

@media screen and (max-width:1024px) {
  .heading-element h1 img {
    max-width:200px;
    width:100vw;
    margin:0.25em 0;
  }
  
  .googleplay img {
    height:30px;
  }
  .googleplay {
    padding-right:32px;
  }
}

.menu-toggle {
  position:fixed;
  top:14px;right:8px;
  background-color:#ef5488;
  border-radius:100%;
  width:48px;
  height:48px;
  z-index:1000;
}

.menu-toggle::after , .menu-toggle::before {
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:20px;
  height:2px;
  background-color:#fff;
  transform:translate(-50%,-50%) rotate(0);
  transition: all 0.3s;
}
.menu-toggle::after  {
  top:calc(50% - 2px);
}
.menu-toggle::before  {
  top:calc(50% + 2.5px);
}

@media screen and (max-width:1024px) {
  .menu-toggle {
    top:10px;right:8px;
    width:32px;
    height:32px;
  }
}


.drawer-active .menu-toggle::after {
  transform:translate(-50%,-50%) rotate(45deg);
  top:50%;
}
 .drawer-active .menu-toggle::before {
  transform:translate(-50%,-50%) rotate(-45deg);
  top:50%;
}

.drawer {
  position:fixed;
  top:0;
  right:0;
  width:100%;
  height:100%;
  background-color:rgba(255,255,255,0.8);
  z-index:999;
  display:none;
  backdrop-filter: blur(10px);
}

.drawer-active .drawer {
  display:block;
}

.drawer ul {
  display:flex;
  flex-direction:column;
  width:100%;
  height:95vh;
  justify-content: center;
  align-items: center;
}
.drawer ul li {
  text-align:center;
  padding:0.5em 0;
}
.drawer ul li a {color:#474747;font-weight:bold;}