@charset "utf-8";
/*== TOPページ ==*/
/*MV*/
.mv {
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
	font-size: 0;
	position: relative;
}
.move {
	max-width: 540px;
	width: 28.125%;
	height: 100vh;
	font-size: 0;
	position: relative;
}
.video {
	height: 100vh;
	font-size: 0;
	width: 100%;
	object-fit: cover;
}
.mv_right {
	max-width: 1380px;
	width: 100%;
	position: relative;
}
.mv_right .img_photo {
	/*background: url(../images/top/pc/mv.jpg);*/
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100vh;
	position: relative;
	filter: grayscale(100%);
	z-index: 99;
}
.mv_right .img_photo img {
	height: 100%;
}
.move:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/common/pc/filter.svg);
	z-index: 99;
}
.mv_right .img_photo:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/common/pc/filter.svg);
	z-index: 99;
	transition: 1s;
}
.mv:hover .mv_right .img_photo:before {
	background-color: rgba(0, 0, 0, .7);
	transition: 1s;
	z-index: 99;
}
.mv_right .mv_item {
	position: absolute;
	bottom: -135px;
	right: 50px;
	max-width: 266px;
	width: 19.2754%;
	/*height: 267px;*/
	z-index: 999;
}
.mv_txt {
	max-width: 1000px;
	position: absolute;
	top: 270px;
	top: 27.5%;
	left: 100px;
	z-index: 999;
	margin-right: 50px;
}
.mv_txt h2 {
	font-size: 48px;
	font-size: 2.5vw;
	font-weight: bold;
	font-family: serif;
	color: #fff;
}
.mv_txt p {
	font-size: 21px;
	color: #fff;
	margin-top: 70px;
	margin-top: 8%;
	line-height: 2;
	font-size: 1.1vw;
}

/*about*/
.about_top {
	margin-top: 80px;

}
.about_top .inner {
	border: none;
}
.intro {
	max-width: 880px;
	margin: 0 auto;
	margin-bottom: 80px;
}
	.intro h2 {
		font-size: 48px;
		font-weight: bold;
		text-align: center;
	}
	.about_txt {
		margin: 50px auto 0;
	}

.about_item {
	max-width: 1150px;
	margin: 0 auto;
	border: 7px solid #333;
	border-radius: 7px;
	position: relative;
	font-size: 0;
}
	.about_item img {
		padding: 60px 230px 60px 60px;
		box-sizing: border-box;
	}
.about_item a:hover {
	color: #333;
}
.about_item .more_btn {
	position: absolute;
	bottom: 65px;
	right: -107px;
}
.about_item a:hover .more_btn {
	transform: translateX(20px)!important;
	transition: .3s;
}

/*オンラインストア*/
.online {
	margin-top: 130px;

}
.online .inner {
	max-width: 1420px;
	width: 85.03%;
	margin: 0 auto;
}

/*taproom*/
.hall_top {
	max-width: 1920px;
	width: 100%;
	margin-top: 130px;
}
	.hall_top .inner {
		align-items: center;
		background-color: #ededec;
	}
		.hall_top .img_photo {
			max-width: 960px;
			width: 50%;
		}
		.hall_top .txt_box {
			max-width: 960px;
			width: 50%;
			box-sizing: border-box;
			padding-left: 2.9941%;
			padding-right: 2.9941%;
		}
			.hall_top h4 {
				font-size: 36px;
				font-weight: bold;
				line-height: 1.5;
				margin-bottom: 5%;
			}
			.hall_top p {
				margin-bottom: 80px;
				margin-bottom: 14%;
				max-width: 650px;
			}

/*BREWERY*/
.brewery_top .inner {
	flex-direction: row-reverse;
}
.brewery_top .txt_box {
	padding-left: 12.5%;
}

/*Instagram*/
#instagram {
	padding-top: 100px;
	padding-bottom: 120px;
}
.instagram_box {
	max-width: 1440px;
	margin: 0 auto;
}
.instagram_list {
	flex-wrap: wrap;
}
.instagram_list li {
	max-width: 275px;
	width: 19.0973%;
	font-size: 0;
	margin-bottom: 1.1285%;
	height: 206px;
	overflow: hidden;
	border: 1px solid #ededed;
	box-sizing: border-box;
}
.instagram_list li+li {
	margin-left: 16.25px;
	margin-left: 1.1285%;
}
.instagram_list li:nth-child(6n) {
	margin-left: 0;
}
.instagram_list li img {
	height: 100%;
}
.instagram_box .btn_box {
	width: 100%;
	text-align: right;
	margin-top: 30px;
}
.instagram_box .more_btn {
	text-align: left;
}


/*ギャラリー*/
.gallery {
	margin-top: 130px;
}
/*
右から左へ
----------------------------*/
@keyframes infinity-scroll-left {
  from {
	transform: translateX(0);
  }
  to {
	transform: translateX(-100%);
  }
}

/*
右から左へ
----------------------------*/
@keyframes infinity-scroll-right {
  from {
	transform: translateX(-100%);
  }
  to {
	transform: translateX(0%);
  }
}


/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop,
.d-demo {
  display: -ms-grid;
  overflow: hidden;
}
/*----------------------------*/
.gallery_wrap {
  display: flex;
  overflow: hidden;
}
.gallery_list {
  display: flex;
  list-style: none;
}
.gallery_list--left{
animation :infinity-scroll-left 95s infinite linear 0.5s both;
}
.gallery_list--right{
animation :infinity-scroll-right 95s infinite linear 0.5s both;
}
.gallery_item {
  width: calc(100vw / 4);
  font-size: 0;
  height: 350px;
}
.gallery_item a:hover {
	opacity: .8;
}
.gallery_item img{
   width: 100%;
   height: 100%;
}


@media screen and (max-width:1600px) {
	/*MV*/
	.mv_right .mv_item {
		bottom: -110px;
	}
	.mv_txt p {
		margin-top: 50px;
	}

	/*BEER HALL*/
	.hall_top p {
		margin-bottom: 8%;
	}

	/*Instagram*/
	.instagram_list {
		max-width: 1420px;
		width: 85.03%;
		margin: 0 auto;
	}
	.instagram_box .btn_box {
		max-width: 1420px;
		width: 85.03%;
		margin: 30px auto 0;

	}
}

