@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap');


.no-display{
	display:none!important;
}
@media screen and (min-width:800px){
	.no-display-pc{
		display:none!important;
	}
}
@media screen and (max-width:799px){
	.no-display-sp{
		display:none!important;
	}
}

@keyframes animateBlink {
	  0% { opacity:1; }
	100% { opacity:0.4; }
}
@-webkit-keyframes animateBlink {
	  0% { opacity:1; }
	100% { opacity:0.4; }
}

/* ==============================================
CSS reset
=============================================== */
* ,*:before ,*:after{
	box-sizing:border-box;
	text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
}
html ,body ,div ,p ,span ,iframe ,a ,img ,
h1 ,h2 ,h3 ,h4 ,h5 ,h6 ,
dl ,dt ,dd ,ol ,ul ,li ,
form ,label ,
table ,thead ,tbody ,tfoot ,tr ,th ,td ,
blockquote ,q ,pre ,
header ,footer ,nav ,article ,section ,aside{
	margin:0;
	padding:0;
	border:0 none;
	vertical-align:baseline;
	font-size:inherit;
	font-weight:inherit;
}
button ,input ,textarea ,select{
	font-size:16px;
	padding:5px;
	letter-spacing:1px;
	font-family:'Noto Sans JP',sans-serif;
}
input[type="submit"] ,button{
	font-size:16px;
	padding:10px 30px;
	font-family:inherit;
}

html ,body{
	min-height:100%;
	height:100%;
	font-family:'Noto Sans JP',sans-serif;
	line-height:1.6;
}
a{
	color:inherit;
	text-decoration:none;
	cursor:pointer;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
a:hover{
	text-decoration:none;
}

img{
	vertical-align:top;
	max-width:100%;
	max-height:100%;
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
}

ol ,ul ,li{
	list-style:none;
}

table{
	border-collapse:collapse;
	border-spacing:0;
}

/* ============================================
common pc
=============================================== */

html,body{
	margin:0;
	padding:0;
}
html{
	scroll-behavior:smooth;
}

body{
	position:relative;
	font-size:16px;
	color:#000;
	background-color:#fff;
}

@media screen and (min-width:800px){
	#bgLayer{
		min-width:1200px;
		max-width:1920px;
		width:100%;
		margin:0 auto;	
	}
}

@media screen and (max-width:799px){
	#bgLayer{
		width:480px;
		min-width:480px;
		max-width:480px;
		margin:0 auto;
/*
		overflow:hidden;
*/
	}
}

img{
	height:auto;
	display:inline-block;
	border:0 none;
}
video {
	max-width:100%;
}
h1,p{
	margin:0;
}

em{
	font-style:normal;
}

strong{
	font-weight:normal;
}

.tel-link{
	pointer-events:none;
}

.all-center-full{
	width:100%;
	max-width:100%;
	margin:0 auto;
}

.all-center-1200{
	width:1200px;
	max-width:100%;
	margin:0 auto;
}
.all-center-1000{
	width:1000px;
	max-width:100%;
	margin:0 auto;
}
.all-center-800{
	width:800px;
	max-width:100%;
	margin:0 auto;
}
.all-center-600{
	width:600px;
	max-width:100%;
	margin:0 auto;
}

.contents-center {
	padding:2em 1.5em 0;
	text-align:center;
}
.contents-center a:hover {
	opacity:0.8;
}


dl,dt,dd{
	display:block;
	margin:0;
	padding:0;
}

header,section,footer{
	max-width:100%;
}

.object{
	object-fit:cover;
	width:100%;
	height:100%;
}

