@charset "UTF-8";

/* 背景------------------------------------------------------*/
.gray{ background-color:#E6E6E6;}
.blk{ background-color:#000; color:#FFFFFF;}

/* オーバーレイ------------------------------------------------------*/
#overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-color: #000;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
/* ページトップへ　画像サイズ------------------------------------------------------*/

#pageTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
	width:100px;
}
#pageTop img{
    width: 100%;
	height: auto;
}
/*コンテンツ------------------------------------------*/	
#content{
	clear:both;
}
/*グローバルメニュー------------------------------------------*/	
#menu{
	display:block;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
}
#menu li{
  display: block;
  float: left;
  margin:0;
  padding: 0; }
#menu li a{
  display: block;
  padding: 0px;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
#menu .over a:hover{
  background: #222c47;
  transition: 0.6s ;
  opacity: 0.5 ;
}

#nav-toggle{ 
 display: none;
}

#menu li a p{
  display: none;
}

.menu_navi .over a:hover{
  background: #222c47;
  transition: 0.6s ;
  opacity: 0.5 ;
}

.menu_sec .over a:hover{
  background: #222c47;
  transition: 0.6s ;
  opacity: 0.5 ;
}



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

#menu{
  max-width: 100%;
}

    #menu li{
    width: 25%;
    border-bottom: 1px solid #2a3e72;
	margin:0;
  }
  
#menu li a p{
  display: block;
}

#menu li img{
  display:none;
}
#menu li a{
  display: block;
  padding: 12px 0 10px;
  background: #102441;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

#menu .self a{
  background: #a17d39!important;
  color: #fff;
}
}



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

#menu{
    display: none;
}
#menu li{
    width: 50%;
	float:left;
	margin:0;
}
#menu .full{
    width: 100%;
	float:left;
	margin:0;
}
  
#menu li a p{
  display: block;
}

#menu li img{
  display:none;
}
#menu li a{
  display: block;
  padding: 12px 0 10px;
  background: #102441;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

.menu_navi{ display:none;}
.menu_sec{ display:none;}
#menu-sub{
	margin:0 0 30px 0;
}
#menu-sub li{
    width: 50%;
	float:left;
	margin:0;
}
#menu-sub .full{
    width: 100%;
	float:left;
	margin:0;
}
  
#menu-sub li a p{
  display: block;
}

#menu-sub li img{
  display:none;
}
#menu-sub li a{
  display: block;
  padding: 12px 0 10px;
  background: #acacac;
  color: #333;
  text-align: center;
  text-decoration: none;
  border-right:#FFFFFF 1px solid;
  border-bottom:#FFFFFF 1px solid;
}

#menu-sub .self a{
  background: #bb9856;
  color: #fff;
}


/*グローバルメニュー------------------------------------------*/

@media only screen and (max-width: 640px) {
#sm-tel {
	display:block;
	position: absolute;
	right: 60px;
	top: 7px;
	width: 40px;
	height: 40px;
	cursor: pointer;
	z-index: 101;
}
#sm-tel img{
	height: 43px;
}
}
/*トグルボタン------------------------------------------*/	
#nav-toggle {
	position: absolute;
	right: 12px;
	top: 14px;
	width: 34px;
	height: 36px;
	cursor: pointer;
	z-index: 101;
}

#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: #000;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle .top {
	background: #fff !important;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 11px;
}
#nav-toggle span:nth-child(3) {
	top: 22px;
}


#nav-toggle {
		display: block;
}
.open #nav-toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
}
.open #nav-toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
}
/*トグルボタン------------------------------------------*/	
}
/*グローバルメニューfoot------------------------------------------*/	
#menu_foot{
	display:block;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 0 20px 0;
}
#menu_foot li{
  display: block;
  float: left;
  margin:0px 0 0 0;
  
   }

 @media only screen and (min-width: 1024px) {
#menu_foot li a{
  display: block;
  padding: 0 5px 0 5px;
  text-align: center;
  text-decoration: none;
  border-right:1px solid #333;
  line-height:100%;
}

#menu_foot .top{
	margin-left:185px;
  padding: 0 0 0 0;
  border-left:1px solid #333;
}
#menu_foot .sec{
	margin-left:330px;
  padding: 0 0 0 0;
  border-left:1px solid #333;
}
#menu_foot .two{
	clear:both;
	padding-top:10px;
}
 }
@media only screen and (max-width: 1024px) {
 #menu_foot li a:hover{
  background: #222c47;
  transition: 0.6s ;
  opacity: 0.5 ;
}
#menu_foot{
  max-width: 100%;
}

    #menu_foot li{
    width: 25%;
    border-bottom: 1px solid #2a3e72;
	margin:0;
  }
  
#menu_foot li a p{
  display: block;
}

