@charset "UTF-8";
/* CSS Document */

/* CSSリセット 基本設定 */
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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border :0;
    outline: 0;
	font-style: normal;
    font-weight: normal;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}

/*html { overflow-y: scroll; }*/

blockquote, q { quotes: none; }
 
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
 
input, textarea,{
    margin: 0;
    padding: 0;
}

ol, ul{ list-style: none; }

table {
    border-collapse: collapse;
    border-spacing: 0;
}

input, select {
	vertical-align: middle;
}
 
caption, th { text-align: left; }
 
a:focus { outline: none; }

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
 
.clearfix {
    min-height: 1px;
}
 
* html .clearfix {
    height: 1px;
    /*ﾂ･*//*/
    height: auto;
    overflow: hidden;
    /**/
}

a:link {
    color: #333;
    text-decoration: none;
}

img {
	vertical-align: top;
	border-style: none;
}

/* --------------------------------------------------
	layout
-------------------------------------------------- */

#container {
	color: #333;
	font-size: 13px;
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	min-width: 1024px;
	width: 100%;
}

.sp {
    display: none;
}

.pc {
    display: block;
}

@media screen and ( max-width:767px ){
	
#container {
	color: #333;
	font-size: 13px;
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	min-width: inherit;
	width: 100%;
	  .sp {
        display: block;
    }

    .pc {
        display: none;
    }
}

}

.content {
	width: 960px;
	margin: 0px auto;
}

/* --------------------------------------------------
	header
-------------------------------------------------- */

#header_common {
	display: block;
}
#header_sp, #nav_sp_outer {
	display: none;
}

#header_common {
	background: #000;
	width: 100%;
	min-width: 1024px;
	height: 40px;
	z-index: 100000;
	position: fixed;
	top: 0;
	left: 0;
}

.header_inner {
	width: 1024px;
	height: 40px;
	margin: 0px auto;
}

.header_inner .header_logo {
	width: 184px;
	float: left;
}

#header_common #gnav_common {
	float: right;
	position: relative;
	z-index: 1;
}

#header_common #gnav_common ul {
	text-align: center;
}

#header_common #gnav_common ul li.nav_menu {
	display: inline-block;
	color: #fff;
	font-size: 12px;
	float: left;
	line-height: 36px;
	margin-right: 30px;
}

#header_common #gnav_common ul li.nav_menu > a {
	display: inline-block;
}

.navi_menu {
	letter-spacing: 0.1em;
	display: inline-block;
}

.nav_menu a {
	color: #fff;
	position: relative;
	text-decoration: none;
	cursor: pointer;
}

.nav_menu a.mh:hover {
	border-bottom: #fff 4px solid;
}

.nav_menu a.current {
	border-bottom: #fff 4px solid;
}

@media screen and ( max-width:767px ){

html { overflow-y: scroll; }		

body.overflow { overflow: hidden; }		

#header_common {
	display: none;
}
#header_sp {
	display: block;
}

#header_sp {
	background: #000;
	width: 100%;
	height: 40px;
	z-index: 100000;
	position: fixed;
	top: 0;
	left: 0;
}

.header_inner {
	background: #000;
	width: 100%;
	height: 40px;
	margin: 0px auto;
}

.header_inner #header_logo {
	width: 184px;
	float: left;
}

#header_sp #gnav_sp {
	width: 40px;
	float: right;
	position: relative;
	z-index: 1;
}

#header_sp #gnav_sp #nav_btn {
	float: right;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}

#header_sp #gnav_sp ul {
	text-align: center;
}

#header_sp #gnav_sp ul li.nav_menu {
	display: inline-block;
	color: #fff;
	font-size: 12px;
	float: left;
	line-height: 36px;
	margin-right: 30px;
}

#header_sp #gnav_sp ul li.nav_menu > a {
	display: inline-block;
}

.navi_menu {
	letter-spacing: 0.1em;
	display: inline-block;
}

.nav_menu a {
	color: #fff;
	position: relative;
	text-decoration: none;
	cursor: pointer;
}

.nav_menu a:hover {
	border-bottom: #fff 4px solid;
}

.nav_menu a.current {
	border-bottom: #fff 4px solid;
}


