@charset "UTF-8";
/****************************************
Resetting
*****************************************/
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, button {
	border:0;
	font-size:100%;
	font:inherit;
	margin:0;
	padding:0;
	vertical-align:baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, main,hgroup, menu, nav, section {
	display: block;
}

ol,ul,li{
	list-style:none;
}

blockquote, q {
	quotes:none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content:'';
	content:none;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

input[type="submit"],
input[type="button"],
input[type="reset"]{
	appearance: button;
	border: none;
	border-radius: 0;
	box-sizing: border-box;
	cursor: pointer;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
}
button {
	background:none;
}
select {
	-webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
	font-size:14px;
	line-height:30px;
	padding:0 10px;
	background:url(../img/select.png) no-repeat right 7px center #fff;
	background-size:9px auto;
	min-width:250px;
	border:solid 1px #aaa;
	border-radius:3px;
}
textarea {
	-webkit-appearance:none;
  -moz-appearance:none;
	appearance:none;
	box-shadow:none;
}
strong {
	font-weight:bold;
}

a {
	text-decoration: none;
	outline: none;
}
a:focus, *:focus {outline:none;}


/******************************************
normarise
******************************************/
*{
	box-sizing:border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}

body{
	color:#000;
	font-family:"ヒラギノ角ゴ", Hiragino Kaku Gothic,"メイリオ", Meiryo, sans-serif;
	font-size:20px;
	font-feature-settings:"palt";
	-webkit-font-feature-settings:"palt";
	line-height:1;
  background-color:#fff;
}
.noscroll {
	overflow:hidden;
}
img {
	width:auto;
	max-width:100%;
}
sup {
  font-size:60%;
  vertical-align:super;
}

::-webkit-input-placeholder {
	color:#b9b9b9;
}
:-ms-input-placeholder {
	color:#b9b9b9;
}
::placeholder{
	color:#b9b9b9;
}
.modalopen {
	overflow:hidden;
}

.wrapper {
  margin:0 auto;
  padding:0;
  overflow:hidden;
	position:relative;
}
.txtcenter {
	text-align:center;
}
.fl_r {
	float:right;
}

/* clearfix */
.cf:after {
	content:".";
	clear:both;
	display:block;
	width:0;
	height:0;
	visibility:hidden;
}

.sp {
	display:none;
}

/* svg */
.svg_faq path {
	fill:none;
	stroke:#fff;
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:2px;
}
.svg_info path, .svg_user path, .spnavi_btn rect, .spnavi_btn path, .lnavi_close rect {
	fill:#fff;
}
.search_icon polygon, .search_icon path {
	fill:none;
	stroke:#fff;
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:2px;
}

/* Hides from IE-mac \*/
* html .cf {
	height: 1%;
}
.cf {
	display: block;
}


/* Loading */
.loader {
  margin:100px auto;
  font-size:16px;
  width:1em;
  height:1em;
  border-radius:50%;
  position:fixed;
	top:35%;
	left:50%;
	z-index:101;
  text-indent:-9999em;
  animation:load5 1.1s infinite ease;
  transform:translateY(-50%) translateX(-50%) translateZ(0);
}
@keyframes load5 {
  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 101, 50, 0.1), 1.8em -1.8em 0 0em rgba(0, 101, 50, 0.3), 2.5em 0em 0 0em rgba(0, 101, 50, 0.3), 1.75em 1.75em 0 0em rgba(0, 101, 50, 0.3), 0em 2.5em 0 0em rgba(0, 101, 50, 0.3), -1.8em 1.8em 0 0em rgba(0, 101, 50, 0.3), -2.6em 0em 0 0em rgba(0, 101, 50, 0.6), -1.8em -1.8em 0 0em rgba(0, 101, 50, 0.8);
  }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 101, 50, 0.8), 1.8em -1.8em 0 0em rgba(0, 101, 50, 0.1), 2.5em 0em 0 0em rgba(0, 101, 50, 0.3), 1.75em 1.75em 0 0em rgba(0, 101, 50, 0.3), 0em 2.5em 0 0em rgba(0, 101, 50, 0.3), -1.8em 1.8em 0 0em rgba(0, 101, 50, 0.3), -2.6em 0em 0 0em rgba(0, 101, 50, 0.3), -1.8em -1.8em 0 0em rgba(0, 101, 50, 0.6);
  }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 101, 50, 0.6), 1.8em -1.8em 0 0em rgba(0, 101, 50, 0.8), 2.5em 0em 0 0em rgba(0, 101, 50, 0.1), 1.75em 1.75em 0 0em rgba(0, 101, 50, 0.3), 0em 2.5em 0 0em rgba(0, 101, 50, 0.3), -1.8em 1.8em 0 0em rgba(0, 101, 50, 0.3), -2.6em 0em 0 0em rgba(0, 101, 50, 0.3), -1.8em -1.8em 0 0em rgba(0, 101, 50, 0.3);
  }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 101, 50, 0.3), 1.8em -1.8em 0 0em rgba(0, 101, 50, 0.6), 2.5em 0em 0 0em rgba(0, 101, 50, 0.8), 1.75em 1.75em 0 0em rgba(0, 101, 50, 0.1), 0em 2.5em 0 0em rgba(0, 101, 50, 0.3), -1.8em 1.8em 0 0em rgba(0, 101, 50, 0.3), -2.6em 0em 0 0em rgba(0, 101, 50, 0.3), -1.8em -1.8em 0 0em rgba(0, 101, 50, 0.3);
  }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 101, 50, 0.3), 1.8em -1.8em 0 0em rgba(0, 101, 50, 0.3), 2.5em 0em 0 0em rgba(0, 101, 50, 0.6), 1.75em 1.75em 0 0em rgba(0, 101, 50, 0.8), 0em 2.5em 0 0em rgba(0, 101, 50, 0.1), -1.8em 1.8em 0 0em rgba(0, 101, 50, 0.3), -2.6em 0em 0 0em rgba(0, 101, 50, 0.3), -1.8em -1.8em 0 0em rgba(0, 101, 50, 0.3);
  }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 101, 50, 0.3), 1.8em -1.8em 0 0em rgba(0, 101, 50, 0.3), 2.5em 0em 0 0em rgba(0, 101, 50, 0.3), 1.75em 1.75em 0 0em rgba(0, 101, 50, 0.6), 0em 2.5em 0 0em rgba(0, 101, 50, 0.8), -1.8em 1.8em 0 0em rgba(0, 101, 50, 0.1), -2.6em 0em 0 0em rgba(0, 101, 50, 0.3), -1.8em -1.8em 0 0em rgba(0, 101, 50, 0.3);
  }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 101, 50, 0.3), 1.8em -1.8em 0 0em rgba(0, 101, 50, 0.3), 2.5em 0em 0 0em rgba(0, 101, 50, 0.3), 1.75em 1.75em 0 0em rgba(0, 101, 50, 0.3), 0em 2.5em 0 0em rgba(0, 101, 50, 0.6), -1.8em 1.8em 0 0em rgba(0, 101, 50, 0.8), -2.6em 0em 0 0em rgba(0, 101, 50, 0.1), -1.8em -1.8em 0 0em rgba(0, 101, 50, 0.3);
  }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0, 101, 50, 0.3), 1.8em -1.8em 0 0em rgba(0, 101, 50, 0.3), 2.5em 0em 0 0em rgba(0, 101, 50, 0.3), 1.75em 1.75em 0 0em rgba(0, 101, 50, 0.3), 0em 2.5em 0 0em rgba(0, 101, 50, 0.3), -1.8em 1.8em 0 0em rgba(0, 101, 50, 0.6), -2.6em 0em 0 0em rgba(0, 101, 50, 0.8), -1.8em -1.8em 0 0em rgba(0, 101, 50, 0.1);
  }
}
.wrapper[data-ajax_count]::before {
	content:"";
  background:#fff;
  display:block;
  width:100%;
  height:100%;
  position:fixed;
  top:0;
  left:0;
  z-index:100;
  opacity:1;
  transition:.3s ease-in-out;
}
.wrapper[data-ajax_count="0"] .loader {
	display:none;
}
.wrapper[data-ajax_count="0"]::before {
	opacity:0;
  z-index:0;
}

