@charset "utf-8";

/* =====================
	Layout
======================= */
#wrap {
    width: 100%;
    background: url(../img/share/hed-bg.png) repeat-x left top;
}

#container {
	clear:both;
	width: 980px;
	margin: 0 auto 0;
	padding: 10px 0 0;
	display: -webkit-flex; /* Safari */
	display: flex;
}

.main {
	width: 980px;
}
#index .main {
	width: 680px;
}
.side {
	width: 280px;
	margin-left: 20px;
}

.tel a { color: #fff; }

/* =====================
	header
======================= */
#top-head .inner {
    width: 980px;
    margin: 0 auto;
    position: relative;
}
#top-head .inner:after {
    content: "";
    clear: both;
    display: block;
}

#top-head {
    top: -100px;
    /*position: absolute;*/
    width: 100%;
    
    /*margin: 100px auto 0;*/
    padding: 0;
    line-height: 1;
    z-index: 999;
    
}

#top-head .logo {
	float: left;
	width: 223px;
	height: 138px;
	margin: 20px 10px 0;
	background: url(../img/share/logo.png) no-repeat;
}
#top-head .logo a {
	display: block;
	height: 100%;
	white-space: nowrap;
	position: relative;
	text-indent: 100%;
	overflow:hidden;
	z-index: 9999999;
}

#top-head .tel {
	position: absolute;
	top: 20px;
	 right: 0;
}
#top-head .sp {
	display: none;
}

/* =====================
	gNav
======================= */

#gNav ul {
    list-style: none;
    position: absolute;
    left: 285px;
    bottom: 60px;
    font-size: 14px;
    font-weight:bold;
}
#gNav ul li {
	font-weight: bold;
    float: left;
    text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.5);
}
#gNav ul li:hover {
	text-shadow: none;
}
#gNav ul li a:hover {
	color: yellow;
}
#gNav ul li:before,
#gNav ul li:last-child:after {
	content:'|';
	color: #fff;
}

#gNav ul li a {
    padding: 3px 10px;
    margin: 0 5px;
    color: #fff;
}

#gNav li:hover ul li {
  overflow: visible;
  height: 38px;
  border-bottom: 1px solid #33b7fc;
}

 
/* Toggle Button */
#nav-toggle {
    display: none;
    position: absolute;
    right: 12px;
    top: 14px;
    width: 34px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #fff;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
	}
	#nav-toggle span:nth-child(1) {
	    top: 0;
	}
	#nav-toggle span:nth-child(2) {
	    top: 11px;
	}
	#nav-toggle span:nth-child(3) {
	    top: 22px;
	}

@media screen and (min-width: 769px){
	#gNav * {
	  -webkit-box-sizing: border-box;
	  box-sizing: border-box;
	  -webkit-transition: all 0.35s linear;
	  transition: all 0.35s linear;
	}
	/*#gNav li {
	  display: inline-block;
	  list-style: outside none none;
	  margin: 0.4em 0.8em;
	  padding: 0;
	}*/

	#gNav a {
	  padding: 0 0.7em;
	  color: rgba(255, 255, 255, 0.5);
	  position: relative;
	  text-decoration: none;
	  display: inline-block;
	}
	#top-head .sp {
		display: none;
	}
}


@media screen and (max-width: 640px) {
    #top-head,
    #top-head .inner {
        width: 100%;
        padding: 0;
    }
    #top-head {
        top: 0;
        position: fixed;
        margin-top: 0;
        border-top: none;
    }
    #top-head .pc {
		display: none;
	}
	#top-head .sp {
		display: block;
	}
	#top-head .tel {
		margin-top: 36px;
		width: 100%;
		color: #fff;
		padding: 5px 10px;
		text-align: right;
		background: #e85e22;
	}
	#top-head .tel span {
		margin-left: 10px;
	}
	#top-head .tel span:before {
		font: 13px 'FontAwesome';
		content: '\f095';
		margin-right: 5px;
	}
	
    #gNav ul li:before,
	#gNav ul li:last-child:after {
		content:none;
	}
    
    /* Fixed reset */
    #top-head.fixed {
        padding-top: 0;
        background: transparent;
        height: 56px;
    }
    #mobile-head {
        background: url(../img/share/hed-bg.png) repeat-x left top #29aa54;
        width: 100%;
        height: 56px;
        z-index: 999;
        position: relative;
    }
    #top-head.fixed .logo,
    #top-head .logo {
    	background: url(../img/share/logo_sp.png) no-repeat;
        position: absolute;
        left: 5px;
        top: 10px;
        color: #333;
        width: 329px;
        height: 100%;
        padding: 0;
        margin: 0;
    }
    #gNav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -500px;
        background: #2cad56;
        width: 100%;
        text-align: center;
        padding: 10px 0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    #gNav ul {
        list-style: none;
        position: static;
        right: 0;
        bottom: 0;
        font-size: 14px;
        font-weight: normal;
    }
    #gNav ul li {
        float: none;
        position: static;
        border-bottom: 1px solid #ffe821;
    }
    #gNav ul li:last-child {
    	border: none;
    }
    #gNav li ul.pc {
		display: none;
	}
	#gNav li.drop {
		float: none;
	}
    
    #top-head #gNav ul li a,
    #top-head.fixed #gNav ul li a {
        width: 100%;
        display: block;
        color: #fff !important;
        padding: 18px 0;
    }
    #nav-toggle {
        display: block;
    }
    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #gNav スライドアニメーション */
    .open #gNav {
        /* #gNav top + #mobile-head height */
        -moz-transform: translateY(570px);
        -webkit-transform: translateY(570px);
        transform: translateY(570px);
    }
}


