@charset "UTF-8";
/* CSS Document */
html{
	height: 100%;
}
body{
    font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
    margin: 0;
	height: 100%;
    text-align: center;
    overflow-x: hidden;
	line-height: 1.2;
}
a {color: #002db2;}
a:hover {color: #00bfff;}

a {transition-duration: .5s; opacity: 1;}
a:hover {opacity: .5 }

img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
h3{
	text-align: left;
	font-size: 1.5em;
	color: #202f55;/*文字色*/
	padding: 0.5em 0;/*上下の余白*/
	margin:2.0em 0 1.0em 0;
	/* border-top: solid 2px #202f55;/*上線*/
	border-bottom: solid 2px #202f55;/*下線*/
}
h4{
	text-align: left;
	font-size: 1.2em;
	color: #202f55;/*文字色*/
	padding: 0.5em 0;/*上下の余白*/
	margin:2.0em 0 1.0em 0;
}
p{
	text-align: left ;
	line-height: 2.0;
}
.pdfmark{
	width: 35px;
	vertical-align: middle; 
}

/*heaedr
header nav
---------------------------- */ 
.inner{
	width: 1000px;
	margin: 0 auto;
}
header{
	padding: 20px 0;/* 32px 0;*/
}
header .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
    line-height: 2.0em;
}

h1#logo{
	width: 400px;
	margin-right: auto;
    font-weight:500;
    font-size:180%;
}
        #top_navi  {
        display: flex;
        /*float:right;*/
        /*width: 20%;*/
        padding-right: 1.0em;
        }

    /* ==============
        #top_navi:Menu
       ============== */

    #top_navi ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
        /*font-size:70%;*/
    }

    #top_navi a {
        display: block;
        margin: 0 0 10px 2px;
        padding: 0 5px;
        text-align: center;
        text-decoration: none;
        color: #202f55;
        border: 1px solid #202f55;
        font-size:90%;
    }

header nav {
    /*margin-right: -16px;*/
    margin-left: auto;
    line-height: 5.0em;
}
header nav ul{
	display: flex;
    align-items: center;
}
header nav ul li a{
	color: #000;
	text-decoration: none;
	/*font-weight: bold;*/
	padding: 16px ;
}
header nav li:last-child a{
    color: #fff;
    background: #30a0c9;
 }
#nav_toggle{
	display: none;
}

header nav ul li.home,
header nav ul li.inq{
    display: none;
}


/*aboutエリア
---------------------------------------------------------------*/ 
#wrapper-aboutarea {
    clear:both;
    overflow:hidden;
    background: #fff;
	padding: 70px 0 20px 0;
}


/*hidaritxt
---------------------------- */
.hidaritxt{
    text-align: left;
    padding: 0.5em 3.0em;
    }

/*vacancy
---------------------------- */
.vacancy a {
	width: 90%;
	display: inline-block;
	color: #fff;
    margin: 0 0 2.4em;
	font-size: 2.0em;
	font-weight: normal;
	height: 2.5em;
	line-height: 2.7em;
	background-color: #202f55;
	border: 1px solid #202f55;
	text-align: center;
	outline: none;
	text-decoration: none;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	position: relative;
    transition: 1.0s;
}

.vacancy a:hover,
.vacancy a:active {
    color: #fff;
    background-color: #000; 
    border-color: #fff; 
}
.vacancy a:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 12px;
    height:12px;
    margin: -4px 0 0 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}
.vacancy a:hover::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 12px;
    height:12px;
    margin: -4px 0 0 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}


/*guideエリア
---------------------------------------------------------------*/ 
#wrapper-guidearea {
    clear:both;
    overflow:hidden;
    background: #f0fafb;
	padding: 40px 0;
    /*margin: 0 -20px;*/
}

    /* グリッド全体 */

    * html .gridWrapper{height:1%;}

 
    /* グリッド共通 ベース:トップページ2カラム */
    .grid2c{
        width:30%;
        display:inline-flex;
        justify-content: space-around;
    }

    .grid2c h3{
        padding:5px 0 10px 0;
        margin-bottom:5px;
        font-size: 1.0em;
        font-weight:normal;
    }
    .pickup_box{
        width: 230px;
        height: 230px;
        border-radius: 50%;
        padding: 5px;
        overflow: hidden;
        position: relative;
        z-index: 1;
    }
    .pickup_box img{
    border-radius: 230px;
    -webkit-border-radius: 230px;
    -moz-border-radius: 230px;
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transition: .3s ease-in-out;
        transition: .3s ease-in-out;
        position: relative;
        z-index: 0;
    }

    .pickup_box:hover img{
    -webkit-transform: scale(1.3);
        transform: scale(1.3);
        }