@media screen and (max-width:1440px) {
	/*ABOUT US*/
	.about_item {
		max-width: 800px;
	}
	.about_item img {
		padding: 40px 230px 40px 40px;
	}
	.about_item .more_btn {
		bottom: 46px;
	}

	/*オンラインストア*/
	.online {
		margin-top: 100px;
	}

	/*BEER HALL*/
	.hall_top {
		margin-top: 100px;
	}

	/*BREWERY*/
	.brewery_top .txt_box {
		padding-left: 2.9941%;
	}

	/*GALLERY*/
	.gallery {
		margin-top: 100px;
	}
}

@media screen and (max-width:1300px) {
	/*MV*/
	.mv_right .mv_item {
		bottom: -97px;
	}

	/*ABOUT US*/
	.about_top {
		margin-top: 50px;
	}
	.intro {
		margin-bottom: 50px;
	}
	.intro h2 {
		font-size: 36px;
	}
	.about_txt {
		margin: 30px auto 0;
	}

	/*オンラインストア*/
	.online {
		margin-top: 80px;
	}

	/*BEER HALL*/
	.hall_top {
		margin-top: 70px;
	}
	.hall_top h4 {
		font-size: 28px;
	}

	/*GALLERY*/
	.gallery {
		margin-top: 80px;
	}
}

@media screen and (max-width:1024px) {
	/*MV*/
	.mv {
		max-width: 1024px;
		width: 100%;
		box-sizing: border-box;
	}
	.move {
		max-width: 1024px;
		width: 100%;
	}
	.move:before {
		background-color: rgba(0, 0, 0, .2);
	}
	.mv_box {
		display: block;
	}
	.mv_txt {
		/*top: 15.5%;*/
		left: 7%;
	}
	.mv_txt_sp {
		top: 45%;
		left: 50%;
		transform: translate(-50%,-50%);
		margin-right: 0;
	}
	_:lang(x)+_:-webkit-full-screen-document, .mv_txt_sp {
		top: 45%;
		left: 36%;
		transform: translate(-50%,-40%);
		margin-right: 0;
	}
	.mv_right .img_photo {
		height: 50vh;
	}
	.mv_right .img_photo:before {
		background-color: rgba(0, 0, 0, .7);
	}
	.mv_txt h2 {
		font-size: 7vw;
		writing-mode: vertical-rl;
	}
	.mv_txt p {
		font-size: 16px;
		margin-top: 35px;
	}
	.mv_right .mv_item {
		bottom: -75px;
		right: 6.25%;
	}

	/*ABOUT*/
	.intro h2 {
		font-size: 28px;
	}
	.about_top .inner {
		max-width: 1024px;
		width: 100%;
		padding-left: 6.25%;
		padding-right: 6.25%;
		box-sizing: border-box;
	}
	.about_item {
		max-width: 600px;
		border: 5px solid #333;
	}
	.about_item img {
		padding: 30px 155px 30px 30px;
	}
	.about_item .more_btn {
		right: -60px;
		bottom: 35px;
	}
	.intro {
		margin-bottom: 50px;
	}

	/*オンラインストア*/
	.online {
		max-width: 1024px;
		width: 100%;
		padding-left: 6.25%;
		padding-right: 6.25%;
		box-sizing: border-box;
		margin-top: 50px;
	}
		.online .inner {
			display: block;
			max-width: 1024px;
			width: 100%;
		}
		.online .img_photo {
			width: 100%;
			max-width: 1024px;
		}
		.online .txt_box {
			max-width: 1024px;
			width: 100%;
			padding: 25px 20px;
		}
			.online_ttl {
				margin-bottom: 30px;
			}
			.online_txt {
				margin-bottom: 50px;
			}

	/*BEER HALL*/
	.hall_top {
		margin-top: 45px;
	}
		.hall_top .inner {
			display: block;
		}
		.hall_top .img_photo {
			width: 100%;
			max-width: 1024px;
			height: 350px;
			overflow: hidden;
		}
		.hall_top .txt_box {
			max-width: 1024px;
			width: 100%;
			padding-top: 30px;
			padding-bottom: 30px;
			padding-left: 6.25%;
			padding-right: 6.25%;
		}
			.hall_top h4 {
				font-size: 24px;
				margin-bottom: 15px;
			}
			.hall_top p {
				margin-bottom: 30px;
				max-width: 1024px;
				width: 100%;
			}

	/*Instagram*/
	#instagram {
		padding-top: 50px;
		padding-bottom: 80px;
	}
	.instagram_list {
		max-width: 1420px;
		width: 85.03%;
		margin: 0 auto;
	}
	.instagram_list li {
		width: 32%;
	}
	.instagram_list li:nth-child(6n) {
		margin-left: 1.1285%;
	}
	.instagram_list li:nth-child(3n+1) {
		margin-left: 0;
	}
	.instagram_list li:last-child {
		display: none;
	}

	/*GALLERY*/
	.gallery {
		margin-top: 50px;
	}
	.gallery_item {
		width: calc(100vw / 3);
	}
}


