@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
* { margin: 0; padding: 0;}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
form, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0; padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

div{ box-sizing: border-box;}
img{ vertical-align: bottom;}
ul{ list-style: none;}
ul li{ list-style-type: none;}
figure { margin: 0;}


/* =============================================================================
   Forms
   ========================================================================== */
form { margin: 0;}
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;}
legend { border: 0;}
button,
input,
select,
textarea { font-size: 100%; margin: 0; vertical-align: baseline;}
button,
input { line-height: normal;}
button,
input[type="button"], 
input[type="reset"], 
input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0;}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

button::-moz-focus-inner,
input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top;}
input[type="search"]:focus { outline: none;}

input:placeholder-shown,
textarea:placeholder-shown { color: #d1e9fa;}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder { color: #d1e9fa;}
input::-moz-placeholder,
textarea::-moz-placeholder { color: #d1e9fa; opacity: 1;}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder { color: #d1e9fa;}
    

table {
    border-collapse: collapse;
    border-spacing: 0;
}



/*		font-style
-------------------------------------------------- */
body {
	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
/*	font-family: "游ゴシック","Yu Gothic","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3", "メイリオ","Meiryo",sans-serif;*/
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

::selection{ background: #feffaf; color: #000;}
::-moz-selection{ background: #feffaf; color: #000;}


a { color:#158bd6; text-decoration:none;}
a:link   { color:#158bd6;}
a:visited{ color:#158bd6;}
a:hover  { color:#158bd6; text-decoration: underline;}
a:active { color:#158bd6; text-decoration: underline;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ /zoom: 1; clear: both;}
.cf:after{ content: ''; display: block; clear: both;}
a.telno{ display: none;}

.btn a,
.btn input { display: block; height: 50px; line-height: 50px; background: #f25e41; border: none;
 -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px;
 box-shadow: 0 4px 0 #c34b34;
 color: #fff; font-size: 22px; text-align: center;
}
.btn a:hover,
.btn input:hover{ text-decoration: none; opacity: 0.85;}
.sp{ display: none;}

@media (max-width: 769px) {
	.sp{ display: block;}
}

#hd {}
#hd .inner-hd { position: relative; width: 96%; max-width: 1320px; margin: 0 auto; padding-bottom: 18px;}
#hd .logo{ float: left; width: 35%; max-width: 330px; padding-top: 30px;}
#hd .logo h1 { margin-bottom: 10px;}
#hd .logo h1 span{ display: block; margin-bottom: 5px; color: #1ba66f; font-size: 15px;}
#hd .logo h1 img { width: 100%; max-width: 320px;}
#hd .logo p { color: #9a9a9a; font-size: 12px;}
#hd nav { position: relative; box-sizing: border-box;}
#hd nav ul{ text-align: right; font-size: 0;}
#hd nav ul li{ display: inline-block; line-height: 1; vertical-align: top;}
#hd nav ul.sNav { margin-bottom: 30px;}
#hd nav ul.sNav li:first-child{ padding: 12px 30px; background: #158bd6; color: #fff;
 border-bottom-left-radius: 10px; overflow: hidden;
}
#hd nav ul.sNav li:first-child em{ display: block; margin-bottom: 5px; font-size: 14px; text-align: center;}
#hd nav ul.sNav li:first-child span.telno{ display: block; font-size: 28px; font-weight: 700;}
#hd nav ul.sNav li:first-child span.telno:before{ content: ''; margin-right: 5px;
 display: inline-block; width: 24px; height: 22px; vertical-align: baseline;
 background: url(../img/icn-tel-wh.png) no-repeat 50% 50%; background-size: auto 100%;
}
#hd nav ul.sNav li:last-child { background: #f25e41; border-bottom-right-radius: 10px; overflow: hidden;}
#hd nav ul.sNav li:last-child a{ display: block; height: 24px; padding: 20px 40px 27px;
 color: #fff; font-size: 24px; line-height: 24px;
}
#hd nav ul.sNav li:last-child a:before{ content: '';
 display: inline-block; width: 24px; height: 24px; margin-right: 5px; vertical-align: text-bottom;
 background: url(../img/icn-mail.png) no-repeat 50% 50%;
}
#hd nav ul.sNav li:last-child:hover { background: #ef3410;}
#hd nav ul.sNav li:last-child a:hover{ text-decoration: none;}

#hd nav ul.gNav li { color: #158bd6; font-size: 16px; margin-left: 30px; font-weight: 700;}
#hd nav ul.gNav li a:hover{ text-decoration: none;}
#hd nav ul.gNav li.active a{ padding-bottom: 6px; border-bottom: solid 4px #158bd6;}


#hd .menu { display: none; position: absolute; top: 15px; right: 0; z-index: 200;}
#hd .menu div{ position: relative; display: block; width: 60px; height: 60px; background: #158bd6;}
#hd .menu span{ position: absolute; display: inline-block; width: 32px; height: 3px; background: #fff; left: 50%; margin-left: -16px;
 transition: .4s linear; opacity: 1;
}
#hd .menu span:nth-of-type(1){ top: 16px;}
#hd .menu span:nth-of-type(2){ top: 28px;}
#hd .menu span:nth-of-type(3){ bottom: 16px;}
#hd .menu.open{ position: fixed; right: 2%;}
#hd .menu.open span:nth-of-type(1){
 -webkit-transform: translateY(13px) rotate(315deg);
 transform: translateY(13px) rotate(315deg);
}
#hd .menu.open span:nth-of-type(2){ opacity: 0;}
#hd .menu.open span:nth-of-type(3){
 -webkit-transform: translateY(-13px) rotate(-315deg);
 transform: translateY(-13px) rotate(-315deg);
}
@media (max-width: 961px) {

}
@media (max-width: 769px) {
	#hd .inner-hd { padding-bottom: 10px;}
	#hd .logo { float: none; width: 72%; padding-top: 15px;}
	#hd .logo p { display: none;}
	#hd .menu { display: block;}
	#hd nav { position: fixed; top: -100%; left: 0; transition: .6s ease;
		width: 100%; height: 80vh; padding-top: 80px; z-index: 100;
		background: url(../img/bg-nav-sp.jpg) no-repeat 50% 100%; background-size: 100% auto;
	}
	#hd nav ul.sNav{ display: none;}
	#hd nav ul.gNav li{ display: block; text-align: center; margin-bottom: 10px; padding: 10px 0;}
	#hd nav ul.gNav li a{ color: #fff;}
	#hd nav ul.gNav li.active a{ border-bottom: solid 3px #fff;}
	#hd nav.open{ top: 0;}
}
@media (max-width: 481px) {
	#hd .logo h1 span{ font-size: 12px;}
}


.pagetop { position: fixed; bottom: 50px; right: 4%; width: 92px; height: 94px;}
.pagetop a{ display: block; width: 92px; height: 94px; background: url(../img/pagetop.png) no-repeat 50% 0; }
.pagetop a:hover{ background-position: 50% 100%;}

#ft{ padding: 30px 0;}
#ft .inner-ft{ width: 95%; max-width: 980px; margin: 0 auto 40px;}
#ft .lBloc { display: inline-block; width: 49%; padding-right: 30px; border-right: dotted 2px #ccc; vertical-align: top;}
#ft .rBloc { display: inline-block; width: 49%; padding-left: 30px; vertical-align: top;}
#ft .lBloc h2 { margin-bottom: 15px;}
#ft .lBloc h2 span { display: block; margin-bottom: 5px; color: #1ba66f; font-size: 15px;}
#ft .lBloc h2 img{ width: 85%; max-width: 320px;}
#ft .lBloc p.company{ font-size: 16px; font-weight: 700; letter-spacing: 0.08rem;}
#ft .lBloc p.company span{ padding-left: 15px;}
#ft .lBloc p.tel { margin-bottom: 10px;}
#ft .lBloc p.tel span.telno,
#ft .lBloc p.tel a.telno { color: #158bd6; font-size: 30px; font-weight: 700;}
#ft .lBloc p.tel span.telno { margin-right: 20px;}
#ft .lBloc p.tel a.telno { display: none; }
#ft .lBloc p.tel span.telno:before,
#ft .lBloc p.tel a.telno:before{ content: ''; margin-right: 5px;
 display: inline-block; width: 24px; height: 22px; vertical-align: baseline;
 background: url(../img/icn-tel-bl.png) no-repeat 50% 50%; background-size: auto 100%;
}
#ft .lBloc p.tel em{ color: #1ba66f; font-size: 16px;}
#ft .rBloc h3{ margin-bottom: 30px; font-size: 22px; line-height: 1.2; text-align: center;}
#ft .rBloc h3:before{ content: ''; display: inline-block; width: 38px; height: 26px; vertical-align: bottom;
 margin-right: 8px;
 background: url(../img/icn-news.png) no-repeat;
}
#ft .rBloc p { font-size: 14px; font-weight: 700; line-height: 1.8;}
#ft .rBloc p span{ display: block; margin-bottom: 10px; font-size: 22px;}