.drop-shadow{
	filter:drop-shadow(0 0 1px #000);
}

.pointer:hover{
	opacity:0.8;
}


.noData{
	width:100% !important;
	color:#999;
	text-align:center;
}

.nopage{
	padding:10em 0;
	color:#999;
	text-align:center;
}


/* ==============================================
	line-clamp
=============================================== */
.line-clamp{
	overflow:hidden;
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:1;
}
.line-clamp.l2{
	-webkit-line-clamp:2;
}
.line-clamp.l3{
	-webkit-line-clamp:3;
}


/* ==============================================
	pager
=============================================== */
.pager{
	padding-top:1em;
}
.pager.flex{
}
.pager ul li{
	padding:0.3em;
}
.pager ul li a.flex{
	width:2.5em;
	height:2.5em;
	color:#666;
	border:1px solid #666;
	border-radius:0.3em;
}
.pager ul li.active a.flex{
	color:#fff;
	background:#c00;
	border-color:#900;
}
.pager ul li.active a.flex span{
	padding-bottom:0.1em;
	font-size:130%;
}

.pager ul li:not(.active) a.flex:hover span{
	color:#f00;
	text-decoration:underline;
}





/* ==============================================
common SP
=============================================== */

@media screen and (max-width:799px){	
	.tel-link{
		pointer-events:auto;
	}

	.sp-LR15{
		padding-left:15px !important;
		padding-right:15px !important;
	}

	.sp-L15{
		padding-left:15px !important;
	}
	
	.sp-R15{
		padding-right:15px !important;
	}

	.sp-LR10{
		padding-left:10px !important;
		padding-right:10px !important;
	}

	.sp-L10{
		padding-left:10px !important;
	}
	
	.sp-R10{
		padding-right:10px !important;
	}
}

/* ====================================================================
	flex
==================================================================== */
.flex{
	display:flex;
	justify-content:center;
	align-items:center;
}
.flex.left{
	justify-content:flex-start;
}
.flex.right{
	justify-content:flex-end;
}
.flex.between{
	justify-content:space-between;
}
.flex.around{
	justify-content:space-around;
}
.flex.evenly{
	justify-content:space-evenly;
}
.flex.normal{
	justify-content:normal;
}

.flex.top{
	align-items:flex-start;
}
.flex.bottom{
	align-items:flex-end;
}
.flex.stretch{
	align-items:stretch;
}

.flex.column{
	flex-direction:column;
}
.flex.rev{
	flex-direction:row-reverse;
}
.flex.column.rev{
	flex-direction:column-reverse;
}

.flex.wrap{
	flex-wrap:wrap;
}

.flex.col2 > *{
	width:calc(100% / 2);
}
.flex.col3 > *{
	width:calc(100% / 3);
}

.flex > .half{
	width:50%;
}
.flex > .full{
	width:100%;
}

.height-inherit > *{
	height:100%;
}
.height-inherit-all *{
	height:100%;
}

/* =====================================================================
css変数
======================================================================== */

*{
/* =================
craft-gin what-gin
====================*/
	--what-gin-img-wrapper-height:300px;
}

@media screen and (max-width:799px){
	*{
		/* =================
		craft-gin what-gin
		====================*/
		--what-gin-img-wrapper-height:auto;
	}
}

/* =====================================================================
common caption
======================================================================== */
/* ================
common caption2a
=================== */

.caption2a-cover{
	width:340px;
	margin:0 auto;
}

.caption2a-cover2{
	width:800px;
	margin:0 auto;
}

.caption2a{
	text-align:center;
}

.caption2a-en,
.caption2a-ja,
.caption2a-text{
	color:#333;
	font-weight:bold;
	display:block;
}

.caption2a-en{
	border-bottom:2px solid #ccc;
	font-size:220%;
	line-height:1.4;
	padding-bottom:0.2em;
}

.caption2a-ja{
	font-size:110%;
	padding-top:0.2em;
}

.caption2a-text{
	padding-top:1em;
	font-size:180%;
	text-align:center;
}

@media screen and (max-width:799px){

	.caption2a-cover2{
		width:auto;
	}

	.caption2a-text{
		padding-top:0.5em;
		font-size:140%;
	}
}

/* ===============
common caption3a 
================== */

.caption3a{
	text-align:center;
}

.caption3a-en,
.caption3a-ja{
	color:#474342;
	font-weight:bold;
	display:block;
}

.caption3a-ja{
	font-size:200%;
}

.caption3a-text-cover{
	padding-top:2em;
}

@media screen and (max-width:799px){
}

/* ===============
common caption3b 
================== */

/* caption3b */
.caption3b-cover{
	background-color:#221816;
	padding:0.3em 1.5em;
}

.caption3b{
	text-align:center;
}

.caption3b-ja,
.caption3b-en{
	font-weight:bold;
	color:#fff;
	display:block;
	font-size:130%;
}

.caption3b-ja{
	font-size:200%;
	line-height:1.3;
}

.caption3b-en{
	font-size:130%;
	text-align:left;
	padding-left:0.5em;
}

@media screen and (max-width:799px){
	
	/* caption3b-cover */
	.caption3b-cover{
		display:block;
		padding:0.3em 1em;
	}

	.caption3b{
		text-align:left;
		line-height:1;
	}

	.caption3b-ja{
		font-size:130%;
	}
	.caption3b-en{
		font-size:110%;
	}
}

/* ===============
common caption4a
================== */

.caption4a{
	text-align:center;
	width:700px;
	margin:0 auto;
}

.caption4a-ja{
	color:#fff;
	font-weight:bold;
	font-size:200%;
	text-shadow:2px 2px 2px #666;
	letter-spacing:0.1em;
	text-indent:-0.1em;
	background:linear-gradient(to right, #FFF, #a58e48, #FFF);
	display:block;
}

.caption4a-text{
	padding-top:2em;
	font-size:160%;
	font-weight:bold;
	color:#474342;
	text-align:center;
}

@media screen and (max-width:799px){

	.caption4a{
		width:auto;
	}

	.caption4a-ja{
		font-size:180%;
	}
}

/* ===============
common caption5a
================== */

/* caption5a */
.caption5a-text1::before{
	display:block;
	content:"";
	background-color:#221816;
	width:17px;
	height:17px;
	margin-top:3px;
	margin-right:5px;
}

.caption5a-text1{
	font-size:160%;
}

.caption5a-text2{
	font-size:100%;
}

@media screen and (max-width:799px){

	/* caption5a */
	.caption5a{
		line-height:1.2;
	}

	.caption5a-text1{
		font-size:135%;
		justify-content:center !important;
	}

	.caption5a-text2{
		display:block;
		text-align:center;
		font-size:90%;
	}
}

/* =====================================================================
common main
======================================================================== */

/* ============
common icon
=============== */

.icon-wrapper{
	padding:2em 1em 0;
	padding-top:2em;
}

.icon-cover{
	padding-left:0.5em;
	padding-right:0.5em;
}

.icon-cover > a{
	border-radius:50%;
	overflow:hidden;
	display:inline-block;
	width:50px;
}

.icon-cover > a:hover{
	background-color:#2a4cae;
}

@media screen and (max-width:799px){
}

/* ========
common news
===========*/

.img-date1{
	position:relative;
}

.img-cover-news{
	width:365px;
	max-width:100%;
}

.img-cover-news > img{
	border-radius:15px;
}

.date1-cover{
	position:absolute;
	top:2%;
	left:0;
}

.date1{
	background-color:rgba(255, 255, 255, 0.8);
	box-shadow:3px 3px 2px 0 #4b4a4b;
	width:95px;
	height:75px;
}

.year,
.month,
.week,
.day{
	font-weight:bold;
	display:block;
}

.year,
.month,
.week,
.day{
	line-height:1.3;
}

.weekdays{
	color:#4b4a48;
}

.date1-cover.Sat .weekdays{
	color:#4260a8;
}

.date1-cover.Sun .weekdays{
	color:#e70012;
}
.date1-cover.holiday .weekdays{
	color:#f06;
}

.year{
	font-size:75%;
}

.month{
	font-size:130%;
	text-align:center;
}

.week{
	font-size:95%;
}

.day{
	font-size:290%;
	min-width:0.8em;
}

@media screen and (max-width:799px){

	.img-cover-news{
		margin:0 auto;
	}

	.date1-cover{
		position:absolute;
		top:2%;
		left:9%;
	}
	
	.text-cover-news{
		padding:1em 3em 0em;
	}
}

/* ================
common introduction
===================*/

.introduction-wrapper{
	padding:0 1em 2em;
}

.flex.col2 > .introduction-wrapper.type1 {
	width:100%;
}

.introduction-cover > a:hover{
	opacity:0.8;
}

.introduction-cover > a > img{
	border-radius:15px;
}

.introduction-text-cover{
	padding-top:0.5em;
}

.introduction-text{
	text-align:center;
	font-size:130%;
	font-weight:bold;
	color:#787677;
}

@media screen and (max-width:799px){

	.introduction-outer{
		padding:0 0.5em;
		align-items:stretch;
	}

	.introduction-wrapper{
		padding:0 0.5em 2em;
	}

	.introduction-text{
		font-size:95%;
	}
}

/* ============
common waku
=============== */

.waku{
	padding-top:7em;
}

@media screen and (max-width:799px){
	.waku{
		padding-top:3em;
	}
}

/* ============
common more
=============== */

.more-cover1{
	padding:3em 2em 0;
	text-align:right;
}

.more1{
	color:#fff;
	background-color:#5f5959;
	display:inline-block;
	padding-left:0.8em;
	padding-right:0.5em;
	border-top-right-radius:5px;
	border-bottom-right-radius:5px;
	font-size:110%;
}

.more1:hover{
	opacity:0.8;
}

.more-triangle1{
	padding-left:0.2em;
	color:#f39801;
}

@media screen and (max-width:799px){

	.more-cover1{
		padding:2em 2em 0;
	}
}


/* ============
common more2
=============== */
.more-cover2{
	padding-top:1em;
	text-align:right;
}

.more2-a{
	color:#4bb634;
	display:inline-block;
	padding-left:0.8em;
	padding-right:0.5em;
	font-size:110%;
}

.more-triangle2{
	padding-left:0.2em;
	color:#4bb634;
}

.more2-a:hover{
	background-color:rgba(255,170,0,0.5);
	display:inline-block;
}


/* =============
common fv2
================*/

.waku-fv2{
	background-image:url(images/contents/japan_craft_gin_association_header.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:50% 50%;
	width:100%;
	height:300px;
}

@media screen and (max-width:799px){
	.waku-fv2{
		background-position:54.5% 50%;
	}
}

/* ===============
common caption-fv2
================== */

.caption-fv2-ja{
	font-size:300%;
}

.caption-fv2-ja,
.caption-fv2-en{
	color:#333;
	display:block;
}

.caption-fv2-en{
	padding-left:0.3em;
	padding-right:0.3em;
}

@media screen and (max-width:799px){

	.caption-fv2-cover{
		padding-left:1em;
		padding-right:1em;
	}

	.caption-fv2-ja,
	.caption-fv2-en{
		font-weight:bold;
	}

	.caption-fv2-ja{
		font-size:170%;
	}

	.caption-fv2-en{
		font-size:150%;
		padding-left:0em;
		padding-right:0em;	
	}
}

/* ===============
common substance
================== */

.substance-outer{
	padding-top:0;
}

.substance-cover{
	padding-top:5em;
	padding-bottom:5em;
}

.substance-text-cover{
	align-self:stretch;
	width:55%;
}
.substance-text{
	line-height:2.1;
	font-size:120%;
}
.substance-text.small{
	line-height:1.8;
	font-size:110%;
}


.substance-image-cover{
	width:40%;
}


@media screen and (min-width:800px){
	.substance.flex{
		align-items:stretch;
	}

	.substance-wrapper:nth-child(2n) .substance-cover{
		background-color:#efeff1;
	}
	.substance-wrapper:nth-child(2n+1) .substance.flex{
		flex-direction:row-reverse;
	}
}

@media screen and (max-width:799px){

	.substance-outer{
		padding-top:2em;
	}

	.substance-cover{
		padding-top:0;
	}

	.substance-wrapper .substance.flex{
		flex-direction:column-reverse;
	}

	.substance-text-cover{
		width:100%;
	}
	.substance-image-cover{
		width:70%;
	}
	
	.substance-text{
		font-size:105%;
		line-height:1.8;
		padding:1em 0.5em 0;
	}
	.substance-text.small{
		font-size:100%;
	}

}


/* ===============
common material
================== */

/* referral-c */
.material-outer{
	padding-top:5em;
}

.material-wrapper + .material-wrapper{
	padding-top:3em;
}

.material-cover{
	background-color:#f7f7f7;
	border:solid 1px #e1e1e1;
	border-radius:15px;
	padding:3em;
}
.material-cover.t2{
	padding:1.5em;
}
.date3{
	color:#fff;
}

/* material-wrapper2 */
.material-wrapper2{
	padding:2em 2em 0;
}

.material-img-left{
	width:40%;
}

.material-text-outer-right{
	width:60%;
	padding-top:1em;
	padding-left:4em;
}

.material-img-left.no-display + .material-text-outer-right{
	width:100%;
	padding-left:0;
}


/* material-text */

.material-text{
	font-size:120%;
}


@media screen and (min-width:800px){
	.material-wrapper {
		scroll-margin-top:4em;
	}
}
@media screen and (max-width:799px){

	.material-outer{
		padding-top:3em;
	}

	.material-cover{
		padding:1em;
	}

	.date3-cover{
		text-align:right;
	}

	.date3{
		text-align:right;
	}

	/* material-wrapper2 */
	.material-wrapper2{
		flex-direction:column;
		padding:2em 0 0;
	}

	.material-img-left{
		width:70%;
		margin:0 auto;
	}

	.material-text-outer-right{
		width:100%;
		padding:1em 0.5em 0;
	}

	/* material-text-cover */
	.material-text-cover{
		padding:1em 0.5em 0;
	}

	.material-text{
		font-size:100%;
		line-height:1.8;
	}
}


/* ===============
common button
================== */

.button-cover{
	padding-top:5em;
	text-align:center;
}

.button{
	display:inline-block;
}

.button-a{
	min-width:500px;
	text-decoration:none;
	color:#fff;
	border-radius:0.5em;
	background-color:#5e6697;
	padding:0.6em 1em;
	box-shadow:0 8px 0 0 #444c7d;
	transition:all 0.2s ease;
	-webkit-transition:all 0.2s ease;
}

.button-a:hover{
	transform:translateY(8px);
	box-shadow:0 0 0 0 #444c7d;
}

.button-t:nth-of-type(1){
	padding-right:1em;
}

.button-t:nth-of-type(2){
	font-size:135%;
}

.button-t:nth-of-type(3){
	padding-left:1em;
	font-size:160%;
}

@media screen and (max-width:799px){

	.button-cover{
		padding:3em 0 1em;
	}

	.button-a{
		min-width:350px;
	}
}

/* ===============
common three
================== */

.img-wrapper-three{
	padding-top:4em;
}

.img-cover-three{
	padding-left:1em;
	padding-right:1em;
}

.text-cover-three{
	padding-top:2em;
}

.text-three{
	text-align:center;
	font-size:115%;
	line-height:2.2;
}

@media screen and (max-width:799px){

	/* licensed-c */
	.img-wrapper-three{
		padding-top:1em;
	}

	.img-cover-three{
		padding-left:0.3em;
		padding-right:0.3em;
	}

	.text-cover-three{
		padding-top:1em;
	}

	.text-three{
		text-align:center;
		font-size:115%;
		line-height:1.6;
	}
}

/* ===============
common name
================== */

.name-text1{
	font-size:200%;
	line-height:1.1;
	display:block;
	border-bottom:solid 3px #e1e1e1;
	padding-bottom:0.2em;
	font-weight:bold;
	color:#474342;
}

.name-text2{
	font-size:120%;
}

@media screen and (max-width:799px){

	.name{
		text-align:center;
	}

	.name-text1{
		font-size:200%;
		line-height:1.1;
	}
}

/* ===============================
common header
================================== */
/* ========
common nav
===========*/

header{
	position:sticky;
	top:-1px;
	left:0;
	right:0;
	z-index:1000;
}

/* nav-ul1,nav-ul2 */
nav .nav-in > .logo,
nav .nav-in > .logo a,
nav .nav-in > .logo a img,
nav .nav-in > ul > *,
nav .nav-in > ul > li > *,
nav .nav-in > ul > li > a > *,
nav .nav-in > ul > li > a > span > *{
	height:100%;
}

nav .nav-in .logo{
	height:60px;
}

nav .nav-in > .logo a{
	display:block;
}

nav .nav-li{
	flex-grow:1;
	padding:0 0.5em;
	text-align:center;
}

nav .nav-ul1 > .nav-li:first-child,
nav .nav-ul2 > .nav-li:first-child{
	border-left:none;
}

nav .nav-a{
	border-bottom:solid 2px transparent;
	display:block;
}
nav .nav-a.flex{
	display:flex;
}
nav .nav-a.flex > i{
	padding-left:0.3em;
	-webkit-text-stroke:0.5px #000;
	font-size:90%;
}

nav a.nav-a:hover{
	border-bottom-color:#6285d6;
}

nav .nav-a-text1{
	font-size:95%;
}

nav .nav-a-text2{
	font-size:80%;
}

/* nav-ul1 */
nav .nav-ul1-wrapper{
	background-color:#fff;
}

nav .nav-ul1-cover{
	padding:0.5em 0;
}

nav .nav-ul1 > .nav-li{
	border-left:solid 1px #2c2724;
}

nav .nav-ul1 > .nav-li > .nav-a{
	padding-left:1em;
	padding-right:1em;
}

nav .nav-ul1 .nav-a-text1,
nav .nav-ul1 .nav-a-text2{
	display:block;
	color:#2f2725;
}

/* nav-ul2 */
nav .nav-ul2-cover{
	background-color:#16130e;
}

nav .nav-ul2{
	max-width:1200px;
	margin:0 auto;
	padding-top:0.5em;
	padding-bottom:0.5em;
}

nav .nav-ul2 > .nav-li{
	border-left:solid 1px #d5d4d2;
}

nav .nav-ul2 > .nav-li > .nav-a{
	color:#fff;
}

nav .nav-ul2 .nav-a-text1,
nav .nav-ul2 .nav-a-text2{
	display:block;
}

@media screen and (max-width:799px){

	nav .nav-ul1-wrapper{
		padding-bottom:0.1em;
	}

	nav .nav-in .logo{
		height:auto;
		width:240px;
	}

	nav .nav-ul1-cover{
		padding-top:1em;
		padding-bottom:1em;
	}
}

/* ==============================================================
common sp nav menu
================================================================= */

#me-b{
	display:none;
}


	#spMenu .me-d{
		position:fixed;
		top:7px;
		left:calc(50% + 172px);
		z-index:9000;
		background-color:#f8f8f8;
		height:60px;
		width:60px;
		display:block;
		border:solid 1px #999;
		cursor:pointer;
	}

	#spMenu .me-d > span{
		position:absolute;
		top:34%;
		left:0;
		right:0;
		display:block;
		height:3px;
		width:30px;
		border-radius:4px;
		background-color:#555354;
		margin:-1px auto 0;
		transition:top,transform 0.3s ease;
		-webkit-transition:top,transform 0.3s ease;
	}

	#spMenu .me-d > span.me-d1{
		top:calc(50% - 32%);
	}

	#spMenu .me-d > span.me-d3{
		top:calc(50% + 2%);
	}

	#spMenu .me-text{
		font-size:90%;
		padding-top:2.3em;
	}

