@charset "utf-8";
/* CSS Document */

/* Reset
------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,fieldset,input,textarea,p,blockquote,th,td{ margin: 0;padding: 0; }
h1,h2,h3,h4,h5,h6{ font-size: 100%;font-weight: normal; }
address,em{ font-style: normal; }
table{ border-collapse: collapse;border-spacing: 0; }
th{ font-weight:normal;text-align: left; }
legend{ display: none; }
img,fieldset{ border: 0; }
li{ list-style-type: none; }
input[type="submit"]{
-webkit-appearance: none;
}

/* HTML5
------------------------------------------------------------*/
article, aside, dialog, figure, footer, header,hgroup, nav, section{ display: block;margin: 0;padding: 0; }

/* scrollbug for FF
------------------------------------------------------------*/
html{ 
	overflow-y: scroll;
	font-size: 15px;
	line-height: 1.5;
	color: #333;
}

/* Fonts
------------------------------------------------------------*/
body{
	margin: 0;
	min-width: 1200px;
	-webkit-text-size-adjust: none;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

/* Form
------------------------------------------------------------*/
button, input, select, textarea{ outline: none;-webkit-appearance: none;appearance: none; }

/* Media
------------------------------------------------------------*/
object,embed{ vertical-align: top; }
img{ max-width: 100%;vertical-align: bottom;font-size: 0;line-height: 0;-webkit-backface-visibility: hidden; }

	
/*common
------------------------------------------*/
h1,h2,h3,h4,h5,ul,li,dl,dt,dd,table,figure{
	border-collapse: collapse;
	list-style: none;
	margin: 0;
	padding: 0;
}

*{
	box-sizing:border-box;
}

img{
	border: none;
	vertical-align: middle;
	max-width: 100%;
}
	
a img{
	transition: opacity 0.3s ease-out;
}

a:hover img{ 
	opacity: 0.6;
}

a{
	color: #333;
	text-decoration: underline;
	-webkit-transition: all .3s;
	transition: all .3s;
	cursor: pointer;
	display: inline-block;
}

a:hover{ 
	text-decoration: none;
}

iframe{ width: 100%;}
.inner{ width: 960px; margin: 0 auto; position: relative;}
.fr{ float: right;}
.fl{ float: left;}
img.fr{ margin: 0 0 20px 20px; max-width: 40%;}
img.fl{ margin: 0 20px 20px 0; max-width: 40%;}
figure.fr{ margin: 0 0 20px 20px; max-width: 40%;}
figure.fl{ margin: 0 20px 20px 0; max-width: 40%;}
figcaption{ font-size: 12px; text-align: center;}
.m0{ margin: 0 !important;}
.mt20{ margin-top: 20px !important;}
.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;}
.alignC{ text-align: center !important;}
.alignL{ text-align: left !important;}
.alignR{ text-align: right !important;}
.fs80{ font-size: 80% !important;}
.fs16{ font-size: 16px !important;}
.fs18{ font-size: 18px !important;}
.fwB{ font-weight: bold;}
.red{ color: red;}
.fB{ font-weight: bold;}

.clear{ clear:both;}

.cf:after{
	content: ""; 
	display: block; 
	clear: both; 
	}
	
#main{
	width: 740px;
	padding: 60px 30px 60px 0;
	float: left;
}

#side{
	width: 220px;
	float: right;
	margin: 60px 0;
}

ul.x2{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 30px;
}

ul.x2 > li{
	width: 49%;
}

ul.x2 > li img{
	width: 100%;
}

ul.x2 > li:nth-child(2n){
	margin-right: 0;
}

.x2Wrap{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.x2Wrap > li{
	width: 49%;
	margin-right: 2%;
	padding-right: 10px;
}

.x2Wrap > li:nth-child(2n){
	margin-right: 0;
}

ul.x3{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

ul.x3 > li{
	width: 32%;
	margin-right: 2%;
}

ul.x3 > li:nth-child(3n){
	margin-right: 0;
}

ul.x3 > li:nth-child(n+4){
		margin-top: 20px;
	}

ul.x3 > li p{
	margin-top: 10px;
}

p{
margin: 0;
}

p:not(:last-child){
	margin-bottom: 20px;
}

#h2Wrap{
	height: 390px;
	background: url(../img/h2Wrap.jpg) no-repeat center top;
	background-attachment: fixed;
	padding-top: 155px;
}

#h2Wrap > .inner{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 100%;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min--moz-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2/1),
only screen and (min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx){
	#h2Wrap::before{
		background: url(../img/h2Wrap@2x.jpg) no-repeat;
		background-size: cover;
	}
}