.inner {
	margin:0 auto;
}

/* header */
header {
	width:100%;
	z-index:30;
	background:#fff;
}
header.hdposi {
	margin-bottom:50px;
}
.headertop {
	height:100px;
  position:relative;
	z-index:30;
}
.logo {
	margin:26px 0 0 20px;
	display:inline-block;
}
.logo a {
	color:#fff;
	display:flex;
}
.logo a p {
	font-size:1.3vw;
	font-weight:bold;
	line-height:60px;
	letter-spacing:0.1em;
	text-decoration:none;
	display:inline-block;
}
.logo a img {
	max-height:60px;
	padding:0 20px 0 0;
	display:inline-block;
}
.twocol {
	display:flex;
}
header .twocol {
	float:right;
}
header .button {
	margin:20px 15px 0 0;
}
.contents .button {
	height:84px;
}
.button a {
	color:#fff;
	font-size:16px;
	text-align:center;
	text-decoration:none;
	height:56px;
	line-height:56px;
	width:270px;
	margin:0 5px;
	display:block;
	border-radius:5px;
	box-sizing:content-box;
	position:relative;
	transform:translateY(0);
	transition:transform ease .5s, border ease .5s;
}
.button a::before {
	content:"";
	width:100%;
	height:50%;
	position:absolute;
	display:block;
	background:rgba(255,255,255,0.1);
	position:absolute;
	bottom:50%;
	left:0;
}
.button a::after {
	content:"";
	width:calc(100% - 12px);
	height:calc(100% - 12px);
	display:block;
	border:solid 1px #fff;
	position:absolute;
	top:5px;
	left:5px;
	border-radius:5px;
	opacity:0.5;
}
.button a.freeplan {
	background:#f37d1d;
	border-bottom:solid 4px #cf6b19;
}
.button a.freeplan span {
  padding:0 0 0 32px;
	display:inline-block;
	position:relative;
}
.button a.freeplan svg {
  width:26px;
	position:absolute;
  top:50%;
	left:0;
	margin-top:-13px;
}
.button a.freeplan svg path {
  fill:#fff;
}

