/*リセット*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}
ol, ul, dl{
    list-style:none;
}

html{
	margin:0;
	padding:0;
}

body{
	font-family: 'Roboto', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-size: 14px;
	line-height: 1.8;
	text-align:center;
}

.pc{
	display:block;
}
.sp{
	display:none;
}

a:link,a:visited {
	text-decoration: none;
	cursor:pointer;
}


a.scroll {
	position:absolute;
	left: 50%;
	transform:translateX(-50%);
	-webkit- transform:translateX(-50%);
	bottom:20px;
	padding-top: 80px;
	margin:80px auto 0;
	color:#fff;
	text-align:center;
}
a.scroll span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  opacity: 0;
  box-sizing: border-box;
}
a.scroll span:nth-of-type(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
a.scroll span:nth-of-type(2) {
  top: 16px;
  -webkit-animation-delay: .15s;
  animation-delay: .15s;
}
a.scroll span:nth-of-type(3) {
  top: 32px;
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
}
@-webkit-keyframes sdb {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

a.more{
	display:block;
	position:relative;
	overflow: hidden;
	width:80%;
	max-width:300px;
	padding:10px 0;
	margin:30px auto 0;
	color:#fff;
	line-height: 1.4;
	font-size:20px;
	border:1px solid #fff;
	text-align:center;
	background:#EB5C01;
}
a.more.white{
	border:1px solid #EB5C01;
	background:#fff;
	color:#EB5C01;
}

a.more:before{
	content:"";
	position:absolute;
	background-color: #fff;
    width: 120%;
	height:100%;
	top:0;
	left:-100%;
    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transform: translate(-250px, 0px) skewX(-30deg);
    -webkit-transform: translate(-250px, 0px) skewX(-30deg);
    -moz-transform: translate(-250px, 0px) skewX(-30deg);
}
a.more:hover:before{
	left:0;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transform: translate(-15px, 0px) skewX(-30deg);
    -webkit-transform: translate(-15px, 0px) skewX(-30deg);
    -moz-transform: translate(-15px, 0px) skewX(-30deg);
}
a.more:after{
	opacity:0;
	content:"MORE";
	position:absolute;
	width:100%;
	height:100%;
	top:0;
    left:0;
	padding:10px 0;
	line-height: 1.4;
	font-size:20px;
	color: #EB5C01;
	text-align:center;
    transition: left 0.2s ease;
    -webkit-transition: left 0.2s ease;
    -moz-transition: left 0.2s ease;
}
a.more:hover:after{
	opacity:100;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
}

a.more.white:before{
	background-color: #EB5C01;
}
a.more.white:after{
	color: #fff;
}


h2{
	position:relative;
	margin:0 auto 100px;
	font-size:44px;
	font-family:serif;
	line-height:1.8em;
	letter-spacing:-2px;
	text-align:center;
}
h2 span{
	display:block;
	margin:0 auto 20px;
	color:#EB5C01;
}
h2.white, h2.white span{
	color:#fff;
}
h3{
	position:relative;
	margin:0 auto 100px;
	font-size:20px;
	letter-spacing:-1px;
	color:#EB5C01;
	font-weight:600;
	text-align:center;
}
h4{
	position:relative;
	margin:0 auto 90px;
	max-width:300px;
	font-family:'Century Gothic';
	font-size:53px;
	line-height:1;
	font-weight:600;
	letter-spacing:-2px;
}
h4 span{
	display:block;
	min-height:2px;
	margin:20px auto 0;
	padding:3px 0;
	background:#EB5C01;
	color:#fff;
	font-size:15px;
	letter-spacing:-1px;
}

.cstext { font-size:2.5vw; font-family:'Century Gothic'; color:#EB5C01; }

/*エフェクト系--------------*/
.reveal{
	position:relative;
}
.reveal::before{
	content: '';
	position:absolute;
	width:100%;
	height:100%;
	right:0;
	background:#fff;
	z-index:2;
}
.gray .reveal::before{
	background:#EFEFEF;
}
.orange .reveal::before{
	background:#EB5C01;
}

.revealit::before{
	animation: rev 0.8s;
	animation-fill-mode: forwards;
}
@-webkit-keyframes rev {
  from {
  	width:100%;
	display:block;
  }
  to {
	width:0%;
	display:none;
  }
}

.fadein{
	opacity:0;
}
.fadeIn{
	animation: fadein 0.8s;
	animation-fill-mode: forwards;
}
@-webkit-keyframes fadein {
  from {
  	opacity:0;
  }
  to {
	opacity:100;
  }
}

/*ヘッダー-----------------------------*/

