/*
Theme Name: vote
Description: 
Theme URI: 
Version: 1.0
License: vote
License URI: 
*/

@charset "UTF-8";
/* CSS Document */
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;
  font-size: 100%;
  /*font: inherit;*/
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers 
*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, section {
  display: block;
}

body {
	font-family: "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto ,"Noto Sans Japanese" , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-size: 14px;
	color:#333333;
	background: #fff;
	line-height: 1.7;
	height: 100%;
}

ol, ul, li {
  list-style: none !important;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

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

img {
	width: 100%;
	display: block;
}

* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

a, a img {
	text-decoration: none;
	color: #333;
	transition: all 1s ease-out;
}

a:hover, a img:hover{
    opacity: 0.7;
}

/*-----------タイトル画像置換------------*/
.hide_txt {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

/*-----------行間------------*/
.linebk {
	padding-top: 1.8em;
}

/*------clearfix------*/

.clearfix:after {  
  content: " ";   
  display: block;   
  height: 0;   
  clear: both;   
  visibility: hidden;  
}


/*------flex layout------*/
.col, .col2, .col3 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	align-items: flex-start;
}

.col2 {
	justify-content: flex-start;
}

@media screen and (min-width:768px) {
	.col, .col3 {
		justify-content: space-between;
	}
}

@media screen and (max-width:767px) {
	.col, .col3 {
		flex-direction: column;
	}
}

/*---- h2共通-------*/
.h2com {
	font-size: 24px;
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
	text-align: center;
	color: #78492B;
	margin-bottom: 20px;
}

.h2com::before {
	content: "";
	display: block;
	width: 30px;
	height: 20px;
	background: url(img/anime02.gif) no-repeat;
	background-size: cover;
	margin: 0 auto;
}

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

}

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

}

/*------table共通-------*/
table {
	width: 100%;
}

table tr {
	border-top: 1px dotted #CCC;
}

table tr:last-child {
	border-bottom: 1px dotted #CCC;
}

table tr td:first-child, table tr td:last-child {
	padding: 15px 20px;
	vertical-align: top;
}

@media screen and (min-width:768px) {
	table tr td:first-child {
		width: 30%;
	}

	table tr td:last-child {
		width: 70%;
	}
}

@media screen and (max-width:767px) {
	table tr td {
		display: list-item;
		list-style: none;
	}
	
	table tr td:first-child, table tr td:last-child {
		width: 100%;
	}
	
	table tr td:first-child {
		background: #CCC ;
	}
}


/*----wrapper-------*/
.wrapper {
	width: 100%;
}

/*----main-------*/
main {
	width: 100%;
	background: #FFF;
	padding-bottom: 100px;
}

main.under {
	background: #F8FAE3;
	padding-top: 70px;
}

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

          header

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

.header_inner {
	margin: 0 auto;
}

/*.header_inner.transform {
	background: rgba(0,0,0,.5);
    padding: 10px 0;
}*/

header nav li a {
	display: block;
	transition: all 0.5s ease-out;
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
}

.header_inner h1 span.h1_right {
	background: #7D4526;
	display: block;
	position: relative;
}

.header_inner h1 span img {
	transition: all 0.5s ease-out;
	text-align: center;
}

.header_inner h1 span a {
	display: block;
}

.header_inner h1 span span:nth-of-type(1),
.header_inner nav + span {
	max-width: 85px;
	position: absolute;
	top: -85px;
	right: 60px;
}

.header_inner h1 span span:nth-of-type(2),
.header_inner nav + span + span {
	max-width: 30px;
	position: absolute;
	top: -25px;
	right: 200px;
}

.header_inner h1 span span:nth-of-type(3),
.header_inner nav + span + span + span {
	max-width: 55px;
	position: absolute;
	top: -25px;
	right: 145px;
}

/*--TOP以外のheader--*/
.under_h1 {
	width: 100%;
	background: #7D4526;
	padding: 25px 0;
	position: relative;
}

.under_h1 span {
	max-width: 1000px;
	margin: 0 auto;
	display: block;
}

