@charset "utf-8";
/*
 * CSS base.css
 */
 

/*
//color
black #191919
main #4d4397
brown #664c28
lightbrown #f0ede9
border #ccc
back #f1f1f1
*/




/* ---------------------------------------
base
--------------------------------------- */
body{ color: #392f2c; font-size: 15px; line-height: 1.8; text-align: left; font-family: 游ゴシック, "Yu Gothic", 游ゴシック体, YuGothic, Karla, "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN" ,"Meiryo UI", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; -webkit-text-size-adjust: 100%; letter-spacing: 0.001em; max-height: 999999px; overflow: hidden; border-top: 8px solid #4d4397;
}
body.none{border:none;}

@media screen and (max-width: 639px) {
	body { font-size: 14px; }
}











/* 
---------------------------------------
#header
--------------------------------------- */
#header{ width: 100%; text-align: center; position: relative; margin: 0; height: 140px; margin-bottom: 45px }
#header .logo { position: absolute; left: 0; right:35px; top: 55px; width: 356px; margin:0 auto; }
#header .cap { font-weight: bold; position: absolute; right:35px; top: 8px; font-size: 14px; }
#header .cap span{ font-weight: bold; }
#header #headlinks .link1{ display: none; }
#header #headlinks { position: absolute; right:35px; top:45px; }
#header #headlinks ul { text-align: right; }
#header #headlinks li{ line-height: 1.5; margin-bottom: 5px; }
#header #headlinks li.link2 img{ width: 22px; margin-right: 5px; vertical-align: text-top; }
#header #headlinks li.link2 a{ vertical-align: middle; font-weight: bold; font-size: 34px; line-height: 1.2; }
#header #headlinks li.link3{ text-align: right; float: right; margin-left: 5px; }
#header #headlinks li.link3 a{ display: inline-block; padding:9px 33px 9px 15px; line-height: 1; font-size: 1.13em; font-weight: bold; color:#fff; background:#5e56a1; text-decoration: none; -webkit-border-radius: 4px; border-radius: 4px; letter-spacing: 0.6px; border:1px solid #5e56a1; position: relative; -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; }
#header #headlinks li.link3 a:after{ content: ""; position:absolute; top:50%; right: 10px; margin-top: -10px; background: url(../img/common/arr1_white.png) no-repeat; background-size: 20px 20px; display: inline-block; width: 20px; height: 20px; vertical-align: text-top; margin-left: 5px }
#header #headlinks li.link3 a:hover{ opacity: 1; background: #fff; color:#5e56a1; }
#header #headlinks li.link3 a:hover:after{ background: url(../img/common/arr1_purple.png) no-repeat; background-size: 20px 20px; }
@media screen and (max-width: 1200px) {
	#header{ margin-bottom: 20px }
	#header .logo { left: 4%; right:auto; top: 50px; margin:0; }
}
@media screen and (max-width: 1040px) {
	#header{ height: 130px; margin-bottom: 0; }
	#header .logo { width: 300px; top: 45px; }
	#header #headlinks { right:90px; top:60px; }
	#header #headlinks li.link2 a{ font-size: 28px;}
	#header #headlinks li.link2 img{ width: 18px; }
	#header #headlinks li.link3 a { display: none; }
	#header .cap { position: static; padding: 10px 4% 8px; width: 92%; font-size: 15px; line-height: 1.6; }
}
@media screen and (max-width: 767px) {
	#header { height: auto; text-align: left: }
	#header #headlinks { display: none; }
	#header .logo { position: static; margin: 20px auto 15px; }
	#header .cap { background: #edecf5; color: #4d4397; }
}
@media screen and (max-width: 639px) {
	#header .logo { position: static; width: 235px; margin: 20px 4% 15px; }
	#header .cap { position: static; width: 92%; font-size: 15px; background: #edecf5; padding: 10px 4% 8px; color: #4d4397; }
	#header .cap span { font-size: 11px; display: block; }
}
@media screen and (max-width: 400px) {
	#header .logo { width: 230px; left: 4%; right: auto; }
}