@media screen and (max-width:599px) {
	/*MV*/
	.mv {
		padding: 0;
	}
	.mv_txt {
		top: 23%;
		left: 6.25%;
		margin-right: 6.25%;
	}
	.mv_txt_sp {
		top: 45%;
		left: 50%;
		transform: translate(-50%,-50%);
		margin-right: 0;
	}
	_:lang(x)+_:-webkit-full-screen-document, .mv_txt_sp {
		top: 45%;
		left: 28%;
		transform: translate(-50%,-40%);
		margin-right: 0;
	}
	.mv_txt h2 {
		font-size: 8.8vw;
		margin: 0;
	}
	.mv_txt p {
		margin-top: 0px;
	}
	.mv_right .img_photo {
		/*background: url(../images/top/sp/mv.jpg);*/
		background-size: cover;
		height: 480px;
	}
	.mv_right .mv_item {
		bottom: -40px;
	}

	/*ABOUT*/
	.about_top {
		margin-top: 50px;
	}
	.about_top .inner {
		max-width: 768px;
	}
	.about_item {
		border: 3px solid #333;
	}
	.about_item img {
		padding: 20px;
	}
	.about_item .more_btn {
		right: 0;
		bottom: -30px;
		line-height: 25px;
	}
	
	.intro_ttl {
		margin-bottom: 50px;
	}

	/*オンラインストア*/
	.online {
		margin-top: 80px;
	}

	/*BEER HALL*/
	.hall_top .img_photo {
		height: auto;
	}

	/*Instagram*/
	.instagram_list {
		max-width: 599px;
		width: 100%;
		padding-left: 6.25%;
		padding-right: 6.25%;
		box-sizing: border-box;
	}
	.instagram_list li {
		width: 49%;
		height: 175px;
		margin-bottom: 2%;
	}
	.instagram_list li+li {
		margin-left: 2%;
	}
	.instagram_list li:nth-child(3n+1) {
		margin-left: 2%;
	}
	.instagram_list li:nth-child(6n) {
		margin-left: 2%;
	}
	.instagram_list li:nth-child(odd) {
		margin-left: 0;
	}
	.instagram_list li:last-child {
		display: block;
	}
	.instagram_box .btn_box {
		text-align: left;
		margin-top: 20px;
	}


	/*GALLERY*/
	.gallery_item {
		/*width: calc(100vw / 2);*/
		width: calc(100vw / 1.5);
		height: 300px;
	}
	
}

.iphone {
	/* iphoneのみ */
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}


/*== ABOUTページ ==*/
/*ABOUT*/
.about_us .inner {
	padding-top: 80px;
	max-width: 1420px;
	width: 85.03%;
	margin: 0 auto;
}
.about_us .about_item img {
	padding: 60px;
}
.about_us .col_list li {
	margin-bottom: 50px;
}
.about_us .col_list li:nth-child(3),
.about_us .col_list li:nth-child(4) {
	margin-bottom: 0px;
}

/*MEMBER*/
.member {
	margin-top: 130px;
	margin-bottom: 130px;
}
	.member .inner {
		max-width: 1670px;
		width: 86.9792%;
		background-color: #ededec;
		margin-top: 100px;
	}
	.member .inner:nth-child(odd) {
		margin: 0 0 0 auto;
	}
	.member .inner + .inner {
		margin-top: 150px;
	}
		.member .potion_box {
			max-width: 1420px;
			width: 85.03%;
			margin: 0 0 0 auto;
		}
		.member .inner:nth-child(odd) .potion_box {
			margin: 0 0 auto 0;
		}
			.member .img_photo {
				max-width: 778px;
				width: 54.7888%;
				/*transform: translateY(-50px);*/
				transform: translateY(-12%);
			}
	.member .txt_box {
		max-width: 640px;
		width: 45.0705%;
		box-sizing: border-box;
		/*padding: 100px 50px;*/
		padding-top: 7%;
		padding-right: 3.5%;
		padding-bottom: 3.5%;
		padding-left: 3.5%;
	}
	.member_ttl {
		font-size: 36px;
		font-weight: bold;
		line-height: 1;
	}
	.member_ttl span {
		display: inline-block;
		width: 100%;
		margin-top: 10px;
		font-size: 21px;
		color: #999;
	}

	.member_txt {
		margin-top: 50px;
		margin-top: 6.4%;
	}

/*COMPANY*/
#company {
	margin-top: 200px;
	margin-top: 550px;
	padding-bottom: 90px;
	position: relative;
}
	#company:before {
		content: "";
		position: absolute;
		/*top: -80px;*/
		top: -430px;
		left: 0;
		right: 0;
		background-image: url(../images/about_us/pc/company.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		width: 100%;
		height: 800px;
		z-index: -1;
	}
	#company .ttl_tips {
		background-color: transparent;
	}
	#company .ttl_tips .en {
	color: #fff;
	}
	#company .ttl_tips .ja {
		color: #fff;
	}
	#company .ttl_tips .ja:before,
	#company .ttl_tips .ja:after {
		background-color: #fff;
	}
	#company .company_box {
		max-width: 1100px;
		margin: 0 auto;
		padding-left: 4.1667%;
		padding-right: 4.1667%;
		padding-top: 50px;
		padding-bottom: 70px;
		box-sizing: border-box;
		background-color: #fff;
		margin-left: 21.3542%;
		margin-right: 21.3542%;
	}
		#company .company_box .overview {
			margin-top: 0px;
		}
			#company .company_box .overview dl {
				display: flex;
				flex-wrap: wrap;
			}
			#company .company_box .overview dl:first-child {
				padding-top: 0;
				border-top: none;
			}
				#company .company_box .overview dl dt {
					max-width: 130px;
					/*width: 100%;*/
					width: 13.8298%;
					padding-top: 23px;
					padding-bottom: 23px;
					border-bottom: 2px solid #999;
					display: flex;
					align-items: center;
					font-weight: bold;
				}
				#company .company_box .overview dl dd {
					max-width: 810px;
					/*width: 100%;*/
					width: 86.1703%;
					padding-left: 40px;
					box-sizing: border-box;
					padding-top: 23px;
					padding-bottom: 23px;
					border-bottom: 1px solid #999;
				}
					#company .company_box .overview dl dd a {
						color: #333;
					}
					#company .company_box .overview dl dd .postal_code {
						padding-right: 15px;
					}
					#company .company_box .overview dl dd ol {}
						#company .company_box .overview dl dd ol li {
							line-height: 1;
						}
						#company .company_box .overview dl dd ol li + li {
							margin-top: 15px;
						}



@media screen and (max-width:1600px) {
	/*MEMBER*/
	.member .inner {
		width: 92.8%;
		margin-top: 50px;
	}
	.member .potion_box {
		width: 92%;
	}
}

@media screen and (max-width:1440px) {
	/*MEMBER*/
	.member {
		margin-top: 100px;
	}

	/*COMPANY*/
	#company {
	    margin-top: 450px;
	}
	#company:before {
		top: -350px;
		background-position-y: center;
	    background-size: contain;
	    height: 670px;
	}
	
}