.under_h1 span a {
	max-width: 170px;
	display: block;
}

.header_inner nav + span {
	max-width: 85px;
	position: absolute;
	right: 60px;
}

.header_inner nav + span + span {
	max-width: 30px;
	position: absolute;
	right: 200px;
}

.header_inner nav + span + span + span {
	max-width: 55px;
	position: absolute;
	right: 145px;
}

	

@media screen and (min-width:768px) {
	header {
		padding-top: 60px; 
	}
	
	.header_inner {
		width: 1000px;
		position: relative;
	}
	
	.header_inner h1 span.h1_left, .header_inner h1 span.h1_right {
		max-width: 500px;
	}
	
	.header_inner h1 span.h1_right {
		padding: 138px 85px;
	}
	
	.header_inner h1 span a {
		margin-bottom: 30px;
	}
	
	
	/*----nav-------*/
	header nav {
		width: 100%;
		max-width: 480px;
		padding-bottom: 10px;
	}
		
	header nav li a {
		color: #78492B;
	}

	header nav li a:hover {
		opacity: .5;
	}
	
	#toggleout {
		display: none;
	}
	
	
	/*--TOP以外のheader--*/
	.header_inner nav + span {
		top: -52px;
	}

	.header_inner nav + span + span,
	.header_inner nav + span + span + span {
		top: 8px;
	}
}

@media screen and (max-width:767px) {
	.header_inner h1 span.h1_right {
		margin-top: 90px;
		padding: 5% 20%;
	}
	
	.header_inner h1 span a {
		margin-bottom: 10px;
	}
	
	header nav {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		display: none;
		z-index: 998;
	}
	
	header nav ul {
		height: 100%;
		background: rgba(120,73,40,.6);
		padding: 80px 10px 0;
	}
	
	header nav ul li {
		width: 100%;
	}
	
	header nav ul li a {
		width: 100%;
		display: block;
		text-align: center;
		color: #FFF;
		padding: 15px 0;
		font-size: 16px;
	}
	
	header nav ul li a img {
		margin: 0 auto;
		padding: 15px 0;
	}
	
	header h1.col {
		flex-direction: column-reverse;
	}
	
	#toggleout {
		position: absolute;
		width: 30px;
		height: 30px;
		top: 18px;
		right: 10px;
		cursor: pointer;
		z-index: 999;
	}
	
	#toggle {
		position: relative;
	}
	
	#toggle::after {
		content: "Menu";
		color: #78492B;
		font-weight: bold;
		text-align: center;
		position: absolute;
		top: 28px;
		font-size: 12px;
	}
	
	#toggle li {
		position: absolute;
		width: 100%;
		border-bottom: 4px solid #78492B;
		transition: 0.5s ease-in-out;
	}
	
	#toggle li:nth-child(1) {
		top: 0;
	}
	
	#toggle li:nth-child(2) {
		top: 12px;
	}
	
	#toggle li:nth-child(3) {
		top: 24px;
	}
	
	.on #toggle li:nth-child(1) {
		top: 13px;
		transform: rotate(-45deg);
	}
	
	.on #toggle li:nth-child(2),
	.on #toggle li:nth-child(3){
		top: 13px;
		transform: rotate(45deg);
	}
	
	/*--TOP以外のheader--*/
	.under_h1 {
		margin-top: 90px;
	}
	
	.header_inner nav + span {
		top: 5px;
	}

	.header_inner nav + span + span,
	.header_inner nav + span + span + span {
		top: 65px;
	}
	
	.under_h1 span {
		width: 90%;
	}
}

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

          teaser

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

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

}

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

}

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

          top_news/news

*****************************************/
.top_news {
	background: #f8fae3;
	padding: 30px 0;
	margin-top: 50px;
}