.button a.login {
	background:#00bc83;
	border-bottom:solid 4px #01a573;
}
.button a.login span {
  padding:0 0 0 34px;
	display:inline-block;
	position:relative;
}
.button a.login svg {
  width:27px;
	position:absolute;
  top:50%;
	left:0;
	margin-top:-13px;
}
.button a.login svg path, .button a.login svg line {
  fill:none;
  stroke:#fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit:22.9256;
}

.gmenu {
	background:#006532;
	position:relative;
	z-index:30;
}
.hdposi .gmenu {
	width:100%;
	position:fixed;
	top:0;
	left:0;
	z-index:30;
}
.gmenu ul {
	max-width:1200px;
	margin:0 auto;
	display:flex;
	flex-wrap:nowrap;
}
.gmenu ul li {
	font-size:16px;
	line-height:30px;
	text-align:center;
	padding:10px 5px;
	position:relative;
}
.gmenu ul li::before, .gmenu ul li::after {
	content:"";
	width:1px;
	height:calc(100% - 20px);
	position:absolute;
	top:10px;
}
.gmenu ul li::before {
	background:#4d9470;
	left:0;
}
.gmenu ul li::after {
	background:#004723;
	right:0;
}
.gmenu ul li:first-child::before {
	display:none;
}
.gmenu ul li:last-child::after {
	display:none;
}

