* {
	margin:  0;
	padding: 0;
	line-height: 1;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

body {
	margin:  0;
	padding: 0;
	background-color: #fff;
	color: #000;
	font-family: 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', 'メイリオ', sans-serif;
	font-size: 14px;
	-webkit-text-size-adjust: 100%; /* for iPhone */
}

ul, ol { list-style: none; }
fieldset, img { border: none; }
table { border-collapse: collapse; }
a, a:focus, *:focus { outline: none; }

a:link {
	text-decoration: none;
	color: #39f;
}
a:visited {
	text-decoration: none;
	color: #39c;
}
a:hover, 
a:active {
	text-decoration: underline;
}

/****************************
  responsive
*****************************/

.container {
	width: 100%;
	margin-right: auto;
	margin-left:  auto;
	padding-right: 15px;
	padding-left:  15px;
}
/*
@media (min-width: 768px) {
	.container {
		width: 768px;
		padding-right: 0;
		padding-left:  0;
	}
}
*/
@media (min-width: 1000px) {
	.container {
		width: 1000px;
		padding-right: 0;
		padding-left:  0;
	}
}

@media (min-width: 600px) {
	#contents > .container {
		width: 600px;
		padding-right: 50px;
		padding-left:  50px;
	}
}

.clearfix:before,
.clearfix:after,
.container:before,
.container:after {
	display: table;
	content: ' ';
}
.clearfix:after,
.container:after {
	clear: both;
}

/****************************
  header
*****************************/



* {box-sizing: border-box;}

body { 
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
}

.header {
  overflow: hidden;
  background-color:white;
  padding: 20px 10px;
}

.header a {
  float: left;
  color: black;
  text-align: center;
  padding: 12px;
  text-decoration: none;
  font-size: 18px; 
  line-height: 25px;
  border-radius: 4px;
}

.header a.logo {
  font-size: 25px;
  font-weight: bold;
}

.header a:hover {
  background-color: rgb(248, 122, 4);
  color: black;
}



.header-right {
  float: right;
}

@media screen and (max-width: 500px) {
  .header a {
    float: none;
    display: block;
    text-align: left;
  }
  
  .header-right {
    float: none;
  }
}

/****************************
  footer
*****************************/

#footer {
	margin:  0;
	padding: 0;
	background-color: #fff;
	text-align: center;
}

dl.dl_footer {
	display: block;
	margin:  0 auto;
	padding: .6em 0 .8em;
	text-align: center;
}
dl.dl_footer > dt, 
dl.dl_footer > dd {
	display: block;
	margin: 0;
	vertical-align: middle;
	color: #ea6000;
}
dl.dl_footer > dt {
	padding: 0 0 .5em;
	font-weight: normal;
	font-size: 1.1em;
}
dl.dl_footer > dd {
	padding: 0;
	font-weight: normal;
	font-family: 'Gill Sans', sans-serif;
	font-size: 40px;
}

dl.dl_footer > dd > a:link, 
dl.dl_footer > dd > a:visited, 
dl.dl_footer > dd > a:hover, 
dl.dl_footer > dd > a:active {
	color: #ea6000;
	text-decoration: none;
}
dl.dl_footer > dd > a:hover {
	color: rgba(234,96,0, .8);
}

@media (min-width: 768px) {
	dl.dl_footer {
		display: table;
	}
	dl.dl_footer > dt, 
	dl.dl_footer > dd {
		display: table-cell;
	}
	dl.dl_footer > dt {
		padding-right:  1em;
		padding-bottom: 0;
	}
}

#wrapper_footer {
	margin:  0;
	padding: 0 0 1em;
	background-color: #ea6000;
	font-size: .9em;
}
#wrapper_footer, 
#wrapper_footer a {
	color: #fff;
}

ul.ul_footer_nav {
	margin:  0 auto;
	padding: 0;
	text-align: center;
}
ul.ul_footer_nav > li {
	display: inline-block;
	margin:  0;
	padding: 0;
}
ul.ul_footer_nav > li > a {
	display: inline-block;
	padding: .8em 1em;
}
ul.ul_footer_nav > li:before {
	content: none;
}
ul.ul_footer_nav > li:first-child:before {
	content: none;
}

@media (min-width: 600px) {
	ul.ul_footer_nav > li:before {
		content: '|';
	}
}

/****************************
  home
*****************************/

