@charset "utf-8";
/* CSS Document */

/*
Theme Name: red-buffaloes
Description: red-buffaloes theme
Author: sone
*/


/* -------------------- main_visual -------------------- */

.main_visual{
	width:40%;
	margin-left:-20%;
	position:absolute;
	top:38%;
	left:50%;
}

.main_visual img{
	width:100%;
}





/* -------------------- home -------------------- */

.main_contents{
	width:960px;
	margin:0 auto 60px;
	justify-content:space-between;
}

.archive{
	width:300px;
	height:200px;
	position:relative;
}

.archive span,
.result_txt{
	width:100%;
	max-width:300px;
	padding:5px;
	color:#fff;
	background-color:#000;
	box-sizing:border-box;
	position:absolute;
	bottom:0;
	left:0;
}

.archive span:hover{
	text-decoration:underline;
}

.result{
	width:300px;
	height:200px;
	background:url(images/result_bg.jpg) no-repeat;
	position:relative;
}

.result h1{
	margin-bottom:35px;
	padding:5px 0 0 5px;
	font-size:143%;
	font-weight:bold;
	color:#b21b1b;
	text-shadow:1px 1px #fff;
}

.result_score{
	width:290px;
	margin:0 auto 20px;
	justify-content:center;
	align-items:center;
}

.result_score p{
	font-weight:bold;
	color:#fff;
	line-height:1.2em;
	text-shadow:2px 2px #333;
}

.result_score p span{
	margin:0 7px;
	padding:2px 5px;
	font-size:215%;
	text-shadow:none;
	background-color:#000;
}

.result_btn{
	width:150px;
	margin:0 auto;
	border-radius:5px;
	background-color:#b21b1b;
	transition:0.5s;
}

.result_btn:hover{
	background-color:#df2828;
}

.result_btn a{
	padding:5px 0;
	color:#fff;
	text-align:center;
	display:block;
}

#column{
	width:100%;
	min-width:960px;
	margin-bottom:80px;
	padding:40px 0;
	background-color:#0c0c0c;
}

.column_box{
	width:960px;
	margin:0 auto;
	justify-content:space-between;
}

.column_detail{
	width:300px;
	height:300px;
	position:relative;
}

.column_img_sp{
	display:none;
}

.column_txt{
	width:100%;
	max-width:300px;
	padding:5px;
	color:#fff;
	background-color:rgba(0,0,0,0.5);
	position:absolute;
	bottom:0;
	left:0;
}

.column_txt a{
	color:#fff;
	display:block;
}

.column_txt a:hover{
	text-decoration:underline;
}

.contents_box{
	width:960px;
	margin:0 auto 100px;
}

.contents_ttl{
	margin-bottom:40px;
	text-align:center;
}

.member_box{
	justify-content:space-between;
}

.member_detail{
	width:200px;
	margin-top:50px;
	text-align:center;
}

.member_box div.member_detail:nth-child(1),
.member_box div.member_detail:nth-child(2),
.member_box div.member_detail:nth-child(3),
.member_box div.member_detail:nth-child(4){
	margin-top:0;
}

.member_img{
	margin-bottom:10px;
}

#concept{
	width:100%;
	min-width:960px;
	margin-bottom:80px;
	padding:60px 0;
	background:url(images/concept_bg.jpg) no-repeat;
	background-size:cover;
	background-position:50% 50%;
	position:relative;
}

#concept:before{
	background-color:rgba(0,0,0,0.45);
	content:"";
	display:block;
	z-index:0;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
}

.concept_inner{
	width:800px;
	margin:0 auto;
	justify-content:space-between;
	position:relative;
}

#concept h1{
	width:220px;
	height:77px;
	border-bottom:solid 2px #fff;
}

.concept_txt{
	width:550px;
	color:#fff;
	line-height:2em;
}

.concept_txt span{
	font-size:129%;
	font-weight:bold;
}

.contact_txt span,
.required{
	color:#f00;
}

#contact table{
	width:100%;
	margin-bottom:30px;
	border-spacing:0;
}

#contact table th{
	width:30%;
	padding:20px 10px 10px 10px;
	font-size:129%;
	font-weight:bold;
	color:#08085f;
	text-align:left;
	letter-spacing:4px;
	border-bottom:dotted 1px #b8b8b8;
}

#contact table td{
	width:70%;
	padding:20px 0 10px;
	border-bottom:dotted 1px #b8b8b8;
}

#contact table td input[type="text"],
#contact table td input[type="tel"],
#contact table td input[type="email"]{
	width:95%;
	padding:5px;
	font-size:100%;
	font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",游ゴシック,"Yu Gothic",游ゴシック体,YuGothic,メイリオ,Meiryo,"ＭＳ　Ｐゴシック","MS PGothic",Osaka,sans-serif;
	box-sizing:border-box;
}

