@charset "UTF-8";
html{
	margin:0;
	padding:0;
	font-size:62.5%;
}
body{
	margin:0 auto;
	padding:0;
	font-size:1.4em;
	font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	font-weight:300;
	-moz-background-origin: 330;
}
@media screen and (max-width:767px){
	body{
		font-size: 1.2rem;
	}
}

h1, h2, h3, h4, h5, h6,a{line-height:125%;}
p{line-height:170%;}
li{line-height:145%;}

/* iPad背景切れ対策 */
@media screen and (min-width:767px){
	body{
		min-width:1100px;
	}
}

*,*::before,*::after{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
header,footer,section,aside,nav,article,main{
	display:block;
}
main{
	min-width: 1040px;
	overflow: hidden;
}
h1, h2, h3, h4, h5, h6 {
	margin:0;
	padding:0;
}
p {
	margin:0;
	padding:0;
	font-size:100%;
}
img {
	border:none;
	vertical-align:top;
	margin:0;
	padding:0;
}
figure,ul,ol,li,dl,dt,dd{
	margin:0;
	padding:0;
}
ul li,ol li{list-style:none;}
a{
	color:#000000;
	text-decoration:none;
	transition:color 0.3s;
}
a:link{
	color:#000000;
}
a:visited{
	color:#000000;
}
a:hover{
	color:#666666;
	text-decoration:none;
}
@media screen and (max-width:767px){
	main{
		min-width: 100%;
	}
	p{
		font-size: 1.4rem;
		line-height: 2.4rem;
		letter-spacing: 0.1rem;
	}
}
/* 表示切替 */
/*.switch{visibility:hidden;}*/
/*common*/
img{width:100%;}
.pc{display:block;}
.sp{display:none;}
.cts{
	width:1040px;
	margin: 0 auto;
}
@media screen and (max-width:767px){
	body{-webkit-text-size-adjust:100%;}
	.pc{display:none;}
	.sp{display:block;}
	.cts{
		width:100%;
		margin: 0 ;
	}
}
/* フォーム */
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
/* header
--------------------------- */
header{
	text-align: center;
	min-width: 1040px;
}
.menuTrigger{
	position: fixed;
	transition: 0.5s;
	opacity: 0;
	pointer-events: none;
	z-index: 5;
	display:flex;
	justify-content: space-between;
}
.menuTrigger{
	opacity: 1;
	pointer-events:painted;
}
a.topHeaderLogo{
	transition: 0.3s;
	display: block;
	pointer-events: painted;
}
a.topHeaderLogo:hover{
	opacity: 0.8;
}
.topHeaderLogo img{
	width:96px;
}
.mainNavi.active{
	opacity:1;
	/*pointer-events: painted;*/
}
.mainNavi {
	position: fixed;
	width: 96%;
	z-index: 7;
	display: flex;
	justify-content: space-between;
	left: 50%;
	margin-left: calc(-96% / 2);
	top: 20px;
	pointer-events: none;
}
.mainNavi.active .topHeaderLogo{
	opacity: 0;
	pointer-events: none;
}
.menuTrigger,
.menuTrigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menuTrigger {
	position: relative;
	width: 56px;
	height: 30px;
}
.menuTrigger.active {
	height: 56px;
}
.menuTrigger span {
	position: absolute;
	right: 0;
	width: 100%;
	height: 2px;
}
.menuTrigger span:nth-of-type(1) {
	top: 0;
	background-color: #694133;
}
.menuTrigger span:nth-of-type(2) {
	top: 14px;
	width: 70%;
	background-color: #8c6d62;
}
.menuTrigger span:nth-of-type(3) {
	bottom: 0;
	width: 35%;
	background-color: #af9a93;
}
.menuTrigger:not(.active):hover span:nth-of-type(2) {
	width: 100%;
}
.menuTrigger:not(.active):hover span:nth-of-type(3) {
	width: 100%;
}
.menuTrigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(20px) rotate(-45deg);
	transform: translateY(20px) rotate(-45deg);
	background-color: #8c6d62;
}
.menuTrigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menuTrigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-20px) rotate(45deg);
	transform: translateY(-20px) rotate(45deg);
	bottom: 13px;
	width: 100%;
	background-color: #8c6d62;
}
#mainNaviSp {
	width: 100%;
	background: rgba(255,255,255,0.9);
	position: fixed;
	right: 0;
	top: 0;
	transition: 0.3s;
	pointer-events: none;
	opacity: 0;
	overflow-y: scroll;
	z-index: 1;
}
#mainNaviSp.active {
	display: block;
	z-index: 6;
	pointer-events: painted;
	opacity: 1;
	animation: active 0.4s linear 0s;
}
.mainNaviSpLogo{
	width: 96%;
	margin: 25px auto;
}
.mainNaviSpLogo a{
	display:block;
	width: 192px;
	transition: 0.3s;
}
.mainNaviSpLogo a:hover{
	opacity: 0.7;
}
.mainNaviSpInner {
	width: 60%;
	margin: 70px auto 50px;
	display: flex;
	flex-wrap: wrap;
}
.mainNaviSpInner li {
	width: 50%;
	text-align: center;
	font-size: 2.5vw;
	font-weight: 400;
	letter-spacing: 0.4vw;
}
.mainNaviSpInner li:not(:last-child) {
	margin: 0 0 30px 0;
}
.mainNaviSpInner li span {
	font-size: 1vw;
	line-height: 2vw;
	color: #777777;
	display: block;
	transition: 0.3s;
}
.mainNaviSpInner li a{
	display: block;
	transition: 0.3s;
	position: relative;
}
.mainNaviSpInner li a:hover,
.mainNaviSpInner li a:hover span{
	color:#694133;
}
.mainNaviSpInner li a:before{
	content: '';
	height: 1px;
	width: 20px;
	position: absolute;
	left: 16%;
	top: 50%;
	opacity: 0;
	transition: 0.3s;
	transform-origin: right top;
	transform: scale(0, 1);
}
.mainNaviSpInner li a:hover:before{
	content: '';
	border-top:#694133 1px solid;
	opacity: 1;
	transform-origin: left top;
	transform: scale(1, 1);
}
.headerBtn{
	display:flex;
	justify-content: space-between;
	align-items: center;
	margin-right: 12px;
}
.headerBtn li a{
	display: inline-block;
	width:120px;
	color:#694133;
	border:1px solid #694133;
	padding: 4px 0 6px;
	font-size: 1.2rem;
	letter-spacing: 0.15rem;
	position: relative;
}
.headerBtn li :hover {
	color: #fff;
}
.headerBtn li ::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: '';
	background: #694133;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .3s;
}
.headerBtn li :hover::before {
	transform-origin: left top;
	transform: scale(1, 1);
}
#mainNaviSp .headerBtn {
	width: 60%;
	margin: 0 auto 70px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#mainNaviSp .headerBtn li {
	margin: 0 20px 0 0;
}
#mainNaviSp .headerBtn li:last-child{
	margin: 0 0 0 0;
}
@media screen and (max-width:767px){
	header {
		min-width: 100%;
	}
	.mainNavi{
		opacity:1;
		width: 100%;
		left: 0;
		margin-left: 0;
		top: 0px;
	}
	.menuTrigger {
		top: 15px;
		right: 15px;
	}
	.topHeaderLogo img {
		width: 64px;
	}
	.mainNavi.active .topHeaderLogo {
		opacity: 1;
		pointer-events: painted;
	}
	.mainNaviSpLogo {
		display: none;
	}
	.mainNaviSpInner {
		width: 90%;
		margin: 25% auto 10%;
	}
	.mainNaviSpInner li {
		text-align: center;
		font-size: 6vw;
		letter-spacing: 0.5vw;
	}
	.mainNaviSpInner li:not(:last-child) {
		margin: 0 0 10% 0;
	}
	.mainNaviSpInner li span {
		font-size: 3vw;
		line-height: 8vw;
	}
	#mainNaviSp .headerBtn {
		width: 60%;
		flex-direction: column;
	}
	.headerBtn li {
		width: 100%;
	}
	#mainNaviSp .headerBtn li {
		margin: 0 0 5% 0 ;
	}
	#mainNaviSp .headerBtn li:last-child {
		margin: 0 0 0 0 ;
	}
	.headerBtn li a {
		width: 100%;
		font-size: 4vw;
		padding: 4% 0;
	}


}
/* footer
--------------------------- */
footer{
	background: #694133;
	width: 100%;
	min-width: 1040px;
}
.footerInner{
	padding: 105px 20px 0;
	position: relative;
}
.footerTit {
	width: 270px;
	margin: 0 auto;
	text-align: center;
}
.footerTit span{
	color: #fff;
	font-size: 1.8rem;
	letter-spacing: 1rem;
	display: block;
	margin: 20px 0 0 0;
}
.footerThum{
	display: flex;
	flex-wrap: wrap;
	margin: 50px 0 0 0;
}
.footerThum li{
	width:calc(99.5% / 3);
	overflow: hidden;
	margin: 0 0 -1px 0;
}
.footerThum li a{
	position:relative;
}
.footerThum li:nth-child(1) a:after{
	content: '';
	height: 100%;
	width: 100%;
	background: url(../images/footerThum-01_pc.png) no-repeat;
	background-size: cover;
	display: block;
	top: 0;
	left: 0;
	position: absolute;
	z-index: 0;
}
.footerThum li:nth-child(2) a:after{
	content: '';
	height: 100%;
	width: 100%;
	background: url(../images/footerThum-02mc.png) no-repeat;
	background-size: cover;
	display: block;
	top: 0;
	left: 0;
	position: absolute;
	z-index: 0;
}
.footerThum li:nth-child(3) a:after{
	content: '';
	height: 100%;
	width: 100%;
	background: url(../images/footerThum-07_pc.png) no-repeat;
	background-size: cover;
	display: block;
	top: 0;
	left: 0;
	position: absolute;
	z-index: 0;
}
.footerThum li:nth-child(4) a:after{
	content: '';
	height: 100%;
	width: 100%;
	background: url(../images/footerThum_movie-03_pc.png) no-repeat;
	background-size: cover;
	display: block;
	top: 0;
	left: 0;
	position: absolute;
	z-index: 0;
}
.footerThum li:nth-child(5) a:after{
	content: '';
	height: 100%;
	width: 100%;
	background: url(../images/footerThum-05_pc.png) no-repeat;
	background-size: cover;
	display: block;
	top: 0;
	left: 0;
	position: absolute;
	z-index: 0;
}
.footerThum li:nth-child(6) a:after{
	content: '';
	height: 100%;
	width: 100%;
	background: url(../images/footerThum-06_pc.png) no-repeat;
	background-size: cover;
	display: block;
	top: 0;
	left: 0;
	position: absolute;
	z-index: 0;
}
.footerThum li a:after{
	transition: .3s ease-out;
}
.footerThum li:nth-child(1) a:hover:after,
.footerThum li:nth-child(2) a:hover:after,
.footerThum li:nth-child(3) a:hover:after,
.footerThum li:nth-child(4) a:hover:after,
.footerThum li:nth-child(5) a:hover:after,
.footerThum li:nth-child(6) a:hover:after{
	opacity: 0.8;
	transform: scale(1.2);
}
.footerThum li img{
	width: 70%;
	margin: 0 auto;
	display: block;
	position: relative;
	z-index: 1;
}
.footerThum li span{
	color:#fff;
	text-align: center;
	width: 100%;
	display: inline-block;
	margin: 27px 0 0 0;
	position: relative;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.5rem;
	z-index: 1;
}
.footerThum li span:before{
	content: '';
	width: 60px;
	height: 1px;
	border-top:1px solid #fff;
	top:-20px;
	left: 50%;
	margin: 0 0 0 -30px;
	position: absolute;
}
.footerThum li a {
	padding: 60px 0;
	display: block;
	transition: 0.3s;
}
.footerbnrCP{
	margin: 30px auto 0;
	/*display:none;*/
}
.shereArea{
	width: 100%;
	margin: 60px auto 0;
}
.shereArea p{
	text-align: center;
	color:#fff;
	font-size: 1.8rem;
	letter-spacing: 0.25rem;
	margin: 0 0 20px 0;
}
.shereArea ul{
	margin: 0px auto;
	width: 60px;

	display:flex;
	justify-content: space-between;
}
.shereArea ul li{
	width: 100%;
}
.shereArea ul li a{
	width: 100%;
	display: block;
	transition: 0.3s;
}
.shereArea ul li a:hover{
	opacity: 0.8;
}
.copyRightArea {
	padding: 50px 0 15px 0px;
}
.corporateInfo{
	width: 100%;
	display:flex;
	justify-content: space-between;
	align-items: flex-end;
}
.corporateInfo a,
.copyRightInner p,
.copyRightInner a{
	color:#fff;
}
a.footerLogo{
	width:148px;
	transition: 0.3s;
}
a.footerCp{
	letter-spacing: 0.3rem;
	position: relative;
	transition: 0.3s;
}
a.footerLogo:hover,
a.footerCp:hover{
	opacity: 0.8;
}