.wrapper_visualtop {
	width: 100%;
	background-color: #fff;
}

#visualtop {
	width: 100%;
	height: auto;
	margin:  0 auto;
	padding: 0;
}
#visualtop img {
	margin:  0 auto;
	padding: 0;
	vertical-align: bottom;
	text-align: center;
}

@media (min-width: 1600px) {
	#visualtop {
		max-width: 1600px;
	}
}

.bx-wrapper {
	margin: 0;
	-webkit-box-shadow: none;
	   -moz-box-shadow: none;
	        box-shadow: none;
	border: none;
}

.wrapper_visualtop > .wrapper_circle {
	display: none;
}

h1.h1_home {
	margin: 0;
	padding: .5em 0 0;
	text-align: center;
	color: #f29600;
	font-family: 'Hiragino Maru Gothic ProN', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-weight: bold;
	font-size: 18px;
	line-height: 1.5;
}

#philosophy {
	margin-top: 1em;
}

@media (min-width: 768px) {
	.wrapper_visualtop {
		position: relative;
	}
	.wrapper_visualtop > .wrapper_circle {
		display: block;
		position: absolute;
		z-index: 1;
		top:  50%;
		left: 50%;
		margin: -150px 0 0 -150px;
		padding: 0;
		text-align: center;
	}
	.wrapper_visualtop > .wrapper_circle > span {
		display: table;
		width:  300px;
		height: 300px;
		margin:  0;
		padding: 0;
		border-radius: 50%;
		background-color: rgba(255, 255, 255, .75);
	}
	.wrapper_visualtop > .wrapper_circle > span > p {
		display: table-cell;
		margin:  0;
		padding: 0;
		vertical-align: middle;
		text-align: center;
		color: #f29600;
		font-family: 'Hiragino Maru Gothic ProN', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
		font-weight: bold;
		font-size: 26px;
		line-height: 1.5;
	}
	.wrapper_visualtop > .wrapper_circle > a.arrow_down {
		display: block;
		margin:  0 auto;
		padding: 20px 0;
	}

	@-webkit-keyframes small-bounce {
		  0% {-webkit-transform: translateY(0px)}
		 25% {-webkit-transform: translateY(3px)}
		 50% {-webkit-transform: translateY(0px)}
		 75% {-webkit-transform: translateY(-1px)}
		100% {-webkit-transform: translateY(0px)}
	}
	@-moz-keyframes small-bounce {
		  0% {-moz-transform: translateY(0px)}
		 25% {-moz-transform: translateY(3px)}
		 50% {-moz-transform: translateY(0px)}
		 75% {-moz-transform: translateY(-1px)}
		100% {-moz-transform: translateY(0px)}
	}
	@keyframes small-bounce {
		  0% {transform: translateY(0px)}
		 25% {transform: translateY(3px)}
		 50% {transform: translateY(0px)}
		 75% {transform: translateY(-1px)}
		100% {transform: translateY(0px)}
	}
	.animation-small-bounce {
		-webkit-animation: small-bounce 850ms linear infinite;
		   -moz-animation: small-bounce 850ms linear infinite;
		        animation: small-bounce 850ms linear infinite;
	}

	h1.h1_home {
		display: none;
	}
}

.wrapper_home {
	margin: 0 auto;
	padding-top: 2em;
}

@media (min-width: 600px) {
	.wrapper_home {
		width: 600px;
	}
}

p.p_home_summary {
	margin:  0;
	padding: 0;
	text-align: justify;
	line-height: 1.7;
}

.wrapper_arrow_down {
	margin:  0;
	padding: 4em 0 0;
	text-align: center;
}

.column_home {
	margin:  0;
	padding: 2em 0 0;
}
.column_home > div {
	margin:  0;
	padding: 2em 0 0;
	text-align: center;
}
.column_home > div img {
	max-width: 100%;
	height: auto;
}
.column_home > div > h3 {
	text-align: left;
}
.column_home > div > p {
	margin:  0;
	padding: 1em 0 2em;
	text-align: justify;
	line-height: 1.7;
}

@media (min-width: 768px) {
	.column_home {
		display: table;
		margin-right: -17px;
		margin-left:  -17px;
	}
	.column_home > div {
		display: table-cell;
		width: 33%;
		padding-right: 17px;
		padding-left:  17px;
		text-align: left;
	}
}

#information {
	margin-top: 2em;
}

