@charset "utf-8";
/* CSS Document all device-movilefirst*/
.pc {
	display: none;
}
img { max-width: 100%; 
    height:auto;
}
.res_img{}/*レスポンシブ画像切り替えのjs用クラス名 定義不要*/
/* ----------------------------------------
 * 0. wrapper
 * ---------------------------------------- */

/* ----------------------------------------
 * 1. header - sp
 * ---------------------------------------- */
header{
	width: 100%;
	background-color: #009FE8;
}

#header_box{
width: 100%;
	padding-top:10px;
	padding-bottom:6px;
}
#logo{
text-align: center;
}
/*movilenav*/
#g_menu {
        display:none;
}
.slicknav_menu {
        display:block;
}
#mobileMenu{
}
/*movilenav*/

/* ----------------------------------------
 * 2. footer - sp
 * ---------------------------------------- */
#pagetop{
display: none;
}
#pagetop_sp{
	width:100%;
	text-align: center;
	line-height: 0;
}
footer{
background-color: #009FE8;
	color: #ffffff;
	padding:28px 0 ;
	text-align:center;
}
#footer_wrapper{
	width: 94%;
	margin:0 auto;
}
#footer_att{
font-size:12px;
margin-bottom:30px;
	text-align:left;
}

address {
font-size: 14px;
line-height: 1.2;
padding:10px 0 0;
}
#copyright {
	padding: 18px 0 0;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1;
	color:#A2DCF7;
}

/* ----------------------------------------
 * 3. common -sp
 * ---------------------------------------- */
main {
	width: 100%;
}
.t_l{text-align: left;}
.t_c{text-align: center;}
.t_r{text-align: right;}
.maxw_50{max-width: 50%;}
.maxw_94{max-width: 94%;}
/* ----------------------------------------
 * 4. top - sp
 * ---------------------------------------- */

h1#top_wrapper{
	width:100%;   
	margin:0 auto;
background-color: #009FE8;
	text-align: center;
}	
#top{
	width:94%;
	margin:0 auto;
	text-align: left;
}
h1#h1_top{
	text-align: center;
	padding: 20px 0 0;
}
h2.top_h2{
	margin: 18px 0 12px;
	line-height: 0;
}
p.top_h2_txt{
	font-size:14px;
}
p.top_h2_txt span{
	color: #E50012;
}
#top_trash_sp{
	margin:14px auto 10px;
	width:94%;
	text-align: center;
}
/* ----------------------------------------
 * 5. 2f_common - sp
 * ---------------------------------------- */
h1#h1_2f{
	font-size: 0px;
	line-height: 1;
	color: #FFFFFF;
	text-align: center;
	padding: 10px 0;
	background: url(../images/h1_2f_bg.png) left top repeat;
	border-bottom: 1px solid #C8EAFA;
}
h2{
	margin-top: 28px;
	margin-bottom: 16px;
}
/* ----------------------------------------
 * 6. about - sp
 * ---------------------------------------- */
#about{
	width: 94%;
	margin:0 auto 20px;
	text-align: center;
}
.about02{
	width: 75.7%;
	margin: 20px 0 40px;
}
.aboutimg img{
	border-radius: 8px;
}
.abouttxt{
font-size: 16px;
line-height: 1.3;
}
.movie{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
.movie iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}
/* ----------------------------------------
 * 7. case - sp
 * ---------------------------------------- */
#case{
	width: 94%;
	margin:0 auto 20px;
	text-align: center;
}
.caseimg img{
	border-radius: 8px;
}
.casetxt{
font-size: 16px;
line-height: 1.3;
	text-align: left;
}
/* ----------------------------------------
 * 8. aboutus - sp
 * ---------------------------------------- */
#aboutus{
	width: 94%;
	margin:0 auto 20px;
	text-align: left;
}
.hyo_tbl {
margin-top:-18px;
width: 100%;
}
.hyo_tbl th,
.hyo_tbl td{
	font-size:16px;
	vertical-align: top;
	padding:8px;
	display: block;
	text-align: left;
}
.hyo_tbl td{
border-top: 1px dashed #B9B9B9;
}
.hyo_tbl tr:nth-child(even){
background-color: #E3E3E3;}
.aboutus_txt{}
 ul.aboutus_list li{
	background-image: url(../aboutus/images/listmark.png);
	background-position: 3px 7px;
	background-repeat: no-repeat;
	padding-left:1em;
}
/* 資格 */
.qualification_wrap{
	font-size:16px;
}
@media screen and (min-width: 768px){
.qualification_wrap{
display: flex;
justify-content:space-between;
align-items: flex-start;
width: 80%;
margin-right: auto;
margin-left: auto;
}
}
.qualification_box{
display: flex;
flex-wrap: wrap;
}
@media screen and (min-width: 768px){
.qualification_box{
width: 45%;
}
}
.qualification_box>dt{
width: 80%;
padding: 8px;
}
.qualification_box>dd{
width: 20%;
text-align: right;
padding: 8px;
}
.qualification_bg{
background-color: #E3E3E3;;
}

/* ----------------------------------------
 * 9. contactus - sp
 * ---------------------------------------- */
#contactus{
	width: 94%;
	margin:0 auto 20px;
	text-align: left;
}
#contact_tel{text-align: center;}
#contact_tel_att{text-align: center;}
/* ----------------------------------------
 * 10. privacy - sp
 * ---------------------------------------- */
