@charset "utf-8";@charset "utf-8";

/*
 * Site Name: connetta WEB Smart5
 * File Name init.css
 * Description: initial setting
 * Version: 1.0
 * Author: DIS_ART_WORKS
 */




/*
init
--------------------*/
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol,ul,li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, dialog, figure, footer, header,hgroup, menu, nav, section,time, mark, audio, video
{
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight:normal;
	list-style: none;
}




/*
base tag setting
--------------------*/
html {
	font-size: 100%;
  height: 100%;
}
body {
  height: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
		font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;


	line-height: 1.75;
  overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: bottom;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

table td,
table th {
	border-width: 1px;
	border-style: solid;
}

a {
	text-decoration: none;
	outline: none;
}
a:hover {
	text-decoration: underline;
}

/* base id setting
-------------------------------------------------------------------------------------*/
#header_wrapper:before,
#content_wrapper:before,
#footer_wrapper:before,
#header:before,
#footer:before,
#topicpath:before,
#header_wrapper:after,
#content_wrapper:after,
#footer_wrapper:after,
#header:after,
#footer:after,
#topicpath:after
 {
	content: "";
	display: table;
}

#header_wrapper:after,
#content_wrapper:after,
#footer_wrapper:after,
#header:after,
#footer:after,
#topicpath:after
 {
	clear: both;
}

#header_wrapper,
#content_wrapper,
#footer_wrapper,
#header,
#footer,
#topicpath
 {
	zoom: 1;
}

#header_wrapper,
#content_wrapper,
#footer_wrapper {
	width: 100%;
}

#header,
#main_nav,
#content_wrapper,
#main_images,
#footer {
	margin: 0 auto;
	text-align: left;
}



/*width setting
---------------------------------------------------------------*/
@charset "utf-8";
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* base */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */


/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* 基本タグ */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */

html,body {
	font-size: 16px;
	color: #333333;
}


a {
	color: #000000;
}

a:hover {
	color: #005392;
}

h1{
	padding: 0.5em 0;
	color: #002948;
	line-height: 1.2;
	background-color: #fff;
	border-bottom: 1px solid #e6e6e6;
	margin: 0 0 0.75em;
	font-size: 2em;
}



h2 {
	position:relative;
	line-height: 1.6;

			padding: 0.25em 1em;
		margin: 0 0 1em;
		background: #004171;
		color: #ffffff;

	

			borde: none;
	  color: #ffffff;
	font-size: 1.6em;

}


/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* 共通クラス */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* For modern browsers */
.clearfix:before,
.clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
}

/* For IE 6/7 (trigger hasLayout) */
.clearfix {
	zoom: 1;
}

.disp_none{
	display: none;
}


.free {
		overflow-x: scroll;
		-ms-overflow-style: none;
    scrollbar-width: none;
}

.free::-webkit-scrollbar {
  display: none;
}

// .free ul,
// .free ol
// {
// 	padding-left: 2em;
// }
//
// .free ul li
// {
// 	list-style-type: disc;
// }
//
// .free ol li
// {
// 	list-style-type: decimal;
// }









/*
 * page navi
 */

.free a {
	text-decoration: underline;
}


.free table{
	border-collapse:collapse;
	border:1px solid #CCCCCC;
	margin:10px auto 15px;
}

.free table td,
.free table th{
	border:1px solid #CCCCCC;
	padding: 0.5em;
}

.free li{
	padding:0 0 0 0.5em;
}
.free ul,
.free ol{
	list-style-position: outside ;
	margin: 0 0 0 1.5em;
	display: block;
}

.free ul li{
	list-style: inside inherit inherit;
	list-style-type: disc;
}

.free ol li{
	list-style: inside inherit inherit;
	list-style-type: decimal;
}


.free strong{
	font-weight: bold;
}



/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* 基本コンテンツ */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */





