@charset "utf-8";

/*----------------------------
	index.html
------------------------------*/
/*notice*/
.noticeBlock {
	margin-top: 30px;
	margin-bottom: 30px;
}
.notice {
	padding: 25px 20px;
	color: #e10000;
	border: solid 1px #e10000;
}
.notice a {
	text-decoration: underline;
}

/*mainimg slick*/
.slider {
	visibility: hidden;
}
.loaded .slider {
	visibility: visible;
}
.slider .mainimg .slick-track p:not(.slick-current) {
	position: relative;
}
.slider .mainimg .slick-track p:not(.slick-current):before {
	display: block;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background:rgba(0, 0, 0, 0.65) none repeat scroll 0 0;
}
.slider .thumb {
	max-width: 984px;
	margin: auto;
}
.slider .thumb p {
	margin: 20px 0.5% 50px;
}
.slider .thumb p:not(.slick-current) {
	position: relative;
}
.slider .thumb p:not(.slick-current):before {
	display: block;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background:rgba(0, 0, 0, 0.65) none repeat scroll 0 0;
}
.slider .slick-arrow.slick-prev {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	width: 56px;
	height: 56px;
	background: url(/common/img/icn_prev.png) no-repeat;
	margin-left: -656px;
	margin-top: -28px;
	padding: 0;
	border: none;
	font-size: 0;
	cursor: pointer;
}
.slider .slick-arrow.slick-next {
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 50%;
	width: 56px;
	height: 56px;
	background: url(/common/img/icn_next.png) no-repeat;
	margin-right: -656px;
	margin-top: -28px;
	padding: 0;
	border: none;
	font-size: 0;
	cursor: pointer;
}
.slider .slick-arrow:hover {
	opacity: 0.7;
	-webkit-transition: .2s ease-out;
	transition: .2s ease-out;
}
/*slick dot*/
.slick-dots {
	margin: 15px 0;
	font-size: 0;
	text-align: center;
}
.slick-dots li {
	display: inline-block;
	width: 10px;
	height: 10px;
	background: #c2c2c2;
	border-radius: 5px;
	cursor: pointer;
	margin-right: 9px;
}
.slick-dots li.slick-active {
	width: 10px;
	height: 10px;
	background: #004ea1;
}
.slick-dots button {
	display: none;
}

/*hotword*/
.contentsWrap .hotWordBlock {
	background: #f2f2f2;
	padding: 30px 0 20px;
}
.contentsWrap .hotWord {
	display: flex;
}
.contentsWrap .hotWord p {
	margin: 15px 0.5% 0.5% 0.5%;
	font-size: 1.8rem;
	font-weight: bold;
	color: #004ea1;
	flex: 0 1 130px;
}
.contentsWrap .hotWord ul {
	font-size: 1.5rem;
	flex: 1 1 0;
	display: flex;
	flex-wrap: wrap;
}
.contentsWrap .hotWord ul li {
	margin: 0.5%;
}
.contentsWrap .hotWord ul li a {
	display: block;
	padding: 12px 20px;
	background: #fff;
	border: solid 1px #004ea1;
	border-radius: 25px;
	color: #004ea1;
}

/* bnrArea */
.bnrArea {
	margin-top: 80px;
}
.bnrArea > p + p {
	margin-top: 40px;
}

@media only screen and (max-width: 1200px) {
	.bnrArea {
		margin-top: 6.667vw;
	}
	.bnrArea > p + p {
		margin-top: 3.333vw;
	}
}

@media only screen and (max-width: 768px) {
	.bnrArea {
		margin-top: 4vw;
	}
	.bnrArea > p + p {
		margin-top: 3vw;
	}
}


