@charset "utf-8";
@import url(https://fonts.googleapis.com/css?family=Lato:400,700);
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
/*-----------------------------------
 *	[ style CSS ] 
 *----------------------------------*/
img{ max-width:100%; height:auto; }
body {
color:#3e3e3e;
font-size:1em;
font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
line-height:1.8em;
}

/* container
-------------------------------- */
#container{
width:100%;
margin:0px auto;
position:relative;
}

/* header /　footer
-------------------------------- */
#b_bg{background:#2c2c41;}
#header,#footer{ width:100%; }
#footer{ background:#fff;border-top:3px solid #2c2c41; }

.header_container,.footer_container{
width:95%;
max-width:1300px;
margin:0px auto;
}
.header_container{ position:relative;min-height:91px; }
.footer_container{ padding:20px 0px;color:#606060;font-size:0.8em; }

.logo,.main_menu{ position:absolute; }
.logo{ top:15px;left:0px; }
.main_menu{ top:30px;right:0px; }

.footer_container ul{ margin:0px auto 6px; }
.footer_container li{ display:inline-block;margin:3px 15px 0px 0px; }
.footer_container .copy{ font-size:0.8em;line-height:1.1em; }

@media print, screen and (min-width:1000px){
	.main_menu .home{ display:none;}
}

.main_menu li{
display: inline-block;
text-align:center;
background: url(../images/common/menu-line.png) no-repeat right center;
padding:0px 20px 0px 5px;
}
.main_menu li.non{
background: none;
padding:0px 5px;
}

/* page_top 
-------------------------------- */
#page-top{
display: block;
position: fixed;
z-index: 900;
background: rgba(64,64,88,.8);
text-align: center;
text-decoration: none; 
}
#page-top:hover{
background: rgba(64,64,88,.7);
}
@media only screen and (min-width:641px){
	#page-top{
	bottom:30px;
	right:30px;
	padding:25px;
	}
}
@media only screen and (max-width:640px){
	#page-top{
	bottom:10px;
	right: 10px;
	padding:20px;
	}
}

/* link
-------------------------------- */
.b_link{
display:inline-block;
position: relative;
padding: 0px 15px 0px 5px;
margin:3px;
background: #353535;
color: #fff;
font-size:0.8em;
line-height:1.7em;
z-index:0;
text-decoration:none;
}
.b_link:after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 5px;
width: 4px;
height: 4px;
margin: -4px 0 0 0;
border-top: solid 2px #fff;
border-right: solid 2px #fff;
-webkit-transform: rotate(45deg);
        transform: rotate(45deg);
}
.b_link:hover{
background: #616161;
}

.entry_link{
display:block;
text-align:center;
position: relative;
padding: 15px 30px 15px 15px;
margin:10px auto;
background: #ff7200;
color: #fff;
font-size:1.4em;
max-width:300px;
text-decoration:none;
}
.entry_link:after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 10px;
width: 10px;
height: 10px;
margin: -4px 0 0 0;
border-top: solid 2px #fff;
border-right: solid 2px #fff;
-webkit-transform: rotate(45deg);
        transform: rotate(45deg);
}
.entry_link:hover{
background: #ff4800;
}
.tel-link{
display:inline-block;
color:#2c2c41;
}
.tel-link a{
color:#2c2c41;
}

/* list
-------------------------------- */
.decimal_list{
width:98%;
margin:15px auto;
line-height:1.4em;
}
.decimal_list li{
list-style-type:decimal;
margin:10px 5px 10px 15px;
}

.disc_list{
width:98%;
margin:15px auto;
line-height:1.4em;
}
.disc_list li{
list-style-type: disc;
margin:10px 5px 10px 15px;
}

.inline_list{
width:98%;
margin:15px auto;
line-height:1.4em;
}
.inline_list li{
list-style-type: disc;
display:inline-block;
margin:5px 15px;
position: relative;
}
@media print, screen and (min-width:1000px){
	.inline_list li{ width:45%; }
}
@media only screen and (max-width:999px){
	.inline_list li{ width:98%; }
}
.inline_list li:after {
	display: block;
	content: '・';
	position: absolute;
	top: .05em;
	left: -1em;
	width: 8px;
	height: 1px;
}


.point_list{
width:98%;
margin:20px auto;
font-weight:bold;
line-height:1.4em;
}
.point_list li{
margin:10px 15px;
padding-left:5px;
position: relative;
}
.point_list li:after {
	display: block;
	content: '★';
	color:#ffec82;
	position: absolute;
	top: .05em;
	left: -1em;
	width: 8px;
	height: 1px;
}

/* table
-------------------------------- */
.b_table{
width:100%;
margin:30px auto;
}
.b_table th,.b_table td{
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.b_table th{
background:#4a4a5e;
color:#fff;
text-align:center;
}
.b_table td{
border-bottom:1px dotted #4a4a5e;
}
@media only screen and (min-width:641px){
	.b_table th,.b_table td{
	padding:8px 20px;
	}
	.b_table th{
	vertical-align:top;
	border-bottom:1px dotted #fff;
	width:250px;
	}
}
@media only screen and (max-width:640px){
	.b_table th,.b_table td{
	display:block;
	}
	.b_table th{
	padding:8px 20px;
	border-top:bottom;
	}
	.b_table td{
	padding:15px 20px;
	border-left:1px solid #78788a;
	border-right:1px solid #78788a;
	border-bottom:1px solid #78788a;
	}
}
.b_table a { color:#3b548b; }
.b_table a:hover {color:#677fb4;}


/*	modal-content 
------------------------------------*/
.modal {
  position:absolute;
  width:100%;
  height:100vh;
  top:0;
  left:0;
  display:none;
}
.overLay {
  position:fixed;
  top:0;
  left:0;
  background:rgba(0,0,0,0.8);
  width:100%;
  height:100vh;
  z-index:980;
}
.modal .inner {
  position:fixed;
  z-index:999;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  background:#fff;
  padding:5px;
  width:95%;
  max-width:860px;
  text-align:center;
}
.close_btn{
display:inline-block;
background:#000;
color:#fff;
padding:0px 10px;
margin:5px auto;
}