@charset "utf-8";
@media only screen and (max-width: 768px){



  table{
    width: 100% !important;
    min-width: 350px;
    overflow: scroll;
  }

  table tbody{
    overflow: scroll;
  }
}


@charset "utf-8";
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* layout setting */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */



ul#topicpath,

/* width setting
---------------------------------------------------------------*/
#header,
#main_nav,
ul#topicpath,
#content_wrapper,
#main_nav,
#main_images,
#footer {
	min-width: px;
	max-width: 1200px;
	}


@media only screen and (max-width: 1200px){

	#header,
	#content_wrapper,
	ul#topicpath,
	#footer {
		width: 98%;
	}

}



	#main_column {
	  width: 100%;
	}

	#side_column {
		height: 100%;
		float: none;
	}




/* --- main --- */
#content_wrapper {

	position: relative;
	padding:0 0 30px;
	height: 100%;

}

#main_column {

	margin-top: 0.75em;

	border-top: 4px solid #002948;
	border-radius: 2px 2px 0 0;
	-webkit-border-top-left-radius: 2px;
	-webkit-border-top-right-radius: 2px;
	-moz-border-radius-topleft: 2px;
	-moz-border-radius-topright: 2px;

}








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

/* --- head --- */
#header_wrapper{
	border-top: 3px solid #ffffff;
	padding: 0; /*for main navi*/
  background-color: #ffffff;
}

#header {
	padding-top: 1em;
	position: relative;
}

#header #site_lead {
	line-height: 1.8;
	font-size: 0.8em;
	padding-bottom: 0.6em;
}

#header h1,
#header #title
{
	display: inline-block;
	vertical-align: middle;
	position: inherit;
	height: auto;
	padding: 0;
	line-height: 1;
	background: none;
	margin: 0;
	border: none;
	font-size: 2.4em;
}

#header h1 img,
#header #title img
{
	vertical-align: middle;
	width: 487px;

}


/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --- サイドコラム --- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */





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

#footer_wrapper {
	border-top: 1px solid #f1762c;
	background-color: #002948;
	color: #ffffff;}

#footer {
	margin: 0 auto;
	padding: 0.5em 0 3em;
}


#footer #footer_copyright {
	clear: both;
	margin: 0 auto;
	text-align: center;
	padding: 0.5em 0 1.5em;
}

#footer #footer_lead {
	clear: both;
	margin: 0 auto;
	text-align: left;
	padding: 0 0 1.5em;
}



/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --- inner contents --- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */

h1,
.news_date,
h2,
.paragraph_lead
{
	margin-left: 16px;
	margin-right: 16px;
}

#internal_link,
.paragraph
{
	margin-left: 16px;
	margin-right: 16px;
	margin-bottom: 4.5em;
}


@charset "utf-8";

@media only screen and (max-width: 768px){

		/*
		 * layout
		 */
		#header_wrapper{
			padding-bottom: 0;
			padding: 0 0 1em;
		}

		#home #content_wrapper,
		#content_wrapper{
			padding-bottom: 0;
			display: block;
		}


		/*
		 * main
		 */

		#main_column,
		#home #main_column {
			float: none;
			width: 100%;
			padding: 0.5em 0 0;
			margin-left: 0;
		}

		/*
		 * side
		 */

		#side_column,
		#home #home_side_column{
			width: 100%;
			float: none;
			margin:0 auto 0;
			display: none;
		}



		/*
		 * head
		 */
		.header_side_menu{
			display: block;
		}

		#header{

		}

		#header h1{
			padding: 0 2%;
		}


		#header h1 img,
		#header #title img
		{
			vertical-align: middle;
			max-width: calc(98% - 28px - 13px - 0.5em);

		}


}


/*=========================================================================================
for Smart Phone 480ä»¥ä¸‹
=========================================================================================*/

