@charset "utf-8";

/*-----------------------------------------------
スマホサイト
-----------------------------------------------*/
@media only screen and (max-width: 640px) {

/* ハンバーガーボタン */
/*メニュー周りの高さ調整は親CSS側で設定すること。*/
.btn_hamburger {
	margin: 0 auto 2em !important;
	position:absolute;
	top:20px;
	right:10px;
	border-radius:4px;
	padding:5px 8px;
	background:#ff642d;
}
.btn_hamburger a {
	position: relative;
	display: block;
	width: 26px;
	height: 20px;
	-webkit-transition: all .4s;
	transition: all .4s;
	box-sizing: border-box;
	margin:5px auto;
}
.btn_hamburger span {
	position: absolute;
	display: inline-block;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #fff;
	border-radius: 2px;
	-webkit-transition: all .4s;
	transition: all .4s;
	box-sizing: border-box;
}
.btn_hamburger span:nth-of-type(1) {
	top: 0;
}
.btn_hamburger span:nth-of-type(2) {
	top: 8px;
}
.btn_hamburger span:nth-of-type(3) {
	bottom: 0;
}
.btn_hamburger span:nth-of-type(2)::after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 4px;
	background-color: #fff;
	border-radius: 2px;
	-webkit-transition: all .4s;
	transition: all .4s;
}
.btn_hamburger .active span:nth-of-type(2) {
	-webkit-transform: rotate(-45deg);
			-ms-transform: rotate(-45deg);
					transform: rotate(-45deg);
}
.btn_hamburger .active span:nth-of-type(2)::after {
	-webkit-transform: rotate(90deg);
			-ms-transform: rotate(90deg);
					transform: rotate(90deg);
}
.btn_hamburger .active span:nth-of-type(1) {
	-webkit-transform: translateY(20px) scale(0);
			-ms-transform: translateY(20px) scale(0);
					transform: translateY(20px) scale(0);
}
.btn_hamburger .active span:nth-of-type(3) {
	-webkit-transform: translateY(-20px) scale(0);
			-ms-transform: translateY(-20px) scale(0);
					transform: translateY(-20px) scale(0);
}
.smp_whole{
	margin: 0 0 2.5em;
	max-width: 640px;

}

.dd {display: none;}

