@charset "utf-8";

/*
Theme Name:VERTERE
Author:Kazuya Nishida
Version: 1.0
*/


/*===========================================================

	0: init

===========================================================*/

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - <a href="http://richclarkdesign.com" target="_blank" rel="noreferrer" style="cursor:help;display:inline !important;">http://richclarkdesign.com</a> 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
body {
line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
display:block;
}
nav ul {
list-style:none;
}
li,
ol {
list-style:none;
}
blockquote, q {
quotes:none;
}
blockquote::before, blockquote::after,
q::before, q::after {
content:'';
content:none;
}
a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
/* change colours to suit your needs */
ins {
background-color:#ff9;
color:#000;
text-decoration:none;
}
/* change colours to suit your needs */
mark {
background-color:#ff9;
color:#000; 
font-style:italic;
font-weight:bold;
}
del {
text-decoration: line-through;
}
abbr[title], dfn[title] {
border-bottom:1px dotted;
cursor:help;
}
table {
border-collapse:collapse;
border-spacing:0;
}
/* change border colour to suit your needs */
hr {
display:block;
height:0;
border:0;   
margin:0;
padding:0;
}
input, select {
vertical-align:middle;
}
body * {
	box-sizing: border-box;
}

/*===========================================================

	for Smart phone

===========================================================*/

/* base setting
=================================*/
body {
	position: relative;
	font-size: 14px;
	line-height: 1.8;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	color: #666;
	background: #f4f4f4;
}
body.fix {
	position: fixed;
	width: 100%;
	height: 100%;
}
#pageContainer {
	padding: 70px 0 0;
}
input,select,textarea {
	font-size: 16px;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
}
form input[type="text"],
form input[type="email"],
form input[type="tel"],
form textarea {
	width: 100%;
	margin: 5px 0 0;
	border: none;
	padding: 8px;
}
form input[type="file"] {
	font-size: 13px;
}
form input[type="submit"] {
	display: block;
	width: 100%;
	border: none;
	padding: 13px 0;
	background: #111;
	text-align: center;
	font-size: 12px;
	color: #fff;
	cursor: pointer;
	transition: all 400ms 0s;
}
form input[type="submit"]:hover {
	background: #555;
}
a {
	text-decoration: none;
	color: #666;
}
a:hover,
a:active {
	text-decoration: none;
}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
.normalContents p,
.normalContents ul,
.normalContents ol,
.normalContents dl,
.normalContents figure {
	margin: 30px 0 0;
}

/* for fadein contents */
.DUMMY {
	opacity: 0;
	transition: all 300ms 0s;
}
.DUMMY.show {
	opacity: 1;
}

/* header
=================================*/
header {
	width: 100%;
	height: 70px;
	position: fixed;
	top: 0;
	padding: 0 30px;
	background: #f4f4f4;
	z-index: 999;
}
header #headerContainer {
	position: relative;
}
header #logo {
	width: 130px;
	position: absolute;
	top: 20px;
	left: 0;
}
header #logo a {
	display: block;
}
header #globalNav {
	display: none;
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	padding: 10vh 34px 0;
	background: #858687;
	z-index: 999;
}
@media screen and (max-width: 320px) {
	header #globalNav {
	padding-top: 7vh;
	}
}
header #globalNav .contentsList {
	height: 68vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
header #globalNav .contentsList li a {
	font-family: 'Lato';
	font-size: 20px;
	font-weight: 300;
	letter-spacing: 0.3em;
	color: #fff;
}
@media screen and (max-width: 320px) {
	header #globalNav .contentsList li a {
	letter-spacing: 0.23em;
	}
}
header #globalNav .snsList {
	position: absolute;
	bottom: 5vh;
	display: flex;
	justify-content: start;
}
header #globalNav .snsList li {
	width: 20px;
	margin: 0 15px 0 0;
}
header #globalNav .snsList li img {
	height: 16px;
}
header .menuBtn {
	position: absolute;
	top: 30px;
	right: 0;
	width: 18px;
	height: 10px;
	border-top: 2px solid #a3a3a3;
	border-bottom: 2px solid #a3a3a3;
	z-index: 1000;
}
header .menuBtn.on {
	width: 22px;
	height: 20px;
	top: 23px;
	right: -3px;
	border: none;
}
header .menuBtn.on::before,
header .menuBtn.on::after {
	width: 2px;
	height: 24px;
	position: absolute;
	top: -1px;
	right: 10px;
	background: #fff;
	content: "";
}
header .menuBtn.on::before {
	transform: rotate(45deg);
}
header .menuBtn.on::after {
	transform: rotate(-45deg);
}

