@charset "utf-8";

/*******************************************************************

smaller than 768

*******************************************************************/
@media screen and (max-width: 768px) {

/************************************************************************************
GENERAL STYLING
*************************************************************************************/

body {
	font: 16px 'Hiragino Kaku Gothic Pro',Meiryo,"Helvetica Neue",sans-serif;
	color: #444;
	min-width:320px;
	width:100%;
	letter-spacing:0.05em;
	-webkit-text-size-adjust:none;
}

a {
	color:#444;
}
a:hover {
	color:#96a2b8;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
	text-decoration:none;
}

.st a {
	color: #333;
	font-weight:bold;
	text-decoration:none;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
}
.st a:hover {
	color:#96a2b8;
}

input[type="button"],input[type="text"],input[type="submit"],select {
   -webkit-appearance: none;
   border-radius: 0;
}

/************************************************************************************
GENERAL
*************************************************************************************/
#wrap {
	position:relative;
	margin: 0 auto;
	width:100%;
}

.inner {
	width:90%;
	margin:0 auto;
	position:relative;
}

.sp {
	display:block;
}


/************************************************************************************
HEADER
*************************************************************************************/
#header {
	background:#fff url(../images/head_bg.png) repeat-x;
	position: relative;
	padding:5px 0;
	height:40px;
	font-size:110%;
	width:100%;
}
#header .inner {
	width:100%;
	margin:0 auto;
}
#site-title {
	float:none;
	padding:15px 0 0 2%;
	max-width:200px;
	float:left;
	line-height:0;
}
h1#logo {
	text-align: center;
}
h1#logo .nifty {
	width:30%;
	text-align:right;
}
h1#logo .hansoku {
	width:90%;
}

#header .contact,
#description,
#header .nifty-top {
	display:none;
}

#header .sp #sp-head {
	position:relative;
	width:auto;
	padding-top:10px;
}
#header .sp #sp-head p a {
	float:left;
	display:inline-block;
	margin-right:10px;
}
#header .sp #sp-head img {
	width:25px;
}

/************************************************************************************
GNAV & SP-GNAV
*************************************************************************************/
#gnav {
	display:none;
}

#sp-gnav .menu {
	font-weight:bold;
}

.animenu__toggle {
  cursor: pointer;
  background-color: #fff;
  border: 0;
  font-size:95%;
}

.animenu__toggle img {
	width:25px;
}

.animenu__toggle__bar {
  display: block;
  -webkit-transition: 0.15s cubic-bezier(0.75, -0.55, 0.25, 1.55);
  transition: 0.15s cubic-bezier(0.75, -0.55, 0.25, 1.55);
}
.animenu__toggle__bar + .animenu__toggle__bar {
}

.animenu__toggle--active .animenu__toggle__bar {
  margin: 0;
}
.animenu__toggle--active .animenu__toggle__bar:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.animenu__toggle--active .animenu__toggle__bar:nth-child(2) {
  opacity: 0;
}
.animenu__toggle--active .animenu__toggle__bar:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
  .animenu__toggle {
    display: inline-block;
    position:relative;
  }
  .animenu__nav,
  .animenu__nav__child {
    display: none;
    background:#fff;
  }

.animenu__nav--open {
  display: block !important;
}
.animenu__nav--open .animenu__nav__child {
  display: block;
}
#sp-gnav ul {
	clear:both;
}
#sp-gnav li a {
	display:inline-block;
	float:left;
	width:40%;
	font-size:75%;
	padding:2% 5%;
	letter-spacing:0;
	background:#fff;
	border-top:2px solid #edf1f9;
}
#sp-gnav li:nth-child(odd) a {
	border-right:2px solid #edf1f9;
	margin-left:-2px;
}
#sp-gnav li:nth-child(5),
#sp-gnav li:nth-child(6) {
	border-bottom:2px solid #edf1f9;
}

/************************************************************************************
BREAD-CRUMB
*************************************************************************************/
#breadcrumb {
	clear:both;
}
#breadcrumb .inner {
	width:96%;
}
#breadcrumb li {
	float:left;
	background:url(../images/bread_arrow.png) right center no-repeat;
	padding-right:20px;
	margin-right:10px;
	color:#fff;
	font-size:75%;
}
#breadcrumb li:last-child {
	background:none;
	padding:0;
	margin:0;
}
#breadcrumb li a {
	color:#fff;
	font-weight:normal;
	text-decoration:none;
}

/************************************************************************************
PAGETITLE
*************************************************************************************/
#pagetitle {
	margin-bottom:30px;
	padding:20px 0;
}
#pagetitle h2 {
	font-size:20px;
	font-weight:normal;
	letter-spacing:0;
	margin-bottom:10px;
}
#pagetitle p {
	font-size:90%;
	line-height:160%;
}
#pagetitle br {
	display:none;
}


/************************************************************************************
CONTENTS
*************************************************************************************/
h3,h4 {
	color:#1c293a;
	font-weight:bold;
}

hr {
	border:0;
	border-bottom:5px solid #cfd8e8;
	margin:10% 0;
}

#contents section {
	margin-bottom:5%;
}

#contents .arrow_r a {
	display:block;
	background:#3375ad url(../images/arrow_r.png) right center no-repeat;
	border:10px solid #3375ad;
	color:#fff;
	text-align:center;
	text-decoration:none;
	border-radius:3px;
	padding:0 20px;
}
#contents .arrow_r a:hover {
	background:#96a2b8 url(../images/arrow_r.png) right center no-repeat;
	border:10px solid #96a2b8;
}

#plane #contents {
	line-height:160%;
}



