@charset "UTF-8";
/* CSS Document */
@font-face {
	font-family: 'Noto Serif CJK';
	font-style: normal;
	font-weight: 400;
	src: local('NotoSerifCJKjp-Regular.otf'),
		url(../fonts/NotoSerifCJKjp-Regular.woff2) format('woff2'),
		url(../fonts/NotoSerifCJKjp-Regular.woff) format('woff'),
		url(../fonts/NotoSerifCJKjp-Regular.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Serif CJK';
	font-style: normal;
	font-weight: 700;
	src: local('NotoSerifCJKjp-Bold.otf'),
		url(../fonts/NotoSerifCJKjp-Bold.woff2) format('woff2'),
		url(../fonts/NotoSerifCJKjp-Bold.woff) format('woff'),
		url(../fonts/NotoSerifCJKjp-Bold.otf) format('opentype');
}


html,body {
	height: 100%;
}
body {
	font-family: 'Noto Serif CJK', serif;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	background-color: #fffbf1;
}

.sp { display: none;}



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

	Common

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

img {max-width: 100%; height: auto; -webkit-backface-visibility: hidden;}

main {
	padding: 50px;
}
main h2 {
	font-family: 'Cormorant', serif;
	font-weight: 700;
	font-size: 34px;
	color: #014f2b;
	text-align: center;
	margin-bottom: 65px;
}

.notFound {
	padding: 60px;
    text-align: center;
}
.notFound p {
	font-size: 16px;
    margin-bottom: 60px;
}


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

	Header

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

header {
	position: fixed;
	padding: 50px 50px 0;
	box-sizing: border-box;
	width: 100%;
	z-index: 1000;
}

header h1 {
	width: 48px;
	line-height: 0;
}

header #hdrSns {
	overflow: hidden;
	position: absolute;
	top: 50px;
	right: 50px;
}
header #hdrSns li {
	width: 26px;
	line-height: 0;
	float: left;
	margin-left: 10px;
}
header #hdrSns li.os {
	width: 140px;
	line-height: 0;
	float: left;
}
header #hdrSns a {
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}
header #hdrSns a:hover { opacity: 0.4;}


#menuButton { 
	display: none;
	width: 40px;
	height:40px;
	position: fixed;
	top: 10px;
	right: 10px;
	z-index: 9999;
} 
#menuButton span { 
	display: block; 
	background: #004628; 
	width: 22px; 
	height: 2px; 
	position: absolute; 
	left: 9px; 
	transition: all 0.4s; 
	-webkit-transition: all 0.4s; 
	-moz-transition: all 0.4s; 
} 
#menuButton p { 
	-webkit-transition: all 0.4s; 
	-moz-transition: all 0.4s; 
	transition: all 0.4s; 

	-moz-transition-delay: 0.5s; 
	-webkit-transition-delay: 0.5s; 
	transition-delay: 0.5s; 
} 

#menuButton span:first-child { top: 12px;} 
#menuButton span:nth-child(2) { margin-top: -1px; top: 50%;} 
#menuButton span:nth-child(3) { bottom: 12px;} 
#menuButton.active span:first-child {
	background-color: #fff;
	-webkit-transform: translateY(7px) rotate(45deg); 
	-moz-transform: translateY(7px) rotate(45deg); 
	transform: translateY(7px) rotate(45deg); 
} 
#menuButton.active span:nth-child(2) { opacity: 0;} 
#menuButton.active span:nth-child(3) { 
	background-color: #fff;
	-webkit-transform: translateY(-7px) rotate(-45deg); 
	-moz-transform: translateY(-7px) rotate(-45deg); 
	transform: translateY(-7px) rotate(-45deg); 
} 

#globalNavi { display: none;}


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

	Footer

//////////////////////////////////////////////////////////////////////////////////////////*/
footer {
	background-color: #dcdcdc;
	padding: 25px 20px;
	overflow: hidden;
	line-height: 20px;
}

footer #ftrNavi {
	float: left;
	overflow: hidden;
}
footer #ftrNavi li {
	float: left;
	margin-right: 15px;
}
footer #ftrNavi li a {
	color: #014f2b;
	text-decoration: none;
}
footer .ftrAddress {
	float: right;
	color: #014f2b;
}



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

	Top page

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

.sm-slider, .sm-slider:after { position: absolute !important; overflow: hidden;}


#home header h1,
.conceptBox,
#concept .conceptBox h3,
#concept .conceptBox p {
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    opacity: 0;
}


