@charset "utf-8";


@import url(font-awesome.min.css);
@import url(normalize.css);
@import url(skeleton.css);
@import url(MyFontsWebfontsKit.css);
@import url(MyFontsWebfontsKit02.css);
html,
body,
button,
input,
select,
textarea,
p {
	font-family: 'FuturaBT-Book', /*'Noto Sans Japanese','YuGothic','Yu Gothic','游ゴシック',*/
	'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo';
}

html {
	background-color: #fcfcfc;
}

body {
	color: #5B5A5B;
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.02rem;
	font-weight: 400;
	font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
	font-weight: normal;
}

.wrapper {
	min-height: calc(100vh - 50px);
}

@media (max-width:960px) {
	.wrapper {
		min-height: calc(100vh - 100px);
	}
}

a {
	color: #111;
	text-decoration: underline;
}

a:visited {
	color: #111;
	text-decoration: none;
}

a:focus {}

a:active,
a:hover {
	color: #111;
	text-decoration: none;
}

@media screen and (max-width: 960px) {
	.br-sp {
		display: none;
	}
}

img {
	vertical-align: bottom;
}

.circle {
	color: #333;
	background-color: #fff;
	border: 1px solid #333;
	padding: 0;
	margin: 0;
	margin-right: 2rem;
	letter-spacing: 0;
	width: 3rem;
	height: 3rem;
	line-height: 3rem;
	text-align: center;
	display: inline-block;
	border-radius: 50%;
}

.timeline {
	padding-left: 12px;
}

.timeline ol {
	counter-reset: my-counter;
	list-style: none;
	padding: 0;
	border-left: 1px solid #ccc;
}

.timeline ol li {
	margin-bottom: 80px;
	padding-left: 42px;
	position: relative;
}

.timeline ol li:last-child {
	padding-bottom: 10px;
	margin-bottom: 0;
}

.timeline ol li:before {
	content: counter(my-counter)".";
	counter-increment: my-counter;
	background-color: #fcfcfc;
	color: #111;
	/*border: 1px solid #333;*/
	display: block;
	float: left;
	line-height: 1.8;
	margin-left: -56px;
	text-align: center;
	/*height: 40px;*/
	width: 30px;
	/*border-radius: 50%;*/
	position: absolute;
	font-size: 15px;
}

.timeline ol li h3 {
	font-size: 15px;
	letter-spacing: 0.2rem;
	line-height: 1.8;
}

.eyecatch {
	margin-bottom: 0;
	color: #333;
}

.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	border-radius: 0;
	font-weight: 100;
	letter-spacing: .3rem;
	border: 1px solid #333;
	color: #333;
	transition: all .2s ease;
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
	border-radius: 0;
	background: #333;
	border: 1px solid #333;
	color: #fcfcfc;
	text-decoration: none;
}


/* form CSS reset */

input,
button,
textarea,
select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type="text"],
textarea {
	outline: none;
	border: 1px solid #aaa;
	-webkit-transition: all .3s;
	transition: all .3s;
}

input[type="text"]:focus,
textarea:focus {
	/*box-shadow: 0 0 7px #1abc9c;*/
	border: none;
}


/*
.contact-form p {
	width:100%;
	border-bottom: 1px solid #666;
	margin: 0;
	padding: 0;
}
*/

.contact-form dl {
	width: 100%;
	margin: 0 0 15px;
}

.contact-form dt {}

.contact-form dd {
	font-size: 15px;
	margin: 0;
}

.contact-form input[type="text"] {
	border-bottom: 1px solid #333;
	border-radius: 0;
}

.contact-form textarea {
	border: 1px solid #333;
	border-radius: 0;
	resize: vertical;
	width: 100%;
	height: 200px;
	padding: 10px;
	line-height: 1.75;
	margin-top: 30px;
}

label {
	font-weight: normal;
	margin: 0;
	padding: 0;
}

input[type="text"] {
	border: none;
	width: 100%;
	background-color: #fcfcfc;
}

label,
input[type="text"],
input[type="radio"] {
	/*line-height: 50px;
		height: 50px;*/
}

input[type="radio"] {
	display: none;
}

label {
	position: relative;
	display: inline-block;
	padding: 3px 3px 3px 20px;
	cursor: pointer;
}

label::before,
label::after {
	position: absolute;
	content: '';
	top: 50%;
	border-radius: 100%;
	-webkit-transition: all .2s;
	transition: all .2s;
}