@media screen and (max-width:1300px) {
	/*ABOUT*/
	.about_us .inner {
		padding-top: 50px;
	}
	.about_us .col_list li {
		margin-bottom: 30px;
	}

	/*MEMBER*/
	.member {
		margin-top: 70px;
	}
	.member .inner {
		margin-top: 100px;
	}
	.member .inner + .inner {
		margin-top: 100px;
	}

	/*COMPANY*/
	#company {
	    margin-top: 350px;
	}
	#company:before {
	    top: -264px;
		background-position-y: center;
	    background-size: cover;
	    height: 480px;
	}
}

@media screen and (max-width:1024px) {
	/*ABOUT*/
	.about_us .inner {
		max-width: 1024px;
		width: 100%;
		padding-left: 6.25%;
		padding-right: 6.25%;
		box-sizing: border-box;
	}
	.about_us .about_item img {
		padding: 30px;
	}
	figure.pc_tb.mb-80 {
		margin-bottom: 50px;
	}

	/*MEMBER*/
	.member {
		margin-top: 50px;
		margin-bottom: 50px;
	}
	.member .inner {
		max-width: 1024px;
		width: 100%;
		padding-left: 6.25%;
		padding-right: 6.25%;
		box-sizing: border-box;
		background-color: transparent;
	}
	.member .inner {
		margin-top: 0;
	}
	.member .inner + .inner {
		margin-top: 50px;
	}
	.member .potion_box {
		max-width: 1024px;
		width: 100%;
		display: block;
	}
	.member .img_photo {
		max-width: 1024px;
		width: 100%;
		transform: translateY(0);
	}
	.member .txt_box {
		max-width: 1024px;
		width: 100%;
		background-color: #ededec;
		padding: 25px 20px;
	}
	.member_ttl {
		font-size: 24px;
	}
	.member_ttl span {
		font-size: 16px;
	}
	.member_txt {
		margin-top: 15px;
		line-height: 1.7;
	}
	/*COMPANY*/
	#company {
		padding-top: 80px;
		padding-bottom: 80px;
		margin-top: 140px;
	}
		#company:before {
			top: -80px;
			background-position-y: center;
			background-image: url(../images/about_us/sp/company.jpg);
			width: 100%;
			height: 320px;
		}
		/*#company .ttl_tips .en,
		#company .ttl_tips .ja {
			color: #333;
		}
		#company .ttl_tips .ja:before,
		#company .ttl_tips .ja:after {
			background-color: #333;
		}*/
		#company .company_box {
			margin: 0;
			padding-left: 6.25%;
			padding-right: 6.25%;
			padding-bottom: 0;
			text-align: justify;
		}
}


@media screen and (max-width:599px) {
	/*ABOUT*/
	.about .inner {
		padding-top: 50px;
	}
	.about_us .about_item img {
		padding: 20px;
	}
	.about_us .intro {
		margin-bottom: 30px;
	}
	/*MEMBER*/
	.member {
		margin-top: 50px;
		margin-bottom: 50px;
	}
	.member .txt_box {
		padding: 23px 20px;
	}
	/*COMPANY*/
	#company {
	    margin-top: 95px;
	}
	#company:before {
		top: -95px;
		background-size: contain;
	}
	#company .company_box {
	    padding-top: 0;
	    padding-bottom: 0;
	}
	#company .company_box .overview {
		margin-top: 40px;
	}
		#company .company_box .overview dl dt {
			width: 29.8508%;
			padding-top: 20px;
			padding-bottom: 19px;
		}
		#company .company_box .overview dl dd {
			/*max-width: 235px;*/
			width: 70.1493%;
			padding-top: 20px;
			padding-bottom: 19px;
			/*padding-left: 15px;*/
			padding-left: 4.4777%;
		}
		#company .company_box .overview dl:first-child dt {
			padding-top: 0;
		}
		#company .company_box .overview dl:first-child dd {
			padding-top: 0;
		}
		#company .company_box .overview dl dd ol li + li {
			margin-top: 7px;
		}
}

/*== BEER HALLページ ==*/
/*BEER HALL*/
.beer_hall .inner {
	/*padding-top: 80px;*/
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
}
#beer_hall .ttl_tips {
	padding-top: 80px;
}
#beer_hall .ttl_tips img {
	max-width: 600px;
}
.beer_hall_box {
	width: 100%;
	/*padding-top: 100px;*/
}
.beer_hall_img {
	max-width: 1920px;
	margin: 0 auto;
	background-image: url(../images/beer_hall/pc/beer_hall.jpg);
	background-repeat: no-repeat;
	/*background-attachment: fixed;*/
	background-size: cover;
	width: 100%;
	height: 100vh;
	position: sticky;
	position: fixed;
	top: 0;
	transition: .2s;
	z-index: -1;
}
.beer_hall_img:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/common/pc/filter.svg);
	width: 100%;
	height: 100%;
	z-index: -1;
	transition: 1s;
}
.beer_hall_box:hover .beer_hall_img:before {
	background-color: rgba(0, 0, 0, .6);
	transition: 1s;
}

.sticky .img_photo {
	max-width: 1420px;
	margin: 0 auto;
	top: 0;
	/*position: sticky;*/
}
.beer_hall_ {
	position: relative;
	z-index: 9999;
	/*padding-bottom: 100px;*/
}

.beer_hall_box .ttl_tips {
	background-color: transparent;
}
.beer_hall_box .ttl_tips .en {
	color: #fff;
	/*font-family: serif;*/
}

.beer_hall_box .beer_hall_ttl {
	text-align: center;
	margin-bottom: 60px;
	color: #fff;
	font-size: 48px;
	font-weight: bold;
	font-family: serif;
	/*position: static;*/
	z-index: 9999;
}
.beer_hall_box .beer_hall_ttl span {
	position: relative;
}
/*.beer_hall_box .beer_hall_ttl span:before,
.beer_hall_box .beer_hall_ttl span:after {
	content: "";
	position: absolute;
	top: -9px;
	background-image: url(../images/common/pc/banrinoharu_icon.svg);
	background-repeat: no-repeat;
	background-size: 80px;
	width: 80px;
	height:80px;
}
.beer_hall_box .beer_hall_ttl span:before {
	left: -95px;
}
.beer_hall_box .beer_hall_ttl span:after {
	right: -100px;
}*/
.beer_hall_box .beer_hall_txt {
	text-align: center;
	margin-bottom: 60px;
	color: #fff;
	font-size: 36px;
	font-weight: bold;
	font-family: serif;
	/*position: static;*/
	z-index: 9999;
}
.beer_hall_box .beer_hall_txt + .beer_hall_txt {
}