/*newsエリア
---------------------------------------------------------------*/ 
#wrapper-newsarea {
    clear:both;
    overflow:hidden;
    background: #eee;
	padding: 30px 0;
    /*margin: 0 -20px;*/
}

    /* ========================
        1column--NEWS
       ======================== */
      .guideareagrid1{
            width:100%;
            margin:20px 0;
        }
/*news(.update)
---------------------------- */
div.update {
width: 97%; /* 新着情報エリアの幅 */
font-size: 90%;
padding:30px 10px;
margin:10px 0 20px 0;/* エリア余白 */
background-color: #fff;
}

/* --- 見出し --- */
div.update h3 {
margin: 0 0 5px; /* 見出しのマージン（上、左右、下） */
font-size: 100%;
}

/* --- 新着リスト --- */
div.update dl {
width: 90%; /* 新着リストの幅 */
margin: 0 auto;
border-top: 1px #fff dotted; /* 新着リストの上境界線 */
}

/* --- 日付エリア --- */
div.update dt {
display: block;
width: 6.7em; /* 日付エリアの幅 */
float: left;
padding: 10px 0 9px 3px; /* 日付エリアのパディング（上右下左） */
line-height: 130%;
color: #999;
/*border-left: 2px #f90000 solid;*/
}

/* --- 本文エリア --- */
div.update dd {
margin: 0;
text-align: left;
padding: 10px 3px 9px 9em; /* 本文エリアのパディング（上右下左） */
border-bottom: 1px #202f55 dotted; /* 本文エリア下境界線 */
line-height: 130%;
}


/*more_kiji
---------------------------- */
#morekiji a {
	width: 90%;
	display: inline-block;
	color: #202f55;
    margin: 30px 0;
	font-size: 15px;
	font-weight: normal;
	height: 2.5em;
	line-height: 2.7em;
	background-color: #fff;
	border: 1px solid #202f55;
	text-align: center;
	outline: none;
	text-decoration: none;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	position: relative;
    transition: 1.0s;
}

#morekiji a:hover,
#morekiji a:active {
    color: #fff;
    background-color: #000; 
    border-color: #fff; 
}
#morekiji a:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 0;
    border-top: solid 1px #202f55;
    border-right: solid 1px #202f55;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}
#morekiji a:hover::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}

/*mapエリア
---------------------------------------------------------------*/ 
#wrapper-maparea {
    clear:both;
    overflow:hidden;
    background: #fff;
	padding: 70px 0 20px 0;
}


/*linkエリア
---------------------------------------------------------------*/ 
#wrapper-linkarea {
    clear:both;
    overflow:hidden;
    background: #eee;
	padding: 40px 0;
}


    /* グリッドlink ベース:トップページ3カラム-201903204カラムへ変更 */
    .grid3c_l{
        width:22.4%;/* 100%に対しての幅*/
        display:inline-flex;
    }

    .grid3c_l img{
        max-width: 300px;
        height: auto;
        vertical-align: bottom;
        padding: 0.4em;
    }



/*.worksWrapper
---------------------------- */
.worksWrapper{
    padding: 3.0em 0;
}

/*.title_all(h1)
---------------------------- */
.title_all  {
    position: relative;*/
    width:100%;
    padding: 1.8em 0 1.0em 0; 
    font-size: 230%;
    font-weight:500;
    color: #30a0c9;
}
.title_all2  {
    position: relative;*/
    width:100%;
    padding: 0.3em 0 0.3em 0; 
    font-size: 230%;
    font-weight:500;
    color: #30a0c9;
}