#nav_sp li {
	font-size: 124%;
	color: #fff;
	border-top: #fff 1px solid;
	background: #000;
	min-height: 50px;
	line-height: 50px;
}

#nav_sp li a {
	color: #fff;
}

#nav_sp li.nav_sp_3 {
	font-size: 108%;
}

#nav_sp li.nav_sp_1 {
	background-img: url(../../../images/accordion_next_btn.png) no-repeat;
}

ul.accordion a { display: block; background-position: 97% center; background-repeat: no-repeat; }
ul.accordion span { display: block; background-position: 97% center; background-repeat: no-repeat; text-indent: 1em; }
ul.accordion ul { display: none; }
ul.accordion > li > p { cursor: pointer; }
ul.accordion > li > p span { background-image: url(../../../images/accordion_open_btn.png); background-size: 50px 50px; }
ul.accordion > li > p span.open { background-image: url(../../../images/accordion_close_btn.png); background-size: 50px 50px; }
ul.accordion > li > p.next { background-image: url(../../../images/accordion_next_btn.png); background-size: 50px 50px; background-position: 97% center; background-repeat: no-repeat; text-indent: 1em; }
ul.accordion > li.sns { text-indent: 1em; height: 40px; line-height: 40px !important; padding: 20px 0; }
ul.accordion > li.sns img { vertical-align: middle; float: right; padding: 0 20px 0 0; }
ul.accordion > li > ul > li { background: #999; }
ul.accordion > li > ul > li.nav_sp_left {
	border-right: #fff 1px solid;
	border-left: #fff 1px solid;
	width: 50%;
	float: left;
	box-sizing: border-box; 
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	margin-left: 14px;
}

ul.accordion > li > ul > li.double_line_top {
	border-top: #fff 1px solid;
	margin: 5px 0 0;
	box-sizing: border-box; 
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

ul.accordion > li > ul > li.double_line_bottom {
	border-bottom: #fff 1px solid;
	margin: 0 0 5px;
	box-sizing: border-box; 
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

ul.accordion > li > ul {
	background-color: #02004b;
}

ul.accordion > li > ul > li.nav_sp_right {
	width: 50%;
	float: left;
	box-sizing: border-box; 
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
ul.accordion > li > ul > li > p { background: #999;}
ul.accordion > li > ul > li > a { background-image: url(../../../images/accordion_next_btn.png); background-size: 50px 50px; background-position: 97% center; background-repeat: no-repeat; background-color: #02004b; font-size: 16px; text-indent: 1em; }
ul.accordion li ul li.nolink { background-color: #02004b!important; font-size: 16px!important; text-indent: 1em!important; }
ul.accordion > li > ul > li > ul > li { background:#fff; border-bottom:1px dotted #888; }
ul.accordion > li > ul > li > ul > li:last-child { border:none;}

.btn {
    background: url(../../../images/nav_sp_btn.png) no-repeat 0 0;
	background-size: 40px 40px;
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    z-index: 1000;
}
.close {
    background: url(../../../images/nav_sp_close_btn.png) no-repeat 0 0;
	background-size: 40px 40px;
}

#nav_sp_outer {
	display: none;
    background-color: #000;
	width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    padding: 40px 0 0;
	z-index: -1;
}

}

/* --------------------------------------------------
	main
-------------------------------------------------- */

#article_list_right {
	width: 220px;
	float: left;
}

ul#popular_article_list {
	margin: 30px 0 0;
}

ul#popular_article_list li {
	width: 220px;
	height: auto;
	margin: 20px 0 0;
	float: left;
	line-height: 1.4;
	position: relative;
}

ul#popular_article_list li.first {
	margin: 0;
}

ul#popular_article_list .gold_frame_p {
	box-shadow: inset 0 1px 0 0 #dbdbdb, inset 0 -1px 0 0 #dbdbdb;
	padding: 10px;
}

ul#popular_article_list .gold_frame_p:hover {
    box-shadow: inset 5px 5px 0 0 #bca33f, inset -5px -5px 0 0 #bca33f;
}

ul#popular_article_list li .border_outer a .article_ttl {
	color: #333;
	font-weight: bold;
	text-decoration: underline;
}

ul#popular_article_list li .border_outer:hover a .article_ttl {
	text-decoration: none !important;
}