.contents01 {
	max-width: 1420px;
	width: 73.9584%;
	margin: 0 auto;
	margin-bottom: 100px;
	position: relative;
	z-index: 999;
}
.contents01 h3 {
	margin-top: 70px;
	font-size: 48px;
	font-weight: bold;
	color: #fff;
	text-align: center;
}
.contents01 p {
	max-width: 940px;
	margin: 0 auto;
	padding-top: 50px;
	font-size: 36px;
	color: #fff;
}
.contents02 {
	max-width: 1420px;
	width: 73.9584%;
	margin: 0 auto;
	padding-top: 40px;
	margin-bottom: 100px;
	position: relative;
	z-index: 999;
}
.contents02 .zairyou_box {
	position: relative;
}
.contents02 .zairyou_box .img_photo {
	max-width: 740px;
	width: 52.1127%;
	line-height: 1;
}
.contents02 .zairyou_box .left_photo {
	margin: 0;
}
.contents02 .zairyou_box .right_photo {
	margin: 0 0 0 auto;
	margin-top: -250px;
}
.contents02 p {
	max-width: 940px;
	margin: 0 auto;
	padding-top: 80px;
	font-size: 16px;
	color: #fff;
}
.contents03 {
	max-width: 1420px;
	width: 73.9584%;
	margin: 0 auto;
	position: relative;
	z-index: 999;
	margin-top: 150px;
}
.contents03 h3 {
	margin-top: 70px;
	font-size: 36px;
	font-weight: bold;
	font-family: serif;
	line-height: 2.5;
	color: #fff;
	text-align: center;
}
.contents03 p {
	max-width: 940px;
	margin: 0 auto;
	padding-top: 50px;
	padding-bottom: 200px;
	font-size: 16px;
	color: #fff;
}

/*メニュー表*/
#beer_hall .menu {
	margin-bottom: 80px;
}
#beer_hall .menu .ttl_tips {
	background-color: transparent;
}
#beer_hall .menu .ttl_tips .ja {
	color: #fff;
}
#beer_hall .menu .ttl_tips .ja:before,
#beer_hall .menu .ttl_tips .ja:after {
	background-color: #fff;
}
#beer_hall .menu_list {
	max-width: 1420px;
	margin: 0 auto;
	flex-wrap: wrap;
}
#beer_hall .menu_list li {
	width: 32%;
	margin-left: 2%;
	margin-bottom: 2%;
}
#beer_hall .menu_list li:nth-child(3n+1) {
	margin-left: 0;
}
#beer_hall .menu_list li a {
	transition: .2s;
}
#beer_hall .menu_list li a:hover {
	transition: .2s;
	opacity: .7;
}


/*醸造所*/
.brewery {
	background-color: #fff;
}
.contents04 {
	max-width: 1420px;
	width: 73.9584%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 100px;
	position: relative;
	z-index: 999;
}
.contents04 h3 {
	margin-top: 70px;
	font-size: 48px;
	font-weight: bold;
	color: #fff;
	text-align: center;
}
.contents04 p {
	max-width: 1080px;
	margin: 0 auto;
	padding-top: 50px;
	font-size: 36px;
	font-weight: bold;
	font-family: serif;
	/*text-align: center;*/
}
.beer_hall .flex_contents {
	max-width: 1420px;
	width: 85.03%;
	margin: 0 auto;
	z-index: 9999;
	position: relative;
	/*padding-bottom: 200px;*/
}
.beer_hall .flex_contents > div {
	margin-top: 100px;
	/*align-items: center;*/
}
.beer_hall .flex_contents > div+ div {
	/*margin-top: 150px;*/
}
	.beer_hall .flex_contents .img_photo {
		max-width: 778px;
		width: 54.7888%;
		position: relative;
		z-index: 99;
	}
	.contents02 .zairyou_box .img_photo .notes {
		font-size: 14px; 
		color: #fff;
	}
	.beer_hall .flex_contents .txt_box {
		max-width: 640px;
		width: 45.0705%;
		box-sizing: border-box;
		padding-right: 3.5%;
		padding-left: 3.5%;
	}
	.beer_hall .flex_contents h4 {
		font-size: 32px;
		font-weight: bold;
		color: #fff;
		margin-top: 80px;
		position: relative;
		padding-left: 50px;
	}
	.beer_hall .flex_contents h4:before {
		content: "";
		position: absolute;
		top: 4px;
		left: 0;
		background-image: url(../images/common/pc/banrinoharu_icon.svg);
		background-repeat: no-repeat;
		background-size: 40px;
		width: 40px;
		height:40px;
	}
	.beer_hall .flex_contents p {
		margin-top: 40px;
		margin-top: 5.4%;
		color: #fff;
	}


@media screen and (max-width:1600px) {
	/*BEER HALL*/
	.beer_hall_ {
		/*padding-bottom: 100px;*/
	}
	.beer_hall .flex_contents > div {
		margin-top: 100px;
	}
}


@media screen and (max-width:1440px) {
	.beer_hall .flex_contents {
		/*padding-bottom: 200px;*/
	}
	#beer_hall .menu_list {
		max-width: 1280px;
	}
	.contents04 p {
		font-size: 32px;
	}
}

@media screen and (max-width:1300px) {
	/*BEER HALL*/
	.beer_hall_box .beer_hall_txt {
		margin-bottom: 50px;
	}
	.beer_hall .flex_contents h4 {
		font-size: 28px;
	}
	.beer_hall_img:before {
		background-color: rgba(0, 0, 0, .4);
	}
	.contents04 {
		padding-bottom: 80px;
	}
	.contents04 p {
		font-size: 28px;
	}
}