/* ==============================================================
common sp nav	menu open
================================================================= */

	#me-b ~ #bgLayer{
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
	}

	#me-b:checked ~ #bgLayer{
		filter:blur(4px);
		overflow:hidden;
	}

	#me-b:checked ~ #spMenu #me-c .me-d > span{
		width:40px;
	}

	#me-b:checked ~ #spMenu #me-c .me-d > span.me-d2{
		background-color:rgba(255, 255, 255, 0);
	}

	#me-b:checked ~ #spMenu #me-c .me-d > span.me-d1{
		transform:rotate(45deg);
		top:calc(38% - 0%);
	}

	#me-b:checked ~ #spMenu #me-c .me-d > span.me-d3{
		transform:rotate(-45deg);
		top:calc(38% + 0%);
	}
	
	#me-b:checked ~ #spMenu .me-e{
		right:0;
	}

/* ==============================================================
common sp nav menu
================================================================= */

	#spMenu .me-e{
		width:100%;
		padding-left:2em;
		position:fixed;
		top:0;
		right:-105%;
		z-index:8000;
		color:#000;
		transition:all 0.5s;
		-webkit-transition:all 0.5s;	
		height:100%;
	}

	#spMenu .me-e .me-e-in{
		background-color:rgba(255,255,255,0.8);
		width:100%;
		height:800px;
		max-height:100%;
		overflow:hidden;
		padding-top:0.5em;
		border-radius:0 0 0 0.5em;
		border-left:solid 2px #999;
		border-bottom:solid 2px #999;
	}

	#spMenu .me-e .menu-title-cover{
		padding:0.5em 2em 0;
	}

	#spMenu .me-e .menu-t-img-cover{
		height:50px;
	}
	
	#spMenu .me-e .menu-c-outer{
		padding-left:2em;
		height:calc(100% - 60px);
		overflow-y:scroll;
	}

	#spMenu .me-e .menu-ul-cover{
		padding-top:0.5em;
	}

	#spMenu .me-e .menu-li,
	#spMenu .me-e .menu-li2,
	#spMenu .me-e .menu-li3{
		height:100%;
	}
	
	#spMenu .me-e .menu-li,
	#spMenu .me-e .time-tel-cover{
		width:100%;
	}

	#spMenu .me-e .menu-li + .menu-li{
		padding-top:0.4em;
	}

	#spMenu .me-e .m-link{
		background-color:rgba(255, 255, 255, 0.8);
		display:block;
		line-height:1.2;
		padding:0.3em 3em;
		border-top-left-radius:10px;
		border-bottom-left-radius:10px;
		overflow:hidden;
		border-top:solid 1px #999;
		border-bottom:solid 1px #999;
		border-left:solid 1px #999;
	}
	
	#spMenu .me-e .m-link > span{
		font-size:100%;
		display:block;
	}
	
	#spMenu .me-e .m-link > span + span{
		font-size:70%;
		color:#666;
		display:block;
	}

	#spMenu .me-e .time-tel-cover{
		padding:1em 0 0.5em;
		line-height:1.4;
	}

	#spMenu .me-e .tel{
		font-size:180%;
	}

	/* icon */
	#spMenu .icon-wrapper{
		padding:0.5em 1em 0;
	}
	
	#spMenu .icon-cover > a{
		width:50px;
	}

	#spMenu .icon-cover > a img{
		filter:brightness(0);
	}

	#spMenu .icon-cover > a:hover{
		background-color:transparent;
	}


/* ==================================
common footer
================================== */

footer .waku{
	padding-top:5em;
}

/* ========
footer nav
===========*/

/* nav-ul1,nav-ul2 */
footer .nav-ul1 .nav-a-text1,
footer .nav-ul1 .nav-a-text2{
	display:block;
	color:#fffffd;
}