#mainVisual {
	height: 100%;
	box-sizing: border-box;
	padding: 30px;
	position: relative;
}
#mainTitle {
	width: 260px;
	line-height: 0;
	margin: 0 auto;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
	opacity: 0;
}
#mainVisual #scroll {
	position: absolute;
	bottom: 0;
	left: 50%;
	height: 80px;
	width: 2px;
	margin-left: -1px;
	overflow: hidden;
	background-color: rgba(1,79,43,0.40);
	opacity: 0;
}
#mainVisual #scroll span {
	display: block;
	background-color: #014f2b;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-animation: scrl 1.6s ease-in infinite;
	animation: scrl 1.6s ease-in infinite;
}
@-webkit-keyframes scrl {
	0% { top:-100%;}
	100% { top: 100%;}
}
@keyframes scrl {
	0% { top:-100%;}
	100% { top: 100%;}
}

#concept {
	background: url(../images/concept_bg.jpg) no-repeat center center;
	background-size: cover;
	border: #fff solid 20px;
	padding: 60px 30px;
}
#concept .conceptBox {
	max-width: 940px;
	background-color: rgba(255,255,255,0.90);
	margin: 0 auto;
    padding: 80px 50px;
	text-align: center;
	color: #014f2b;
	position: relative;
}
#concept .conceptBox::before,
#concept .conceptBox::after {
	content: "";
	display: block;
	width: 1px;
	height: 100%;
	background-color: #9f8e23;
	position: absolute;
}
#concept .conceptBox::before {
	top: 0;
	left: 20px;
}
#concept .conceptBox::after {
	bottom: 0;
	right: 20px;
}
#concept .conceptBox h3 {
	font-size: 28px;
	margin-bottom: 30px;
}
#concept .conceptBox p {
	font-size: 13px;
    line-height: 2.4;
}


.topContentWrap {
	border: #a08c23 solid 1px;
	margin: 20px;
	padding: 60px 40px;
}
.topContentWrap h3 {
	font-family: 'Cormorant', serif;
	font-size: 34px;
	color: #014f2b;
	text-align: center;
	margin-bottom: 60px;
}

#products {
	background-color: #fffbf1;
}
.itemList {
	overflow: hidden;
	max-width: 960px;
	margin: 0 auto 80px;
}
.itemList li {
	float: left;
	width: calc(100% / 3);
	text-align: center;
	box-sizing: border-box;
	padding: 0 10px;
    margin-bottom: 25px;
	opacity: 0;
}
.itemList li div.thumb {
	line-height: 0;
	margin-bottom: 15px;
}
.itemList li div.thumb a {
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
}
.itemList li div.thumb a:hover {
	opacity: 0.5;
}
.itemList li h5 {
	color: #014f2b;
	font-size: 15px;
	line-height: 1.8;
}
.itemList li h5 span {
	font-size: 13px;
}

.moreBtn {
	width: 200px;
	margin: 0 auto;
}
.moreBtn a {
	display: block;
	color: #014f2b;
	border: #014f2b solid 1px;
	line-height: 48px;
	text-align: center;
	text-decoration: none;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
}
.moreBtn a:hover {
	background-color: #dce0a0;
}



#instagram {
	background-color: #fffbf1;
}
#instagram .instaWrap h4 {
    font-family: 'Cormorant', serif;
    font-size: 24px;
    color: #014f2b;
    text-align: center;
    margin-bottom: 30px;
}

.instaWrap {
	border-bottom: #9F8E23 solid 1px;
	padding-bottom: 70px;
	margin-bottom: 70px;
}
.instaWrap:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.instaList {
	overflow: hidden;
	max-width: 950px;
	margin: 0 auto 80px;
}
.instaList li {
	float: left;
	width: calc(25% - 10px);
	text-align: center;
	box-sizing: border-box;
	margin: 0 5px 10px;
	padding-top: calc(25% - 10px);
	line-height: 0;
	position: relative;
	overflow: hidden;
	opacity: 0;
}
.instaList li:nth-child(n+5) {
	display: none !important;
}
.instaList li img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#instagram .moreBtn {
    width: 300px;
}


