@charset "utf-8";

	body .hanasaka #container {
		width: 100%;
	}

	img {
		max-width: 100%;
	}

#top {
	overflow: hidden;
}

#wrap {
	width: 100%;
	overflow: hidden;
}

	.mainImg {
		position: relative;
		width: 100%;
		height: 500px;
		background: url(../imgs/bg-vis.png) repeat-x center top;
	}

	.mainImg h2 {
		position: absolute;
		top: 50%;
		left: 5%;
		right: 5%;
		width: 90%;
		text-align: center;
		transform: translateY(-50%);
	}
	.mainImg h2 img {
		width: auto;
		max-width: 100%;
	}
@media only screen and (max-width:599px) {
	.mainImg {
		height: 350px;
	}
}

	.sec {
		font-family: RodinPro-L,"Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	}

	.sec.bgA {
		padding-top: 80px;
		padding-bottom: 80px;
		background: url(../imgs/bg-box.png) repeat left top;
	}
	.sec.bgA .wrap {
		width: 1200px;
	}

	.sec.num1 {
		padding-top: 100px;
		padding-bottom: 80px;
	}
	.sec.num2 {
		padding-top: 100px;
		padding-bottom: 80px;
	}
	.sec.num2 .wrap {
		width: 1200px;
	}

	.sec.num3 {
		padding-bottom: 80px;
	}
	.sec.num3 .wrap {
		width: 1200px;
	}

	.sec.num4 {
		padding-bottom: 80px;
	}
	.sec.num4 .wrap {
		width: 1200px;
	}

	.sec.num5 {
		padding-top: 60px;
		padding-bottom: 60px;
	}


	.ttl {
		position: relative;
		margin-bottom: 40px;
	}
	.ttl:before {
		content: "";
		position: absolute;
		top: -50px;
		left: -50px;
		width: 88px;
		height: 90px;
		background: url(../imgs/icn-ttl.png) no-repeat 0 0;
		z-index: 0;
	}
	.ttl img {
		position: relative;
		z-index: 1;
	}
	.ttl span {
		position: relative;
		display: none;
		font-size: 22px;
		line-height: 1.6;
		z-index: 2;
	}

	.sttlliner {
		margin-bottom: 50px;
		padding-bottom: 30px;
		border-bottom: solid 1px #ddd;
		text-align: center;
	}
	.sttl {
		margin-bottom: 60px;
		text-align: center;
	}
	.txtA {
		font-size: 14px;
	}
	.alImg {
		text-align: left;
	}
	.arImg {
		text-align: right;
	}

	.day {
		margin-bottom: 10px;
	}
	.day span {
		display: inline-block;
		padding: 2px 10px 0;
		background: #eee;
		font-weight: bold;
		line-height: 1.8;
		letter-spacing: 0.1em;
	}

	.txtIcn {
		padding-left: 45px;
		background:url(../imgs/icn.png) no-repeat 0 0;
	}
	.txtImg {
		text-align: center;
	}
	.txtImg span {
		position: relative;
		display: inline-block;
	}
	.txtImg span:after {
		content: "";
		position: absolute;
		top: -45px;
		right: -165px;
		width: 140px;
		height: 128px;
		background: url(../imgs/img-08.png) no-repeat 0 0;
	}


	.info {
		position: relative;
		width: 100%;
	}
	.info li {
		display: inline-block;
		vertical-align: top;
	}
	.info li.ymd {
		width: 180px;
		text-align: center;
	}
	.info .btMore {
		position: absolute;
		bottom: 0;
		right: 0;
	}
	.infoTxt {
		margin-bottom: 15px;
	}
	.infoTxt span {
		display: none;
		font-size: 16px;
		line-height: 1.6;
	}

	.lineA {
		margin-bottom: 10px;
		padding-bottom: 15px;
		background:url(../imgs/bg-line.png) repeat-x bottom left;
	}
	.lineA span {
		display: none;
		font-size: 16px;
		line-height: 1.6;
	}
@media only screen and (max-width:1320px) {
	.sec.bgA .wrap {
		width: auto;
	}
	.sec.num2 .wrap,
	.sec.num3 .wrap,
	.sec.num4 .wrap {
		width: auto;
	}
}

@media only screen and (max-width:1400px) {
	.sec.num2,
	.sec.num3,
	.sec.num4 {
		padding-left: 110px;
	}
}

@media only screen and (max-width:1320px) {
	.sec.num1 {
		padding-left: 50px;
	}
	.sec.bgB,
	.sec.num2,
	.sec.num3,
	.sec.num4,
	.sec.num5 {
		padding-left: 110px;
	}
}

@media only screen and (max-width:599px) {
	.sec.num1,
	.sec.bgB,
	.sec.num2,
	.sec.num3,
	.sec.num4,
	.sec.num5 {
		padding-left: 0;
	}

	.ttl {
		margin-bottom: 20px;
	}
	.ttl img {
		display: none;
	}
	.ttl span {
		display: block;
	}

	.txtA {
		font-size: 12px;
	}

	.txtImg span:after {
		display: none;
	}

	.txtIcn {
/*
		padding-top: 45px;
*/
		padding-left: 25px;
		background:url(../imgs/icn.png) no-repeat 0 4px;
		background-size: 20px auto;
	}

	.info .txtIcn {
/*
		padding-top: 45px;
		padding-left: 0;
		background:url(../imgs/icn.png) no-repeat top center;
		background-size: 25px auto;
*/
	}

	.lineA {
		text-align: left;
	}
	.lineA img {
		display: none;
	}
	.lineA span {
		display: block;
	}

	.infoTxt img {
		display: none;
	}
	.infoTxt span {
		display: block;
	}


	.alImg,
	.arImg {
		text-align: center;
	}

	.sec.num5 {
		display: none;
	}

	.info {
		position: relative;
		width: 100%;
	}
	.info li {
		display: block;
		vertical-align: top;
	}
	.info li.ymd {
		width: auto;
		margin-bottom: 20px;
	}
	.info .btMore {
		position: relative;
		display: block;
		margin-top: 20px;
		margin-left: auto;
		margin-right: auto;
	}
}

	.sec.bgB {
		padding-top: 80px;
		padding-bottom: 80px;
		background: url(../imgs/bg-box.png) repeat left top;
	}

	.ph img {
		width: 100%;
	}

/* boxLink */
	span.rdbox {
		display: block;
	}
	span.rdbox span {
		display: block;
	}
	span.rdbox span.h {
		margin-bottom: 20px;
	}
	.rdbox {
		border: solid 1px #ddd;
	}
	.rdbox .txtinner {
		position: relative;
		padding: 39px 19px 24px;
	}
	.rdbox .rday {
		position: absolute;
		top: 2px;
		right: 2px;
		display: inline-block;
		padding: 2px 10px;
		background: #eee;
	}

	a.abox {
		display: block;
		text-decoration: none;
		color: #444;
	}
	a span.rdbox .ph {
		position: relative;
	}
	a span.rdbox .ph img.df {
		position: relative;

    filter:alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;

		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
	}
	a:hover span.rdbox .ph img.df {
    filter:alpha(opacity=20);
    -moz-opacity: 0.2;
    opacity: 0.2;
	}

	a span.rdbox .ph img.ov {
		position: absolute;
		top: 50%;
		left: 50%;
		width: auto;

		transform: translate(-50%,-50%);
    filter:alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;

		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
	}
	a:hover span.rdbox .ph img.ov {
    filter:alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
	}

	.imgBox {
		display: table;
		width: 100%;
	}
	.imgBox .txtArea,
	.imgBox .phArea {
		display: table-cell;
		vertical-align: middle;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
	}

	.imgBox.num1 .txtArea {
		padding-left: 100px;
		padding-right: 20px;
		font-size: 14px;
		line-height: 2.2;
	}
	.imgBox.num1 .phArea {
		width: 50%;
		text-align: right;
	}
@media only screen and (max-width: 599px) {
	.imgBox.num1 .txtArea {
		display: block;
		width: auto;
		padding-left: 0;
		padding-right: 0;
	}
	.imgBox.num1 .phArea {
		display: block;
		width: auto;
		margin-top: 40px;
		text-align: center;
	}
}

	.imgBox.num2 .txtArea {
		padding-left: 100px;
		vertical-align: bottom;
		font-size: 14px;
		line-height: 2.2;
	}
	.imgBox.num2 .phArea {
		position: relative;
		width: 300px;
		text-align: left;
		vertical-align: bottom;
	}
	.imgBox.num2 .phArea .caption {
		position: absolute;
		bottom: 5px;
		right: 5px;
	}
@media only screen and (max-width: 599px) {
	.imgBox.num2 .txtArea {
		display: block;
		width: auto;
		margin-top: 40px;
		padding-left: 0;
	}
	.imgBox.num2 .phArea {
		display: block;
		width: auto;
		text-align: center;
	}
}


/* clm */
	.clmBox {
		overflow: hidden;
	}
	.clmBox > div {
		float: left;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
	}

	.clmBox.clm2 {
		margin-top: -20px;
		margin-left: -4%;
	}
	.clmBox.clm2 > div {
		width: 46%;
		margin-top: 20px;
		margin-left: 4%;
	}

	.clmBox.clm3 {
		margin-top: -30px;
		margin-left: -4.5%;
	}
	.clmBox.clm3 > div {
		width: 28.83%;
		margin-top: 30px;
		margin-left: 4.5%;
	}
	.clmBox.clm3 > div.double {
		width: 64.66%;
	}
	.clmBox.clm3 .transition a {
		color: #444;
	}
	.clmBox.clm3 .transition a:hover {
		color: #444;
		text-decoration: none;
	}

	.clmBox > div.cl {
		clear: left;
	}
@media only screen and (max-width: 599px) {
	.clmBox.clm2 {
		margin-left: 0;
	}
	.clmBox.clm2 > div {
		float: none;
		width: auto;
		margin-left: 0;
	}

	.clmBox.clm3 {
		margin-left: 0;
	}
	.clmBox.clm3 > div {
		float: none;
		width: auto;
		margin-left: 0;
	}

	.clmBox > div .ac img {
		width: 100%;
	}

	.clmBox > div.cl {
		clear: none;
	}
	.clmBox > div.clsp {
		clear: left;
	}
}

.btMore {
	display: inline-block;
	width: 200px;
	height: 30px;
	text-align: center;
	text-decoration: none;
	line-height: 30px;
	outline: none;
}
.btMore::before,
.btMore::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.btMore,
.btMore::before,
.btMore::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.btMore {
	position: relative;
	z-index: 2;
	background-color: #fff;
	border: 2px solid #333;
	color: #333;
	line-height: 26px;
	overflow: hidden;
}
.btMore:hover {
	color: #fff;
	text-decoration: none;
}

.btMore:before {
    content: ">";
    left:20px;
}
.btMore:hover::before {
	color: #fff;
	z-index: 3;
}
.btMore::after {
	top:0;
	left: -100%;
	width: 100%;
	height: 100%;

}
.btMore:hover::after {
	top:0;
	left: 0;
	background-color: #333;
}

.btMore a {
	display: block;
	color: #333;
}
.btMore:hover a {
	color: #fff;
}

/* parent */
/*
	.toggleBox .parent {
		position: relative;
		cursor: pointer;
	}
	.toggleBox .parent:hover ,
	.toggleBox .parent.active {
	}

	.toggleBox .parent .arrow {
		position: absolute;
		right: 15px;
		top: 7px;
		width: 33px;
		height: 33px;
		background: url(../imgs/bt-open.png) no-repeat 0 0;
	}
	.toggleBox .parent .arrow.active {
		background: url(../imgs/bt-close.png) no-repeat 0 0;
	}

	.toggleBox .parent .arrow img {
    filter:alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
	}
	.toggleBox .parent .arrow.active img {
    filter:alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
	}
*/

/* parent */
	.toggleBox .parent {
		position: relative;
		cursor: pointer;
	}
	.toggleBox .parent:hover ,
	.toggleBox .parent.active {
	}

	.toggleBox .parent .arrow {
		position: absolute;
		right: 0;
		top: 2px;
		transition: transform 0.5s ease-in;
		color: #fff;
	}
	.toggleBox .parent.active .arrow {
		background: url(../imgs/bt-close.png) no-repeat 0 0;
	}
	.toggleBox .parent.active .arrow img {
    filter:alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
	}

/* child */
	.toggleBox .child {
		display: none;
	}
@media screen and (max-width:599px) {
}






@media only screen and (max-width:1290px) {
}


.btDetail {
	display: inline-block;
	width: 318px;
	height: 48px;
	text-align: center;
	text-decoration: none;
	outline: none;
	font-size: 16px;
	font-weight: bold;
	position: relative;
	z-index: 2;
	border: 2px solid #333;
	color: #333;
	line-height: 42px;
	overflow: hidden;
}

.btDetail::before,
.btDetail::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.btDetail,
.btDetail::before,
.btDetail::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.btDetail:hover {
	color: #fff;
	text-decoration: none;
}

.btDetail:before {
    content: ">";
    left:20px;
}
.btDetail:hover::before {
	color: #fff;
	z-index: 3;
}
.btDetail::after {
	top:0;
	left: -100%;
	width: 100%;
	height: 100%;

}
.btDetail:hover::after {
	top: 0;
	left:0;
	background-color: #333;
}

.slideBox.slideBox-state-off {
	opacity: 0;
	visibility: hidden;
}
.slideBox .slick-list {
	padding-bottom: 20px;
}
.slideBox.slick-dotted.slick-slider {
	margin-bottom: 0;
}
.slides {
	float: left;
	width: 358px;
	margin: 0 15px;
	background-color: #fff;
	border:solid 1px #ccc;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}
.slides a {
	color: #000;
}
.slides a img {
	transition: .3s;
}
.slides .slides__inner {
	padding: 40px 20px 20px 20px;
}

.slides .slides__inner dt {
	font-size: 0.8rem;
	font-weight: bold;
}

.slides .slides__inner dd {
	font-size: 0.7rem;
}

.slides .slides__title {
	color: #333;
	/*font-size: 12px;*/
	font-weight: normal;
}

.slides:hover {
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}
.slides a:hover {
	text-decoration: none;
}
.slides a:hover img {
	opacity: .8;
}
.slides	.historyBox {
	position: relative;
}

.slides	.year {
	position: absolute;
	top:184px;
	left:29px;
}

.slides	.sp {
	display: none;
}

.slideBox .slick-dots {
	bottom: -30px;
}
.slideBox .slick-dots li {
	width: auto;
	height: auto;
	margin: 0 12px;
}
.slideBox .slick-dots li button {
	width: 38px;
	height: 5px;
	padding: 0;
	background-color: #d2d2d2;
}
.slideBox .slick-dots li.slick-active button {
	background-color: #7b7b7b;
}
.slideBox .slick-dots li button:before {
	display: none;
}

.slideBox .slick-prev, .slideBox .slick-prev:hover,
.slideBox .slick-next, .slideBox .slick-next:hover {
	width: 16px;
	height: 32px;
	background-image: url(/imgs/icn-slide_sprite.png);
	background-repeat: no-repeat;
}
.slideBox .slick-prev, .slideBox .slick-prev:hover, .slideBox .slick-prev:focus {
	background-position: left center;
}
.slideBox .slick-next, .slideBox .slick-next:hover, .slideBox .slick-next:focus {
	background-position: right center;
}
.slideBox .slick-prev::before,
.slideBox .slick-next::before {
	display: none;
}
.slideBox .slick-arrow:hover {
	opacity: .7;
}

.area04 {
	position: relative;;
}

#gFooter {
	z-index: 31;
	background: #fff;
}

.spOnly {display: none;}


@media only screen and (max-width:599px) {
	#wrap {
		position: relative;
		top:-6vw;
		margin: 0 0 -6vw 0;
	}

	.sp img {
		width: 100%;
	}

	.btMoreSp {
		display: inline-block;
		width: 59.06vw;
		height: 9.53vw;
		text-align: center;
		text-decoration: none;
		line-height: 9.53vw;;
		border: 2px solid #333;
		color: #333;
		font-size: 0.7rem;
		font-weight: bold;
		position: relative;
		background: url(../imgs/sp/icon_bt01.png) 3.13vw center no-repeat;
		background-size:1.5vw auto;
	}

	.btMoreSp:hover {
		text-decoration: none;
	}

	.btDetailSp {
		display: inline-block;
		width: 59.06vw;
		height: 9.53vw;
		text-align: center;
		text-decoration: none;
		line-height: 9.53vw;;
		border: 2px solid #333;
		color: #333;
		font-size: 0.7rem;
		font-weight: bold;
		position: relative;
		background: url(../imgs/sp/icon_bt01.png) 3.13vw center no-repeat;
		background-size:1.5vw auto;
	}

	.btDetailSp:hover,
	.btDetailSp:visited {
		color: #333;
	}

	.btDetailSp:hover {
		text-decoration: none;
	}

	.slides {
		/*float: left;
		width: 300px;
		margin: 0 3%;
		background-color: #fff;
		border:solid 1px #ccc;
		-webkit-box-shadow: none;
    	-moz-box-shadow: none;
    	box-shadow: none;*/
	}

	.slick-list {
	    /*overflow: visible!important;
	    width: 150%;*/
	}

	.slides	.year {
		display: none;
	}

	.slides	.photo {
		display: none;
	}

	.slides	.sp {
		display: block;
	}

	.slides .slides__inner {
		padding: 3.91vw 5.47vw 3.91vw 5.47vw ;
	}


	.area04 {
		display: none;
	}

	.pcOnly {display: none;}
	.spOnly {display: block;}

	#gFooter {
		position: relative;
		background: #fff;
		z-index: 31;
	}
}