/* nav-ul1 */
footer .nav-ul1-wrapper{
	background-color:#1e1b1d;
}

footer .nav-ul1-cover{
	padding-top:1.5em;
	padding-bottom:1em;
}

footer .nav-ul1 > .nav-li{
	border-left:solid 1px #d5d4d2;
}

/* nav-ul2 */
footer .nav-ul2-cover{
	background-color:#2c2b29;
}

footer .nav-ul2{
	max-width:1200px;
	margin:0 auto;
	padding-top:1em;
	padding-bottom:1em;
}

footer .contents-cover{
	text-align:center;
	background-color:#504b48;
	padding-top:3em;
	padding-bottom:3em;
}

footer .contents{
	width:350px;
	margin:0 auto;
}

footer .logo-cover{
	width:140px;
	margin:0 auto;
}

footer .text-cover{
	padding-top:1em;
}

footer .text{
	color:#fff;
	font-size:90%;
}

footer .icon-wrapper{
	padding-top:2em;
}

footer .icon-cover{
	padding-left:0.5em;
	padding-right:0.5em;
}

footer .icon-cover > a{
	border-radius:50%;
	overflow:hidden;
	display:inline-block;
}

footer .icon-cover > a:hover{
	background-color:#2a4cae;
}

#copyright{
	padding-top:0.5em;
	padding-bottom:0.5em;
	text-align:center;
	font-weight:bold;
	color:#211715;
}

@media screen and (max-width:799px){	
	footer .waku{
		padding-top:2em;
	}

	footer .nav-ul1-wrapper{
		background-color:transparent;
	}

	footer .nav-ul1-cover{
		padding-top:0;
		padding-bottom:0;
	}
}


/* ===================================
top button
==================================== */

.return-cover{
	display:none;
	position:fixed;
	bottom:7px;
	left:calc(50% + 172px);
	z-index:7000;
}

.return{
	width:60px;
	height:60px;
	line-height:1.2;
	color:#000;
	background-color:#f8f8f8;
	border:solid 1px #999;
	text-align:center;

	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
}

.return-text{
	display:block;
}

.return-text2{
	display:block;
}




/* =====================================================================
index page
========================================================================*/
/* =
fv
=== */

#fv .waku{
	background-image:url(images/contents/top_header.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:50% 50%;
	width:100%;
	max-width:1920px;
	height:800px;
	padding-top:0;
}

@media screen and (max-width:799px){

	#fv .waku{
		background-position:50% 43%;
		height:650px;
	}

	#fv .waku > h2{
		width:300px;
	}

	#fv .caption1-cover{
		width:340px;
	}
	
	#fv .contents-wrapper{
		flex-direction:column;
	}
}

/* ================
introduction-index
===================*/

@media screen and (max-width:799px){

	#introduction-index .waku{
		padding-top:3em;
	}
}

/* ================
index-news
===================*/

.contents-wrapper-news{
	padding-top:3em;
}

.contents-cover-news{
	padding-left:1em;
	padding-right:1em;
}

.text-cover-news{
	padding:1em 0.5em 0;
}
.text-cover-news .title{
	font-size:110%;
	font-weight:bold;
}

.img-cover-news > img{
	width:100%;
	aspect-ratio:1/1;
	object-fit:cover;
	border-radius:15px;
}

@media screen and (max-width:799px){

	.contents-wrapper-news{
		flex-direction:column;
	}

	.contents-cover-news + .contents-cover-news{
		padding-top:3em;
	}

	.contents-wrapper-news.flex.col3 > *{
		width:100%;
	}

	.contents-news{
		width:auto;
	}
	
	.text-cover-news{
		padding:1em 3em 0em;
	}
}



/* ======
galally
=========*/

#galally .contents-cover{
	padding-top:2em;
}

#galally .img-cover{
	padding-left:0.5em;
	padding-right:0.5em;
}

@media screen and (max-width:799px){

	#galally .contents{
		flex-wrap:wrap;
	}

	#galally .img-cover{
		width:50%;
		padding:0.5em;
	}
}

/* ====
event
=======*/

#event .contents-wrapper{
	padding-top:3em;
}

#event .contents-cover{
	padding-left:1em;
	padding-right:1em;
}

#event .contents{
	padding:1em;
	border-radius:15px;
	border:solid 1px #d2d2d2;
}

#event .caption-sub-cover{
	text-align:center;
}

#event .caption-sub,
#event .caption-sub-text{
	font-weight:bold;
}

#event .caption-sub{
	font-size:200%;
	color:#333;
}

#event .caption-sub-text{
	font-size:120%;
	color:#666;
}

#event .img-cover{
	padding-top:1em;
	width:380px;
	margin:0 auto;
}
#event .img-cover img{
	aspect-ratio:3/2;
	object-fit:cover;
}

#event .text-cover{
	padding:1em 3em 0;
}

@media screen and (max-width:799px){

	#event .contents-wrapper{
		flex-direction:column;
	}

	#event .contents-cover + .contents-cover{
		padding-top:3em;
	}

	#event .text-cover{
		padding:1em 2em 0;
	}
}

/* ==========
information
=============*/

#information .contents-cover{
	padding-top:2em;
}



@media screen and (max-width:799px){

	#information .contents-cover{
		padding:2em 1.5em 0;
	}
}


/* =================================================================
	information
================================================================== */

.info-list {
	width:1100px;
	max-width:100%;
	margin:0 auto;
	background-color:#f9f9f9;
	border:solid 2px #e7e7e7;
	padding:1em 2em 2.5em;
}
.info-list > .info-cell {
}
.info-cell .info-inner {
	border-bottom:dotted 3px #d2d8ee;
}

.info-cell h3.flex {
	padding:1em 1.5em;
	justify-content:flex-start;
	cursor:pointer;
	transition:all 0.4s ease;
	-webkit-transition:all 0.4s ease;
}
.info-cell h3.flex > span {
	display:block;
	font-size:110%;
}
.info-cell h3.flex > span:nth-child(1) {
	width:8em;
	color:#0058aa;
	font-weight:bold;
}
.info-cell h3.flex > span:nth-child(2) {
	margin-right:auto;
}
.info-cell.toggle h3.flex:after {
	content:"▲詳細を閉じる";
	margin-left:auto;
	font-size:90%;
	text-align:right;
	color:#09f;
}



/* news top */
.info-cell.newmark h3.flex > span:nth-child(1):before {
	content:"NEW";
	font-size:90%;
	font-weight:bold;
	color:#c00;
	padding-right:1em;
	-webkit-animation:1.5s animateBlink infinite alternate linear;
	animation:1.5s animateBlink infinite alternate linear;
}


/* open */
.info-cell.toggle .info-inner.off > h3.flex:after {
	content:"▼詳細を開く";
}



.info-cell .description {
	display:none;
	width:100% !important;
	padding-top:1em;
	padding-bottom:1em;
	padding-left:2em !important;
	padding-right:2em !important;
	overflow:hidden;
	border-top:1px dashed #d2d8ee;

}
.info-cell .description .image {
}
.info-cell .description .text {
	flex-grow:1;
	font-size:95%;
}



@media screen and (min-width:800px) {
	.info-cell h3.flex:hover {
		background:#def;
	}
	.info-cell .description .image {
		min-width:30%;
		max-width:30%;
		padding-right:2em;
	}
}

@media screen and (max-width:799px) {
	.info-list {
		padding:0.5em 1em;
	}

	.info-cell {
	}
	.info-cell h3.flex {
		padding:0.5em;
		flex-wrap:wrap;
	}
	.info-cell h3.flex > span:nth-child(1) {
		width:100%;
		text-align:left;
	}
	.info-cell h3.flex > span:nth-child(2) {
		width:100%;
		padding-left:0.5em;
	}
	.info-cell .description {
		padding-left:1em !important;
		padding-right:1em !important;
	}

	.info-cell .description > div.flex {
		flex-direction:column;
	}
	.info-cell .description .image {
		width:80%;
		padding:0;
		margin:0 auto 20px;
	}
	.info-cell .description .text {
		width:100%;
	}
}













/* =======
instagram
==========*/

#instagram .img-cover{
	padding-left:0.5em;
	padding-right:0.5em;
}

#instagram .contents-cover{
	padding-top:1em;
}

#instagram .img-cover > a > img{
	aspect-ratio:1 / 1;
	object-fit:cover;
	width:100%;
	height:100%;
}

@media screen and (max-width:799px){

	#instagram .contents{
		flex-wrap:wrap;
	}

	#instagram .img-cover{
		width:calc(100% / 3);
		padding:0.5em;
	}
}

/* =====================================================================
association page
========================================================================*/

@media screen and (max-width:799px){

	#association-fv .waku-fv2{
		background-position:55% 50%;
	}

	#association-fv .caption-fv2-ja{
		font-size:135%;
	}

	#association-fv .caption-fv2-en{
		font-size:105%;
	}

	#association-c .caption2a-cover{
		width:auto;
	}

	#association-c .caption2a-en{
		font-size:170%;
	}
}