#newOpen {
	background-color: #fffbf1;
}
.newOpenWrap {
	max-width: 860px;
	width: 100%;
	margin: 0 auto;
}
.newOpenWrap .newOpenInr {
	line-height: 0;
	position: relative;
}
.newOpenWrap .newOpenInr div {
	position: relative;
}
.newOpenWrap .mapBtn {
	position: absolute;
	bottom: 0;
    right: 32.9%;
    width: 4.2%;
    height: 3%;
}
.newOpenWrap .instaBtn {
	position: absolute;
	bottom: 0;
    right: 18.9%;
    width: 10.9%;
    height: 3%;
}
.newOpenWrap .storeBtn {
	position: absolute;
    bottom: 12.5%;
    right: 30%;
    width: 40%;
    height: 10%;
}

.newOpenWrap .mapBtn a,
.newOpenWrap .storeBtn a,
.newOpenWrap .instaBtn a {
	display: block;
	width: 100%;
	height: 100%;
}

#opModal {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 1000;
	padding: 0;
	max-width: 540px;
	width: calc(100% - 160px);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#opModal .close {
	display: block;
	position: fixed;
	top: 54px;
	right: 54px;
	width: 16px;
	height: 16px;
	z-index: 10;
}



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

	Company

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

.companyList {
	max-width: 940px;
	margin: 0 auto 100px;
}
.companyList li {
	overflow: hidden;
	border-top: #c6b999 solid 1px;
	padding: 12px 0;
}
.companyList p {
	float: left;
	font-size: 16px;
}
.companyList p.ttl {
	width: 35%;
}
.companyList p.txt {
	width: 65%;
}



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

	Shop List

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

.shopLead {
	text-align: center;
	font-size: 16px;
	margin-bottom: 45px;
}


.shopList {
	max-width: 940px;
	margin: 0 auto 50px;
}
.shopList li {
	overflow: hidden;
	border-top: #c6b999 solid 1px;
}
.shopList.official { margin: 0 auto 70px;}
.shopList.official li {
	border: #c6b999 solid 1px;
}
.shopList.official li p {
    font-size: 22px;
}
.shopList p {
	float: left;
	font-size: 16px;
}
.shopList p.name {
	width: 100%;
}
.shopList p.link {
	width: 20%;
	text-align: right;
}
.shopList p.name a {
	display: block;
	padding-left: 25px;
	background: url(../images/link_arrow.png) no-repeat 98% center;
	background-size: 14px;
	color: #505050;
	text-decoration: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
	padding: 12px 0 12px 20px;
}
.shopList.official p.link a {
	background: url(../images/link_arrow.png) no-repeat left center;
	background-size: 18px;
}
.shopList p.name a:hover {
	background-color: #f6f1dc;
}

h4.location {
	text-align: center;
	width: 300px;
	line-height: 38px;
	border: #014f2b solid 1px;
	border-radius: 20px;
	margin: 0 auto 35px;
	font-size: 18px;
	color: #014f2b;
}



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

	Contact

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

.contactBox {
	max-width: 450px;
	margin: 0 auto;
}
.contactBox p {
	margin-bottom: 30px;
	font-size: 15px;
}

.contactBox input[type="button"],
.contactBox input[type="submit"],
.contactBox input[type="text"],
.contactBox textarea {
	-webkit-appearance: none;
	border-radius: 0;
	-webkit-border-radius: 0;
	border: none;
}
.contactBox input[type="text"],
.contactBox textarea{
	background-color: #f4f5f5;
	border-radius: 10px;
	font-size: 16px;
	padding: 10px 20px;
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 30px;
}
.contactBox input[type="text"] {
	line-height: 30px;
}
.contactBox input[type="button"]:focus,
.contactBox input[type="submit"]:focus,
.contactBox input[type="text"]:focus,
.contactBox textarea:focus { outline: none;}

.contactBox textarea { height: 180px; resize: vertical;}

.contactBox input[type="button"],
.contactBox input[type="submit"],
.contactBox .btnArea a {
	display: block;
	color: #014f2b;
	border: #014f2b solid 1px;
	line-height: 48px;
	text-align: center;
	text-decoration: none;
	font-size: 14px;
	width: 200px;
	line-height: 30px;
	padding: 10px 20px;
	box-sizing: border-box;
	background-color: transparent;
	cursor: pointer;
}
.contactBox input[type="submit"].confirm {
	margin: 0 auto;
}

.contactBox .btnArea {
	text-align: center;
}
.contactBox .btnArea input[type="button"],
.contactBox .btnArea input[type="submit"],
.contactBox .btnArea a {
	display: inline-block;
	margin: 0 10px;
}

.contactBox .thanks p {
	padding: 60px 0;
	font-size: 20px;
	text-align: center;
}


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

	Products Detail

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