#h2Wrap h2{
	color: #fff;
	font-size: 18px;
	text-align: center;
	position: relative;
	z-index: 10;
	letter-spacing: 3px;
	font-weight: bold;
	
}

#h2Wrap h2 > span{
	font-size: 38px;
	text-shadow: 1px 1px 0px rgba(255, 255, 255, 1);
	color: #ff781e;
}

/*h3{
	padding: 15px;
	background-color: #f7f8f9;
	border-left: 5px solid #083b6d;
	font-size: 20px;
	margin: 50px 0 20px 0;
	font-weight: bold;
	letter-spacing: 2px;
	color: #083b6d;
}*/

/*h3{
	position: relative;
	padding: 0.25em 0;
}

h3:after{
	content: "";
	display: block;
	height: 1px;
	background: -webkit-linear-gradient(to right, rgb(230, 90, 90), transparent);
	background: linear-gradient(to right, rgb(230, 90, 90), transparent);
}*/

/*h3{
	color: #ff781e;
	padding: 12px 0;
	border-top: solid 1px #ff781e;
	border-bottom: solid 1px #ff781e;
	font-size: 20px;
	margin: 60px 0 30px 0;
	font-weight: bold;
	letter-spacing: 2px;
}*/

h3{
	position: relative;
	padding: 12px 10px 12px 25px;
	border: 1px solid #ccc;
	color: #ff781e;
	font-weight: bold;
	letter-spacing: 2px;
	font-size: 22px;
	margin: 60px 0 30px 0;
	background: #fff;
}

h3::after {
	position: absolute;
	top: 10px;
	left: 10px;
	content: '';
	width: 6px;
	height: 60%;
	background: #ff781e;
}

h4{
	text-align: left;
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 2px;
	line-height: 1;
	color: #ff781e;
	padding: 15px;
	background: #f3f3f3;
	/*border-bottom: solid 1px #ff781e;*/
	margin: 40px 0 20px 0; 
}

h4:first-child{
	margin-top: 0;
}

h5{
	font-size: 16px;
	color: #333;
	font-weight: bold;
	letter-spacing: 1px;
	margin: 30px 0 20px 0;
	border-bottom: 1px solid #dddddd;
	padding: 3px 0;
}

ul.disc, ol.disc{
	padding-left: 20px;
}

ul.disc li, ol.disc li{
	list-style: disc;
}

.spBr{ display: none;}

/*pankuzu
------------------------------------------*/
#pankuzu + h3{
	margin-top: 0;
}

#pankuzu{
	margin-bottom: 20px;
}

#pankuzu ul{
	width: 100%;
	margin: 0 auto;
	font-size: 12px;
	color: #333;
}

#pankuzu ul li{
	display: inline-block;
	position: relative;
}
#pankuzu ul li a{
	color: #333;
}

#pankuzu ul li:nth-child(n+2){
	padding-left: 30px;
}

#pankuzu ul li:nth-child(n+2):before{
	position: absolute;
	content: "";
	left: 10px;
	top: 7px;
	width: 4px;
	height: 4px;
	border-top: 1px solid #ff781e;
	border-right: 1px solid #ff781e;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}



/*btn
------------------------------------------*/
/*.contactBtn a{
	position: relative;
	display: block;
	color: #333;
	background: #fff;
	padding: 10px 0px 10px 27px;
	border-radius: 0;
}

.contactBtn a::before{
	content: "";
	background: url(../img/mail.png) no-repeat;
	display: inline-block;
	height: 12px;
	width: 19px;
	margin-right: 6px;
	position: relative;
	top: 1px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min--moz-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2/1),
only screen and (min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx){
	.contactBtn a::before{
		background: url(../img/mail@2x.png) no-repeat;
		background-size: cover;
	}
}*/