/* main
=================================*/
main {
	padding: 0 20px;
}
main .pageTitle {
	margin: 30px 0 0;
	font-family: 'Lato';
	font-size: 24px;
	font-weight: 300;
	letter-spacing: 0.1em;
}
main .pageTitle.newsTitle {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	letter-spacing: 0;
}
main .brewlogTitle {
	margin: 30px 0 0;
	font-weight: normal;
}
main .date + .pageTitle {
	margin: 0;
}
main .flexWrapper {
	margin: 50px 0 0;
}
main .flexWrapper:first-child {
	margin-top: 0;
}
main .flexWrapper.colRandom > div figure {
	height: calc(100vw - 40px);
	background: no-repeat center center /cover;
}
main .flexWrapper > div + div {
	margin: 40px 0 0;
}
main .flexWrapper.col2 > div + div {
	margin: 20px 0 0;
}
main .flexWrapper > div .text {
	margin: 10px 0 0;
	font-family: 'Lato';
	font-size: 18px;
	font-weight: 300;
	letter-spacing: 0.1em;
}
main .flexWrapper > div.news .text {
	letter-spacing: 0;
}
main .flexWrapper > div .text span {
	display: block;
	line-height: 1;
	font-size: 14px;
}
main .splitLayout .splitRight .row {
	display: none;
}
main .splitMainVisual .splitLeft {
	display: none;
}
main .lead {
	margin: 20px 0 0;
}
main .textFadeBox {
	position: relative;
}
main .textFadeBox + .textFadeBox {
	margin: 30px 0 0;
}
main .textFadeBox .fadeText {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	padding: 60px;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	color: #fff;
	transition: all 400ms 0s;
}
main .textFadeBox:hover .fadeText {
	opacity: 1;
}
main .textFadeBox .fadeText .title {
	font-size: 20px;
}
main .textFadeBox .fadeText p {
	margin: 30px 0 0;
	line-height: 1.6;
}
main .articleBox + .articleBox {
	margin: 20px 0 0;
}
main .articleBox a {
	display: block;
}
main .articleBox figure {
	width: 40%;
	float: left;
}
main .articleBox p {
	padding: 0 0 0 45%;
	line-height: 1.4;
}
main .articleBox .topic {
	margin: 5px 0 0;
}
main .articleBox .brewlogThum {
	width: 40%;
	height: calc((100vw - 40px) * 0.4 / 3 * 2);
	float: left;
}
main .menu {
	margin: 70px 0 0;
}
main .menu h2 {
	text-align: center;
	font-size: 24px;
	font-weight: normal;
}
main .menu .menuWrapper {
	margin: 20px 0 0;
	padding: 40px 30px 40px;
	background: #fff;
}
main .menu .menuWrapper > ul {
	display: flex;
	justify-content: space-around;
	margin: 0 0 30px;
}
main .menu .menuWrapper > ul li {
	font-size: 22px;
	font-weight: normal;
	color: #aaa;
}
main .menu .menuWrapper > ul li.on {
	color: #222;
}
main .menu .menuWrapper .menuList .box {
	display: none;
}
main .name {
	margin: 12px 0 0;
}
main .pager {
	display: flex;
	justify-content: center;
	margin: 10px 0 0;
}
main .pager > p {
	margin: 0;
}
main .pager .prev {
	margin: 0 45px 0 0;
}
main .pager .next {
	margin: 0 0 0 45px;
}
main .pager a {
	position: relative;
	text-decoration: none;
}
main .more {
	margin: 30px 0 0;
	text-align: right;
}

/* footer
=================================*/
footer {
	margin: 80px 0 0;
	padding: 80px 20px 50px;
	background: #4d4d4d;
}
footer * {
	color: #fff;
}
footer .baseInfo .logo {
	width: 180px;
	margin: 0 0 40px;
}
footer .baseInfo .logo ~ p {
	margin: 15px 0 0;
}
footer .baseInfo .sns {
	display: flex;
	justify-content: flex-start;
	margin: 20px 0 0;
}
footer .baseInfo .sns li {
	margin: 0 15px 0 0;
}
footer .baseInfo .sns li img {
	height: 16px;
}
footer .baseInfo .sns li.ln img {
	height: 14px;
}
footer .map img {
	margin: 50px 0 0;
}
footer .hours {
	margin: 40px 0 0;
}
footer .hours a {
	text-decoration: underline;
}
footer .hours a:hover {
	text-decoration: none;
}

/* components
=================================*/


/* clearfix
=================================*/
main .pager::after,
main .articleBox a::after {
	content: "";
	display: block;
	clear: both;
}
main .pager,
main .articleBox {
	zoom: 1;
}