@media only screen and (max-width: 480px){


	#site_lead{
		display: none;
	}

	#header{
		padding: 1em 0 0;
	}


  #home h1,
  p.title{
    min-height: 45px;
  }

	#home h1 img,
	p.title img{
		width: 75%;

	}

}@charset "utf-8";

/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* item */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --- 共通アイテム --- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */





/* Page Component
----------------------------------------------------------- */



/* --- to top --- */
.go_to_top{
	position:fixed;
	right: 1%;
	bottom:0;
	clear: both;
	text-align: left;
	padding: 1.5em 0;
	z-index:999999;
	color: rbga(255, 255, 255, 0);
}

.go_to_top a{
	display: block;
	position: relative;
	color: rgba(255, 255, 255, 0);
	font-size: 0;
	background-color: #002948;
	/* border: 1px solid #002948; */
	width: 32px;
	height: 32px;
	padding: 10px;
	margin: 0 1px 0 auto;

	overflow: hidden;
	font-size: 3em;
	z-index: 999;
	opacity: 0.85;
	box-shadow: 2px 2px 2px rgba(0 , 0 , 0 , 0.1);
}

.go_to_top a:hover{
	transition: all 300ms;
	-moz-opacity: 0.7;
	opacity: 0.7;
	filter: alpha(opacity=70);
}

.go_to_top a::before{

	position: absolute;
	display: block;
	content:"";

	/*
	border-top: 1px solid #002948;
	border-left: 1px solid #002948;
	*/
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;

	transform:  rotate(45deg);
	width: 36%;
	height: 36%;
	bottom: calc(50% - 23% - 8px);
	left: 31%;

}

.go_to_top a::after{

	position: absolute;
	display: block;
	content:"";
	border-top: 1px solid #fff;
	width: 54%;
	height: 0;
	bottom: calc(50% + 8px);
	left: 22%;

}

/* --- topic path(pankuzu) --- */
ul#topicpath {
	margin: 1em auto 0;
}



	ul#topicpath {
	        margin-top: 1em;
	        margin-right: auto;
	        margin-bottom: 0;
	        margin-left: auto;
	}

	@media only screen and (max-width: 1200px){

		ul#topicpath {
			margin-left: 1%;
			margin-right: 1%;
		}

	}





ul#topicpath li {
	float: left;
	line-height: 1em;
	padding: 0 1em 0 1.5em;
	list-style-type: none;
	font-size:81.25%;
	position: relative;
}

ul#topicpath li:before {
	content: ">";
	position: absolute;
	left: 0;
}

ul#topicpath li.home {
	padding-left: 0;
}

ul#topicpath li.home:before {
	display: none;
}

ul#topicpath li.home a {
	display:block;
}

ul#topicpath li.home a:hover {

}

ul#topicpath li.this {

}


/* Banner
----------------------------------------------------------- */
ul#side_banner,
ul#bottom_banner {
	clear: both;
	padding: 2em 0 0;
	margin: 0;
	width: 100%;
	line-height: 1;
	list-style-type:none;
}

ul#side_banner{
	padding: 0 0 0;
}


ul#side_banner li{
	display: block;
	margin:0 0 1em;
	padding:0;
}

ul#bottom_banner li{
	display:inline-block;
	margin:0 0.5% 3px 0;
	padding:0;
	width: 19.5%;
}

ul#side_banner li img,
ul#bottom_banner li img{
	width: 100%;
}

ul#side_banner li a,
ul#bottom_banner li a{
	text-decoration: none;
}

ul#side_banner li a:hover,
ul#bottom_banner li a:hover{
	text-decoration: none;
	transition: all 300ms;
	-moz-opacity: 0.7;
	opacity: 0.7;
	filter:alpha(opacity=70);
}

ul#side_banner li:nth-child(5n),
ul#bottom_banner li:nth-child(5n){
	margin-right:0;
}

@charset "utf-8";