/* =====================================================================
craft gin page
========================================================================*/

#craft-gin-fv .waku-fv2{
	background-image:url(images/contents/japan_craft_gin_header.jpg);
	background-position:55% 50%;
}

#craft-gin-fv .caption-fv2-ja,
#craft-gin-fv .caption-fv2-en{
	color:#fff;
	text-shadow:2px 2px 4px #333;
}

#craft-gin-fv .caption2a-en{
	font-size:270%;
}

#craft-gin-c .caption3a-text{
	text-align:center;
}

#craft-gin-c .caption3a-text,
#what-gin .text,
#craft-gin-c .substance-wrapper:nth-child(2) .substance-cover2 .text{
	font-size:110%;
}


/* what-gin */
#craft-gin-c .img-outer{
	padding-top:4em;
}

#what-gin .img-wrapper{
	height:var(--what-gin-img-wrapper-height);
}

#what-gin .img-cover:nth-child(1),
#what-gin .img-cover:nth-child(3){
	width:300px;
}

#what-gin .img-cover:nth-child(2){
	width:110px;
}

#what-gin .img-cover > img{
	aspect-ratio:1 / 1;
	object-fit:cover;
	height:100%;
	width:100%;
	border-radius:15px;
}

#what-gin .text-cover{
	padding:0.5em 0 2em;
}

#what-gin .text{
	font-size:90%;
	text-align:center;
	width:300px;
}

/* nth-child(2) */
#craft-gin-c .substance-wrapper:nth-child(2) .substance{
	background-image:none;
	height:auto;
}

#craft-gin-c .substance-wrapper:nth-child(2) .substance-text-cover{
	width:100%;
	padding-top:0;
}

#craft-gin-c .substance-wrapper:nth-child(2) .substance-cover2 .substance-text{
	line-height:2.2;
	text-align:center;
}



@media screen and (max-width:799px){
	#craft-gin-c .substance-cover2{
		padding-top:1.5em;
	}

	#craft-gin-c .caption3a-ja{
		font-size:150%;
	}

	#craft-gin-c .caption3a-text-cover{
		padding-top:1.5em;
	}

	#craft-gin-c .caption3a-text.left {
		font-size:100;
		text-align:left;
	}

	/* what-gin */
	#craft-gin-c .img-outer{
		padding-top:3em;
	}

	#what-gin .img-cover:nth-child(1),
	#what-gin .img-cover:nth-child(3){
		width:150px;
	}

	#what-gin .img-cover:nth-child(2){
		width:60px;
	}

	#what-gin .text-cover{
		padding:0.5em 0 0;
	}

	#what-gin .text{
		width:150px;
		font-size:90%;
	}
	
	#craft-gin-c .substance-wrapper:nth-child(2) .substance-cover2 .substance-text{
		line-height:1.6;
		text-align:left;
	}

	 #introduction-craft-gin .waku{
		padding-top:36em;
	}
}

/* =====================================================================
licensed page
========================================================================*/

/* licensed-fv */
#licensed-fv .waku-fv2{
	background-image:url(images/contents/craft_gin_licensed_header.jpg);
}

#licensed-fv .caption-fv2-ja,
#licensed-fv .caption-fv2-en{
	color:#fff;
	text-shadow:2px 2px 4px #333;
}


/* licensed-procedure */
#licensed-procedure .img-all{
	padding-top:5em;
}

#licensed-procedure .img-wrapper{
	position:relative;
	width:250px;
}

#licensed-procedure .arrow::before{
	content:"";
	width:0;
	height:0;
	border-style:solid;
	border-width:2em 0 2em 1.5em;
	border-color:transparent transparent transparent #9f9f9f;
	position:absolute;
	top:125px;
	left:0;
	margin-top:-1.5em;
	margin-left:-2.7em;
}

#licensed-procedure .text-cover{
	padding-top:0.5em;
}

#licensed-procedure .text{
	font-size:115%;
	text-align:center;
}

@media screen and (max-width:799px){

	/* licensed-procedure */
	#licensed-procedure .img-all{
		padding-top:0;
	}

	#licensed-procedure .img-outer{
		align-items:stretch;
		flex-direction:column;
	}

	#licensed-procedure .img-wrapper{
		height:auto;
		width:480px;
		padding-top:3em;
	}

	#licensed-procedure .arrow::before{
		border-width:1.5em 2em 0;
		border-color:#9f9f9f transparent transparent;
		top:0.5em;
		left:50%;
		margin-top:0;
		margin-left:-2em;
	}

	#licensed-procedure .img-cover{
		width:220px;
		margin:0 auto;
		position:relative;
		height:auto;
	}

	#licensed-procedure .text-cover{
		padding-top:0.5em;
	}

	#licensed-procedure .text{
		font-size:120%;
	}

	#licensed-procedure .waku{
		padding-top:3em;
	}

	#introduction-licensed .waku{
		padding-top:5em;
	}
}


.lesson-icons.flex {
	width:800px;
	max-width:100%;
	margin:0 auto;
	text-align:center;
	padding-left:0.5em;
	padding-right:0.6em;
}
.lesson-icons.flex > li {
	padding:0.5em 1em 1.5em;
}
.lesson-icons.flex > li > div {
	display:block;
	background-color:#eee;
	padding:0.5em 0;
	border-radius:0.3em;
	font-size:120%;
}
@media screen and (max-width:799px){
	.lesson-icons.flex > li {
		padding:0.3em 0.3em 0.6em ;
	}
	.lesson-icons.flex > li > div {
		font-size:100%;
	}
	.lesson-icons.flex > li > div > .s90 {
		display:block;
		letter-spacing:-0.05em;
		text-indent:-0.05em;
		transform:scaleX(0.95);
	}
}


/* =====================================================================
contact page
========================================================================*/

/* contact-fv */
#contact-fv .waku-fv2{
	background-image:url(images/contents/form_header.jpg);
}

#contact-fv .caption-fv2-ja,
#contact-fv .caption-fv2-en{
	color:#fff;
	text-shadow:2px 2px 4px #333;
}

@media screen and (max-width:799px){
	.waku-fv2{
		background-position:46% 50%;
	}
}

/* =====================================================================
referral page
========================================================================*/

/* referral-fv */
#referral-fv .waku-fv2{
	background-image:url(images/contents/craft_gin_referral_header.jpg);
}

#referral-fv .caption-fv2-ja,
#referral-fv .caption-fv2-en{
	color:#fff;
	text-shadow:2px 2px 4px #333;
}

#referral-c .caption3b-cover{
	padding:0.5em 2em;
}

#referral-c .caption3b-ja{
	line-height:1.4;
}

#referral-c .material-wrapper2{
	padding:3em 2em 0;
}

#referral-c .material-img-left > img{
	object-fit:cover;
	width:100%;
	height:100%;
	aspect-ratio:3 /4;
}

#referral-c .material-text-outer-right{
	padding-top:0;
}

#referral-c .material-text-cover{
	padding-top:0;
}

#referral-c .material-text{
	line-height:2;
}

@media screen and (max-width:799px){

	#referral-c .caption3b-cover{
		padding:0.5em 1em;
	}

	#referral-c .caption3b-ja{
		line-height:1.6;
	}

	#referral-c .caption3b-en{
		font-size:110%;
		padding-left:0.2em;
	}

	#referral-c .material-wrapper2{
		padding:2em 0.5em 0;
	}

	#referral-c .material-img-left:not(.no-display) + .material-text-outer-right{
		padding:1em 0 0;
	}

	#referral-c .material-text-cover{
		padding:0;
	}
}

/* =====================================================================
introduction page
========================================================================*/

/* introduction-fv */
#introduction-fv .waku-fv2{
	background-image:url(images/contents/introduction_header.jpg);
}

#introduction-fv .caption-fv2-ja,
#introduction-fv .caption-fv2-en{
	color:#fff;
	text-shadow:2px 2px 4px #000;
}

#introduction-c .img-cover{
	width:35%;
}

#introduction-c .text-cover{
	width:65%;
}

@media screen and (max-width:799px){
}

/* =====================================================================
event page
========================================================================*/

#event-fv .waku-fv2{
	background-image:url(images/contents/event_header.jpg);
}

#event-c .caption3b-cover{
	background-color:transparent;
	padding-left:1.5em;
	padding-right:1.5em;
}

#event-c .caption3b{
	text-align:left;
}

#event-c .caption3b-ja{
	font-weight:bold;
	color:#333;
	font-size:250%;
	border-bottom:2px solid #939393;
}

#event-c .date4{
	color:#076cc6;
	font-weight:bold;
	font-size:150%;
}

#event-c .material-img-left > img{
	aspect-ratio:4 / 3;
	object-fit:cover;
	width:100%;
	height:100%;
}

#event-c .material-text-outer-right{
	padding-top:0em;
}



