/*-----------------------------------------
place-mainvisual
------------------------------------------*/
.mainvisual-area {
	position: relative;
	z-index: 1;
	background-image:url(../images/mainvisual/area.webp);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}
.mainvisual-area-belt {
		position: relative;
		z-index: 10;
}
.mainvisual .mainvisual-area-word h1,
.mainvisual .mainvisual-area-word span {
	color:var(--color-white);
	font-weight:700;
}
.area-top-call {
	display: block;
	position: relative;
	z-index: 1;
}
@media (width < 767px) {
	.mainvisual-area-medal {
		position: absolute;
		bottom:-55vw;
		left:50%;
		transform: translateX(-50%);
	}
	.mainvisual-area-word {
		text-align: center;
	}
	.mainvisual.mainvisual-area h1 {
		color:var(--color-white);
		font-size:clamp(2.8rem, 7vw, 3.2rem);
		text-align: center;
		padding-top:20vw;
		padding-bottom:5vw;
	}
	.area-top-call {
		margin-top:10vw;
		margin-bottom:8vw;
	}
}
@media (768px <= width) {
	.mainvisual-area {
		padding-top:150px;
	}
	.mainvisual-area-belt {
		width:100%;
		height:120px;
		background-color:var(--color-main);
	}
	.mainvisual-area-grid {
		display:grid;
		grid-template-columns: 550fr 410fr;
	}
	.mainvisual-area-word {
		text-align: right;
	}
	.mainvisual .mainvisual-area-word h1 {
		font-size:clamp(4.4rem,4.4vw,5.6rem);
		padding-top:10px;
		padding-bottom:15px;
	}
	.mainvisual .mainvisual-area-word span {
		font-size:var(--font-pc-x-large);
	}
	.mainvisual-area-medal {
		margin-top:-80px;
	}
	.area-top-call {
		margin-bottom:50px;
	}
}
/*-----------------------------------------
place-mainvisual(Ver.2)
------------------------------------------*/
.mainvisual-area-2-grid {
	z-index: 40;
}
.mainvisual-area-2:after {
	content:"";
	position: absolute;
	z-index: 35;
	background-image: url(../images/mainvisual/staff-area.webp);
	background-repeat: no-repeat;
	background-size:auto 100%;
}
.mainvisual .mainvisual-area-2-word h1,
.mainvisual .mainvisual-area-2-word span {
	font-weight:700;
	display: block;
	color:var(--color-main);
}
.mainvisual .mainvisual-area-2-word span {
	line-height:150%;
}
.mainvisual-area-2-word h1:after {
	display: none;
}
.mainvisual-area-2-btn a {
	display: block;
}
@media (width < 767px) {
	.mainvisual-area-2 {
		height:100vw;
		padding-top:10vw;
	}
	.mainvisual-area-2 #wavemainvisual {
		display:block;
		height:60vw;
	}
	.mainvisual-area-2:after {
		width:45.76vw;
		height:61.04vw;
		right:-12vw;
		bottom:0;
	}
	.mainvisual-area-2-grid {
		position: absolute;
		top:50%;
		transform: translateY(-50%);
	}
	.mainvisual-area-2-word {
		padding-left:5vw;
		padding-bottom:5vw;
	}
	.mainvisual.mainvisual-normal.mainvisual-area-2 h1 {
		color:var(--color-main);
		text-align: left;
		padding-bottom:4vw;
	}
	.mainvisual-area-2-medal {
		display:none;
	}
	.mainvisual-area-2-btn {
		width:60vw;
		margin-left:5vw;
		margin-right:auto;
	}
	.mymap-area {
		margin-bottom:8vw;
	}
}
@media (768px <= width) {
	.mainvisual-area-2:after {
		width:348px;
		height:464px;
		bottom:-50px;
	}
	.mainvisual-area-2-grid {
		position: relative;
		display:grid;
		align-items: center;
		grid-column-gap: 40px;
		grid-row-gap: 20px;
		max-width:960px;
		margin-left:auto;
		margin-right:auto;
	}
	.mainvisual-area-2-word {
		grid-area: 1 / 1 / 2 / 2;
	}
	.mainvisual-area-2-btn {
		grid-area: 2 / 1 / 3 / 2;
	}
	.mainvisual-area-2-medal {
		grid-area: 1 / 2 / 3 / 3;
		padding-right:clamp(60px,8vw,100px);
	}
	.mainvisual-area-2-btn a {
		max-width:490px;
		margin-left:auto;
	}
	.mainvisual .mainvisual-area-2-word h1,
	.mainvisual .mainvisual-area-2-word span {
		text-align: right;
	}
	.mainvisual .mainvisual-area-2-word h1 {
		padding-bottom:20px;
	}
	.mainvisual .mainvisual-area-2-word span {
		font-size:var(--font-pc-large);
	}
	.mymap-area {
		margin-bottom:60px;
	}
}
@media (768px <= width < 1199px) {
	.mainvisual-area-2:after {
		right:24px;
	}
	.mainvisual-area-2-grid {
		padding-top:96px;
		grid-template-columns: 6.5fr 3.5fr;
	}
	.mainvisual-area-2-word,
	.mainvisual-area-2-btn {
		padding-left:4vw;
	}
	.mainvisual-area-2-medal * {
		display:none;
	}
}
@media (1200px <= width) {
	.mainvisual-area-2:after {
		right:5vw;
	}
	.mainvisual-area-2-grid {
		padding-top:72px;
		grid-template-columns: 1fr 404px;
	}
}
/*-----------------------------------------
place-list
------------------------------------------*/
.place-list li.box:hover {
	opacity: 1;
	border:1px solid var(--color-main);
}
.place-list-icon {
	background-color:var(--color-gray);
	display:grid;
}
.place-list-txt h3 a {
	display: block;
	font-weight:400;
	border-bottom:1px solid var(--color-border);
}
.place-list-address,
.place-list-traffic {
	position: relative;
}
.place-list-address:before,
.place-list-traffic:before {
	font-family: 'icomoon';
	position: absolute;
	top:0;
	left:0;
	width:20px;
	text-align: center;
	color:var(--color-formoff);
}
.place-list-address:before {
	content: "\f041";
}
.place-list-traffic:before {
	content: "\e900";
}
.place-list-icon>li {
	position: relative;
	text-align: center;
	border-radius: 5px;
	font-weight:700;
}
.place-list-icon>li.on {
	color:var(--color-main);
	border:1px solid var(--color-main);
	background-color:var(--color-white);
}
.place-list-icon>li.off {
	color:var(--color-inactive);
	border:1px solid var(--color-border);
	background-color:var(--color-border);
}
.place-list-icon>li:before {
	font-family: 'icomoon';
	position: absolute;
	top:0;
	font-weight:400;
}
.place-icon-park:before {
	content: "\e906";
}
.place-icon-station:before {
	content: "\e905";
}
.place-icon-hikae:before {
	content: "\e904";
}
.place-icon-anchi:before {
	content: "\e901";
}
.place-icon-bareer:before {
	content: "\e903";
}
.place-icon-kamin:before {
	content: "\e902";
}
.place-list-tt {
	position: relative;
	font-weight:400;
	border-bottom:1px solid var(--color-main);
}
@media (width < 767px) {
	.place-list>li {
		grid-template-columns: 1fr;
		margin-bottom:5vw;
	}
	.place-list-txt {
		padding:4vw;
	}
	.place-list-icon {
		padding:3vw;
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 3vw;
		grid-row-gap: 2vw;
	}
	.place-list-txt h3 a {
		font-size:var(--font-sp-x-large);
		padding-bottom:2vw;
		margin-bottom:2vw;
	}
	.place-list-address,
	.place-list-traffic {
		padding-left:30px;
		font-size:var(--font-sp-small);
	}
	.place-list-txt .btn.btn-small {
		margin-top:4vw;
	}
	.place-list-icon>li {
		font-size:var(--font-sp-small);
	}
	.place-list-icon>li:before {
		left:6px;
	}
	.place-list-tt {
		font-size:var(--font-sp-x-large);
		margin-bottom:5vw;
		padding-top:5vw;
	}
	.place-list-tt:first-child {
		padding-top:0;
	}
}
@media (768px <= width) {
	.place-list>li {
		grid-template-columns: 340px 1fr;
		grid-column-gap: 40px;
		grid-row-gap: 20px;
		margin-bottom:20px;
	}
	.place-list-pic {
		grid-area: 1 / 1 / 2 / 2;
		padding-top:20px;
		padding-left:20px;
	}
	.place-list-txt {
		grid-area: 1 / 2 / 2 / 3;
		padding-top:20px;
		padding-right:20px;
	}
	.place-list-icon {
		grid-area: 2 / 1 / 3 / 3;
		grid-template-columns: repeat(6, 1fr);
		grid-column-gap: 16px;
		padding:12px 20px;
	}
	.place-list-txt h3 a {
		font-size:var(--font-pc-xx-large);
		padding-bottom:16px;
		margin-bottom:10px;
	}
	.place-list-address,
	.place-list-traffic {
		padding-left:30px;
	}
	.place-list-txt .btn.btn-small {
		margin-top:16px;
		margin-right:0;
	}
	.place-list-icon>li {
		font-size:var(--font-pc-small);
	}
	.place-list-icon>li:before {
		left:6px;
	}
	.place-list-tt {
		font-size:var(--font-pc-xx-large);
		margin-bottom:30px;
		padding-top:30px;
	}
	.place-list-tt:first-child {
		padding-top:0px;
	}
}
/*-----------------------------------------
place-single
------------------------------------------*/
.mainvisual-place-single {
	text-align: center;
}
.mainvisual.mainvisual-place-single h1 {
	position: relative;
	z-index: 1;
}
.mainvisual.mainvisual-place-single h1:after {
	content:"";
	position: absolute;
	left:50%;
	transform: translateX(-50%);
	height:1px;
	background-color:var(--color-main);
}
.mainvisual.mainvisual-place-single aside {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
.mainvisual.mainvisual-place-single aside a {
	display:block;
	background-color:var(--color-gray);
	padding:4px 1em;
	border-radius:5px;
	margin-left:8px;
}
.place-thumb .slick-track {
	text-align: center;
	display: flex;
	justify-content: center;
}
.place-slider img {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.bg-place-single {
	background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(245,226,243,1) 100%);
}
.bg-place-single .place-list-icon {
	background-color:transparent;
}
.place-single-lead h2 {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	text-align: center;
	font-weight:700;
}
.shikijo-info-grid {
	display:grid;
}
.shikijyo-info {
	position: relative;
	z-index: 2;
}
.shikijyo-info h2 {
	position: absolute;
	top:0;
	left:50%;
	transform:translate(-50%,-50%);
	font-weight:700;
}
.shikijyo-info dl {
	background:var(--color-white);
	border-radius:5px;
	display:grid;
	grid-column-gap: 1em;
}
.shikijyo-info dl dt {
	font-weight:700;
}
.place-accessmap iframe {
	width:100%;
}

@media (width < 767px) {
	.mainvisual-place-single {
		height:50vw;
	}
	.mainvisual.mainvisual-place-single h1 {
		font-size:var(--font-sp-large);
		padding-top:20vw;
		padding-bottom:8vw;
	}
	.mainvisual.mainvisual-place-single h1:after {
		width:100px;
		bottom:6vw;
	}
	
	.place-single-lead h2 {
		font-size:var(--font-sp-large);
		padding-bottom:8vw;
	}
	.shikijyo-info {
		padding:8vw 5vw;
	}
	.shikijyo-info h2 {
		font-size:var(--font-sp-large);
	}
	.shikijyo-info dl {
		grid-template-columns: 3fr 4fr;
		padding:3vw 5vw;
		margin-bottom: 3vw;
	}
	.place-accessmap {
		padding-bottom: 15px;
	}
	.place-thumb {
		padding:0 4vw;
	}
	.place-thumb .slick-slide {
		padding:1vw;
	}
}
@media (768px <= width) {
	.mainvisual-place-single {
		height:240px;
	}
	.mainvisual.mainvisual-place-single h1 {
		font-size:4.8rem;
		padding-top:40px;
		padding-bottom:40px;
	}
	.mainvisual.mainvisual-place-single h1:after {
		width:160px;
		bottom:30px;
	}
	.place-thumb .slick-slide {
		width:180px !important;
		padding:20px 10px;
	}
	.place-slider .slick-arrow {
		top:260px;
	}
	.place-slider .prev-arrow {
	}
	.bg-place-single .place-list-icon {
		padding-bottom:30px;
	}
	.place-single-lead h2 {
		font-size:var(--font-pc-xx-large);
		padding-bottom:30px;
	}
	.shikijo-info-grid {
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 40px;
		grid-row-gap: 12px;
	}
	.shikijyo-info {
		padding:40px;
	}
	.shikijyo-info h2 {
		font-size:var(--font-pc-large);
	}
	.shikijyo-info dl {
		grid-template-columns: 1fr 2.5fr;
		padding:10px 16px;
	}
	.shikijyo-info.shikijyo-info-reverse dl {
		grid-template-columns: 2.5fr 1fr;
		padding:10px 16px;
	}
	.place-accessmap {
		padding-bottom: 15px;
	}
}
.place-slide .slick-slide {
	aspect-ratio: 16 / 9;
	overflow:hidden;
}
@media (width < 767px) {
	.place-slide .slick-slide {
		width:90vw;
		margin-bottom:5vw;
	}
	.place-slide .slick-slide img {
		max-width:86vw;
	}
}
@media (767px < width < 860px) {
	.place-slide .slick-slide {
		width:700px;

	}
	.place-slide .slick-slide img {
		max-width:640px;
	}
}
@media (860px <= width) {
	.place-slide .slick-slide {
		width:860px;
	}
	.place-slide .slick-slide img {
		max-width:800px;
	}
}
.access-guide {
padding-bottom:2em;
}
/*-----------------------------------------
top-news
------------------------------------------*/
.top-tt-normal {
	text-align: center;
}
.top-tt-normal h2 {
	display:inline-block;
	border-bottom:1px solid var(--color-black);
	letter-spacing: 0.2em;
	padding-bottom:0.25em;
}
.top-tt-normal span {
	display: block;
	text-align: center;
	color:var(--color-inactive);
	padding-top:1em;
}
@media (width < 767px) {
	.top-news {
		padding-bottom:8vw;
	}
	.top-tt-normal {
		padding-top:8vw;
		padding-bottom:8vw;
	}
	.top-tt-normal h2 {
		font-size:var(--font-sp-x-large);
	}
	.top-tt-normal span {
		font-size:var(--font-sp-small);
	}
	.newslist-grid-top {
		padding-bottom:8vw;
	}
	.topaside {
		padding-top:1vw;
		padding-bottom:1vw;
	}
	.top-column {
		padding-bottom:8vw;
	}
}
@media (768px <= width) {
	.top-news {
		padding-bottom:40px;
	}
	.top-tt-normal {
		padding-top:60px;
		padding-bottom:40px;
	}
	.top-tt-normal h2 {
		font-size:var(--font-pc-x-large);
	}
	.top-tt-normal span {
		font-size:var(--font-pc-small);
	}
	.newslist-grid-top {
		padding-bottom:40px;
	}
	.topaside {
		padding-top:40px;
		padding-bottom:40px;
	}
	.top-column {
		padding-bottom:40px;
	}
}