#menu_foot li img{
  display:none;
}
#menu_foot li a{
  display: block;
  padding: 12px 0 10px;
  background: #102441;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
}
@media only screen and (max-width: 640px) {
#menu_foot li{
    width: 50%;
	float:left;
	margin:0;
}
#menu_foot .full{
    width: 100%;
	float:left;
	margin:0;
}
  
#menu_foot li a p{
  display: block;
}

#menu_foot li a{
  display: block;
  padding: 12px 0 10px;
  background: #102441;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
}















/*ボタン１------------------------------------------*/	

.button {
	display: inline-block;
	width: 280px;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	border-radius: 10px;  
    -webkit-border-radius: 10px;  
    -moz-border-radius: 10px;
	font-size:18px;
}
.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button {
	position: relative;
	z-index: 2;
	border: 2px solid #fff;
	color: #333;
	line-height: 50px;
	overflow: hidden;
}
.button:hover {
	color: #fff;
	border: 2px solid #666;
}
.button::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.button:hover::after {
	-webkit-transform: scale(2) rotate(180deg);
	transform: scale(2) rotate(180deg);
	background: #000;
	opacity:0.7;
	
}
/*ボタン２------------------------------------------*/	

.button2 {
	display: inline-block;
	width: 280px;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	border-radius: 10px;  
    -webkit-border-radius: 10px;  
    -moz-border-radius: 10px;
	font-size:18px;
	color:#000000 !important;
	margin-bottom:30px !important;
}
.button2::before,
.button2::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button2,
.button2::before,
.button2::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button2 {
	position: relative;
	z-index: 2;
	border: 2px solid #000;
	color: #333;
	line-height: 50px;
	overflow: hidden;
}
.button2:hover {
	color: #fff !important;
	border: 2px solid #666;
}
.button2::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.button2:hover::after {
	-webkit-transform: scale(2) rotate(180deg);
	transform: scale(2) rotate(180deg);
	background: #000;
	opacity:0.7;
	
}
/*ボタン３------------------------------------------*/	

.button3 {
	display: inline-block;
	width: 200px;
	max-width:100%;
	height: 40px;
	text-align: center;
	text-decoration: none;
	line-height: 40px;
	outline: none;
	border-radius: 10px;  
    -webkit-border-radius: 10px;  
    -moz-border-radius: 10px;
	font-size:16px;
}
.button3::before,
.button3::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button3,
.button3::before,
.button3::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button3 {
	position: relative;
	z-index: 2;
	border: 2px solid #788cbe;
	color: #788cbe;
	line-height: 36px;
	overflow: hidden;
}
.button3:hover {
	color: #fff;
	border: 2px solid #788cbe;
}
.button3::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.button3:hover::after {
	-webkit-transform: scale(2) rotate(180deg);
	transform: scale(2) rotate(180deg);
	background: #788cbe;
	opacity:0.4;
	
}



/*アニメーション透過------------------------------------------*/	
.over{
			position: relative;
			overflow: hidden;
		}
.layer {
			position: absolute;
			top: 0;
			left: 0;
			z-index: 20;
			width: 100%;
			height: 100%;
			background: rgba(0,0,0,.2);
			-webkit-transition: .3s;
			transition: .3s;
		}
.over:hover .layer {
			opacity: 0;
		}

.layer2 {
			position: absolute;
			top: 0;
			left: 0;
			z-index: 20;
			width: 100%;
			height: 100%;
			background: rgba(255,255,255,.3);
			-webkit-transition: .3s;
			transition: .3s;
			opacity: 1;
		}

.over2{
			position: relative;
			overflow: hidden;
			background-color:#808080;
		}


/*共通フッター------------------------------------------*/

@media only screen and (max-width:960px) {
.footer-inner .wrap {
	width:100% !important;
}
}

@media only screen and (max-width:640px) {
.footer-inner .wrap {
	width:100% !important;
}

.footer-inner .wrap li{
	padding:10px 0 10px 0 !important;
	border-bottom:#ccc 1px solid !important;
	display:block !important;
	background:none !important;
	width:100% !important;
}
.footer-inner .wrap li.first{
	border-top:#ccc 1px solid !important;
}
}



.left {
	float: left;
}
.right {
	float: right;
}
.txt_R {
	text-align:right;
}

.txt_L {
	text-align:left;
}

