@charset "UTF-8";
/* ==========================================================================
   ブライダルフェア　スタイル
   ========================================================================== */

/* 一覧表示
   ---------------------------------- */
.fair-index { margin-bottom: 30px;}
.fair-index__date {
	padding: 10px;
	background: #333;
	color: #fff;
	font-size: 1.6rem;
}
.fair-index__box {
	padding-bottom: 10px;
	background: #f5f5f5;
}

/* イベント内容 */
.fair-item { padding: 15px 15px 20px;}
.fair-item:before,
.fair-item:after { content: ""; display: table;}
.fair-item:after { clear: both;}
.fair-item + .fair-item {
	padding-top: 25px;
	border-top: 1px dotted;
}
.fair-index .mod-acc__title {
	padding: 5px 15px 0;
	border-top: 1px solid;
	font-weight: bold;
}
.fair-item__heading {
	line-height: 1.4;
	margin-bottom: .75em;
	font-size: 1.6rem;
}
.fair-item__heading a {
	text-decoration: none;
}
.fair-tags,
.fair-time {
	list-style: none;
	margin: 0;
	padding: 0;
}
.fair-tags > li {
	display: inline-block;
	line-height: 1;
	margin: 0 .16em .33em 0;
	padding: .4em .6em .3em;
	border: 1px solid #b69333;
	background: #fff;
	color: #b69333;
	font-size: 1.2rem;
	font-weight: bold;
}
.fair-tags .tag-reserve {
	background: #808080;
	color: #fff;
}
.fair-item__detail .fair-tags > li {
	border: none;
}
.fair-time > li {
	display: inline-block;
	margin: 0 16px 0 0;
}
.svg .icon-time {
	display: inline-block;
	position: relative;
	top: -1px;
	width: 16px;
	height: 16px;
	margin-right: 2px;
	background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOS45IDIyLjgiPjx0aXRsZT4xNDc5MjE0MjI3X3RpbWVyPC90aXRsZT48cGF0aCBkPSJNMTEuMSAzYTkuODkgOS44OSAwIDAgMSA0LjczIDEuODZsMS4zOS0xLjU1IDEuNiAxLjQzLTEuNCAxLjU2QTEwIDEwIDAgMSAxIDkgMi45NVYySDYuNDhWMGg3LjExdjJIMTEuMXYxem00LjMyIDQuNDFhNy43NCA3Ljc0IDAgMSAwIDIuMjcgNS40NyA3LjcyIDcuNzIgMCAwIDAtMi4yNy01LjV6bS4yMSA1LjQ3SDEwVjcuMTdhNS42OCA1LjY4IDAgMCAxIDUuNjMgNS42OHoiLz48L3N2Zz4=) no-repeat center center;
	vertical-align: middle;
}
.fair-item__btn {
	clear: both;
	padding-top: 10px;
}
.fair-item__btn .btn {
	max-width: 100%;
	width: 100%;
	margin: 4px auto;
}

@media screen and (max-width:40em) {
	.fair-item__time,
	.fair-item__detail { display: none;}
	.fair-item__btn .btn > span { display: none;}
}
@media print, (min-width:40.0625em) {
	.fair-item { padding: 16px 24px;}
	.fair-index .mod-acc__title { padding: 10px 24px 0;}
	.fair-item__heading {
		margin-bottom: .5em;
		font-size: 2.2rem;
	}
	.fair-item__image {
		float: right;
		width: 30%;
		margin-left: 0;
	}
	.fair-item__time,
	.fair-item__detail,
	.fair-item__btn {
		float: left;
		width: 67%;
		margin-bottom: .5em;
	}
	.fair-item__desc {
		margin-bottom: 20px;
	}
	.fair-item__btn { clear: none; padding-top: 20px;}
	.fair-item__btn .btn > span { display: none;}
}
@media print, (min-width:60.0625em) {
	.fair-item { padding: 30px 50px 25px;}
	.fair-index .mod-acc__title { padding: 10px 50px 0;}
	.fair-item__image {
		width: 240px;
		margin: 0;
	}
	.fair-item__time,
	.fair-item__detail,
	.fair-item__btn {
		width: calc(100% - 280px);
	}
}


/* タブ切り替え
   ---------------------------------- */
.js .tabs .current-info,
.js .tabs .accessibletabsanchor,
.js .tabs .tabhead {
	clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
	position: absolute !important;
	height: 1px;
	width: 1px;
}