#ft small { display: block; width: 100%; margin-bottom: 15px; color: #9a9a9a; font-size: 10px; text-align: center;}
#ft small br{ display: none;}
#ft address{ color: #9a9a9a; font-size: 10px; font-style: normal; text-align: center;}
@media (max-width: 961px) {
	#ft .lBloc p.tel span.telno{ line-height: 1.4;}
	#ft .lBloc p.tel em{ display: block; line-height: 1;}
}
@media (max-width: 769px) {
	#ft .lBloc { display: block; width: 85%; margin: 0 auto 40px; padding-right: 0px; border-right: none;}
	#ft .rBloc { display: block; width: 85%; margin: 0 auto; padding: 30px 0 0; border-top: dotted 2px #ccc;}
	#ft .lBloc h2{ text-align: center;}
	#ft .lBloc p.company{ text-align: center;}
	#ft .lBloc p.tel { text-align: center;}
	#ft .rBloc h3{ margin-bottom: 20px;}
	#ft small { width: 80%; margin: 0 auto 15px;}
	#ft small br{ display: block;}
}
@media (max-width: 641px) {

	#ft .lBloc h2{ text-align: center;}
	#ft .lBloc h2 span { font-size: 12px;}
	#ft .lBloc p.company span{ display: block; padding-left: 0px;}
	#ft .lBloc p.tel span{ display: none;}
	#ft .lBloc p.tel a.telno { display: block; line-height: 1.2;}
	#ft .lBloc p.tel em{ line-height: 1;}
	#ft .rBloc p { font-size: 13px; font-weight: 100; line-height: 1.6;}
	#ft small { text-align: left}
	#ft small br{ display: none;}
}
@media (max-width: 641px) {
	.pagetop { width: 46px; height: 47px;}
	.pagetop a{ display: block; width: 46px; height: 47px; background-size: 100% auto;}
	.pagetop a:hover{ background-position: 50% 100%;}
}