#header{
	position:fixed;
	width:100%;
	height:53px;
	top:0;
	left:0;
	z-index:100;
	animation: resetcolor 1.2s;
	animation-fill-mode: forwards;
	background:rgba(0,0,0,0.8);
}
#header.white{
	animation: changecolor 1.2s;
	animation-fill-mode: forwards;
}
@-webkit-keyframes changecolor{
  from {
  }
  to {
	background:#fff;
  }
}
@-webkit-keyframes resetcolor{
  from {
  	background:#fff;
  }
  to {
	background:rgba(0,0,0,0.8);
  }
}

#head{
	display:flex;
	width:1000px;
	margin:0 auto;
}
.logo{
	margin:10px auto 0 0;
}
.links{
	display:flex;
	margin:0 0 0 10px;
}

/*Gnavi-----------------------------*/
#gnavi{
	display:flex;
	height:53px;
	margin:0 0 0 auto;
	color:#fff;
}

#header.white #gnavi{
	color:#000;
}
#gnavi > li{
	height:100%;
	margin:0 15px 0;
	padding:14px 0 0 0;
	font-family:'Century Gothic';
	font-size:13px;
	font-weight:600;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;	
}
#header #gnavi > li a{
	color:#fff;
	font-weight:600;
}
#header.white #gnavi > li a{
	color:#000;
}
#gnavi > li p{
	font-weight:600;
}
/*---------------------*/
#gnavi li.sub{
	padding:14px 18px 0 0;
	background:url(../img/icon_gnaviarrow.png) no-repeat center right;
}
#gnavi li.sub.act{
	background:url(../img/icon_gnaviarrow_active.png) no-repeat center right;
}
#gnavi li.sub.black{
	background:url(../img/icon_gnaviarrow_black.png) no-repeat center right;
}
#gnavi li.sub ul{
	position:absolute;
	display:none;
	top:53px;
	left:0;
	width:100%;
	height:53px;
	background:#EFEFEF;
	font-size:0;
}
#gnavi li.sub ul li{
	display:inline-block;
	height:26px;
	margin:9px 0 0 0;
	padding:10px 10px 0;
	color:#333;
	border-right:1px solid #ccc;
	text-align:center;
	font-size:13px;
	line-height:1;
	letter-spacing:-1px;
}
#gnavi li.sub ul li:last-child{
	border-right:none;
}
#header #gnavi > li ul a{
	color:#333;
	font-weight:400;
}


.sns{
	display:flex;
	margin:12px 6px 0 0;
}
.sns li{
	margin:0 6px 0 0;
}
.contact{
	width:132px;
	height:53px;
	padding:15px 0 0 0;
	margin:0;
	color:#fff;
	background:#EB5C01;
	text-align:center;
	font-family:'Century Gothic';
	font-size:13px;
	font-weight:600;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;	
}

/*visual------------------*/
.mainVis{
	position:relative;
	width:100%;
	height:100vh;
}
.mainVis .title{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	width:100%;
	margin:0 auto;
}

.subVis{
	width:100%;
}
.subVis img{
	width:100%;
}


/*メイン-----------------------------*/
.main{
	position:relative;
}

.main section{
	position:relative;
	width:100%;
	padding:100px 0;
	margin:0;
}

.main section.gray{
	background:#EFEFEF;
}

div.text{
	position:relative;
	max-width:900px;
	margin:0 auto;
	padding:0;
	text-align:left;
	line-height:2.4em;
}
div.text.white{
	color:#fff;
}

ul.twoColumn{
	position:relative;
	display:flex;
	max-width:1000px;
	margin:0 auto;
	padding:0;
	flex-wrap:wrap;
	justify-content:space-between;
}
ul.twoColumn li{
	width:50%;
}
ul.twoColumn li div.text{
	max-width:100%;
	padding:0 50px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;	
}
ul.twoColumn li img{
	width:100%;
}

.footlink{
	display:flex;
	width:100%;
}
.footlink li{
	position:relative;
	width:100%;
	height:70px;
	padding:14px 0 0 0;
	border-top:1px solid #EB5C01;
	border-bottom:1px solid #EB5C01;
	border-right:1px solid #EB5C01;
	text-align:center;
	color:#EB5C01;
	font-size:20px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;	
	overflow:hidden;
}
.footlink li:last-child{
	border-right:none;
}
.footlink li a{
	position:relative;
	display:block;
	top:0;
	left:0;
	width:100%;
	height:100%;
	color:#EB5C01;
	background-color:transparent;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	z-index:2;
	transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;

}
.footlink li a:hover{
	color:#fff;
	transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
}
.footlink li a:after{
	content:"";
	position:absolute;
	background: #EB5C01;
    width: 120%;
	height:calc(100% + 14px);
	top:-14px;
	left:-100%;
    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transform: translate(-250px, 0px) skewX(-30deg);
    -webkit-transform: translate(-250px, 0px) skewX(-30deg);
    -moz-transform: translate(-250px, 0px) skewX(-30deg);
	z-index:-1;
}
.footlink li a:hover:after{
	left:-1%;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transform: translate(-15px, 0px) skewX(-30deg);
    -webkit-transform: translate(-15px, 0px) skewX(-30deg);
    -moz-transform: translate(-15px, 0px) skewX(-30deg);
}



