@charset 'utf-8';

body{
    margin:0;
    padding:0;
    font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

.sp_br {
    display: none;
}

header{
    background-image:linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url(../images/bg.jpg);
    background-attachment:fixed;
    background-size:auto,auto 100%;
    color:#fff;
    height:100%;
    padding:6em 3em 1em 1em;
    position:fixed;
    text-align:right;
    width:30%;
    overflow-y:auto;
}
.head img{
    width:63px;
}
.head h1{
    font-size:2em;
    line-height: 1.3em;
    margin-bottom: 5px;
}
.head p{
    font-size:1.5em;
    margin:-7px auto 50px;
}


#nav {
	width:100%;
	overflow:hidden;
}

header nav ul{
    font-size:1.4em;
    float:right;
    margin: 0px;
}
header nav::after{
    content:'';
    clear:both;
    display:block;
}
header nav ul li{
    border-bottom:1px solid #fff;
    width: 170px;
    padding-top:20px;
    box-sizing:border-box;
}
header nav ul li a{
    display:block;
    width:100%;
    transition:all .3s;
}
header nav ul li a:hover{
    letter-spacing:3px;
}
header nav ul li a:link,
header nav ul li a:visited{
    color:#fff;
    text-decoration:none;
}

#menu {
    display: none;
}

.contact{
    margin:70px auto 0;
}
.contact a{
    display:block;
    color:#fff;
    text-decoration:none;
    margin-top:5px;
    font-size:1.05em;
    letter-spacing:1px;
}
.tel::before,.mail::before{
    font-family:FontAwesome;
    margin-right:7px;
    vertical-align:middle;
}
.tel::before{
    content:'\f095';
}
.mail::before{
    content:'\f0e0';
}

.main{
    margin-left:30%;
    padding:6em 1em 1em 3em;
    width:calc(100%-30%);
    max-width:750px;
}
.contact_btn{
    border:1px solid #000;
    display:inline-block;
    border-radius:5px;
    width:200px;
    text-align:center;
    transition:all .3s;
    position:absolute;
    top:30px;
    right:50px;
}
.contact_btn a{
    color:#000;
    text-decoration:none;
    font-size:1.3em;
    letter-spacing:5px;
    display:block;
    width:100%;
}
.contact_btn:hover{
    filter:drop-shadow(1px 1px 1px rgba(0,0,0,0.5));
}
.main_area{}
.content{
    font-size:1.2em;
    margin-bottom:35px;
}
.content h2{
    font-size:1.2em;
    position:relative;
    padding-left:31px;
    margin-bottom:10px;
}
.content h2::before{
    content:'';
    background-color:#000;
    width:20px;
    height:20px;
    position:absolute;
    z-index:2;
    top:3px;
    left:0;
}
.content h2:after{
    content:'';
    background-color:#9e9e9e;
    height:10px;
    width:10px;
    position:absolute;
    z-index:1;
    left:15px;
    top:18px;
}

.content h3 {
	border-left: 9px double #000;
    padding: 5px 5px 5px 10px;
    margin-bottom: 10px;
}

.content h4 {
	font-size: .95em;
    margin-bottom: 5px;
}
.content h4::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 12px;
	height: 12px;
	background: #000;
	margin-right: 8px;
}

.news_area{
    max-height:230px;
    overflow-y:scroll;
    margin-bottom:46px;
}
.news_area table{
    width:100%;
    margin-top:-10px;
}
.news_area table tr{
    border-bottom:1px dotted #000;
}
.news_area table tr td{
    padding:18px 0 3px 0;
}
.date{
    width:100px;
}
.news_area table tr td time{
    margin-right:10px;
}
.news_area table tr td time::before{
    font-family:FontAwesome;
    content:'\f017';
    font-size:0.8em;
    margin-right:2px;
}

.history_table tr {
    width: 13%;
    border-bottom: #D7D7D7 solid 1px;
}

.history_table tr td {
    padding: 10px;
    vertical-align: top;
}