/*a.btnA{
	background: #fff;
	display: inline-block !important;
	padding: 10px 35px;
	width: 100%;
	font-weight: bold;
	color: #ff781e;
	text-decoration: none;
	border: solid 1px #ff781e;
}*/

/*a.btnA:hover{
	opacity: .6;
}*/

/*a.btnA{
	position: relative;
	z-index: 2;
	border: 2px solid #333;
	color: #333;
	width: 100%;
	padding: 20px;
	text-decoration: none;
	  line-height: 50px;
  -webkit-perspective: 300px;
  perspective: 300px;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

a.btnA::before{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}

a.btnA::after {
	position: absolute;
	content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #333;
    -webkit-transform-origin: center top;
    transform-origin: center top;
    -webkit-transform: rotateX(90deg);
    transform: rotateX(90deg);
    opacity: 0;
	z-index: -1;
}

a.btnA:hover {
	color: #fff;
	z-index: 100;
}

a.btnA:hover::after {
	-webkit-transform: rotateX(0);
	transform: rotateX(0);
	opacity: 1;
}*/

a.btnA{
	display: inline-block;
	width: 100%;
	padding: 10px 0;
	text-align: center;
	text-decoration: none;
	outline: none;
	font-weight: bold;
}

a.btnA::before , a.btnA::after{
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}

a.btnA , a.btnA::before , a.btnA::after{
	-webkit-transition: all .3s;
	transition: all .3s;
}

a.btnA{
	position: relative;
	z-index: 2;
	background-color: #fff;
	border: 1px solid #ff781e;
	color: #ff781e;
	overflow: hidden;
}

a.btnA:hover{
	color: #fff;
}

a.btnA::after{
	top: -100%;
	width: 100%;
	height: 100%;
}

a.btnA:hover::after{
	top: 0;
	background: #ff781e;
}

a.btnB{
	background: #ff781e;
	display: inline-block !important;
	padding: 15px 20px;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	min-width: 250px;
	font-size: 18px;
	letter-spacing: 2px;
	text-align: center;
}

a.btnB:hover{
	opacity: .5;
}

/*header
------------------------------------------*/
header {
	width: 100%;
	background: rgba(255,255,255,.9);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
}

.head{
	padding: 10px 0 0 0;
}

h1{
	font-size: 11px;
	display: inline-block;
	line-height: 2;
}

.head ul{
	display: block;
	float: right;
}

.head ul li{
	display: inline-block;
	font-size: 11px;
}

.head ul li a{
	color: #333;
	text-decoration: none;
}

.head ul li a:hover{
	text-decoration: underline;
}

.head ul li:not(:first-child)::before{
	content: "";
	width: 1px;
	height: 12px;
	background: #333;
	margin: 0 15px 0 10px;
	display: inline-block;
	position: relative;
	top: 1px;
}

.head2{
	padding: 20px 0;
}

.head .logo{
	display: inline-block;
}

.head2 ul{
	float: right;
}

.head2 ul .tel{
	float: left;
	font-size: 12px;
	text-align: right;
}

.tel span{
	font-size: 22px;
	font-weight: bold;
	line-height: 1;
	color: #ff781e;
	letter-spacing: 2px;
}

.tel span::before{
	content: "";
	background: url(../img/tel.png) no-repeat;
	width: 18px;
	height: 18px;
	margin-right: 5px;
	display: inline-block;
	position: relative;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min--moz-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2/1),
only screen and (min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx){
	.tel span::before{
		background: url(../img/tel@2x.png) no-repeat;
		background-size: cover;
	}
}

.iconBlue span::before{
	background: url(../img/tel_blue.png) no-repeat;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min--moz-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2/1),
only screen and (min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx){
	.iconBlue span::before{
		background: url(../img/tel_blue@2x.png) no-repeat;
		background-size: cover;
	}
}

/*.head2 ul li.contactBtn{
	width: 170px;
	float: right;
}

.head2 ul li.contactBtn a{
	position: relative;
	font-weight: bold;
	text-decoration: none;
	transform: 0.3s;
	color: #fff;
	background: #ce5242;
}

.head2 ul li.contactBtn a:hover{
	opacity: 0.6;
}*/