/*roofBlock*/
.roofBlock {
	margin-top: 4vw;
	background: url(/top/img/bg_roof.jpg) no-repeat top center;
	min-height: 100px;
	padding-top: 20px;
}
.roofBlock dl {
	width: calc(680  / 1200 * 100%);
	min-width: 580px;
	/* margin: auto; */
	margin-left: auto;
	margin-right: 13%;
	margin-bottom: 5px;
	border: solid 1px #fff;
	display: flex;
}
.roofBlock dl dt {
	width: 30.4%;
	max-width: 206px;
	padding: 1px;
}
.roofBlock dl dd {
	text-align: center;
	flex-grow: 1;
	flex-basis: 68%;
	padding: 1px 5px;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
.roofBlock dl dd .txt {
	font-size: 1.8rem;
	line-height: 1.3;
}
.roofBlock .update {
	text-align: right;
	margin: 0 15px 3px 0;
}

/*newsBlock*/
.newsBlock {
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
}
.newsBlock .ttlNews {
	width: 15.3%;
	border-top: solid 1px #004ea1;
	border-bottom: solid 1px #004ea1;
	font-size: 2rem;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
}
.newsBlock .newsBox {
	width: 83.3%;
	border-bottom: solid 1px #c2c2c2;
}
.newsBlock .newsBox dl {
	display: flex;
	border-top: solid 1px #c2c2c2;
	padding: 13px 0;
	height: auto !important;
}
.newsBlock .newsBox dl dt {
	min-width: 160px;
}
.newsBlock .newsBox dl dd a {
	color: #004ea1;
}

/*ttlBlock*/
.ttlBlock {
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 30px;
}
.ttlBlock span.icn {
	position: relative;
	padding-left: 80px;
}
.ttlBlock span.icn::before {
	display: block;
	content: "";
	position: absolute;
	width: 63px;
	height: 50px;
	left: 0;
	top: 50%;
	margin-top: -25px;
	background-repeat: no-repeat;
	background-position: center left;
	background-size: 100% auto;
}
.ttlBlock.shopnews span.icn.icn::before {
	background-image: url(/top/img/icn_shopnews.png);
}
.ttlBlock.noctynews span.icn::before {
	background-image: url(/top/img/icn_noctynews.png);
}
.ttlBlock.coupon span.icn::before {
	background-image: url(/top/img/icn_coupon.png);
}
.ttlBlock.coupon span.detection {
	position: relative;
	padding: 0 60px;
}
.ttlBlock.coupon span.detection::before,
.ttlBlock.coupon span.detection::after {
	display: block;
	content: "";
	position: absolute;
	width: 32px;
	height: 25px;
	bottom: 0;
	background-repeat: no-repeat;
	background-position: center left;
	background-size: 100% auto;
}
.ttlBlock.coupon span.detection::before {
	background-image: url(/top/img/img_coupon_left.png);
	left: 0;
}
.ttlBlock.coupon span.detection::after {
	right: 0;
	background-image: url(/top/img/img_coupon_right.png);
}

/* movieBlock */
.movieBlock {
	padding-top: 80px;
}
.movieBlock .mvList {
	margin: 0 auto;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px 3.8%;
}
.movieBlock .mvList > div {
	width: 30.8%;
}
.movieBlock .mvList > div:only-child  {
	width: 70%;
}
.movieBlock .mvList .mv {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	height: 0;
}
.movieBlock .mvList iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.movieBlock .btn02 a {
	background-image: none;
}

/*shopnewsBlock*/
.shopnewsBlock,
.noctynewsBlock {
	padding-top: 80px;
}
.lineTop {
	border-color: #888;
	padding-top: 80px;
}

/*infoBlock slick*/
.infoBlock .slick-slide > div {
	margin:0 3% 40px;
}
.infoBlock .infoBox {
	margin: 0;
}
.infoBlock .slick-dots li {
	width: 13px;
	height: 13px;
	border: solid 1px #004ea1;
	background: #fff;
	border-radius: 50%;
}
.infoBlock .slick-dots li.slick-active {
	background: #004ea1;
}
.btn02 {
	width: 48.6%;
}

/*couponBlock*/
.couponBlock {
	display: flex;
	flex-wrap: wrap;
}
.couponBlock .couponBox {
	width: 48%;
	margin: 0 1%;
	border-bottom: solid 1px #c2c2c2;
}
.couponBlock .couponBox:nth-child(1),
.couponBlock .couponBox:nth-child(2) {
	border-top: solid 1px #c2c2c2;
}
.couponBlock .couponBox a {
	display: flex;
	padding: 20px 0;
}
.couponBlock .couponBox a:hover {
	opacity: 0.7;
}
.couponBlock .couponBox .pic {
	width: 41.6%;
	position: relative;
}
.couponBlock .couponBox .pic::before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: calc(79 / 276 * 100%);
	height: calc(79 / 167 * 100%);
	background-image: url(/common/img/icn_coupon.png);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: contain;
	z-index: 1; /*for iphone*/
}
.couponBlock .couponBox .pic img {
	background-size: cover;
	background-position: center center;
}
.couponBlock .couponBox .place {
	font-size: 1.3rem;
	color: #004ea1;
}
.couponBlock .couponBox .shopName {
	font-weight: bold;
	color: #004ea1;
}
.couponBlock .couponBox .shopTxt {
	margin-top: 7px;
}
.couponBlock .couponBox div {
	width: 61.8%;
	margin-left: 2%;
	display: flex;
	flex-direction: column;;
}
.couponBlock .couponBox div .update {
	font-size: 1.3rem;
	text-align: right;
	margin-top: auto;
}
.btn04 {
	width: 48.6%;
}