#privacy{
	width: 94%;
	margin:0 auto 20px;
	text-align: left;
}
h2.privacy_tit{
	font-weight: bold;
	font-size:18px;
	margin-top: 28px;
	margin-bottom: 16px;}
#privacy ol{
	list-style-type: decimal!important;
}
/* ----------------------------------------
 * 11. error - sp
 * ---------------------------------------- */
#error{
	margin:20px auto 40px;
	text-align: center;
}


/*iPad縦 / iPhone 7/6 Plus横*/
@media screen and (min-width: 768px){
#header_box{

	height:120px;
}	
}

@media print, screen and (min-width : 960px) {
.pc {
	display: block;
}
.sp {
	display: none;
}
img { max-width: auto; 
    height:auto;
}
.f_l{float: left;}
.f_r{float: right;}
/* ----------------------------------------
 * 0. wrapper
 * ---------------------------------------- */

/* ----------------------------------------
 * 1. header - pc
 * ---------------------------------------- */
#header_box{
width: 960px;
	margin: 0 auto;
	height:130px;
	position: relative;
}
#logo{
text-align: center;
	position: absolute;
	top:28px;
	left:352px;
	z-index:99999;
}

.slicknav_menu {
    display:none;
}
#g_menu_box{
width: 100%;
	position: absolute;
	top:50px;
	left:0;
}

#g_menu{
	 display: block;
  *zoom: 1;
  list-style-type: none;
  padding: 10px 0;
	 width: 960px;
	 margin: 0 auto;
}
 #g_menu:before,  #g_menu:after{
  content: "";
  display: table;
}
 #g_menu:after{
  clear: both;
}
 #g_menu > ul{
}
 #g_menu > li span{
display: none;
}
	#g_menu > li{
	position: relative;
	width: 140px;
	float: left;
	margin: 0 0 0 10px;
	padding: 0;
	text-align: center;
	background-color: #ffffff;
	border-radius: 8px;
}
#g_menu > li.gm01{
	width: 170px;
}
#g_menu > li.gm02{
	width: 110px;
	margin: 0 370px 0 10px;
}
#g_menu > li:first-child{
	margin: 0;
}
 #g_menu li a{
  display: block;
  margin: 0;
  padding: 17px 0 0;
  color: #fff;
  font-size: 16px;
  line-height: 1.2;
  text-decoration: none;
	height: 52px;
}
 #g_menu li ul{
  list-style: none;
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
}
 #g_menu li ul li{
	width: 210px;
  overflow: hidden;
  height: 0;
  transition: .2s;
	 	padding: 0 0 0 8px;
	 text-align: center;
}
 #g_menu li:hover ul li{
  overflow: visible;
  height: 38px;
}
 #g_menu li ul li a{
  padding: 13px 15px;
  border-top: 1px solid #000;
  background: #E8E9EA;
  text-align: center;
	color: #000;
	 line-height: 1;
	 vertical-align: 0;
  height: 44px;
}

/* Bounce To Bottom */
.hvr-bounce-to-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
border-radius: 8px;
}
.hvr-bounce-to-bottom:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #FFF000;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
border-radius: 8px;
}
.hvr-bounce-to-bottom:hover, .hvr-bounce-to-bottom:focus, .hvr-bounce-to-bottom:active {
  color: white;
}
.hvr-bounce-to-bottom:hover:before, .hvr-bounce-to-bottom:focus:before, .hvr-bounce-to-bottom:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* ----------------------------------------
 * 2. footer - pc
 * ---------------------------------------- */

#pagetop {
	margin-bottom: 200px;
	height: 60px;
	position: fixed;
	z-index: 9999;
	bottom: 120px;
	right: 25px;
}
#pagetop img {
display: block;
}

	
footer{
	padding:20px 0;
	text-align:left;
position: relative;
}
#footer_wrapper{
	width: 960px;
	margin:0 auto;
}
#footer_att{
font-size:14px;
margin-bottom:30px;
}
#footer_namebox{
float:left;
margin:0 14px;
}
#footer_contactbox{
float:right;
margin:13px 14px 0;
	z-index: 9999;