.gmenu .about {
	width:16%;
}
.gmenu .scene {
	width:15.5%;
}
.gmenu .func {
	width:14%;
}
.gmenu .iot {
	width:20.5%;
}
.gmenu .step {
	width:17%;
}
.gmenu .fee {
	width:13%;
}

/* later
.gmenu .about {
	width:13%;
}
.gmenu .scene {
	width:12.5%;
}
.gmenu .func {
	width:10%;
}
.gmenu .iot {
	width:17.5%;
}
.gmenu .step {
	width:14%;
}
.gmenu .fee {
	width:9%;
}
.gmenu .case {
	width:11%;
}
.gmenu .seminar {
	width:13%;
}
*/

.gmenu ul li a {
	color:#fff;
	text-decoration:none;
	padding:0;
	display:block;
	border-radius:3px;
}
.gmenu ul li ul {
	width:230px;
	display:none;
	background:#006433;
	padding:5px 0;
	margin:0;
	position:absolute;
	top:61px;
	left:50%;
	transform:translateX(-50%);
}
.gmenu ul li ul::before {
	content:"";
	width:100%;
	height:12px;
	display:block;
	background:transparent;
	position:absolute;
	top:-11px;
	left:0;
}
.gmenu ul li.acc a::after {
	content:"";
	width:14px;
	height:0;
	display:block;
	background:url(../img/ico_acc.png) no-repeat 0 0;
	background-size:14px auto;
	position:absolute;
	bottom:-11px;
	left:50%;
	margin-left:-7px;
	opacity:0;
	transition:opacity ease .3s;
}
.gmenu ul li.acc:hover a::after {
	height:11px;
	opacity:1;
}
.gmenu ul li ul li {
	font-size:16px;
	line-height:1.3;
	padding:0;
	text-align:left;
}
.gmenu ul li ul li::before, .gmenu ul li ul li::after, .gmenu ul li.acc ul li a::after {
	display:none;
}
.gmenu ul li ul li a {
	padding:10px 10px 10px 30px;
	border-radius:0;
	position:relative;
}
.gmenu ul li.func a > svg, .gmenu ul li.iot a > svg, .spnavi ul li a > svg {
	width:10px;
	height:9px;
	position:relative;
	top:-1px;
}
.spnavi ul li.acc > a > svg {
	transition:transform ease .3s;
}
.spnavi ul li a.open > svg {
	transform:rotate(180deg);
}
.gmenu ul li ul li svg, .gmenu ul li.func ul li svg, .gmenu ul li.iot ul li svg {
	fill:#fff;
	width:9px;
	height:11px;
	position:absolute;
	top:13px;
	left:15px;
}
.spnavi, .spnavi_btn, .spnavi_close, .spnavi_btn.open svg {
	display:none;
}
.spnavi .spnavi_btn.open .spnavi_close {
	display:block;
}
.spnavi_btn, .spnavi_close {
	width:70px;
	height:70px;
	position:absolute;
	top:0;
	right:0;
	z-index:1;
	background:#006532;
}
.spnavi_btn svg {
	width:70px;
	padding:17px 15px 0;
}
.spnavi_btn .spnavi_close {
	width:70px;
	padding:18px;
}
.spnavi {
	width:100%;
	height:100vh;
	position:fixed;
	top:0;
	left:0;
	overflow:auto;
}
.spnavi ul {
	margin:70px 0 0;
	background:#0a6534;
	position:relative;
	z-index:2;
}
.spnavi ul li {
	font-size:16px;
	line-height:1.4;
	padding:0;
	border-bottom:solid 1px #fff;
}
.spnavi ul li.close {
	border-bottom:0;
}
.spnavi ul li.closebtn {
	line-height:1;
	border:0;
	position:relative;
}
.spnavi ul li a {
	color:#fff;
	padding:10px 15px;
	display:block;
}
.spnavi ul li.close a {
	text-align:center;
	background:#0d8c4c;
}
.spnavi ul li.closebtn a {
	padding:0;
	position:absolute;
	top:-70px;
	right:0;
	background:#0a6534;
}
.spnavi ul li.closebtn a > svg {
	height:auto;
}
.spnavi ul li ul {
	margin:0;
	background:#28b682;
	display:none;
}
.spnavi ul li ul li {
	border-top:solid 1px #fff;
	border-bottom:0;
}