ul#popular_article_list li .article_ttl {
	font-size: 131%;
	padding: 20px 0;
}

ul#popular_article_list li .date {
	padding: 0 0 5px;
}

ul#popular_article_list .rank {
	background: #bca33f;
	width: 40px;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10000;
}

@media screen and ( max-width:767px ){

#article_list_right {
	width: 100%;
	float: inherit;
}

ul#popular_article_list {
	margin: 10px 0 0;
}

ul#popular_article_list li {
	width: 50%;
	height: auto;
	margin: 20px 0 0;
	padding: 10px;
	float: left;
	line-height: 1.4;
	box-sizing: border-box; 
	-webkit-box-sizing: border-box;
}

ul#popular_article_list li.first {
	margin: 20px 0 0;
}

ul#popular_article_list .gold_frame_p {
	box-shadow: none;
	padding: 0;
}

ul#popular_article_list .gold_frame_p:hover {
    box-shadow: none;
}

ul#popular_article_list .border_outer {
    border: none;
}

ul#popular_article_list li .border_outer a .article_ttl {
	color: #333;
	font-weight: bold;
	text-decoration: underline;
}

ul#popular_article_list li .border_outer:hover a .article_ttl {
	text-decoration: none !important;
}

ul#popular_article_list li .article_ttl {
	font-size: 108%;
	padding: 20px 0 10px;
}

ul#popular_article_list li .date {
	padding: 0 0 5px;
}

.outer {
	padding: 0 10px;
}

}

#search_box_2 {
	color: #fff;
	font-size:  116%;
	border-top: #bba23e 3px solid;
	background: #5f5f5f;
	margin: 80px 0 0;
	padding: 10px 0;
	line-height: 1.4;
	text-align: center;
}

#search_box_2 input {
	border:solid 1px #cbcbcb;
	background: rgba(255,255,255,1.00) url(../../../images/search_box_2_icon.png) no-repeat 173px center;
	width: 200px;
	margin: 5px 0 0;
	padding: 5px 30px 5px 5px;
	box-sizing: border-box; 
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.category_list {
	margin: 20px 0 0;
}

.category_list ul li {
	background: #ededed;
	border-bottom: #c7c7c7 1px solid;
	margin: 0 10px 10px 0;
	padding: 0 10px;
	float: left;
	line-height: 24px;
}

.category_list ul li.samurai {
	background: #cfbe7a;
	border-bottom: #675e3c 1px solid;
}

@media screen and ( max-width:767px ){
	
#search_box_2 {
	margin: 40px 0 0;
	padding: 10px;
}

#search_box_2 input {
	background: #fff url(../../../images/search_box_2_icon.png) no-repeat 98% center;
	width: 100%;
	margin: 5px 0 0;
	padding: 5px 30px 5px 5px;
}

.category_list_outer {
	padding: 0 10px;
}

.category_list_outer .mt80 { margin-top: 40px; }
	
}

#footer_common {
	color: #fff;
	background: #000;
	width: 100%;
	min-width: 1024px;
	text-align: center;
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 13px;
}

.blue {	color: #1d95c7; }

.purple_bg { background-color: #5a3c6d; }
.red_bg { background-color: #841b23; }
.gold_bg { background-color: #9f8419; }
.pink_bg { background-color: #b74186; }

.bold { font-weight: bold; }
.mt40 { margin-top: 40px; }
.mt60 { margin-top: 60px; }
.mt80 { margin-top: 80px; }
.mt100 { margin-top: 100px; }
.mt140 { margin-top: 140px; }

.pt10 { padding-top: 10px; }
.pt20 { padding-top: 20px; }
.pt30 { padding-top: 30px; }
.pt160 { padding-top: 160px; }
.pb10 { padding-bottom: 10px; }
.pb20 { padding-bottom: 20px; }
.pb30 { padding-bottom: 30px; }
.pb40 { padding-bottom: 40px; }
.pb50 { padding-bottom: 50px; }
.pb60 { padding-bottom: 60px; }
.pl15 { padding-left: 15px; }

.center { text-align: center; }

.fs50p { font-size: 50%; font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック",YuGothic,"メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif; }
.w30p { width: 30%; }

.fs12 { font-size: 93%; }