@charset "utf-8";

/* top
---------------------------------------------------------------------------*/
body.top #wrapper {
	width: 100%;
}

.title-sec {
	font-size: 22px;
	letter-spacing: 0.15em;
}

.title-sec,
.title-sec a {
	color: #1B3067;
	text-decoration: none;
}

.title-sec span {
	padding-bottom: 4px;
}

/* .slider-bnr
------------------------------------*/
.slider-wrap {
 	overflow: hidden;
	width: 100%;
	margin-bottom: 170px;
	pointer-events: none;
/* 	opacity: 0; */
	transition: .3s ease-out;
}

.slider-wrap.active {
	pointer-events: auto;
	opacity: 1;
}

.slider-bnr {
 	overflow: hidden;
	width: 100%;
	height: 575px;
/* 	margin-left: calc(50% - (1150px / 2)); */
}

.slider-bnr .inner {
	width: 1150px;
	margin: 0 auto;
}

.slider-bnr.slick-initialized .inner {
	margin: 0 75px 0 0;
}

.slider-wrap,
.slider-bnr,
.slider-bnr .inner {
	height: 575px;
}

.slider-bnr .inner {
	position: relative;
	overflow: hidden;
}

.slider-bnr .inner a {
	display: block;
	width: 100%;
	height: 100%;
}

.slider-bnr .inner a:hover {
	opacity: 0.8;
}

.slider-bnr .inner figure {
	position: relative;
	width: 100%;
	height: 100%;
}

.slider-bnr .inner img {
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	min-width: 100%;
	height: auto;
}

.slider-bnr .txt {
	background-color: #FFFFFF;
	position: absolute;
	bottom: 34px;
	left: 42px;
	padding: 25px 25px 25px 25px;
	z-index: 1;
	opacity: 0;
}

.slider-bnr h2 {
	margin-bottom: 18px;
	font-size: 15px;
	letter-spacing: 0.14em;
}

.slider-bnr h3 {
	font-size: 20px;
	letter-spacing: 0.12em;
}


/* .sec-news
---------------------------------------------------------------------------*/
.sec-news {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 1154px;
	margin: 0 auto 110px;
}

/* .news-top
------------------------------------*/
.news-top {
	width: 790px;
}

.news-top .title-sec {
	margin: -65px 0 0;
}

/* .recommend-top
------------------------------------*/
.recommend-top {
	width: 315px;
}

.recommend-top > figure {
	position: relative;
	overflow: hidden;
	width: 315px;
	height: 315px;
	margin-bottom: 24px;
}

.recommend-top > figure img {
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.recommend-top > figure:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	border: 3px solid #FFFFFF;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.recommend-top > figure figcaption {
	position: absolute;
	bottom: 2px;
	left: 2px;
}

.recommend-top .fukidashi {
	position: relative;
	box-sizing: border-box;
	background: #ECECEC url(../img/index/bg-fukidashi-btm@2x.png) no-repeat left bottom;
	background-size: 100% auto;
	border: 2px solid #000000;
	padding: 20px 20px 38px 14px;
}

.recommend-top .fukidashi:before {
	display: block;
	content: '';
	background: url(../img/index/bg-fukidashi-top@2x.png) no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: -17px;
	left: calc(50% - 25px);
	width: 50px;
	height: 17px;
}

.recommend-top .fukidashi .btm-line {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	border-top: 2px solid #000000;
	width: 100%;
	height: 22px;
}

.recommend-top .fukidashi .btm-line:before,
.recommend-top .fukidashi .btm-line:after {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	background-color: #000000;
	width: 100%;
	height: 2px;
}

.recommend-top .fukidashi .btm-line:before { top: 6px; }
.recommend-top .fukidashi .btm-line:after { top: 14px; }

.recommend-top .fukidashi a {
	display: -webkit-box;
	display: flex;
	text-decoration: none;
}

.recommend-top .fukidashi a figure {
	overflow: hidden;
	border: 2px solid #000000;
	border-radius: 50%;
	width: 66px;
	min-width: 66px;
	height: 66px;
	margin: -1px 14px 0 0;
}

.recommend-top .fukidashi a figure img {
	object-fit: cover;
	width: 66px;
	height: 66px;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.recommend-top .fukidashi a p {
	font-size: 13px;
	line-height: 1.75;
	letter-spacing: 0.04em;
	text-align: justify;
}


/* .event-top
---------------------------------------------------------------------------*/
.event-top {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 1165px;
	margin: 100px auto 140px;
}

/* .event
------------------------------------*/
.event {
	position: relative;
	box-sizing: border-box;
	width: 290px;
	padding: 0 45px;
}

.event:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	right: -6px;
	background:-webkit-gradient(linear, right top, right bottom, color-stop(0.5, #000000), color-stop(0.5, #EBE5D1), color-stop(1, #EBE5D1));
	background: linear-gradient(to bottom, #000000 50%, #EBE5D1 50%, #EBE5D1 100%) right top;
	background-repeat: repeat-y;
	background-size: 1px 4px;
	width: 1px;
	height: calc(100% - 70px);
	opacity: 0.5;
}

.event > h2 {
	margin-bottom: 25px;
	text-align: center;
}

.event > h2 a {
	display: inline-block;
	text-decoration: none;
}

.event > h2 em {
	display: block;
	margin-bottom: 7px;
}

.event > h2 strong {
	display: block;
	font-size: 15px;
  letter-spacing: 0.2em;
	transform: scaleY(0.9);
}

.event .event-list {
	position: relative;	
	width: 100%;
	padding: 10px 0 15px;
}

.event .event-list article {
	position: relative;
	width: 200px;
	margin: 0 0 40px;
	padding: 0 0 40px;
}

.event .event-list article:last-of-type {
	margin-bottom: 0;
	padding-bottom: 0;
}

.event .event-list article:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: -45px;
	background:-webkit-gradient(linear, left bottom, right bottom, color-stop(0.5, #000000), color-stop(0.5, #EBE5D1), color-stop(1, #EBE5D1));
	background: linear-gradient(to left, #000000 50%, #EBE5D1 50%, #EBE5D1 100%) left bottom;
	background-repeat: repeat-x;
	background-size: 4px 1px;
	width: calc(100% + 45px + 25px);
	height: 1px;
	opacity: 0.5;
}

.event .event-list article:last-of-type:after {
	display: none;
}

.event-top .event-list figure img {
	width: 200px;
	height: 200px;
}

/* .calendar
------------------------------------*/
.calendar {
	position: relative;
	width: 820px;
	margin-top: -6px;
}

/*
.calendar > h2 {
	position: absolute;
	top: 92px;
	left: -40px;
	color: #1B3067;
	font-size: 22px;
	letter-spacing: 0.1em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}
*/