label::before {
	left: 0;
	width: 14px;
	height: 14px;
	margin-top: -8px;
	background: #f3f3f3;
	border: 1px solid #ccc;
}

label:hover::before {
	background: #fff;
}

label::after {
	opacity: 0;
	left: 4px;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	background: #222;
	-webkit-transform: scale(2);
	transform: scale(2);
}

input[type="radio"]:checked+label::before {
	background: #fff;
	/*border: 1px solid #222;*/
}

input[type="radio"]:checked+label::after {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

form table {
	width: 100%;
}

form table th,
form table td {
	border-bottom: 1px solid #333;
}

form table th {
	width: 25%;
	font-weight: 100;
}

.loadingWrap {
	width: 100%;
	/*100%で全画面表示*/
	height: 100%;
	/*100%で全画面表示*/
	background: #fcfcfc;
	/*背景色*/
	position: fixed;
	top: 0;
	/*画面上部からの位置*/
	left: 0;
	/*画面左部からの位置*/
	z-index: 9999;
	/*レイヤー(この他にpositionを使用していない場合は不要)*/
}

.loadingWrap img {
	position: absolute;
	top: 50%;
	/*中央表示*/
	left: 50%;
	/*中央表示*/
	margin: -15px 0 0 -15px;
	/*画像位置調整(-画像高さの半分 0 0 -画像幅の半分)*/
	width: auto;
	/*画像サイズをナチュラルに(レスポンシブデザインでない場合は不要)*/
}

h1 {
	line-height: 80px;
	height: 80px;
}

h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
	font-family: 'FuturaBT-Book', /*'Noto Sans Japanese', 'YuGothic', 'Yu Gothic','游ゴシック',*/
	'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo';
	font-size: 15px;
	letter-spacing: 0.2rem;
	color: #111;
}

.wrap {
	padding: 0 30px;
}

/*@media (max-width: 550px) {*/
@media (max-width: 960px) {
	.container {
		padding: 0 30px;
	}
}

.contents {
	margin: 100px 0 50px;
	/*padding: 0 30px;*/
	padding: 0;
}

.container {
	padding-top: 120px;
}

.cell {
	padding-bottom: 80px;
}

#header {
	width: 100%;
	height: 100px;
	padding: 0 30px;
	display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	position: fixed;
	top: 0;
	left: 0;
	/*background-color: #FFF;*/
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	z-index: 100;
	box-sizing: border-box;
	transition: 0.3s ease;
}

.header-logo {
	position: relative;
	margin: 0;
}

.logo {
	margin: 0;
	padding: 0;
	width: 55px;
	vertical-align: bottom;
}

.logo-normal {
	fill: #111;
}

.top-head .logo svg {
	fill: #fefefe;
}

.top-head #nav-toggle span {
	background: #fcfcfc;
}

.nav {
	margin-left: auto;
}

.nav-list {
	width: 100%;
	display: flex;
	text-align: center;
	position: relative;
	margin: 0;
	font-size: 16px;
	letter-spacing: 0.05rem;
}

.nav-list-items {
	padding-right: 40px;
	list-style: none;
	margin: 0;
}

.nav-list-items:last-child {
	padding-right: 0;
}

.nav-list-items a {
	display: block;
	position: relative;
	text-decoration: none;
	color: #333;
}

.my_svg path {
    color: #fff;
    fill: #fff;
}

.imageholder {
	height: 600px;
	margin: 100px 0 0;
}

.about_mainimage {
	overflow: visible;
}

.services-box {
	width: 46%;
	display: inline-block;
	vertical-align: top;
	margin-bottom: 120px;
}

.left-box {
	margin-right: 0;
	margin-left: 0;
}

.right-box {
	margin-right: 0;
	margin-left: 7.4%;
}


/*@media (max-width: 550px) {*/

@media (max-width: 960px) {
	.services-box {
		width: 100%;
		margin: 0;
		margin-bottom: 80px;
	}
}

.services-box h3 {
	display: inline-block;
	margin: 3rem 0 2rem;
	font-size: 15px;
}

.services-box a.button {
	width: 100%;
}

.services-box img {
	width: 100%;
}

.grayscale img {
	-webkit-filter: grayscale(100%);
	filter: gray;
	transition: .2s ease;
}

.grayscale img:hover {
	-webkit-filter: grayscale(0%);
	filter: none;
	transition: .2s ease;
}

.effect img {
	transition: .8s;
}