.smp_whole> ul > li {
	list-style-type:none;
}
.smp_whole> ul > li a{
	display:block;
	width:100%;
	height:50px;
	line-height:50px;
	background:#eee;

	background: -webkit-linear-gradient(top, #F5F7F6, #E6E7EB);
	background:         linear-gradient(top, #F5F7F6, #E6E7EB);
	border-bottom:1px solid #aaa;
	color:#333;
	font-size:15px;
	text-indent:20px;
	position:relative;
}
.smp_whole> ul > li a:after {
    content: '';
    margin-top: -4px;
    top: 50%;
    right: 15px;
    width: 8px;
    height: 8px;
    color: #888;
    font-size: 1em;
    font-weight: bold;
    line-height: 1.2em;
    display: block;
    position: absolute;
    border-top: 2px solid #b0b0b0;
    border-right: 2px solid #b0b0b0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.smp_whole> ul > li a:link{color:#333;text-decoration:none;}
.smp_whole> ul > li a:visited{color:#333;text-decoration:none;}
.smp_whole> ul > li a:hover{color:#333;text-decoration:none;}
.smp_whole> ul > li a:active{color:#333;text-decoration:none;}

.smp_whole> ul > li a.trigger:after {/*下階層ある時のボタン。下向き矢印*/
    content: '';
    margin-top: -4px;
    top: 50%;
    right: 15px;
    width: 8px;
    height: 8px;
    color: #888;
    font-size: 1em;
    font-weight: bold;
    line-height: 1.2em;
    display: block;
    position: absolute;
    border-top: 2px solid #777;
    border-right: 2px solid #777;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
.smp_whole .trigger.active{/*下階層ボタンがアクティブの時の親ボタンの背景。*/
	background:#d9d9d9;
}
.smp_whole> ul > li a.trigger.active:after {/*下階層ボタンがアクティブの時の上向き矢印*/
    content: '';
    margin-top: -2px;
    top: 50%;
    right: 15px;
    width: 8px;
    height: 8px;
    color: #888;
    font-size: 1em;
    font-weight: bold;
    line-height: 1.2em;
    display: block;
    position: absolute;
    border-top: 2px solid #777;
    border-right: 2px solid #777;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.smp_whole ul.target.sub{
	display:none;
}
.smp_whole ul.target.sub li{
	list-style-type:none;
}

.smp_whole ul.target.sub li a{/*下階層展開時の背景*/
	background:#E3EDFF;
}


}/*↑スマホサイト*/

/*-----------------------------------------------
PCサイト
-----------------------------------------------*/

@media only screen and (min-width: 640px) {

.dd {
	height:48px;
	margin-bottom: 30px;
	zoom: 1;
	box-sizing: border-box;
background: #eee;
background: -webkit-linear-gradient(top, #ffffff, #F5F5F5);
background:         linear-gradient(top, #ffffff, #F5F5F5);
}
.dd a {
	color: #fff;
	text-decoration: none;
	display: block;
}
.dd a:hover {
	color: #fff;
	/*background: #7c7c7c;*/
}
.dd > ul{
	width:960px;
	margin:0 auto;
	box-sizing: border-box;
	font-size:14px;
	position:relative;
	z-index:9999;
}
.dd > ul:after{content: "";display: block;clear: both;}

.dd > ul > li {
	width: 160px;
	text-align: center;
	float: left;
	position: relative;
	background:#eee;
	border-left: 1px dotted #fff;
	box-sizing: border-box;
}
.dd > ul > li:last-child {
	border-right: 1px dotted #fff;
}

/*.dd > ul > li > a {
	border-left: 1px dotted #fff;
}*/
.dd li ul {
	width: 100%;
	text-align: left;
	position: absolute;
	top: 100%;
	background: #eee;
}

.dd li ul {display:none;}

.dd li ul a {
	display:block;
	border: 1px solid #ccc;
	border-top: 0;
	padding: 10px;
	box-sizing: border-box;
}
.dd .active {
	color: #fff;
	/*background: #555;*/
}
ul.dropmenu li a{
	display: block;
	width:160px;
	height:48px;
	text-indent:-9999em;
	background:url(../img/gnav.png) no-repeat;
}
		/*0*/
		ul.dropmenu li > a.gnav_home{
		background-position: 0 0;
		}
			ul.dropmenu li > a.gnav_home:hover{
				background-position: 0 -48px;
			}
		/*1*/
		ul.dropmenu li > a.gnav_price{
		background-position: -160px 0;
		}
			ul.dropmenu li > a.gnav_price:hover{
				background-position: -160px -48px;
			}
		/*2*/
		ul.dropmenu li > a.gnav_flow{
			background-position: -320px 0;
		}
			ul.dropmenu li > a.gnav_flow:hover{
				background-position: -320px -48px;
			}
		/*3*/
		ul.dropmenu li > a.gnav_sample{
			background-position: -480px 0;
		}
			ul.dropmenu li > a.gnav_sample:hover{
				background-position: -480px -48px;
			}
		/*4*/
		ul.dropmenu li > a.gnav_company{
			background-position: -640px 0;
		}
			ul.dropmenu li > a.gnav_company:hover{
				background-position: -640px -48px;
			}
		/*5*/
		ul.dropmenu li > a.gnav_contact{
			background-position: -800px 0;
		}
			ul.dropmenu li > a.gnav_contact:hover{
				background-position: -800px -48px;
			}

.dd ul li ul.target li{
	width:120px;
	height:50px;
}

.dd ul li ul.target li a{/*プルダウンの中は親を打ち消して別途スタイル*/
	display:table;
	width:120px;
	height:50px;
	text-indent:0;
	background-image:none;/*一瞬背景画像が表示されるのを防止*/
	background-color:#777;
	border-left: none;
	border-top: 0;
	border-right: none;
	border-bottom:1px dotted #ccc;
	padding: 0 14px;
	box-sizing: border-box;
	font-size:11px;
	color:#fff!important;
}
.dd ul li ul.target li a:link{color:#fff!important;}
.dd ul li ul.target li a:visited{color:#fff!important;}
.dd ul li ul.target li a:hover{color:#fff!important;background:#555;}
.dd ul li ul.target li a:active{color:#fff!important;}

.dd ul li ul.target li a span{/*2行になっても水平真ん中*/
	display:table-cell;
	vertical-align:middle;
	height:50px;
	padding:0 0 0 4px;
	line-height:1.3;
}


}/*↑PCサイト*/
