@charset "utf-8";

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td{
border:0;
font-family:inherit;
font-size:100%;
font-style:inherit;
font-weight:inherit;
margin:0;
outline:0;
padding:0;
vertical-align:baseline;
}

:focus{
outline:0;
}

ol, ul{
list-style:none;
}

table{
border-collapse:separate;border-spacing:0;
}

caption, th, td{
font-weight:normal;text-align:left;
}

blockquote:before, blockquote:after,q:before, q:after{
content:"";
}

blockquote, q{
quotes:"" "";
}

a img{
border:0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{
display:block;
}

body{
font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif;
-webkit-text-size-adjust:100%;
background: #060606;
color: #fff;
}


/* リンク設定
------------------------------------------------------------*/

a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
color:#ddd;
}

a:hover, a:active{
outline:none;
color:#a0a0a0;
}

/**** Clearfix ****/

nav .panel:after, nav#mainNav:after, .newsTitle:after, .bg:after,.post:after, ul.post li:after,nav#mainNav .inner:after{
content:""; display:table;clear:both;
}

nav .panel,nav#mainNav,.newsTitle,.bg, .post, ul.post li,nav#mainNav .inner{
zoom:1;
}


/* レイアウト
------------------------------------------------------------*/

#wrapper, .inner{
margin:0 auto;
width:1110px;
}

#header{
text-align:center;
}

#content{
float:right;
width:790px;
padding:40px 0 50px;
}

#sidebar{
float:left;
width:280px;
padding:40px 0 50px;
}

#footer{
clear:both;
background: #131313;
} 


/* ヘッダー
------------------------------------------------------------*/

.show_mobile {
	display:none;
}



#header {
    background: url(../img/bg_header.jpg) no-repeat top center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;	
}

li.swiper-slide a {
    display: block;
    padding: 1em;
    border: 1px solid #dcdcdc;
}

li.swiper-slide img {
    display: block;
    margin: 0 0 .2em;
    width: 100%;
    height: auto;
}

li.swiper-slide p {
    font-size: 1.2rem;
    text-align: center;
}


#header h1{
padding:20px 0;
font-size:70%;
text-align:left;
}

.contact{
float:right;
text-align:right;
font-size:80%;
margin-top:-32px;
}

.contact .tel{
margin: 5px 0 0 0;
font-size:250%;
}

#header h2{
clear:both;
padding: 30px 0 60px 0;
text-align:center;
font-size:300%;
line-height: 100%;
}

#header h2 a{
}

#header h2 span{
font-size:30%;
font-weight:normal;
}

#header h2 img{
width:186px;
}

#mainImg img{
width:100%;
height:auto;
}

.post{
margin:0 0 20px 0;
}


/* タイポグラフィ
------------------------------------------------------------*/

h2.title{
clear:both;
margin-bottom:50px;
padding: .75em 0;
text-align:center;
font-size:150%;
font-weight:bold;
border-top: 1px solid #7e7e7e;
border-bottom: 1px solid #7e7e7e;
}

h2.naka_title{
clear:both;
margin: 40px 0 0 0;
padding: 3em 0;
text-align:center;
font-size:200%;
background: url(../img/h2_nakatitle_bg.jpg) no-repeat top right;
}

h2.title span{
padding:20px;
}

h2.recentpost{
margin:15px 0 25px;
padding:15px 0;
font-size:150%;
font-weight:bold;
border-bottom:3px solid #000000;
}

/*------------

.post p{
padding-bottom:15px;
}


.post ul{
margin:10px 0 20px 20px;
}

.post ul li{
padding-left:5px;
list-style:disc;
}

.post ol{
margin:0 0 10px 30px;
}

.post ol li{
list-style:decimal;
}
-----*/

.post h1{
margin:15px 0 25px;
padding:15px 0;
font-size:150%;
font-weight:bold;
border-bottom:3px solid #d7d7d7;
}

.post h2{
padding:15px 0;
font-size:130%;
border-top:1px solid #3e3e3e;
border-bottom:1px solid #3e3e3e;
}

.post h3{
padding: 0 0 5px 0;
font-size:120%;
font-weight:bold;
border-bottom:1px solid #454545;
}