.tabs-list {
	display: table;
	table-layout: fixed;
	list-style: none;
	width: 100%;
	margin: 0;
	padding: 0;
}
.tabs-list > li {
	display: table-cell;
	line-height: 1.2;
	background: #dfdfdf;
	border-top: 6px solid #fff;
	border-bottom: 1px solid #ddd;
	color: #808080;
	box-shadow: inset 0 -5px 5px rgba(0,0,0,.05), inset 0 0 0 1px rgba(0,0,0,.1);
	font-size: 1.3rem;
	text-align: center;
	vertical-align: middle;
}
.tabs-list a {
	display: block;
	padding: 10px 8px;
	text-decoration: none;
	outline: none;
}
.tabs-list > li.is-active {
	background: #fff;
	border: 1px solid #ddd;
	border-bottom-color: #fff;
	color: #333;
	box-shadow: none;
}
.tabs__wrapper {
	margin-top: 20px;
}
@media screen and (max-width:40em) {
	.tabs-list > li {
		letter-spacing: 0;
	}
}
@media print, (min-width:40.0625em) {
	.tabs-list > li {
		font-size: 1.8rem;
		font-weight: bold;
	}
	.tabs-list a {
		padding: 20px;
	}
}

/* 日程・内容から探す
   ---------------------------------- */
.fair-search { margin: 30px 0;}

/* カレンダー*/
#js-calendar {
	list-style: none;
	width: 100%;
	margin: 0;
	padding: 0;
}
.calendar__nav {
	position: relative;
	height: 30px;
}
.calendar-prev,
.calendar-next {
	position: absolute;
	top: 0;
	z-index: 1;
	background: none;
	border: none;
	font-size: 1.2rem;
	text-decoration: underline;
	outline: none;
}
.calendar-prev { left: 0;}
.calendar-next { right: 0;}
.calendar-prev.slick-disabled,
.calendar-next.slick-disabled { opacity: .2;}