/* footer */
footer {
  position: relative;
  background:#fff;
  z-index:20;
  overflow: hidden;
}
footer .inner {
  padding:30px 10px;
  position:relative;
}
footer p.copyright {
  color:#000;
  font-size:14px;
  line-height:1.3;
  margin:17px 0 0;
  text-align:center;
	clear:both;
}
.ftlogo a {
	width:82px;
	margin:0 auto;
	display:block;
}
.ftlogo svg path, .ftlogo svg polygon {
	fill:#fff;
}
.ftlogo p {
	margin:18px 0 28px;
}
.ftlogo p img {
	width:139px;
	margin:0 auto;
	display:block;
}
.ftnavi {
	text-align:center;
}
.ftnavi li {
	font-size:14px;
	line-height:1;
	display:inline-block;
	border-right:solid 1px #000;
}
.ftnavi li:first-child {
	border-left:solid 1px #000;
}
.ftnavi li a {
	color:#000;
	padding:0 20px;
	display:block;
	text-decoration:none;
}
.ftnavi li a:hover {
	text-decoration:underline;
}
.ftmenu {
	background:#eee;
}
.ftmenu .inner {
	width:100%;
	max-width:1200px;
	padding:45px 0 30px 100px;
	box-sizing:border-box;
	display:flex;
	flex-wrap:nowrap;
}
.ftmenu .inner .menu:nth-child(1) {
	width:20%;
}
.ftmenu .inner .menu:nth-child(2) {
	width:33%;
}
.ftmenu .inner .menu:nth-child(3) {
	width:22%;
}
.ftmenu .inner .menu:nth-child(4) {
	width:25%;
}
.ftmenu .menu p {
	font-size:18px;
	font-weight:bold;
	line-height:1.4;
	margin:0 0 15px;
}
.ftmenu .menu p a {
	color:#096334;
	text-decoration:none;
	padding:0 0 0 28px;
	background:url(../img/ico_ft_link.png) no-repeat 0 2px;
	background-size:20px auto;
}
.ftmenu .twocol {
	flex-wrap:wrap;
}
.ftmenu .menu ul li {
	font-size:16px;
	line-height:1.4;
	margin:0 0 15px 30px;
}
.ftmenu .twocol li {
	width:calc(50% - 30px);
	max-width:120px;
}
.ftmenu .menu ul li a {
	color:#096334;
	text-decoration:none;
	padding:0 0 0 13px;
	background:url(../img/ico_ft_list_link.png) no-repeat 0 4px;
	background-size:7px auto;
}

.pageTop {
	width:76px;
  height:76px;
  margin:0 auto;
  z-index:21;
  clear:both;
	visibility:visible;
	position:fixed;
	top:auto;
	bottom:28px;
	right:0;
}
.pageTop.ftposi {
	position:absolute;
	bottom:auto;
	top:0;
}
.pageTop a {
  width:76px;
  height:76px;
	display:block;
	position: relative;
	background:#096433;
	transform:translateY(0%);
	transition:background ease .5s;
}
.fixbnr .pageTop a {
	transform:translateY(-100%);
}
.fixbnr .pageTop.nobnr a {
	transform:translateY(0%);
}
.pageTop.ftposi a, .pageTop.closebnr a, .pageTop.nobnr a {
	top:0 !important;
}
.pageTop svg {
	width:38%;
	position:absolute;
	top:50%;
	left:50%;
	transform:translateY(-50%) translateX(-50%);
}
.pageTop svg path {
	fill:#fff;
}


/* Contents */
.contentsarea {
	margin:0;
}
.contents {
	width:100%;
	padding:0;
}