.post h4{
margin:15px 0 10px;
padding:15px 0;
font-size:110%;
font-weight:bold;
}

.post h5{
margin:15px 0 10px;
padding:15px 0;
font-size:110%;
font-weight:bold;
}

.post h6{
margin:15px 0 10px;
padding:15px 0;
font-size:110%;
font-weight:bold;
}
 
.post blockquote {
clear:both;
padding:10px 0 10px 25px;
margin:10px 0 25px 0px;
border-left:5px solid #e9e9e9;
}
 
.post blockquote p{
padding:5px 0;
}

/*------------------------
.post table{
border:1px #cccccc solid;
border-collapse:collapse;
border-spacing:0;
margin:10px 0 30px;
width:100%;
}

.post table th{
padding:15px;
border:#cccccc solid;
border-width:0 0 1px 1px;
font-weight:bold;
}

.post table td{
padding:15px;
border:1px #cccccc solid;
border-width:0 0 1px 1px;
}

.post dt{
font-weight:bold;
}

.post dd{
padding-bottom:10px;
}
------------------------*/
.post img{
max-width:100%;height:auto;
}

img.aligncenter {
display:block;
margin:5px auto 30px auto;
text-align:center;
}

img.alignright{
margin:5px 0 30px 30px;
}

img.alignleft{
margin:5px 30px 30px 0;
}

.alignright{
float:right;
}

.alignleft{
float:left;
}


/* サイドバー　ウィジェット
------------------------------------------------------------*/

p.banner{
padding: 0.5em 0 0 0;
}

p.banner img{
max-width:280px;
height:auto;
}

p.banner img:hover{
cursor:pointer;
opacity:.8;
}

.newsTitle{
clear:both;
font-size:120%;
font-weight:bold;
padding: .5em;
border-top: 15px #1e1e1e solid;
}

.newsTitle h3{
float:left;
}

.news p{
clear:both;
padding: 5px 0 0 0px;
font-size: 90%;
}

.news p a{
display:block;
color:#e7e7e7;
background: #171717;
padding: 0.5em;
}

.news p a:hover {
color:#d0d0d0;
background: #1e1e1e;
}

.news span{
padding-left:10px;
}

.news a:hover span{
color:#484848;
}


/* フッター
------------------------------------------------------------*/

#footer ul{
padding: 2em 0;
text-align:center;
}

#footer li{
display:inline-block;
padding:5px 16px;
font-size: 70%;
}
*:first-child+html #footer li{
display:inline;
}

#footer li:first-child{
border:0;
}

#footer li a{
text-decoration:none;
}

#footer li a:hover{
color:#cdcdcd;
}

#footer ul ul{
display:none;
}

.footer_txt {
text-align:center;
background: #181818;
padding: 2em 0;
}

.footer_txt a {
font-size: 120%;
font-weight: bold;
}

#copyright{
clear:both;
background: #1d1d1d;
padding: 7em 0;
text-align:center;
font-size: 70%;
}

#pagetop{
position:fixed;
right:30px;
bottom:0px;
font-size:40px;
background: #222;
padding: 0px 20px;
}


/* トップページ 最新記事4件
------------------------------------------------------------*/

ul.post{
padding:0;
}

ul.post li{
padding:20px 0 15px;
}

ul.post img{
float:left;
margin:5px 25px 5px 0;
}

ul.post h3{
margin:-15px 0 5px 0;
border:0;
font-size:130%;
font-weight:bold;
}

ul.post h3 a{
color:#e9e9e9;
}

ul.post h3 a:hover{
color:#cdcdcd;
}


/* メインメニュー　PC用
------------------------------------------------------------*/

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

nav#mainnav{
position:relative;
}

nav#mainnav ul{
display:flex;
justify-content:center;
align-items:center;
}

nav#mainnav ul li{
float:left;
}

nav#mainnav ul li a{
display:block;
text-align:center;
_float:left;
padding:30px 40px;
color:#f6f6f6;
}

nav#mainnav ul li a span,nav#mainnav ul li a strong{
display:block;
font-size:90%;
line-height:1.7;
}

