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


@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);



.w100 {font-weight: 100;}
.w200 {font-weight: 200;}
.w300 {font-weight: 300;}
.w400 {font-weight: 400;}
.w500 {font-weight: 500;}
.w700 {font-weight: 700;}
.w900 {font-weight: 900;}



a:hover{
	opacity:0.7;
	filter: alpha(opacity=70);}

.gototop{
	position: absolute;
	top: 0px;
	right: 0px;
	display: block;
	height: 50px;
	width: 36px;
}

.center{
	text-align: center;
	height: auto;
	width: auto;
	margin-right: auto;
	margin-left: auto;
}

.clearfix:after
{
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:35px 0;
    padding:0;
}



/*----------------------------------------
body
------------------------------------------*/

html, body {
  height: 100%;
  margin: 0;
}

body {
	font-family:OpenSans-Light,Tahoma,Helvetica Neue,Helvetica,Arial,sans-serif;
	padding:0px;
    margin:0px;
	background:linear-gradient(to right,#e5f3fc, #f3faff);
}



/*----------------------------------------
link
------------------------------------------*/

a {
	color: #028BE7;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}


@media only screen and (min-width: 769px) {
/* PC */

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

header {
	width: 100%;
	height:100px;
	color:#FFF;
	display:block;
	background:#fff;
}

header a {
	color:#000;
}

header .logo {
	float:left;
	font-size:30px;
	font-weight:bold;
}

header .top {
	width:80%;
	margin:0 auto;
	padding:20px 10px;
}

header .top ul{
	width:700px;
	margin-left:30%;
	display:table;
}

header .top li{
	display:table-cell;
	padding:10px 10px;
	font-size:14px;
}

header .navOpen {
	display:none;
}

/*----------------------------------------
header(下層)
------------------------------------------*/

.under header .top a {
	color:#545454;
}

.under header .logo a {
	color:#000;
}




/*----------------------------------------
wrap
------------------------------------------*/
#wrap {
	width: 100%;
	min-height: 100%;
	background:linear-gradient(to right,#e5f3fc, #f3faff);
}

/*----------------------------------------
wrap
------------------------------------------*/
#wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding:0px;
  margin:0px;
  overflow:hidden;
}


/*----------------------------------------
cach
------------------------------------------*/

#cach+ {
	width:80%;
	margin:0 auto;
	text-align:left;
	position:relative;
}

#cach+ p {
	font-size:66px;
	color:#000;
	font-style :italic;
	position:absolute;
	top:300px;
	font-family:游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}


#cach {
	width:100vw;
	height:100vh;
	margin:0 auto;
	padding:0px;
	text-align:left;
	position:relative;
	background:url(../img/bg_top.jpg) no-repeat bottom;
	background-size:cover;	
	display: flex;
	flex-wrap: wrap;
}

#cach .obj {
	width:746px;
	height:192px;
	justify-content: center;
	align-items:center;
	margin:0 auto;
}

#cach p {
	font-size:66px;
	color:#000;
	font-style :italic;
	position:absolute;
	top:300px;
	font-family:游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}


/*----------------------------------------
コンテンツ共通
------------------------------------------*/

.contents {
	width:1000px;
	margin:0 auto;
	padding:100px 0;
}

.contents h2 {
	font-size:35px;
	text-align:center;
	margin-bottom:100px;
	font-family:游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
	color:#289ff1;
}

.contents h3 {
	font-size:34px;
	line-height:1.5em;
	font-weight:300;
	text-align:left;
	margin-bottom:25px;
}

.contents h4 {
	font-size:23px;
	line-height:1.5em;
	text-align:left;
	font-weight:300;
	margin:1.5em 0 0.5em;
}

/*----------------------------------------
mission
------------------------------------------*/



#mission .contents p {
	font-size:23px;
	line-height:1.8em;
	margin-bottom:2em;
}

#mission .contents .bled {
	font-size:18px;
	line-height:2em;
	color:#767676;
}