/* 
---------------------------------------
#gnav
--------------------------------------- */
#gnav:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0em; overflow:hidden; line-height:0; font-size: 0.1em; }
#gnav { z-index: 10001; text-align: center; }
#gnav ul { text-align: center; vertical-align: middle; margin-bottom: 0px; width: 1020px; }
#gnav li { float: left; position: relative;text-align: center; line-height: 1;font-weight: bold; text-decoration: none; font-size: 16px; }
#gnav #mainlist { display: inline-block;}
#gnav #mainlist>li.current>p:hover, #gnav #mainlist li a:hover, #gnav #mainlist>li.current>a:hover, #gnav #mainlist>li.current>a { color: #4d4397; opacity: 1; }
#gnav li span {  padding: 7px 2px 18px 5px; font-weight: bold; position: relative; min-width: 120px; display: inline-block;}
#gnav #mainlist>li.current>p:hover span:after, #gnav #mainlist li a:hover span:after, #gnav #mainlist>li.current>a:hover span:after, #gnav #mainlist>li.current>a span:after{ content: " "; background: #4d4397; width: 100%; height:3px; display: inline-block; position: absolute; bottom:0; left:0; right:0; margin:0 auto; }
#gnav li span:before{ content: " "; border-left: 1px dashed #b7b7b7; left:0; top:0; width: 1px; height:28px; display: inline-block; position: absolute; }
#gnav li.pclast a:after { content: " "; border-right: 1px dashed #b7b7b7; right:0; top:0; width: 1px; height:28px; display: inline-block; position: absolute; }
#gnav li.nopc { display: none; }
@media screen and (max-width: 1040px) {
	#gnav { height: auto; padding: 0; position: fixed; top: 0; right: 0; width: auto; z-index: 2000; overflow-y: auto; display: block; width: 100%; max-width: none; background: rgba(77,67,151,1); }	
	#gnav .wrap { padding-bottom: 100px; margin: 0!important; }
	#gnav ul {padding: 60px 4%; margin: 0; width: 92%; }
	#gnav li { height: auto; display: block; width: 100%; text-align: center; float: none; padding: 0!important; border-top: 1px solid #fff; position: relative; border-left:none; margin: 0;color: #fff;font-size: 15px; }
	#gnav li:first-child {border-top: none; }
	#gnav li a {text-decoration: none;}
	#gnav li a:hover, #gnav li.current a { color: #fff!important; background: rgba(255,255,255,0.1); opacity: 1!important; text-decoration: none; }
	#gnav #mainlist li.current a span:after, #gnav #mainlist li a:hover span:after{ display: none!important; }
	#gnav li.pclast a:after { display: none!important; }
	#gnav li span {
    display: block;
    padding: 15px 0;
	}
	#gnav li span:before{ display: none; }
	#gnav li.nopc { display: block; }
}
@media screen and (max-width: 639px) {
	#gnav .wrap { padding-bottom: 100px; }
	#gnav ul ul li a { padding: 12px 0!important; }
	#gnav li {font-size: 13px;}
}



/* 
---------------------------------------
ドロップダウンメニュー
--------------------------------------- */
/*下の階層を持っているulの指定*/
nav li.has-child ul{
    /*絶対配置で位置を指定*/
  position: absolute;
  left:0;
  top:41px;
  z-index: 999;
    /*形状を指定*/
  background:#4d4396;
  width:180px !important;
    /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
    /*アニメーション設定*/
  transition: all .3s;
}

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

/*ナビゲーションaタグの形状*/
nav li.has-child ul li {
	float: none !important;
	border: none !important;
}
nav li.has-child ul li a{
  border-bottom:solid 1px rgba(255,255,255,0.6);
	padding: 15px 0 !important;
	display: block;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
}

nav li.has-child ul li:last-child a{
  border-bottom:none;
}
nav li.has-child ul li a:hover,
nav li.has-child ul li a:active{
  background:#7069ac;
	color: #fff !important;
}

@media screen and (max-width:1040px){
  nav li.has-child ul{
    position: relative;
  left:0;
  top:0;
  width:100% !important;
  visibility:visible;/*JSで制御するため一旦表示*/
  opacity:1;/*JSで制御するため一旦表示*/
  display: none;/*JSのslidetoggleで表示させるため非表示に*/
  transition:none;/*JSで制御するためCSSのアニメーションを切る*/
	  padding: 0 !important;
}
	nav li.has-child ul li a {
		border-bottom: none !important;
	}
	/*2階層目を持つliの矢印の設定*/
nav ul li.has-child::before{
  content:'';
  position: absolute;
  top:16px;
  width:6px;
  height:6px;
  border-top: 2px solid #999;
    border-right:2px solid #999;
    transform: rotate(135deg);
	right:20px;  
}
    
nav ul li.has-child.active::before{
    transform: rotate(-45deg);
}

}








