@charset "utf-8";
/*---------------------------------------------*/
* {
	margin: 0px;
	padding: 0px;
}
html {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}
body {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	color: #666666;
	font-size: 16px;
	font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","ＭＳ Ｐゴシック",sans-serif;
	text-align: left;
	line-height: 1.6;
	background-repeat: no-repeat;
	background-position: center top;
	background-attachment: scroll;
	background-size: auto;
}
/*---------------------------------------------*/
a {
	color: #73A040;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}
img {
	margin: 0 auto;
	padding: 0;
	border: none;
	height: auto;
}
a img {
	text-decoration: none;
}
h1,h2,h3,h4 {
	font-size: 100%;
	line-height: 1.6;
	clear: both;
}
h2 {
	width: 300px;
	margin: 0;
	padding: 0 0 0 45px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3;
	background-repeat: no-repeat;
	background-position: left center;
	box-sizing: border-box;
}
h2 span {
	font-size: 14px;
	font-weight: normal;
}
h2.service01 {
	color: #FB6874;
	background-image: url(../images/icon01.png);
}
h2.service02 {
	color: #FF7000;
	background-image: url(../images/icon02.png);
}
h2.service03 {
	color: #FFC01A;
	background-image: url(../images/icon03.png);
}
h2.service04 {
	color: #9ACA00;
	background-image: url(../images/icon04.png);
}
h2.service05 {
	color: #7BCFFF;
	background-image: url(../images/icon05.png);
}
em {
	color: #FF7000;
	font-style: normal;
	font-weight: bold;
}
ul {
	list-style: none;
	text-align: left;
}
@media (max-width:768px){
	h2 span{
		display: inline-block;
		line-height: 1.2;
		margin-bottom: 0.5em;
	}
}
/*table
---------------------------------------------*/
table {
	width: 100%;
	margin: 30px 0 0 0;
	padding: 0;
	text-align: left;
	border-collapse: separate;
	border-spacing: 0 5px;
}
table th {
	width: 200px;
	margin: 0;
	padding: 10px;
	color: #FFFFFF;
	font-weight: bold;
	background-color: #7BCFFF;
	box-sizing: border-box;
}
table td {
	margin: 0;
	padding: 10px;
	box-sizing: border-box;
	border-bottom: 1px dotted #CCCCCC;
}
table.mailForm td {
	border: none;
	padding: 0 10px;
}
table td.btn {
	text-align: center;
}

/*form
---------------------------------------------*/
select,input[type="text"],input[type="password"],textarea {
	width: 100%;
	margin: 0 auto;
	padding: 10px;
	font-size: 100%;
	border: 1px solid #B2B2B2;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-ms-border-radius: 2px;
	-o-border-radius: 2px;
	border-radius: 2px;
	box-sizing: border-box;
}
:placeholder-shown {color: #AAAAAA;}
::-webkit-input-placeholder {color: #AAAAAA;}
:-moz-placeholder {color: #AAAAAA;}
::-moz-placeholder {color: #AAAAAA;}
:-ms-input-placeholder {color: #AAAAAA;}
input[type="submit"],
input[type="reset"],
input[type="button"] {
	position: relative;
	margin: 30px 0 0 0;
	padding: 10px 20px;
	color: #FFFFFF;
	font-size: 1em;
	font-weight: bold;
	border: none;
	background-color: #7BCFFF;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-ms-border-radius: 2px;
	-o-border-radius: 2px;
	border-radius: 2px;
	cursor: pointer;
}
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
	top: 2px;
	left: 2px;
	background-color: #666666;
}
label {
	display: inline-block;
	width: 300px;
	margin: 2px 0;
	padding: 2px 0;
}
label:hover {
	background: #EAF6FD;
}
/*animation
---------------------------------------------*/
/*shake*/
@-webkit-keyframes shake {
	0%  {-webkit-transform: skew(0deg,0deg);}
	25% {-webkit-transform: skew(2deg,2deg);}
	75% {-webkit-transform: skew(-2deg,-2deg);}
	100% {-webkit-transform: skew(0deg,0deg);}
}
@-moz-keyframes shake {
	0%  {-moz-transform: skew(0deg,0deg);}
	25% {-moz-transform: skew(2deg,2deg);}
	75% {-moz-transform: skew(-2deg,-2deg);}
	100% {-moz-transform: skew(0deg,0deg);}
}
@-ms-keyframes shake {
	0%  {-ms-transform: skew(0deg,0deg);}
	25% {-ms-transform: skew(2deg,2deg);}
	75% {-ms-transform: skew(-2deg,-2deg);}
	100% {-ms-transform: skew(0deg,0deg);}
}
@-o-keyframes shake {
	0%  {-o-transform: skew(0deg,0deg);}
	25% {-o-transform: skew(2deg,2deg);}
	75% {-o-transform: skew(-2deg,-2deg);}
	100% {-o-transform: skew(0deg,0deg);}
}
@keyframes shake {
	0%  {transform: skew(0deg,0deg);}
	10% {transform: skew(2deg,2deg);}
	75% {transform: skew(-2deg,-2deg);}
	100% {transform: skew(0deg,0deg);}
}
/*spin*/
@-webkit-keyframes spin {
	0% {-webkit-transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg);}
}
@-moz-keyframes spin {
	0% {-moz-transform: rotate(0deg);}
	100% {-moz-transform: rotate(360deg);}
}
@-ms-keyframes spin {
	0% {-ms-transform: rotate(0deg);}
	100% {-ms-transform: rotate(360deg);}
}
@-o-keyframes spin {
	0% {-o-transform: rotate(0deg);}
	100% {-o-transform: rotate(360deg);}
}
@keyframes spin {
	0% {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}
/*slide_right*/
@-webkit-keyframes slide_right {
	0% {-webkit-transform: translateX(100%);}
	100% {-webkit-transform: translateX(-100%);}
}
@-moz-keyframes slide_right {
	0% {-moz-transform: translateX(100%);}
	100% {-moz-transform: translateX(-100%);}
}
@-ms-keyframes slide_right {
	0% {-ms-transform: translateX(100%);}
	100% {-ms-transform: translateX(-100%);}
}
@-o-keyframes slide_right {
	0% {-o-transform: translateX(100%);}
	100% {-o-transform: translateX(-100%);}
}
@keyframes slide_right {
	0% {transform: translateX(100%);}
	100% {transform: translateX(-100%);}
}
/*slide_left*/
@-webkit-keyframes slide_left {
	0% {-webkit-transform: translateX(0%);}
	100% {-webkit-transform: translateX(100%);}
}
@-moz-keyframes slide_left {
	0% {-moz-transform: translateX(0%);}
	100% {-moz-transform: translateX(100%);}
}
@-ms-keyframes slide_left {
	0% {-ms-transform: translateX(0%);}
	100% {-ms-transform: translateX(100%);}
}
@-o-keyframes slide_left {
	0% {-o-transform: translateX(0%);}
	100% {-o-transform: translateX(100%);}
}
@keyframes slide_left {
	0% {transform: translateX(0%);}
	100% {transform: translateX(100%);}
}
/*container
---------------------------------------------*/
#container_top {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}
#container_middle {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-attachment: scroll;
	background-image: url(../images/contents_btm.png);
}
#container_map {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 500px;
	margin: 0;
	padding: 0;
	border-bottom: 20px solid #73A040;
}
#container_bottom {
	position: relative;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	background-color: #E2EDC4;
}
#container_middle img{
	max-width: 100%;
	height:auto;
}
@media (max-width:768px){
	#container_middle{
		padding-left:1em;
		padding-right: 1em;
		box-sizing: border-box;
	}
}
/*move
---------------------------------------------*/
#move_train {
	position: absolute;
	bottom: 0;
	width: 100%;
	-webkit-animation: slide_right 40s linear infinite;
	-moz-animation: slide_right 40s linear infinite;
	-ms-animation: slide_right 40s linear infinite;
	-o-animation: slide_right 40s linear infinite;
	animation: slide_right 40s linear infinite;
}
#move_car01 {
	position: absolute;
	bottom: 25px;
	width: 100%;
	-webkit-animation: slide_right 30s linear -2s infinite;
	-moz-animation: slide_right 30s linear -2s infinite;
	-ms-animation: slide_right 30s linear -2s infinite;
	-o-animation: slide_right 30s linear -2s infinite;
	animation: slide_right 30s linear -2s infinite;
}
#move_car02 {
	position: absolute;
	bottom: 50px;
	width: 100%;
	-webkit-animation: slide_left 20s linear infinite;
	-moz-animation: slide_left 20s linear infinite;
	-ms-animation: slide_left 20s linear infinite;
	-o-animation: slide_left 20s linear infinite;
	animation: slide_left 20s linear infinite;
}
@media print {
	#move_train {display: none;}
	#move_car01 {display: none;}
	#move_car02 {display: none;}
}
/*header
---------------------------------------------*/
#header {
	position: relative;
	width: 1000px;
	padding: 0;
}
#header h1 {
	width: 780px;
	height: 30px;
	margin: 0 auto;
	padding: 0;
	color: #73A040;
	font-size: 12px;
	font-weight: normal;
	text-align: right;
	line-height: 30px;
}
/*logo*/
#header #logo {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 120px;
	height: 150px;
	margin: 0;
	padding: 0;
}
#header #logo a {
	display: block;
	width: 120px;
	height: 150px;
	margin: 0;
	padding: 0;
	color: rgba(208,230,184,0);
	font-size: 0;
	background: url(../images/logo01.png) no-repeat center center;
}
#header #logo a:hover {
	-webkit-animation: shake 0.12s linear 3;
	-moz-animation: shake 0.12s linear 3;
	-ms-animation: shake 0.12s linear 3;
	-o-animation: shake 0.12s linear 3;
	animation: shake 0.12s linear 3;
}
@media (max-width:768px){
	#header,#header h1{	
		max-width: 100%;
	}
	#header h1{
		line-height: 1.2em;
		padding:0.5em;
		margin: 0;
		width:calc(100% - 110px);
        font-size: 9px;
	}
	#header #logo{
		left: 10px;
		z-index: 100;
	}
	#header #logo a{
		width: 73px;
		height: 87px;
		background-size: contain;
	}
}
/*report*/
#header #report {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	padding: 0;
}
#header #report a {
	display: block;
	width: 100px;
	height: 30px;
	margin: 0;
	padding: 0;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	line-height: 30px;
	background-color: #666666;
	-webkit-border-radius: 0 0 10px 10px;
	-moz-border-radius: 0 0 10px 10px;
	-ms-border-radius: 0 0 10px 10px;
	-o-border-radius: 0 0 10px 10px;
	border-radius: 0 0 10px 10px;
}
#header #report a:hover {
	background-color: #73A040;
}