position: relative;}
address {
font-size: 14px;
line-height: 1.2;
padding:0px 0 0;
}
#copyright {
	padding: 18px 0 0;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1;
	color:#A2DCF7;
	text-align:right;
}
#footer01{
	position: absolute;
	bottom:20px;
	right:210px;
}
#footer02{
	position: absolute;
	bottom:20px;
	right:148px;
}
#footer03{
	position: absolute;
	bottom:20px;
	right:90px;
}
#footer04{
	position: absolute;
	bottom:20px;
	right:40px;
}
#footer05{
	position: absolute;
	bottom:10px;
	right:120px;
}
#footer06{
	position: absolute;
	bottom:10px;
	right:70px;
}		
#footer07{
	position: absolute;
	bottom:258px;
	right:30px;
}	
#footer08{
	position: absolute;
	bottom:10px;
	right:230px;
}		
	


/* ----------------------------------------
 * 3. common - pc
 * ---------------------------------------- */
main {
	width: 100%;
}
.t_l{text-align: left;}
.t_c{text-align: center;}
.t_r{text-align: right;}
.maxw_50{max-width: 100%;}

.maxw_94{max-width: 100%;}
.w_960{width: 960px; margin:0 auto;}

/* ----------------------------------------
 * 4. top -pc
 * ---------------------------------------- */
.video-wrap {
	position: relative;
	padding-top: 31.25%;/*5/16*100*/
	width: 100%;
	overflow: hidden;
	background-color: #0faae4;

	}
	
.video-wrap video#video{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  max-height:600px;
}


.movie{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
.movie iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}	
	
h1#top_wrapper{
	width:100%;   
	margin:0 auto;
background-color: #009FE8;
	text-align: center;
	line-height: 0;
}	
#top{
	width:804px;
	margin:-40px auto 0;
	position: relative;
	z-index: 9999;
}
h1#h1_top{
	text-align: center;
	padding: 20px 0 0;
}
h2.top_h2{
	margin: 18px 0 12px;
	line-height: 0;
	text-align: center;
}
p.top_h2_txt{
	font-size:15px;
}
p.top_h2_txt span{
	color: #E50012;
}
.h2_txtbox{
	width:210px;
	float:left;
	margin-left:82px;
}
.h2_txtbox:first-child{
	margin-left:10px;

}
#top_trash_pc{
	margin:14px auto 60px;
	width:864px;
}
#top_trash_pc img{
	margin-left:3px;
	display: inline-block;
}
	
/* ----------------------------------------
 * 5. 2f_common - pc
 * ---------------------------------------- */
/*sp共通*/
	h1#h1_2f{
}
/* ----------------------------------------
 * 6. about - pc
 * ---------------------------------------- */
#about{
	width: 960px;
	margin:0 auto 40px;
	text-align: left;
}
.about02{
	width: auto;
	margin: -100px 0 0px -40px;
	float:right;
	position: relative;
	z-index: 9999px;
}
.aboutimg{
width:302px;
	float:left;
	margin:0 0 0 27px;
}
.aboutimg:first-child{
	margin:0;
}
/* ----------------------------------------
 * 7. case - pc
 * ---------------------------------------- */
#case{
	width: 759px;
	margin:0 auto 40px;
	text-align: left;
}
.caseimg{
width:366px;
	float:left;
	margin:0 0 0 27px;
}
.casetxt{
height:100px;}
.caseimg:nth-child(odd){
	margin:0;
}
/* ----------------------------------------
 * 8. aboutus - pc
 * ---------------------------------------- */
#aboutus{
	width: 760px;
	margin:0 auto 80px;
}
.hyo_tbl {
margin-top:-18px;
	width:100%;
}
.hyo_tbl th,
.hyo_tbl td{
	display: table-cell;
}
.hyo_tbl td{
border-top: none;
}
.hyo_tbl tr:nth-child(even){
background-color: #E3E3E3;}
.aboutus_txt{}
 ul.aboutus_list li{
	background-image: url(../aboutus/images/listmark.png);
	background-position: 3px 7px;
	background-repeat: no-repeat;
	padding-left:1em;
}
/* ----------------------------------------
 * 9. contactus - sp
 * ---------------------------------------- */
#contactus{
	width: 760px;
	margin:0 auto 60px;
}
#contact_tel{text-align: left;}
#contact_tel_att{text-align: left;}
/* ----------------------------------------
 * 10. privacy - pc
 * ---------------------------------------- */
#privacy{
	width: 760px;
	margin:0 auto 60px;
}

	
	
}
