@charset "UTF-8";

.tablet,
.pc,
.pcTablet {
	display: none !important;
}

/* --- Base Color --- */

/*#003E79;*//*cyan*/
/*#70AFC6;*//*pastel dark blue*/
/*#4DB675;*//*light green*/

/* --- Base Color end --- */

body,
html {
	width: 100vw;
  font-family: "Sawarabi Mincho";
	-webkit-overflow-scrolling: touch;
}

#container {
  display: none;
	width: 100%;
	min-height: calc(100vh - 50px);
	margin: 0px auto;
}

/* --- header --- */

header{
	width: 100%;
	height: 110px;
	margin: 0px auto -20px;
	border-top: 10px solid #003E79;/*cyan*/
	box-shadow: 0px 0px 7px 0px #cacac9;
}

h1{
	width: 70%;
	height: auto;
	margin: 20px 0px 0px 20px;
}

h1 a{
	display: block;
}

/* --- header end --- */

/*-----hide menu-----*/
.overlay{
	width: 100vw;
	height: calc(100vh - 116px);
	
	background-image: url(../img/common/gradation_top.png) ,url(../img/common/gradation_bottom.png);
	background-repeat: repeat-x , repeat-x;
	background-size: 300px , 300px;
	background-position: top , bottom;
	background-color: #fff;
	/*background: rgba(255,255,255,1);*/
	
	box-shadow: 0px -9px 4px -7px #cacac9;
	position: absolute;
	z-index: 100;
	top: 116px;
}

ul.mobMenu{
	width: 40px;
	height: 50px;
	margin: -58px 20px 0px 0px;
	padding: 0px;
	float: right;
}

/*スムーススクロール競合のためa削除*/
ul.mobMenu li.menuBtn{
	display: block;
	width: 40px;
	height: 50px;
	cursor: pointer;
}

.mobNav{
	width: 280px;
	height: 158px;
	/*background: rgba(255,255,255,0.95);*/
	
	/*border-radius: 6px;*/
	
	margin: auto;
	position: fixed !important;
	z-index: 5000;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	
	/* box-shadow */
	/*box-shadow:0px 0px 8px -1px rgba(96,98,93,0.16);*/
}
/* --- object of menu --- */

/* --- nav --- */

.mobNav ul {
	width: 280px;/*220*/
	height: auto;
	margin: 60px auto 0px;/*0 → 30 → 60*/
}

.mobNav ul li{
	width: 280px;
	height: 46px;
	margin: 0px auto 10px;
	background: #fff;
}

.mobNav ul li a{
	display: block;
	width: 280px;
	height: 46px;
	line-height: 46px;
	font-size: 116%;
	letter-spacing: 0.2em;
	text-indent: 1em;
	color: #003E79;/*cyan*/
	border-left: 3px solid #8CECB1;/*bibit light green*/
	box-shadow:0px 0px 8px -1px rgba(96,98,93,0.16);
}

.mobNav ul li.hvr a,
.mobNav ul li a:hover{
	color: #91C979;/*light green*/
	background: #f5fdf4;/*light lime*/
}
/* --- nav end --- */
/*----- hide menu end -----*/

/* --- mainImg --- */

#main_img{
	width: 100%;
	height: auto;
	margin: 0px auto -3px;
}

#main_img ul#slider2{
	width: 100%;
	height: auto;
	margin: 0px;
}

#main_img ul#slider2 li img{
	display: block;
	width: 100%;
	height: auto;
}

/* --- main_img end --- */

/* --- topNav --- */

section#topNav{
	width: 100%;
	height: 60px;
	margin: 0px auto;
	box-shadow: 0px -9px 4px -7px #cacac9;
	background: url(../img/common/topNav_bar.png) no-repeat bottom right;
  background-size: 70% 30px;
	background-color: #E1F4FF;/*light blue*/
}

nav.navList{
	width: 100%;
	height: 30px;
	background: #fff;
}
/* --- topNav end --- */


/* --- content --- */

#content{
	width: 100%;
	height: auto;
	/*background: #E1F4FF;*//*light blue*/
	/*background: url(../img/common/gradation_top.png) repeat-x;*/
	background-image: url(../img/common/gradation_top.png) ,url(../img/common/gradation_bottom.png);
	background-repeat: repeat-x , repeat-x;
	background-position: top , bottom;
}

/*共通 h3*/
#content h3{
	width: 85%;
	height: auto;
	margin: 0px auto 60px;
	padding: 15px 0px;
	font-size: 138%;
	font-weight: normal;
	text-align: center;
	letter-spacing: 0.2em;
	color: #003E79;/*cyan*/
	background: #fff;
	border-top: 2px solid #003E79;/*cyan*/
	border-bottom: 2px solid #003E79;/*cyan*/
}
/*共通 h3 end*/