#contact table td textarea{
	width:95%;
	height:200px;
	padding:5px;
	font-size:100%;
	font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",游ゴシック,"Yu Gothic",游ゴシック体,YuGothic,メイリオ,Meiryo,"ＭＳ　Ｐゴシック","MS PGothic",Osaka,sans-serif;
	box-sizing:border-box;
}

.submit{
	text-align:center;
}

#contact input[type="submit"],
#contact input[type="reset"]{
	margin:0 10px;
    padding:10px 20px;
    font-size:115%;
    color:#fff;
	font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",游ゴシック,"Yu Gothic",游ゴシック体,YuGothic,メイリオ,Meiryo,"ＭＳ　Ｐゴシック","MS PGothic",Osaka,sans-serif;
    border:none;
    border-radius:5px;
    background-color:#b21b1b;
	transition:0.5s;
}

#contact input[type="submit"]:hover,
#contact input[type="reset"]:hover{
	background-color:#df2828;
	cursor:pointer;
}

.twitter_box{
	width:520px;
	margin:0 auto;
}



/* -------------------- archive -------------------- */

.archive_list{
	margin-bottom:50px;
}

.archive_list_ttl{
	margin-bottom:30px;
	padding-bottom:3px;
	font-size:186%;
	font-weight:bold;
	line-height:1.5em;
	border-bottom:solid 3px #b21b1b;
}

.archive_detail{
	margin-bottom:40px;
	padding-bottom:40px;
	border-bottom:solid 1px #ccc;
	justify-content:space-between;
	align-items:center;
}

.archive_list div.archive_detail:last-child{
	margin-bottom:0;
}

.archive_img_pc{
	width:300px;
}

.archive_img_sp{
	display:none;
}

.archive_txt_box{
	width:380px;
}

.archive_ttl{
	font-size:129%;
	font-weight:bold;
	margin-bottom:10px;
}

.archive_ttl span{
	font-size:75%;
	font-weight:normal;
	color:#888;
}

.archive_txt{
	margin-bottom:10px;
	overflow-wrap:break-word;
}

.read_more a{
	width:100%;
	padding:5px 0;
	font-weight:bold;
	color:#b21b1b;
	text-align:center;
	text-decoration:none;
	border:solid 1px #b21b1b;
	display:block;
	box-sizing:border-box;
	transition:0.5s;
}

.read_more a:hover{
	color:#fff;
	background-color:#b21b1b;
}

.pagination{
	text-align:center;
}

a.page-numbers,
.pagination .current{
    background:#fff;
    border:solid 1px #ccc;
    padding:5px 8px;
    margin:0 2px;
    text-decoration:none;
}

.pagination .current{
    background:#b21b1b;
    border:solid 1px #ccc;
    color:#fff;
}

.pagination a:hover{
	text-decoration:underline;
}





/* -------------------- single -------------------- */

.single_ttl{
	margin-bottom:20px;
	padding-bottom:3px;
	font-size:186%;
	font-weight:bold;
	line-height:1.5em;
	border-bottom:solid 3px #b21b1b;
}

.single_post{
	font-size:16px;
	line-height:2em;
	overflow-wrap:break-word;
}

.single_post p{
	margin-bottom:30px;
}

.single_post h2{
	margin:60px 0 20px;
	padding:8px;
	font-size:125%;
	font-weight:bold;
	line-height:1.5em;
	border-top:solid 1px #aaa;
	border-bottom:solid 1px #aaa;
}

.single_post h3{
	margin-bottom:10px;
	font-size:113%;
	font-weight:bold;
	color:#08085f;
	line-height:1.5em;
}

.single_post h3::before{
	content:"■";
}

.single_post img{
	max-width:100%;
	height:auto;
}

.single_post iframe{
	max-width:100%;
}

.single_post a:hover{
	text-decoration:underline;
}

.single_post p.single_date{
	margin-bottom:5px;
}

.single_post p.single_eyecatch{
	margin-bottom:20px;
}

.single_post span.marker_lg{
	background:linear-gradient(transparent 0%,#ffff66 0%);
}

.single_post span.marker_sm{
	background:linear-gradient(transparent 60%,#ffff66 60%);
}

.single_post blockquote{
	padding:30px 15px 8px;
	color:#555;
	font-style:italic;
	background:#efefef;
	box-sizing:border-box;
	position:relative;
}

.single_post blockquote:before{
	font-size:90px;
	color:#cfcfcf;
	line-height:1;
	vertical-align:middle;
	font-family:sans-serif;
    content:"“";
	display:inline-block;
    position:absolute;
    top:5px;
    left:3px;
}

.single_post blockquote p{
	margin:10px 0;
	padding:0;
	line-height:1.7;
}

.single_post blockquote cite{
	font-size:0.9em;
	color:#888;
	text-align:right;
	display:block;
}