#lead {
	padding-top: 20vw;
	padding-bottom: 15vw;
}

#lead .logo-s {
	margin: 0 auto 10vw;
	max-width: 90px;
	width: 12vw;
}

#lead .photo {
	height: 70vw;
}

#lead .row {
	max-width: 700px;
	margin: 0px auto;
	padding-top: 7vw;
}

#lead .row h3 {
	text-align: center;
	margin-bottom: 5vw;
}

#lead .row .txt {
	margin: 0 auto;
	max-width: 575px;
}

@media only screen and (min-width: 767px) {
	#lead {
		padding-top: 157px;
		padding-bottom: 81px;
	}

	#lead .logo-s {
		margin: 0 auto 113px;
		width: 59px;
	}

	#lead .photo {
		height: 530px;
	}

	#lead .row {
		margin: 0 auto 0px;
		padding-top: 76px;
	}

	#lead .row h3 {
		line-height: 38px;
		letter-spacing: 3px;
		margin-bottom: 17px;
	}

	#lead .row .txt {
		max-width: 562px;
		letter-spacing: 0px;
	}
}

#event {
	background: #f3f3f3;
	padding: 15vw 0;
}

#event .set1 {
	padding-bottom: 14vw;
}

#event .set1 h2 {
	text-align: center;
	margin-bottom: 10vw;
}



.tab-box {
	margin: 0;
}

.tab-box .item {
	margin-bottom: 5vw;
}

.tab-box .link {
	font-size: 3.5vw;
	line-height: 1;
	padding: 3vw 5vw;
	position: relative;
	margin-bottom: 0;
	background: #fff;
	color: #ccc;
}

.tab-box .link span small {
	font-size: 16px;
}

.tab-box .link.sp-link {
	color: #333;
	background: #fff;
}

.tab-box .link.sp-link::before {
	width: 10px;
	height: 1px;
	position: absolute;
	top: 50%;
	right: 10px;
	content: "";
	background: #333;
}

.tab-box .link.sp-link::after {
	width: 1px;
	height: 10px;
	position: absolute;
	top: 50%;
	right: 14px;
	margin-top: -5px;
	content: "";
	background: #333;
	transition: all 0.3s ease;
}

.tab-box .link.sp-link.active::after {
	opacity: 0;
}

.tab-box .show {
	padding: 0 5vw 5vw;
	background: #fff;
}

.tab-box h3 {
	margin-bottom: 12px;
	font-size: 3.5vw;
	padding-top: 10px;
	border-bottom: 1px solid #333;
	padding-bottom: 5px;
	line-height: 1.5;
}

.tab-box h3 span {
	font-size: 4.5vw;
	margin-left: 4vw;
}

.tab-box h3 i {
	display: block;
	padding-top: 7px;
	margin-top: 7px;
}



#event .set1 .regular-event {
	background: #fff;
}

#event .set1 .regular-event .inside {
	padding: 8vw 5vw;
}

#event .set1 .regular-event .inside h4 {
	margin-bottom: 5vw;
	line-height: 1;
}

#event .set1 .regular-event .inside dl {
	padding-left: 5vw;
}

#event .set1 .regular-event .inside dl dt {
	padding-top: 0;
	border-bottom: 1px solid #827875;
	padding-bottom: 2vw;
	margin-bottom: 5vw;
}

#event .set1 .regular-event .inside dl dt small {
	font-size: 4vw;
	margin-right: 10px;
}

#event .set2 .wrap {
	max-width: 1200px;
}

#event .set2 .box {

	display: flex;

	justify-content: space-between;
}

#event .set2 .box .item {
	text-align: center;
	width: 30%;
}

#event .set2 .box .item .photo {
	height: 26vw;
}

#event .set2 .box .item .name {
	font-size: 14px;
	padding-top: 2vw;
}

