@charset "UTF-8";
.includeParts {
	font-size: 12px;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	line-height: 200%;
	color: #272727;
}
.includeParts .widthWrapper {
	border: none!important;
}
.includeParts a {
	color: #272727;
	text-decoration: none;
}
.includeParts .linkText a {
	color: #ff7500;
	text-decoration: underline;
}
.includeParts a img,
.includeParts a:hover img.icon  {
	opacity: 1;
}
.includeParts a:hover img {
	opacity: 0.75;
}
.includeParts img.cover {
	width: 100%;
	height: auto;
}
.includeParts .dispPc {
	display: block;
}
.includeParts .dispSp {
	display: none;
}
.includeParts .textLarge {
	font-size: 20px;
	line-height: 200%;
}
.includeParts .textLarge .icon {
	width: auto;
	height: 36px!important;
	padding-right: 4px;
	vertical-align: -10px!important;
}
.includeParts #navPulldownSearch .textLarge .icon {
	width: auto;
	height: 36px!important;
	padding-right: 4px;
	vertical-align: -12px!important;
}
.includeParts .textRegular {
	font-size: 14px;
	line-height: 200%;
}
.includeParts .textRegular .icon {
	width: auto;
	height: 26px;
	padding-right: 4px;
	vertical-align: -4px;
}
.includeParts .textSmall {
	font-size: 12px;
	line-height: 200%;
}
.includeParts .textSmall .icon {
	width: auto;
	height: 20px;
	padding-right: 4px;
	vertical-align: -5px;
}
.includeParts .widthWrapper {
	width: 96%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 2%;
}
.includeParts ul {
	list-style: none;
}
.includeParts .flexBlock {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row;
	flex-shrink: 0;
	list-style: none;
}
.includeParts .flexList3 > li {
	width: 31%;
}
.includeParts .btnViewAll a {
	display: block;
	padding: 10px 10px;
	text-align: center;
	background-color: #efefef;
	border-radius: 4px;
}
.includeParts .flexBlock li.btnViewAll {
	width: 52%!important;
	margin: 0 24% 4%!important;
}
.includeParts .flexBlock li.btnViewAll a {
	width: 100%;
}

