@charset "UTF-8";

/**********************************************************************/
/***************************** Container *******************************/
/**********************************************************************/

#title
{
	margin-top: max(8vw, 8rem);
}

#about h1
{
	display: inline-block;
	font-family: 'FS-R';
	font-size: clamp(1.3rem, 3vw, 1.7rem);
	line-height: 1;
	padding-bottom: .25em;
	
	margin-bottom: 1em;
	border-bottom: 1px solid;
}

#about
{
	padding-top: max(7vw, 7rem);
	padding-bottom: max(8vw, 8rem);
	display:flex;
	align-items:flex-start;
	justify-content: space-between;
}

#menu
{
	position:sticky;
	top: 5rem;
	width: 10rem;
}

#menu li.menu.now
{
	color: rgba(0, 0, 0, 1);
}

#menu ul
{
	list-style: none;
}

#menu li.menu
{
	cursor:pointer;
	display: flex;
	justify-content: space-between;
/*	font-family: serif, "LB-R";
	font-weight: 400;*/
	font-family: 'FS-R';
	line-height: 1.3;
	padding-top: .5em;
	color: rgba(100, 100, 100, 1);
}

#menu li.menu:after
{
	content:"";
	display:block;
	width: 1em;
	height: 1em;
	transform-origin: center center;
	border-style: solid;
	border-width:4px 4px 0 0;
	transform: rotate(45deg) scale(.25);
}

body:not(.touch) #menu li.menu:hover
{
	color: rgba(0, 0, 0, 1);
}

#menu > p + p
{
	margin-top: .5em;
}

#contents
{
	width:calc(100% - 15rem);
	padding-top: clamp(2.5rem, 6.5vw, 3.7rem);
}

#contents h2
{
	font-size: clamp(1.2rem, 3vw, 1.5rem);
	margin-top:0;
	padding-bottom: 1em;
	margin-bottom:1em;
	border-bottom: 1px solid;
}

#contents .copy
{
	font-family: 'FS-R';
	margin-bottom: max(2vw, 2rem);
}

#contents .copy._b
{
	margin-bottom: max(1vw, 1rem);
}

#contents > section + section
{
	margin-top: max(8vw, 8rem);
}


/**********************************************************************/
/*************************** Aout YUKIGUNI ***************************/
/**********************************************************************/