/*.topcatch
---------------------------- */
.topcatch  {
    /*position: relative;*/
    width:100%;
    padding: 1.8em 0 1.0em 0; 
    font-size: 230%;
    font-weight:500;
    color: #000;
}

/*-------------------------------------------------------------PIC梱包ボックス(トップページ以外)*/
#toppicWrap {
    width:100%;
    background-color:#888;
}

#toppic {
	margin:0 auto;
	position: relative;
}

.toppic_txt{
	position: absolute;/* 絶対位置 */
	bottom: 0.6em;
	color: #fff;
    z-index: 1;
	/*background: rgba(0,0,0,0.5);/* 帯の透明度 */ 
	width: 100%;
    margin: 0;
    font-size: 220%;
    text-align: center;
}

#toppic img {
	width:100%;
	padding:0;
    margin: 0;
}

.overlay::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.4);
}

/*allエリア
---------------------------------------------------------------*/
#wrapper-allarea {
    clear:both;
    overflow:hidden;
    background: #fff;
	padding: 20px 0;
}

/*basetable
---------------------------------------------------------------*/ 
.basetable{
    border-collapse:collapse;
    margin:2.0em auto;
    width: 100%;
    text-align: left;
}

.basetable td,.basetable th{
    border-top:1px solid #ccc;
    padding:20px 10px;
}
.basetable tr:last-child td,
.basetable tr:last-child th{
    border-bottom:1px solid #ccc;
}

/*comtable
---------------------------------------------------------------*/ 
.comtable{
    border-collapse:collapse;
    margin:2.0em auto;
    width: 90%;
    text-align: left;
}

.comtable tr th{
    background: #9FBEC9;
}
.comtable td,.comtable th{
    border-top:1px solid #ccc;
    border-right:1px solid #ccc;
	border-left:1px solid #ccc;
    padding:20px;
}
.comtable tr:last-child td,
.comtable tr:last-child th{
    border-bottom:1px solid #ccc;
}
.comtable th:nth-child(1) {
    width:23%;
}

/*mainbox
---------------------------------------------------------------*/ 
.mainbox {
	text-align: left;
    padding-bottom: 100px;
    line-height: 2;
}
.mainbox p{
    /*line-height: 2.0;*/
}
.mainbox h2{
    clear: both;
    text-align: center;
    padding: 1.0em 0 1.0em 0;
    margin: 0;
}
.mainbox h3{
    clear: both;
    padding:40px 0 10px 0;
    font-size:150%;
    font-weight: normal;
    color: #999;
}
.mainbox h4{
    clear: both;
    padding: 2.0em 0 1.0em 0;
    font-size:120%;
    font-weight: normal;
    color: #001966;
}


/*campany(.com_dl)
---------------------------- */
.com_dl dl {
    width: 100%; 
    margin: 0 auto;
    border-top: 1px #fff dotted;
}
.com_dl dt{
    float: left;
}
.com_dl dd{
    margin-left: 11em;
}

/*works(.works_list)
---------------------------- */
.works_list li {
    padding: 0 0 8px 30px;
    position:relative;
}
.works_list li:before {
    border-bottom:1px solid #00B5F0;
    content: "";
    height: 1;
    left:0;
    margin: 0 10px 2px 10px;
    position:absolute;
    top:15px;
    vertical-align: middle;
    width: 10px;
}

/*p(mainbox内)
---------------------------- */
.leftyohaku{
    margin-left: 1.8em;
}
.topyohaku{
    margin-top: 1.8em;
}

/*h2(mainbox内)
---------------------------- */
.h2like{
    font-size:200%;
    font-weight: normal;
    color: #30a0c9;
}

/*gray_box
---------------------------- */
.gray_box {
    background-color: #f7f7f7;
    margin: .5em 1.5em;
    padding: 2em;
    overflow: auto;
}