#includeFooter {
	width: 100%;
	background-color: #fff;
}
#includeFooter #globalFooterBlock {
	width: 100%;
	margin: 0 auto;
	padding: 10px 0;
}
#includeFooter #globalFooterBlock .flexBlock li {
	margin-right: 1em;
}
#includeFooter #globalFooterBlock .flexBlock li:nth-child(4) {
	margin-left: auto;
}
#includeFooter #globalFooterBlock .flexBlock li:last-child {
	margin-top: -0.25em;
	margin-right: 0;
}
#includeFooter #globalFooterBlock .flexBlock li:last-child img.cover {
	width: auto;
	height: 28px;
}
#includeHeader {
	/* 2017/09/30修正ここから：TYL柳田 */
	position: relative;
	top: 0;
	/* 2017/09/30修正ここまで：TYL柳田 */
	width: 100%;
	height: 48px;
	background-color: #fff;
	border-bottom: 1px solid rgba(0,0,0,0.1);
	z-index: 197;
	-webkit-transition: all 200ms ease-out;
	transition: all 200ms ease-out;
}
/*
.headerMargin {
	padding-top: 48px!important;
}
*/
#specialHeader {
	/* 2017/09/30修正ここから：TYL柳田 */
	position: relative;
	/* 2017/09/30修正ここまで：TYL柳田 */
	-webkit-transition: all 200ms ease-out;
	transition: all 200ms ease-out;
}
#includeHeader a:hover img {
	opacity: 1;
}
#includeHeader .widthWrapper {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	flex-direction: row;
	flex-shrink: 0;
	position: relative;
	width: 100%;
	height: 48px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0;
	background-color: #fff;
	z-index: 199;
}
#includeHeader h1 {
	margin-right: auto;
	width: auto;
	height: 48px;
	z-index: 199;
}
#includeHeader h1 a img {
	width: auto;
	height: 48px;
}
#includeHeader nav {
	width: calc(100% - 48px);
	height: 48px;
	margin: 0;
	z-index: 199;
}
#includeHeader nav #navGlobal {
	display: -webkit-flex;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	flex-direction: row;
	flex-shrink: 0;
	font-size: 13px;
}
#includeHeader nav #navGlobal .icon {
	width: auto;
	height: 22px;
	padding-right: 4px;
	vertical-align: -5px;
}
#includeHeader nav #navGlobal > li {
	text-align: center;
	background-image: url(../../images/bgGlobalNavi.png);
	background-position: left top 12px;
	background-repeat: no-repeat;
}
#includeHeader nav #navGlobal > li:first-child {
	background-image: none;
}
#includeHeader nav #navGlobal > li > a {
	display: block;
	height: 38px;
	padding: 10px 20px 0;
}
#includeHeader nav #navGlobal #naviSnsBlock .icon {
	width: auto;
	height: 26px;
	padding-right: 6px;
}
#includeHeader nav #navGlobal #naviSnsBlock {
	padding: 9px 0 0 20px;
}
#includeHeader nav #navGlobal #naviSnsBlock ul li {
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 26px 26px;
}
#includeHeader nav #navGlobal #naviSnsBlock ul li:nth-child(1) {
	background-image: url(../../images/iconNaviInstaOn.png);
}
#includeHeader nav #navGlobal #naviSnsBlock ul li:nth-child(2) {
	background-image: url(../../images/iconNaviTwOn.png);
}
#includeHeader nav #navGlobal #naviSnsBlock ul li:nth-child(3) {
	background-image: url(../../images/iconNaviFbOn.png);
}
#includeHeader nav #navGlobal > li > a span {
	padding-bottom: 5px;
	border-bottom: 2px solid #fff;
	-webkit-transition: all 200ms ease-out;
	transition: all 200ms ease-out;
}
#includeHeader nav #navGlobal > li.showPc > a span,
#includeHeader nav #navGlobal > li > a:hover span {
	color: #272727;
	padding-bottom: 5px;
	border-bottom: 2px solid #fe4700;
}
#includeHeader nav #navGlobal li#naviSnsBlock ul li a img:hover {
	opacity: 0;
	-webkit-transition: all 200ms ease-out;
	transition: all 200ms ease-out;
}
.navPulldownWrapper {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 190;
}
.navPulldown {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row;
	flex-shrink: 0;
	position: absolute;
	top: -100vh;
	left: 0;
	width: 100%;
	margin: 0 auto;
	-webkit-transition: all 200ms ease-out;
	transition: all 200ms ease-out;
	/* 2017/08 修正ここから：TYL柳田 */
	z-index: 190;
	/* 2017/08 修正ここまで：TYL柳田 */
}
.navPulldown.showPc {
	top: 0;
	padding-top: 47px;
	-webkit-transition: all 200ms ease-out;
	transition: all 200ms ease-out;
}
.navPulldown .navPulldownList {
	width: 70%;
	max-width: 896px;
	margin: 2px auto 0;
	/*
	padding: 2% 15%;
	*/
	padding: 1em 15%;
	background-color: #fff;
	border: 2px solid #e9e9e9;
	border-radius: 4px;
}
.navPulldown .navPulldownList li {
	width: 20%;
	margin: 1em 0;
}
.navPulldown .navPulldownList li:not(.btnViewAll) > a {
	color: #4e4e4e;
	-webkit-transition: all 200ms ease-out;
	transition: all 200ms ease-out;
}
.navPulldown .navPulldownList li:not(.btnViewAll) > a:hover {
	color: #fe4700;
}
.navPulldown .navPulldownList li:not(.btnViewAll) > a > span {
	display: inline-block;
	padding-left: 2.5em;
	background-image: url('../../images/iconArrowOrange.png');
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 2em auto;
}
#navPulldownSpecial.navPulldown .navPulldownList li:not(.btnViewAll) > a {
	display: block;
	width: 100%;
	padding-top: 40%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
#navPulldownSpecial.navPulldown .navPulldownList li:not(.btnViewAll) > a > span {
	display: none;
}
#navPulldownSearch.navPulldown .navPulldownList li {
	width: 48%;
	margin: 1em 0;
}