nav#mainnav ul li a span{
font-size:70%;
color:#868686;
}

nav#mainnav ul li a:hover span, nav#mainnav ul li a:hover{
color:#cdcdcd;
}

nav#mainnav ul ul{
width:160px;
border-top:0;
}

nav#mainnav ul li ul{
display: none;
}

nav#mainnav ul li:hover ul{
display: block;
position: absolute;
text-align:center;
z-index:500;
}

nav#mainnav ul li li{
background:#010101;
border-bottom:1px dotted #212121;
	filter:alpha(opacity=90);
	-moz-opacity: 0.9;
	opacity: 0.9;
float: none;
height:40px;
line-height:40px;
}

nav#mainnav ul li li:last-child{
border:0;
}

nav#mainnav ul li li a{
width:100%;
height:40px;
padding:0;
line-height:40px;
font-size:80%;
text-lign:center;
}

nav#mainnav ul li li a:hover{
color:#cdcdcd;
}

nav div.panel{
display:block !important;
}

a#menu{
display:none;
}


/*.menu01 {
}
.menu02 {
	background: url(../img/menu02.png) no-repeat 192px 0px;	
}
.menu03 {
	background: url(../img/menu03.png) no-repeat top left;	
}
.menu04 {
	background: url(../img/menu04.png) no-repeat top left;	
}
.menu05 {
	background: url(../img/menu05.png) no-repeat top left;	
}
.menu06 {
	background: url(../img/menu06.png) no-repeat top left;	
}
*/

.menu01,.menu02,.menu03,.menu04,.menu05,.menu06 {
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
}

.menu01:hover,.menu02:hover,.menu03:hover,.menu04:hover,.menu05:hover,.menu06:hover {
	background-color: rgba(100,100,100,0.6);
}


/*.menu01:hover {
}
.menu02:hover {
	background: url(../img/menu02.png) no-repeat top center;	
}
.menu03:hover {
	background: url(../img/menu03.png) no-repeat top center;	
}
.menu04:hover {
	background: url(../img/menu04.png) no-repeat top center;	
}
.menu05:hover {
	background: url(../img/menu05.png) no-repeat top center;	
}
.menu06:hover {
	background: url(../img/menu06.png) no-repeat top center;	
}
*/




}


/* iPadサイズ以下（1024px）からアコーディオンメニュー
------------------------------------------------------------*/

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


.swiper-container {
	padding: 70px 0 0 0;	
}

#header h2{
font-size:120%;
}
#header h2 span{
font-size:70%;
}


#header{
position:fixed;
width:100%;
z-index:500;
}

@keyframes bg_header_mobile {
    0% {  background-position-x: 0;  }
    100% {  background-position-x: -1000px;  }
}

#headerWrap{
position:relative;
width:100%;
height:70px;
background: #060606;
border-bottom:1px solid #cccccc;
}
	
#header h1{
display:none;
}
	
#header h2{
padding-top:13px;
}
	
#header h2 img{
max-height:18px;
width:auto !important;
}

#menuWrap {
overflow: hidden;
    height: 100%;}

a#menu{
display:inline-block;
position:relative;
width:40px;
height:40px;
margin:10px;
background: #464646;
}

#menuBtn{
display:block;
position:absolute;
top:60%;
left:50%;
width:18px;
height:2px;
margin:-1px 0 0 -7px;
background:#000000;
transition:.2s;
}

#menuBtn:before, #menuBtn:after{
display:block;
content:"";
position:absolute;
top:50%;
left:0;
width:18px;
height:2px;
background:#000000;
transition:.3s;
}

#menuBtn:before{
margin-top:-7px;
}

#menuBtn:after{
margin-top:5px;
}

a#menu .close{
background:transparent;
}

a#menu .close:before, a#menu .close:after{
margin-top:0;
}

a#menu .close:before{
transform:rotate(-45deg);
-webkit-transform:rotate(-45deg);
}

a#menu .close:after{
transform:rotate(-135deg);
-webkit-transform:rotate(-135deg);
}

.panel{
position: fixed;
  top: 71px;
right: 0px;
  height: 90%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  }