/*otherBlock*/
.otherBlock {
	margin-top: 80px;
	padding: 65px 0;
	background: #f2f2f2;
}
.otherBlock .otherBox {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content: space-around;
}
.otherBlock ul {
	width: 49.5%;
	align-content: flex-start;
	display: flex;
	flex-wrap: wrap;
}
.otherBlock ul li {
	width: 47%;
	margin: 0 1.5% 15px 1.5%;
}
.otherBlock ul li a:hover {
	opacity: 0.7;
}
.otherBlock ul li p + p {
	margin-top: 0.8em;
}
.otherBlock .snsBlock {
	width: 41.6%;
}
.otherBlock .snsBlock .bnr {
	margin-bottom: 20px;
}
.otherBlock .snsBlock .fb-page {
	width: 100%;
}
.ftCategory {
	background: #f2f2f2;
	padding: 60px 0;
}

/*----------
	SP
------------*/
@media only screen and (max-width: 768px) {
	.inner{
		padding: 0 15px;
	}
	/*notice*/
	.noticeBlock {
		margin-top: 4vw;
		margin-bottom: 4vw;
	}
	.notice {
		padding: 3.333vw 3%;
		color: #e10000;
		border: solid 1px #e10000;
	}
	.notice a {
		text-decoration: underline;
	}

	/*mainimg slick*/
	.slider .thumb {
		display: none;
	}

	/*menuBlock*/
	.contentsWrap .menuBlock {
		display: block;
		margin-top: 6vw;
		background: #fff;
		padding: 2.667vw;
	}
	.contentsWrap .menuBlock ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		text-align: center;
	}
	.contentsWrap .menuBlock ul li {
		width: calc(100% / 3);
		font-size: 1.1rem;
		font-weight: bold;
		color: #004ea1;
		position: relative;
	}
	.contentsWrap .menuBlock ul li:after {
		position: absolute;
		content: "";
		display: block;
		border-left: solid 1px #c2c2c2;
		height: 100%;
		top: 0;
		right: 0;
	}
	.contentsWrap .menuBlock ul li:nth-child(-n+3) {
		border-bottom: solid 1px #c2c2c2;
	}
	.contentsWrap .menuBlock ul li:nth-child(3n):after {
		border-left: none;
	}
	.contentsWrap .menuBlock ul li a {
		display: block;
		height: 100%;
		padding: 4.6vw 1vw;
	}
	.contentsWrap .menuBlock ul li img,
	.contentsWrap .menuBlock ul li span {
		display: block;
	}
	.contentsWrap .menuBlock ul li img {
		margin: 0 auto 12px;
		width: auto;
		height: 3.6rem;
		/* max-width: 80px; */
	}
	.contentsWrap .menuBlock ul li span {
		padding: 0 3%;
	}
	.contentsWrap .menuBlock ul li span img {
		height: 2.4rem;
	}
	.contentsWrap .menuBlock ul li:last-child img {
		width: 100%;
		max-width: 100px;
		height: auto;
	}


	/*hotWordBlock*/
	.contentsWrap .hotWordBlock {
		padding: 4vw 0;
	}
	.contentsWrap .hotWord {
		display: block;
	}
	.contentsWrap .hotWord p {
		margin: 0.5%;
		font-size: 1.2rem;
		flex: unset;
		display: inline;
		padding-right: 2%;
	}
	.contentsWrap .hotWord ul {
		font-size: 1.2rem;
		flex: unset;
		display: inline;
		flex-wrap: unset;
	}
	.contentsWrap .hotWord ul li {
		display: inline-block;
	}
	.contentsWrap .hotWord ul li a {
		padding: 5px 3vw;
	}

	/*roofBlock*/
	.roofBlock {
		min-height: auto;
		padding-top: 1.733vw;
		padding-bottom: 1.733vw;
	}
	.roofBlock dl {
		width: 100%;
		min-width: auto;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 0;
		border: none;
		display: block;
	}
	.roofBlock dl dt {
		width: 25%;
		max-width: auto;
		border: solid 1px #fff;
		display: inline-block;
		vertical-align: middle;
	}
	.roofBlock dl dd {
		text-align: left;
		background: none;
		display: inline-block;
		vertical-align: middle;
		color: #fff;
	}
	.roofBlock dl dd .txt {
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 1.3;
	}
	.roofBlock .update {
		font-size: 1.1rem;
		text-align: left;
		margin: 0 15px 3px 0;
	}

	/*newsBlock*/
	.newsBlock {
		margin-top: 9.333vw;
		display: block;
	}
	.newsBlock .ttlNews {
		width: 100%;
		border: none;
		font-size: 1.6rem;
		display: block;
		margin-bottom: 10px;
	}
	.newsBlock .newsBox {
		width: 100%;
	}
	.newsBlock .newsBox dl {
		display: block;
		padding: 1.733vw 0;
		line-height: 1.5;
		position: relative;
		overflow: hidden;
	}
	.newsBlock .newsBox dl.hide {
		height: 100px !important;
	}
	.newsBlock .newsBox dl.hide:before {
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		content: "";
		width: 100%;
		height: 34px;
		background: #fff;
		/* background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
		background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%); */
		text-align: center;
	}
	.newsBlock .newsBox dl dt {
		min-width: auto;
		margin-bottom: 0.5vw;
	}
	.newsBlock .newsBox dl dd.more {
		position: absolute;
		bottom: 5px;
		left: 0;
		right: 0;
		text-align: right;
	}

	/*ttlBlock*/
	.ttlBlock {
		font-size: 1.8rem;
		margin-bottom: 2vw;
	}
	.ttlBlock span.icn {
		padding-left: 10%;
	}
	.ttlBlock span.icn::before {
		width: 30px;
		height: 25px;
		margin-top: -13px;
	}
	.ttlBlock.coupon span.detection {
		padding: 0 8%;
	}
	.ttlBlock.coupon span.detection::before,
	.ttlBlock.coupon span.detection::after {
		width: 15px;
		height: 12px;
		top: 0;
		margin: auto;
	}

	/* movieBlock */
	.movieBlock {
		padding-top: 10.667vw;
	}
	.movieBlock .mvList > div {
		width: 100%;
	}
	.movieBlock .mvList > div:only-child  {
		width: 100%;
	}

	/*shopnewsBlock*/
	.shopnewsBlock,
	.noctynewsBlock {
		padding-top: 10.667vw;
	}
	.lineTop {
		padding-top: 9.333vw;
	}

	/*infoBlock*/
	.infoBlock .slick-slide > div {
		margin:0 3% 4vw;
	}
	.btn02 {
		margin-top: 6vw;
		width: 80%;
	}

	/*couponBlock*/
	.couponBlock .couponBox {
		width: 100%;
		margin: 0;
	}
	.couponBlock .couponBox:nth-child(2) {
		border-top: none;
	}
	.couponBlock .couponBox a {
		padding: 2vw 0;
	}
	.couponBlock .couponBox .pic {
		width: 34.9%;
	}
	.couponBlock .couponBox .pic:before {
		width: calc(92 / 240 * 100%);
		height: calc(92 / 146 * 100%);
	}
	.couponBlock .couponBox .place {
		font-size: 1.1rem;
	}
	.couponBlock .couponBox div .update {
		font-size: 1.1rem;
	}
	.btn04 {
		margin-top: 6vw;
		width: 80%;
	}

	/*otherBlock*/
	.otherBlock {
		margin-top: 10.667vw;
		padding: 8vw 0;
	}
	.otherBlock .inner {
		padding: 0 15px;
	}
	.otherBlock .otherBox {
		display: flex;
		flex-direction: column;
	}
	.otherBlock ul {
		width: 100%;
		}
	.otherBlock .snsBlock {
		width: 100%;
	}
	.otherBlock .snsBlock .bnr {
		margin-bottom: 2vw;
	}

	.ftCategory {
		padding: 3.333vw 0;
	}

}