h2.h2_home {
	margin:  0;
	padding: 0;
	border-radius: 15px;
	background-color: #f29600;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: .9em;
	line-height: 1.8;
}

dl.dl_home {
	width: 100%;
	margin:  0;
	padding: .5em 0;
}
dl.dl_home.first {
	margin-top: 1em;
	border-top: none;
}

dl.dl_home > dt, 
dl.dl_home > dd {
	margin:  0;
	padding: 0;
	text-align: left;
	font-weight: normal;
	font-size: 1em;
	line-height: 1.3;
}

dl.dl_home > dt {
	padding-top: 1em;
}
dl.dl_home > dd {
	padding-top: .5em;
}

dl.dl_home > dt:before {
	content: '●';
	margin-right: .2em;
	font-family: 'Hiragino Kaku Gothic ProN', 'メイリオ', sans-serif;
	color: #ec6c00;
}
dl.dl_home > dt > span {
	letter-spacing: 1em;
}

@media (min-width: 768px) {
	dl.dl_home {
		display: table;
		border-top: 2px dotted #ccc;
	}
	dl.dl_home > dt, 
	dl.dl_home > dd {
		display: table-cell;
		padding-top: 0;
	}
	dl.dl_home > dt {
		width: 11em;
	}
}

.wrapper_home_map {
	margin:  0 auto;
	padding: 4em 0 2em;
}
.wrapper_home_map > iframe {
	width: 100%;
	height: 400px;
}

@media (min-width: 800px) {
	.wrapper_home_map {
		width: 800px;
	}
}

/****************************
  contents
*****************************/

.wrapper_title {
	margin:  0;
	padding: 1em 0;
	background-color: #ea6000;
}

h1.h1_contents {
	margin:  0;
	padding: 0;
	text-align: left;
	color: #fff;
	font-family: 'Hiragino Maru Gothic ProN', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-weight: normal;
	font-size: 15px;
	line-height: 1.5;
}

@media (min-width: 768px) {
	.wrapper_title {
		min-height: 80px;
		padding: 0;
	}
	h1.h1_contents {
		font-size: 17px;
		line-height: 80px;
	}
}

#contents {
	background-color: #f3efe4;
}

#contents > .container {
	padding-top:    50px;
	padding-bottom: 50px;
	background-color: #fff;
}

/****************************
  privacypolicy
*****************************/

p.p_summary {
	margin:  0;
	padding: 0;
	text-align: justify;
	color: #ea6000;
	font-size: 1.1em;
	line-height: 1.3;
}

dl.dl_privacypolicy {
	margin:  0;
	padding: 0;
}
dl.dl_privacypolicy > dt {
	margin:  0;
	padding: 1.5em 0 .2em;
	border-bottom: 1px solid #ea6000;
	color: #ea6000;
	font-size: 1.1em;
	line-height: 1.3;
}
dl.dl_privacypolicy > dd {
	margin:  0;
	padding: .5em 0 0;
	text-align: justify;
	font-size: 1em;
	line-height: 1.6;
}

dl.dl_privacypolicy > dd > ul {
	margin:  0;
	padding: 0 0 0 2em;
	list-style-type: disc;
}
dl.dl_privacypolicy > dd > ul > li {
	margin:  0;
	padding: .5em 0 0;
	line-height: 1.3;
}

address {
	margin:  2em 0 0;
	padding: 1em 2em;
	border: 1px solid #bbb;
	font-style: normal;
	line-height: 2;
}
address > span {
	display: block;
}

@media (min-width: 768px) {
	address > span {
		display: inline;
		padding-left: 1em;
	}
}

/****************************
  script
*****************************/

a#toTop {
	display: none;
	position: fixed;
	z-index: 1000;
	right: 1em;
	bottom: 0px;
	width:  3.5em;
	height: 2.7em;
	margin:  0;
	padding: .5em 0 0;
	text-align: center;
	border-radius: 4px 4px 0 0;
	background: #333 url(../images/totop.png) no-repeat center 11px;
	background-size: 15px 10px;
	color: #fff;
	text-transform: uppercase;
	text-decoration: none;
	-webkit-transition: all 0.2s;
	   -moz-transition: all 0.2s;
	        transition: all 0.2s;
	opacity: 0.9;
}
a#toTop:hover {
	opacity: 1;
}
a#toTop:hover {
	height: 2.9em;
}