@media only screen and (max-width: 768px){

		ul#side_banner li,
		ul#side_banner li:first-child,
		ul#bottom_banner li,
		ul#bottom_banner li:first-child{
			display: inline-block;
			margin:0 1% 1em;
			padding:0;
			width: 31.3%;
		}

		ul#side_banner{

		}


		/*
		 * other parts
		 */
		#go_to_top{
				right: 15px;

			position: fixed;
			bottom: 20px;

			z-index: 10;
			padding:0;
		}



}


@media only screen and (max-width: 480px){

  	ul#side_banner li,
  	ul#side_banner li:first-child,
  	ul#bottom_banner li,
  	ul#bottom_banner li:first-child{
  		line-height: 2.4em;
  		padding: 1em 0 1em 0.5em;
  		margin:0 1% 1em;
  		padding:0;
  		width: 48%;
  	}




}@charset "utf-8";
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --- page menu_css.temp.php --- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* menu */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --- サイド --- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */



	#side_column .menu {
		display: block;
		text-align: center;
		background-color: #fafafa;		width: 100%;
		margin: auto;
	}

	#side_column .menu ul {
		display: inline-block;
		margin: auto;
		padding: 0.75em 0;

	}

	#side_column .menu ul li{
		display: inline-block;
		width: auto;
		text-align: center;
		border: none;
		position: relative;
	}

	#side_column .menu dl dd a,
	#side_column .menu ul li a {

			display: inline-block;
			line-height: 1.5em;
			padding: 0 0.25em;
			margin: 0 0.75em;
			color: #000000;
			position: relative;
			white-space: nowrap;
			word-break: keep-all;
			/* margin-bottom: 1em; */
			font-weight: normal;

	}

	#side_column .menu ul li.current a,
	#side_column .menu ul dd.current a {

			color: #f1762c;
			font-weight: bold;
			background: none;

	}

	#side_column .menu ul dd a:hover,
	#side_column .menu ul li a:hover {

		background: none;
		color:  #f1762c;
		text-decoration: none;


	}

	#side_column .menu dd a::before,
	#side_column .menu li a::before {

		content: '';
		display: block;
		position: absolute;

		right: auto;
		bottom: -3px;
		top: auto;
		left: 15%;
		width: 70%;
		height: 0;
		border-bottom: 1px solid #f1762c;
		box-sizing: content-box;
		z-index: 10000000;
		transition: all 0.3s;
		opacity: 0;

	}
	#side_column .menu dd a:hover::before,
	#side_column .menu li a:hover::before {
		left: 0;
		width: 100%;
		opacity: 1;

	}










/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --- トップページ --- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */




/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --- ナビ開閉関連 --- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */



/* --- 開閉部分 --- */

/* --- バック --- */
#navs_wrapper_a span{
	display: none;
}

#fcontents_nav{
	display: none;
}

#navs_wrapper{
	z-index: 0;

}

#navs_wrapper_p a{
	display: none;
	position: fixed;
	width: 0%;
	height: 0%;
	z-index: 0;
}

#navs_wrapper_p a.navs_wrapper_a{
	position: fixed;
	display: block;
	width: 100%;
	height: 100%;
	z-index: 30;
	cursor: pointer;
}

#navs_wrapper a#close_area_a{
	display: none;
}

/* 開閉ナビ本体 */
#navs{
  ;background-color: #333333;}

/* 開閉ナビタイトル */
#navs h2#navs_head {
		display: none;
}


/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --- サブナビ --- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
ul#sub_nav {
	position: absolute;
	display: block;
	width: calc(100% - 487px - 1rem);
	text-align: right;
	right: 0;
  bottom: 0;
}

ul.nopain {
	bottom: 0;
}


ul.wizpain {
	bottom: 5.0em;
}

ul#sub_nav li {
	display: inline-block;
	padding: 1px 0 calc(0.25em + 2px);
	text-align: right;
	line-height: 1.2;
}