/* anime */
.ready {
  visibility: hidden;
  opacity: 0;
  transition: 0.6s opacity cubic-bezier(0, 0, 0.58, 1), 0.6s visibility cubic-bezier(0, 0, 0.58, 1), 0.6s transform cubic-bezier(0, 0, 0.58, 1);
  transform:translate(0, 30px);
}
.ready.action {
  visibility: visible;
  opacity: 1;
  transform: translate(0, 0);
}


/* footer banner */
.fix_banner {
	width:100%;
	height:104px;
	padding:10px 0;
	position:fixed;
	bottom:0;
	left:0;
	background:#e8fef2;
	z-index:31;
	box-sizing:border-box;
	opacity:0;
	display:none !important;
	transition:ease .3s;
}
.fixbnr .fix_banner {
	display:block !important;
	opacity:1;
}
.fix_banner.hide {display:none !important;}
.wrapper .fix_banner .inner {
	max-width:1050px;
	margin:0 auto;
	position:relative;
}
.wrapper .fix_banner .image {
	width:108px;
	position:absolute;
	top:-40px;
	left:0;
}
.wrapper .fix_banner .image img {
	display:block;
}
.wrapper .fix_banner .twocol {
	justify-content:space-between;
}
.wrapper .fix_banner .button {
	width:53.333%;
	max-width:560px;
	margin:0;
}
.wrapper .fix_banner .contactbtn {
	width:43.8%;
	max-width:460px;
}
.wrapper .fix_banner .button a {
	width:100%;
	display:block;
}
.fix_banner .contactbtn a {
	background:#00bc83 !important;
	border-bottom:solid 4px #01a573 !important;
}
.wrapper .fix_banner .button a > span {
	line-height:1.2;
	text-align:left;
	padding:3px 0 0 74px;
	display:inline-block;
	position:relative;
}
.wrapper .fix_banner .button a > span .icon {
	position:absolute;
	left:0;
}
.wrapper .fix_banner .contactbtn a > span {
	padding-left:59px;
}
.wrapper .fix_banner .contactbtn a > span .icon {
	max-width:45px;
	top:5px;
}
.wrapper .fix_banner .button a .text {
	top:-5px;
}
.wrapper .fix_banner .button a .text .sml {
	font-size:66.66%;
	display:inline-block;
}
.fix_close {
	width:30px;
	height:30px;
	padding:8px;
	position:absolute;
	top:-10px;
	right:-150px;
	background:#f37d1d;
	display:block;
	box-sizing:border-box;
	transition:background ease .5s;
}
.fix_close svg {
	width:14px;
	height:auto;
	fill:#fff;
	display:block;
}

@media screen and (max-width:1399px) {
.fix_close {
	right:-70px;
}

}

@media screen and (max-width:1199px) {
.gmenu ul li ul li {
	font-size:14px;
}
.fix_banner {
	padding:10px 80px;
}
.wrapper .fix_banner .button a > span {
	padding:0.7% 0 0 16%;
}
.wrapper .fix_banner .contactbtn a > span {
  padding-left:14.5%;
}
.fix_banner .button a {
	height:auto;
	line-height:1.5;
}

}

@media screen and (max-width:1099px) {
.pageTop a {
	top:5px;
}
.fix_banner {
	height:auto !important;
	z-index:21;
}

}

@media screen and (max-width:999px) {
.headertop {
	height:90px;
}
.logo {
	margin:21px 0 0 10px;
}
.logo a {
	position:relative;
	display:block;
}
.logo a img {
  height:40px;
	padding:0 15px 0 0;
}
header .button {
	margin:15px 5px 0 0;
}
header .button a {
	font-size:15px;
	width:240px;
}
.gmenu ul li, .gmenu ul li ul li {
	font-size:14px;
}
.gmenu ul li ul {
	width:200px;
}
.ftmenu .inner {
	padding:40px 0 30px 50px;
}
.ftmenu .menu p {
	font-size:16px;
}
.ftmenu .menu p a {
	padding:0 0 0 22px;
	background-size:16px;
}
.ftmenu .menu ul li {
  font-size:14px;
  margin:0 0 10px 20px;
}

.fix_banner {
  padding:10px 40px;
}
.wrapper .fix_banner .button {
	width:calc(55% - 10px);
}
.wrapper .fix_banner .contactbtn {
  width:calc(45% - 10px);
}
.fix_close {
  right:-40px;
}
.wrapper .fix_banner .contactbtn a > span .icon {
	top:1px;
}

}