/*===========================================================

	for Tablet and Narrow Screened Destop

===========================================================*/

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

/* base setting
=================================*/	
main {
	position: relative;
	padding: 0 34px;
}
main a figure,
main a .brewlogThum {
	position: relative;
}
main a figure::after,
main a .brewlogThum::after {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	background: #000;
	opacity: 0;
	content: "";
	z-index: 0;
}
main a:hover figure::after,
main a:hover .brewlogThum::after {
	opacity: 0.2;
}
footer .baseInfo .sns li a,
footer .baseInfo p a,
main .flexWrapper > div:not(.overlay) a,
main a figure::after,
main a .brewlogThum::after {
	transition: all 400ms 0s;
}
main .back a::after,
main .more a::after,
main .pager > p a::after {
	transition: all 300ms 0s;
}

/* header
=================================*/
header {
	padding: 0 44px;
}
header #globalNav {
	padding: 8vh 44px 0;
}
header #globalNav .contentsList {
	max-width: 1080px;
	height: 73vh;
	margin: 0 auto;
}
header #globalNav .contentsList li a {
	font-size: 28px;
}

/* main
=================================*/
main .brewlogTitle {
	margin: 0;
}
main .mainVisual {
	position: relative;
}
main .mainVisual .pic {
	height: calc((100vw - 68px) / 2);
	max-height: 540px;
	position: relative;
	overflow: hidden;
}
main .mainVisual .pic img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
main .mainVisual h1 {
	position: absolute;
	top: 25px;
	right: 40px;
	margin: 0;
	font-size: 30px;
	color: #fff;
}
main #mainContainer .eyeCatch {
	display: none;
}
main .flexWrapper {
	display: flex;
	flex-flow: row wrap;
}
main .flexWrapper.colRandom {
	justify-content: space-between;
}
main .flexWrapper.colRandom > div {
	height: 700px;
}
main .flexWrapper.colRandom div figure {
	height: 100%;
}
main .flexWrapper.colRandom .brewery {
	width: 100%;
}
main .flexWrapper > div,
main .flexWrapper > div + div {
	margin: 0 0 calc((100vw - 40px) * 0.025);
}
main .flexWrapper.col2 {
	justify-content: space-between;
}
main .flexWrapper.col2.reverse {
	flex-flow: row-reverse;
}
main .flexWrapper.col2 > div {
	width: calc((100% - 30px) / 2);
}
main .flexWrapper.col2 > div,
main .flexWrapper.col2 > div + div {
	margin: 0;
}
main .flexWrapper.col2 > div + div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}
main .flexWrapper.col3 > div,
main .flexWrapper.col3 > div + div {
	width: calc((100% - 60px) / 3);
	margin: 0 30px 50px 0;
}
main .flexWrapper.col3 > div:nth-child(3n) {
	margin-right: 0;
}
main .flexWrapper > div .text {
	margin: 15px 0 0;
	line-height: 1.3;
}
main .flexWrapper > div .text span {
	margin: 3px 0 0;
}
main .flexWrapper .about,
main .flexWrapper .yard {
	width: 67.5%;
}
main .flexWrapper .news {
	width: 30%;
}
main .flexWrapper .pub,
main .flexWrapper .tasting,
main .flexWrapper .shop {
	width: 48.75%;
}
main .flexWrapper .pub,
main .flexWrapper .shop,
main .flexWrapper .tasting,
main .flexWrapper .btob,
main .flexWrapper .recruit {
	width: 48.75%;
}
main .flexWrapper .where {
	width: 23.12%;
}
main .flexWrapper.colRandom .pub,
main .flexWrapper.colRandom .shop,
main .flexWrapper.colRandom .btob,
main .flexWrapper.colRandom .recruit {
	height: 526px;
}
main .flexWrapper .overlay {
	position: relative;
}
main .flexWrapper .overlay .text {
	position: absolute;
	bottom: 20px;
	left: 20px;
	margin: 0;
}
main .flexWrapper .overlay a {
	color: #fff;
}
main .flexWrapper > div:not(.overlay) a {
	color: #999;
}
main .flexWrapper > div:not(.overlay) a:hover {
	color: #333;
}
main .splitLayout .splitLeft {
	width: calc(40% - 30px);
	float: left;
}
main .splitLayout .splitRight {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	width: 60%;
	float: right;
}
main .splitLayout .splitRight figure {
	width: 48%;
	margin: 0 0 23px;
}
main .splitLayout .splitRight .row {
	display: block;
	width: 100%;
}
main .splitMainVisual {
	display: flex;
	justify-content: space-between;
}
main .splitMainVisual .splitLeft {
	display: block;
	width: calc(66.66% - 15px);
}
main .splitMainVisual .splitRight {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: calc(33.33% - 15px);
}
main .splitMainVisual .splitRight h1 {
	margin: 0;
	text-align: center;
	font-size: 40px;
}
main .splitMainVisual .splitRight h1 span {
	display: block;
	line-height: 1.2;
}
main .splitMainVisual .splitRight p {
	margin: 15px 0 0;
	text-align: center;
}
main .menu .menuWrapper {
	padding: 50px 10% 70px;
}
main .articleBox figure {
	width: auto;
	float: none;
}
main .articleBox p {
	padding: 0;
	line-height: 1.8;
}
main .articleBox .date {
	margin: 12px 0 0;
}
main .articleBox .topic {
	margin: 0;
}
main .articleBox .brewlogThum {
	width: 100%;
	height: calc((100vw - 128px) / 3);
	max-height: 340px;
	float: none;
}
main .pager p a {
	padding: 18px 0;
}
main .more {
	margin: 0;
}
main .back a,
main .more a {
	display: inline-block;
	position: relative;
	padding: 12px 0 15px;
	color: #666;
}
main .back a::after,
main .more a::after,
main .pager > p a::after {
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 13px;
	opacity: 0;
	background: #666;
	content: "";
}
main .back a:hover::after,
main .more a:hover::after,
main .pager > p a:hover::after {
	opacity: 1;
}
	