ul#sub_nav li a {
	display: block;
	text-align: right;
	line-height: 1.8em;
	/*
	padding: 0 0 0 1.5em;
	*/
	padding: 0 0 0;
	margin: 0 0 0 1.5em;
	color: #000000;
	position: relative;
	font-size: 1rem;
	font-weight: normal;
	box-sizing: border-box;
}


ul#sub_nav li a::after
{
	/*
	position: absolute;
	border-right: 3px solid #000000;
	border-top: 3px solid #000000;
	content: "";
	width: 3px;
	height: 6px;
	left: 0px;
	top: calc(50% - 4px);
	transform: rotate(45deg);
	*/
}



ul#sub_nav li.current a:hover,
ul#sub_nav li a:hover {
	transition: all 500ms;
	color: #000000;
	text-decoration: none;
}

ul#sub_nav li a::before
{
	transition: all 300ms;
	position: absolute;
	display: block;
	content: "";
	height: 1px;
	width: 70%;
	left: 15%;
	bottom: -0.125em;
	background: #f1762c;
	z-index: 0;
	opacity: 0;

}

ul#sub_nav li.current a::before,
ul#sub_nav li a:hover::before
{
	opacity: 1;
	width: 100%;
	left: 0;
}

/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --- レスポンシブ時サブナビ --- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
ul#sp_sub_nav {
  display: none;
}

/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --- メインナビ --- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
ul#main_nav {
	position: relative;
			display: block;
		margin: 0.75em auto 0;
		padding-top: 0.5em;
		/* width: 100vw; */
		width: 100vw;
		box-sizing: border-box;
		left: 0;
		top: 0;
		z-index: 100000000;
		max-width: none;
	
	text-align: center;
	table-layout: fixed;

;background-color: #333333;}

ul#main_nav li {
			display: inline-block;
		padding: 0 1.75em;
	

}

ul#main_nav li a {

	display: inline-block;
	position: relative;
	transition: all 1s;
	text-align: center;

	
		line-height: 1.2em;
		padding: 0.1em 0;
		margin-top: 0.25em;
		margin-bottom: 0.75em;
		font-size: 1.1rem;

		color: #ffffff;

}

ul#main_nav li:first-child a {

			/* border-left: 1px solid #f1762c; */
	}


ul#main_nav li > a::after {
	display: block;
	content: '';
	position: absolute;
	bottom: -0.25em;
	left: 15%;
	width: 70%;
	height: 8px;
	padding: 0;
	border-bottom: 2px solid rgba(255, 255, 255, 0);
	transition: all 0.3s;
}

ul#main_nav li.current > a {
		color: #ffffff;
	font-weight: bold;
	text-decoration: none;
}

ul#main_nav li a:hover{
	transition: background-color 500ms;
	color: #ffffff;
	text-decoration: none;
	}




ul#main_nav > li.current > a::after
 {
	 border-bottom: 1px solid #f1762c;
	 left: 0;
	 width: 100%;
}


ul#main_nav li a:hover::after
 {
		border-bottom: 1px solid #f1762c;
		left: 0;
		width: 100%;
}

ul#main_nav li.current a:hover::after
 {

}

/* --- side nav in header --- */
.header_side_menu{
	display: none;
	margin-top: 0;
}




/* --- 蛇腹開閉 --- */
ul#main_nav .header_side_menu,
ul#sp_sub_nav .header_side_menu,
ul#fcontents_nav .header_side_menu,
#navs ul.header_side_menu{
	display: none;
	max-height: 0;
	overflow: hidden;
	transition: max-height 1s;
}

.toggle_btn{
	min-height: 0;
}






/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --- フッターナビ --- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
#footer{
	position: relative;
}

#footer ul#footer_nav {
	list-style: none;
	margin: 0.5em auto 0;
}

#footer ul#footer_nav li {
	float: left;
	padding-right: 2em;
}