.ptl { width: 100%; padding: 40px 0; background: #158bd6; color: #fff; font-size: 36px; line-height: 1; text-align: center;}
.breadlist { padding: 6px 0; background: #e4f4ff;}
.breadlist ul { width: 96%; max-width: 1320px; margin: auto; font-size: 0;}
.breadlist ul li { display: inline; color: #158bd6; font-size: 14px; line-height: 16px;}
.breadlist ul li:after{ content: '>'; font-size: 16px; margin: 0 10px;}
.breadlist ul li:last-child:after{ content: none;}

.kv{ height: 430px; background: url(../img/bg-kv.jpg) no-repeat 50% 0; text-align: center;}
@media (min-width: 1400px) {
	.kv { background-size: 100% auto;}
}
@media (max-width: 641px) {
	.kv{ background: url(../img/bg-kv-sp.jpg) no-repeat 50% 0;}
}
@media (max-width: 481px) {
	.ptl { padding: 25px 0; font-size: 22px;}
}

.contactBnr { padding: 40px 0; background: url(../img/bg-cross-bl.gif);}
.contactBnr .inner{ position: relative; width: 95%; max-width: 900px; margin: auto; color: #fff;}
.contactBnr .inner:before,
.contactBnr .inner:after { content: ''; display: block; position: absolute;}
.contactBnr .inner:before{ bottom: -20px; right: 100px; width: 166px; height: 233px;
 background: url(../img/worker.png) no-repeat 50% 0; background-size: 100% auto;
}
.contactBnr .inner:after{ bottom: 0; right: 0; width: 100px; height: 170px;
 background: url(../img/worker-txt.png) no-repeat 50% 0; background-size: 100% auto;
}
.contactBnr h2 { margin-bottom: 10px; font-size: 22px; font-weight: 100;}
.contactBnr h2 em { font-size: 24px; font-weight: 700;}
.contactBnr h2 br{ display: none:}
.contactBnr p.tel { margin-bottom: 10px;}
.contactBnr p.tel:before { content: ''; display: inline-block; width: 22px; height: 22px; margin-right: 5px;
 background: url(../img/icn-tel-wh.png) no-repeat 50% 50%; background-size: 100% auto;
}
.contactBnr p.tel span { margin-right: 20px; font-size: 30px; font-weight: 700;}
.contactBnr .btn { width: 80%; max-width: 580px;}
@media (max-width: 769px) {
	.contactBnr .inner:before{ bottom: -20px; right: 75px;}
	.contactBnr .inner:after{ bottom: 10px; width: 80px; height: 140px; background-size: 100% auto;}
	.contactBnr h2 { font-size: 17px;}
	.contactBnr h2 em { font-size: 24px;}
	.contactBnr .btn { width: 80%; max-width: 500px;}
}
@media (max-width: 641px) {
	.contactBnr .inner:before,
	.contactBnr .inner:after{ content: none;}
	.contactBnr h2 { text-align: center;}
	.contactBnr p.tel { text-align: center;}
	.contactBnr .btn { margin: auto;}
}
@media (max-width: 481px) {
	.contactBnr .inner:before,
	.contactBnr .inner:after { content: none;}
	.contactBnr h2 { font-size: 16px;}
	.contactBnr h2 em{ font-size: 20px;}
	.contactBnr h2 br{ display: block:}
	.contactBnr p.tel em{ display: block;}
	.contactBnr .btn { margin: 0 auto;}
}

.aside { padding: 40px 0; background: #e4f4ff; text-align: center;}
.aside h3{ height: 44px; margin-bottom: 20px; text-align: center; color: #158bd6; font-size: 22px; font-weight: normal; line-height: 1.4;}
.aside h3 span{ padding: 10px 40px; background: #fff; border: solid 1px #158bd6;
	 -moz-border-radius: 40px; -webkit-border-radius: 40px; border-radius: 40px;
}
.aside h3 br{ display: none;}
.aside p{ width: 85%; max-width: 900px; margin: 0 auto; color: #158bd6; font-size: 14px; line-height: 1.8;}
.aside hr{ width: 90%; height: 1px; margin: 40px auto; border: none; border-bottom: dotted 2px #bde0f7;}
@media (max-width: 481px) {
	.aside h3 { height: auto; font-size: 17px;}
	.aside h3 span{ display: block; width: 80%; margin: 0 auto; padding: 10px 0;}
	.aside h3 br{ display: block;}
	.aside p { font-size: 13px; line-height: 1.6; text-align: justify;}
	.aside p br{ display: none;}
}


.mb10{ margin-bottom: 10px !important;}
.mb20{ margin-bottom: 20px !important;}
.mb30{ margin-bottom: 30px !important;}
.mb40{ margin-bottom: 40px !important;}
.mb50{ margin-bottom: 50px !important;}

.slide-view { padding: 4px 0; background: #158bd6;}
.slide-view ul { font-size: 0; text-align: center;}
.slide-view ul li { display: inline-block; width: 19.5%; margin: 0 2px;}
.slide-view ul li img { width: 100%;}


/* Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;

-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
  	  touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0;}
.slick-list:focus { outline: none;}
.slick-list.dragging{ cursor: pointer; cursor: hand;}
.slick-slider .slick-track,
.slick-slider .slick-list{
-webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
     -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}
.slick-track { position: relative; top: 0; left: 0; display: block;}
.slick-track:before,
.slick-track:after { display: table; content: '';}
.slick-track:after { clear: both;}
.slick-loading .slick-track { visibility: hidden;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px;}
[dir='rtl'] .slick-slide { float: right;}
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none;}
.slick-slide.dragging img { pointer-events: none;}
.slick-initialized .slick-slide { display: block;}
.slick-loading .slick-slide { visibility: hidden;}
.slick-vertical .slick-slide{ display: block; height: auto; border: 1px solid transparent;}
.slick-arrow.slick-hidden { display: none;}