/* footer
=================================*/
footer {
	margin: 70px 0 0;
	padding: 70px 34px 100px;
	background: #fff;
}
footer * {
	color: #999;
}
footer #footerContainer {
	display: flex;
	justify-content: space-between;
}
footer #footerContainer .baseInfo {
	width: 26%;
}
footer .baseInfo .logo {
	width: 160px;
	margin: 0 0 30px;
}
footer .baseInfo .logo ~ p {
	margin: 8px 0 0;
	font-size: 13px;
}
footer .baseInfo p a:hover {
	color: #333;
}
footer .baseInfo .sns li {
	width: 20px;
	margin: 0 15px 0 0;
}
footer .baseInfo .sns li a {
	display: block;
	width: 27px;
	height: 27px;
	position: relative;
	border-radius: 50%;
	background: #999;
}
footer .baseInfo .sns li a:hover {
	background: #333;
}
footer .baseInfo .sns li img {
	height: 13px;
	position:  absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
footer .baseInfo .sns li.ln img {
	height: 10px;
}
footer #footerContainer .map {
	width: 38%;
}
footer .map img {
	margin: 0;
}
footer #footerContainer .hours {
	width: 26%;
	margin: 0;
	text-align: right;
	font-size: 13px;
}
footer #footerContainer .hours p {
	margin: 8px 0 0;
}

/* components
=================================*/


/* clearfix
=================================*/
main .menu .menuWrapper .menuList > div::after,
main .splitLayout::after {
	content: "";
	display: block;
	clear: both;
}
main .menu .menuWrapper .menuList > div,
main .splitLayout {
	zoom: 1;
}


} /* End of media query for Tablet and Narrow Screened Destop */




/*===========================================================

	for Wide Screened Destop

===========================================================*/

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

/* base setting
=================================*/
header #headerContainer,
main #mainContainer,
footer #footerContainer {
	max-width: 1080px;
	margin: 0 auto;
}
header #globalNav .contentsList li a::after,
header #globalNav .contentsList:hover li a {
	transition: all 300ms 0s;
}

/* header
=================================*/
header #logo {
	position: absolute;
	top: 19px;
}
header #globalNav {
	display: block;
	width: calc(100% - 160px);
	height: auto;
	position: absolute;
	top: 12px;
	right: 0;
	left: auto;
	padding: 0;
	background: none;
}
header #globalNav .contentsList {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	height: auto;
}
header #globalNav .contentsList li {
	margin: 0 0 0 3.2vw;
}
header #globalNav .contentsList li:first-of-type {
	margin: 0;
}
header #globalNav .contentsList li a {
	display: block;
	position: relative;
	padding: 12px 0 15px;
	letter-spacing: 2px;
	font-size: 12px;
	color: #666;
}
header #globalNav .contentsList li a::after {
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 13px;
	opacity: 0;
	background: #666;
	content: "";
}
header #globalNav .contentsList li a:hover::after {
	opacity: 1;
}
header #globalNav .snsList,
header .menuBtn {
	display: none;
}

/* main
=================================*/
	main .menu .menuWrapper {
	padding: 50px 14% 70px;
}


} /* End of media query for Wide Screened Destop */