#footer ul#footer_nav li a
{
	display: block;
	line-height: 1.8em;
	padding:  0 0 0 18px;
	color: #ffffff;	position: relative;

}

#footer ul#footer_nav li a::before
{
	position: absolute;
	border-right: 1px solid #ffffff;
	border-top: 1px solid #ffffff;
	content: "";
	width: 6px;
	height: 6px;
	left: 0px;
	top: calc(50% - 3px);
	transform: rotate(45deg);
	color: #ffffff;}


/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
/* --- 開閉ボタン --- */
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */

/* --- ナビ開閉ボタン --- */
#open_navs{
	display: none;
}


.open_navs{
	position: fixed;
	/* background-color: #fff; */
	/* border: 1px solid #002948; */
	width: 28px;
	height: 28px;
	display: none;
	padding: 8px;
	z-index: 1500;
	overflow: hidden;
}

#nav_btn {
	display: block;
	width: 28px;
	height: 28px;
	/* position: fixed; */
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 100000;
	margin: 0;
	padding: 0;
	transform: translate3d(0,0,0);
	transition: all 1.0s;
	overflow: hidden;
	transform-origin: 50% 50%;
}

#nav_btn span
{
	transform: translate3d(0,0,0);
	transition: all 1.0s;
	display: block;
	background-color: #002948;
	width: 28px;
	height: 3px;
	position: absolute;
	left: 0;
	top: 0;
	overflow: hidden;
	border-radius: 1.5px;
	text-indent: -99999px;
}

#nav_btn span#mtob1 {
	top: 0;
		z-index: 1000001;
}
#nav_btn span#mtob2 {
	top: 12px;
		z-index: 1000002;
}
#nav_btn span#mtob3 {
	top: 24px;
	z-index: 1000003;
}

#nav_btn.batsu span
{


}


#nav_btn.batsu{
	transform: rotate(90deg);
	-moz-transform: rotate(90deg);
}


#nav_btn.batsu span#mtob1 {
	transform: translate(0 , calc(25px / 2)) rotate(45deg) scale(1.1);
}
#nav_btn.batsu span#mtob2 {
	opacity: 0;
}
#nav_btn.batsu span#mtob3 {
	transform: translate(0 , calc(-25px / 2)) rotate(-45deg) scale(1.1);
}



@charset "utf-8";

@media only screen and (max-width: 768px){



		/* --------------------------------------------------------------- */
		/* --------------------------------------------------------------- */
		/* --- サイド --- */
		/* --------------------------------------------------------------- */
		/* --------------------------------------------------------------- */
		#side_column .menu{
			display: none;
		}

		#side_column .menu h2 a{
			display: block;
			height: 100%;
			color: #fff;
			text-align: left;
		}

		#side_column .menu h2 span{
			display: none;
		}

		#side_column .menu ul{
			transition: all 500ms;
			/*max-height: 0;*/for open effect
			overflow: hidden;
			display: block;
		}


		#side_column .menu ul.opened_menu{
			transition: all 500ms;
			max-height: 500px;

		}


		#side_column .menu ul a{
			float: none;
			margin:0 auto 0;
			padding: 0;
		}

		ul#side_banner,
		ul#bottom_banner{
			margin:0 -1% 0;
			padding: 0;
			width: 102%;
		}


		#navs .header_side_menu ul{
			margin:0 6% 2em;
		}


		/* --------------------------------------------------------------- */
		/* --------------------------------------------------------------- */
		/* --- ナビ開閉関連 --- */
		/* --------------------------------------------------------------- */
		/* --------------------------------------------------------------- */
	#navs{
		right: 0;
		position: absolute;
		width: 0;
		height: 99%;
		padding: 0;
		max-width: 0px;

		z-index: 101;
		overflow-y: scroll;
		overflow-x: hidden;
		transform: translateZ(0);
		width: 0;
		transition: all 0.5s;
    -ms-overflow-style:none;
		-webkit-overflow-scrolling: touch
	}



	#navs::-webkit-scrollbar{
	    display:none;
	}


	#navs ul,
	#navs ul li,
	#navs h2{

		white-space: nowrap;
		background: none;
	}