@media screen and (min-width: 801px) and (max-width: 1280px) {
	.includeParts .dispPc {
		display: block;
	}
	.includeParts .dispSp {
		display: none;
	}
	.includeParts .textSmall {
		font-size: 1vw;
	}
	.includeParts .textSmall .icon {
		width: auto;
		height: 20px;
		padding-right: 2px;
		vertical-align: -6px;
	}
	#includeHeader nav #navGlobal {
		font-size: 1vw;
		letter-spacing: 0;
		line-height: 150%;
	}
	/*
	.headerMargin {
		padding-top: calc(6.6vw + 1px)!important;
	}
	*/
	#includeHeader,
	#includeHeader .widthWrapper,
	#includeHeader h1,
	#includeHeader h1 a img {
		height: 3.8vw;
	}
	#includeHeader nav {
		width: calc(100% - 3.8vw);
		height: 3.8vw;
		margin: 0;
	}
	#includeHeader nav #navGlobal > li {
		background-position: left top 1vw;
	}
	#includeHeader nav #navGlobal > li > a {
		display: block;
		height: 2vw;
		padding: 1.2vw 0.8vw 0;
	}
	#includeHeader nav #navGlobal .icon {
		width: auto;
		height: 1.8vw;
		padding-right: 0.4vw;
		vertical-align: -0.4vw;
	}
	#includeHeader nav #navGlobal #naviSnsBlock {
		padding: 1vw 0 0 1vw;
	}
	#includeHeader nav #navGlobal #naviSnsBlock .icon {
		width: auto;
		height: 2vw;
		padding-right: 0.4vw;
		vertical-align: -0.5vw;
	}
	#includeHeader nav #navGlobal #naviSnsBlock ul li {
		background-image: none!important;
	}
	.navPulldown.showPc {
		top: calc(3.8vw - 1px);
		padding-top: 0;
	}
}
@media screen and (max-width: 800px) {
	body {
		-webkit-overflow-scrolling: touch;
	}
	.includeParts .dispPc {
		display: none;
	}
	.includeParts .dispSp {
		display: block;
	}
	.includeParts .textLarge,
	.includeParts nav #navGlobal,
	.includeParts .textRegular.btnViewAll,
	.includeParts .btnViewAll {
		font-size: 4vw;
	}
	.includeParts .textLarge .icon {
		width: auto;
		height: 10vw!important;
		padding-right: 1vw;
		vertical-align: -2.2vw!important;
	}
	.includeParts #navPulldownSearch .textLarge .icon,
	#includeHeader nav #navGlobal .icon {
		width: auto;
		height: 6vw!important;
		padding-right: 1vw;
		vertical-align: -1.6vw!important;
	}
	.includeParts .textRegular {
		font-size: 3.4vw;
		line-height: 150%;
	}
	.includeParts .textRegular .icon {
		width: auto;
		height: 4.4vw;
		padding-right: 1vw;
		vertical-align: -1vw;
	}
	.includeParts .textSmall {
		font-size: 3vw;
		line-height: 150%;
	}
	.includeParts .textSmall .icon {
		width: auto;
		height: 4vw;
		padding-right: 0.8vw;
		vertical-align: -1vw;
	}
	.includeParts .widthWrapper {
		position: relative;
		width: 92%;
		margin: 0 auto;
		padding: 0 4%;
	}
	.includeParts .btnViewAll a {
		width: 100%;
		padding: 2vw 0;
	}
	.includeParts .flexBlock li.btnViewAll {
		width: 86%!important;
		margin: 6% 7%!important;
		line-height: 180%;
	}
	/*
	footer {
		margin: 0!important;
		padding: 2.5% 0!important;
		line-height: 1!important;
	}
	*/
	.pulldownBg {
		display: none;
		position: absolute;
		top: calc(25.5vw + 1px);
		left: 0;
		width: 30vw;
		height: 150vh;
		z-index: 100;
	}
	.showSp .pulldownBg {
		display: block;
	}
	.pulldownBg a {
		display: block;
		width: 100%;
		height: 100%;
	}
	#includeFooter #globalFooterBlock .flexBlock li:nth-child(3) {
		margin-right: 0:
	}
	#includeFooter #globalFooterBlock .flexBlock li:nth-child(4) {
		width: 80vw;
		margin: 1em auto 0 0;
	}
	#includeFooter #globalFooterBlock .flexBlock li:last-child {
		position: absolute;
		right: 4%;
		bottom: 2%;
		width: 8vw;
		margin: 1em 0 0 0;
	}
	#includeFooter #globalFooterBlock .flexBlock li:last-child img.cover {
		width: 8vw;
		height: auto;
	}
	/*
	.headerMargin {
		padding-top: 25.5vw!important;
	}
	*/
	#includeHeader {
		height: 15vw;
		border-bottom: none;
	}
	#includeHeader,
	#navPulldownSpecialWrapper,
	#navPulldownSearchWrapper {
		width: 100%;
		height: auto;
		padding: 0;
		background-color: rgba(0,0,0,0);
		box-shadow: none;
	}
	#includeHeader.showSp,
	#navPulldownSpecialWrapper.showSp,
	#navPulldownSearchWrapper.showSp {
		height: 100%;
		background-color: rgba(0,0,0,0.5);
		overflow: hidden;
	}
	#includeHeader .widthWrapper {
		position: relative;
		width: 100%;
		height: 15vw;
		padding: 0;
		margin-left: auto;
		border-bottom: 1px solid rgba(0,0,0,0.1);
	}
	#includeHeader h1 {
		margin-right: auto;
		width: auto;
		height: 15vw;
	}
	
	#includeHeader h1 a img {
		width: 15vw;
		height: 15vw;
	}
	#includeHeader .widthWrapper .headerParts,
	#includeHeader .widthWrapper .headerParts img {
		width: 12.4vw;
		height: 15vw;
	}
	
	#includeHeader .widthWrapper #menuSp {
		width: 15vw;
		height: 15vw;
		background-image: url(../../images/menuSpClose.png);
		background-position: right center;
		background-repeat: no-repeat;
		background-size: 100% auto;
	}
	#includeHeader .widthWrapper #menuSp.showSp {
		background-image: url(../../images/menuSpOpen.png);
	}
	
	#includeHeader nav,
	.navPulldown {
		display: block;
		position: absolute;
		top: calc(15vw + 1px);
		left: 100vw;
		width: 70vw;
		margin: 0;
		padding: 0;
		background-color: #fff;
		overflow-y: scroll;
		-webkit-transition: all 200ms ease-out;
		transition: all 200ms ease-out;
	}
	#includeHeader nav.showSp,
	.navPulldown.showSpSpecial,
	.navPulldown.showSpSearch {
		left: 30vw;
		-webkit-transition: all 200ms ease-out;
		transition: all 200ms ease-out;
	}
	#includeHeader nav #navGlobal {
		display: -webkit-flex;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		flex-direction: column;
		flex-shrink: 0;
		line-height: 0;
		width: 100%;
		margin: 0;
	}
	
	#includeHeader nav #navGlobal > li {
		text-align: left;
		background-image: none;
	}
	
	#includeHeader nav #navGlobal > li > a {
		display: block;
		width: calc(100% - 10vw);
		height: auto;
		padding: 5vw 0 5vw 10vw;
		border-bottom: 1px solid #e8e8e8;
	}
	
	#includeHeader nav #navGlobal #naviSnsBlock {
		width: calc(100% - 15vw);
		padding: 5vw 0 5vw 10vw;
	}
	#includeHeader nav #navGlobal #naviSnsBlock ul {
		justify-content: flex-start;
	}
	#includeHeader nav #navGlobal #naviSnsBlock ul li {
		width: 8.5vw!important;
		height: 8.5vw!important;
		padding-right: 4vw;
		background-image: none!important;
	}
	#includeHeader nav #navGlobal #naviSnsBlock .icon {
		width: 8.5vw!important;
		height: 8.5vw!important;
		padding-right: 0;
	}
	#includeHeader nav #navGlobal > li > a:hover span,
	.calendar #includeHeader nav #navGlobal > li#navCalender > a span,
	.special #includeHeader nav #navGlobal > li#naviSpecial > a span,
	.search #includeHeader nav #navGlobal > li#naviSearch > a span,
	.onlineshop #includeHeader nav #navGlobal > li#navShop > a span {
		padding-bottom: 0;
		border-bottom: none;
	}
	#includeHeader #menuSpecial img,
	#includeHeader #menuSearch img {
		background-color: #fff;
	}
	#includeHeader.fixSp1 #menuSpecial img,
	#includeHeader.fixSp2 #menuSearch img {
		background-color: #ff7500;
	}
	
	.navPulldown .navPulldownList {
		width: 70vw;
		margin: 0;
		padding: 0;
		border: none;
		background-color: #fff;
		border-radius: 0;
	}
	.navPulldown .navPulldownList li {
		width: 100%;
		margin: 0;
	}
	.navPulldown .navPulldownList li:not(.btnViewAll):last-child {
		text-align: left;
	}
	.navPulldown .navPulldownList li:not(.btnViewAll):last-child a {
		border-bottom: none;
	}
	.navPulldown .navPulldownList li:not(.btnViewAll) > a,
	.navPulldown .navPulldownList li:not(.btnViewAll) > a:hover {
		display: block;
		width: 100%;
		color: #272727;
		height: auto;
		padding: 5vw 0 5vw 0.5em;
		border-bottom: 1px solid #c4c4c4;
		box-sizing: border-box;
	}
	.navPulldown .navPulldownList li:not(.btnViewAll) > a > span {
		display: inline-block;
		padding-left: 2.5em;
		background-image: url('../../images/iconArrowOrange.png');
		background-position: left center;
		background-repeat: no-repeat;
		background-size: 2em auto;
	}
	#navPulldownSpecial.navPulldown .navPulldownList li:not(.btnViewAll) > a {
		padding: 5vw 0 5vw 0.5em;
		background-image: none!important;
	}
	#navPulldownSpecial.navPulldown .navPulldownList li:not(.btnViewAll) > a > span {
		display: inline-block;
	}
	#navPulldownSearch.navPulldown .navPulldownList li {
		width: 100%;
		margin: 0;
	}
	
	
	.footerWrapper {
		padding-top: 18%;
	}
	.footerWrapper #snsListSection {
		margin-top: 0!important;
	}
	
}