/*----------------------------------------
recruit
------------------------------------------*/

#recruit .contents p {
	font-size:22px;
	line-height:1.8em;
	font-weight:lighter;
	margin-bottom:0.5em;
}

/*----------------------------------------
about
------------------------------------------*/


#about .box-l {
	width:480px;
	float:left;
}

#about .box-r {
	width:480px;
	float:right;
}

#about {
	font-size:15px;
	line-height:1.5em;
	color:#151515;
}


#about dl,
dt,
dd {
  box-sizing: border-box;
}
#about dl {
	border-bottom:1px solid #fff;
	text-align:left;
	padding-top:20px;
	margin-bottom:100px;
}
#about dt,
dd {
  padding: 0px;
}
#about dt {
  width: 30%;
  float: left;
  padding: 20px 10px 17px;
  border-top: 1px solid #fff;
  box-sizing: border-box;
}
#about dd {
  margin-left: 30%;
  padding: 20px 10px 10px;
  border-top: 1px solid #fff;
}

#about dd:after {
  content: '';
  display: block;
  clear: both;
}




/*----------------------------------------
access
------------------------------------------*/

#access {
	text-align:center;
	margin-top:-130px;
  	padding-top:130px;
	padding-bottom:100px;
}

#access h2 {
	text-indent:-9999px;
	background: url(../img/h2_access.png) no-repeat left top;
	border-bottom:1px solid #FFF;
	height:43px;
	margin-bottom:20px;
}

#access img {
	margin-bottom:20px;
}

#access .contents{
	padding:0px;
}

#access .google-map {
    position: relative;
    width: 100%; 
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
}

#access .google-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; 
    height: 100%; 
}

/*----------------------------------------
contact
------------------------------------------*/

#contact .contents p {
	font-size:20px;
	line-height:1.8em;
	font-weight:lighter;
}


#contact .contents table {
  	width: 600px;
	margin:0 auto;
	font-size:20px;
	line-height:1.8em;
}

#contact .contents th,td {
	text-align:left;
}

#contact .contents th,td{
	font-size:14px;
	line-height:1.5em;
	margin-bottom:1em;
	color:#000;
	font-weight:normal;
}

#contact .contents th {
	width:222px;
	padding:35px 0;
	vertical-align:top;
}

#contact .contents td {
	width:480px;
	padding:30px 0;
}

#contact .contents .txt_input {
	padding:9px;
	width:100%;
}

#contact .contents .naiyou {
	padding:9px;
	width:100%;
	height:170px;
}

#contact .contents .contact-image-btn {
	background:#bfe2f3;
	width:370px;
	height:60px;
	border-radius:10px;
	border:0px;
	font-size:18px;	
}

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

#footer {
	width:100%;
	height:164px;
	margin:auto auto 0;
	padding:0px 0px;
	text-align:center;
	color:#000;
}

#footer a {
	color:#000;
}

#footer ul{
	width:700px;
	margin-left:30%;
	display:table;
	padding:35px 0 20px;
	margin:0 auto;
}

#footer li{
	display:table-cell;
	padding:10px 10px;
	font-size:14px;
}


} 