.top_news ul, .news ul {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

.news_img {
	max-width: 300px;
	width: 100%;
	max-height: 200px;
	height: 100%;
	overflow: hidden;
	background: #9fa0a0;
	margin-bottom: 10px;
	display: block;
	transition: all 1s ease-out;
}

.news_img img {
	height: auto;
}

.news_img img:hover {
	transform: scale(1.2);
	transition-duration: 0.8s;
}

.top_news ul li h3, .news ul li h3 {
	font-weight: normal;
	border-bottom: 1px solid #7d4526;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

.top_news ul li h3 span, .news ul li h3 span {
	display: block;
	font-weight: bold;
}

.com_btn a {
	text-align: center;
	color: #FFF;
	display: block;
	width: 100px;
	height: 80px;
	margin: 0 auto;
	background: url(img/more_btn.png) no-repeat;
	background-size: cover; 
	line-height: 80px;
}

@media screen and (min-width:768px) {
	.news ul {
		flex-wrap: wrap;
	}
	
	.top_news ul li, .news ul li {
		width: calc((100%/3) - 2.2vw);
	}
	
	.news ul li {
		margin-bottom: 30px;
	}

	.top_news ul li:nth-child(3n+3),
	.news ul li:nth-child(3n+3){
		margin: 0;
	}
}

@media screen and (max-width:767px) {
	.top_news ul, .news ul {
		width: 90%;
	}
	
	.top_news ul li, .news ul li {
		margin: 0 auto;
	}
}



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

          bottom_nav

*****************************************/
.bottom_nav {
	max-width: 440px;
	margin: 40px auto 0;
}

.bottom_nav ul li {
	width: 200px;
	height: 200px;
	position: relative;
	z-index: 1;
}

.bottom_nav ul li:first-child::before,
.bottom_nav ul li:last-child::before {
	content: "";
	width: 200px;
	height: 200px;
	overflow: hidden;
	background: rgba(120,73,43,.8);
	position: absolute;
	z-index: 2;
}

.bottom_nav ul li:hover {
	transform: scale(1.05);
	transition: all 1s ease-out;
}

.bottom_nav ul li:first-child {
	background: url(img/top_bottom_nav01.jpg) no-repeat;
	background-size: cover;
}

.bottom_nav ul li:last-child {
	background: url(img/top_bottom_nav02.jpg) no-repeat;
	background-size: cover;
}

.bottom_nav ul li a {
	display: block;
	position: absolute;
	z-index: 3;
	color: #FFF;
	text-align: center;
	padding: 68px 52px;
}

.bottom_nav ul li:first-child a {
	padding: 68px 52px;
}

.bottom_nav ul li:last-child a {
	padding: 68px 36px;
}


.bottom_nav ul li a span {
	display: block;
	font-size: 24px;
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
}

@media screen and (max-width:767px) {
	.bottom_nav ul li {
		margin: 0 auto 30px;
	}
	
	.bottom_nav ul li:last-child {
		margin-bottom: 0;
	}
}


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

          company/contact

*****************************************/
.company_in, .contact_in {
	width: 100%;
	max-width: 800px;
	background: #FFF;
	box-shadow: 1px 1px 2px rgba(0,0,0,.25);
	padding: 30px;
	margin: 0 auto;
}

@media screen and (max-width:767px) {
	.company_in, .contact_in {
		width: 90%;
	}
}

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

          works

*****************************************/
.works ul {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	flex-wrap: wrap;
}

.works ul li {
	/*height: 270px;*/
	border-radius: 10px;
	background: #7D4526;
	box-shadow: 1px 1px 2px rgba(0,0,0,.25);
	padding-bottom: 10px;
}

.works_img a {
	height: 220px;
	overflow: hidden;
	background: #9fa0a0;
	margin-bottom: 10px;
	display: block;
	transition: all 1s ease-out;
	border-radius: 10px 10px 0 0;
}

.works_img img:hover {
	transform: scale(1.1);
	transition-duration: 0.8s;
}

.works ul li h3 {
	font-weight: normal;
	padding: 3px 20px;
	color: #FFF;
}

@media screen and (min-width:768px) {	
	.works ul li {
		width: calc((100%/4) - 2.2vw);
	}
	
	.works ul li {
		margin: 0 2vw 5vh 0;
	}

	.works ul li:nth-child(4n+4){
		margin: 0;
	}
	
	.works_img a {
		max-width: 220px;
		width: 100%;
	}
}

@media screen and (max-width:767px) {
	.works ul {
		width: 90%;
	}
	
	.works ul li {
		width: calc((100%/2) - 2.2vw);
	}
	
	.works ul li {
		margin: 0 auto 5vh;
	}
}


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

          footer

*****************************************/
.top_btn {
	width: 30px;
	height: 20px;
	position: absolute;
	top: -75px;
	right: 0;
}

footer {
	width: 100%;
	background: #7d4526;
	padding: 50px 0;
}

.footer_inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	color: #FFF;
	position: relative;
}

.footer_inner ul {
	width: 100%;
	max-width: 300px;
	margin: 30px auto 0;
}

.footer_inner ul li a {
	color: #FFF;
}

.overview {
	text-align: center;
}

.overview h1 a {
	width: 100%;
	max-width: 192px;
	margin: 0 auto 30px;
	display: block;
	transition: all 0.5s ease-out;
}

address {
	width: 100%;
	color: #333;
	font-style: normal;
	text-align: center;
	padding: 10px 0;
}

@media screen and (min-width:768px) {
	.footer_inner ul li a {
		border-right: 1px solid #FFF;
		padding: 0 5px;
	}

	.footer_inner ul li:last-child a {
		border: none;
	}
}

@media screen and (max-width:767px) {
	.footer_inner {
		width: 90%;
	}
	
	.footer_inner ul li {
		width: 100%;
	}
	
	.footer_inner ul li a {
		width: 100%;
		display: block;
		border-bottom: 1px dotted #FFF;
		padding: 20px 0;
		text-align: center;
	}
}

/*----トップへ戻るボタン-------*/
#page-top {
	width: 30px;
	height: 15px;
    position: absolute;
	top: -30px;
	right: 0;
	left: 0;
	margin: auto;
}

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

          single