/* =====================
	top-contents
======================= */

#top-contents {
	width: 1012px;
	margin: 20px auto;
	display: -webkit-flex; /* Safari */
	display: flex;
}
#top-contents .slider {
	width: 704px;
	height: 486px;
	position: relative;
}
#top-contents .slider .frame {
	width: 704px;
	height: 486px;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../img/index/slide-frame.png) no-repeat;
	z-index: 99;
}
#top-contents .slider .swiper-container {
	top: 50px;
	left: 30px;
	padding: 10px;
}
#top-contents .slider .swiper-slide img {
	box-shadow:0px 0px 2px 2px #e0ded4;
	-moz-box-shadow:0px 0px 2px 2px #e0ded4;
	-webkit-box-shadow:0px 0px 2px 2px #e0ded4;
	border: 8px solid #fff;
}


/* =====================
	main
======================= */
/* ====== bn ====== */
.main .bn {
}
.main .bn ul {
	display: -webkit-flex; /* Safari */
	display: flex;
	padding: 15px 0 0 30px;
}
.main .bn ul li {
	padding: 2px;
}
.main .bn .img {
	float: left;
}

.section {
	clear: both;
}
/* ====== comment ====== */
#comment {
	max-width: 668px;
	height: 437px;
	background: url(../img/index/comment-bg.png) no-repeat center top;
	-moz-background-size:contain;
	background-size:contain;
}
#comment img {
	float: right;
	padding: 42px 52px 10px 10px;
}
#comment h2 {
	text-align: center;
	padding-top: 60px;
	font: 150% 'HanaMinA';
	color: #1f5a35;
}
#comment p {
	line-height: 2.4;
	padding-left: 90px;
	padding-top: 20px;
}
#comment p.bold {
	padding-top: 40px;
}
/* ====== service ====== */
#service {
	margin-top: 20px;
}
#service .box {
	background: #fff;
	border: 3px solid #28a853;
	position: relative;
	margin-bottom: 20px;
	
}
#service .box .innr {
	overflow: hidden;
}
#service .box:before {
z-index: -1;
  position: absolute;
  content:'';
  bottom: 10px;
  left: 10px;
  width: 50%;
  top: 80%;
  max-width:432px;
  background: #8d8c8c;
  -webkit-box-shadow: 0 15px 10px #8d8c8c;
  -moz-box-shadow: 0 15px 10px #8d8c8c;
  box-shadow: 0 10px 10px #8d8c8c;
  -webkit-transform: rotate(-2deg);
  -moz-transform: rotate(-2deg);
  -o-transform: rotate(-2deg);
  -ms-transform: rotate(-2deg);
  transform: rotate(-2deg);
}
#service .box:after {
  z-index: -1;
  position: absolute;
  content:'';
  bottom: 10px;
  right: 10px;
  width: 50%;
  top: 80%;
  max-width:432px;
  background: #8d8c8c;
  -webkit-box-shadow: 0 15px 10px #8d8c8c;
  -moz-box-shadow: 0 15px 10px #8d8c8c;
  box-shadow: 0 15px 10px #8d8c8c;	
  -webkit-transform: rotate(1deg);
  -moz-transform: rotate(1deg);
  -o-transform: rotate(1deg);
  -ms-transform: rotate(1deg);
  transform:rotate(1deg);
}
#service .box h3 {
	color: #fff;
	font-weight: bold;
	text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.5);
	background: #2cad56;
	padding: 10px;
	width: 20%;
	font-size: 105%;
	text-align: center;
	margin-top: 15px;
}

#service .box .img {
	padding: 10px;
	float: left;
}
#service .box p {
	padding: 0 10px 10px;
	overflow: hidden;
}

/* =====================
	side
======================= */
.side #info {
	padding: 0 10px 15px 0;
	background: #eeda31;
	position: relative;
}
#info h2 {
	font: 160% 'HanaMinA';
	color: #2d2d2d;
	text-align: center;
	padding: 20px;
}
.side #info .innr {
	padding: 15px 15px 20px;
	background: #fff;
}
.side #info .innr ul li {
	padding-top: 15px;
	border-bottom: 1px solid #ddd;
}
.side #info .innr ul li a {
	display: block;
	padding: 5px 5px 15px;
}
.side #info .innr ul li a .time {
	color: #333;
}