/*breadcrumbs
---------------------------------------------------------------*/ 
.breadcrumbs {
    text-align:left;
    padding:10px 20px 10px 10px;
}
.breadcrumbs ol li {
    display: inline;
    list-style-type: none;
    font-size:70%;
    color:#999999;
}
.breadcrumbs ol li:before {
  content: " > ";
}
.breadcrumbs ol li:first-child:before {
  content:"";
}
.breadcrumbs ol li span {
	/*display: block;*/
	color: #1f1f1f;
	font-size: 11px;
	line-height: 120%;
	letter-spacing: 0.1em;
}
.breadcrumbs ol li a:hover span,
.breadcrumbs ol li a:active span {
	text-decoration: underline;
}

/* #page_top
---------------------------- */
#page_top{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #30a0c9;
  opacity: 0.6;
  border-radius: 50%;
  z-index: 999;/*footerの前面*/
}
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#page_top a::before{
  font-family: FontAwesome;
  content: '\f0d8';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -40px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
  content: 'PAGE TOP';
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 45px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/*opacity
---------------------------- */
.hover a:hover img{ 
    opacity: 0.75;
     -moz-opacity: 0.75; /* Firefox */    
 filter: alpha(opacity=75); /* IE6/7 */ 
 -ms-filter: "alpha(opacity=75)"; /* IE8 */
 } 
.hover a img{
    transition: 1.0s;
}

/*fadein
---------------------------- */
.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition : all 300ms;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}


/* footer_navi
-------------------------------------------------------------all_page(footer/footer\shita)*/
#footer_navi{
    clear:both;
    overflow:hidden;
    padding:30px 10px 40px 10px;
    background-color: #202f55;
    font-size: 0.9em;
    line-height: 2;
}

* html #footer_navi{height:1%;}

#footer_navi .grid{
    padding:10px 0 5px;
    margin:0;
    background:transparent;
}

#footer_navi #info{width:90%;margin: auto;}
#footer_navi #info .info{float:none;}
#footer_navi #info .logo{float:left; width: 40%;}

#footer_navi #info .info{
    clear:both;
    padding:10px 0 0 10px;
    text-align:left;
    line-height: 1.5;
}
#glogo{
	width: 200px;
}


#footer_navi .logo {
    max-width: 349px;
    font-size: 2.0em;
    /*padding:10px 0 0 10px;*/
    padding: 10px 0 0 0;
}

#footer_navi .info .tel,#footer_navi .info .tel span,#footer_navi #info .open{
    /*font-size:12px;*/
    color:#FFF;
    margin-top:0;
}

#footer_menunavi{
    clear: both;
    overflow: hidden;
    position: relative;
    padding: 20px 10px 30px 10px;
    color: #FFF;
    background: #202f55;
    font-size: 0.9em;
    line-height: 1.0;
}

ul.footnav{
    clear: both;
    position: relative;
    left: 50%;
    float: none;
    padding:10px 0 0 30px;
}

ul.footnav li{
    position: relative;
    left: -50%;
    float:left;
    margin-bottom:10px;
    padding:0 12px 0 12px;
    border-right:1px dotted #fff;
}

ul.footnav li:last-child{
    border: none;
}

.footnav a{color:#fff;}
.footnav a:hover{color:#fff;}

#footer_navi a{color:#fff;}
#footer_navi a:hover{color:#fff;}

/*footer_cr
---------------------------- */
#footer_cr {
	width: 100%;
	margin: 0;
	padding: 18px 0;
	text-align: left;
	clear:both;
	background: #202f55;
}

#fwrap {
	max-width: 960px;
    line-height: 1;
	width: 100%;
	margin: 0 auto;
}

/*#flogo {
	float: left;
	width: 30%;
}*/

#cr {
	float: right;
	text-align: right;
	width: 100%;
	font-size: 0.9em;
	color: #fff;
}


/*.clearfix
------------------------------------------------------------ */
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}



/* ==========================================================================
   Media Queries
   ========================================================================== */