#about_yukiguni .photo_text
{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

#about_yukiguni .photo_text:nth-of-type(2n)
{
	flex-direction: row-reverse;
}

#about_yukiguni .photo_text + .photo_text
{
	margin-top: max(2vw, 2rem);
}

#about_yukiguni .photo_text._b + .photo_text._b
{
	margin-top: max(1vw, 1rem);
}

#about_yukiguni figure
{
	line-height: 1;
	width: 60%;
	aspect-ratio: 5 / 3;
	background-color: rgb(240, 240, 240);
}

#about_yukiguni .photo_text._b
{
	margin-left: -.5rem;
	margin-right: -.5rem;
}

#about_yukiguni .photo_text._b figure
{
	line-height: 1;
	width: calc(50% - 1rem);
	margin: .5rem;
}

#about_yukiguni .text
{
	width: calc(40% - 2rem);
}

#about_yukiguni .photo_text._b .text
{
	width: 100%;
	margin: 0 .5rem;
}

#about_yukiguni figure img
{
	width: 100%;
	height: 100%;
	object-fit:cover;
	object-position: 50% 50%;
	transition: all 1.5s ease;
}

/**********************************************************************/
/********************************* Staff *******************************/
/**********************************************************************/

#staff .photo_text
{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#staff .photo_text + .photo_text
{
	margin-top: max(2vw, 2rem);
}

#staff figure
{
	line-height: 1;
	width: 30%;
	aspect-ratio: 1 / 1;
	background-color: rgb(240, 240, 240);
}

#staff .text
{
	width: calc(70% - 2rem);
}

#staff .photo_text._b .text
{
	width: 100%;
}

#staff figure img
{
	width: 100%;
	height: 100%;
	object-fit:cover;
	object-position: 50% 50%;
	transition: all 1.5s ease;
}

/**********************************************************************/
/********************************* Stay *******************************/
/**********************************************************************/

#stay .photo_text
{
	display: flex;
	flex-wrap:wrap;
	margin-left: -.5rem;
	margin-right: -.5rem;
}

#stay .photo_text + .photo_text
{
	margin-top: max(2vw, 2rem);
}

#stay .stay
{
	width: calc(100% / 3 - 1rem);
	margin: .5rem;
}

#stay figure
{
	line-height: 1;
	width: 100%;
	aspect-ratio: 5 / 3;
	background-color: rgb(240, 240, 240);
}

#stay figure img
{
	width: 100%;
	height: 100%;
	object-fit:cover;
	object-position: 50% 50%;
	transition: all 1.5s ease;
}

/**********************************************************************/
/********************************* Access ******************************/
/**********************************************************************/

#access figure
{
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	aspect-ratio: 1 / 1;
	line-height: 1;
}

#access figure img
{
	width: 100%;
	height: 100%;
	object-fit:cover;
	object-position: 50% 50%;
	transition: all 1.5s ease;
}

#access .trafic
{
	margin-top: max(2vw, 2rem);
}

#access .trafic > div + div
{
	margin-top: max(2vw, 2rem);
}

#access h3
{
	font-family: 'FS-R';
	font-size: clamp(1.1rem, 1.5vw, 1.2rem);
	color: rgb(150, 150, 150);
}

#access tr + tr td
{
	border-top: 1px solid rgb(200, 200, 200);
}

#access tr td
{
	line-height: 1.5;
	padding: .5em 0;
}

#access tr td:nth-of-type(1)
{
	font-family: 'FS-R';
	white-space: nowrap;
	padding-right: max(2vw, 1rem);
}

#access tr td .caution
{
	margin-top: .5em;
	display: flex;
	justify-content: flex-start;
	font-size: .9em;
}

/**********************************************************************/
/******************************* Weather ******************************/
/**********************************************************************/

#weather .photo_text
{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#weather .photo_text:nth-of-type(2n)
{
	flex-direction: row-reverse;
}

#weather .photo_text + .photo_text
{
	margin-top: max(2vw, 2rem);
}

#weather figure
{
	line-height: 1;
	width: 40%;
	aspect-ratio: 5 / 3;
	background-color: rgb(240, 240, 240);
}

#weather .text
{
	width: 60%;
	line-height: 1.3;
}

#weather .text h3
{
	font-size: clamp(1.1rem, 1.5vw, 1.2rem);
	font-family: 'FS-R';
	display:flex;
	flex-direction: column;
}
#weather .text h3 > span:nth-of-type(2)
{
	font-size: max(.7em, 1rem);
	margin-top: .5em;
}

#weather .text > div
{
	margin-top: 1em;
	padding-top: 1em;
	border-top: 1px solid rgb(100, 100, 100);
}

#weather .text > div > p:nth-of-type(1)
{
	margin-bottom: .5em;
}

#weather .photo_text:nth-of-type(2n) .text > div,
#weather .photo_text:nth-of-type(2n) .text > h3
{
	padding-right: 2rem;
}
#weather .photo_text:nth-of-type(2n + 1) .text > div,
#weather .photo_text:nth-of-type(2n + 1) .text > h3
{
	padding-left: 2rem;
}

#weather figure img
{
	width: 100%;
	height: 100%;
	object-fit:cover;
	object-position: 50% 50%;
	transition: all 1.5s ease;
}

/*//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// MEDIA SCREEN ////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

@media screen and (max-width: 850px)
{
	#about_yukiguni .photo_text,
	#about_yukiguni .photo_text:nth-of-type(2n),
	#staff .photo_text,
	#weather .photo_text,
	#weather .photo_text:nth-of-type(2n)
	{
		flex-direction:column;
		align-items: flex-start;
	}
	
	#about_yukiguni .photo_text + .photo_text,
	#staff .photo_text + .photo_text,
	#weather .photo_text + .photo_text
	{
		margin-top: max(3vw, 3rem);
	}
	
	#contents .copy
	{
		margin-bottom: max(3vw, 3rem);
	}
	
	#about_yukiguni .text,
	#staff .text,
	#weather .text
	{
		width: 100%;
		margin-top: max(2vw, 1rem);
	}
	
	#about_yukiguni figure,
	#about_yukiguni .photo_text._b figure,
	#weather figure
	{
		width:100%;
	}
	
	#staff figure
	{
		width:100%;
		max-width: 200px;
	}
	
	#weather .photo_text:nth-of-type(2n) .text > div,
	#weather .photo_text:nth-of-type(2n) .text > h3
	{
		padding-right: 0rem;
	}
	#weather .photo_text:nth-of-type(2n + 1) .text > div,
	#weather .photo_text:nth-of-type(2n + 1) .text > h3
	{
		padding-left: 0rem;
	}
}

@media screen and (max-width: 650px)
{
	#about
	{
		flex-direction:column;
	}
	#menu
	{
		position:relative;
		top: 0;
		width: 100%;
	}
	#contents
	{
		width: 100%;
	}
	#stay .stay
	{
		width: calc(100% / 2 - 1rem);
	}
}

@media screen and (max-width: 450px)
{
	#access tr td
	{
		display: block;
	}
	#access tr + tr td:nth-of-type(1)
	{
		padding-top: .5em;
	}
	#access tr td:nth-of-type(2)
	{
		padding-top: 0;
	}
	#access tr + tr td:nth-of-type(2)
	{
		border-width: 0;
	}
}