.link_area{
    display:flex;
    margin-bottom:50px;
    width:100%;
}
.link_btn{
    width:33.3333%;
    margin-right:10px;
    position:relative;
}
.link_btn::before{
    content:'';
    background:rgba(0,0,0,0.4);
    width:50px;
    height:60%;
    position:absolute;
    z-index:1;
    top:0;
    right:0;
    margin-top:8%;
}
.link_btn::after{
    font-family:FontAwesome;
    content:'\f178';
    color:#fff;
    font-size:2em;;
    position:absolute;
    z-index:2;
    top:25%;
    right:9px;
}
.link_btn img{
    width:100%;
}
footer p{
    text-align:right;
}

@media screen and (max-width:769px){
    .sp_br {
        display: block;
    }
    header{
        width:100%;
        position:static;
        text-align:left;
        background-size:cover;
        padding:1.5em;
    }
    .head{
        display:inline-block;
    }
    .head img,.head h1,.head p{
        display:inline-block;
    }
    .head img{
        width:47px;
    }
    .head p{
        margin-bottom:0;
    }
    header nav{
        position:fixed;
        height:100%;
        background:rgba(0,0,0,0.8);
        width:200px;
        top:0;
        right:-200px;
        position: fixed;
        z-index: 999;
    }
    header nav  ul li{
        width: 200px;
        font-size: 0.7em;
    }
    #menu {
        display: block;
    }
/* ==== Navigation === */
nav {
	position: fixed;
	top: 0px;
	right: -200px;
	height: 100%;
	z-index: 100;
	width: 200px;
	overflow-x: none;
	overflow-y: auto;
	font-size: 16px;
	background: url(../images/common/nav_bg.png) top center #000000;
	color: #fff;
	-webkit-box-shadow: inset 0 0 5px 5px #222;
	-moz-box-shadow: inset 0 0 5px 5px #222;
	box-shadow: inset 0 0 5px 5px #222;
}

#nav .nav_long {
    line-height: 25px;
    padding-top: 5px;
    padding-bottom: 5px;
}

nav ul {
	display: block;
	margin: 0 0 15px;
	padding: 0;
	border-top: 1px solid #1a1a1a;
	border-bottom: 1px solid #4d4d4d
}
nav ul li {
	display: block;
	margin: 0;
	line-height: 30px;
	border-top: 1px solid #4d4d4d;
	border-bottom: 1px solid #1a1a1a
}

#nav ul li img {
	max-width:100%;
	margin: 0 auto;
	padding:10px 0;
}

#nav ul li:hover {
	border-top: none;
	line-height: 49px
}
#nav ul li:hover>a {
	-webkit-box-shadow: inset 0 0 15px 3px #222;
	-moz-box-shadow: inset 0 0 15px 3px #222;
	box-shadow: inset 0 0 15px 3px #222
}
#nav ul li a {
	padding: 0 15px;
	display: block;
	text-decoration: none;
	color: #fff;
	text-shadow: 2px 2px 0 rgba(0,0,0,1.0);
}
#nav ul li ul {
	border-bottom: none;
	margin: 0
}
#nav ul li ul li {
	line-height: 40px;
	font-size: 13px
}
#nav ul li ul li:last-child {
	border-bottom: none
}
#nav li:nth-child(n+11) a {
	background: url(../images/common/bnr_bg_hover.png) 18px center no-repeat;
	padding-left:40px;
}
#sidenav {
	width: 220px;
	float: left;
	margin-top: 20px;
	border:1px solid #dd0000;
	display:none;
}

#menu {
	cursor:pointer;
	position:fixed;
	top:10px;
	right:10px;
	z-index: 1000;
}
    .contact{
        display:inline-block;
        margin:0;
        float:right;
    }
    .contact_btn{
        display:none;
    }
    .main{
        margin:0;
        padding:2em;
    }
    .link_btn::after{
        font-size:1.5em;
    }

    .history_table tr td:first-child{
        width: 20%;
        vertical-align: top;
    }
    footer p{
        text-align:center;
    }
}
@media screen and (max-width:579px){
    .contact a{
        display:inline-block;
        margin-right:10px;
    }
    .link_btn::after{
        font-size:1em;
    }
    #menu {
        display: block;
    }
}