.client ul { width:90%; margin:0 auto; }
.client ul li { display:inline-block; padding:15px; text-align:center; vertical-align:middle; }


/*フッター----------------------------------*/
.footerArea{
	padding:120px 0 0;
}
.topagetop{
	/*display:none;
	position:fixed;
	bottom:0;
	right:0;
	
	z-index:100;*/
	margin:0 auto 75px;
	cursor:pointer;
}
#footerArea{
	background-color:#222;
	color:#fff;
	min-width:0px;
}
#footer{
	width:100%;
	margin:0 auto 0 auto;
	padding:40px 0 40px 0;
	text-align:center;
}
#footer div{ line-height:2.2; font-size:1.8vw; }
#footer div img { margin:0 10px 0 0; vertical-align:middle; }
#footer div span{ font-size:1.2vw; }

#privacy { width:100%; margin:0 auto 0 auto; padding:40px 0 60px 0; font-size:1vw; }
#privacy ul {display:flex; width:100%; }
#privacy ul li { width:50%;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;	}
#privacy ul li:nth-child(1) { font-size:0.8vw; padding:0 0 0 20px; text-align:left; }
#privacy ul li:nth-child(2) { padding:0 40px 0 0; text-align:right; }
#privacy ul li:nth-child(2) a { color:#000; }
	
p.footerbanner { width:1000px; margin:0 auto; }
p.footerbanner img { width:15%; margin:20px 0 0; }

/*-------for タブレット---------*/
@media screen and (max-width: 770px) {

	body{
		font-size:2.4vw;
	}
	
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	
	a.more{
		margin:20px auto 0;
		font-size:2.5vw;
	}
	
	h2{
		margin:0 auto 40px;
		font-size:5vw;
		line-height:1.8em;
	}
	h3{
		margin:0 auto 40px;
		font-size:2.4vw;
	}
	h4{
		margin:0 auto 40px;
		font-size:7vw;
	}
	h4 span{
		margin:10px auto 0;
		font-size:2vw;
	}
	h4.reveal span { font-size:2vw; letter-spacing:0px; }
	
	.mainVis .title{
		font-size:3.4vw;
	}
	
	.cstext { padding:0 0 100px 0; font-size:3vw; }
	
	/*ヘッダー-----------------------------*/
	#header.black{
		background:rgba(0,0,0,0.8);
	}
	@-webkit-keyframes changecolor{
	  from {
	  }
	  to {
		background:rgba(0,0,0,0.3);
	  }
	}

	#head{
		width:100%;
	}
	.logo{
		margin:10px 6% 0 4%;
	}
	#spGnavi{
		width:38px;
		height:36px;
		margin:10px auto 0 0;
		background:url(../img/gnavi_sp_open.png) no-repeat;
		background-size:auto 100%;
	}
	#spGnavi.open{
		background:url(../img/gnavi_sp_close.png) no-repeat;
		background-size:auto 100%;
	}
	#gnavi{
		display:none;
		position:fixed;
		top:53px;
		left:0;
		width:100%;
		height:calc(100% - 53px);
		padding:2vh 0 0 0;
		background:rgba(0,0,0,0.8);
		text-align:left;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		z-index:4;
	}
	#header.white #gnavi{
		color:#fff;
	}
	#gnavi > li{
		position:relative;
		display:table;
		height:auto;
		padding:0 5px 0 0;
		margin:0 0 10px 5%;
		font-weight:400;
		font-size:20px;
	}
	#header #gnavi > li a{
		color:#fff;
		font-weight:400;
	}
	#gnavi li.sub {
		padding:0 5px 0 0;
	}
	#header.white #gnavi > li a{
		color:#fff;
	}
	#gnavi > li p{
		display:table;
		font-weight:400;
	}
	#gnavi li.sub,#gnavi li.sub.act{
		background:none;
	}
	
	#gnavi li.sub p{
		padding:0 25px 0 0;
		background:url(../img/icon_gnaviarrow_sp.png) no-repeat center right;
		background-size:auto 8px;
	}

	#gnavi li.sub p.act{
		background:url(../img/icon_gnaviarrow_sp_active.png) no-repeat center right;
		background-size:auto 8px;
	}
	
	#gnavi li.sub ul{
		position:relative;
		top:0;
		left:0;
		height:auto;
		margin:10px 0 0 6%;
		background:transparent;
	}
	#gnavi li.sub ul li{
		display:block;
		height:auto;
		padding:0;
		margin:0 0 20px 0;
		text-align:left;
		font-size:16px;
		color:#fff;
		border-right:none;
	}
	#header #gnavi > li ul a{
		color:#fff;
		font-weight:400;
	}
	
	/*メイン-----------------------------*/
	.mainVis .title img { width:20%; }
	
	.main section{
		padding:40px 0 0;
	}
	
	div.text{
		max-width:92%;
		font-size:2vw;
		padding:0 0 40px;
		line-height:2em;
	}
	ul.twoColumn{
		max-width:92%;
		padding:0 0 40px;
	}
	ul.twoColumn li{
		width:100%;
	}
	ul.twoColumn li div.text{
		padding:0 0 20px;
		line-height:2em;
	}
	
	/*フッター----------------------------*/
	#privacy ul {
		display:flex;
		justify-content:space-between;
	}
	#privacy ul li:nth-child(1) { font-size:1.2vw; }
	#privacy ul li:nth-child(2) { font-size:1.8vw; }
	
	#footer div{ font-size:2.8vw; }
	#footer div span { font-size:2.8vw; }
}