#navs h2#navs_head {

	  margin: 1em 0 0;
		padding: 0;
		text-align: center;
		color: #002948;
		display: block;
		font-weight: bold;
		border: none;

	}

	/* --- 開閉用クラス --- */

	#navs_wrapper{
		position: fixed;
		width: 100vw;
		height: 100vh;
		transition: all 500ms;
		top: 0;
		right: 0;
		z-index: -1;
	}

	#navs_wrapper.close_disp{
		display: block;
		width: 100vw;
		/* max-width: 80%; */
		background-color: #000;
		background: rgba(0 , 0 , 0 , 0.7);
		z-index: 97;
	}

	#navs_wrapper #navs.close_disp{
		display: block;
		width: 80vw;
		max-width: 80%;
		z-index: 98;
		background: rgba(255 , 255 , 255 , 0.9);
	}



	#navs_wrapper a#close_area_a{
		display: none;
		position: fixed;
		width: 0;
		height: 100vh;
		top: 0;
		left: 0;
		z-index: 98;
		color: rgba(0 , 0 , 0 , 0);
		opacity: 0;
	}

	#navs_wrapper a#close_area_a.close_disp{
		display: block;
		width: 100vw;
	}

	.opened_menu{
		transition: all 500ms;
		padding-top: 0;
		padding-bottom: 0;
		max-width: 5000px;
		z-index: 101;
	}

	#close_wrapper {

		display: block;
		position: fixed;
		width: 100%;
		height: 100%;
		margin: 0;
		background-color: rgba(0, 0, 0 , 0.7);
		z-index: 97;
		top: 0;
		left: 0;

}


	ul#main_nav{
		margin:7em 6% 1em;
	}

	ul#fcontents_nav{
		display: block;
	}


	ul#main_nav,
	ul#sp_sub_nav,
	ul#fcontents_nav,
	#navs ul{
		display: block;
		text-align: center;
		position: static;
		width: 98%;
		margin:0 6%;

	}



		ul#main_nav li,
		ul#sp_sub_nav li,
		ul#fcontents_nav li,
		#navs ul li {
			display: block;
			padding: 1px;
			width: 100%;
			position: static;
			text-align: left;
			margin: 1em 0;
		}



		ul#main_nav li a,
		ul#sp_sub_nav li a,
		ul#fcontents_nav li a,
		#header_side_menu ul li a,
		#navs ul li a {
			width: 100%;
			display: block;
			line-height: 1.4em;
			padding: 0.5em 0  0.25em 1.5em;
			margin-bottom: 0.25em;
			color: #999;
			background: none;
			position: relative;
			font-size: 15px;
			text-align: left;
		}

		ul#main_nav li.current > a,
		ul#sp_sub_nav li.current > a,
		ul#fcontents_nav li.current > a,
		#navs ul li.current > a {
			background: none;
			color: #333;
			font-weight: bold;
		}

		#navs > ul > li > a::before{
			content: '';
			display: block;
			position: absolute;
			width: 5px;
			height: 5px;
			border-top: 3px solid #002948;
			border-right: 3px solid #002948;
			transform: rotate(45deg);
			top: 0.85em;
			left: 0;
			transition: all 0.3s;
		}

		#navs > ul > li ul li a::before{
			content: '';
			display: block;
			position: absolute;
			width: 0;
			height: 0;
			border-top: 5px solid transparent;
			border-left: 5px solid #002948;
			border-bottom: 5px solid transparent;
			border-right: 5px solid transparent;
			top: 0.85em;
			left: 0;
			transition: all 0.3s;
		}