/*代表ご挨拶*/
#greet{
	width: 95%;
	height: auto;
	padding-top: 80px;
	margin: 0px auto 120px;
}

#greet table{
	width: 100%;
	height: auto;
	margin: 0px auto;
}

#greet table th ul{
	width: 180px;
	height: auto;
	margin: 0px auto;
	font-weight: normal;
}

#greet table th ul li{
	width: 100%;
	height: auto;
	margin-bottom: 10px;
	font-size: 124%;
	letter-spacing: 0.1em;
	line-height: 1.6em;
	color: #47598c; /*cyan*/
}

#greet table th ul li span{
	display: block;
	font-size: 72%;
}

#greet table th ul li img{
	display: block;
	width: 150px;
	height: auto;
	margin: 0px auto;
}
/*
#greet table td{
	vertical-align: top;
}
*/
#greet table td p{
	width: 85%;
	height: auto;
	margin: 30px auto 0px;
	line-height: 1.8em;
	font-size: 108%;
	color: #003E79;/*cyan*/
	letter-spacing: 0.1em;
	text-align: justify;
}
/*代表ご挨拶 end*/

/*企業概要*/
#about{
	width: 95%;
	height: auto;
	margin: 0px auto 120px;
	color: #003E79;/*cyan*/
}

#about table{
	width: 80%;
	height: auto;
	margin: 0px auto;
	border-top: 2px solid #47598c; /*cyan*/
	border-bottom: 2px solid #47598c; /*cyan*/
}

#about table th{
	width: 20%;
	height: auto;
	padding: 40px 10px;
	text-align: center;
	font-weight: normal;
	font-size: 92%;
	letter-spacing: 0.2em;
	color: #47598c; /*cyan*/
	border-right: 1px dotted #b7c6f0; /*light cyan*/
	border-bottom: 1px solid #b7c6f0; /*light cyan*/
	/*
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	*/
}

#about table td{
	width: atuo;
	height: auto;
	padding: 30px;
	line-height: 1.8em;
	text-align: left;
	font-weight: normal;
	font-size: 108%;
	letter-spacing: 0.15em;
	border-bottom: 1px solid #b7c6f0; /*light cyan*/
}

#about table td span{
	display: block;
	font-size: 88%;
	color: #76a1e6;/*light blue*/
}

#about table td span.gray{
	display: inline;
	font-size: 88%;
	color: #918f8f;/*light gray*/
}

#about table td dl{
	margin-bottom: 30px;
}

#about table td dl:last-child{
	margin-bottom: 0px;
}
#about table td dl dt{
	font-size: 100%;
	color: #4DB675;/*light green*/
	/*color: #47598c;*/ /*cyan*/
}
/*企業概要 end*/

/*事業内容詳細*/
#works{
	width: 95%;
	height: auto;
	margin: 0px auto 120px;
	color: #003E79;/*cyan*/
	border-bottom: 1px dotted #9acaed;/*light sky blue*/
}

#works img.diagram{
	display: block;
	width: 100%;
	height: auto;
	margin: 0px auto 0px;
}

/*.workType*/

/*illust title frame*/
.workType h4{
	width: 100%;
	min-height: 140px;
	margin: 0px auto 0px;
	line-height: 140px;
	text-align: center;
	font-size: 124%;
	font-weight: normal;
	color: #47598c; /*cyan*/
	letter-spacing: 0.2em;
	background: url(../img/about/frame_style_01_sp.png) no-repeat center center;
	background-size: contain;
}
/*illust title frame end*/

/* slide */
.workType ul.slider_1,
.workType ul.slider_2,
.workType ul.slider_3,
.workType ul.slider_4 {
	width: 300px;
	height: 200px;
	margin: 20px auto;
  position: relative;
  }
  .workType ul.slider_1 li img,
  .workType ul.slider_2 li img,
  .workType ul.slider_3 li img,
  .workType ul.slider_4 li img {
    display: none;
    width: 100%;
    height: 200px;
    position: absolute;
    z-index: 1;
}
/* slide end */

.workType p{
	width: 80%;
	height: auto;
	margin: 40px auto;
	line-height: 2em;
	font-size: 116%;
	letter-spacing: 0.1em;
	text-align: justify;
}

.workType p a{
	display: block;
	width: 220px;
	padding: 8px 0px;
	margin: 25px auto 0px;
	text-align: center;
	font-size: 100%;
	letter-spacing: 0.1em;
	color: #fff;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background: #4DB675;/*light green*/
	border-radius: 3px;
}

.workType strong{
	color: #4DB675;/*light green*/
	/*color: #47598c;*/ /*cyan*/
	font-weight: normal;
}

/*.workType end*/