@media screen and (max-width:799px){

	#event-fv .waku-fv2{
		background-position:51% 50%;
	}

	#event-fv .caption-fv2-ja,
	#event-fv .caption-fv2-en{
		text-shadow:2px 2px 2px #fff;
	}

	#event-c .caption3b-cover{
		background-color:transparent;
		padding:0;
	}

	#event-c .caption3b{
		padding-top:0.5em;
	}

	#event-c .caption3b-ja{
		font-size:130%;
		display:block;
		text-align:center;
		padding-bottom:0.3em;
	}

	#event-c .date4-cover{
		text-align:center;
	}

	#event-c .date4{
		font-size:90%;
	}
}

/* =====================================================================
courses page
========================================================================*/

/* courses-fv */
#courses-fv .waku-fv2{
	background-image:url(images/contents/courses_lecture_class_header.jpg);
}

#courses-fv .caption-fv2-ja,
#courses-fv .caption-fv2-en{
	color:#fff;
	text-shadow:2px 2px 4px #000;
}

/* courses-c */
#courses-c .caption-text-cover{
	padding:3em 1em 0;
}

#courses-c .caption-text{
	text-align:center;
	font-size:125%;
	line-height:2;
}

#courses-c .material-outer{
	padding-top:3em;
}

#courses-c .material-wrapper + .material-wrapper{
	padding-top:7em;
}

#courses-c .caption6{
	background-color:#892b2c;
	color:#fff;
	padding-left:1.5em;
	padding-right:1.5em;
	border-radius:10px;
	font-size:150%;
}

#courses-c .text-cover{
	padding-top:1em;
}

#courses-c .text{
	font-size:300%;
}
#courses-c .text3{
	font-size:180%;
}
@media screen and (max-width:799px){
	#courses-c .t2 .text3{
		font-size:150%;
	}
	#courses-c .t2 .text3 span{
		font-size:90%;
	}
}

#courses-c .text-cover2{
	padding-top:0.5em;
}

#courses-c .text2{
	text-align:center;
	font-size:150%;
}

#courses-c .button-cover{
	padding-top:2em;
}

/* courses-c2 */
#courses-c2 .caption-text-cover{
	padding-top:2em;
}

#courses-c .material-cover .caption-text,
#courses-c2 .caption-text{
	padding:1em;
	font-size:140%;
	text-align:center;
	border:solid 2px #999;
	width:1000px;
	max-width:100%;
	margin:0 auto;
}


@media screen and (min-width:800px){
	#courses-c2 {
		scroll-margin-top:4em;
	}
}
@media screen and (max-width:799px){

	#courses-fv .waku-fv2{
		background-position:58% 50%;
	}

	/* courses-c */
	#courses-c .caption-text-cover{
		padding:1em 0.5em 0;
	}

	#courses-c .caption-text{
		text-align:left;
	}

	#courses-c .text{
		font-size:180%;
		text-align:center;
	}

	#courses-c .text2{
		font-size:120%;
	}

	/* courses-c2 */
	#courses-c2 .waku{
		padding-top:5em;
	}

	#courses-c2 .caption-text{
		padding:0.5em;
		width:auto;
		font-size:130%;
	}

}

#courses-c .material-cover .material {
	text-align:center;
	padding-bottom:2em;
}

#courses-c .material-cover .caption-text {
	text-align:left;
	font-size:110%;
	padding-left:2em;
}
@media screen and (max-width:799px){
	#courses-c .material-cover .material {
		padding-top:1em;
	}
	#courses-c .material-cover .caption-text {
		font-size:100%;
		line-height:1.8;
		padding:1em 1em 1em 1.3em;
	}
	#courses-c .material-cover .caption-text p + p{
		padding-top:0.5em;
	}
}



.lesson-list {
	padding-top:3em;
}
.lesson-list .caption3b {
	text-align:center;
}
.lesson-list-flex {
	padding:0 1em;
}
.lesson-list-flex > * {
	padding:1em;
}
.lesson-list-frame {
	height:100%;
	padding:1em;
	background-color: #f7f7f7;
	border: solid 1px #e1e1e1;
	border-radius: 0.5em;
}
.lesson-list-caption {
	font-size:150%;
	font-weight:bold;
	color:#fff;
	background:#892b2c;
	text-align:center;
	border-radius:0.3em;
}

.lesson-list-text {
	padding:1em 2em 0.5em;
}
.lesson-list-text p + p {
	padding-top:0.5em;
}
@media screen and (max-width:799px){
	.lesson-list-flex.flex.col2 > * {
		width:100%;
		padding:1em 0 0;
	}
	.lesson-list-frame {
		padding:0.5em;
	}
	.lesson-list-caption {
		font-size:130%;
	}
	.lesson-list-text {
		padding:1em 1em 0.5em;
	}
}



/* =====================================================================
access page
========================================================================*/

/* access-fv */
#access-fv .waku-fv2{
	background-image:url(images/contents/access_contact_header.jpg);
}

#access-fv .caption-fv2-ja,
#access-fv .caption-fv2-en{
	color:#fff;
	text-shadow:2px 2px 4px #000;
}

/* access-place */
#access-place .contents-wrapper{
	padding-top:3em;
}

#access-place .contents-cover + .contents-cover{
	padding-top:3em;
}

#access-place .contents{
	width:800px;
	margin:0 auto;
}

#access-place .caption2a-cover2{
	width:auto;
}

#access-place .caption2a{
	text-align:left;
}

#access-place .caption2a-en{
	color:#000;
	font-weight:normal;
	display:block;
}

#access-place .caption2a-en{
	border-bottom:2px solid #9fd077;
	font-size:220%;
	line-height:1.4;
	padding-bottom:0.2em;
}

#access-place .contents-text-wrapper{
	padding-top:1.5em;
}
#access-place .contents-text-wrapper.center{
	text-align:center;
}

#access-place .contents-text-cover + .contents-text-cover{
	padding-top:1.5em;
}

#access-place .contents-text{
	font-size:120%;
}

#access-place .map-cover{
	text-align:center;
	padding-top:2em;
}

#access-place .map-cover > iframe{
	width:1000px;
}


@media screen and (min-width:800px){
	#access-place .contents-wrapper + .contents-wrapper{
		padding-top:6em;
	}
	#access-place .contents-text-wrapper + .contents-text-wrapper{
		padding-top:4em;
	}
}
@media screen and (max-width:799px){

	/* access-place */
	#access-place .contents-wrapper{
		padding:2em 1em 0;
	}

	#access-place .contents{
		width:auto;
		margin:0 auto;
/*
		background-color:#f7f7f7;
		border:solid 1px #e1e1e1;
		padding:2em 0;
		border-radius:10px;
*/
		padding-bottom:2em;
	}

	#access-place .caption2a{
		text-align:center;
	}

	#access-place .caption2a-en{
		font-size:150%;
		display:inline;
		border-bottom:3px solid #9fd077;
	}

	#access-place .contents-text-wrapper{
		padding-bottom:2em;
		text-align:center;
	}

	#access-place .contents-text-cover + .contents-text-cover{
		padding-top:0.5em;
	}
	
	#access-place .contents-text{
		font-size:120%;
	}

	#access-place .map-cover > iframe{
		width:390px;
	}
}

/* =====================================================================
consultant page
========================================================================*/

#consultant-fv .waku-fv2{
	background-image:url(images/contents/consultant_header.jpg);
}

#consultant-fv .caption-fv2-ja,
#consultant-fv .caption-fv2-en{
	color:#fff;
}

/* consultant-c */
#consultant-c .waku2{
	padding-top:6em;
}

#consultant-c .text-three{
	text-align:left;
}

#consultant-c .substance-cover{
	padding-top:3em;
	padding-bottom:0em;
}


#consultant-c .substance-text-cover{
	line-height:2.1;
}

#consultant-c .substance-text-cover2{
	padding-top:1em;
}

#consultant-c .substance-text,
#consultant-c .substance-text2{
	font-size:120%;
}

/* consultant-form */
#consultant-form .button-cover{
	padding-top:5em;
}

@media screen and (max-width:799px){

	/* consultant-c */
	#consultant-c .waku2{
		padding-top:3em;
	}

	#consultant-c .caption4a-text{
		padding-top:1em;
		font-size:125%;
	}

	#consultant-c .text-three{
		font-size:105%;
		line-height:1.8;
	}

	#consultant-c .text-three + .text-three{
		padding-top:0.5em;
	}

	#consultant-c .substance-outer{
		padding-top:0;
	}

	#consultant-c .substance-cover{
		padding-top:1.5em;
	}

	#consultant-c .substance{
		background-position:50% 0%;
	}

	#consultant-c .substance-text-cover,
	#consultant-c .substance-text-cover2{
		line-height:1.6;
		padding-left:0.5em;
		padding-right:0.5em;
	}

	#consultant-c .substance-text,
	#consultant-c .substance-text2{
		font-size:100%;
	}

	/* consultant-form */
	#consultant-form .button-cover{
		padding-top:2em;
	}

	/* introduction-consultant */
	#introduction-consultant .waku{
		padding-top:4em;
	}
}