/* 
---------------------------------------
btn
--------------------------------------- */
#menubtn { display: none; z-index: 2001; padding: 20px 13px; background: #4d4397; cursor: pointer; }
@media screen and (max-width: 1040px) {
	#menubtn { position: fixed; top: 50px; right: 20px;}
	#menubtn a { position: relative;display: block; width: 30px; height: 12px; opacity: 1; }
	#menubtn.active { top: 30px; background: none; }
	/* fast */
	#menubtn .line {
		width: 30px; height: 2px; background: #fff; position: absolute; left: 0;
		-webkit-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		-moz-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	}
	#menubtn #line1 { top: 0; }
	#menubtn #line3 { top: 100%; margin-top: -2px; }
	#menubtn.active .line{ background: #fff; }
	#menubtn.active #line1 { 
		-webkit-transform:translateY(6px) translateX(0) rotate(224deg);
		-moz-transform:translateY(6px) translateX(0) rotate(224deg);
		transform:translateY(6px) translateX(0) rotate(224deg);
	}
	#menubtn.active #line3 {
		margin-top: 0;
		-webkit-transform:translateY(-6px) translateX(0) rotate(-224deg); 
		-moz-transform:translateY(-6px) translateX(0) rotate(-224deg);
		transform:translateY(-6px) translateX(0) rotate(-224deg);
	}
}
@media screen and (max-width: 767px) {
	#menubtn { top: 30px; }
	#menubtn.active { top: 15px; }
}
@media screen and (max-width: 639px) {
	#menubtn { right: 4%; top: 27px; margin-left: 0px; padding: 16px 10px; }
	#menubtn a{ width:26px; height:12px; }
	#menubtn .line{ width:26px; }
	#menubtn.active #line1 { 
		-webkit-transform:translateY(6px) translateX(0) rotate(224deg);
		-moz-transform:translateY(6px) translateX(0) rotate(224deg);
		transform:translateY(6px) translateX(0) rotate(224deg);
	}
	#menubtn.active #line3 { 
		-webkit-transform:translateY(-6px) translateX(0) rotate(-224deg); 
		-moz-transform:translateY(-6px) translateX(0) rotate(-224deg);
		transform:translateY(-6px) translateX(0) rotate(-224deg);
	}
}
/*
#menubtn { display: none; z-index: 2001; padding: 27px 20px; }
@media screen and (max-width: 1040px) {
	#menubtn { position: fixed; top: 50px; right: 20px;}
	#menubtn a { position: relative; display: block; width: 30px; height: 12px; }
	#menubtn .line {
		width: 30px; height: 2px; background: #1d2a54; position: absolute; left: 0;
		-webkit-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		-moz-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	}
	#menubtn #line1 { top: 0; }
	#menubtn #line3 { top: 100%; }
	#menubtn.active .line{ background: #fff; }
	#menubtn.active #line1 { 
		-webkit-transform:translateY(6px) translateX(0) rotate(224deg);
		-moz-transform:translateY(6px) translateX(0) rotate(224deg);
		transform:translateY(6px) translateX(0) rotate(224deg);
	}
	#menubtn.active #line3 { 
		-webkit-transform:translateY(-6px) translateX(0) rotate(-224deg); 
		-moz-transform:translateY(-6px) translateX(0) rotate(-224deg);
		transform:translateY(-6px) translateX(0) rotate(-224deg);
	}
}
@media screen and (max-width: 767px) {
	#menubtn { top: 30px; }
}
@media screen and (max-width: 639px) {
	#menubtn { right: 10px; top: 27px; margin-left: 0px; padding: 16px 8px; }
	#menubtn.active { top: 15px;}
	#menubtn a{ width:30px; height:12px; }
	#menubtn .line{ width:30px; }
	#menubtn.active #line1 { 
		-webkit-transform:translateY(6px) translateX(0) rotate(224deg);
		-moz-transform:translateY(6px) translateX(0) rotate(224deg);
		transform:translateY(6px) translateX(0) rotate(224deg);
	}
	#menubtn.active #line3 { 
		-webkit-transform:translateY(-6px) translateX(0) rotate(-224deg); 
		-moz-transform:translateY(-6px) translateX(0) rotate(-224deg);
		transform:translateY(-6px) translateX(0) rotate(-224deg);
	}
}
*/











