
html, body, div, span, p, a, del, em, img, ol, ul, li, fieldset, form, label {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

A:link, A:visited, A:active {
	text-decoration:none ;
	color:#000;
	outline: none;
}

input,
input:hover{
	outline: none;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html, body {
	line-height: 1;
	min-height:100%;
	font-family:Artial, Verdana, sans-serif;
}

body {
	background: #eeeeee;
	background: -webkit-linear-gradient(top, #eeeeee, #cccccc 100%);
	background: -moz-linear-gradient(top, #eeeeee, #cccccc 100%);
	background: -o-linear-gradient(top, #eeeeee, #cccccc 100%);
	background: -ms-linear-gradient(top, #eeeeee, #cccccc 100%);
	background: linear-gradient(top, #eeeeee, #cccccc 100%);
	background-attachment:fixed;
}

#content {
	padding:200px 0 0;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight:bold;
}

@media screen and (max-width:767px){
	#content {
		padding:160px 0 0;
	}
}


.inr {
	width:1024px;
	margin:0 auto;
}

@media screen and (max-width:1024px){
	.inr {
		width:95%;
	}
}

.linkleft {
	display:inline-block;
	width:20%;
	position:fixed;
	bottom:5%;
	left:5%;
	z-index:3;
}

.linkright {
	display:inline-block;
	width:20%;
	position:fixed;
	bottom:5%;
	right:5%;
	z-index:3;
}

.linkleft img,
.linkright img {
	width:100%;
	animation: fluffy1 13s ease infinite;
}

@keyframes fluffy1 {
  0% { transform:translateY(0) }
  5% { transform:translateY(0) }
  10% { transform:translateY(0) }
  20% { transform:translateY(-15px) }
  25% { transform:translateY(0) }
  30% { transform:translateY(-15px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
}

@media screen and (max-width:767px){
	.linkright {
		bottom:20%;
	}
}


ol, ul {
	list-style: none;
}

p {
	margin:1em 0;
	line-height:1.1em;
}

q {
	font-style:italic;
	color:#333;
}

h1 {
	font-size:2.91em;
	margin:0;
}

h1 > small {
	text-align:right;
	display:inline-block;
	font-size:.71em;
	text-indent:15em;
	color:#444;
}

h2 {
	color:inherit;
	font-size:1.91em;
	margin:1em 0 1em 0;
}

h2:first-child {margin-top:0;}

h3 {
	color:#333;
	font-size:1.41em;
	margin:1em 0;
}

h4 {
	color:#444;
	font-size:1.11em;
	margin:1em 0;
}

#progress {
	height:2%;
	background:#444;
	bottom:0;
	z-index:200;
}

#scrollbar {
	position:fixed;
	right:2px;
	height:50px;
	width:6px;
	background:#444;
	background:rgba(0,0,0,0.6);
	border:1px solid rgba(255,255,255,0.6);
	z-index:300;
	border-radius:3px;
}

.skrollr-desktop #scrollbar {display:none;}

#bg1, #bg2, #bg3 {
	z-index:50;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url(images/bubbles.png) repeat 0 0;
}

#bg2 {
	z-index:49;
	background-image:url(images/bubbles2.png);
}

#bg3 {
	z-index:48;
	background-image:url(images/bubbles3.png);
}

#intro {
	width:80%;
	left:50%;
	top:1em;
	margin-left:-40%;
	padding:2em;
	background:#fff;
	text-align:center;
	border-radius:1em;

	-webkit-transform-origin:0 0;
	-moz-transform-origin:0 0;
	-ms-transform-origin:0 0;
	-o-transform-origin:0 0;
	transform-origin:0 0;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#intro .arrows {
	font-size:2em;
	color:#09f;
}

#transform {
	width:70%;
	left:50%;
	top:20%;
	margin-left:-35%;
	text-align:center;
	font-size:150%;

	.transform-origin(50%, 50%);
}

#properties {
	width:100%;
	height:100%;
	padding-top:10%;
	text-align:center;
	background:#ffd900;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#easing_wrapper {
	width:100%;
	height:100%;
}

#easing {
	top:10%;
	width:50%;
	z-index:101;
}

.drop {
	background:#09f;
	font-weight:bold;
	padding:1em;
}