@media screen and (max-width:1024px) {
	/*BEER HALL*/
	#beer_hall .ttl_tips {
		padding-top: 30px;
	}
	#beer_hall .ttl_tips img {
		max-width: 399px;
	}
	.beer_hall .inner {
		padding-top: 0;
	}
		.beer_hall_img:before {
			background-color: rgba(0, 0, 0, .6);
		}
		.beer_hall_ {
			/*padding-bottom: 50px;*/
		}
		.beer_hall_box {
			padding-top: 20px;
		}
		.beer_hall_box .beer_hall_ttl {
			font-size: 36px;
			margin-bottom: 30px;
			/*line-height: 1;*/
		}
		.beer_hall_box .beer_hall_ttl span:before,
		.beer_hall_box .beer_hall_ttl span:after {
			top: -9px;
			background-size: 60px;
			width: 60px;
			height: 60px;
		}
		.beer_hall_box .beer_hall_ttl span:before {
			left: -70px;
		}
		.beer_hall_box .beer_hall_ttl span:after {
			right: -80px;
		}
		.beer_hall_box .beer_hall_txt {
			font-size: 26px;
			margin-bottom: 30px;
		}
	
	.contents01 {
		max-width: 800px;
		width: 100%;
		margin-bottom: 50px;
		padding-left: 6.25%;
		padding-right: 6.25%;
		box-sizing: border-box;
	}
		.contents01 h3 {
			margin-top: 30px;
			font-size: 28px;
		}
		.contents01 p {
			padding-top: 15px;
		}
	.contents02 {
		max-width: 800px;
		width: 100%;
		margin-top: 50px;
		margin-bottom: 50px;
		padding-left: 6.25%;
		padding-right: 6.25%;
		box-sizing: border-box;
		padding-top: 0;
	}
		.contents02 .zairyou_box .right_photo {
			margin-top: -150px;
		}
		.contents02 p {
			padding-top: 50px;
		}
	.contents03 {
		max-width: 800px;
		width: 100%;
		margin-top: 50px;
		padding-left: 6.25%;
		padding-right: 6.25%;
		box-sizing: border-box;
	}
		.contents03 h3 {
			margin-top: 30px;
			font-size: 26px;
		}
		.contents03 p {
			padding-top: 15px;
			/*padding-bottom: 50px;*/
		}

	.beer_hall .flex_contents {
		max-width: 800px;
		/*padding-bottom: 80px;*/
	}
		.beer_hall .flex_contents > div {
			display: block;
		}
		.beer_hall .flex_contents > div {
			margin-top: 50px;
		}
			.beer_hall .flex_contents .img_photo {
				max-width: 800px;
				width: 100%;
			}
			.beer_hall .flex_contents .txt_box {
				max-width: 800px;
				width: 100%;
				padding-left: 0;
				padding-right: 0;
			}
				.beer_hall .flex_contents h4 {
					font-size: 24px;
					margin-top: 30px;
				}
				.beer_hall .flex_contents h4:before {
					top: 0;
				}
				.beer_hall .flex_contents p {
					margin-top: 15px;
				}
	#beer_hall .menu {
		margin-bottom: 30px;
	}
	#beer_hall .menu_list {
		padding-left: 6.25%;
		padding-right: 6.25%;
	}
	.contents04 {
		max-width: 800px;
		width: 100%;
		padding-left: 6.25%;
		padding-right: 6.25%;
		padding-top: 0;
		padding-bottom: 30px;
		box-sizing: border-box;
	}
	.contents04 p {
		padding-top: 25px;
		font-size: 22px;
		line-height: 1;
	}
}


@media screen and (max-width:599px) {
	/*BEER HALL*/
	#beer_hall .ttl_tips img {
		width: 65%;
	}
	.beer_hall_img {
		background-image: url(../images/beer_hall/sp/beer_hall.jpg);
		height: 100%;
	}
	.beer_hall_box .beer_hall_ttl {
		margin-bottom: 30px;
		font-size: 28px;
	}
	.beer_hall_box .beer_hall_ttl span:before,
	.beer_hall_box .beer_hall_ttl span:after {
		top: -4px;
		background-size: 40px;
		width: 40px;
		height: 40px;
	}
	.beer_hall_box .beer_hall_ttl span:after {
		right: -55px;
	}
	.beer_hall_box .beer_hall_ttl span:before {
		left: -50px;
	}
	.beer_hall_box .beer_hall_txt {
		margin-bottom: 25px;
		font-size: 18px;
		text-align: left;
		padding-left: 6.25%;
		padding-right: 6.25%;
	}

	.contents01 .sp_only figure + figure {
		margin-top: 10px;
	}
	.contents01 h3 {
		text-align: left;
		line-height: 2;
	}
	.contents02 .zairyou_box .img_photo {
		max-width: 599px;
		width: 100%;
	}
	.contents02 .zairyou_box .right_photo {
		margin-top: 30px;
	}
	.contents02 p {
		padding-top: 30px;
	}
	.contents03 h3 {
		font-size: 20px;
		text-align: justify;
		line-height: 2;
	}

	.beer_hall .flex_contents {
		max-width: 599px;
		width: 100%;
		padding-left: 6.25%;
		padding-right: 6.25%;
		box-sizing: border-box;
	}
	.beer_hall .flex_contents h4 {
		font-size: 24px;
		padding-left: 26px;
	}
	.beer_hall .flex_contents h4:before {
		top: 6px;
		left: -4px;
		background-size: 25px;
		width: 25px;
		height: 25px;
	}
	.beer_hall .flex_contents p {
		margin-top: 5px;
	}
	.contents04 {
		padding-bottom: 30px;
	}

	.contents04 p {
		font-size: 18px;
		line-height: 1.75;
	}
	.contents04 .sp_only figure + figure {
		margin-top: 10px;
	}
}
// 最新のsafari用
_::-webkit-full-page-media, _:future, :root .text {
	color: red;
}
// 古いsafari用
@media screen and (-webkit-min-device-pixel-ratio:0) {
	::i-block-chrome, .text {
		color: red;
	}
}


/*== ACCESSページ ==*/
.access {
}
	.access .inner {
		max-width: 1000px;
		width: 100%;
		margin: 80px auto 0;
	}
		.access .img_photo {
			/*margin-top: 80px;*/
		}
		.access_info {
			max-width: 1000px;
			width: 100%;
			margin: 0 auto;
			margin-top: 50px;
			/*border: 5px solid #333;*/
			box-sizing: border-box;
			/*padding: 50px;*/
		}
			/*.access .access_info .img_photo {
				margin: 0;
				max-width: 220px;
				width: 27.5%;
			}*/
			.access_info .txt_box {
				max-width: 530px;
				width: 100%;
				box-sizing: border-box;
			}
			.access_info .txt_box:nth-child(2) {
				padding-left: 20px;
				max-width: 460px;
			}
			.access_info  dl {
				display: flex;
			}
			.access_info  dl+dl {
				margin-top: 15px;
			}
				.access_info dl dt {
					width: 90px;
					margin-right: 20px;
					position: relative;
					padding-left: 7px;
				}

				.access_info dl dt:before {
					content: "";
					position: absolute;
					top: 3px;
					left: -5px;
					background-color: #b8292d;
					width: 5px;
					height: 20px;
				}