#mainnav{
position:absolute;
top:0;
width:100%;
text-align:right;
z-index:500;
}

#mainnav ul{
background:#1e1e1e;
text-align:left;
width: 100%;
height: 90%;
overflow-y: auto;
 }

  
#mainnav li a{
position:relative;
display:block;
padding:12px 25px 12px 47px;
border-bottom:1px solid #2e2e2e;
font-weight:bold;
}

#mainnav ul li a span{
display:none;
}

#mainnav ul li li{
border:0;
}

#mainnav ul li li a{
padding:12px 25px 12px 47px;
}

}


/* iPadサイズ以下（1024px）から 1カラム表示に切り替え
*****************************************************/

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

#wrapper{
padding-top:70px;
}

#wrapper, .inner{
width:100%;
}

#header .contact{
display:none;
}

nav#mainNav ul{
margin:0 auto;
}

nav#mainNav ul ul{
padding:0;
}

nav div.panel{
float:none;
}

#content, #sidebar{
clear:both;
width:95%;
float:none;
margin:0 auto;
padding:10px 0;
}

h2.first{
margin-top:25px;
}

h2.topFirst{
margin-top:-80px;
}

.banner{
width:100%;
margin:0 auto;
text-align:center;
}

p.banner img{
width:100%;
height:auto;
}

#footer li{
margin-bottom:10px;
}

}


/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/

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

.show_mobile {
	display:block;
}

#header h2 img{
max-width:90%;
}

h2.title span {
display: block;
}

h2.title{
margin-bottom:35px;
}

ul.post img{
display:block;
margin:5px auto 20px auto;
float:none;
width:100%;
}

img.alignright, img.alignleft{
display:block;
margin:5px auto 20px auto;
}

.alignright,.alignleft{
float:none;
}


}




/* Clearfix
--------------------------------------------------------------*/
.clearfix:after,.mana_dl:after,.mana_dt_last:after {
content: ".";
display: block;
visibility: hidden;
height: 0.1px;
font-size: 0.1em;
line-height: 0;
clear: both;
}

.clearfix {
	display: inline-block;
}

/* モジュールセット
--------------------------------------------------------------*/

strong,.bold {font-weight: bold !important;}
.fw_n {font-weight: normal;}

.f_l {float: left;}
.f_r {float: right;}

.ta_r {text-align: right;}
.ta_c {text-align: center;}

.mt5 {	margin: 5px 0 0 0;}
.mt10 {	margin: 10px 0 0 0;}
.mt20 {	margin: 20px 0 0 0;}
.mt30 {	margin: 30px 0 0 0;}
.mt40 {	margin: 40px 0 0 0;}

.p10 { padding: 10px;}
.p20 { padding: 20px;}

.pr20 { padding: 0 20px 0 0;}

.pl5 { padding: 0 0 0 5px;}
.pl10 { padding: 0 0 0 10px;}
.pl15 { padding: 0 0 0 15px;}
.pl20 { padding: 0 0 0 20px;}

.p0_10 { padding: 0 10px;}
.p0_20 { padding: 0 20px;}

.fs_80 {font-size: 80%;}
.fs_120 {font-size: 120%;}


.red {color: #e40000;}
.blue {color: #03F;}
.green {color: #118807;}


.va_b {vertical-align: bottom;}

.td_u {text-decoration: underline;}

/* その他共通
--------------------------------------------------------------*/

.ul01 li {
	background: url(../img/li01.png) no-repeat 0px 13px;
	line-height: 2.5em;
	padding: 0 0 0 25px;
}
.pdf_ul li a {
	display: block;
	background: #340000 url(../img/pdf.png) no-repeat 10px 10px;
	padding: 15px 15px 15px 50px;
	margin: 0 0 5px 0;
}
.pdf_ul li a:hover {
	background: #530808 url(../img/pdf.png) no-repeat 10px 10px;
}

/*ヘッダーメニュー　ペーパー＆リターン ドライバー・ライダーコース
--------------------------------------------------------------*/

@media only screen and (min-width: 1025px) {
	nav#mainnav ul li li#paper a {
		padding-top: 6px;
		line-height: 14px;
		font-size: 75%;
	}
}