/* =======================================
	共通
======================================= */
html, body{
	margin: 0;	/* 余白の削除 */
	padding: 0;	/* 余白の削除 */
	height: 100%;	/* 縦の高さを100% */
	width: 100%;	/* 横の幅を100% */
	font-size:62.5%;
}
body{
    background: #FBFBF0 url(./../img/background/bg_body.png) repeat-x left top;
    font-family:"游ゴシック", YuGothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
    color:#333;
    font-size:16px;
    font-size:1.6rem;
    line-height:160%;
    letter-spacing:0rem;
}
#wrap {
    position: relative;
    min-height: 100%;
}
/* header */
#header { 
    margin: 0px auto;
    text-align:center;
    max-width:1080px;
    width:100%;
    height:250px;
}
.sp #header { 
    height:150px;
}
#contents-layer{
    margin: 0px auto 0;     /* 上から10px分余白を取る */
    padding: 0px 0px 150px;   /* フッターの高さの分余白を取る */
    width:100%;
}
.contents-inner{
    margin:0px auto;
    padding:0px 0px;
}
.main-visual {
    background:url(./../img/background/bg_main_visual.jpg) repeat center top;
    padding:10px 0;
    position:relative;
}
.main-visual::after {
    display:block;
    border-style: solid;
    border-width: 13px 12px 0;
    border-color: #6AB92C transparent transparent transparent;
    content: "";
    margin: auto;
    width: 0;
    height: 0;
    position: absolute;
    bottom: -1.3rem;
    left: 0;
    right: 0;
}
.contents-bloc {
    margin:30px 0px;
    width:100%;
}
.sp .contents-bloc {
    width:auto;
    padding:0 20px;
}
#footer{
    background: #C3D701;
    width:100%;
    height: 80px;
    position: absolute;
    bottom: 0px;
    padding: 0px;
}
#footer-inner{
    position:relative;
    border-top:1px solid #fff;
	margin: 10px auto 0;
	background: #6AB92C;
	line-height: 70px;
  color: #fff;
  text-align: center;

}
img{max-width:100%;height:auto;display:block;margin-left:auto;margin-right:auto}
input[type="button"],
input[type="text"],
input[type="submit"],
input[type="search"],
input[type="image"] {
   -webkit-appearance: none;
   border-radius: 0;
}
.attention{
   color:#ff3333;
}
input[type="text"],
textarea {
    width:100%;
}
input[name="contact_tel01"],
input[name="contact_tel02"],
input[name="contact_tel03"],
input[name="contact_fax01"],
input[name="contact_fax02"],
input[name="contact_fax03"] {
    width:25%;
}
ul.btn1 {
    margin:30px 0;
    text-align:center;
}
ul.btn2 {
    margin:30px 0;
    text-align:center;
}
ul.btn2 li{
    width:50%;
    float:left;
}
.button1 {
	display: inline-block;
	width: 240px;
	height: 50px;
	text-align: center;
	text-decoration: none;
	line-height: 50px;
	outline: none;
	position: relative;
	background-color: #1a9cbc;
	border-radius: 4px;
	color: #fff;
	line-height: 52px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 0 #0e738c;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
	border-style:none;
	cursor:pointer;
}
.button2 {
	display: inline-block;
	width: 240px;
	height: 50px;
	text-align: center;
	text-decoration: none;
	line-height: 50px;
	outline: none;
	position: relative;
	background-color: #888;
	border-radius: 4px;
	color: #fff;
	line-height: 52px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 0 #555;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
	border-style:none;
	cursor:pointer;
}
.button1::before,
.button1::after,
.button2::before,
.button2::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button1,
.button1::before,
.button1::after,
.button2,
.button2::before,
.button2::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button1:hover {
	background-color: #31aac8;
	box-shadow: 0 3px 0 #2388a1;
}
.button2:hover {
	background-color: #aaa;
	box-shadow: 0 3px 0 #888;
}
.button1:active,
.button2:active {
	top: 3px;
	box-shadow: none;
}
/* =======================================
	ClearFix
======================================= */
.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {clear: both;}
.clearfix {*zoom: 1;}
a{color:#333;text-decoration:none;}
a:focus, *:focus { outline:none; }

/* =======================================
	Header
======================================= */
#header-inner {
  position:relative;
}
#header-inner h1 {
  position:absolute;
  top:40px;
  left:0;
  right:0;
  margin:0 auto;
}
#header-inner h1 a img{
  z-index:100;
  display:inline;
  position:relative;
}
#header-inner h1 a img.pc {
  display:block;
}
#header-inner h1 a img.sp{
  display:none;
}
.sp #header-inner h1 a img.pc {
  display:none;
}
.sp #header-inner h1 a img.sp{
  display:block;
}
#header-inner p.header-tel {
  position:absolute;
  top:20px;
  right:100px;
}
.sp #header-inner p.header-tel {
  display:none;
}
#header-inner p.header-mail {
  position:absolute;
  top:0px;
  right:0px;
}
#header-inner .gnav{
  position:relative;
}
#header-inner .gnav ul{
  width:100%;
  position:absolute;
  top:100px;
  z-index:0;
}
#header-inner .gnav ul li{
  display:block;
  margin:0;
  width:13%;
  float:left;
  border-left: 1px dashed #ccc;
  box-sizing: border-box;
}
#header-inner .gnav ul li a{
  display:inline-block;
  text-align:center;
  font-size: 1.6rem;
  font-weight: 900;
  width:100%;
  line-height:40px;
}
#header-inner .gnav ul li:nth-child(3){
  margin:0 11% 0 0;
  border-right: 1px dashed #ccc;
}
#header-inner .gnav ul li:nth-child(4){
  margin:0 0 0 11%;
}
#header-inner .gnav ul li:nth-child(6){
  border-right: 1px dashed #ccc;
}
#header-inner .gnav ul li a span:before{
    display:block;
    top:0px;
    left:0px;
    transition: all 500ms 0s ease;
}
#header-inner .gnav ul li:nth-child(1) a span:before{
    content:url(./../img/icon/gnav1.png);
}
#header-inner .gnav ul li:nth-child(2) a span:before{
    content:url(./../img/icon/gnav2.png);
}
#header-inner .gnav ul li:nth-child(3) a span:before{
    content:url(./../img/icon/gnav3.png);
}
#header-inner .gnav ul li:nth-child(4) a span:before{
    content:url(./../img/icon/gnav4.png);
}
#header-inner .gnav ul li:nth-child(5) a span:before{
    content:url(./../img/icon/gnav5.png);
}
#header-inner .gnav ul li:nth-child(6) a span:before{
    content:url(./../img/icon/gnav6.png);
}
#trigger-inner {
  display:none;
}
.sp #trigger-inner {
    display: inline;
    position: absolute;
    top: 15px;
    left: 40px;
    transition: all 1000ms 0s ease;
}
.sp #trigger-inner.open {
    left:290px;
    transition: all 1000ms 0s ease;
}
.sp .menu-trigger,
.sp .menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	z-index:100;
}
.sp .menu-trigger {
	position: relative;
	width: 40px;
	height: 32px;
	float:right;
	top:40px;
	right:25px;
	z-index:103;
}
.sp .menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #6AB92C;
	border-radius: 1px;
}
.sp .menu-trigger {
	color:#6AB92C;
}
.sp .menu-trigger span:nth-of-type(1) {
	top: 0;
}
.sp .menu-trigger span:nth-of-type(2) {
	top: 14px;
}
.sp .menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
.sp .menu-trigger.open span:nth-of-type(1) {
	-webkit-transform: translateY(14px) rotate(-45deg);
	transform: translateY(14px) rotate(-45deg);
}
.sp .menu-trigger.open span:nth-of-type(2) {
	opacity: 0;
}
.sp .menu-trigger.open span:nth-of-type(3) {
	-webkit-transform: translateY(-14px) rotate(45deg);
	transform: translateY(-14px) rotate(45deg);
}
.sp .menu-trigger p {
    background-color:none;
    color:#fff;
    font-size:1.0rem;
}
.sp #gnav-inner{
    position:fixed;
    top:0px;
    left:-250px;
    background:#DCE67B;
    width:250px;
    height:100%;
    z-index:102;
}
.sp #gnav-inner.on{
  left:0px;
  transition: all 1000ms 0s ease;
}
.sp #gnav-inner.off{
  left:-250px;
  transition: all 1000ms 0s ease;
}
.sp #header-inner #gnav {
  position:absolute;
  background:#F48953;
  height:100%;
  top:0;
  left:auto;
  right:0px;
  z-index:10;
}
.sp #header-inner .gnav ul{
  width:100%;
  display:table;
  table-layout:fixed;
  top:0;
}
.sp #header-inner .gnav ul li{
  display:block;
  float:none;
  width:100%;
  border-bottom:1px solid #fff;
  position:relative;
  text-align:left;
}
.sp #header-inner .gnav ul li::before,
.sp #header-inner .gnav ul li::after {
    content:none;
}
.sp #header-inner .gnav ul li:nth-child(3){
  margin:0 0 0 0;
  border-right: none;
}
.sp #header-inner .gnav ul li:nth-child(4){
  margin:0 0 0 0;
}
.sp #header-inner .gnav ul li:nth-child(6){
  border-right: none;
}
.sp #header-inner .gnav ul li a span:before{
    display:inline;
    position:relative;
    top:16px;
    left:15px;
    padding-right:30px;
    transition: all 500ms 0s ease;
}
.sp #header-inner .gnav ul li a p{
  padding-left:20px;
}
.sp #header-inner .gnav ul li a{
  display:block;
  text-align:left;
  padding-left:0px;
  line-height:80px;
  color:#6AB92C;
  transition: none;
}
#overlay.on {
		position:			fixed;
		top:				0;
		left:				0;
		height:				100%;
		width:				100%;
		background:			#000;
		opacity:			0.8;
		z-index:			101;
		transition: all 1000ms 0s ease;
}
/* =======================================
	title
======================================= */
h2.main-ttl {
  margin:100px 0 100px;
  font-size:4.0rem;
  text-align:center;
  color:#305C2C;
  text-shadow:
  -1px -1px 0px #fff,
  1px -1px 0px #fff,
  1px 1px 0px #fff,
  -1px 1px 0px #fff,
  1px 2px 3px rgba(0, 0, 0, 0.5);
}
h2.page-ttl {
  margin:0px auto;
  padding:60px 0;
  font-size:3.4rem;
  text-align:center;
  color:#fff;
}
h2.page-ttl span{
  display:block;
  font-size:1.4rem;
  padding-top:20px;
}
h4{
  margin:50px auto 0;
  background:#6AB92C;
  padding:15px 20px;
  border-radius:10px;
  color:#fff;
  max-width:760px;
}
h5{
  margin:20px auto 0;
  border-bottom:2px solid #6AB92C;
  color:#6AB92C;
  max-width:800px;
  width:100%;
  font-size:1.8rem;
}
dl.main-intro {
  margin:0 auto;
  max-width:1080px;
  width:100%;
  display:table;
}
dl.main-intro dd.image{
  display:table-cell;
  width:20%;
}
dl.main-intro dd.text{
  display:table-cell;
  padding:0 5%;
  width:50%;
  vertical-align:top;
}
dl.main-intro dd.text p{
  margin:0;
  padding:50px;
  background:#fff;
  border-radius:10px;
}
.sp dl.main-intro dd.image{
  display:block;
  width:100%;
}
.sp dl.main-intro dd.text{
  display:block;
  padding:0 0;
  width:100%;
  vertical-align:top;
}
dl.service-info {
  margin:50px auto 0;
  max-width:800px;
  width:100%;
  display:block;
}
dl.service-info dd{
  margin-bottom:50px;
  display:block;
  width:100%;
  min-height:250px;
}
dl.service-info dd:first-child{
  background:url(./../img/background/bg_service-info1.png) no-repeat right bottom;
}
dl.service-info dd:last-child{
  background:url(./../img/background/bg_service-info2.png) no-repeat right bottom;
}
dl.service-info dd h4{
  background:#6AB92C;
  padding:15px 20px;
  border-radius:10px;
  color:#fff;
}
dl.service-info dd ul li{
  list-style-type:square;
  list-style-position:inside;
  padding-left:0px;
  margin-top:10px;
  float:left;
  width:33.33%;
}
dl.support-info {
  margin:50px auto 0;
  max-width:800px;
  width:100%;
  display:block;
}
dl.support-info dd{
  margin-bottom:50px;
  display:block;
  width:100%;
  min-height:250px;
}
dl.support-info dd:first-child{
  background:url(./../img/background/bg_service-info1.png) no-repeat right bottom;
}
dl.support-info dd:last-child{	
  /*background:url(./../img/background/bg_service-info2.png) no-repeat right bottom;*/
}
dl.support-info dd h4{
  background:#6AB92C;
  padding:15px 20px;
  border-radius:10px;
  color:#fff;
}
dl.support-info dd ul li{
  list-style-type:square;
  list-style-position:inside;
  padding-left:0px;
  margin-top:10px;
}
dl.support-info dd ul.flow li{
  list-style-type:none;
  border-radius:20px;
  background:#fff;
  border:1px solid #6AB92C;
  color:#6AB92C;
  font-weight:900;
  max-width:600px;
  margin:20px auto;
  padding:10px 0px;
  text-align:center;
}
dl.support-info dd ul.flow li.start{
  border:1px solid #ff3333;
  color:#ff3333;
}
dl.support-info dd ul.flow li.icon{
  margin:0px auto;
  padding:0;
  background:none;
  border:none;
}
ul.main-menu {
  margin:100px auto 0;
  max-width:1080px;
  width:100%;
}
ul.main-menu li{
  position:relative;
  margin:0;
  float:left;
  width:31.33%;
  background:#6AB92C;
}
ul.main-menu li:nth-child(1){
  margin-right:2%;
}
ul.main-menu li:nth-child(2){
  margin-right:1%;
  margin-left:1%;
}
ul.main-menu li:nth-child(3){
  margin-left:2%;
}
ul.main-menu li a{
  display:block;
  padding:5px;
}
ul.main-menu li a h3{
  position:absolute;
  background:#6AB92C;
  padding:10px;
  top:0px;
  left:20px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color:#fff;
  font-size:1.6rem;
}
ul.main-menu li a p{
  background:#fff;
  padding:10px;
}
.sp ul.main-menu li{
  position:relative;
  margin:0 0 20px;
  float:none;
  width:100%;
  background:#6AB92C;
}
dl.contact-info {
  margin:50px auto 0;
  max-width:800px;
  width:100%;
  display:table;
}
dl.contact-info dt,
dl.contact-info dd {
  display:table-cell;
  vertical-align:middle;
  max-width:400px;
}
.map-bloc {
    margin:100px auto 50px;
    max-width:800px;
    width:100%;
}
.map {
    position: relative;
    padding-top: 75%;
    height: 0;
    overflow: hidden;
}
.map iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* =======================================
	table