.access_info dl dd .map_img {
	width: 100%;
}				
.map_img {
	text-align: right;
	margin-top: 5px;
	width: 100%;
}
.map_img a {
	font-size: 18px;
	font-weight: bold;
	transition: .2s;
	position: relative;
}
.map_img a:hover {
	transition: .2s;
	text-decoration: underline;
}
.map_img a:before {
	content: "";
	position: absolute;
	top: 2px;
	left: -15px;
	background-image: url(../images/common/pc/map_black.svg);
	background-repeat: no-repeat;
	background-size: 12px;
	width: 12px;
	height: 22px;
}
.map_img a:hover:before {
	background-image: url(../images/common/pc/map_red.svg);
	transition: .2s;
}

p.announce {
	max-width: 650px;
	margin: 0 auto;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	margin-top: 50px;
	border: 3px solid #333;
	padding: 25px;
}
.map {
	margin-top: 50px;
	font-size: 0;
}
	.map iframe {
		width: 100%;
	}


@media screen and (max-width:1300px) {
	.access .inner {
		width: 100%;
	}
	.access .access_info .txt_box {
		margin-top: 0px;
	}
}

@media screen and (max-width:1024px) {
	.access .inner {
		margin-top: 50px;
		padding-left: 6.25%;
		padding-right: 6.25%;
		box-sizing: border-box;
	}
	.access .img_photo {
		margin-top: 0;
	}
	.access_info {
		max-width: initial;
		width: 100%;
	}
	.access_info .txt_box:nth-child(2) {
		padding-left: 0;
		max-width: 1024px;
		margin-top: 20px;
	}
	#access .inner {
		max-width: 1024px;
		width: 100%;
		padding-left: 6.25%;
		padding-right: 6.25%;
		box-sizing: border-box;
	}
	.access_info {
		max-width: 1024px;
		display: block;
		margin-top: 30px;
	}
	.access .access_info .img_photo {
		display: none;
	}
	.access_info dl {
		display: block;
	}
	.access_info .txt_box {
		max-width: 1024px;
		width: 100%;
		padding-left: 0;
	}
	.access_info dl dt {
		width: 100%;
		font-size: 18px;
		font-weight: bold;
		border-bottom: 1px solid #999;
	}
	p.announce {
		font-size: 18px;
		padding: 15px;
		margin-top: 30px;
	}
}

@media screen and (max-width:599px) {
	#access {
		margin-top: 0px;
		max-width: 599px;
		width: 100%;
	}
		#access .inner {
			max-width: 599px;
			width: 100%;
			padding-left: 6.25%;
			padding-right: 6.25%;
			box-sizing: border-box;
		}
		.access_info {
			max-width: 768px;
			display: block;
			margin-top: 30px;
		}
		.access .access_info .img_photo {
			display: none;
		}
		.access_info dl {
			display: block;
		}
		.access_info .txt_box {
			padding-left: 0;
			width: 100%;
		}

		.access_info dl dt {
			width: 100%;
			font-size: 18px;
			font-weight: bold;
			border-bottom: 1px solid #999;
		}
		p.announce .delete {
			display: none;
		}
	.map_img a {
		font-size: 18px;
	}
	.map_img a:before {
		left: -16px;
		background-size: 12px;
		width: 12px;
		height: 21px;
	}
	.map {
		margin-top: 20px;
	}
}



/*== CONTACTページ ==*/
/*お問い合わせ*/
.contact {}
.contact .inner {
	padding-top: 80px;
	max-width: 1420px;
	margin: 0 auto;
	width: 85.03%;
}
	.contact .contact_ttl {
		display: inline-block;
	}
		.contact .contact_ttl::before {
			background-image: url(../images/pc/m_b_wavy.png);
			max-width: 130px;
			left: 28px;
		}
	.contact .contact_txt {
		text-align: center;
		line-height: 1.75;
		/*margin-top: 75px;*/
	}


@media screen and (max-width:1024px) { 
	.contact .inner {
		padding-top: 50px;
		max-width: 1024px;
		width: 100%;
	}
	.contact .contact_txt {
		margin-top: 30px;
	}

}

@media screen and (max-width:599px) { 
	.contact {
		margin-top: 0;
		padding-top: 0;
	}
		.contact .contact_txt {
			text-align: justify;
			margin-top: 30px;
			padding-left: 6.25%;
			padding-right: 6.25%;
		}
}


/*お問い合わせフォーム*/
#formWrap {
	max-width: 940px;
	margin:0 auto;
	margin-top: 70px;
	margin-bottom: 100px;
	box-sizing: border-box;
}
.formTable {
	width: 100%;
	margin: 0 auto;
	padding-left: 150px;
	padding-right: 150px;
	box-sizing: border-box;
	background-color: #F5F5F5;
	border-radius: 5px;
	padding-top: 12px;
	padding-bottom: 50px;
}

.formTable .textarea dt {
	padding: 30px 20px 0 0;
	vertical-align: top;
}