#consultant-c .caption4a-text p + p {
	padding-top:0.8em;
}
@media screen and (max-width:799px){
	#consultant-c .caption4a-text {
		padding-bottom:0.5em;
	}
	#consultant-c .text-cover-three {
		padding:1em 0.5em 0;
	}
}

/* =====================================================================
staff page
========================================================================*/

/* staff-fv */
#staff-fv .waku-fv2{
	background-image:url(images/contents/staff_header.jpg);
	background-position:50% 50%;
}

#staff-fv .caption-fv2-ja,
#staff-fv .caption-fv2-en{
	color:#000;
	text-shadow:2px 2px 0 #fff,0 0 0.3em #fff,0 0 1em #fff;
}

/* staff-c-k */
#staff-c-k .material-text-outer-right,
#staff-c-s .material-text-outer-right{
	padding-top:0;
}

#staff-c-k .material-cover,
#staff-c-s .material-cover{
	border:transparent;
	box-shadow:5px 5px 1px 0 #e1e1e1;
}

#staff-c-k .caption5a,
#staff-c-s .caption5a{
	padding-top:1em;
}

#staff-c-k .caption5a-text1,
#staff-c-k .caption5a-text2,
#staff-c-k .diagonal,
#staff-c-s .caption5a-text1,
#staff-c-s .caption5a-text2,
#staff-c-s .diagonal{
	font-size:160%;
	font-weight:bold;
	color:#474342;
}

#staff-c-k .material-text-cover,
#staff-c-s .material-text-cover{
	padding-top:2em;
}

#staff-c-k .material-text0,
#staff-c-s .material-text0{
	font-size:135%;
}

#staff-c-k .material-text,
#staff-c-s .material-text{
	line-height:1.8;
	padding-top:0.5em;
}

@media screen and (max-width:799px){

	#staff-c-k .material-img-left:not(.no-display) + .material-text-wrapper,
	#staff-c-s .material-img-left:not(.no-display) + .material-text-wrapper{
		padding-top:1.5em;
	}

	#staff-c-k .caption5a,
	#staff-c-s .caption5a{
		display:block;
		line-height:1.4;
	}

	#staff-c-k .material-text0,
	#staff-c-s .material-text0{
		text-align:center;
	}
}

/* =====================================================================
news page
========================================================================*/

/* news-fv */
#news-fv .waku-fv2{
	background-image:url(images/contents/news_header.jpg);
	background-position:50% 50%;
}

#news-fv .caption-fv2-ja,
#news-fv .caption-fv2-en{
	color:#5b5b5b;
}

/* news-c */
#news-c .material-cover{
	padding:3em;
}

#news-c .img-cover-news{
	width:100%;
}

#news-c .material-img-left{
	width:35%;
}

#news-c .material-text-outer-right{
	padding:0;
}

#news-c .caption3b{
	text-align:left;
}

#news-c .caption3b-ja{
	color:#4b4a48;
}

#news-c .material-text-cover{
	padding-top:1em;
}

@media screen and (max-width:799px){

	#news-c .material-cover{
		padding:1em 1.5em;
	}

	#news-c .material-lr{
		flex-direction:column;
	}

	#news-c .material-img-left{
		width:100%;
		padding-top:1em;
	}

	#news-c .date1-cover{
		left:0%;
	}

	#news-c .caption3b{
		text-align:center;
	}

}

/* =====================================================================
enjoy page
========================================================================*/

/* enjoy-fv */
#enjoy-fv .waku-fv2{
	background-image:url(images/contents/shop_header.jpg);
}

#enjoy-fv .caption-fv2-ja,
#enjoy-fv .caption-fv2-en{
	color:#fff;
	text-shadow:2px 2px 4px #5b5b5b;
}

#enjoy-fv .caption-fv2-ja{
	font-size:240%;
}

/* shop */
.shop-cover{
	color:#321;
	background-color:#f7f7f7;
	border:solid 1px #e1e1e1;
	border-radius:1em;
	padding:2em 3em;
}

.shop-name{
	font-size:180%;
	font-weight:bold;
	border-bottom:solid 3px #e1e1e1;
	padding-bottom:0.2em;
}

.shop-content{
	padding:1em 2em;
}
.shop-content-title {
	font-size:150%;
	font-weight:bold;
}
.shop-content-body {
	padding:0.5em 1.5em 0;
	font-size:110%;
	line-height:1.8;
}

.shop-cover a{
	color:#0052ac;
}


.shop-gallery.flex {
	padding:1em 0.8em 0;
	justify-content:flex-start;
}
.shop-gallery.flex > * {
	width:calc(100% / 6);
	padding:0 0.2em;
}
.shop-gallery.flex > * img {
	width:100%;
	aspect-ratio:1/1;
	object-fit:cover;
}

.shop-data {
}
.shop-data caption{
	font-size:130%;
	font-weight:bold;
	text-align:left;
}
.shop-data th{
	padding:0.3em 0.5em 0;
	text-align:justify;
	text-align-last:justify;
	white-space:nowrap;
}
.shop-data td{
	padding:0.3em 0.5em 0;
}


@media screen and (max-width:799px){
	#enjoy-fv .caption-fv2-ja{
		font-size:190%;
		line-height:1.5;
	}

	.shop-cover{
		padding:1em;
	}
	.shop-name{
		font-size:150%;
	}

	.shop-content{
		padding:1em 0.5em 0.5em;
	}
	.shop-content-title{
		font-size:120%;
	}
	.shop-content-body{
		padding:0.5em 1em 0;
		font-size:100%;
	}

	.shop-gallery.flex {
		flex-wrap:wrap;
	}
	.shop-gallery.flex > * {
		width:calc(100% / 3);
		padding:0 0.2em 0.4em;
	}

	.shop-data {
		line-height:1.6;
	}
	.shop-data th,
	.shop-data td{
		padding:0.3em 0.5em 0;
	}

}



/* ============================================================================================
	ポップアップイメージ（spotlight）
============================================================================================= */
body #spotlight .header{
	height:60px;
}
body #spotlight .header div{
	width:80px;
	height:60px;
	padding-top:20px;
	opacity:0.7;
}
body #spotlight .icon{
	background-size:40px;
}

.spotlight-group .spotlight{
	overflow:hidden;
	cursor:pointer;
}
.spotlight-group .spotlight img{
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
.spotlight-group .spotlight:hover img {
	transform:scale(1.2);
}


#spotlight{
	font-family:'Noto Sans JP',sans-serif !important;
}


@media screen and (max-width:799px){ 
}



/* ============================================================================================
	form
============================================================================================= */
#form{
	scroll-margin-top:4em;
}

.form-notes{
	width:1000px;
	max-width:100%;
	margin:0 auto;
	font-size:110%;
	text-align:center;
}
.form-notes.wide{
	width:1200px;
}

.form-comment{
	padding-left:0.5em;
	font-size:80%;
	color:#666;
}


.form-wrapper{
	padding-top:3em;
}
.form-wrapper .material-cover{
	width:1000px;
	max-width:100%;
	margin:0 auto;
	padding:1em 2em;
}

dl#form-table{
	width:100%;
	max-width:1000px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}

dl#form-table dt{
	width:35%;
	padding:1em 0;
}

dl#form-table dd{
	width:calc(100% - 35%);
	padding:1em 2em;
}



@media screen and (max-width:799px){
	.form-notes{
		padding:0 1em;
		line-height:1.6;
	}
	.form-header h1{
		font-size:240%;
	}
	.form-wrapper dl{
		padding:0 0.5em;
		font-size:110%;
	}

	.form-wrapper{
		padding-top:2em;
	}

	.form-comment{
		display:block;
	}

	.form-notes.wide p{
		padding-bottom:1em;
	}

	.form-wrapper .material-cover{
		padding:1em;
	}

	dl#form-table dt{
		width:100%;
		padding-bottom:0.5em;
	}
	dl#form-table dd{
		width:100%;
		padding:0 1em 1em;
		border-bottom:1px dashed #ccc;
	}
}




/* ====================================================================
	form - optional / required
==================================================================== */
.optional,
.required{
	display:flex;
	justify-content:flex-end;
	align-items:center;
}
.optional:after,
.required:after{
	content:attr(data-text);
	display:inline-block;
	margin-left:0.5em;
	padding:0 0.3em;
	background-color:#f00;
	border-radius:0.3em;
	color:#fff;
	font-size:80%;
	line-height:1.6;
}
.optional:after{
	display:none;
	background-color:#ccc;
}




@media screen and (max-width:799px){
	.optional,
	.required{
		flex-direction:row-reverse;
	}

	.optional:after{
		content:" ";
	}
	.required:after{
		margin-right:0.3em;
		padding:0.1em 0.3em 0.2em;
	}
}



/* ====================================================================
	form - field
==================================================================== */
input ,textarea{
	width:100%;
	-webkit-appearance:none; 
	appearance:none;
	border-radius:0.3em;
}
input[type='radio'] ,input[type='checkbox']{
	width:1em;
	height:1em;
	-webkit-appearance:auto; 
	appearance:auto;
}

