@charset "utf-8";

/*================================

container

================================*/

#container {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	margin: auto;
	}
@media screen and (max-width: 768px) {
#container {
	width: 86%;
	display: block;
	padding-top: 6.5em;
	}
	}

#container .sidebar {
	width: 31%;
	text-align: right;
	}
@media screen and (max-width: 768px) {
#container .sidebar {
	width: 100%;
	text-align: left;
	}
	}

#container .sidebar .sidebar__item--fixed {
	position: sticky;
	margin-bottom: 0;
	z-index: 0;
	top: 13em;
	}
@media screen and (max-width: 768px) {
#container .sidebar .sidebar__item--fixed {
	position: relative;
	margin: auto;
	top: auto;
	}
	}

#container .sidebar .sidebar__item--fixed h2{
	font-family: 'Libre Baskerville', serif;
	font-weight: normal;
	font-weight: 400;
	font-size: 2em;
	line-height: 1em;
	letter-spacing: .05em;
	color: #646464;
	}
@media screen and (max-width: 768px) {
#container .sidebar .sidebar__item--fixed h2{
	font-size: 1.5em;
	}
	}

#container .main {
	display: block;
	width: 69%;
	margin-top: 13.4em;
	padding: 0 20% 0 13%;
	box-sizing: border-box;
	}
@media screen and (max-width: 768px) {
#container .main {
	width: 100%;
	margin-top: 4em;
	padding: 0;
	}
	}

#container .main .block{
	margin-top: 5em;
	}
#container .main .block:first-child {
	margin-top: 0;
	}
@media screen and (max-width: 768px) {
#container .main .block{
	margin-top: 3.5em;
	}
	}

#container .main h3{
	font-family: 'Libre Baskerville', serif;
	font-weight: normal;
	font-weight: 400;
	font-size: 1.7em;
	line-height: 1em;
	letter-spacing: .05em;
	color: #ac864a;
	}
@media screen and (max-width: 768px) {
#container .main h3{
	font-size: 1.3em;
	}
	}

#container .main h4{
	position: relative;
	font-weight: normal;
	line-height: 2.5em;
	font-size: .8em;
	letter-spacing: .05em;
	color: #ac864a;
	font-family: 'Noto Sans JP';
	}

#container .main h4 span{
	position: absolute;
	top: .4em;
	right: 0;
	line-height: 1em;
	letter-spacing: .05em;
	color: #646464;
	font-size: 1.25em;
	font-family: 'Noto Sans JP';
	}

#container .main ul li{
	position: relative;
	width: 100%;
	margin-top: 1.3em;
	line-height: 1em;
	letter-spacing: .05em;
	font-family: 'Noto Sans JP';
	}
@media screen and (max-width: 768px) {
#container .main ul li{
	margin-top: 1.2em;
	font-size: .9em;
	}
	}

#container .main ul li span{
	position: absolute;
	top: 0;
	right: 0;
	font-family: 'Noto Sans JP';
	}

#container .main ul li.cap{
	margin-top: 1em;
	line-height: 1em;
	font-size: .8em;
	letter-spacing: .05em;
	font-family: 'Noto Sans JP';
	}

/*================================

access

================================*/

@media screen and (max-width: 768px) {
.access #container .main {
	width: 100%;
	margin-top: 3em;
	padding: 0;
	}
	}

.access p{
	line-height: 2em;
	font-size: 1em;
	letter-spacing: .05em;
	font-family: 'Noto Sans JP';
	}

.access p span.tels{
	color: #646464 !important;
	text-decoration: none;
	}
@media screen and (max-width: 768px) {
.access p span.tels{
	color: #646464 !important;
	text-decoration: underline;
	}
.access p span.tels a{
	color: #646464 !important;
	text-decoration: underline;
	}
	}

.access p span.address{
	color: #646464 !important;
	text-decoration: none;
	}

.access p span.address a{
	pointer-events: none;
	color: #646464 !important;
	text-decoration: none;
	}

.access a.gm{
	margin-top: 3em;
	display: inline-block;
	position: relative;
	color: #ac864a;
	font-family: 'Libre Baskerville', serif;
	font-weight: normal;
	font-weight: 400;
	}