/*-------for sp---------*/
@media screen and (max-width: 420px) {

	body{
		font-size:3.6vw;
	}
	
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	
	a.more{
		margin:20px auto 0;
		font-size:3.5vw;
	}
	
	h2{
		margin:0 auto 40px;
		font-size:8vw;
		line-height:1.6em;
	}
	h3{
		margin:0 auto 40px;
		font-size:3.8vw;
	}
	h4{
		margin:0 auto 40px;
		font-size:9vw;
	}
	h4 span{
		margin:10px auto 0;
		font-size:2vw;
	}
	h4.reveal span { font-size:3.2vw; letter-spacing:0px; }
	
	.mainVis .title{
		font-size:3.4vw;
	}
	.mainVis .title img{
		width:80%;
	}
	
	.cstext { padding:0 0 50px 0; font-size:5vw; }
	
	/*ヘッダー-----------------------------*/
	#header.black{
		background:rgba(0,0,0,0.8);
	}
	@-webkit-keyframes changecolor{
	  from {
	  }
	  to {
		background:rgba(0,0,0,0.3);
	  }
	}
	#head{
		width:100%;
	}
	.logo{
		margin:10px 6% 0 4%;
	}
	#spGnavi{
		width:38px;
		height:36px;
		margin:10px auto 0 0;
		background:url(../img/gnavi_sp_open.png) no-repeat;
		background-size:auto 100%;
	}
	#spGnavi.open{
		background:url(../img/gnavi_sp_close.png) no-repeat;
		background-size:auto 100%;
	}
	#gnavi{
		display:none;
		position:fixed;
		top:53px;
		left:0;
		width:100%;
		height:calc(100% - 53px);
		padding:2vh 0 0 0;
		background:rgba(0,0,0,0.8);
		text-align:left;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		z-index:4;
		color:#fff;
	}
	#header.white #gnavi{
		color:#fff;
	}
	#gnavi > li{
		position:relative;
		display:table;
		height:auto;
		padding:0 5px 0 0;
		margin:0 0 10px 5%;
		font-weight:400;
		font-size:20px;
	}
	#gnavi li.sub {
		padding:0 5px 0 0;
	}
	#header.white #gnavi > li a{
		color:#fff;
		font-weight:400;
	}
	#gnavi > li p{
		display:table;
		font-weight:400;
	}
	#gnavi li.sub,#gnavi li.sub.act{
		background:none;
	}
	
	#gnavi li.sub p{
		padding:0 25px 0 0;
		background:url(../img/icon_gnaviarrow_sp.png) no-repeat center right;
		background-size:auto 8px;
	}
	
	#gnavi li.sub p.act{
		background:url(../img/icon_gnaviarrow_sp_active.png) no-repeat center right;
		background-size:auto 8px;
	}
	
	#gnavi li.sub ul{
		position:relative;
		top:0;
		left:0;
		height:auto;
		margin:10px 0 0 6%;
		background:transparent;
	}
	#gnavi li.sub ul li{
		display:block;
		height:auto;
		padding:0;
		margin:0 0 20px 0;
		text-align:left;
		font-size:16px;
		color:#fff;
		border-right:none;
	}
	#header #gnavi > li ul a{
		color:#fff;
		font-weight:400;
	}
	
	/*メイン-----------------------------*/
	.mainVis .title img { width:40%; }
	
	.main section{
		padding:40px 0 0;
	}
	
	div.text{
		max-width:92%;
		font-size:3vw;
		padding:0 0 40px;
		line-height:2.3em;
	}
	ul.twoColumn{
		max-width:92%;
		padding:0 0 40px;
	}
	ul.twoColumn li{
		width:100%;
	}
	ul.twoColumn li div.text{
		padding:0 0 20px;
		line-height:2em;
	}
	
	/*フッター----------------------------*/
	.topagetop{ right:-10px;}
	.topagetop img{ width:60%;}
	#footer	{padding:20px 0; }
	#footer div img { margin:0 10px 10px 0; height:20px;}
	#privacy ul {
		display:flex;
		justify-content:space-between;
	}
	#privacy ul li:nth-child(1) { font-size:2.2vw; }
	#privacy ul li:nth-child(2) { font-size:2.8vw; }
	
	#footer div{ font-size:3.4vw; }
	#footer div span { font-size:3vw; }
	#privacy ul li:nth-child(2) { padding:0 8% 0 0;}
	
	p.footerbanner { margin:0 auto; text-align:left; }
	p.footerbanner img { width:10%; margin:20px 10px 0 10px; }
}