input:not([type="submit"]){
	border:1px solid #999;
	padding:0.3em 0.5em;
}

.textarea-text{
	padding:2.5em 5em !important;
}

textarea{
	resize:none;
	height:8em;
	padding:0.5em;
	border:1px solid #999;
}

span.check{
	display:flex;
	justify-content:flex-start;
	align-items:center;
}
span.check > label{
	padding-left:0.3em;
}


.field-group.flex{
	flex-direction:column;
	align-items:flex-start;
	justify-content:flex-start;
}
.field-group.flex > *{
	margin-left:0.2em;
}
.field-group.flex > * + *{
	margin-left:0.2em;
}

input[type="checkbox"],
input[type="radio"]{
	position:relative;
	width:20px;
	z-index:2;
}
input[type="checkbox"] + label ,
input[type="radio"] + label{
	position:relative;
	margin-left:-2em;
	padding:0.3em 0.3em 0.3em 2em;
	border-radius:0.3em;
	transition:all 0.1s ease;
	-webkit-transition:all 0.1s ease;
}
input[type="checkbox"] + label > span ,
input[type="radio"] + label > span{
	padding-left:0.3em;
}
input[type="checkbox"]:checked + label ,
input[type="radio"]:checked + label{
	color:#fff;
	background:#09f;
}


@media screen and (max-width:799px){
	input[type="submit"]{
		width:auto;
		padding:0.5em 1em;
	}

	input:focus ,textarea:focus{
		border:solid 2px #000000;
		outline:none;
		background-color:#99e5ff;
	}

	input:focus[type="submit"]{
		opacity:0.8;
		border:none;
		outline:none;
		background-color:#000f4c;
	}

	.field-group.flex > *{
		margin:0;
	}
}



/* ====================================================================
	form - button
==================================================================== */
.formButton{
	padding:2em 0 2em 1em;
	text-align:center;
}
.formButton.contact{
	padding:4em 0;
}
input[type="submit"] ,.formButton a{
	width:auto;
	padding:1em 3em;
	background-color:#0c9;
	color:#ffffff;
	font-size:120%;
	line-height:1;
	text-indent:0.3em;
	letter-spacing:0.3em;
	border:none;
	outline:none;
	transition:all 0.2s ease;
	-webkit-transition:all 0.2s ease;
	cursor:pointer;
}
input[type="submit"]:hover ,.formButton a:hover{
	background-color:#096;
}

.formButton a{
	font-size:100%;
	text-indent:0.1em;
	letter-spacing:0.1em;
	border-radius:0.5em;
}

@media screen and (max-width:799px){
	.button-wrapper{
		padding:2em 7em 0;
	}
}


/* ====================================================================
	form - error
==================================================================== */
.error{
	margin:0.3em 0 0.5em;
	display:inline-block;
	padding:0.2em 1em;
	color:#f00;
	border:1px solid #f00;
	border-radius:0.2em;
	font-size:90%;
}




/* ====================================================================
	form - custom
==================================================================== */
.status2 dl#form-table{
	align-items:stretch;
}


form:not(.status2) dl#form-table dt.column{
	width:100%;
	padding-top:1em;
}
form:not(.status2) dl#form-table dt.column + dd{
	width:100%;
	padding-top:0;
	text-align:center;
}
form:not(.status2) dl#form-table dt.column + dd .field-group.flex{
	justify-content:center;
}

form:not(.status2) dl#form-table dt.column .optional ,
form:not(.status2) dl#form-table dt.column .required{
	padding-bottom:1em;
	justify-content:center;
}

form:not(.status2) dl#form-table dt.column .subtext{
	display:block;
	max-width:800px;
	margin:0 auto;
	padding:1em 2em;
	font-size:80%;
	background:rgba(255,255,255,0.5);
	border:1px solid #ccc;
	border-radius:0.5em;
}

form:not(.status2) dd.form-20 .field-group.flex > * {
	margin:0 auto;
}


form.status2 dl#form-table dt.column .subtext{
	display:none;
}


@media screen and (max-width:799px){
	form:not(.status2) dl#form-table dt.column + dd .field-group.flex{
		align-items:center;
	}
}




/* ====================================================================
	fixed bottom (mashup)
==================================================================== */
#mashup-fixed {
	position:fixed;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:60px;
	background:rgba(255,255,255,0.9);
	border-top:1px solid #666;
	z-index: 10000;
}
#mashup-fixed > .flex {
	width:1200px;
	height:100%;
	margin:0 auto;
	padding:0 0.5em;
}
#mashup-fixed > .flex > * {
	padding:0 0.8em;
}
#mashup-fixed > .flex > .logo.rev {
	filter:brightness(0);
}
#mashup-fixed > .flex > .logo > img {
	max-height:40px;
}

#mashup-fixed > .flex > .text {
	line-height:1.2;
	color:#222;
	white-space:nowrap;
	text-align:center;
}
#mashup-fixed .text .sub {
	font-size:130%;
	font-weight:bold;
}
#mashup-fixed .text strong {
	font-size:95%;
	color:#00c;
	font-weight:bold;
}
#mashup-fixed .text strong > em {
	color:#c00;
}

@media screen and (max-width:799px){	
	#mashup-fixed > .flex {
		width:480px;
		flex-direction:row-reverse;
	}
	#mashup-fixed > .flex > * {
		padding:0 0.5em;
	}
	#mashup-fixed > .flex > .logo > img {
		max-height:50px;
	}

	#mashup-fixed > .flex > .text {
		text-align:left;
	}
	#mashup-fixed .text strong {
		font-size:105%;
	}
	#mashup-fixed + .no-display-pc > .return-cover {
		bottom:calc(60px + 7px);
	}
}



/* =====================================================================
distillery page
========================================================================*/

/* distillery-fv */
#distillery-fv .waku-fv2{
	background-image:url(images/contents/distillery_header.jpg);
}

#distillery-fv .caption-fv2-ja,
#distillery-fv .caption-fv2-en{
	color:#fff;
	text-shadow:2px 2px 4px #333;
	color:#000;
	text-shadow:2px 2px 0 #fff,0 0 0.3em #fff,0 0 1em #fff;
}

#distillery-c .caption3b-cover{
	padding:0.5em 2em;
}

#distillery-c .caption3b-ja{
	line-height:1.4;
}

#distillery-c .material-wrapper2{
	padding:3em 2em 0;
}

#distillery-c .material-img-left > img{
	object-fit:cover;
	width:100%;
	height:100%;
	aspect-ratio:3 /4;
}

#distillery-c .material-text-outer-right{
	padding-top:0;
}

#distillery-c .material-text-cover{
	padding-top:0;
}

#distillery-c .material-text{
	font-size:110%;
	line-height:1.8;
}



@media screen and (min-width:800px){
	#distillery-c .material-img-left.no-display + .material-text-outer-right .shop-data{
		width:60%;
		margin-left:auto;
	}
}

#distillery-c .shop-data {
	width:100%;
}
#distillery-c .shop-data caption {
	padding:2em 0.5em 0;
    border-bottom:1px solid #000;
}
#distillery-c .shop-data caption span {
	padding-left:0.8em;
	font-size:75%;
	font-weight:normal;
}
#distillery-c .shop-data th {
	width:9em;
	padding-left: 1em
}
#distillery-c .shop-data td a {
	border-bottom:1px solid #999;
}

.material-img-left .bx-wrapper {
	border:1px solid #ccc;
}
.photoSlider.on ,
.photoSlider.on > li ,
.photoSlider.on > li img {
	height:100%;
}
.photoSlider > li img {
	width:100%;
	max-height:480px;
	object-fit:contain;
}
.photoSlider > li.noimage img {
	object-fit:cover;
}

.material-img-left .bx-pager a img {
	aspect-ratio:1/1;
	object-fit:cover;
}
.material-img-left .bx-pager a.active img {
	border-color:#c00;
}

@media screen and (max-width:799px){

	#distillery-c .caption3b-cover{
		padding:0.5em 1em;
	}

	#distillery-c .caption3b-ja{
		line-height:1.6;
	}

	#distillery-c .caption3b-en{
		font-size:110%;
		padding-left:0.2em;
	}

	#distillery-c .material-wrapper2{
		padding:2em 0.5em 0;
	}

	#referral-c .material-img-left ,
	#distillery-c .material-img-left {
		width:90%;
	}

	#distillery-c .material-img-left:not(no-display) + .material-text-outer-right{
		padding:2em 0 0;
	}

	#distillery-c .material-text-cover{
		padding:0;
	}

	#distillery-c .shop-data th {
		width:6em;
	}

	.photoSlider > li img {
		max-height: 320px;
	}
}



table.company {
	margin:0 auto;
	
}
table.company tr > *{
	padding:0.5em 1em;
	border:1px solid #ccc;
}
table.company tr > th{
	width:8em;
	text-align: justify;
	text-align-last: justify;
	white-space: nowrap;
}
table.company tr > td{
	text-align:left;
}
@media screen and (max-width:799px){
	table.company tr > th {
		width:7em;
		padding:0.5em 0.8em;
	}
}