/* ---------------------------------------
#mainv
--------------------------------------- */
#mainv { width: 100%; text-align: center; background:url(../img/common/bg1.jpg) repeat; background-size: 750px 550px; }
#mainv .pagetitle { padding: 70px 0; font-size: 28px; font-weight: bold; line-height: 1.4; color: #4c4390; }
#mainv .pagetitle span {display: block;
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 5px;	
}
@media screen and (max-width: 767px) {
	#mainv .pagetitle { padding: 40px 0; font-size: 24px;}
	#mainv .pagetitle span {
    font-size: 14px;
    margin-bottom: 2px;	
}
}
@media screen and (max-width: 479px) {
	#mainv .pagetitle { padding: 30px 0; font-size: 20px;}#mainv .pagetitle span {
    font-size: 12px;
    margin-bottom: 0;	
}
}

/* #mainv_index */
#mainv_index { height: auto; position: relative; width: 100%; }
#mainv_index .imglist1>li{ float: left; width: 50% }
#mainv_index .txtbox1{ height:100%; width: 100% }
#mainv_index .txtbox1 img{ width: 276px; position: absolute; top:0; bottom:0; left:0; right:0; margin:auto; height:410px; }
@media screen and (max-width: 1200px) {
	#mainv_index .txtbox1 img{ width: 242px; height:359px; }
}
@media screen and (max-width: 1040px) {
	#mainv_index .txtbox1 img{ width: 40%; min-width: 380px; height:auto; }
}
@media screen and (max-width: 639px) {
	#mainv_index .txtbox1{ text-align: center; }
	#mainv_index .txtbox1 img{ width: 40%; min-width: 380px; position: static; margin: -40px auto 20px; }
}
@media screen and (max-width: 479px) {
	#mainv_index .imglist1>li{ height: 275px; overflow: hidden; }
	#mainv_index .imglist1>li img { position: relative; height: 275px; width: 350px; margin-left: -175px; top: 0; left: 50%; max-width: none; z-index: -1; }
	#mainv_index .txtbox1 img{ width: 92%; min-width: 0; max-width: 330px; margin: -30px auto 15px; }
}












/* ---------------------------------------
#content
--------------------------------------- */
#content { width: 100%; padding-top: 40px; }
#cnt_main { float: left; /* margin-bottom: 120px;  */min-height: 500px; }
@media screen and (max-width: 1040px) {
	#cnt_main { float: none; width: 100%; margin-bottom: 60px; }
	#content{ padding-top: 30px; }
}
@media screen and (max-width: 639px) {
	#cnt_main { margin-bottom: 40px; min-height: 0; }
	#content{ padding-top: 20px; }
}











/* ---------------------------------------
#cnt_side
--------------------------------------- */
#cnt_side { float: right; width: 280px; }
#cnt_side .cstitle1{  border-bottom: 1px solid #4d4397; padding-bottom: 5px; margin-bottom: 15px; padding-bottom: 7px; line-height: 1 }
#cnt_side .cstitle1 span{ border-left: 4px solid #4d4397; font-weight: bold; font-size: 1.13em; letter-spacing: 3px; padding-left: 10px; line-height: 1 }
@media screen and (max-width: 1040px) {
	#cnt_side { float: none; width: 100%; }
	#cnt_side .cstitle1 span{ font-size: 20px; letter-spacing: 1px; }
}

/* #detail */
#cnt_side #detail{ padding: 15px; background: #f3f3f3; border-top: 5px solid #4d4397; margin-bottom: 20px; }
#cnt_side #detail .logo{ max-width: 244px; width: 100%; margin-bottom: 20px }
#cnt_side #detail .schedule{ margin-bottom: 25px; }
#cnt_side #detail .schedule .sche{ margin-bottom: 10px }
#cnt_side #detail .access .txt1{ color: #4d4397; font-weight: bold; margin-bottom: 5px; line-height: 1.6 }
#cnt_side #detail .access .txt1 span{ font-weight: bold; }
#cnt_side #detail .access .txt2{ margin-bottom: 5px; line-height: 1.6 }
#cnt_side #detail .access .tel1{ margin-left: 5px; margin-bottom: 10px }
#cnt_side #detail .access .tel1 img{ width: 20px; margin-right: 5px; vertical-align: text-top; }
#cnt_side #detail .access .tel1 a{ vertical-align: middle; font-weight: bold; font-size: 26px }
#cnt_side #detail #csmap{ height: 242px; margin-bottom: 10px; }
#cnt_side #detail .link1{ text-align: right; margin-top: 5px }
@media screen and (max-width: 1040px) {
	#cnt_side #detail .logo{ display: none; }
}