nav ul{
	width: 960px;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
	webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

nav ul li{
	position: relative;
	width: 20%;
}

nav ul li a{
	padding: 0 0 18px;
	display: block;
	text-align: center;
	letter-spacing: 2px;
	color: #333;
	line-height: 1.5;
	text-decoration: none;
	font-weight: bold;
	position: relative;
	font-size: 16px;
}

nav ul li.ac a span{
	display: inline-block;
	position: relative;
}


nav ul li.ac a span::before {
    content: "";
    height: 1px;
    background: #ff781e;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    transition: .3s;
}

nav ul li a:hover{
	text-decoration: none;
	opacity: 0.6;
}

nav ul li.ac a{
	color: #ff781e;
}

nav ul li a::before{
	left: 50%;
}

nav ul li a::after{
	right: 50%;
}

nav ul li a:hover::before,
nav ul li a:hover::after,
nav ul li.ac a::before,
nav ul li.ac a::after{
	width: 50%;
}

nav ul li.ac a:hover::before,
nav ul li.ac a:hover::after{
	width: 0;
}

/* ハンバーガーメニュー*/
#nav_toggle{
	display: none;
}


/*kv
------------------------------------------*/
#kv{
	background: url(../img/kv.jpg) no-repeat center top;
    height: 650px;
    padding-top: 155px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min--moz-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2/1),
only screen and (min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx){
	#kv{
		background-image: url("../img/kv@2x.jpg") no-repeat center top;
	}
}

#kv .inner{
	height: 100%;
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	-moz-align-items: center;
	-ms-align-items: center;
	align-items: center;
}


/*topMain
------------------------------------------*/
ul.topMain li{
	text-align: center;
	margin-bottom: 30px;
	background: #fff;
	width: 340px;
	margin-right: 30px;
	position: relative;
}

ul.topMain li figure{
	width: 100%;
}

.mainImg{
	position: relative;
}

.mainImg > h2{
	bottom: 0;
	left: 0;
	position: absolute;
	font-size: 20px;
	line-height: 1;
	letter-spacing: 1px;
	font-weight: bold;
	text-align: center;
	padding: 15px 0 0 0;
	background: #fff;
	display: inline-block;
	width: 150px;
	text-align: left;
}

ul.topMain li > p{
	display: inline-block;
	text-align: left;
	padding: 0;
	line-height: 1.8;
	margin: 20px 0;
}

#topics{
	width: auto;
	background: #f3f3f3;
	padding: 20px;
}

#topics h2{
	text-align: left;
	font-weight: bold;
	font-size: 20px;
	letter-spacing: 2px;
	line-height: 1;
	padding: 0 0 10px 0;
	border-bottom: solid 1px #cec1bc;
}

#topics dl{
	padding: 10px 0 0 0;
}

#topics dl dt{
	padding: 10px 0;
	float: left;
	color: #333;
	font-size: 14px;
}

#topics dl dd{
	padding: 10px 0 10px 100px;
	color: #333;
}


/*side
------------------------------------------*/
/*.sideTel{
	background: #f4f4f4;
	padding: 20px 20px;
	margin-bottom: 20px;
	border: solid 1px #dddddd;
}

.sideTop{
	background: #fff;
}

.sideTel p{
	margin: 0 0 10px 0;
	text-align: center;
}

.sideTel p:first-child{
	font-weight: bold;
	color: #136d9c;
	font-size: 16px;
}

.sideTel p.tel span{
	font-size: 24px;
	color: #136d9c;
	letter-spacing: -0.5px;
}

.sideTel p:last-child{
	font-size: 12px;
	margin: 0;
}

.sideMail{
	background: #fff;
	padding: 20px;
	margin-bottom: 20px;
	border: solid 1px #dddddd;
}

.sideMail p{
	font-weight: bold;
	margin: 0 0 10px 0;
	text-align: center;
	font-size: 16px;
}

.sideMail a{
	position: relative;
	font-weight: bold;
	text-decoration: none;
	transform: 0.3s;
	background-image: -moz-linear-gradient( -30deg, rgb(62,107,83) 0%, rgb(41,87,63) 100%);
	background-image: -webkit-linear-gradient( -30deg, rgb(62,107,83) 0%, rgb(41,87,63) 100%);
	background-image: -ms-linear-gradient( -30deg, rgb(62,107,83) 0%, rgb(41,87,63) 100%);
	color: #fff;
	padding: 10px 0px;
	text-align: center;
}

.sideMail a:hover{
	opacity: 0.6;
}*/