*****************************************/
.single_box {
	width: 100%;
	max-width: 800px;
	background: #FFF;
	box-shadow: 1px 1px 2px rgba(0,0,0,.25);
	padding: 30px;
	margin: 0 auto;
}

.single_box h2 {
	border-bottom: 1px solid #333;
	margin-bottom: 20px;
	font-size: 20px;
}

.single_box h2 span {
	margin-left: 20px;
}

.single_box img {
	max-width: 800px;
	height: auto;
}

.nav-below {
	margin-top: 50px;
}

.nav-below p a {
	border: 1px solid #7d4526;
	border-radius: 50px;
	padding: 10px 20px;
	text-align: center;
	margin-right: 10px;
	color: #7d4526;
}

.nav-below p a:hover {
	background: #7d4526;
	color: #FFF;
}


@media screen and (max-width:767px) {
	.single_box {
		width: 90%;
	}
}

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

          contact

*****************************************/
.contact .input, .contact .input_text {
    width: 100%;
	height: 40px;
    border-radius: 3px;
    border: none;
    background: #dedede;
    padding: 5px;
}

.contact .input_text {
	height: 190px;
}

input.send_btn, input.return_btn {
    display: block;
    width: 150px;
    height: 40px;
    vertical-align: middle;
    text-align: center;
    background: #fff;
    color: #333;
    border: 1px solid #333;
    font-weight: bold;
    float: left;
    margin: 30px 10px 0 0;
    cursor: pointer;
}

.hissu {
    display: block;
    width: 35px;
    float: right;
    background: #d54c50;
    font-size: 9px;
    font-weight: bold;
    padding: 3px 0;
    color: #FFF;
    border-radius: 10px;
    margin-right: 30px;
    text-align: center;
}


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

          pager

*****************************************/
.wp-pagenavi {
    text-align: center;
}

.wp-pagenavi a, .current {
	width: 50px;
	height: 50px;
	background: url(img/pager_bg.png) no-repeat;
	background-size: cover;
	color: #FFF;
	font-weight: bold;
	line-height: 50px;
	margin-right: 10px;
	display: inline-block;
}
