/* CSS Document */
.sp_only{display:none!important;}

		


/*------------------------------*/
body.page{
	padding-top: 150px;
}



header{
	border-bottom: 1px solid transparent;
}

header .head_linkbox ul > li > a:before{
	content: "";
  width: 0;
  height: 5px;
  background: #0964AF;
  position: absolute;
  left: 50%;
  bottom: 0;
  opacity: 0;
  margin-left: auto;
  margin-right: auto;
  transition: 0.3s;
}


header .head_linkbox{
	flex: none;
}


body.jrobo header .head_linkbox ul > li.jrobo > a:before,
body.robot header .head_linkbox ul > li.robot > a:before,
body.shukai header .head_linkbox ul > li.shukai > a:before,
body.senmon header .head_linkbox ul > li.senmon > a:before,
body.innovations header .head_linkbox ul > li.innovations > a:before,
body.movie header .head_linkbox ul > li.movie > a:before,
body.customer header .head_linkbox ul > li.customer > a:before,
body.josei header .head_linkbox ul > li.josei > a:before,
header .head_linkbox ul > li > a:hover:before,
header .head_linkbox ul > li.active > a:before{
	left: 0;
  width: 100%;
  opacity: 1;
}




header.headroom--not-top .head_logo a,
header.headroom--not-top .head_linkbox{
	height: 80px;
}

header .head_logo a span.jp{
	transition: 0.3s;
}
header.headroom--not-top .head_logo a span.jp{
	opacity: 0;
	height: 0;
	margin-top: 0;
}

header.headroom--not-top .head_linkbox {
	transform: translateY(-40%);
}

header.headroom--not-top .head_linkbox .lower{
	height: 100%;
}

header.headroom--not-top{
	background: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	border-bottom: 1px solid transparent!important;
}

header.headroom--not-top .head_linkbox ul > li > a{
	color: #333;
}

body.page header{
	background: #fff;
	border-bottom: 1px solid #EDEDED;
}
body.page header .head_linkbox ul > li > a{
	color: #333;
}

@media screen and (max-width: 1100px) {
	header .head_linkbox ul > li{
		padding-left: 20px;
		font-size: 90%;
	}
	header .head_linkbox ul li .pc_btn a{
		font-size: 15px;
		width: auto;
		padding: 0 10px;
	}
	header .head_linkbox ul li .pc_btn a img{
		width: 12px;
	}
}

header .head_linkbox ul > li.mega_menu_btn > a:after{
	content: "\f107";
	font-family: FontAwesome;
	position: absolute;
	left: 50%;bottom: 5px;
	transform: translateX(-50%);
	transition: 0.3s;
}
body.page header .head_linkbox ul > li.mega_menu_btn.active > a:after{;
	transform: translateX(-50%) rotate(180deg);
}