/* --- 蛇腹 --- */
	ul#main_nav .header_side_menu,
	ul#sp_sub_nav .header_side_menu,
	ul#fcontents_nav .header_side_menu,
	#navs ul.header_side_menu{
		display: block;
		max-height: 1000px;
		overflow: hidden;
		transition: max-height 1s;
	}

	ul#main_nav .close,
	ul#sp_sub_nav .close,
	ul#fcontents_nav .close,
	#navs ul.close{
		max-height: 0;
	}

	.toggle_btn{
		min-height: 1px;
	}









	/* --------------------------------------------------------------- */
	/* --------------------------------------------------------------- */
	/* --- サブナビ --- */
	/* --------------------------------------------------------------- */
	/* --------------------------------------------------------------- */
  ul#sub_nav{
    display: none;
  }

	/* --------------------------------------------------------------- */
	/* --------------------------------------------------------------- */
	/* --- レスポンシブ時サブナビ --- */
	/* --------------------------------------------------------------- */
	/* --------------------------------------------------------------- */
		ul#sp_sub_nav li.current a:hover,
		ul#sp_sub_nav li a:hover{
			background: none;
			color: #999;
		}



	/* --------------------------------------------------------------- */
	/* --------------------------------------------------------------- */
	/* --- メインナビ --- */
	/* --------------------------------------------------------------- */
	/* --------------------------------------------------------------- */

	ul#main_nav li:first-child a {

					border-left: none;
			}


	ul#main_nav li a:hover{
		background: none;
	}

	ul#main_nav li a::after{
		display: none;
	}


	#navs h2 a,
	#navs h2 a span
	{
		color: #002948;
		display: block;
		font-weight: bold;
		font-size: 16px;
	}

	#navs h2 a:hover{
		text-decoration: none;
	}

	.header_side_menu ul{
		/*max-height: 0;*/
		overflow: hidden;
	}

	.header_side_menu ul.current{
		max-height: 5000px;
	}

	.header_side_menu h2{
		display: block;
		width: 98%;
		padding: 0 0;
		margin: 0 auto 0;
		border: none;
	}

	.header_side_menu h2 a{
		display: block;
		padding: 0 6%;
		font-size: 18px;
		font-weight: bold;
	}


	ul#main_nav li a:hover,
	ul#sp_sub_nav li a:hover,
	ul#fcontents_nav li a:hover,
	#navs ul li a:hover {
		transition: all 300ms;
		color: #eee;
		text-decoration: none;
	}

	#navs > ul > li.current > a::before,
	#navs > ul > li > a:hover::before{
		transform: rotate(135deg);
	}






	ul#sp_sub_nav li a:after
	{
		display: none;
	}

	ul#sp_sub_nav li a:after
	{
		display: none;

	}

	/*
	 * bottom
	 */
	#bottom_buttons{
		position: fixed;
		bottom: 0;
		right: 0;
		z-index: 1100;
	}

	.opened_bottombuttons{
		right: 400px;
	}

	#open_navs_b {
		display: block;
			position: fixed;
			top: 15px;
			right: 15px;



		z-index: 11000;
	}

	/* --------------------------------------------------------------- */
	/* --------------------------------------------------------------- */
	/* --- レスポンジブ時、サイドナビ --- */
	/* --------------------------------------------------------------- */
	/* --------------------------------------------------------------- */
	.header_side_menu ul.open_menu{
		max-height: 50000px;
	}






	/* --------------------------------------------------------------- */
	/* --------------------------------------------------------------- */
	/* --- フッターナビ --- */
	/* --------------------------------------------------------------- */
	/* --------------------------------------------------------------- */
		#footer ul#footer_nav {
			display: none;
		}

		/* --------------------------------------------------------------- */
		/* --------------------------------------------------------------- */
		/* --- 開閉ボタン --- */
		/* --------------------------------------------------------------- */
		/* --------------------------------------------------------------- */
		#open_navs{
			display: block;
			position: absolute;

		}

		#open_navs{
			display: none;

		}

}