#productsDetail {
	background-color: transparent;
}

#productsMain {
    max-width: 720px;
	margin: 0 auto;
	overflow: hidden;
}

#productsDetail h3 {
	font-size: 24px;
	text-align: center;
	color: #fff;
	margin-bottom: 30px;
}
#productsDetail ul.itemImg {
	overflow: hidden;
	margin-bottom: 20px;
}
#productsDetail ul.itemImg li {
	float: left;
	line-height: 0;
	width: 50%;
	box-sizing: border-box;
	padding: 0 10px;
}

#productsDetail p.itemTxt {
	padding: 0 10px;
	font-size: 14px;
    margin-bottom: 25px;
	color: #fff;
}

#productsDetail p.storeBtn {
	float: right;
}
#productsDetail p.storeBtn a {
	display: inline-block;
	font-family: 'Cormorant', serif;
	color: #9f8e23;
	text-decoration: none;
	font-size: 25px;
	padding-right: 55px;
	background: url(../images/link_arrow02.png) no-repeat right center;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
}
#productsDetail p.storeBtn a:hover { opacity: 0.5;}


#productsDetail ul.productsSns {
	overflow: hidden;
    padding: 10px 10px;
	float: left;
}
#productsDetail ul.productsSns li {
	float: left;
	height: 26px;
	margin-right: 18px;
}
#productsDetail ul.productsSns li a {
	-webkit-transition: all 0.8s;
    transition: all 0.8s;
}
#productsDetail ul.productsSns li a:hover {
	opacity: 0.4;
}
#productsDetail ul.productsSns li img {
	height: 100%;
	width: auto;
}



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

	SP

//////////////////////////////////////////////////////////////////////////////////////////*/
@media screen and (max-width: 736px) {

.sp { display: block;}
.pc { display: none;}
	
/*//////////////////////////////////////////////////////////////////////////////////////////

	Coomon - SP

//////////////////////////////////////////////////////////////////////////////////////////*/
main {
    padding: 80px 15px 60px;
}
main h2 {
    font-family: 'Cormorant', serif;
    font-weight: 700;
    font-size: 26px;
    color: #014f2b;
    text-align: center;
    margin-bottom: 35px;
}

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

	Header - SP

//////////////////////////////////////////////////////////////////////////////////////////*/
header {
    padding: 20px 20px 0;
}
header #hdrSns { display: none;}
header h1 {
    width: 30px;
}
#menuButton { display: block;}

#globalNavi {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2000;
	background-color: rgba(0,70,40,0.80);
}
#globalNavi ul {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	text-align: center;
}
#globalNavi ul li {
    font-family: 'Cormorant', serif;
	margin: 15px 0;
}
#globalNavi ul li a {
	color: #fff;
	text-decoration: none;
	font-size: 25px;
	letter-spacing: 3px;
}

#globalNavi ul li.sns {
	display: inline-block;
	margin: 50px 15px 0;
	width: 25px;
	line-height: 0;
}


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

	Footer - SP

//////////////////////////////////////////////////////////////////////////////////////////*/
footer {
    padding: 20px 15px;
    line-height: 20px;
    text-align: center;
}
footer #ftrNavi {
    float: none;
    font-size: 12px;
	margin-bottom: 15px;
}
footer #ftrNavi li {
    float: none;
    display: inline-block;
    margin: 0 10px 10px 10px;
}
footer .ftrAddress {
    float: none;
    font-size: 11px;
    letter-spacing: 0;
}
	