/*事業内容詳細 end*/

/*沿革*/
#history{
	width: 95%;
	height: auto;
	margin: 0px auto 120px;
	color: #003E79;/*cyan*/
}

#history table{
	width: 90%;
	height: auto;
	margin: 0px auto;
	background: #fff;
	border-top: 2px solid #47598c; /*cyan*/
	border-bottom: 2px solid #47598c; /*cyan*/
}

#history table th{
	width: 25%;
	height: auto;
	padding: 40px 10px;
	text-align: center;
	font-weight: normal;
	font-size: 92%;
	color: #47598c; /*cyan*/
	border-right: 1px dotted #b7c6f0; /*light cyan*/
	border-bottom: 1px solid #b7c6f0; /*light cyan*/
}

#history table td{
	width: atuo;
	height: auto;
	padding: 30px;
	line-height: 1.8em;
	text-align: left;
	font-weight: normal;
	font-size: 108%;
	letter-spacing: 0.15em;
	border-bottom: 1px solid #b7c6f0; /*light cyan*/
}

#history table td span.gray{
	font-size: 88%;
	color: #918f8f;/*light gray*/
}

#history table tr.last th{
	width: 20%;
	height: auto;
	padding: 15px 0px;
	border-right: 1px dotted #b7c6f0; /*light cyan*/
	border-bottom: none;
}

#history table tr.last td{
	width: auto;
	height: auto;
	padding: 15px 0px;
	line-height: 1.8em;
	text-align: left;
	font-weight: normal;
	font-size: 108%;
	color: #000;
	letter-spacing: 0.15em;
	text-indent: 30px;
	border-bottom: none;
}

/*沿革 end*/

/*装飾用*/
section.obi_space{
	width: 100%;
	height: 160px;
	clear: both;
	/*background-color: #E1F4FF;*//*light blue*/
	/*gradation imageは content で複数指定。本オブジェクトは空間確保用。*/
}

section.obi_space img {
	display: block;
	width: 60px;
	margin: 0px auto 0px;
}

section.obi_under{
	width: 100%;
	height: 30px;
	margin: 0px auto 0px;
	clear: both;
	
	background: url(../img/common/content_bar.png) no-repeat top left;
  background-size: 30% 30px;
	background-color: #E1F4FF;/*light blue*/
}
/*装飾用 end*/


/* --- footer --- */

footer{
	width: 100%;
	height: auto;
	background: #fff;
}

.ads:nth-of-type(1){
	width: 100%;
	height: auto;
	margin: 80px auto 0px;
}

.ads:nth-of-type(2){
	width: 100%;
	height: auto;
	margin: 30px auto 380px;
	padding-bottom: 20px;
}

.ads dl{
	width: 95%;
	height: auto;
	margin: 0px auto;
	background: #ccc;
}

/*社屋 and Map*/
.ads dl dt{
	width: 100%;
	height: auto;
}
.ads dl dt ul{
	width: 100%;
	height: auto;
}

.ads dl dt ul li{
	width: 50%;
	float: left;
}

/*社屋*/
.ads dl dt ul li.bild{
	width: 50%;
	max-height: 180px;
	overflow: hidden;
}
.ads dl dt ul li.bild img{
	display: block;
	width: 100%;
	min-height: 180px;
}
/*社屋*/

/*map*/
.ads dl dt ul li iframe{
	width: 100%;
	min-height: 180px;
	overflow: hidden;
}
/*map end*/
/*社屋 and Map end*/

.ads dl dd{
	margin-left: 20px;
	float: left;
}

.ads dl dd ul{
	padding-top: 20px;
}

.ads dl dd ul li:nth-of-type(1){
	font-size: 116%;
	letter-spacing: 0.1em;
	color: #4DB675;/*light green*/
	font-weight: normal;
}

.ads dl dd ul li{
	margin-bottom: 15px;
	line-height: 1.6em;
	font-size: 116%;
	color: #003E79;/*cyan*/
	letter-spacing: 0.1em;
}

.ads dl dd ul li span{
	display: block;
	font-size: 88%;
}

.ads dl dd ul li span.blue{
	display: block;
	font-size: 100%;
	color: #76a1e6;/*light blue*/
}
.ads dl dd ul li b{
	font-weight: normal;
	font-size: 100%;
	color: #76a1e6;/*light blue*/
}
.ads dl dd ul li span.gray{
	display: block;
	font-size: 88%;
	color: #918f8f;/*light gray*/
}

/* --- footer end --- */

small{
	display: block;
	width: 100%;
	height: 50px;
	line-height: 50px;
	text-align: center;
	letter-spacing: 0.2em;
	font-size: 100%;
	color: #fff;
	background: #003E79;/*cyan*/
	clear: both;
}
