@charset "utf-8";

/* ****************************************************************** 

	--common.css--
	
	0. BoxModel change

	1. Common setting
		1-1. Reset styles
		1-2. BoxModel styles
		1-3. Text styles
		1-4. Heading styles
		1-5. Button styles
		1-6. TextLink styles
		1-7. Table styles
		1-8. Form styles
		1-9. Other styles
		1-99. VisualFormattingModel styles

****************************************************************** */

/*==================================================================
	0. BoxModel change
===================================================================*/
*, *:before, *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/*==================================================================
	1. Common setting
===================================================================*/
/* ------------------------------------------------------------------
	1-1. Reset styles
-------------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,figure { 
	margin: 0;
	padding: 0;
}
fieldset { 
	border: 0;
}
img { 
	border-style: none;
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
ol,ul {
	list-style: none;
}
caption {
	text-align: left;
}
h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
}
q:before,q:after {
	content: '';
}
abbr,acronym { 
	border: 0;
}
table {
	width: 100%;
}

/* ------------------------------------------------------------------
	1-2. BoxModel styles
-------------------------------------------------------------------*/
.pt_00 { padding-top: 0 !important;}
.pt_05 { padding-top: 5px !important;}
.pt_10 { padding-top: 10px !important;}
.pt_20 { padding-top: 20px !important;}
.pt_30 { padding-top: 30px !important;}
.pt_40 { padding-top: 40px !important;}
.pt_50 { padding-top: 50px !important;}
.pb_00 { padding-bottom: 0 !important;}
.pb_10 { padding-bottom: 10px !important;}
.pb_20 { padding-bottom: 20px !important;}
.pb_30 { padding-bottom: 30px !important;}
.pb_40 { padding-bottom: 40px !important;}
.pb_50 { padding-bottom: 50px !important;}
.mt_00 { margin-top: 0 !important;}
.mt_10 { margin-top: 10px !important;}
.mt_20 { margin-top: 20px !important;}
.mt_30 { margin-top: 30px !important;}
.mt_40 { margin-top: 40px !important;}
.mt_50 { margin-top: 50px !important;}
.mb_00 { margin-bottom: 0 !important;}
.mb_10 { margin-bottom: 10px !important;}
.mb_20 { margin-bottom: 20px !important;}
.mb_30 { margin-bottom: 30px !important;}
.mb_40 { margin-bottom: 40px !important;}
.mb_50 { margin-bottom: 50px !important;}