@media only screen and (max-width: 768px) {
/* SP TABLET */


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

header {
	width: 100%;
	height:70px;
	color:#FFF;
	display:block;
}

header a {
	color:#000;
}

header .logo {
	float:left;
	font-size:30px;
	font-weight:bold;
}

header .top {
	padding:10px 10px;
}

header .pc-menu {
	display:none;
}

/*スマホ用メニューボタン*/
header .navOpen {
    width: 36px;
    height: 40px;
    margin-bottom: 5px;
    cursor: pointer;
    background:url(../img/menu.png) no-repeat 0 0;
    background-size: 72px;
	position:absolute;
	top:20px;
	right:20px;
}
/*スマホ用メニュー閉じるボタン*/
header .navClose {
    background-position: -36px 0; /*ボタンの画像切り替え*/
}
header .menu-sp {
    clear: both;
    position: relative;
}
header .menu-sp ul {
    width: 100%;
    position: absolute;
    top: 0px;
    background-color: rgba(255, 255, 255, 0.8) ;
    border-bottom: 1px #a7cce4 solid;
}
header .menu-sp li {
	width: 100%;
    line-height: 1.4;
    border-top: 1px #a7cce4 solid;
}
header .menu-sp a {
    color: #1c9bed;
    padding-left: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
    display: block;
}

/*----------------------------------------
header(下層)
------------------------------------------*/

.under header .logo a {
	color:#000;
}


/*----------------------------------------
wrap
------------------------------------------*/
#wrap {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	margin-top:0px;
	background:linear-gradient(to right,#e5f3fc, #f3faff);
	display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow:hidden;
}



/*----------------------------------------
cach
------------------------------------------*/
#cach {
	width:100vw;
	height:100vh;
	margin:0 auto;
	padding:0px;
	text-align:left;
	position:relative;
	background:url(../img/bg_top_sp.jpg) no-repeat bottom;
	background-size:cover;	
	display: flex;
	flex-wrap: wrap;
}

#cach img {
	width:96%;
}

#cach .obj {
	height:100vh;
	justify-content: center;
	align-items:center;
	margin:65% auto 0;
	text-align:center;

}





/*----------------------------------------
コンテンツ共通
------------------------------------------*/

.contents {
	margin:0 4%;
	padding:70px 0;
}

.contents h2 {
	font-size:30px;
	text-align:center;
	margin-bottom:70px;
	font-family:游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
	color:#289ff1;	
}

.contents h3 {
	font-size:25px;
	line-height:1.5em;
	font-weight:300;
	text-align:left;
	margin-bottom:25px;
}


/*----------------------------------------
mission
------------------------------------------*/

#mission .contents p {
	font-size:20px;
	line-height:1.5em;
	margin-bottom:2em;
}

#mission .contents .bled {
	font-size:16px;
	line-height:2em;
	color:#767676;
}


/*----------------------------------------
about
------------------------------------------*/

#about .box-l {
	width:100%;
}

#about .box-r {
	width:100%;
}

#about {
	font-size:15px;
	line-height:1.5em;
	color:#151515;

}


#about dl,
dt,
dd {
  box-sizing: border-box;
}
#about dl {
	text-align:left;
	padding-top:0px;
}
#about dt,
dd {
  padding: 0px;
}
#about dt {
  width: 30%;
  float: left;
  padding: 20px 10px 10px;
  border-top: 1px solid #fff;
  box-sizing: border-box;
}
#about dd {
  margin-left: 30%;
  padding: 20px 10px 10px;
  border-top: 1px solid #fff;
}
#about dd:after {
  content: '';
  display: block;
  clear: both;
}


/*----------------------------------------
contact
------------------------------------------*/

#contact .contents p {
	font-size:20px;
	line-height:1.8em;
	font-weight:lighter;
}


#contact .contents table {
  	width: 100%;
}

#contact .contents th,td {
	text-align:center;
	display: block;
  	width: 100%;
}

#contact .contents th,td{
	font-size:14px;
	line-height:1.5em;
	margin-bottom:1em;
	color:#000;
	font-weight:normal;
}

#contact .contents th {
	padding:0px;
	vertical-align:top;
}

#contact .contents td {
	padding:0px;
}

#contact .contents .txt_input {
	padding:3%;
	width:94%;
}

#contact .contents .naiyou {
	padding:3%;
	width:94%;
	height:170px;
}

#contact .contents .contact-image-btn {
	background:#bfe2f3;
	width:100%;
	height:60px;
	border-radius:10px;
	border:0px;
	font-size:18px;
}


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

#footer {
	width:100%;
	margin:0 auto;
	padding:40px 0px;
	text-align:center;
	color:#000;
}

#footer a {
	color:#fff;
}

#footer ul{
	display:none;
}


} 