@media screen and (max-width: 768px) {
.access a.gm{
	margin-top: 2em;
	}
	}

.access a.gm:before{
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	height: 1px;
	background-color: rgba(172, 134, 74, 0.75);
	transform: scale(0, 1);
	transform-origin: left;
	transition: 0.4s;
	}
.access a.gm:hover:before {
	transform: scale(1);
	}
@media screen and (max-width: 768px) {
.access a.gm:before{
	transform: scale(1);
	}
	}

.access a.gm:hover{
	color: #ac864a;
	}

.access .map{
	margin-top: 6em;
	}
@media screen and (max-width: 768px) {
.access .map{
	margin-top: 3em;
	}
.access .map img{
	width: 99%;
	height: auto;
	}
	}

/*================================

about

================================*/

@media screen and (max-width: 768px) {
.about #container .main {
	width: 100%;
	margin-top: 3em;
	padding: 0;
	}
	}


/*================================

text

================================*/

.about p{
	line-height: 2em;
	font-size: 1em;
	letter-spacing: .05em;
	font-family: 'Noto Sans JP';
	text-align: justify;
	text-justify: inter-ideograph;
	}

.about .text h2{
	line-height: 1em;
	font-size: 1.1em;
	letter-spacing: .05em;
	font-family: 'Noto Sans JP';
	font-weight: normal;
	color: #ac864a;
	margin-bottom: 2em;
	display: flex;
	align-items: center; /* 垂直中心 */
	justify-content: left; /* 水平中心 */
	}
.about .text h2:before {
	border-top: 1px solid;
	content: "";
	width: 2em; /* 線の長さ */
	margin-right: .5em;
	}
@media screen and (max-width: 768px) {
.about .text h2{
	margin-bottom: 1.5em;
	}
.about .text h2:before {
	width: 1em; /* 線の長さ */
	}
	}

.about .text p{
	line-height: 1.8em;
	font-size: 1em;
	letter-spacing: .05em;
	font-family: 'Noto Sans JP';
	text-align: justify;
	text-justify: inter-ideograph;
	margin-bottom: 2em;
	}
@media screen and (max-width: 768px) {
.about .text p{
	font-size: .9em;
	}
	}


/*================================

rooms

================================*/

#rooms{
	position:relative;
	width: 100%;
	margin: auto;
	margin-top: 3.5em;
	padding: 0;
	}
@media screen and (max-width: 768px) {
#rooms{
	margin-top: 2em;
	}
	}

#rooms .room{
	position:relative;
	width: 100%;
	margin-top: 1.5em;
	}
@media screen and (max-width: 768px) {
#rooms .room{
	margin-top: .6em;
	}
	}

#rooms .room .pack{
	position:relative;
	width: 100%;
	height: auto;
	margin: auto;
	}
@media screen and (max-width: 768px) {
#rooms .room .pack{
	width: 100%;
	}
	}

#rooms .room .pack .photo{
	position:relative;
	width: 100%;
	}
#rooms .room .pack .photo:before {
	content:"";
	display: block;
	padding-top: 140%;
	}

#rooms .room .pack .photo .inner {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	}

#rooms .room:nth-child(1) .pack .photo .inner {
	background-image: url(../images/rooms01.jpg);
	}
#rooms .room:nth-child(2) .pack .photo .inner {
	background-image: url(../images/rooms02.jpg);
	}
#rooms .room:nth-child(3) .pack .photo .inner {
	background-image: url(../images/rooms03.jpg);
	}


/*================================

etc

================================*/

.about ul{
	margin-top: 4em;
	}
@media screen and (max-width: 768px) {
.about ul{
	margin-top: 2.5em;
	}
	}

.about ul li{
	list-style-type: disc;
	margin-top: .8em !important;
	margin-left: 1.5em;
	}

.about p.cap{
	margin-top: 2em;
	line-height: 1.8em;
	font-size: .9em;
	text-align: justify;
	text-justify: inter-ideograph;
	}
@media screen and (max-width: 768px) {
.about p.cap{
	font-size: .8em;
	}
	}