@media only screen and (min-width: 767px) {
	#event {
		padding: 71px 0 78px;
	}

	#event .set1 {
		padding-bottom: 80px;
	}

	#event .set1 h2 {
		margin-bottom: 45px;
		letter-spacing: 2px;
	}


	.tab-box {
		margin: 0 auto 82px;
		max-width: 1000px;
		display: flex;
		position: relative;
		flex-wrap: wrap;
		justify-content: space-between;
		box-sizing: border-box;
		padding: 35px 30px 0;
	}

	.tab-box .item {
		margin: 0;
	}

	.tab-box .link {
		width: 28px;
		height: 159px;
		box-sizing: border-box;
		letter-spacing: 0.08em;
		background: none;
		line-height: 28px;
		padding: 15px 0 0;
		margin-bottom: 0;
		letter-spacing: 3px;
	}

	.tab-box .link span {
		cursor: vertical-text;
		writing-mode: vertical-rl;
		-o-writing-mode: vertical-rl;
		-ms-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-moz-writing-mode: vertical-rl;
		-webkit-writing-mode: vertical-rl;
		text-orientation: upright;
		word-wrap: break-word;
		font-size: 16px;
	}

	.tab-box .link span small {
		cursor: pointer;
		direction: rtl;
		writing-mode: vertical-rl;
		-o-writing-mode: vertical-rl;
		-ms-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-moz-writing-mode: vertical-rl;
		-webkit-writing-mode: vertical-rl;
		text-orientation: sideways-right;
		-o-text-orientation: sideways-right;
		-ms-text-orientation: upright;
		-ms-text-orientation: sideways-right;
		-moz-text-orientation: sideways-right;
		-webkit-text-orientation: sideways-right;
		letter-spacing: .25em;
	}

	.tab-box .link::before {
		width: 1px;
		height: 35px;
		position: absolute;
		top: inherit;
		right: inherit;
		left: 50%;
		bottom: 0;
		content: "";
		background: #b2b2b2;
	}

	.tab-box .link.sp-link {
		/* color: #a6a6a6; */
		background: transparent;
	}

	.tab-box .link.sp-link span {
		cursor: pointer;
	}

	.tab-box .link.sp-link:hover {
		background: #FFF;
		transition: 0.5s;
	}

	.tab-box .link.sp-link::before {
		width: 1px;
		height: 35px;
		position: absolute;
		top: inherit;
		right: inherit;
		left: 50%;
		bottom: 0;
		content: "";
		background: #333;
	}

	.tab-box .link.sp-link::after {
		display: none;
	}

	.tab-box .block {
		box-sizing: border-box;
		min-height: 386px;
		width: 100%;
	}

	.tab-box .show {
		line-height: 32px;
		position: absolute;
		bottom: 1px;
		left: 1px;
		min-height: 293px;
		background: #fff;
		z-index: 1;
		opacity: 0;
		transition: all 0.5s ease;
		right: 0;
		top: 194px;
		padding: 51px 70px 20px 102px;
	}

	.tab-box .active-pc .link {
		cursor: pointer;
		background: #fff;
	}

	.tab-box .active-pc .link span {
		cursor: pointer;
		color: #333;
	}

	.tab-box .active-pc .show {
		z-index: 2;
		opacity: 1;
	}

	.tab-box h3 {
		width: fit-content;
		margin-bottom: 25px;
		border-bottom: 1px solid #333;
		padding-bottom: 4px;
		font-size: 16px;
		min-width: 360px;
		padding-top: 30px;
	}

	.tab-box h3 span {
		font-size: 24px;
		margin-left: 16px;
	}

	.tab-box h3 i {
		display: inline;
		padding-top: 0;
		margin-top: 0;
		border-top: none;
	}

	.tab-box .txt {
		width: 100%;
	}

	#event .set1 .regular-event .inside {
		padding: 49px 53px 72px;
	}

	#event .set1 .regular-event .inside h4 {
		margin-bottom: 0;
		line-height: 1;
	}

	#event .set1 .regular-event .inside dl {
		padding-left: 55px;
	}

	#event .set1 .regular-event .inside dl dt {
		padding-top: 16px;
		width: 360px;
		padding-bottom: 1px;
		margin-bottom: 30px;
	}

	#event .set1 .regular-event .inside dl dt small {
		font-size: 16px;
		margin-right: 10px;
	}

	#event .set2 .box .item {
		width: 31.6%;
	}

	#event .set2 .box .item .photo {
		height: 338px;
	}

	#event .set2 .box .item .name {
		padding-top: 9px;
	}
}

#blog {
	padding: 20vw 0;
}

#blog h2 {
	text-align: center;
	margin-bottom: 10vw;
	line-height: 1;
}

#blog .wrap {
	max-width: 1200px;
}

#blog #feed {
	display: flex;
	justify-content: space-between;
}

#blog #feed .item {
	width: 48%;
	background: #f3f3f3;
	position: relative;
	transition: all .4s ease;
}

#blog #feed .item span {
	height: 150px !important;
	width: 100% !important;
	display: block;
}

#blog #feed .item dl {
	padding: 5vw 4vw;
}

#blog #feed .item dl dt {
	margin-bottom: 3vw;
	font-size: 16px;
	overflow: hidden;
	display: block;
	max-height: 4.4rem;
	-webkit-line-clamp: 2;
	display: box;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
	white-space: normal;
}

#blog #feed .item dl dd {
	margin-bottom: 5vw;
	overflow: hidden;
	display: block;
	max-height: 6.4rem;
	-webkit-line-clamp: 4;
	display: box;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
	white-space: normal;
}

#blog #feed .item dl dd.date {
	text-align: right;
	font-size: 11px;
	margin-bottom: 0;
}

#blog #feed .item a {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	font-size: 0;
	z-index: 2;
}

#blog #feed .item:nth-child(n+3) {
	display: none;
}

@media only screen and (min-width: 767px) {
	#blog {
		padding: 76px 0 80px;
	}

	#blog h2 {
		margin-bottom: 68px;
		letter-spacing: 2px;
	}

	#blog .wrap {
		max-width: 1200px;
	}

	#blog #feed {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
	}

	#blog #feed .item {
		width: 22.4%;
	}

	#blog #feed .item:hover {
		opacity: .6;
		transition: 0.5s;
	}

	#blog #feed .item span {
		height: 173px !important;
		width: 100% !important;
	}

	#blog #feed .item dl {
		padding: 26px 20px 8px;
	}

	#blog #feed .item dl dt {
		margin-bottom: 20px;
		font-size: 16px;
		line-height: 27px;
	}

	#blog #feed .item dl dd {
		margin-bottom: 8px;
		line-height: 24px;
		-webkit-line-clamp: 3;
	}

	#blog #feed .item dl dd.date {
		letter-spacing: 1px;
	}

	#blog #feed .item:nth-child(n+3) {
		display: block;
	}
}




@media only screen and (min-width: 767px) and (max-width: 1299px) {

	#event .set2,
	#blog {
		padding-left: 20px;
		padding-right: 20px;
	}
}