.footerCp:before{
	content: '';
	height: 14px;
	width: 14px;
	background: #fff;
	position: absolute;
	left: -25px;
	margin: -7px 0 0 0;
	top: 50%;
}
.footerCp:after{
	content: '';
	height: 8px;
	width: 8px;
	border-top: 1px solid #694133;
	border-right: 1px solid #694133;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	left: -24px;
	vertical-align: middle;
	margin-top: -4px;
	top: 50%;
}
.copyRightInner{
	width: 100%;
	display:flex;
	justify-content: space-between;
	align-items: center;
	margin: 15px 0 0 0;
}

.copyRightInner > P {
	font-size: 1.2rem;
}
.copyRightInner ul{
	display:flex;
	justify-content: space-between;
}
.copyRightInner ul li{
	font-size:1.2rem;
	letter-spacing: 0.2rem;
	position: relative;
	margin-left: 10px;
}
.copyRightInner ul li:first-child{
	margin: 0 10px 0 0;
}
.copyRightInner ul li:before{
	content: '';
	width: 1px;
	height: 13px;
	border-right: 1px solid #fff;
	position: absolute;
	right: -10px;
	top: 50%;
	margin: -5.5px 0 0 0;
}
.copyRightInner ul li:last-child{
	margin: 0 0 0 20px;
}
.copyRightInner ul li:last-child:before{
	border-right: none;
}
.copyRightInner ul li a{
	transition:0.3s;
}
.copyRightInner ul li a:hover{
	opacity: 0.8;
}
@media screen and (max-width:767px){
	footer{
		min-width: 100%;
	}
	.footerInner {
		padding: 25% 20px 0;
	}
	.footerTit {
		width: 70%;
	}
	.footerTit span {
		font-size: 5VW;
		letter-spacing: 2.2vw;
		margin: 8% 0 0 0;
	}
	.footerThum {
		margin: 10% 0 0 0;
	}
	.footerThum li {
		width: calc(100% / 2);
	}
	.footerThum li:nth-child(1) a:after{
		content: '';
		background: url(../images/footerThum-01_sp.png) no-repeat;
		background-size: cover;
		background-position: center;
	}
	.footerThum li:nth-child(2) a:after{
		content: '';
		background-size: cover;
		background-position: center;
	}
	.footerThum li:nth-child(3) a:after{
		content: '';
		background: url(../images/footerThum-07_sp.png) no-repeat;
		background-size: cover;
		background-position: center;
	}

	.footerThum li:nth-child(4) a:after{
		content: '';
		background: url(../images/footerThum_movie-03_pc.png) no-repeat;
		background-size: cover;
		background-position: center;
	}
	.footerThum li:nth-child(5) a:after{
		content: '';
		background: url(../images/footerThum-05_sp.png) no-repeat;
		background-size: cover;
		background-position: center;
	}
	.footerThum li:nth-child(6) a:after{
		content: '';
		background: url(../images/footerThum-06_sp.png) no-repeat;
		background-size: cover;
		background-position: center;
	}
	.footerThum li a {
		padding: 10% 0;
	}
	.footerThum li img {
		width: 90%;
	}
	.footerThum li span {
		margin: 5% 0 0 0;
		font-size: 3vw;
		letter-spacing: 0.5vw;
	}
	.footerThum li span:before {
		content: '';
		width: 30%;
		top: -52%;
		left: 50%;
		margin-left: calc(-30% / 2);
	}
	.shereArea {
		width: 100%;
		margin: 10% auto 0;
	}
	.shereArea p {
		font-size: 3.5vw;
		margin: 0 0 3.5% 0;
	}
	.shereArea ul li {
		width: 80%;
	}
	.copyRightArea {
		padding: 10% 0 5% 0;
	}
	.corporateInfo {
		flex-direction: column;
		align-items: flex-start;
	}
	.copyRightInner {
		flex-direction: column-reverse;
		align-items: baseline;
		margin: 2% 0 0 0;
	}
	a.footerLogo {
		width: 35%;
	}
	a.footerCp {
		letter-spacing: 0.5vw;
		margin: 3% 0 0 6%;
		font-size: 3.5vw;
	}
	.footerCp:before {
		content: '';
		height: 4vw;
		width: 4vw;
		left: -9%;
		margin: -2vw 0 0 0;
		top: 50%;
	}
	.footerCp:after {
		content: '';
		height: 2vw;
		width: 2vw;
		left: -8%;
		margin-top: -1vw;
	}
	.copyRightInner p, .copyRightInner a {
		color: #bb9d96;
	}
	.copyRightInner ul {
		margin: 2% 0 2% 0;
	}
	.copyRightInner ul li{
		line-height: 90%;
	}
	
	.copyRightInner ul li:before {
		content: '';
		width: 3px;
		height: 3px;
		border-right: 3px solid #bb9d96;
		position: absolute;
		right: -10px;
		top: 50%;
		margin: 0px 0 0 0;
	}
	.copyRightInner ul li:first-child:before {
		border-right: 3px solid #bb9d96;
	}
	.copyRightInner ul li a {
		font-size: 3vw;
	}
	.copyRightInner p{
		font-size: 3vw;
	}

}
/* pageTop
--------------------------- */
a.pageTop {
	position: absolute;
	color: #fff;
	right: 20px;
	top: 20px;
	text-align: right;
	width: 135px;
	border-bottom: 1px solid #fff;
	padding: 0 0 10px 0;
	letter-spacing: 0.5rem;
	font-size: 1.2rem;
	transition: 0.3s;
}
a.pageTop:hover{
	opacity: 0.8;
}
@media screen and (max-width:767px){
	a.pageTop {
		right: 5%;
		top: 2%;
		width: 25%;
		font-size: 1vw;
		letter-spacing: 0.5vw;
		padding: 0 0 2% 0;
	}
}


/*アレルゲン情報一覧リンク
------------------------------------------------------------------------------------------------------*/
a.allergyLink {
	margin-top: 6px;
    padding: 0 0 0 18px;
    color: #000;
    position: relative;
	font-size: 1.3rem;
	text-decoration:underline;
}
.allergyLink::before {
    content: "";
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #ba8b02;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
	margin: 1px 0 0 0;
}
.allergyLink::after {
    content: "";
    width: 4px;
    height: 4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    left: 4px;
	margin: 1px 0 0 0;
}
@media screen and (max-width: 640px) {
	a.allergyLink {
		padding: 0 0 0 20px;
		color: #000;
		position: relative;
		font-size: 1.2rem;
	}
}