/* #bnrlist1 */
#cnt_side #bnrlist1{ overflow: hidden; }
#cnt_side #bnrlist1>ul{ margin-bottom: -20px }
#cnt_side #bnrlist1>ul>li{ margin-bottom: 20px }
@media screen and (max-width: 1040px) {
	#cnt_side #bnrlist1>ul{ text-align: center; margin-bottom: -10px; }
	#cnt_side #bnrlist1>ul>li{ max-width: 280px; display: inline-block; margin: 0 5px 10px; vertical-align: top; }
}

/* #s_menu */
#index #cnt_side #s_menu{ display: none }
#cnt_side #s_menu{ background: #7069ac; padding:20px 15px; -webkit-border-radius: 6px; border-radius: 6px; margin-bottom: 20px; font-size: 14px; }
#cnt_side #s_menu li:after, #cnt_side #s_menu li:after a { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0; overflow:hidden; line-height:0; }
#cnt_side #s_menu li { border-bottom: 1px dotted #fff; margin-bottom: 15px; padding-bottom: 15px; display: block; }
#cnt_side #s_menu li a { display: block; position: relative; padding-right: 10px; height: 100%; }
#cnt_side #s_menu li a:hover  { opacity: 1; }
#cnt_side #s_menu li a:hover .txt1 span { text-decoration: underline; }
#cnt_side #s_menu li a:after{ content: ""; position:absolute; top:50%; right: 0px; margin-top: -6px; background: url(../img/common/arw2_white.png) no-repeat; background-size: 6px 12px; display: inline-block; width: 6px; height: 12px; vertical-align: text-top; }
#cnt_side #s_menu .img1{ width: 70px; float: left; }
#cnt_side #s_menu .txt1 { line-height: 1.6; padding: 0 0px 0 80px; height:70px; }
#cnt_side #s_menu .txt1 span { color: #fff; font-weight: bold; }
#cnt_side #s_menu .txt1>.inwrap{ display: table; height:100%; }
#cnt_side #s_menu .txt1>.inwrap>.inwrap{ display: table-cell; vertical-align: middle; height: 100% }
@media screen and (max-width: 1040px) {
	#cnt_side #s_menu{ padding:20px 4%; }
	#cnt_side #s_menu ul { margin-left: -4%; }
	#cnt_side #s_menu li { width: 46%; margin-left: 4%; float: left; height: 70px; }
	#cnt_side #s_menu .txt1 { height: 100%; vertical-align: middle; }
	#cnt_side #s_menu li.list3 { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
}
@media screen and (max-width: 639px) {
	#cnt_side #s_menu ul { margin-left: 0; }
	#cnt_side #s_menu li { width: 100%; margin-left: 0; float: none; }
	#cnt_side #s_menu li.list3 { border-bottom: 1px dotted #fff; margin-bottom: 15px; padding-bottom: 15px; }
}






/* ---------------------------------------
#pagetop
--------------------------------------- */
#pagetop { position: fixed; width: 80px; height: 80px; right:30px; bottom:30px; z-index: 1001; }
#pagetop_sp {display: none !important;}
@media screen and (max-width: 1040px) {
	#pagetop { display: none !important; }
	#pagetop_sp {
		display: block !important;
		right: 4%;
    bottom: 70px;
    position:fixed;
    width: 46px;
	}
}











/* ---------------------------------------
#footer
--------------------------------------- */
#footer{ background:url(../img/common/bg1.jpg) repeat; background-size: 750px 550px; padding:40px 0 15px; margin-top: 90px; }
#footer .incnt{ width: 920px; }
#footer .mainbox{ margin-bottom: 30px; }
#footer .mainbox .logo{ width: 356px; float: left; }
#footer .mainbox .box1{ margin-left: 390px; }
#footer .mainbox .box1 .list1>ul>li{ display: inline-block; line-height: 1.5; vertical-align: middle; }
#footer .mainbox .box1 .list1>ul>li.list1_1{ margin-right: 20px; padding-top: 5px }
#footer .mainbox .box1 .list1>ul>li.list1_1 img{ width: 20px; margin-right: 5px; vertical-align: text-top; }
#footer .mainbox .box1 .list1>ul>li.list1_1 a{ vertical-align: middle; font-weight: bold; font-size: 30px; }
#footer .mainbox .box1 .list1>ul>li.list1_2{ vertical-align: middle; font-weight: bold; font-size: 1.08em; }
#footer .mainbox .box1 .list1>ul>li.list1_2 img{ width: 24px; margin-right: 5px; }
#footer .mainbox .box1 .list1>ul>li.list1_2 span{ padding-top: 10px; display: inline-block; font-weight: bold; }
#cr{ background: #5e56a1; color:#fff; padding:10px; font-size: 0.93em; text-align: center; }
@media screen and (max-width: 1040px) {
	#footer{ margin-top: 30px; }
	#footer .mainbox .logo{ width: 300px; max-width: 100%; }
	#footer .mainbox .box1{ margin-left: 340px; }
}
@media screen and (max-width: 767px) {
	#footer{ padding:30px 0 15px; }
	#footer .mainbox { margin-bottom: 0; }
	#footer .mainbox .logo{ width: 300px; float: none; margin: 0 auto 10px; }
	#footer .mainbox .box1{ margin-left: 0; text-align: center; }
	#cr{ background: none; color: #5e56a1; padding:10px; line-height: 1.4; border-top: 1px solid #ddd; margin-bottom: 50px; }
}
@media screen and (max-width: 639px) {
	#footer .mainbox .box1 .list1>ul>li.list1_1 { display: none; }
}


