@charset "UTF-8";

/* =======================================
	ヘッダー
======================================= */
/*スクロールしたら消える要素を囲む*/
.hide{
	transform: translateY(-200%);
}

#scroll_area{
    position: fixed; 
    top: 0;
    transition: .3s; 
    z-index: 100; 
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content:space-between;
}


h1 {
	color: #555!important;
	z-index: 100;
}

/*エンタープライズボタン・電話番号*/
.scroll_inner {
	display: flex;
	justify-content: flex-end;
}

.button_header_enterprise {
	text-decoration: none;
	font-weight: 600;
	font-size: 1em;
	color: #fff;
	background-color: #52B132;
	border-top-left-radius: 0px;
	border-top-right-radius: 0px;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
	padding: 5px 15px;
	height: 30px;
	margin-right: 10px;
}

.button_header_enterprise::before {
	content: url("../images/icon_enterprise.svg");
	width: 10px;
	height: auto;
	padding-right: 5px;
}

.header_phone_area {
	text-decoration: none;
	font-weight: 600;
	font-size: 1.1em;
	color: #555;
	padding: 2px 15px 8px 0px;
	height: 30px;
}

.header_phone_area::before {
	content: url("../images/icon_phone_call.svg");
	width: 12px;
	height: auto;
	padding-right: 5px;
}

.header_phone_area span {
	font-size: 0.5em;
	padding-left: 5px;
	font-weight: 300;
}

/*ナビゲーション要素*/

/*ロゴ*/
#logo {
	position: relative;
	width: 100px!important;
	margin-right: 0px;
	margin-top: 20px;
	margin-left: 5px;
	height: auto;
	}

/*申し込み・ログインボタン*/
.btn_application {
    padding: 0.3em 1em!important;
    margin: 1em 0.2em;
    color: #fff!important;
    background: #ff8d00;
    border-radius: 5px;
	text-align: center;
}

.btn_application:hover {
    opacity: 0.6;
}

.btn_login {
    padding: 0.3em 1em!important;
    margin: 1em 0.2em;
	color: #fff!important;
    background: #c1c1c1;
    border-radius: 5px;
	text-align: center;
}

.btn_login:hover {
    opacity: 0.5;
}


/*========= ナビゲーションドロップダウンのためのCSS ===============*/

/*上部に固定する*/
#header {
	position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
	background: #fff;
	padding-top: 40px;
	z-index: 9999;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}

.header_inner {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
}

/* スクロールして「scroll_navクラス」がついた時、高さが狭くなる */
#header.scroll_nav {
	height: 70px;
	padding-top: 0px;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}

#header.scroll_nav #scroll_area {
	display: none;
}

/*ナビゲーション全体の設定*/
.g_nav {
	background: #fff;
	color: #666;
	white-space: nowrap;
	font-weight: 400;
	font-size: 14px;
	text-align: center;
	width: 100%;
	top: 0%;
	display: flex;
	justify-content: space-around;
}


.g_nav ul{
	list-style: none;
	display: flex;
	justify-content: flex-end;
}

.g_nav ul ul{
	display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
.g_nav ul li{
	position: relative;
}

.g_nav ul li a{
	display: block;
	text-decoration: none;
	color: #555;
	padding: 20px;
	transition:all .3s;
	font-size: 1em;
}

.g_nav ul li li a{
	padding:10px 35px;
}

.g_nav ul li a:hover{
	opacity: 0.5;
}

/*2階層目を持つliの矢印の設定*/
.g_nav ul li.has-child::before{
	content:'';
	position: absolute;
	right: 8px;
	top: 33px;
	width: 4px;
	height: 4px;
	border-top: 2px solid #555;
    border-right: 2px solid #555;
    transform: rotate(135deg);
}

.g_nav li.has-child ul{
	position: absolute;
	left:0;
	text-align: left;
	top:62px;
	z-index: 4;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
	background:#fff;
	width:280px;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
}

/*hoverしたら表示*/
.g_nav li.has-child:hover > ul,
.g_nav li.has-child:active > ul{
  visibility: visible;
  opacity: 1;
}

.g_nav li.has-child ul li a{
	color: #555;
	border-bottom: solid 1px rgba(255,255,255,0.6);
}

.g_nav li.has-child ul li:last-child a{
	border-bottom: solid 1px #fff;
}

.g_nav li.has-child ul li a:hover,
.g_nav li.has-child ul li a:active{
	background: #fff;
}

/* =======================================
	フッター
======================================= */
/* ▼ フッター上部（背景がグレーの部分） ▼ */

footer {
	font-size: 0.8em;
	}

.footer_gray_area {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	background-color: #EDEFEE;
	padding: 25px 0 25px 0px;
	}

.footer_grid {
	width: 100%;
	display: flex;
	text-align: center;
	display: -ms-flexbox;
	
	/* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;

	}

 .footer_grid  > div {
    width: 23%;
    padding: 10px;
  }

footer ul {
	list-style: none;
	text-align: left;
}

footer ul li a {
	color: #555;
	font-weight: 400;
	text-decoration: none;
}

footer ul li a:hover {
	opacity: 0.7;
	text-decoration: underline;
}

.footer_title {
	font-size: 1.2em;
	font-weight: 700;
	color: #555;
}

.footer_sub_title {
	cursor: pointer;
	transition: all .2s ease;
	color: #555;
	font-weight: 400;
}

.footer_sub_title:hover {
	opacity: 0.7;
}

/*アコーディオンで開くので、最初非表示*/
.footer_sub_area {
	display: none;
}

.footer_bunner {
	margin: 0 0 0 auto;
	width: 250px;
	height: auto;
}

/* ▼ フッター下部（背景が白い部分） ▼ */

.footerlogo {
	text-align: left;
	width: 120px;
	margin: auto;
	height: auto;
	}	

.footer_sp {
	display: none;
}

/*PC表示*/
.footer_pc {
	display: flex;
	justify-content: space-between;
}

.footer_left {
	display: flex;
	justify-content: space-between;
	width: 55%;
}

.footer_right {
	display: flex;
	justify-content: center;
	width: 20%;
}

.img_sns {
	width: 40px;
	padding: 0 2px;
}

.copylight {
	text-align: left;
	margin: 2px 0px;
	}

@media screen and (max-width:1100px){
	
/* =======================================
	ヘッダー
======================================= */
/*==1100px以下の形状*/

	
#scroll_area{
	display: none;
	}	

h1 {
	display: none;
	}
	
/*ロゴ*/

#logo {
	position: fixed;
	width: 200px;
	margin-right: 0px;
	margin-top: 25px;
	text-align: left;
	left: 5px;
	height: auto;
	display: block;
	}
	
/*申し込み・ログインボタン*/
.btn_application {
    padding: 0.3em 1em!important;
    margin: 1em auto;
    color: #fff!important;
    background: #ff8d00;
    border-radius: 5px;
	width: 250px;
}

.btn_application:hover {
    opacity: 0.6;
}

.btn_login {
    padding: 0.3em 1em!important;
    margin: 1em auto;
    color: #555!important;
    background: #c1c1c1;
    border-radius: 5px;
	width: 250px;
}

.btn_login:hover {
    opacity: 0.6;
}
	
#header {
    height: 60px;
	padding-top: 0px;
}
	