.txt_C {
	text-align:center;
}
.mb5 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb25 {
	margin-bottom: 25px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb35 {
	margin-bottom: 35px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb45 {
	margin-bottom: 45px;
}
.mb50 {
	margin-bottom: 50px;
}
.mb55 {
	margin-bottom: 55px;
}
.mb60 {
	margin-bottom: 60px;
}
.mb65 {
	margin-bottom: 65px;
}
.mb70 {
	margin-bottom: 70px;
}
.mt10{
	margin-top:10px;
}
.mt20{
	margin-top:20px;
}
.mt30{
	margin-top:30px;
}
.mt40{
	margin-top:40px;
}
.mt50{
	margin-top:50px;
}
.mt60{
	margin-top:60px;
}
.mt70{
	margin-top:70px;
}
.mt80{
	margin-top:80px;
}
.mt90{
	margin-top:90px;
}
.mt100{
	margin-top:100px;
}


.mr10{
	margin-right:10px;
}
.mr20{
	margin-right:20px;
}
.mr30{
	margin-right:30px;
}
.mr40{
	margin-right:40px;
}
.mr50{
	margin-right:50px;
}
.mr60{
	margin-right:60px;
}
.mr70{
	margin-right:70px;
}
.mr80{
	margin-right:80px;
}
.mr90{
	margin-right:90px;
}
.mr100{
	margin-right:100px;
}


.ml10{
	margin-left:10px;
}
.ml20{
	margin-left:20px;
}
.ml30{
	margin-left:30px;
}
.ml40{
	margin-left:40px;
}
.ml50{
	margin-left:50px;
}
.ml60{
	margin-left:60px;
}
.ml70{
	margin-left:70px;
}
.ml80{
	margin-left:80px;
}
.ml90{
	margin-left:90px;
}
.ml100{
	margin-left:100px;
}
.ma10{
	margin:10px;
}
.ma20{
	margin:20px;
}
.ma30{
	margin:30px;
}
.ma40{
	margin:40px;
}

.pb5 {
	padding-bottom: 5px;
}
.pb10 {
	padding-bottom: 10px;
}
.pb15 {
	padding-bottom: 15px;
}
.pb20 {
	padding-bottom: 20px;
}
.pb25 {
	padding-bottom: 25px;
}
.pb30 {
	padding-bottom: 30px;
}
.pb35 {
	padding-bottom: 35px;
}
.pb40 {
	padding-bottom: 40px;
}
.pb45 {
	padding-bottom: 45px;
}
.pb50 {
	padding-bottom: 50px;
}


.pt10{
	padding-top:10px;
}
.pt20{
	padding-top:20px;
}
.pt30{
	padding-top:30px;
}
.pt40{
	padding-top:40px;
}
.pt50{
	padding-top:50px;
}
.pt60{
	padding-top:60px;
}
.pt70{
	padding-top:70px;
}
.pt80{
	padding-top:80px;
}
.pt90{
	padding-top:90px;
}
.pt100{
	padding-top:100px;
}


.pr10{
	padding-right:10px;
}
.pr15{
	padding-right:15px;
}
.pr20{
	padding-right:20px;
}
.pr30{
	padding-right:30px;
}
.pr40{
	padding-right:40px;
}
.pr50{
	padding-right:50px;
}
.pr60{
	padding-right:60px;
}
.pr70{
	padding-right:70px;
}
.pr80{
	padding-right:80px;
}
.pr90{
	padding-right:90px;
}
.pr100{
	padding-right:100px;
}


.pl10{
	padding-left:10px;
}
.pl20{
	padding-left:20px;
}
.pl30{
	padding-left:30px;
}
.pl40{
	padding-left:40px;
}
.pl50{
	padding-left:50px;
}
.pl60{
	padding-left:60px;
}
.pl70{
	padding-left:70px;
}
.pl80{
	padding-left:80px;
}
.pl90{
	padding-left:90px;
}
.pl100{
	padding-left:100px;
}

.p5 {
	padding: 5px;
}
.p10 {
	padding: 10px;
}
.p15 {
	padding: 15px;
}
.p20 {
	padding: 20px;
}
.p25 {
	padding: 25px;
}
.p30 {
	padding: 30px;
}
.p35 {
	padding: 35px;
}
.p40 {
	padding: 40px;
}
.p45 {
	padding: 45px;
}
.p50 {
	padding: 50px;
}

.pt-20 {
	padding-top: -20px;
}
/*レスポンシブテーブル*/
table {
  border-collapse: collapse;
  width: 80%;
  font-size:16px;
  margin:0 auto;
}
table th,
table td {
  padding: 15px;
  border-bottom: 1px solid #999;
  text-align: left;

}
table th {
  text-align: left;
  width: 15%;
}

@media screen and (max-width: 640px) {
  table {
    border-top:1px solid #999;
	 font-size:14px;
	 width: 100%;
  }
  table td {
    display: block;
    text-align: left;
  }
  table th {
    display: block;
    border-top: none;
    border-bottom: none;
    width: 100%;
	padding: 15px 15px 0 15px;
  }
}

/*カレンダー*/
@media (max-width: 640px) {
.embed-container {
    position: relative;
    padding-bottom: 10%;
    height: 400px;
    overflow: hidden;
    max-width: 100%;
	overflow:scroll;
  -webkit-overflow-scrolling:touch;
    }
}
 
@media (min-width: 992px) {
.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 420px;
    overflow: hidden;
    max-width: 100%;
    }
}