/* #fnav */
#fnav { z-index: 10001; text-align: center; }
#fnav ul { text-align: center; display: inline-block; vertical-align: middle; margin-bottom: 0px; }
#fnav li { float: left; position: relative; }
#fnav li span { padding: 10px 20px 5px; font-weight: bold; position: relative; display: inline-block; border-left: 1px dashed #b7b7b7; text-align: center; line-height: 1; text-decoration: none; font-size: 14px;  }
#fnav li.last span { border-right: 1px dashed #b7b7b7 }
@media screen and (max-width: 1040px) {
	#fnav li span { padding: 10px 11px 5px; }
}
@media screen and (max-width: 767px) {
	#fnav { display: none; }
}

/* 
---------------------------------------
ドロップダウンメニュー
--------------------------------------- */
/*下の階層を持っているulの指定*/
#fnav li.has-child_f ul{
    /*絶対配置で位置を指定*/
  position: absolute;
  left:-25px;
  bottom:38px;
  z-index: 999;
    /*形状を指定*/
  background:#4d4396;
  width:180px !important;
    /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
    /*アニメーション設定*/
  transition: all .3s;
}

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

/*ナビゲーションaタグの形状*/
#fnav li.has-child_f ul li {
	float: none !important;
	border: none !important;
}
#fnav li.has-child_f ul li a{
  border-bottom:solid 1px rgba(255,255,255,0.6);
	padding: 15px 0 !important;
	display: block;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	line-height: 1;
	font-size: 14px;
}

#fnav li.has-child_f ul li:last-child a{
  border-bottom:none;
}
#fnav li.has-child_f ul li a:hover,
#fnav li.has-child_f ul li a:active{
  background:#7069ac;
	color: #fff !important;
}
	

/* #fbox */
#fbox a {
	position:fixed;
	width: 80px;
	height: 120px;
	line-height: 120px;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	color: #fff;
    text-decoration: none;
	text-align: center;
	font-size: 140%;
	font-weight: bold;
}
#fbox a:before {
    content: '';
    background-image: url(../img/common/arr1_white_2.png);
    background-size: contain;
    position: absolute;
    width: 20px;
    height: 20px;
    line-height: 0;
    font-size: 0;
    top: 85px;
    left: 30px;
    margin-top: -10px;
}
#fbox .btn1 {
  bottom:170px;
  right:0px;
	background: #0095DE;
}
#fbox .btn2 {
  bottom:170px;
  right:0px;
	background: #d8d6e8;
}
#fbox_sp { display: none; }
@media screen and (max-width: 1040px) {
	#fbox {display: none;}
	#fbox_sp { display: table; width: 100%; position: fixed; left: 0; bottom: -1px; }
	#fbox_sp a { display: table-cell; color: #fff; font-weight: bold; text-align: center; height: 50px; background: #0095DE; vertical-align: middle; text-decoration: none; line-height: 1; width: 50%; }
	#fbox_sp a:hover{ opacity: 1; background: #4BB2E4 }
	#fbox_sp a.btn2 { background: #d8d6e8; width: 50%; }
	#fbox_sp a.btn2 img { width: 18px; }
	#fbox_sp a.btn3 { background: #7069ac; width: 50px; }
	#fbox_sp a.btn3:hover{ background: #847ccc }
	#fbox_sp a.btn3 img { width: 18px; margin-top: -2px; }
}