/*スマホ・タブレット用の設定*/
@media screen and (max-width:767px){
    .motto{display: none;}
    .grid2c{width: 100%;}
	.worksWrapper{
		width: 100%;
		margin: 10px auto;
        padding: 0;
	}
	.grid3c_l{width: 100%;}
    .grid3c_l a{margin: 1.0em auto;}
    .wrapper-guidearea{
        width: 100%;
        margin: 10px auto;
        padding: 0;
    }
    #footer_navi {
        width: 100%;
        margin: 0 auto;
        padding: 0;
    }
    #footer_navi #info .logo{
        float: none;
        width: 100%;
    }
    ul.footnav{
        width: 100%;
        margin: 0 auto;
        padding: 0;
    }
    .inner {width: 100%;}
    ul.footnav li{
        float: none;
        border-right: none;
        border-bottom: 1px dotted #fff;
        margin: 1.0em 0;
        font-size: 110%;
    }
    ul.footnav li:last-child{
    border-bottom: 1px dotted #fff;
    }
    .toppic_txt{ font-size: 180%;}
	h1#logo {width: 100%; margin: 0 auto;}
 
    #timetable_box {margin-right:0.5em;}
    #timetable {padding:0;margin:0;width:120%;font-size:70%}
    td.timerow{white-space:nowrap}
    
	.vacancy a {
		width: 90%;
		display: inline-block;
		color: #fff;
	     margin: 0 0 2.4em;
		font-size: 1.0em;
		font-weight: normal;
		height: 2.5em;
		line-height: 2.7em;
		background-color: #202f55;
		border: 1px solid #202f55;
		text-align: center;
		outline: none;
		text-decoration: none;
		-webkit-transition: all .3s ease-in-out;
		-moz-transition: all .3s ease-in-out;
		-ms-transition: all .3s ease-in-out;
		-o-transition: all .3s ease-in-out;
		transition: all .3s ease-in-out;
		position: relative;
	     transition: 1.0s;
	}
    
}



/*スマホ・タブレット用の設定*/
@media screen and (max-width:960px){
	header{
        background: #fff;
		padding: 16px 0;
		position: relative;
	}
	.inner{
		width: 90%;
	}
	
	/*メニュー部分*/
	nav{
		display:none;
		position: absolute;
		top:0;
		width: 100%;
		height: 100vh;
        background:rgba(165,214,233,0.9);
		left: 0;
        z-index: 99;
	}
	header nav ul{
		display: block;
		width: 90%;
		height: 350px;
		position: absolute;
		top: 0px;
		right: 0px;
		bottom: 0px;
		left: 0px;
		margin: auto;
	}
	header nav ul li{
		margin: 0 auto;
		text-align: center;
        line-height: 1.5em;
        border-bottom: 1px solid #fff;
	}
	header nav ul li:last-child{
		border: none;
	}
	header nav ul li a{
		display: block; 
		color: #006598;
        font-weight: bold;
        font-size: 120%;
	}
    header nav ul li.home,
    header nav ul li.inq{
        display: block;
    }
    #top_navi .inq{
        display: none;
    }
    #glogo{
        display: none;
    }
	

	/*開閉ボタン*/
	#nav_toggle{
		display: block;
		width: 40px;
		height: 40px;
		position: relative;
		top: 4px;
		z-index: 100;
	}
	#nav_toggle div {
		position: relative;
	}
	#nav_toggle span{
		display: block;
		height: 3px;
		background: #666;
		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:12px;
	}
	#nav_toggle span:nth-child(3){
		top:24px;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle span{
		background: #006598;
	}
	.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);
		}
    
    /*footercopyright*/
    #cr {
	text-align: center;
	width: 100%;
	font-size: 0.9em;
	color: #FFF;
    }
    /*footermenu*/
    #footer_navi #info{width:100%;}

    .comtable { margin: 0 -10px;font-size: 80%; }
    .comtable th,
    .comtable td{
    width: 100%;
    display: block;
    /*border-top: none;*/
    }
    .comtable th:nth-child(1) {
    width:100%;
    }
    .basetable { width: 100%; margin: 0 -10px;font-size: 80%; }
    .basetable th,
    .basetable td{
    padding: 0.5em;
    }
}


/*google map
---------------------------------------------------------------*/ 
@media (max-width: 980px) {
    .google-maps {
    position: relative;
    padding-bottom: 60%; // 縦横比
    height: 0;
    display:block;
    overflow: hidden;
    margin:0 10px;
    }
    .google-maps iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    }

}/*----- / max-width:980 end*/