#download {
	width:80%;
	left:10%;
	height:80%;
	padding:3em;
	border:0 solid #222;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.twitter-share-button, .twitter-follow-button {
	vertical-align:middle;
}

header h1:before,
header h1:after {
	position:absolute;
	width:50px;
	height:50px;
	background:none;
	z-index:2;
	content:'';
	border:none;
	border-bottom-left-radius: 50px;
	border-bottom-right-radius: 50px;
}

header h1:before{
	left:-54px;
	top:56px;
	border-top-right-radius: 50px;
	border-width: 0 1px 1px 0;
	box-shadow: 0px -20px 0 #ffd900;
}

header h1:after{
	right:-54px;
	top:56px;
	border-top-left-radius: 50px;
	border-width: 0 0 1px 1px;
	box-shadow: 0px -20px 0 #ffd900;
}


.sns {
	position:absolute;
	top:70%;
	left:66%;
	transform: translate(-50%, -50%);
	z-index:1;
}



.sns ul {
  	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	width:180px
}

.sns ul li {
	width:50px;
	height:50px;
	background:#000;
	border-radius:25px;
	margin:2%;
	border:solid #fff;
	box-sizing:border-box;
}

.sns ul li.fb a {
    text-indent: -9999px;
    background: url(../img/icon/icon_facebook.png);
    background-size: contain;
    height: 45px;
    width: 45px;
    display: block;
}


@media screen and (max-width:767px){
	.sns ul li.fb a {
		height:30px;
		width:30px;
	}
}

header .website {
	width:100%;
	font-size:35%;
	position:absolute;
	top:70%;
	left:50%;
	transform: translate(-50%, -50%);
	font-family: 'Coiny', cursive;
	letter-spacing:0.7em;
	display:flex;
	z-index:1;
}

header .website span {
	display:block;
	width:50%;
	text-align:center;
}

header .website span.offi{
	margin-right:15%;
}

header .website span.web {
	margin-left:15%;
}


@media screen and (max-width:1024px){
	.sns {
		left:80%;
	}
}

@media screen and (max-width:767px){
	header .website {
		letter-spacing:0.3em;
	}

	header .website span.offi {
		text-align:left;
	}

	header .website span.web {
		text-align:right;
	}
}

@media screen and (max-width:350px){
	header .website {
		letter-spacing:0;
	}
}