.formTable dd {
	max-width: 640px;
	width: 100%;
	padding-top: 0;
}
.formTable dt {

	font-weight:normal;
	text-align: left;
	border: none;
	padding: 38px 20px 0 0;
	box-sizing: border-box;
	font-weight: bold;
}
.formTable dt .required {
	margin-right: 10px;
	background-color: #fff;
	padding: 5px 10px;
	/*border-radius: 5px;*/
	font-size: 16px;
	color: #b8292d;
}
.formTable dt .any {
	margin-right: 10px;
	background-color: #fff;
	padding: 5px 10px;
	border-radius: 5px;
	font-size: 16px;
	color: #6E6E6E;
}
.formTable dd .record_area {
	padding: 10px 13px;
	border: 1px solid #ddd;
	color: #555;
	width: 100%;
	/* background-color: #eee; */
	box-sizing: border-box;
	/*border-radius: 6px;*/
	margin-top: 10px;
	height: 48px;
	font-size: 16px;
	padding-left: 15px;
	background-color: #fff;
}
.formTable .textarea dd .record_area {
	height: 230px;
}
.formTable dd .record_area:focus {
	outline: none;
}
input[type="submit"] {
}
input[type="button"] {
}
input[type="submit"] {
	padding: 0;
	border: 1px solid #999;
	transition: .3s;
	cursor: pointer;
	 background-color: #fff; 
	color: #333;
	width: 255px;
	height: 65px;
	font-size: 18px;
	border-radius: 0;
	-webkit-appearance: none;
}
input[type="submit"]:hover {
	transition: .3s;
	opacity: .8;
	background-color: #333;
	color: #fff;
}
input[type="button"] {
	padding: 0;
	border: 1px solid #999;
	transition: .3s;
	cursor: pointer;
	 background-color: #999; 
	color: #fff;
	width: 255px;
	height: 65px;
	font-size: 18px;
	border-radius: 0;
	-webkit-appearance: none;
}
input[type="button"]:hover {
	background-color: #777;
}
input[type="reset"] {
	padding: 10px 25px;
	margin-left: 20px;
	border: 1px solid #ddd;
	cursor: pointer;
	margin-left: 20px;
	border-radius: 0;
	-webkit-appearance: none;
}
input[type="reset"]:hover {
	background-color: #dfdfdf;  
	transition: .5s;
}
@keyframes onAutoFillStart { from {} to {}}
input:-webkit-autofill {
	animation-name: onAutoFillStart;
	transition: background-color 50000s ease-in-out 0s;
}
/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width:1024px) {
	#formWrap {
		max-width: initial;
		width: 100%;
	}
	.formTable {
		border-radius: 0;
		padding-left: 5.3334%;
		padding-right: 5.3334%;
	}
	.formTable dt {
		max-width: 640px;
		margin: 0 auto;
	}
	.formTable dd {
		margin: 0 auto;
	}
}

@media screen and (max-width:1024px) {
	#formWrap {
		margin-top: 50px;
	}
}

@media screen and (max-width:599px) {
#formWrap {
	width:100%;
	margin:0 auto;
	margin-top: 30px;
	margin-bottom: 50px;
}
.formTable {
	border-radius: 0;
	padding-left: 5.3334%;
	padding-right: 5.3334%;
}
	.formTable dt,
	.formTable dd {
		width:auto;
		display:block;
	}
	.formTable dt {
		margin-top: 0;
		border-bottom: 0;
		padding-top: 20px;
	}
		.formTable dt .required {
			font-size: 14px;
		}
		.formTable dt .any {
			font-size: 14px;
		}
	.formTable .textarea dt {
		padding-top: 20px;
	}
	.formTable dd .record_area {
		margin-top: 8px;
	}

	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		height: 65px;
	}
}


/*プライバシーポリシー*/
#formWrap .privacy_txt {
	max-width: 640px;
	width: 100%;
	margin: 90px auto 0;
	font-size: 16px;
}
#formWrap .termsBox {
	max-width: 640px;
	width: 100%;
	margin: 0 auto;
	height: 250px;
	overflow-y: scroll;
	border: 1px solid #acadae;
	padding: 15px 10px;
	box-sizing: border-box;
	margin-top: 0px;
}
	#formWrap .termsBox .scrollWrap dl + dl {
		padding-top: 15px;
	}
	#formWrap .termsBox .scrollWrap dl dt {
	}
	#formWrap .termsBox .scrollWrap dl dd {
		padding-top: 8px;
		font-size: 16px;
		line-height: 1.2;
	}

#formWrap .privacy_check {
	display: none;
}
	#formWrap .privacy_check .required {
		margin-right: 13px;
		background-color: #f9c270;
		padding: 5px 13px;
		border-radius: 5px;
		font-size: 14px;
		color: #fff;
	}
	#formWrap .privacy_check .text_check {
		display: inline-block;
		transform: translateY(1px);
	}
		#formWrap .privacy_check input[type="checkbox" i] {
			margin: 0;
			transform: scale(1.1);
		}
#formWrap .form_btn {
	text-align: center;
	margin-top: 90px;
}

@media screen and (max-width:599px) {
	#formWrap .privacy_txt {
		max-width: 599px;
		margin-top: 50px;
		padding-left: 5.3334%;
		padding-right: 5.3334%;
		box-sizing: border-box;
	}
	#formWrap .termsBox {
		margin-top: 5px;
		width: 90%;
	}
	#formWrap .form_btn {
		margin-top: 50px;
	}
}

/*サンクスページ*/
.thanks .inner {
	margin-top: 80px;
}
	.thanks_box {
		margin-bottom: 130px;
	}
		.thanks_box .tanks_ttl {
			font-size: 24px;
			text-align: center;
			margin-bottom: 50px;
		}
		.thanks_box .tanks_txt {
			text-align: center;
			margin-bottom: 80px;
		}
		.thanks_box .more_btn {
			text-align: center;
			display: block;
			margin: 0 auto;
			max-width: initial;
			width: 275px;
			font-size: 24px;
		}
			.thanks_box .more_btn:before {
				width: 275px;
			}
			.thanks_box .more_btn a {
				text-align: left;
			}

@media screen and (max-width:1024px) {
	.thanks .inner {
		margin-top: 50px;
	}
}

@media screen and (max-width:599px) {
	.contact.thanks {
		margin-top: 0;
	}
	.thanks_box {
		margin-bottom: 50px;
	}
	.thanks_box .tanks_ttl {
		font-size: 18px;
		margin-bottom: 30px;
	}
	.thanks_box .tanks_txt {
		font-size: 16px;
		text-align: justify;
		padding-left: 6.25%;
		padding-right: 6.25%;
		margin-bottom: 50px;
	}
	.thanks_box .top_back a {
		font-size: 16px;
	}
	.thanks_box .more_btn {
		width: 240px;
	}
	.thanks_box .more_btn:before {
		width: 240px;
	}
}