.mega_menu_box{
  position: absolute;
  border-top: 1px solid #EBEBEB;
  left: 0;
  top: 100%;
  width: 100%;
  background: #fff;
  z-index: 10;
	max-height: calc(100vh - 80px);
	overflow-y: scroll;
	
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.mega_menu_box .box{
	padding: 60px 0 100px;
}

.mega_menu_box::-webkit-scrollbar{
	display: none;
}


.mega_menu_box h2.title a{
	color: #333;
	text-decoration: none;
	font-size: 140%;
}

.mega_menu_box h3.sub_title a{
	color: #0964AF;
	text-decoration: none;
	font-size: 130%;
	padding-left: 0.8em;
	border-left: 5px solid #0964AF;
}

.mega_menu_box .linkbox ul{
	display: flex;flex-wrap: wrap;
	margin-left: -40px;margin-top: -20px;
}

.mega_menu_box .linkbox ul li{
	width: calc((100% / 4) - 40px);
	margin-top: 20px;margin-left: 40px;
}

.mega_menu_box .linkbox.c3 ul li{
	width: calc((100% / 3) - 40px);
}
.mega_menu_box .linkbox ul li a{
	display: block;
  width: 100%;
  color: #333;
	font-weight: bold;
  text-decoration: none;
  padding-bottom: 10px; padding-right: 10px;
  border-bottom: 1px solid #e5e5e5;
  position: relative;
}

.mega_menu_box .linkbox ul li a:before{
	content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;bottom: -1px;
  background: #0964AF;
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.mega_menu_box .linkbox ul li a:hover:before{
	transform: scaleX(1);
  transform-origin: bottom left;
}

.mega_menu_box .linkbox ul li a:after{
	content: "\f054";
  font-family: FontAwesome;
  font-size: 90%;
  color: #0964AF;
	font-weight: normal;
  position: absolute;
  right: 5px; bottom: 10px;
  transition: 0.3s;
}
.mega_menu_box .linkbox ul li a:hover:after{
	right: 0;
}


.mega_menu_box .close a{
	background: #0964AF;
  padding: 10px 0 15px;
  display: block;
  color: #fff;
  text-decoration: none;
  text-align: center;
}

.mega_menu_box .close a:before{
	content: "\f00d";
	font-family: FontAwesome;
  margin-right: 5px;
}



header .open_bg{
	display: none;
  position: fixed;
  left: 0; top: 150px;
  height: calc(100vh - 150px);
  width: 100%;
  background: rgba(0,0,0,0.7);
  z-index: 8;
}


.page_sidebar{
	position: sticky;
	top: 100px;
}


.senmon_tab_btn ul li a:hover{
	background: #0964AF;
  color: #fff;
}


.page_sidebar ul > li.on > a{
	color: #2761A9;
	font-weight: bold;
}





/*マウスオーバー*/
a:hover .span_angle_right:after,
a:hover .span_angle_right.size_s:after{
	background: #1A73E8;
	color: #fff;
	border: 1px solid #1A73E8;
}

.common_blue_btn{transition: 0.3s;}
.common_blue_btn:hover{
	background: #2998F4;
}

.common_img_link a .img{overflow: hidden;}
.common_img_link a .img img.bg{transition: 0.3s;}
.common_img_link a:hover .img img.bg{
	transform: scale(1.1);
}

.top_icon_linklist .box a .icon img{transition: 0.3s;}
.top_icon_linklist .box a:hover .icon img{
	transform: scale(1.15);
}

.wp_news_box .news_tab a{transition: 0.3s;}
.wp_news_box .news_tab a:hover{
	background: #1A73E8;
	color: #fff;
}

.top_ope_slide ul li a .thumb:before{transition: 0.3s;}
.top_ope_slide ul li a:hover .thumb:before{
	background: rgba(0,0,0,0.0);
}

.page_anchor_nav ul li a{transition: 0.3s;}
.page_anchor_nav ul li a:hover{
	border-bottom: 1px solid #0964AF;
}

.page_sidebar a{transition: 0.3s;}
.page_sidebar a:hover{
	color: #2761A9;
}

.accordion_toggle_box:hover{
	box-shadow: 0 2px 4px rgb(0 0 0 / 10%), 0 8px 16px rgb(0 0 0 / 10%);
}

.foot_main a:hover{
	text-decoration: underline!important;
}

.foot_totop a{transition:0.3s;}
.foot_totop a:hover{
	background: #2761A9;
	color: #fff;
}
.foot_totop a svg .a{transition:0.3s;}
.foot_totop a:hover svg .a{
	fill:#fff;
}


.ope_movie_list li a{transition:0.3s;}
.ope_movie_list li a:hover{
	box-shadow: 0 2px 4px rgb(0 0 0 / 10%), 0 8px 16px rgb(0 0 0 / 10%);
}


.foot_fixed_menu p a{
	transition: 0.3s;
}

.foot_fixed_menu p a:hover{
	width: 280px;
	padding: 20px 0;
}

.customer_column_list .item .img span{transition: 0.3s;}
.customer_column_list .item:hover .img span{
	transform: scale(1.1);
}
.tag_cloud li a:hover{
	background: #2761A9;
	color: #fff;
}