======================================= */
.table {
    max-width:800px;
    width: 100%;
    display: table;
    border-bottom: 1px solid #ccc;
    margin:100px auto 50px;
}
.table .tbody {
    display: table-row-group;
}
.table .tbody tr{
    display: block;
    border: 1px solid #ccc;
    border-bottom: none;
    padding: 1em;
    background: #fff;
}
.table .tbody .tr > div {
    display: table-cell;
    padding: 0.7em 1em;
    text-align: center;
    border-right: 1px solid #ccc;
    border-top: 1px solid #ccc;
    overflow-x: hidden;
}
.table .tbody .tr {
    display:table;
    width:100%;
}
.table .tbody .tr > div.th {
    border-left: 1px solid #ccc;
    width:25%;
    background:#CBE3B8;
    vertical-align:middle;
    text-align:left;
}
.table .tbody .tr > div.td {
    width:75%;
    background:#fff;
    text-align:left;
}
.table .tbody .tr > div.td > div.tel {
    font-size:90%;
}
.table .tbody .tr > div.td > div.fax {
    font-size:90%;
}
/* =======================================
	table
======================================= */
.bloc {
    margin:0 auto;
    max-width:800px;
    width: 100%;
}
table {
    max-width:800px;
    width: 100%;
    display: table;
    border-bottom: 1px solid #ccc;
    margin:50px auto 0px;
}
table tbody {
    display: table-row-group;
}
table tbody tr{
    text-align: center;
    border-right: 1px solid #ccc;
    border-top: 1px solid #ccc;
    overflow-x: hidden;
    width:100%;
}
table tbody tr th {
    border-left: 1px solid #ccc;
    padding: 0.7em 1em;
    width:21%;
    background:#CBE3B8;
    vertical-align:middle;
    text-align:center;
}
table tbody tr th:nth-child(1) {
    width:16%;
}
table tbody tr th:nth-child(2) {
    width:22%;
}
table tbody tr th:nth-child(3) {
    width:20%;
}
table tbody tr th:nth-child(4) {
    width:20%;
}
table tbody tr th:nth-child(5) {
    width:22%;
}
table tbody tr td {
    border-left: 1px solid #ccc;
    padding: 0.7em 1em;
    width:20%;
    background:#fff;
    vertical-align:middle;
    text-align:center;
}

/* =======================================
	privacy
======================================= */
.privacy {
  padding: 0 0 80px;
  margin: 0 auto;
  max-width: 1080px;
  width: 100%;
  display: table;
}
.privacy a{
  line-height: 2;
  text-decoration: underline;
}
.sp .privacy {
  padding: 0 20px 80px;
}
.privacy-info{
  margin: 100px auto 0;
  max-width: 1080px;
  width: 100%;
  display: table;
}
.privacy-info h3:not(#information) {
  margin-top: 50px;
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 2px solid #6AB92C;
  color: #6AB92C;
  font-size: 1.8rem;
}
.privacy-info p {
  margin-bottom: 10px;
}
.privacy-info li {
  margin-left: 20px;
  list-style: disc;
}