/*ナビゲーション全体の設定*/
.g_nav {
	padding: 0;
	top: -100%;
	display: none;
	padding:15px 0px 20px 0px;
	}
	
.g_nav ul{
		display: block;
	}
	
	.g_nav li.has-child ul,
	.g_nav li.has-child ul ul{
  	position: relative;
	left:0;
	top:0;
	width:100%;
	visibility:visible;/*JSで制御するため一旦表示*/
	opacity:1;/*JSで制御するため一旦表示*/
	display: none;/*JSのslidetoggleで表示させるため非表示に*/
	transition:none;/*JSで制御するためCSSのアニメーションを切る*/
}
	
.g_nav ul li a{
	border-bottom:1px solid #ccc;
}

/*矢印の位置と向き*/

.g_nav ul li.has-child::before{
	left:20px;	
}

.g_nav ul ul li.has-child::before{
    transform: rotate(135deg);
	left:20px;
}
    
.g_nav ul li.has-child.active::before{
    transform: rotate(-45deg);
}
	
/*ハンバーガーメニュー*/

.hamburger {
	position: absolute;
    right: 15px;
    top: 8px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 300;
  }
	
.hamburger_border {
    position: absolute;
    left: 11px;
    width: 24px;
    height: 3px;
    background-color: #555;
    transition: all .6s;
  }
  .hamburger_border_top {
    top: 14px;
  }
  .hamburger_border_center {
    top: 20px;
  }
  .hamburger_border_bottom {
    top: 26px;
  }
	
.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all .6s;
  cursor: pointer;
}

 /* 表示された時用のCSS */
  .g_nav-open .g_nav{
	  top: 0%!important;
	  position: relative;
	  z-index: 300;
	  display: block;
  } 
  .g_nav-open .black-bg {
    opacity: .8;
    visibility: visible;
  }
  .g_nav-open .hamburger_border_top {
    transform: rotate(45deg);
    top: 20px;
  }
  .g_nav-open .hamburger_border_center {
    width: 0;
    left: 50%;
  }
 .g_nav-open .hamburger_border_bottom {
    transform: rotate(-45deg);
    top: 20px;
  }
	
  .g_nav-open #logo{
		display: none;
	}
	
/* =======================================
	フッター
======================================= */
/*==1100pxpx以下の形状*/
.footer_grid  > div {
    width: 21%;
    padding: 10px;
  }
	
/* ▼ フッター下部（背景が白い部分） ▼ */

.footerlogo {
	text-align: left;
	width: 130px;
	margin: auto;
	height: auto;
	}	

.footer_pc {
	display: none;
}

/*sp表示*/
.footer_sp {
	display: block!important;
	text-align: center;
	margin: 0 auto;
}

.footer_left {
	display: flex;
	justify-content: space-around;
	width: 75%;
}

.footer_right {
	display: flex;
	justify-content: center;
	width: 50%;
	margin: 0 auto;
	text-align: center;
}

.img_sns {
	width: 40px;
	padding: 0 2px;
}
	
.copylight {
	text-align: center;
	margin: 4px 0px;
	}
}


@media screen and (max-width:600px){
/*==600px以下の形状*/	

.top-banner {
	font-size: 1.7em;
	padding: 3%;
	}
	
footer {
	padding: 25px 0 0 0;
	}
	
.footer_grid  > div {
    width: 43%;
    padding: 10px;
  }
	
.footer_bunner {
	margin: 0 auto;
	width: 250px;
	height: auto;
}

}