.sns ul li.twitter{background:#458cc3;}
.sns ul li.fb{background:#395494;}
.sns ul li.lin{background:#39ad36;}

.sns ul li img {
	width:100%;
}

@media screen and (max-width:767px){
	.sns {
		left:85%;
	}
	.sns ul {
		width:160px;
	}

	.sns ul li {
		width:35px;
		height:35px;
		border-radius:18px;
		margin:1%;
	}
}

header .lanselect {
	position:absolute;
	top:70%;
	left:33%;
	transform: translate(-50%, -50%);
	z-index:2;
	font-family: 'M PLUS 1p', sans-serif;
	font-size:14px;
	letter-spacing:0.2em;
	width:70px;
}




header .lanselect a {
	display:block;
	-webkit-appearance:none;
	-moz-appearance: none;
	appearance: none;
	border-radius:15px;
	width:100%;
	padding:7% 13%;
	text-align:center;
	background:#d0c9b6;
	border:solid 1px rgba(255,255,255,0.5);
	color:#fff;
}

header .lanselect ul.lang {
	position:relative;
}

header .lanselect ul li{
	text-align:center;
	width:120%;
}

header .lanselect ul li a {
	font-size:100%

}

header .lanselect ul li ul.otherlan {
	display:none;
}


header .lanselect ul li:hover ul.otherlan{
	display:block;
	position:absolute;
	top:100%;
	left:0;
	width:100%;
}

header .lanselect ul.lang li:nth-child(1) a:before {
	content:url(../img/select.png);
	vertical-align:middle;
	position:absolute;
	top:65%;
	left:-10%;
	transform: translate(-50%, -50%);
	z-index:2;
}

header .lanselect ul.lang li:nth-child(1) ul.otherlan li a:before {
	content:'';
}


header .lanselect ul li:hover ul.otherlan li:nth-child(1) a,
header .lanselect ul li:hover ul.otherlan li:nth-child(2) a {
	border-radius:0px;
}

header .lanselect ul li:hover ul.otherlan li:nth-child(3) a {
	border-radius:0 0 5px 5px / 0 0 5px 5px;
}

header .lanselect ul li:hover ul.otherlan li a {
	background:none;
	border:none;
	color:#000;
	background:rgba(255,255,255,0.9);
}

header .lanselect ul li:hover ul.otherlan li a:hover {
	color:#ff579c;
}

@media screen and (max-width:1024px){
	header .lanselect {
		left:20%;
		font-size:11px;
	}
}

@media screen and (max-width:767px){
	header .website {
		font-size:20%;
		z-index:1;
	}

	header .website .offi {
		margin-right:22%;
	}

	header .website .web {
		margin-left:22%
	}
}

.serch {
	position:relative;
}

.serch p {
	font-size:150%;
	margin-bottom:2%;
}

.serchbox {
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	background:#fff020;
	border:solid #ffd900;
	border-radius:20px;
	width:640px;
	padding:1% 2%;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight:800;
	font-size:300%;
}

@media screen and (max-width:767px){
	.serchbox {
		position:static;
		top:auto;
		left:auto;
		transform: translate(0, 0);
		font-size:200%;
		margin:3% auto;
	}
}

@media screen and (max-width:700px){
	.serchbox {
		width:90%;
		margin:3% auto;
		font-size:150%;
	}
}

@media screen and (max-width:400px){
	.serchbox {
		font-size:150%;
	}
}

.serch input {
	-webkit-appearance:none;
	-moz-appearance: none;
	appearance: none;

}

.serch input.lbox {
	border:none;
	width:80%;
	padding:2% 1em;
	border-radius:15px;
	font-size:100%;
}

.serch input.gras {
	width:12%;
}

.serch input.lbox:focus {
    outline: 0;
    border: 0px;

}

.serch input.lbox:hover {
	border:none;
}

.serch input.gras{
	vertical-align:bottom;
}

.serch input.gras:hover{
	border:none;
}

.serch ul.serchver {
	display:flex;
	margin:1% auto;
	width:95%;
}

.serch ul.serchver li {
	background:#fff;
	width:50%;
	margin:1%;
	border-radius:10px;
	font-size:90%;
}

.serch ul.serchver li:after {
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 35px;/*画像の幅*/
	height: 35px;/*画像の高さ*/
	background: url(../img/megane.png) no-repeat;
	background-size: contain;
	vertical-align: sub;
	margin-left:0.1em;
}

.serch ul.serchver li a{
	color:#ff579c;

}

@media screen and (max-width:767px){
	.serch {
		padding:0 0 10% 0;
	}

	.serch ul.serchver {
		display:block;
		margin-top:2%;
	}

	.serch ul.serchver li {
		width:95%;
		margin:2% auto;
		padding:1% 0;
	}

	.serch ul.serchver li:after {
		width:25px;
		height:25px;
	}
}

.ehundred {
	width:800px;
}

@media screen and (max-width:800px){
	.ehundred {
		width:95%;
		margin:0 auto;
	}
}

.top_news {
	padding: 5% 0;
	background:url(../img/block_bg.jpg);
	background-size:30px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	position:relative;
}

h3 {
	border-radius:30px;
	background:#ff579c;
	padding:5px 2%;
	color:#fff;
	font-size:25px;
	font-weight:700;
	position:absolute;
	left:15%;

}

.more {
	text-align:center;
	margin:5% 0;
	font-size:170%;
}

.more a {
	color:#ff579c;
	font-weight:700;
}

.more a span {
	display:inline-block;
	transform:rotate(90deg);
}


.top_news h3,
.qa h3 {
	top:-48px;
	display:inline-block;
	letter-spacing:-0.02em;
}

.whatthis h3 {
	top:0;
	display:inline-block;
	letter-spacing:-0.02em;
}

.whatthis .sign {
	text-align:right;
}

@media screen and (max-width:1024px){
	h3 {
		left:5%;
	}
}


@media screen and (max-width:767px){
	h3{
		font-size:20px;
		left:3%;
		padding:5px 10px;

	}

	.top_news h3,
	.qa h3 {
		top:-40px;
	}
}


.top_news ul {
	font-weight:700;
	font-size:170%;
	margin:0 auto;
	text-align:left;
}


.top_news ul li {
	margin-bottom:2%;
}

.top_news ul li a {
	color:#000;
}

.top_news ul li time:before {
	content:'';
	margin:0 0.5em 0 0;
	background: #ff579c;
	border: solid 2px #ffd900;
	width: 10px;
	height: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	box-shadow: 0 0 0 1px #ff579c;
	-webkit-box-shadow: 0 0 0 1px #ff579c;
	-moz-box-shadow: 0 0 0 1px #ff579c;
	display:inline-block;
}

.top_news ul li time {
	display:inline-block;
	margin-right:1em;
}

.top_news ul li .title {
	display:inline-block;
}

@media screen and (max-width:767px){
	.top_news {
		padding:10% 0;
	}
	.top_news ul {
		width:100%;
		margin:0 auto;
	}

	.top_news ul li .title {
		text-align:left;
	}
}


@media screen and (max-width:767px){
	.top_news ul {
		font-size:130%;
	}

	.top_news ul li a{
		display:flex;
	}
	.top_news ul li time {
		display:block;
		width:30%;
		font-size:80%;
		text-align:left;
	}

	.top_news ul li .title {
		display:block;
		width:70%;
	}
}

@media screen and (max-width:350px){
	.top_news ul li time {
		display:block;
		width:35%;
		font-size:80%;
		text-align:left;
	}

	.top_news ul li .title {
		display:block;
		width:70%;
	}

}

.whatthis {
	padding: 10% 0;
	background-size:30px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	text-align:left;
	position:relative;
}

@media screen and (max-width:1024px){
	.whatthis{
		padding:15% 0;
	}
}

.whatthis .txt {
	font-size:170%;
	font-weight:500;
}

.grad-btn {
  display:inline-block;
  text-align:center;
  z-index: 2;
  margin: auto;
  padding: .5em 0;
  color:#ff579c;
  font-size: 1.3rem;
  cursor: pointer;
  transition: .2s ease;
  position: absolute;
  left: 50%;
  bottom: 20px;
	transform: translate(-50%, -50%);
}
.grad-btn::before {
  content: "続きを読む";
	text-align:center
}

.grad-btn:hover {
  color: #009e8f;
}
.grad-btn .fa {
  margin-right: .5em;
}
.grad-item {
  position: relative;
  overflow: hidden;
  height: 320px; /*隠した状態の高さ*/
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  content: "";
}

.grad-trigger {
  display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger:checked ~ .grad-btn::before {
  content: "閉じる"; /*チェックされていたら、文言を変更する*/
	bottom:0;
}
.grad-trigger:checked ~ .grad-item {
  height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ .grad-item::before {
  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}

@media screen and (max-width:767px){
	.whatthis{
		padding:25% 0;
	}

	.whatthis .txt {
		font-size:110%;
		padding:5% 2% 0;
	}
	.grad-btn {
		bottom:1%;
		text-align:center;
	}

}

.qa {
	padding: 5% 0;
	background:url(../img/menu_bg.jpg);
	background-size:30px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	position:relative;
}

.qa dl {
	text-align:left;
	font-size:170%;
	font-weight:700;
}


.qa dt:before {
	content:'Q. ';
	font-family: 'Coiny', cursive;
	color:#ff579c;
	font-weight:800;
	font-size:150%;
}

.qa dd {
	margin-bottom:1em;
	margin-left:0;
}

.qa dd:before {
	content:'A. ';
	font-family: 'Coiny', cursive;
	color:#30db7e;
	font-weight:800;
	font-size:130%;
}


@media screen and (max-width:767px){
	.qa dl {
		font-size:130%;
	}
}


.sponcer{
	padding:5% 0;
}


.sponcer ul {
	display:flex;
	flex-wrap:wrap;
}

.sponcer ul li {
	margin:0 1%;
	width:31%;
	font-weight:400;
}

.sponcer ul li img {
	width:100%;
}

.sponcer ul li em {
	display:block;
	font-family: 'M PLUS 1p', sans-serif;
	text-align:left;
}

@media screen and (max-width:767px){
	.sponcer ul li {
		width:48%;
		margin:1%;
	}

	.sponcer ul li em{
		font-size:90%;
	}
}