/*contents
---------------------------------------------*/
#contents {
	width: 1000px;
	height: auto;
	margin: 0 auto;
	padding: 0 0 120px 0;
}
#contents .section {
	width: 100%;
	height: auto;
	margin: 0 0 100px 0;
	padding: 0;
}
@media (max-width:768px){
	#contents {
		max-width: 100%;
	}
}
/*footer
---------------------------------------------*/
#footer {
	width: 1000px;
	min-height: 270px;
	margin: 0 auto;
	padding: 50px 0;
	text-align: center;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
}
#footer div {
	display: inline-block;
	font-size: 14px;
	vertical-align: top;
	text-align: left;
}
#footer div:first-child {text-align: center;}
#footer div:first-child img:hover {
	-webkit-animation: shake 0.12s linear 3;
	-moz-animation: shake 0.12s linear 3;
	-ms-animation: shake 0.12s linear 3;
	-o-animation: shake 0.12s linear 3;
	animation: shake 0.12s linear 3;
}
#footer div:last-child {margin: 0;}
#footer ul {
	margin: 0 0 20px 0;
}
#footer ul li {
	margin: 0;
	padding: 0 0 0 10px;
	list-style-type: disc;
	list-style-position: inside;
}
#footer ul li a {
	color: #666666;
	text-decoration: none;
}
#footer ul li a:hover {
	text-decoration: underline;
}

@media (max-width:768px){
	#footer{
		max-width: 100%;
        height: unset;
        display: flex;
        flex-direction: column;
        padding-left: 2em;
        padding-right: 2em;
	}
	#footer div{
		margin-right:0;
	}
	#footer > div:first-child{
		padding-bottom: 50px;
	}
}
/*err
---------------------------------------------*/
.err {
	margin: 20px;
	padding: 20px 30px;
	color: #ff0000;
	text-align: center;
	border: 1px solid #ff0000;
	background-color: rgba(255,255,255,0.6);
}

/*その他
---------------------------------------------*/
@media (max-width:768px){
	iframe{
		width: 100%;
	}
}