ul.sideBnr li{
	margin-bottom: 20px;
}

ul.sideBnr li:last-child{
	margin-bottom: 0;
}


/*footer
------------------------------------------*/
footer{
	padding: 0 0 20px 0;
}

footer #footManu{
	font-size: 12px;
	background: #292726;
	margin-bottom: 30px;
}

footer #footManu ul li:nth-child(6){
	clear: both;
}

footer #footManu ul{
	width: 960px;
	margin: 0 auto;
	padding: 30px 0;
	position: relative;
}

footer #footManu ul li{
	float: left;
	margin-bottom: 15px;
	width: 150px;
	position: relative;
}

footer #footManu ul li:nth-child(n+5){
	margin-bottom: 0;
}

footer #footManu ul li.pageTop{
	position: absolute;
	top: 0;
	right: 0;
	background: #010101;
	margin: 0;
	text-align: center;
	width: auto;
	transition: .3s;
}

footer #footManu ul li a{
	padding-left: 20px;
	text-decoration: none;
	transition: .3s;
	letter-spacing: 1px;
	color: #fff;
}

footer #footManu ul li a:hover{
	opacity: 0.6;
}

footer #footManu ul li.pageTop a{
	display: block;
	padding: 10px 30px 10px 40px;
	text-decoration: none;
	letter-spacing: 1px;
	color: #fff;
	font-weight: bold;
}

footer #footManu ul li.pageTop a:hover{
	opacity: .5;
}

footer #footManu ul li a::before{
	position: absolute;
	content: "";
	left: -2px;
	top: 6px;
	width: 4px;
	height: 4px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

footer #footManu ul li.pageTop a::before{
	left: 25px;
	top: 17px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.address p{
	font-size: 16px;
	margin: 0 0 10px 0;
	letter-spacing: 1.5px;
	font-weight: bold;
}

.address ul li{
	float: left;
	margin-right: 30px;
	line-height: 1.8;
	font-size: 12px;
}

.copyLight{
	position: absolute;
	right: 0;
	bottom: 0;
	margin: 0;
	font-size: 10px;
	color: #666666;
}


/*下層ページ共通
------------------------------------------*/
/*ul.sideBar{
	margin-bottom: 40px;
}

ul.sideBar li:not(:first-child){
	border-bottom: solid 1px #333;
}

ul.sideBar li a{
	display: block;
	padding: 10px;
	text-decoration: none;
	font-weight: bold;
	transition: 0.3s;
	letter-spacing: 0.5px;
}

ul.sideBar li a:hover{
	opacity: .6;
}

ul.sideBar li:first-child a{
	color: #083b6d;
	text-decoration: none;
	padding: 15px 10px;
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 2px;
	border-top: solid 2px #083b6d;
	border-bottom: solid 2px #083b6d;
}

ul.sideBar li.ac a{
	background: #f7f8f9;
}*/

table.tableA{
	width: 100%;
	margin-bottom: 20px;
}

table.tableA tr{
	border-top: 1px solid #cccccc;
}

table.tableA tr:last-of-type{
	border-bottom: 1px solid #cccccc;
}

table.tableA td:first-child{
	padding: 18px 15px;
	text-align: left;
	vertical-align: top;
	background: #f3f3f3;
	width: 25%;
	font-weight: bold;
	font-size: 14px;
}

table.tableA td:nth-child(2){
	padding: 18px 15px;
	text-align: left;
	vertical-align: top;
}

.serviceFlow{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.serviceFlow li{	
	width: 30%;
	padding: 10px;
	border: solid 1px #ff781e;
	text-align: center;
	position: relative;
}

.serviceFlow li:nth-child(n+4){	
	margin-top: 25px;
}

.serviceFlow li > p{
	font-weight: bold;
	color: #ff781e;
	margin-bottom: 5px;
	background: #fff;
}

.serviceFlow li::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 225px;
	border-style: solid;
	border-width: 10px 0 10px 12px;
	border-color: transparent transparent transparent #ff781e;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.serviceFlow li:last-child::after{
	content: none;
}

.tabList {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 30px;
}