.calendar {
	width: 100%;
	min-width: 250px;
	text-align: center;
}
.calendar__header {
	position: relative;
	line-height: 1.4;
	padding: 20px 10px 10px;
	background: #fff;
	border: 1px solid #f5f5f5;
	border-top: 2px solid;
	font-size: 1.2rem;
}
.calendar__header span {
	display: block;
	font-size: 1.42em;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.calendar__body {
	background: #f5f5f5;
	padding: 14px;
}
.calendar table {
	table-layout: fixed;
	max-width: 360px;
	width: 100%;
	margin: 0 auto;
	border-collapse: collapse;
	border-spacing: 0;
}
.calendar thead { color: #aaa;}
.calendar th {
	background: #f5f5f5;
	text-align: center;
}
.calendar td {
	height: 2.5em;
	line-height: 2.3em;
	background: #fff;
	border: 1px solid #ddd;
	text-align: center;
	vertical-align: top;
}
.calendar .closed {
	color: #ccc;
}
/*.calendar a {
	display: inline-block;
	position: relative;
	width: 100%;
	height: 100%;
	text-align: center;
	text-decoration: none;
}
.calendar a:before {
	display: block;
	content: "";
	position: absolute;
	left: 50%;
	top: 1.6em;
	width: 12px;
	height: 1px;
	margin-left: -6px;
	background: #808080;
}*/
.calendar .sat,
.calendar .sat a { color: #387ab7;}
.calendar .holiday,
.calendar .holiday a { color: #ee3a53;}

@media print, (min-width:40.0625em) {
	.fair-search {
		max-width: 1000px;
		margin: 40px auto;
	}
	.calendar__header {
		padding: 20px 10px 10px;
		font-size: 1.3rem;
	}
	.calendar table {
		max-width: none;
	}
	.calendar td {
		height: 3em;
		line-height: 2.8em;
		font-size: 1.5rem;
	}
	/*.calendar a:before {
		top: 2em;
		width: 5px;
		height: 5px;
		margin-left: -2.5px;
	}*/
	.calendar__body {
		padding: 20px 10%;
	}
}

/* カレンダーチェックボックス */
.calendar input {
	position: absolute;
	z-index: -1;
	width: 10px;
	height: 10px;
	opacity: 0;
	outline: none !important;
}
.calendar input + label {
	display: block;
	height: 100%;
	background: #fff;
	text-decoration: underline;
	cursor: pointer;
}
.no-touchevents .calendar input + label:hover { background: #eee;}
.calendar .chkboxchecked + label,
.calendar input:checked + label { background: #4d4d4d !important; color: #fff !important;}


/* 詳細ページ
   ---------------------------------- */
.fair__title {
	line-height: 1.4;
	margin-bottom: 1em;
	padding-bottom: .4em;
	border-bottom: 2px solid #ebebeb;
	font-size: 1.6rem;
}
.fair__inner {
	position: relative;
}
.fair__thumb {
	width: 100%;
	margin-bottom: 15px;
}
.fair__detail {
	padding-top: 10px;
}
@media print, (min-width:40.0625em) {
	.fair__title {
		font-size: 2.2rem;
	}
	.fair__thumb {
		float: right;
		width: 30%;
	}
	.fair__notes,
	.fair__detail {
		margin-right: 34%;
		margin-left: 0;
	}
}
@media screen and (min-width:60.0625em) {
	.fair__thumb {
		width: 40%;
	}
	.fair__notes,
	.fair__detail {
		margin-right: 43%;
	}
}

.fair-reserve { margin-top: 30px;}
.fair-reserve__tel {
	display: block;
	margin-top: 20px;
	margin-bottom: 40px;
	padding: 20px 15px;
	border: 1px solid #ddd;
	line-height: 1.4;
}
.fair-reserve__tel small {
	font-size: 1.1rem;
}
.fair-reserve__tel strong {
	font-size: 1.6rem;
	font-weight: normal;
}
.fair-reserve__tel strong > span,
.fair-reserve__tel strong > a {
	font-size: 1.5em;
}
@media print, (min-width:60.0625em) {
	.fair-reserve__tel {
		display: inline-block;
		width: 600px;
		margin: 20px 0 60px;
	}
}

.fair-data { margin-top: 30px;}
.fair-data dl { margin: 0 0 1em 0;}
.fair-data dt {
	padding: 2px 8px;
	background: #ebebeb;
	font-size: 1.3rem;
}
.fair-data dd {
	margin: 0;
	padding-top: 6px;
}
@media screen and (max-width:40em) {
	.fair-data {
		padding: 10px;
		border: 1px solid #ddd;
	}
}
@media print, (min-width:40.0625em) {
	.fair-reserve__tel {
		text-align: center;
	}
	.fair-reserve__tel small {
		font-size: 1.2rem;
	}
	.fair-reserve__tel strong {
		font-size: 2rem;
	}
	.fair-data dl {
		display: table;
		width: 100%;
		margin: -1px 0 0 0;
		border-top: 1px solid #ddd;
	}
	.fair-data dt,
	.fair-data dd {
		display: table-cell;
		padding: 8px 16px;
		border-bottom: 1px solid #ddd;
	}
	.fair-data dt {
		width: 12em;
		vertical-align: middle;
	}
	.fair-data dd {
		margin-left: 7em;
	}
}

/* フェアに含まれる物 */
.fair-contents img {
	float: left;
	width: 80px;
	margin: 0 8px 8px 0;
}
@media screen and (max-width:40em) {
	.fair-contents img { display: none;}
}

/* 開催日時を指定して予約 */
.reserve-list {
	list-style: none;
	margin: 0;
	padding: 0 10px;
}
.reserve-list > li {
	padding: .25em 0;
}
.reserve-list .reserve-list__date {
	display: inline-block;
	width: 8.5em;
}
.reserve-list .btn {
	font-size: 1.6rem;
	font-weight: bold;
}
@media print, (min-width:40.0625em) {
	.reserve-list {
		padding: 0 40px;
	}
	.reserve-list > li {
		display: inline-block;
		width: 49%;
		padding: 1em 0;
		border-bottom: 1px solid #eee;
	}
	.reserve-list .btn {
		font-size: 1.8rem;
	}
}
@media print, (min-width:60.0625em) {
	.reserve-list > li { width: 32%;}
}

/* ご予約の流れ */
.reserve-flow {
	margin-top: 40px;
	padding: 30px 0 40px;
	background: #f5f5f5;
	background: url(../img/global/bg_fair.jpg) repeat center center;
	box-shadow: inset 0 5px 5px rgba(0,0,0,.1);
}
.reserve-flow ol {
	list-style: none;
	margin: 0;
	padding: 0;
}
.reserve-flow li {
	position: relative;
	width: 400px;
	max-width: 100%;
	margin: 20px auto 0;
	padding: 16px;
	background: #fff;
	background: rgba(255,255,255,.85);
	box-shadow: 0 8px 10px -4px rgba(0,0,0,.2);
	border: 1px solid #ebebeb;
	fons-size: 1.2rem;
	text-align: center;
}
.reserve-flow li:before {
	display: block;
	content: "";
	position: absolute;
	left: 50%;
	top: -16px;
	width: 10px;
	height: 10px;
	margin-left: -5px;
	border-top: 2px solid;
	border-right: 2px solid;
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}
.reserve-flow li:first-child { margin-top: 0;}
.reserve-flow li:first-child:before { display: none;}
.reserve-flow strong {
	display: block;
	font-size: 1.6rem;
}
.reserve-flow strong:after {
	display: block;
	content: "";
	width: 20px;
	height: 2px;
	background: #808080;
	margin: 8px auto 16px;
}
@media screen and (max-width:60em) {
	.reserve-flow { background-size: 564px 375px;}
	.reserve-flow br { display: none;}
}
@media print, (min-width:60.0625em) {
	.reserve-flow {
		margin-top: 80px;
		padding: 60px 0 80px;
	}
	.reserve-flow li {
		float: left;
		position: relative;
		width: 22%;
		margin: 0 0 0 3.3%;
		padding: 30px 20px;
		fons-size: 1.3rem;
	}
	.reserve-flow li:before {
		left: -12%;
		top: 50%;
		width: 16px;
		height: 16px;
		margin: -8px 0 0 0;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.reserve-flow li:first-child { margin-left: 0;}
	.reserve-flow li:first-child:before { display: none;}
	.reserve-flow strong {
		font-size: 1.8rem;
	}
}