@media screen and (max-width:899px) {
.ftmenu .inner {
	padding:40px 0 30px 30px;
}
.ftmenu .menu p {
  font-size:14px;
}
.ftmenu .menu p a {
	padding:0 0 0 19px;
	background-size:14px auto;
}
.ftmenu .menu ul li {
  font-size: 12px;
}
.ftmenu .twocol li {
	max-width:90px;
}
.ftmenu .menu ul li a {
	padding:0 0 0 10px;
	background-size:5px auto;
}

}


@media screen and (max-width:799px) {
.gmenu ul li, .gmenu ul li ul li {
	font-size:13px;
}

}

@media screen and (max-width:767px) {
.pc, .gmenu, header .button a::after {
	display:none;
}
.sp {
	display:block;
}
.gmenu {
	height:0;
}
.headertop {
  height:70px;
}
.spnavi_btn, .spnavi .spnavi_btn.open {
	display:block;
}
.spnavi_btn.open {
	display:none;
}
.logo {
	margin-top:15px;
}
header.hdposi {
	margin-bottom:0;
}
header .button {
  margin:0;
	position:absolute;
	top:0;
	right:70px;
}
header .button a {
  font-size:16px;
	line-height:1.3;
	text-align:left;
  width:auto;
	height:70px;
	margin:0;
	padding:0 20px;
	display:block;
	border-bottom:0 !important;
	border-radius:0;
}
header .button a span {
	position:absolute;
	top:50%;
	transform:translateY(-50%);
}
.start .button {
	height:auto;
}
.ftnavi li {
	margin:0 0 10px;
}
.ftnavi li:nth-child(4) {
	border-left:solid 1px #000;
}
.ftnavi li a {
  color:#000;
  padding:0 20px;
  display:block;
  text-decoration:none;
}
.pageTop {
	bottom:0;
}
.pageTop, .pageTop a {
	width:50px;
	height:50px;
}
.pageTop a {
	top:0;
}
.fixbnr .pageTop a {
	top:auto;
	bottom:34px;
}
.fixbnr .pageTop.ftposi a, .fixbnr .pageTop.closebnr a, .fixbnr .pageTop.nobnr a {
	top:auto !important;
	bottom:0 !important;
}

.ftmenu .inner {
	padding:40px 15px 0;
	flex-wrap:wrap;
}
.ftmenu .inner .menu {
	width:50% !important;
	padding:0 0 0 50px;
	margin:0 0 30px;
}
.ftmenu .inner .menu:nth-child(even) {
	padding:0 50px 0 0;
}
.ftmenu .menu ul li:last-child {
	margin-bottom:0;
}
.fix_banner {
	height:92px;
}
.wrapper .fix_banner .image {
	top:-30px;
	width:80px;
}
.contents .button {
	height:auto;
}
.wrapper .fix_banner .button a > span .icon {
  top:45%;
  transform:translateY(-50%);
}
.fix_close {
	top:-5px;
}

}


@media screen and (max-width:699px) {
.pageTop a {
	top:0;
}
.fixbnr .pageTop a {
	bottom:106px;
}

}