.tabList li {
    width: 18%;
    padding: 12px 5px;
    text-align: center;
    cursor: pointer;
    background: #f3f3f3;
    transition: all 0.3s ease-out;
    font-size: 14px;
    font-weight: bold;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
    color: #333;
	cursor: pointer;
}

.tabList li:hover{
	opacity: .5;
}

.select {
	background: #ff781e !important;
	color: #fff !important;
	pointer-events: none;
}

.tabList li:last-of-type {
    margin-right: 0;
}

.tabBox{
	border: solid 1px #ccc;
	padding: 20px;
	margin-bottom: 40px;
}

.tabBox > table.tableA{
	margin-bottom: 0;
}

.hide {
	display: none;
}

ol{
    padding-left: 20px;
	margin-bottom: 20px;
}

ol li{
    list-style: disc;
}

ol:last-of-type{
    margin-bottom: 0;
}

.sitemap a{
	text-decoration: none;
	font-size: 16px;
}

.sitemap a:hover{
	text-decoration: underline;
}

.sitemap > li:not(:last-of-type){
	margin-bottom: 15px;
}

.sitemap > li > a::before{
	content: "";
	width: 4px;
	height: 4px;
	margin-right: 10px;
	display: inline-block;
	border-top: 1px solid #ff781e;
	border-right: 1px solid #ff781e;
	position: relative;
	top: -2px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: .3s;
}

#main02{
	width: 740px;
	padding: 20px 30px 60px 0;
	float: left;
}






/*contact
------------------------------------------*/
table.form{
	width: 100%;
	margin-bottom: 40px;
}

table.form td:first-child{
    padding: 12px;
}

table.form td:nth-child(2){
    padding: 12px;
}

form table input, form textarea, form select{
	width: 100%;
	border: none;
	background-color: #eee;
	padding: 6px 10px;
}

.icon{
	font-size: 12px;
	font-weight: normal;
	color: #fff;
	background: #d23d2a;
	padding: 2px 4px;
	float: right;
}

.icon.option{
	background: #2866b4;
}

.icon.firstIcon{
	float: none;
	margin-right: 5px;
	padding: 2px 7px;
}

form textarea{
	min-height: 120px;
	resize: vertical;
}

.entryBtn{
	color: #fff;
	transition: .3s;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 2px;
	padding: 15px 80px;
	border: none;
	background: #ff781e;
	cursor: pointer;
	border-radius: 0;
}

.entryBtn:hover{
	opacity: .5;
}

form select{
	background: url(../img/i_select.png) no-repeat right 10px center #eee;
	background-size: 6px auto;
}

form .placeholder{
	font-size: 12px;
	color: #aaa;
	margin-top: 8px;
	display: inline-block;
}


/*タブレット版
==================================================================================================================================================================================================================*/
@media screen and (max-width: 768px){
	.sideTel p.tel span{
		font-size: 16px;
	}

	.sideTel p:last-child{
		font-size: 10px;
	}

}