#map {
	width: 100%;
	height: 300px;
	margin-bottom: 2.5rem:
}


/* full calender */

#calendar {}

.fc-bg table,
.fc-widget-header table {
	margin-bottom: 0;
}

.single-gallery img {
	margin-bottom: 30px;
}

.grid-contents {
	/*padding: 0 20px 0;*/
	padding: 0;
}

#grid {
	/*max-width: 1200px;*/
	margin: 0 auto 0;
	/*border:1px solid #EEE;*/
	/*background-color: #eeeeee;*/
	overflow: auto;
}

#grid:after {
	content: '';
	display: block;
	clear: both;
}


/*.grid-item {
width: 280px;
margin: 0 auto;
padding:10px;
float:left;
background:#424242;
display:inline;
}*/

.grid-item {
	float: left;
	margin-bottom: 1%;
}

.grid-sizer,
.grid-item {
	width: 24%;
}

.gutter-sizer {
	width: 1%;
	margin-bottom: 20px;
}

.grid-item img {
	width: 100%;
}

.grid-item h3 {
	margin-bottom: 0;
}


/*.grid-item--width2 { width: 48%; }
.grid-item--width3 { width: 74%; }*/

@media (max-width:900px) {
	.grid-sizer,
	.grid-item {
		width: 48%;
	}
	.gutter-sizer {
		width: 4%;
	}
}

@media (max-width:640px) {
	.grid-sizer,
	.grid-item {
		width: 100%;
	}
	.gutter-sizer {
		width: 2%;
	}
}

.footer {
	height: 50px;
}

@media (max-width:960px) {
	.footer {
		height: 100px;
	}
}

.footer,
.footer a {
	text-decoration: none;
	color:#5B5A5B;
}

.top-footer,
.top-footer a {
	color: #eee;
}

.footer-inner {
	/*padding: 0 30px;*/
	padding: 0 30px;
}

#footer,
#footer-top {
	padding: 0;
	/*max-width: 1200px;*/
	margin: 0 auto;
}

#footer p,
#footer-top p {
	letter-spacing: 0.05rem;
	margin: 0;
	height: 50px;
	line-height: 50px;	
}

#footer-top {
	width: 100%;
	/*position: fixed;*/
	/*bottom: 0;*/
	/*left: 0;*/
	border: none;
	/*max-width: 1200px;*/
}

#footer-top a,
#footer-top p {
	color: #dfdfdf;
}

.snslink {
	list-style: none;
	margin: 0;
	letter-spacing: 0.15rem;
}

.snslink li {
	display: inline-block;
	margin: 0;
}
.snslink li a {
	height: 50px;
	line-height: 50px;	
}

@media (max-width:960px) {
	#footer p,
	#footer-top p,
	.snslink li a {
		height: inherit;
		line-height: 1.5;	
	}
}

.snslink li:first-child {
	margin-right: 20px;
}

.snslink i.fa {
	margin-right: 5px;
}

.information h3 {
	font-size: 15px;
	margin-bottom: 30px;
	border-bottom: 1px solid #666;
	padding-bottom: 0.8rem;
}

.information-section {
	margin: 0 0 120px;
}

.information-section h4 {
	font-size: 15px;
	margin-bottom: 1rem;
	letter-spacing: 0.1rem;
}

.information-section h4 span {
	font-size: 12px;
	margin: 0 10px;
	letter-spacing: 0;
	color: #5B5A5B;
}

.information dl {
	width: 100%;
	margin: 0 0 15px;
	overflow: hidden;
	zoom: 1;
}

.information dt {
	float: left;
	clear: both;
	width: 100px;
}

.information dd {
	margin: 0;
	padding: 0 0 0 150px;
}

.servicesmenu {
	margin-bottom: 2.5rem;
	width: 100%;
}

.servicesmenu th,
.servicesmenu td {
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
	line-height: 2rem;
}

.servicesmenu th {
	font-size: 15px;
	color: #111;
	margin-right: 20px;
	letter-spacing: 0.1rem;
	margin-bottom: 0.5rem;
	font-weight: normal;
}

.servicesmenu span {
	font-size: 12px;
	margin: 0 20px;
	letter-spacing: 0;
	color: #5B5A5B;
}
@media (max-width:960px) {
.servicesmenu span {
	display: inherit;
	margin: 0;
}
}

a.textlink {
	letter-spacing: 0.15rem;
	text-decoration: none;
	color: #5B5A5B;
}
a.textlink:hover {
	text-decoration:underline;
}