/*//////////////////////////////////////////////////////////////////////////////////////////

	Top page - SP

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

#mainVisual #scroll {
	height: 50px;
}
#mainVisual #scroll span {
	-webkit-animation: scrl 1.4s ease-in infinite;
	animation: scrl 1.4s ease-in infinite;
}

#mainTitle {
    width: 130px;
}
#concept {
    border: none;
    padding: 20px 15px;
}

#concept .conceptBox::before {
    left: 10px;
}
#concept .conceptBox::after {
    right: 10px;
}
#concept .conceptBox {
    padding: 20px 25px;
}
#concept .conceptBox h3 {
    font-size: 20px;
	margin-bottom: 20px;
}
#concept .conceptBox p {
    font-size: 11px;
    line-height: 2;
	text-align: left;
	letter-spacing: 0;
}
	
.topContentWrap {
    margin: 15px;
    padding: 25px 10%;
}
.topContentWrap h3 {
    font-size: 22px;
    margin-bottom: 30px;
}
.instaWrap {
    padding-bottom: 50px;
    margin-bottom: 40px;
}
#instagram .instaWrap h4 {
    font-size: 16px;
    margin-bottom: 20px;
}

.itemList {
    margin: 0 auto 20px;
}
.itemList li {
    float: none;
    width: 100%;
    padding: 0;
    margin-bottom: 30px;
}
.itemList li h5 {
    font-size: 14px;
    line-height: 1.6;
}
.itemList li h5 span { font-size: 12px;}
.itemList li div.thumb {
	margin-bottom: 5px;
}

.moreBtn {
    width: 140px;
}
.moreBtn a {
    line-height: 38px;
}

#instagram.topContentWrap {
    padding: 30px 3% 40px;
}
.instaList {
	margin: 0 auto 20px;
}	
.instaList li {
    width: calc(100% / 3 - 8px);
    margin: 0 4px 10px;
    padding-top: calc(100% / 3 - 10px);
}
.instaList li:nth-child(n+5) {
	display: block !important;
}

	
.newOpenWrap {
    width: 100%;
    margin: 0 auto;
}
.newOpenWrap .newOpenInr {
	display: block;
	overflow: auto;
	height: 100%;
    padding: 30px;
	box-sizing: border-box;
}
#newOpen .newOpenWrap .newOpenInr {
	padding: 0;
}

.newOpenWrap .mapBtn {
	bottom: 0;
    right: 64%;
    width: 14%;
    height: 2.6%;
}
.newOpenWrap .instaBtn {
	bottom: 0;
    right: 22%;
    width: 34%;
    height: 2.6%;
}
	
#opModal {
	padding: 0;
	width: calc(100% - 40px);
	height: calc(100vh - 120px);
    top: 60px;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
}
#opModal .close {
	width: 16px;
	height: 16px;
	position: fixed;
}
	
	
/*//////////////////////////////////////////////////////////////////////////////////////////

	Products - SP

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

main .itemList li {
    float: left;
    width: 50%;
    padding: 0 10px;
    margin-bottom: 20px;
}

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

	Company - SP

//////////////////////////////////////////////////////////////////////////////////////////*/
.companyList {
    margin: 0 auto 50px;
}
.companyList p {
    font-size: 13px;
}
.companyList p.ttl {
    width: 28%;
    padding-left: 7px;
    box-sizing: border-box;
}
.companyList p.txt {
    width: 72%;
	letter-spacing: 1px;
}


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

	Shop list - SP

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

h4.location {
    width: 200px;
    line-height: 33px;
    margin: 0 auto 25px;
    font-size: 14px;
}
.shopLead {
    font-size: 14px;
    margin-bottom: 25px;
}
.shopList li {
    padding: 5px 0;
}
.shopList p {
    font-size: 12px;
    letter-spacing: 1px;
	line-height: 1.6;
}
.shopList p.name {
    width: 100%;
}
.shopList p.link {
    width: 30%;
    font-size: 10px;
}
.shopList p.name a {
    padding-left: 10px;
    background: url(../images/link_arrow.png) no-repeat 98% center;
    background-size: 12px;
}
.shopList.official li p {
    font-size: 17px;
}

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

	Contact - SP

//////////////////////////////////////////////////////////////////////////////////////////*/
.contactBox p {
    margin-bottom: 15px;
    font-size: 13px;
}
.contactBox input[type="text"],
.contactBox textarea {
    margin-bottom: 15px;
}
.contactBox .btnArea { margin-top: 30px;}

.contactBox .btnArea input[type="button"] {
    line-height: 30px;
    font-size: 14px;
    padding: 10px 20px;
	margin-bottom: 15px;
}


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

	Products Detail - SP

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

#productsDetail h3 {
    font-size: 16px;
    margin-bottom: 20px;
}
#productsDetail p.itemTxt {
    padding: 0 10px;
    font-size: 12px;
    margin-bottom: 20px;
}
#productsDetail p.storeBtn {
	float: none;
    padding-left: 10px;
}
#productsDetail p.storeBtn a {
    font-size: 18px;
    padding-right: 30px;
    background: url(../images/link_arrow02.png) no-repeat right center;
    background-size: 22px;
}
#productsDetail ul li {
    float: none;
    width: 100%;
    padding: 0 10px;
    margin-bottom: 10px;
}
	
#productsDetail ul.productsSns li {
	float: left;
	padding: 0;
	width: auto;
}	


}