/*----------------------------------------------------
  レイアウト
----------------------------------------------------*/

.full{
	width:100%;
}

.hidescroll{
	overflow-y:hidden;
}
.letter_narrow{
	letter-spacing:-1px;
}
.fleft{
	float:left;
	overflow:hidden;
}
.fright{
	float:right;
	overflow:hidden;
}
.txtLeft{
	text-align:left;
}
.txtRight{
	text-align:right;
}
.txtcancel{
	text-decoration: line-through;
}
.thick{
	font-weight:600;
}

.red{
	color:#ff0000;
}
.cursor{
	cursor:pointer;
}
.center{
	text-align:center;
	margin:0px auto 0px auto;
}


/*----------------------------------------------------
  マージン指定
  ----------------------------------------------------*/
.150p { padding:150px 0; }
.100p { padding:100px 0; }

.top150p { padding-top:150px; }
.top100p { padding-top:100px; }
.top50p { padding-top:50px; }

.bottom150p { padding-bottom:150px; }
.bottom100p { padding-bottom:100px; }
.bottom50p { padding-bottom:50px; }

.top150m { margin-top:150px; }
.top100m { margin-top:100px; }
.top50m { margin-top:50px; }
.top20m { margin-top:20px; }

.bottom150m { margin-bottom:150px; }
.bottom100m { margin-bottom:100px; }
.bottom50m { margin-bottom:50px; }
.bottom20m { margin-bottom:20px; }

.s03mg { padding:80px 0 0; }

@media screen and (max-width: 770px) {
	.150p { padding:100px 0; }
	.100p { padding:50px 0; }
	
	.top150p { padding-top:100px; }
	.top100p { padding-top:50px; }
	.top50p { padding-top:20px; }
	
	.bottom150p { padding-bottom:100px; }
	.bottom100p { padding-bottom:50px; }
	.bottom50p { padding-bottom:20px; }
	
	.top150m { margin-top:100px; }
	.top100m { margin-top:50px; }
	.top50m { margin-top:30px; }
	.top20m { margin-top:20px; }
	
	.bottom150m { margin-bottom:100px; }
	.bottom100m { margin-bottom:50px; }
	.bottom50m { margin-bottom:30px; }
	.bottom20m { margin-bottom:20px; }
	
	.s03mg { padding:0px 0 100px; }
}

@media screen and (max-width: 420px) {
	.150p { padding:100px 0; }
	.100p { padding:20px 0; }
	
	.top150p { padding-top:100px; }
	.top100p { padding-top:20px; }
	.top50p { padding-top:20px; }
	
	.bottom150p { padding-bottom:100px; }
	.bottom100p { padding-bottom:50px; }
	.bottom50p { padding-bottom:20px; }
	
	.top150m { margin-top:100px; }
	.top100m { margin-top:50px; }
	.top50m { margin-top:30px; }
	.top20m { margin-top:20px; }
	
	.bottom150m { margin-bottom:100px; }
	.bottom100m { margin-bottom:50px; }
	.bottom50m { margin-bottom:30px; }
	.bottom20m { margin-bottom:20px; }
	
	.s03mg { padding:0px 0 100px; }
	}