/*SP版
==================================================================================================================================================================================================================*/
@media screen and (max-width: 480px){
	/*common
	------------------------------------------*/
	body{
		min-width: initial;
		padding-top: 65px;
	}

	iframe{
		height: 250px;
	}

	img{
		max-width: 100%;
	}

	.inner{
		width: initial;
		margin: 0 10px;
	}

	#main{
		width: 100%;
		float: none;
		padding: 20px 0 20px 0;
	}

	#side{
		margin-bottom: 10px;
	}

	ul.x2{
		-webkit-flex-direction:column;
		-moz-flex-direction:column;
		flex-direction:column;
		margin-bottom: 10px;
	}

	ul.x2 > li{
		width: 100%;
		margin: 0 0 10px 0;
	}
	
	ul.x2 > li:last-child{
		margin: 0;
	}
	
	.x2Wrap{
		-webkit-flex-direction:column;
		-moz-flex-direction:column;
		flex-direction:column;
	}

	.x2Wrap > li{
		width: 100%;
		margin-right: 0;
	}

	ul.x3 > li{
		float: none;
		width: 49%;
		margin-right: 2%;
	}
	
	ul.x3 > li:nth-child(3n){
		margin-right: 2%;
	}
	
	ul.x3 > li:nth-child(2n){
		margin-right: 0 !important;
	}

	ul.x3 > li img{
		width: 100%;
	}
	
	ul.x3 > li:nth-child(n+4) {
		margin-top: 10px;
	}
	
	ul.x3 > li:nth-child(n+3) {
		margin-top: 10px;
	}

	#pankuzu{
		display: none;
	}

	#h2Wrap{
		padding: 40px 0;
		background-size: cover;
		height: auto;
		background-attachment: inherit;
	}

	h3{
		font-size: 18px;
		margin: 30px 0 15px 0;
	}

	h4{
		font-size: 16px;
		margin: 20px 0 10px 0;
	}
	
	h5{
		margin: 20px 0 10px 0;
	}
	
	#h2Wrap h2 > span {
		font-size: 30px;
	}
	
	#h2Wrap h2 {
		font-size: 14px;
	}
	
	.bgColor{
		background: #fff;
	}
		
	.spBr{ display: block;}

	/*header
	------------------------------------------*/
	header{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1000;
		height: 65px;
		padding: 12px 0;
		background: #fff;
		box-shadow: none;
	}

	.head{
		display: none;
	}

	.head2 ul{
		display: none;
	}

	.head2{
		padding: 0;
	}

	nav{
		display: none;
		position: absolute;
		width: 100%;
		padding: 0;
		z-index: 1000;
		left: 0;
		top: 65px;
	}

	nav ul{
		display: block;
		margin: 0;
		width: 100%;
		background: #ffffff;
		padding: 0;
	}

	nav ul li{
		display: block;
		position: relative;
		margin: 0;
		text-align: center;
		border-left: none;
		float: none;
		width: 100%;
		z-index: 1000;
		border-bottom: solid 1px #f7f8f9;
	}

	nav ul li:first-child{
		border-top: solid 1px #eff4f7;
	}

	nav ul li:last-child{
		border-bottom: none;
	}

	nav ul li a{
		display: block;
		letter-spacing: 2px;
		padding: 18px 0;
		color: #333;
	}
	
	nav ul li:first-child::before{
		content: none;
	}
	
	nav ul li::after{
		content: none;
	}
	
	/*nav ul li.ac{
		border-bottom: none;
	}*/
	
	nav ul li.ac a::after,
	nav ul li.ac a::before{
		width: 0;
	}

	/*ハンバーガーメニュー ボタン*/
	#nav_toggle{
		display: block;
		width: 30px;
		position: absolute;
		top: 20px;
		right: 20px;
		z-index: 1000;
	}

	#nav_toggle div{
		position: relative;
	}

	#nav_toggle span{
		display: block;
		height: 2px;
		background: #083b6d;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}

	#nav_toggle span:nth-child(1){
		top: 0px;
	}

	#nav_toggle span:nth-child(2){
		top: 10px;
	}

	#nav_toggle span:nth-child(3){
		top: 20px;
	}

	.open #nav_toggle span:nth-child(1){
		top: 12px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}

	.open #nav_toggle span:nth-child(2){
		width: 0;
		left: 50%;
	}

	.open #nav_toggle span:nth-child(3){
		top: 12px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}

	/*btn
	------------------------------------------*/
	/*.serviceBtn{
		margin: 10px 0 0;
	}

	.serviceBtn a{
		margin: 0 auto;
	}*/
	.btnA{
		width: 100%;
	}
	
	a.btnB{
		width: 100%;
		min-width: 100%;
		padding: 10px;
	}
	

	/*kv
	------------------------------------------*/
	#kv{
		height: 200px;
		width: auto;
		background-size: cover;
		padding-top: 0;
	}


	/*topMain
	------------------------------------------*/
	ul.topMain li{
		margin-bottom: 20px;
		padding: 10px;
	}

	ul.topMain li h2{
		padding: 10px 0 0 0;
	}

	ul.topMain li p{
		margin: 14px 0;
	}

	#topics{
		width: auto;
		float: none;
		margin-top: 30px;
	}

	#topics h2{
		padding-bottom: 10px;
	}

	#topics dl dt{
		float: none;
		padding: 0;
	}

	#topics dl dd{
		padding: 0 0 10px 0;
	}

	ul.topMain li figure{
		width: 100%;
	}


	/*side
	------------------------------------------*/
	#side{
		width: 100%;
		float: none;
		padding-bottom: 10px;
		padding: 0 0 20px 0;
		margin: 0;
	}

	/*.sideTel{
		padding: 20px;
		width: 100%;
		margin-bottom: 10px;
	}

	.sideTel p{
		font-size: 20px !important;
		margin: 0;
	}

	.sideTel p.tel span{
		font-size: 26px;
	}

	.sideMail{
		margin-bottom: 10px;
	}

	.sideMail p{
		font-size: 20px;
	}

	.sideMail a{
		font-size: 20px;
	}*/
	
	ul.sideBnr{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	
	ul.sideBnr li{
		float: none;
		width: 49%;
		margin: 0;
		margin-right: 2%;
	}
	
	ul.sideBnr li:nth-child(n+3){
		margin-top: 3%;
	}
	
	ul.sideBnr li:nth-child(2n){
		margin-right: 0;
	}

	ul.sideBnr li img{
		width: 100%;
	}

	/*.contactBtn a span::before{
		left: 70px;
		top: 19px;
	}*/


	/*footer
	------------------------------------------*/
	footer{
		padding: 0 0 5px 0;
	}
	
	footer #footManu ul{
		width: auto;
		padding: 0;
	}

	footer #footManu ul li{
		font-size: 14px;
		margin: 0;
		width: 50%;
		border-bottom: 1px dotted #dddddd;
		border-right: 1px dotted #dddddd;
	}
	
	footer #footManu ul li:last-child{
		width: 100%;
	}
	

	footer #footManu ul li a{
		display: block;
		padding: 15px 10px;
		text-align: center;
	}

	footer #footManu ul li:nth-child(2n-1){
		border-right: none;
	}

	footer #footManu ul li.pageTop{
		position: static;
		width: 100%;
		border-bottom: none;
		background: #f3f3f3;
	}

	footer #footManu ul li.pageTop a{
		padding: 15px 10px;
		width: 100%;
		color: #333;
	}

	footer #footManu ul li a::before{
		content: none;
	}

	footer #footManu ul li:nth-child(6){
		clear: none;
	}

	footer #footManu{
		margin: 0;
	}

	footer .inner{
		margin: 0;
	}

	.address{
		margin: 15px 0 5px 0;
		font-size: 14px;
		text-align: center;
	}
	
	.address p{
		margin: 0;
	}

	.address ul li{
		float: none;
		margin: 0;
	}

	.copyLight{
		position: static;
		padding: 5px;
		text-align: center;
		font-size: 12px;
	}
	
	footer #footManu ul li:nth-child(5){
		clear: none;
	}


	/*下層ページ
	------------------------------------------*/
	/*ul.sideBar li{
		text-align: center;
	}

	ul.sideBar li a{
		padding: 8px !important;
	}*/
	
	table.tableA{
		width: 100%;
	}

	table.tableA td:first-child{
		display: block;
		margin-bottom: -1px;
		width: initial;
		padding: 12px;
	}

	table.tableA td:nth-child(2){
		display: block;
		padding: 12px;
	}

	table.form{
		margin-bottom: 20px;
	}
	
	.entryBtn{
		border-radius: 0;
		width: 100%;
	}
	
	.serviceFlow li{
		width: 100%;
		padding: 20px 10px;
	}
	
	.serviceFlow li > p {
		font-size: 16px;
	}
	
	.serviceFlow li:nth-child(n+2){
		margin-top: 60px;
	}
	
	.serviceFlow li::after {
		content: "";
		position: absolute;
		top: 290px;
		left: 50%;
		border-style: solid;
		border-width: 20px 20px 0 20px;
		border-color: #ff781e transparent transparent;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	}
	
	.serviceFlow li:nth-child(3n)::after{
		content: "";
	}
	
	.serviceFlow li:last-child::after{
		content: none;
	}
	
	.tabList li{
		width: 48%;
	}
	
	.tabList li:nth-child(n+3){
		margin-top: 12px;
	}
	
	.tabBox{
		padding: 10px;
		margin-bottom: 20px;
	}
	
	#main02{
		width: 100%;
		float: none;
		padding: 20px 0 20px 0;
	}
	
}