.bg_beige { background: #F9F5F2;}
.bg_dark_beige { background: #E6DACB;}
.bd_beige_top3 { border-top: 3px solid #EEEAE0;}
.bd_beige_top6 { border-top: 6px solid #EEEAE0;}

.align_left { text-align: left;}
.align_right { text-align: right;}
.align_center { text-align: center;}

/* ------------------------------------------------------------------
	1-3. Text styles
-------------------------------------------------------------------*/
.f10 { font-size: 10px;}
.f11 { font-size: 11px;}
.f12 { font-size: 12px;}
.f14 { font-size: 14px;}
.f16 { font-size: 16px;}
.f18 { font-size: 18px;}
.f20 { font-size: 20px;}
.f22 { font-size: 22px;}
.f24 { font-size: 24px;}
.f26 { font-size: 26px;}
.f28 { font-size: 28px;}
.f30 { font-size: 30px;}
.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh16 { line-height: 1.6;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}

.f_color_base { color: #00418F;}/* MAIN_COLOR */
.f_color_sub { color: #3362B5;}/* SUB_COLOR */
.f_color_red { color: #FF0000;}
.f_color_black { color: #000;}
.f_color_beige { color: #99877A;}

/* ------------------------------------------------------------------
	1-4. Heading styles
-------------------------------------------------------------------*/
.heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.heading a {
	color: inherit;
}
.heading a:hover {
	color: #00418F;
}
.heading.center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.heading_parts {
	margin-left: auto;
}

/* ------------------------------------
	Heading（type1）
------------------------------------*/
.heading_type_01 {
	padding: 0 15px 20px 15px;
	color: #3362B5;
}
.heading_type_01 .heading_title {
	font-size: 18px;
	font-weight: 700;
	position: relative;
	z-index: 1;
}
.heading_type_01 .heading_title:after {
	background: #C7ECFF;
	content: '';
	display: block;
	position: absolute;
	bottom: -10px;
	left: -15px;
	width: 50px;
	height: 20px;
	border-radius: 50px;
	z-index: -1;
}
.heading_type_01 .heading_title a:after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f054";
	margin-left: 10px;
	color: #679CDB;
}

/* 白い角丸付き */
.heading_type_01 .pattern_01:after {
	background: #FFF;
}

/* ------------------------------------
	Heading（type2）
------------------------------------*/
.heading_type_02 {
	padding-bottom: 15px;
	color: #3362B5;
}
.heading_type_02 .heading_title {
	font-size: 18px;
	font-weight: 700;
}
.heading_type_02 .heading_title a:after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f054";
	margin-left: 10px;
	color: #679CDB;
}

/* ------------------------------------
	Heading（type3）_PAGETITLE
------------------------------------*/
.heading_type_03 {
	padding-bottom: 15px;
	color: #000;
}
.heading_type_03 .heading_title {
	font-size: 20px;
	font-weight: 700;
}

/* ------------------------------------
	Heading（type4）_検索結果
------------------------------------*/
.heading_type_04 {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: inherit;
	-ms-flex-align: inherit;
	align-items: inherit;
	border-bottom: 1px solid #E8E3D6;
	padding-bottom: 15px;
	margin-bottom: 20px;
	color: #000;
}
.heading_type_04 .heading_title {
	margin-bottom: 10px;
	text-align: center;
	font-size: 24px;
	font-weight: 700;
}
.search_info {
	font-size: 14px;
	color: #99877A;
}

/* ------------------------------------
	Heading（type5）_マイ系
------------------------------------*/
.heading_type_05 {
	background: #99877A;
	padding: 8px 20px;
	margin-bottom: 15px;
	color: #FFF;
}
.heading_type_05 .heading_title {
	font-size: 16px;
	font-weight: 700;
}

/* ------------------------------------
	Heading（サイド用_type1）
------------------------------------*/
.heading_side_type_01 {
	padding: 15px 0 15px 10px;
	color: #3362B5;
}
.heading_side_type_01 .heading_title {
	font-size: 14px;
	font-weight: 700;
	position: relative;
	z-index: 1;
}
.heading_side_type_01 .heading_title:after{
	background: #C7ECFF;
	content: '';
	display: block;
	position: absolute;
	bottom: -5px;
	left: -10px;
	width: 50px;
	height: 16px;
	border-radius: 50px;
	z-index: -1;
}
.heading_side_type_01 .heading_title a:after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f054";
	margin-left: 10px;
	color: #679CDB;
}

/* ------------------------------------------------------------------
	1-5. Button styles
-------------------------------------------------------------------*/
.contents_btn {
	text-align: center;
	padding: 30px 0;
}
.contents_btn_link { }
.contents_btn_link a {
	background: #FFF;
	border: 1px solid #00418F;
	border-radius: 50px;
	display: block;
	padding: 10px 45px;
	font-size: 14px;
	font-weight: 500;
	color: #00418F;
	position: relative;
	-webkit-transition: .3s;
	transition: .3s;
}
.contents_btn_link a:after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f054";
	position: absolute;
	top: 50%;
	right: 20px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	font-size: 16px;
	color: #00418F;
	-webkit-transition: .3s;
	transition: .3s;
}
.contents_btn_link a:hover {
	background: #00418F;
	border: 1px solid #00418F;
	color: #FFF;
}
.contents_btn_link a:hover:after {
	color: #FFF;
}

/* ------------------------------------
	幅可変タイプ
------------------------------------*/
.contents_btn-flex { }
.contents_btn-flex .contents_btn_link a {
	display: inline-block;
	width: auto;
}

/* ------------------------------------
	幅固定タイプ
------------------------------------*/
.contents_btn-fix { }
.contents_btn-fix .contents_btn_link a {
	width: 360px;
	margin: 0 auto;
}

/* ------------------------------------
	ボタン横並び
------------------------------------*/
.contents_btn_fleft {
    text-align:left;
}

.contents_btn_fleft .contents_btn_link { 
    display:inline-block;
    margin:5px;
}

.contents_btn_fleft .contents_btn_link a{
    text-align: center;
    min-width:113px;
    padding:10px 0px 10px 10px;
}

.contents_btn_fleft .contents_btn_link a:after{
    content: none;
}

.contents_btn .btn_gray a {
    color:#666;
    border:solid 1px #666;
    cursor:unset;
}
.contents_btn .btn_gray a:hover {
	background-color:#FFF;
}


/* ------------------------------------
	ボタン小
------------------------------------*/
.contents_btn-small { }
.contents_btn-small .contents_btn_link a {
	display: inline-block;
	width: auto;
	padding: 5px 30px;
	font-size: 10px;
}
.contents_btn-small .contents_btn_link a:after {
	right: 10px;
	font-size: 10px;
}

/* ------------------------------------
	ボタン小（角丸：4px）
------------------------------------*/
.contents_btn-x_small { }
.contents_btn-x_small .contents_btn_link a {
	border-radius: 4px;
	display: inline-block;
	width: auto;
	padding: 4px 20px;
	font-size: 12px;
}
.contents_btn-x_small .contents_btn_link a:after {
	right: 5px;
	font-size: 10px;
}

/* borderナシ */
.contents_btn-x_small.no_border .contents_btn_link a {
	border: none;
}

/* ------------------------------------
	ボタン（青背景）
------------------------------------*/
.contents_btn_link_type_02 { }
.contents_btn_link_type_02 a {
	background: #00418F;
	border-radius: 5px;
	padding: 15px 0;
	color: #FFF;
}
.contents_btn_link_type_02 a:after {
	color: #FFF;
}
.contents_btn_link_type_02 a:hover {
	background: #FFF;
	color: #002f7b;
}
.contents_btn_link_type_02 a:hover:after {
	color: #002f7b;
}

/* ------------------------------------------------------------------
	1-6. TextLink styles
-------------------------------------------------------------------*/
.contents_text_link a {
	color: #00418F;
	font-weight: 500;
}
.contents_text_link a:after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f054";
	margin-left: 10px;
}
.contents_text_link a:hover {
	color: #5388E6;
}

/* ------------------------------------------------------------------
	1-7. Table styles
-------------------------------------------------------------------*/
.th_col2 {
	width: 50%;
}
.th_col3 {
	width: 33.3%;
}
.th_col4 {
	width: 25%;
}
.th_col5 {
	width: 20%;
}
.th_col6 {
	width: 16.7%;
}
.th_col7 {
	width: 14.3%;
}
.th_col8 {
	width: 12.5%;
}
.th_col9 {
	width: 11.1%;
}
.th_col10 {
	width: 10%;
}

/* ------------------------------------------------------------------
	1-8. Form styles
-------------------------------------------------------------------*/
input[type="text"],
input[type="email"],
input[type="password"],
select,
textarea{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	font-family: inherit;
	vertical-align: middle;
}
select::-ms-expand {
	display: none;
}
button{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	padding: 0;
	font-family: inherit;
	line-height: inherit;
	cursor: pointer;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
	transition: all 0.5s;
}

/*-------------------------------*/
/*	オートフィル時の背景色を無効に
/*-------------------------------*/
input:-webkit-autofill {
	/* 色はinput要素の背景色（ここでは#fff）にそろえる */
	box-shadow: 0 0 0px 999px #FFF inset;
}

/*-------------------------------*/
/*	placeholder
/*-------------------------------*/
input::-webkit-input-placeholder {
	color: #3362B5;
}
input::-moz-placeholder {
	color: #3362B5;
	opacity: 1;
}
input:-ms-input-placeholder {
	color: #3362B5;
}

/* ------------------------------------------------------------------
	1-9. Other styles
-------------------------------------------------------------------*/
/*-------------------------------*/
/*	Pagenation
/*-------------------------------*/
.pagenation {
	padding: 20px 0;
}
.pagenation_nav {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.pagenation_nav li {
	margin-bottom: 10px;
	font-size: 12px;
}
.pagenation_nav li:not(:last-child) {
	margin: 0 5px 10px 0;
}
.pagenation_nav li span {
	padding: 9px 0;
	display: block;
	color: #00418F;
	font-weight: 700;
	line-height: 1;
}
.pagenation_nav li span.current {
	background: #00418F;
	border: 1px solid #00418F;
	border-radius: 5px;
	padding: 9px 11px;
	color: #FFF;
	font-weight: bold;
}
.pagenation_nav a {
	background: #FFF;
	border: 1px solid #00418F;
	border-radius: 5px;
	padding: 9px 11px;
	color: #000;
	display: block;
	text-decoration: none;
	line-height: 1;
}
.pagenation_nav .prev a,
.pagenation_nav .next a {
	padding: 9px 15px;
	color: #00418F;
}
.pagenation_nav a:hover {
	background: #00418F;
	color: #FFF;
}
.pagenation_info {
	margin-top: 5px;
	text-align: center;
	font-size: 12px;
}

/*-------------------------------*/
/*	もっと見る
/*-------------------------------*/
.loading_more {
	padding: 20px 0;
	text-align: center;
}
.loading_more span {
	font-size: 12px;
	font-weight: 700;
	color: #00418F;
	cursor: pointer;
}
.loading_more span:after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f078";
	margin-left: 5px;
}

/*-------------------------------*/
/*	Tag
/*-------------------------------*/
.tag_list {
	font-size: 0;
}
.tag_list li {
	display: inline-block;
	margin: 0 5px 5px 0;
	font-size: 13px;
}
.tag_list a {
	background: #FFF;
	border: 1px solid #D1D1D1;
	border-radius: 5px;
	display: block;
	padding: 5px 10px;
}
.tag_list a:hover {
	background: #F6F6F6;
	color: #4c78ae;
}
.hashtag_none a:before {
	content: none;
}

/*-------------------------------*/
/*	TOOLTIP
/*-------------------------------*/
.tooltip {
	background: #FFF;
	border-radius: 8px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.3);
	padding: 15px;
	width: 230px;
	z-index: 10;
	display: none;
}

.follow_head_tool .tooltip {
    margin-top: 10px;
    position: absolute;
}

.tooltip_title {
	border-bottom: 1px solid #707070;
	padding-bottom: 10px;
	margin-bottom: 10px;
	font-weight: 700;
	color: #000;
}
.tooltip_text {
	margin-bottom: 10px;
	font-size: 12px;
}
.tooltip_btn {
	margin-bottom: 10px;
	text-align: center;
	font-weight: 700;
}
.tooltip_btn:last-child {
	margin-bottom: 0;
}
.tooltip_btn a {
	background: #FFF;
	border: 1px solid #00418F;
	display: block;
	padding: 10px 0;
}
.tooltip_btn a:hover {
	background: #00418F;
	color: #FFF;
}
.tooltip_btn_02 a {
	background: #00418F;
	color: #FFF;
}
.tooltip_btn_02 a:hover {
	background: #FFF;
	color: #00418F;
}
.tooltip_btn_03 a {
	background: #FFF;
	color: #96887C;
	border: 1px solid #96887C;
}
.tooltip_btn_03 a:hover {
	background: #96887C;
	color: #FFF;
}
/*-------------------------------*/
/*	スクロールバー
/*-------------------------------*/
.scroll_area::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}
.scroll_area::-webkit-scrollbar-track {
	/*background: #FFF;*/
}
.scroll_area::-webkit-scrollbar-thumb {
	background: #CBC6BA;
	border-radius: 10px;
}

/*-------------------------------*/
/*	Breadcrumb
/*-------------------------------*/
.breadcrumb {
	background: #F9F5F2;
	padding-top: 15px;
}
.breadcrumb ul {
	display: flex;
	width: 1040px;
	margin: 0 auto;
}
.breadcrumb_wide ul {
	width: 1200px;
}
.breadcrumb li {
	white-space: nowrap;
	font-size: 11px;
	color: #5D503B;
}
.breadcrumb li:not(:first-child):before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f054";
	margin: 0 5px;
}
.breadcrumb li:last-child {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
.breadcrumb a {
	color: inherit;
}

/* ------------------------------------------------------------------
	1-99. VisualFormattingModel styles
-------------------------------------------------------------------*/
.pc_block{
	display: block !important;
}
.pc_inline{
	display: inline !important;
}
.sp_block{
	display: none !important;
}
.sp_inline{
	display: none !important;
}

/* ------------------------------------
	CLEARFIX
------------------------------------*/
.container .wrapper:after,
.post_item:after,
.article_body:after,
.article_contents:after,
.cf:after {
	content: "";
	display: block;
	clear: both;
}

.flex_col_2 .post_item:nth-last-child(-n+2) {
    border-bottom: none;
    margin-bottom: 0;
}

/*----------------------------------*/
/*  将棋ページ
/*----------------------------------*/
.cont-section {
width: 650px;
    margin: 0 auto 30px;
}
.shogi-title {
    height: 60px;
    margin: 0 0 20px;
    background: #79A905 url(/files/image/shogi/title_bg.jpg) no-repeat;
}
.shogi-title h1 {
    float: left;
    padding: 14px 0 0 90px;
    color: #fff;
    font-size: 23px !important;
}
.shogi-title ul {
    float: right;

    margin: 16px 8px 0 0;
    background: #4A5700;
    box-shadow: 0 0 3px rgba(0,0,0,0.3);
    border-radius: 2px;
}
.shogi-title li {
    float: left;
    font-weight: bold;
}
.shogi-title li a {
    display: block;
    padding: 2px 15px 3px 7px;
    background: url(/files/image/shogi/arrow.gif) no-repeat right 10px;
    color: #fff !important;
    font-size: 14px;
    text-decoration: none;
}
.shogi-title .nav-right {
    border-left: 1px solid #384200;
}
.shogi-title li a:hover {
    color: #C9CDB3 !important;
    background: url(/files/image/shogi/arrow_on.gif) no-repeat right 8px;
}
.shogi-article  {
    font-size: 16px;
    margin: 0 0 20px;
}
.shogi-article h2 {
    margin: 0 0 10px;
    border-bottom: 2px solid #79A905;
    font-weight: bold;
    font-size: 20px;
}
.shogi-prof {
    margin: 0 -10px 20px 0;
    overflow: hidden;
}
.shogi-prof .profile {
    float: left;
width: 320px;
    margin: 0 10px -10000px 0;
    padding: 10px 10px 10000px 10px;
    background: #f2f2f2;
}
.shogi-prof .profile img {
    margin: 0 0 10px 10px;
    border: 1px solid #fff;
}
.shogi-prof .prof-name {
    margin: 0 0 10px 0;
    font-weight: bold;
}
.prof-detail {
    margin: 0 0 10px 0;
    font-size: 95%;
}
.shogi-article .border-n {
    border: none;
}
.shogi-article .schedule {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0px;
    empty-cells: show;
}
.shogi-article .schedule th {
    padding: 5px;
    border: 1px solid #ccc;
    background: #E8F0D4;
    text-align: center;
}
.shogi-article .schedule td {
    padding: 5px;
    border: 1px solid #ccc;
}
.shogi-article .schedule .kyoku {
    text-align: center;
    font-weight: bold;
}
.shogi-article .commentator {
    float: right;
    padding: 0 0 1px 10px;
    background: #fff;
}
.shogi-article .commentator li {
    float: left;
    padding: 5px;
    background: #f2f2f2;
    text-align: center;
}
.shogi-article .commentator li span {
    display: block;
    text-align: center;
    font-size: 90%;
}
.shogi-article .commentator img {
    border: 1px solid #fff;
}
.shogi-article .shogi-info dt {
    margin: 10px 0 0;
    padding: 3px 5px;
    background: #E8F0D4;
}
.shogi-article .shogi-info dd {
    margin: 10px 0;
}

div.content a:link, div.content a:hover, div.content a:active {
    color: #025AC8;
}

div.content a:visited {
color: #0288C8;
}
div.boxIn {
font-size: 16px !important;
line-height: 1.8;
}

img.protectBlank {
position: absolute;
top: 0;
left: 0;
border:none !important;
}

.shogi-prof .profile{
margin:0 10px -100px 0;
padding:10px 10px 100px;
}

.shogi-article .resultTbl {
    width: 80%;
    border-collapse: collapse;
    border-spacing: 0px;
    empty-cells: show;
    text-align: center;
}
.shogi-article .resultTbl th {
    padding: 3px;
    border: 1px solid #ccc;
    background: #E8F0D4;
}
.shogi-article .resultTbl td {
    padding: 3px;
    border: 1px solid #ccc;
}
.twitter {
		font-size: 0.85rem;
    font-weight: bold;
    line-height: 2;
    color: #333;
    border: 2px solid #b4d8f3;
    padding: 6px 0 4px;
    text-align: center;
    margin: 0px 0 15px;
    background: #dfeffb;
    transition: all 0.3s;
}