.side #info .more {
	width: 30%;
	z-index: 99;
	position: absolute;
	bottom: 3px;
	right: 20px;
}
.side #info .more a {
	color: #fff;
	padding: 6px 18px;
	background: #e85e22;
}
.side #info .more a:before {
	font: 13px 'FontAwesome';
	content: '\f0da';
	margin-right: 5px;
}

/* ====== calendar ====== */
#calendar {
	width: 100%;
	margin: 0 auto;
	margin: 20px 0;
	background: #4b9edd;
	-webkit-box-shadow: 1px 1px 2px #999;
	-moz-box-shadow: 1px 1px 2px #999;
	box-shadow: 1px 1px 2px #999;
}
#calendar h2 {
	
	font: 120% 'HanaMinA';
	color: #2d2d2d;
	color: #fff;
	text-align: center;
	padding: 8px 10px;
	background: #4b9edd;
}

#calendar table {
	width: 95%;
	margin: 10px auto;
	background: #fff;
}
#calendar .holiday {
	padding: 10px;
}
#calendar .holiday span {
	color: #fff;
	padding: 5px 10px;
	background: #da574f;
	border-radius: 3px;
	border: 2px solid #fff;
}


/* =====================
	footer
======================= */
#footer {
	width: 100%;
	height: 230px;/*高さ固定*/
	clear: both;
	background: url(../img/share/foot-bg.png) repeat-x left bottom;
	
}
#footer .innr {
	max-width: 980px;
	margin: 100px auto 0;
}
#footer .innr .prof {
	color: #fff;
	padding: 120px 10px 0;
}

#page-top {
	float: right;
	width: 144px;
	height: 147px;
	margin-right: 20px;
	text-align: center;
	background: url(../img/share/foot-cube.png) no-repeat center bottom;
}
#page-top a:hover {
	display: block;
	white-space: nowrap;
	text-indent: 100%;
	overflow:hidden;
	background: url(../img/share/pagetop_on.png) no-repeat center bottom;
}

/*======= copyright =======*/
#footer p.copyright {
	text-align: right;
	padding: 10px;
	color: #fff;
	margin: 0;
}


/*===============================================
●style.css 画面の横幅が769px以上
===============================================*/
@media screen and (min-width: 769px){
	img{
	  max-width: 100%;
	  height: auto;
	  width /***/:auto;　
	}
	#wrap,#footer {
	min-width: 1012px;
	}
}

/*===============================================
●tablet.css 画面の横幅が768pxまで
===============================================*/
@media screen and (max-width: 768px){
	img{
	  max-width: 100%;
	  height: auto;
	  width /***/:auto;
	}
	#wrap,#footer {
	min-width: 1012px;
	}

}

/*===============================================
●smart.css  画面の横幅が640pxまで(480px)
===============================================*/
@media screen and (max-width:640px){
	img{
	  max-width: 100%;
	  height: auto;
	  width /***/:auto;　
	}
	
	#wrap {
		background: none;
	}
	#top-head .inner,
	#top-contents,
	#container  {
		max-width: 100%;
	}
	#container {
		display: block;
	}
	.main {
		max-width: 100%;
	}
	.side {
		width: 100%;
		margin-left: 0;
		margin-bottom: 120px;
	}
	
	/*== top-contents ==*/
	#top-contents {
		margin: 70px auto 20px;
		display: block;
	}
	#top-contents .slider {
		max-width: 100%;
		height: 100%;
		padding-bottom: 13%;
		margin-top: 90px;
	}
	#top-contents .slider .frame {
		max-width: 98%;
		height: 100%;
	
		-moz-background-size:contain;
		background-size:contain;
	}
	#top-contents .slider .swiper-container {
		top: 10px;
		left: 0;
		padding: 1%;
	}
	#top-contents .slider .swiper-slide img {
		width: 92%;
		margin-top: 10px;
		margin-left: 5px;
	}
	
	/* == bn == */
	.main .bn {
		overflow: hidden;
	}
	.main .bn ul {
		width: 40%;
		text-align: right;
		display: inline-block;
		padding: 5px 10px 0 10px;
		float: right;
	}
	
	/* == comment == */
	#comment {
		max-width: 98%;
		height: 100%;
		margin: 20px auto;
		background: #fff;
		padding: 15px;
	}
	#comment img {
		display: none;
	}
	#comment h2 {
		padding-top: 15px;
		font: 110% 'HanaMinA';
		font-weight: bold;
	}
	#comment p {
		line-height: 2.0;
		padding-left: 15px;
		padding-top: 15px;
	}
	#comment p.bold {
		padding-top: 20px;
	}
	/* == service == */
	#service .box h3 {
	color: #fff;
	font-weight: bold;
	text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.5);
	background: #2cad56;
	padding: 10px;
		width: 35%;
	font-size: 105%;
	text-align: center;
	margin-top: 15px;
	}
	
	#service .box p {
		margin-top: 0;
	}

}
/*===============================================
●smart.css  画面の横幅が480pxまで
===============================================*/
@media screen and (max-width:480px){
	/* == service == */
	#service .box .img {
	padding: 10px;
		float: none;
		text-align: center;
	}
}