@media screen and (max-width:639px) {
.logo a img {
	height:30px;
}
.headertop {
  height:60px;
}
header .button {
	right:60px;
}
header .button a {
  font-size:14px;
	height:60px;
	padding:0 10px;
}
.spnavi_btn, .spnavi_close {
	width:60px;
	height:60px;
}
.spnavi_btn svg, .spnavi_btn .spnavi_close {
	width:60px;
}
.spnavi ul {
	margin:60px 0 0;
}
.spnavi ul li.closebtn a {
	top:-60px;
}
.ftmenu .inner {
  padding:25px 15px 20px;
}
.ftmenu .inner .menu {
	width:100% !important;
	padding:0 0 0 35px;
	margin:0;
}
.ftmenu .inner .menu:nth-child(even) {
	padding:0 0 0 35px;
}
.ftmenu .menu p {
	margin:0 0 10px;
}
.ftmenu ul {
	margin:0 0 20px;
}
.ftmenu .twocol li:nth-child(even) {
	width:60%;
	max-width:none;
}
.fix_banner {
	height:79px;
}
.wrapper .fix_banner .button a > span {
	padding:13px 0 0 54px;
}
.wrapper .fix_banner .image {
	top:-20px;
  width:64px;
}
.pageTop a {
	top:0;
}
.fixbnr .pageTop a {
	bottom:99px;
}

}


@media screen and (max-width:559px) {
.pageTop a {
	top:0;
}
.fixbnr .pageTop a {
	bottom:87px;
}

}


@media screen and (max-width:479px) {
.logo {
  margin-top:11px;
}
.logo a img {
	height:25px;
}
.headertop {
  height:50px;
}
header .button {
	right:50px;
}
header .button a {
  font-size:12px;
	height:50px;
}
.spnavi_btn, .spnavi_close {
	width:50px;
	height:50px;
}
.spnavi_btn svg {
	width:50px;
	padding:12px 10px 0;
}
.spnavi_btn .spnavi_close {
	width:50px;
	padding:13px;
}
.spnavi ul {
	margin:50px 0 0;
}
.spnavi ul li.closebtn a {
	top:-50px;
}
.button a.freeplan svg {
  width:13px;
	margin-top:-7px;
}
.button a.login svg {
  width:14px;
	margin-top:-7px;
}
.button a.freeplan span {
	padding:0 0 0 16px;
}
.button a.login span {
	padding:0 0 0 17px;
}
.ftmenu .twocol li:nth-child(even) {
	width:50%;
}
.ftnavi li {
	font-size:12px;
}
.ftnavi li a {
  padding:0 15px;
}
.fix_banner {
	height:63px;
}
.wrapper .fix_banner .button a {
	font-weight:normal;
}
.pageTop a {
	top:0;
}
.fixbnr .pageTop a {
	bottom:105px;
}

}


@media screen and (max-width:379px) {
.pageTop a {
	top:0;
}
.fixbnr .pageTop a {
	bottom:85px;
}

}


@media screen and (max-width:369px) {
.headertop {
  height:40px;
}
.logo {
  margin-top:9px;
}
.logo a img {
  height:20px;
}
.spnavi_btn, .spnavi_close, .spnavi_btn .spnavi_close {
  width:40px;
  height:40px;
}
.spnavi ul li {
	font-size:14px;
}
.spnavi ul li.closebtn a {
  top:-40px;
}
.spnavi_btn svg {
  width:40px;
}
header .button {
	right:40px;
}
header .button a {
	font-size:11px;
	height:40px;
	padding:0 8px;
}
.spnavi ul {
	margin:40px 0 0;
}
.wrapper .fix_banner .button a {
	font-size:11px;
}
.wrapper .fix_banner .button a > span {
  padding:11px 0 0 36px;
}
.wrapper .fix_banner .image {
	top:-16px;
  width:50px;
}

}

@media screen and (min-width:768px) {
a.spnavi_btn:hover, a.lnavi_close:hover,
.ftmenu .menu p a:hover, .ftmenu .menu ul li a:hover {
	text-decoration:underline;
}
.button a:hover {
	transform:translateY(4px);
	border-bottom:solid 0 !important;
}
.gmenu ul li a:hover, .gmenu ul li ul li a:hover, .pageTop a:hover {
	background:#0d8c4c;
}
.spnavi {
	display:none !important;
}
.fix_close:hover {
	background:#f69838;
}

}