/************************************************************************************
FOOTER
*************************************************************************************/
footer {
	margin-top:10%;
}

/*===================================
conenct
====================================*/
#connect {
	background:#cfd8e8;
	padding:5% 0 40px;
	line-height:160%;
}
#connect .title {
	font-size:140%;
	color:#1c293a;
	font-weight:bold;
	padding:5px 0 5px 10px;
	border-left:10px solid #fff;
	margin-bottom:5%;
}
#connect li {
	clear:both;
	font-size:90%;
}
#connect li .tag {
	float:left;
	width:22%;
	padding:1% 1%;
	text-align:center;
	color:#fff;
	letter-spacing:0;
	line-height:140%;
	margin:0 1% 0 0;
}
#connect li a {
	float:right;
	width:72%;
}


/*===================================
foot_consul
====================================*/
#foot_consul .box {
	width:94%;
	margin:20px auto 50px;
}
#foot_consul .title {
	padding:1% 0;
}
#foot_consul .title img {
	width:70%;
}
#foot_consul .inner {
	width:90%;
	padding:4%;
	border:4px solid #e7cf00;
}
#foot_consul .select {
	float:none;
	margin-top:10px;
}
#foot_consul .select-wrap{
	position:relative;
	overflow:hidden;
	display:block;
	border:1px solid #e7cf00;
	border-radius:5px;
	margin-right:0;
	margin-bottom:2%;
}
#foot_consul .select-wrap select{
	position:relative;
	z-index:2;
	display:block;
	font-size:80%;
	height:30px;
	width:100%;
	padding:0 2%;
	float:none;
	clear:both;
	-webkit-appearance: none;
	background:#fff url(../images/consul_select.png) right 2% center no-repeat;
	background-size:6px;
}

#foot_consul .btn input.btn_submit {
	width:100%;
	max-width:300px;
	height:53px;
	float:none;
	margin:0 auto;
	box-shadow:none;
	text-indent: -9999px;
	background: url(../images/submit_btn_s_off.png) no-repeat;
	background-size:100%;
	border:0;
}

#foot_consul .btn input.btn_submit:hover {
	background: url(../images/submit_btn_s_on.png) no-repeat;
	background-size:100%;
}

#foot_consul .badge {
	display:none;
}
#foot_consul .caption {
	font-size:75%;
	letter-spacing:0;
}

/*===================================
pagetop
====================================*/
#pagetop {
	width:100%;
	margin:0 auto;
}
#pagetop a {
	display:block;
	float:right;
	background:#1c293a url(../images/pagetop.png) 10px center no-repeat;
	padding:7px 10px 7px 30px;
	height:20px;
	margin:-34px auto 0;
	color:#fff;
	font-size:80%;
	border-radius:3px 3px 0 0;
	margin-right:10px;
}
#pagetop a:hover {
	background:#96a2b8 url(../images/pagetop.png) 10px center no-repeat;
}

/*===================================
sp-foot-nav
====================================*/
#sp-foot-nav {
	background:#cfd8e8;
	padding:5% 0 40px;
	line-height:200%;
}
#sp-foot-nav .title {
	font-size:140%;
	color:#1c293a;
	font-weight:bold;
	padding:5px 0 5px 10px;
	border-left:10px solid #fff;
	margin-bottom:5%;
}
#sp-foot-nav li {
	clear:both;
	margin:0 auto 3%;
}
#sp-foot-nav li span {
	margin-right:3%;
}
#sp-foot-nav li.about span { color:#e3c94a; }
#sp-foot-nav li.production span { color:#f26b61; }
#sp-foot-nav li.example span { color:#479aef; }
#sp-foot-nav li.faq span { color:#79ce41; }
#sp-foot-nav li.column span { color:#a687e3; }

/*===================================
foot-nav
====================================*/
#foot-nav {
	clear:both;
	background:#3b5483;
	font-size:13px;
	color:#fff;
	padding:10% 0;
	letter-spacing:0;
}
#foot-nav a {
	color:#fff;
	text-decoration:underline;
	font-weight:normal;
}
#foot-nav a:hover {
	text-decoration:none;
	color:#96a2b8;
}
#foot-nav .info {
	float:none;
	width:90%;
	margin:0 auto;
	text-align:center;
}
#foot-nav .info .logo {
	display:none;
}
#foot-nav .info .btn a {
	display:inline-block;
	border-radius:3px;
	color:#3b5483;
	font-weight:bold;
	text-decoration:none;
	text-align:center;
	font-size:16px;
	padding:10px 0;
	width:220px;
	margin-bottom:20px;
}
#foot-nav .info .btn a:hover {
	background:#96a2b8 url(../images/foot_arrow.png) 200px center no-repeat;
	color:#fff;
}
#foot-nav .info .tel {
	width:90%;
	margin:0 auto;
}

#foot-nav .nav {
	float:none;
	width:90%;
	line-height:180%;
	margin:0 auto;
}
#foot-nav .nav .lead {
	margin:5% 0 0;
}
#foot-nav .nav ul {
	display:none;
}

#foot-copy .inner {
	width:100%;
}

#foot-copy ul {
	position:relative;
	text-align:center;
	padding-bottom:3%;
	margin:0 auto 5%;
	letter-spacing:0;
}
#foot-copy li {
	position:relative;
	float:none;
	display:inline-block;
	margin-bottom:10px;
	font-size:88%;
	padding: 0 2%;
}
#foot-copy li:last-child {
	border-left:0;
	border-right:0;
}
#foot-copy .pc {
	display:none;
}

#foot-copy .gotop,
#foot-copy .toroku {
	display:none;
}
#foot-copy .copy {
	float:none;
	text-align:center;
}








}