@charset "UTF-8";
@import "reset5.css";
@import url('http://fonts.googleapis.com/earlyaccess/notosansjp.css');



body { color:#0e150d; background:#fff; line-height:1;  padding: 0; position: relative; min-height: 100%; overflow-x:hidden; -webkit-text-size-adjust: 100%; font-family: Avenir,"Helvetica Neue", Helvetica, Arial, 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "Osaka", "MS Pゴシック", "MS PGothic", sans-serif; }
html {  min-height: 100%; }

img { -ms-interpolation-mode: bicubic; }
body { font-size: 14px; line-height: 1.6; letter-spacing: 0.12em }


body p { font-weight: 300; line-height: 2; letter-spacing: 0.08em }
h2,h3,h4,h5,h6 { letter-spacing: 0.16em }

/* !clearfix */
hr { display: none; }

.cfix { zoom:1; }
.cfix:after{
    content:"";
    clear:both;
    display:block;
    height:0;
	font-style:italic
}

/* スクロールバーの有無によるズレ対策 */
html {
	overflow-y: scroll;
}

img { vertical-align: middle }


.fltR { float: right; }
.fltL { float: left; }

.txtR { text-align: right; }
.txtL { text-align: left; }
.txtC { text-align: center; }


/* !Links */
a { font-weight: 400 }
a:link { color: #0e150d; text-decoration: none; }
a:visited { color: #0e150d; text-decoration: none; }
a:hover { color: #fc9c06; text-decoration: underline;}
a:active { color: #0e150d; text-decoration: none; }


html {  }
#wrapper { position: relative; width: 100%; overflow: hidden }


.contents { position: relative; padding: 80px 0 0; }


#top-header { position:relative; z-index:1; min-width:1080px; background: #f6f6f7 }
#top-header h1 { color:#fff; font-size:44px; font-weight:normal; line-height:1; letter-spacing:0.1em; position:absolute; top:50%; left:5%; margin:-50px 0 0; z-index: 10 }
#top-header h1 span { font-size:18px; letter-spacing:0; font-family :YuMincho, 'Yu Mincho', serif; margin:0 0 18px; display:inline-block; }
#top-header .more a { color:#676767; font-size:16px; font-weight:500; letter-spacing:0.3em; text-decoration:none; position:absolute; top:50%; left:5%; margin:70px 0 0; display:block; z-index: 10 }
#top-header .more a span { background:#676767; height:1px; display:block; }
#top-header .more a:hover { color: #fc9c06; }
#top-header .more a:hover span { background: #fc9c06; }
#top-header .logo { position:absolute; top:50%; right:80px; margin:-97px 0 0 0; z-index: 10 }
#top-header .vis { opacity: 0; position: relative; z-index: 0 }
#header { position:relative; z-index:2; min-width:1080px; }
#header h1 { position:absolute; top:50%; left:50%; margin:-60px 0 0 -66px; }

/* nav */
#gnav { margin: 0; position:relative; z-index:10; width: 100%; min-width:1180px; height: 82px; background: #fff }
#gnav .logo { position:absolute; top:24px; left:40px; }
#gnav ul { margin:0 0 0 90px; }
#gnav ul li { float:left; }
#gnav ul li a { color:#0e150d; font-weight:500; font-size:14px; line-height:1; padding: 36px 28px; line-height: 1em; display:block; }
#gnav ul li a:hover { text-decoration: none; color: #fc9c06; }
#gnav ul li a.cur span { border-bottom:4px solid #c7c7c8; padding:0 0 10px; display:inline-block; }
.btn-counsel { position:absolute; bottom: 20px; right:0; }
.btn-counsel a { color:#fff; font-size:16px; line-height:1; text-decoration:none; background:#21530d; padding:50px 40px 50px 90px; display:block; }
.btn-counsel .ico { position:absolute; top:50%; left:30px; margin:-15px 0 0; }
.btn_menu { display:none; }


/* footer */
#footer { color:#fff; background:#0e150d; margin:0 0 20px; padding:80px 80px 100px; position:relative; min-width:1080px; }
#footer .footer-inner { padding:0 0 0 19.4%; }
#footer .f-logo { margin:0 0 0 40px; position:absolute; top:50px; left:80px; }
#footer .copy { letter-spacing:0.2em; position:absolute; top:160px; left:80px; }
#footer .block01 a { color:#fff; font-size:14px; line-height:1; letter-spacing:0.1em; margin:0 0 15px; display:block; }
#footer .block01 .clm01 { float:left; display:inline-block; padding:0 40px; }
#footer .block01 .clm02 { float:left; display:inline-block; padding:0 40px; }
#footer .block01 .clm02 ul { padding:10px 0 0 10px; }
#footer .block01 .clm03 { float:left; display:inline-block; padding:0 40px; }
#footer .block02 { position:absolute; top:70px; right:80px; }
#footer .block02 p { font-size:16px; letter-spacing:0.1em; }
#footer .block02 span { color:#979798; font-size:14px; line-height:1.6; margin:30px 0 0; display:inline-block; }
#footer .block02 .clm01 { float:left; display:inline-block; padding:0 90px 0 0; }
#footer .block02 .clm02 { float:left; display:inline-block; }


/* top */
#intro { margin:0 0 100px; min-width:1080px; }
#intro h2 {	color:#979798; font-size:28px; line-height:1.4; font-weight:100; font-family :YuMincho, 'Yu Mincho', serif;}
#intro p { font-size:16px; }
#intro ol { padding:0 0 50px; }
#intro ol li:nth-child(1) { margin:0 0 80px; }
#intro ol li:nth-child(1) .pic { float:left; width:50%; position:relative; }
#intro ol li:nth-child(1) .num { position:absolute; top:-20px; right:-25px; }
#intro ol li:nth-child(1) .fltR { width:50%; }
#intro ol li:nth-child(1) h2 { padding:30px 120px 30px 80px; }
#intro ol li:nth-child(1) p { padding:0 120px 0 80px; }	
#intro ol li:nth-child(2) { margin:0 0 120px; }
#intro ol li:nth-child(2) .pic { float:right; width:50%; position:relative; }
#intro ol li:nth-child(2) .num { position:absolute; bottom:-35px; right:70px; }
#intro ol li:nth-child(2) .fltL { width:50%; }
#intro ol li:nth-child(2) h2 { padding:30px 80px 30px 120px; }
#intro ol li:nth-child(2) p { padding:0 80px 0 120px; }
#intro ol li:nth-child(3) { float:left; width:50%; }
#intro ol li:nth-child(3) .inner { padding:0 40px 0 80px; }
#intro ol li:nth-child(3) .pic { position:relative; }
#intro ol li:nth-child(3) .num { position:absolute; top:-30px; left:-15px; }
#intro ol li:nth-child(3) h2 { padding: 45px 40px 30px 40px; }
#intro ol li:nth-child(3) p { padding:0 40px; }	
#intro ol li:nth-child(4) { float:right; width:50%; }
#intro ol li:nth-child(4) .inner { padding:150px 80px 0 40px; }
#intro ol li:nth-child(4) .pic { position:relative; }
#intro ol li:nth-child(4) .num { position:absolute; bottom:20px; left:-46px; }
#intro ol li:nth-child(4) h2 { padding: 45px 40px 30px 40px; }
#intro ol li:nth-child(4) p { padding:0 40px; }	
#intro .more { background:#f7f7f8; text-align:center; }
#intro .more a { color:#334567; font-size:16px;  line-height:1; text-decoration:none; text-align:center; padding:45px 0; display:inline-block; }
#intro .more a span { background:#fff; height:2px; display:block; margin:10px 0 0;}
#intro .more:hover a { color: #fc9c06; }
#intro .more:hover a span { background: #fc9c06; }

#mission { padding:0 0 120px; border-bottom:1px solid #e3e3e3; min-width:1080px; }
#mission .pic { float:left; width:50%; position:relative; }
#mission .tx { position:absolute; top:-30px; left:50px; }
#mission .fltR { width:50%; }
#mission .logo { text-align:center; padding:0 120px 40px 80px;}
#mission p { font-size:16px; padding:0 120px 0 80px; }
#mission ul { padding:0 80px; margin:110px 0 0 -80px; }
#mission ul li { float:left; width:33.333%; }
#mission ul li .inner { margin:0 0 0 80px; }
#mission ul li h3 {color:#979798; font-size:20px; font-weight:100; line-height:1; letter-spacing:0.1em; font-family :YuMincho, 'Yu Mincho', serif; margin:35px 0 0; }

#info { padding:70px 80px 130px; position:relative; min-width:1080px; }
#info .sec-inner { padding:0 0 0 240px; }
#info h3 { color:#979798; font-size:26px; font-weight:normal; font-style:italic; line-height:1; letter-spacing:0.1em; position:absolute; top:70px; left:80px; }
#info ul li { padding:0 0 20px;}
#info ul li:last-child { padding:0; }
#info ul li .date { width:16%; color:#21530d; font-size:16px; display:block; float:left; }
#info ul li a { width:74%; font-size:15px; display:block; float:left; }	



/* 下層ページ */
.contents-inner { padding: 0 120px 180px; margin: 0 auto; min-width:980px; max-width: 1180px }

/* page-title */
.big-tit { color:#334567; font-size:24px; font-weight: 500; line-height:1; letter-spacing:0.2em; border-bottom: dotted 1px #c7c7c8; padding: 0 30px 20px; margin:0 -30px 55px; text-align: center }
.big-tit span { color:#979798; font-size:32px; letter-spacing:0.32em; font-family :YuMincho, 'Yu Mincho', serif; margin:20px 0 0; display:inline-block; }

.sec { margin: 0 0 60px; opacity: 0; top: 80px; position: relative }
.sec h3 { color:#334567; font-size: 22px; margin-bottom: 1.5em }
.sec h4 { color:#979798; font-size: 18px; margin-bottom: 1em }
.sec h5 { color:#979798; font-size: 16px; font-weight: 400; margin-bottom: 1em }
.sec h6 { font-size: 15px; font-weight: 400; }
.sec h4.num { color:#21530d; font-size: 32px; font-style: italic; margin-bottom: 0; font-family: zapfino; }
.sec p { margin-top: 1em }
.sec p strong { font-weight: 400 }
.sec p.bb { border-bottom: dotted 1px #c7c7c8; padding: 0 1em 1em }
.sec ul li { list-style: square; list-style-position: outside; line-height: 2.2; margin-left: 1.6em }
.sec ol li { list-style: decimal; list-style-position: outside; line-height: 2.2; margin-left: 2em }
.sec ul li span, .sec ol li span { font-weight: 300 }
.sec ul.s-by-s { margin-top: 1em }
.sec ul.s-by-s li { list-style: square; list-style-position: outside; display: inline-block; margin-right: 2em; vertical-align: top }
.sec table { margin-top: 1em }
.sec table tr { border-bottom: dotted 1px #c7c7c8 }
.sec table th { font-weight: 400; padding: 1.5em 2em 1.5em 1em; vertical-align: top; white-space: nowrap; }
.sec table td { font-weight: 300; padding: 1.5em 1em 2em 1em; }
.sec .block  { padding: 3em; margin: 3em 0 0; background: #f7f7f8; }
.mb { margin-bottom: 2em }
.no-mt { margin-top: 0 !important }

.fd { position: relative; top: 80px; opacity: 0 }

.column { margin: 0 0 60px }

.column-two { margin: 0 -40px 60px }
.column-two .cont { width: 50%; float: left }
.column-two .cont-inner { padding: 0 40px }

.sec .facility p { margin: 0 0 2em }
.sec .facility .faci {　padding: 2em 0 }

.column-three { margin: 0 -30px 60px }
.column-three .cont { width: 33.33%; float: left }
.column-three .cont-inner { padding: 0 30px }

.btn-link {}
.btn-link a { display: block; padding: 2em 0; font-size: 16px; text-align: center; background: #f7f7f8; border-bottom: solid 1px #979798 }
.btn-link a:hover { background: #22530e; color: #fff }

#company #mission { margin: 0 -120px; border: none }

#contact form { padding: 0 2em 4em }
#contact .sec ul li { list-style: none; margin-left: 0 }
#contact .sec form dt { padding-top: 1em }
#contact .sec form dd { margin: 1em 0 }
#contact .sec .block { text-align: center }
p.tel { font-size: 32px; margin: 0 2em 0 0; display: inline-block } 

.pc-none { display: none }
.sp-none { display: inline-block }



@media screen and (max-width: 780px) {
	
	body { font-size:13px; line-height: 2.0; -webkit-text-size-adjust: none; }

	a { text-decoration:none; -webkit-tap-highlight-color:rgba(0,0,0,0); -webkit-touch-callout:none; }
	
	.contents { padding: 0;  }
	
	
	/* header */	
	#top-header { min-width:auto; margin:0 0 60px; }
	#top-header h1 { font-size:24px; line-height:0.4; position:absolute; top:70%; left:50%; margin:-35px 0 0 -175px; text-shadow: 0 0 3px #000;  }
	#top-header h1 span { font-size:11px; }
	#top-header .more a { font-size:12px; position:absolute; top:70%; left:50%; margin:20px 0 0 -50px; display:block; text-shadow:0 0 1px #fff; }
	#top-header .more a span { background:#000; height:1px; display:block; box-shadow:0 0 1px #fff; }
	#top-header .logo { position:absolute; top:20px; right:inherit;  left:50%;  margin:0 0 0 -22px; }
	#top-header .logo img { width:auto; height:50px; }
	#header { min-width:auto; margin:0 0 30px; }
	#header .header-img { margin:0 0 0 -20%;}
	#header .header-img img { width:140%; }
	#header h1 { position:absolute; top:50%; left:50%; margin:-40px 0 0 -40px; }
	#header h1 img { width:auto; height:80px; }
	
	
	/* nav */
	#gnav { margin:0; min-width:auto; display: block; position: fixed; width: 60%; height: 100%; left: 100%; top: 0; padding:0; z-index: 4; border-left:1px solid #e3e3e3; }
	#gnav .logo { display:none; }
	#gnav ul { margin:0; }
	#gnav ul li { float:none; border-bottom:1px solid #e3e3e3; }
	#gnav ul li a { padding:30px; display:block; }
	#gnav ul li a.cur span { border-bottom:none; padding:0; }
	.btn-counsel { position:relative; bottom: inherit; right: inherit; width: 100% }
	.btn-counsel a { font-size:12px; padding:40px 10px 40px 40px; display: block }
	.btn-counsel .ico { position:absolute; top:50%; left:12px; margin:-8px 0 0; height:18px; }
	.btn_menu { position: fixed; right:0; top: 0; cursor:pointer; z-index:3; display:block; }
	
	
	/* footer */
	#footer { margin:0 0 10px; padding:40px 20px 20px; min-width:auto; }
	#footer .footer-inner { padding:0; }
	#footer .f-logo { margin:0 0 10px; position:static; text-align:center; }
	#footer .f-logo img { height:70px; }
	#footer .copy { font-size:11px; position:static; text-align:center; }
	#footer .block01 { margin:0 0 30px; }
	#footer .block01 a { font-size:12px; margin:0 0 20px; }
	#footer .block01 .clm01 { float:left; display:inline-block; padding:0; width:100%; margin:0 0 10px; }
	#footer .block01 .clm02 { float:left; display:inline-block; padding:0; width:50%; }
	#footer .block01 .clm02 ul { padding:0 0 0 10px; }
	#footer .block01 .clm03 { float:left; display:inline-block; padding:0; width:50% }
	#footer .block01 .mb40 { margin-bottom:30px !important; }
	#footer .block02 { position:static; margin:0 0 30px; }
	#footer .block02 p { font-size:13px; }
	#footer .block02 span { font-size:13px; margin:5px 0 0; }
	#footer .block02 .clm01 { padding:0; width:50%; }
	#footer .block02 .clm02 { width:50%; }
	
	
	/* top */
	#intro { margin:0 0 80px; min-width:auto; }
	#intro h2 { font-size:20px; }
	#intro p { font-size:14px; }
	#intro ol { padding:0 20px 30px; }
	#intro ol li:nth-child(1) { margin:0 0 40px; }
	#intro ol li:nth-child(1) .pic {  width:100%; }
	#intro ol li:nth-child(1) .num { position:absolute; top:-20px;  right: inherit; left: 0; }
	#intro ol li:nth-child(1) .fltR { width:100%; }
	#intro ol li:nth-child(1) h2 { padding:20px 0 10px; }
	#intro ol li:nth-child(1) p { padding:0; }	
	#intro ol li:nth-child(2) { margin:0 0 40px; }
	#intro ol li:nth-child(2) .pic { width:100%; }
	#intro ol li:nth-child(2) .num { position:absolute; bottom: inherit; top:-20px; right: inherit; left: 0; }
	#intro ol li:nth-child(2) .fltL { width:100%; }
	#intro ol li:nth-child(2) h2 { padding:20px 0 10px; }
	#intro ol li:nth-child(2) p { padding:0; }
	#intro ol li:nth-child(3) { width:100%; margin:0 0 40px; }
	#intro ol li:nth-child(3) .inner { padding:0; }
	#intro ol li:nth-child(3) .num { position:absolute; top:-20px; left: 0; }
	#intro ol li:nth-child(3) h2 { padding:20px 0 10px; }
	#intro ol li:nth-child(3) p { padding:0; }	
	#intro ol li:nth-child(4) { width:100%; }
	#intro ol li:nth-child(4) .inner { padding:0; }
	#intro ol li:nth-child(4) .num { position:absolute; bottom:inherit; top:-20px;  top:-20px; left: 0; }
	#intro ol li:nth-child(4) h2 { padding:20px 0 10px; }
	#intro ol li:nth-child(4) p { padding:0; }
	#intro ol li .num { height:40px; }
	#intro .more a { font-size:15px; padding:30px 0; }

	#mission { padding: 0 20px 40px; min-width:auto; }
	#mission .pic { float:left; width:100%; position:relative; }
	#mission .tx { position:absolute; top:-20px; left:auto; right: 10px; height:60px; }
	#mission .fltR { width:100%; }
	#mission .logo { padding:20px 0;}
	#mission .logo img { width:auto; height:100px; }
	#mission p { font-size:14px; padding:0; }
	#mission ul { padding:0 20px; margin:40px 0 0 0; }
	#mission ul li { width:100%; }
	#mission ul li .inner { margin:0 0 30px; }
	#mission ul li h3 { font-size:15px; margin:15px 0 0; }

	#info { padding:40px 20px; min-width:auto; }
	#info .sec-inner { padding:0 }
	#info h3 { font-size:20px; position:static; margin:0 0 25px; }
	#info ul li { padding:0 0 20px;}
	#info ul li .date { width:100%; font-size:14px; }
	#info ul li a { width:100%; font-size:14px; }	

	
	/* 下層ページ */
	.contents-inner { padding: 0 20px 60px; margin: 0 auto; min-width:inherit; max-width: inherit; }
	
	/* page-title */
	.big-tit { font-size:18px; padding: 0 10px 10px; margin:0 0 20px; text-align: center }
	.big-tit span { font-size:20px; margin:10px 0 0; }
	
	.sec { margin: 0 0 40px }
	.sec h3 { color:#334567; font-size: 18px; }
	.sec h4 { color:#979798; font-size: 16px; }
	.sec h5 { color:#979798; font-size: 14px; }
	.sec h6 { font-size: 14px; }
	.sec h4.num { color:#21530d; font-size: 32px; font-style: italic; margin-bottom: 0; font-family: zapfino; }
	.sec p { margin-top: 1em }
	.sec p strong { font-weight: 400 }
	.sec p.bb { border-bottom: dotted 1px #c7c7c8; padding: 0 1em 1em }
	.sec ul li { list-style: square; list-style-position: outside; line-height: 2.2; margin-left: 1.6em }
.sec ol li { list-style: decimal; list-style-position: outside; line-height: 2.2; margin-left: 2em }
.sec ul li span, .sec ol li span { font-weight: 300 }
.sec ul.s-by-s { margin-top: 1em }
.sec ul.s-by-s li { list-style: square; list-style-position: outside; display: inline-block; margin-right: 2em; vertical-align: top }
.sec table { margin-top: 1em }
.sec table tr { border-bottom: dotted 1px #c7c7c8 }
.sec table th { font-weight: 400; padding: 1em; vertical-align: top; white-space: nowrap; }
.sec table td { font-weight: 300; padding: 1em; }
.sec .block  { padding: 1.5em; margin: 2em 0 0; background: #f7f7f8; }
.mb { margin-bottom: 2em }
.no-mt { margin-top: 0 !important }

.column { margin: 0 0 40px }

.column-two { margin: 0 0 40px }
.column-two .cont { width: 100%; float: none; margin-bottom: 40px }
.column-two .cont-inner { padding: 0 }

.column-three { margin: 0 0 40px }
.column-three .cont { width: 100%; float: none; margin-bottom: 40px }
.column-three .cont-inner { padding: 0 }

.btn-link {}
.btn-link a { display: block; padding: 1.5em 0; font-size: 15px; text-align: center; background: #f7f7f8; border-bottom: solid 1px #979798 }
.btn-link a:hover { background: #22530e; color: #fff }

#company #mission { margin: 0; padding: 0 0 40px; border: none }

#contact form { padding: 0 0 40px }
#contact .sec ul li { list-style: none; margin-left: 0 }
#contact .sec dt { padding-top: 0.5em }
#contact .sec dd { margin: 0.5em 0 }
#contact .sec .block { text-align: center }
p.tel { font-size: 24px; margin: 0; display: block } 

.pc-none { display: block }
.sp-none { display: none }

}



@media screen and (max-width: 320px) {	
	#top-header h1 { font-size:20px; margin:-35px 0 0 -145px; }
	#top-header h1 span { font-size:10px; }	
	#top-header .more a { font-size:12px; position:absolute; top:50%; left:50%; margin:20px 0 0 -50px; display:block; text-shadow:0 0 1px #fff; }
	#top-header .more a span { background:#000; height:1px; display:block; box-shadow:0 0 1px #fff; }
	#top-header .logo { position:absolute; top:10px; right: inherit;  left:50%;  margin:0 0 0 -22px; }
	#top-header .logo img { width:auto; height:40px; }
	#header { min-width:auto; }
	#header h1 { position:absolute; top:50%; left:50%; margin:-30px 0 0 -30px; }
	#header h1 img { width:auto; height:60px; }
	.btn-counsel a { position:absolute; bottom:-15px; right:0; font-size:11px; padding:15px 10px 15px 40px; }
	.btn-counsel .ico { position:absolute; top:50%; left:12px; margin:-8px 0 0; height:18px; }
}