@charset "UTF-8";

/* -----------------------------------------------------------
共通
----------------------------------------------------------- */
html {
	overflow-x: hidden;
}

@media only screen and (max-width: 736px) {
	#header {
		position: relative;
	}

	#page {
		padding-top: 0;
	}
}

#header .wrp_header .logo {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 100;
	background: url(../images/header/bg_logo.png) 0 0 no-repeat;
}

#header .wrp_header .logo a {
	display: block;
	padding: 3px 15px;
	font-size: 0;
}

@media only screen and (max-width: 1280px) {
	#header .wrp_header .logo {
		float: left;
		width: 15%;
		max-width: initial;
	}
}

@media only screen and (max-width: 1024px) {
	#header .wrp_header .logo {
		max-width: 135px;
		width: 18%;
	}

	#header .wrp_header .logo a {
		padding: 20px 10px;
	}
}

@media only screen and (max-width: 736px) {
	#header .wrp_header .logo {
		max-width: 100%;
		width: 260px;
		background: none;
	}

	#header .wrp_header .logo a {
		padding: 12px 5px 0px 5px;
	}
}

#header .wrp_header h1 {
	position: absolute;
	left: 11%;
	color: #fff;
	z-index: 1;
}

@media only screen and (max-width: 1280px) {
	#header .wrp_header h1 {
		left: 16%;
	}
}

#header .wrp_header .con_header {
	display: none;
}

@media only screen and (max-width: 1280px) {
	#header .wrp_header .con_header {
		display: none;
	}
}

@media only screen and (max-width: 736px) {
	#header .wrp_header .con_header {
		display: block;
	}
}

@media only screen and (max-width: 736px) {
	.wrp_top_rsv .gnav {
		display: none;
	}
}


.new .btn {
	max-width: 310px;
	display: inline-block;
	width: 48%;
	border: 1px solid #582a14;
	font-size: 12px;
	float: right;
	margin: 3% 1%;
}

.new .btn a {
	display: block;
	width: 100%;
	padding: 15px;
	text-align: center;
	color: #582a14;
	text-decoration: none !important;
}

.new .btn a:hover {
	background: #582a14;
	color: #fff;
	transition: all 0.3s;
}

.new .btn::after {
	content: "";
	display: block;
	clear: both;
}

.new .title {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 768px) {
	.sp {
		display: none;
	}
}

@media only screen and (max-width:768px) {
	.pc {
		display: none;
	}

	.new .btn {
		max-width: initial;
		display: block;
		width: 98%;
		font-size: 1.0em;
		float: none;
		margin: 3% auto;
	}

	.new .btn a {
		padding: 5%;
	}

	#sp_gnav {
		position: absolute;
		z-index: 99999;
		top: 0;
		left: 0;
		background: #fff;
	}
}

/* -----------------------------------------------------------
メイン画像
  .main_img
----------------------------------------------------------- */

.main {
	width: 100%;
	height: 81.3vh;
	position: relative;
	margin: auto;
	overflow: hidden;
}

@media only screen and (max-width: 1263px) and (min-width: 640px) {
	.main {
		height: 79.4vh;
	}
}

@media only screen and (max-width: 770px) {
	.main {
		height: 0;
		padding-top: 66.8%;
	}
}

.main .bgImg {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	opacity: 0;
	animation: bgAnime 15s infinite;
	/*画像 × 各5s*/
}

.main .src1 {
	background: url(http://hotel-rosablanca.com/img/main_dog.png) center 0 no-repeat;
	background-size: cover;
	background-position: center;
	animation-delay: 0s;
}

@media only screen and (max-width: 770px) {
	.main .src1 {
		background-size: contain;
		background-position: top;
	}
}

/*.main .src2 {
	background: url(../img/main_02.png) center 0 no-repeat;
	background-size: cover;
	background-position: bottom;
	animation-delay: 5s;
}

@media only screen and (max-width: 770px) {
	.main .src2 {
		background-size: contain;
		background-position: top;
	}
}


.main .src3 {
	background: url(../img/main_03.png) center 0 no-repeat;
	background-size: cover;
	background-position: bottom;
	animation-delay: 10s;
}

@media only screen and (max-width: 770px) {
	.main .src3 {
		background-size: contain;
		background-position: top;
	}
}*/

.main .src2 {
	background: url(../img/main_01.png) center 0 no-repeat;
	background-size: cover;
	background-position: center;
	animation-delay: 5s;
}

@media only screen and (max-width: 770px) {
	.main .src2 {
		background-size: contain;
		background-position: top;
	}
}

.main .src3 {
	background: url(../img/main_04.png) center 0 no-repeat;
	background-size: cover;
	background-position: center;
	animation-delay: 5s;
}

@media only screen and (max-width: 770px) {
	.main .src3 {
		background-size: contain;
		background-position: top;
	}
}

.main .src4 {
	background: url(../img/main_05.png) center 0 no-repeat;
	background-size: cover;
	background-position: center;
	animation-delay: 10s;
}

@media only screen and (max-width: 770px) {
	.main .src4 {
		background-size: contain;
		background-position: top;
	}
}

/*2枚用*/
/*@keyframes bgAnime {
	0% {
		opacity: 0;
	}

	25% {
		opacity: 1;
	}

	75% {
		opacity: 1
	}

	100% {
		opacity: 0;
	}
}*/

/*3枚用*/
/*@keyframes bgAnime {
	0% {
		opacity: 0;
	}

	5% {
		opacity: 1;
	}

	25% {
		opacity: 1;
	}

	30% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}*/

/*4枚用*/
@keyframes bgAnime {
	0% {
		opacity: 0;
	}

	10% {
		opacity: 1;
	}

	30% {
		opacity: 1;
	}

	35% {
		opacity: 0;
	}

	40% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

.main a {
	position: absolute;
	bottom: 20px;
	left: 50%;
	z-index: 2;
	display: inline-block;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	text-decoration: none;
	padding-top: 80px;
}

.main a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 24px;
	height: 24px;
	margin-left: -12px;
	border-left: 3px solid #fff;
	border-bottom: 3px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-animation: sdb 2s infinite;
	animation: sdb 2s infinite;
	opacity: 0;
	box-sizing: border-box;
}

.main a span:nth-of-type(1) {
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
}

.main a span:nth-of-type(2) {
	top: 16px;
	-webkit-animation-delay: .15s;
	animation-delay: .15s;
}

.main a span:nth-of-type(3) {
	top: 32px;
	-webkit-animation-delay: .3s;
	animation-delay: .3s;
}

@-webkit-keyframes sdb {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

@keyframes sdb {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

.banner_box {
	width: 100%;
	padding: 0 0 15px;
}

.banner_box .scroll_bar {
	overflow-x: scroll;
}

.banner_box .scroll_bar ul {
	display: flex;
}

.banner_box .scroll_bar li {
	width: 300px;
	margin: 5px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	border: 3px solid #fff;
}

.banner_box .scroll_bar li:hover {
	border: 3px solid #58ce42;
}

.banner_box .scroll_bar::-webkit-scrollbar {
	width: 3px;
	height: 0.5em;
}

.banner_box .scroll_bar::-webkit-scrollbar-track {
	background: #fff;
	border: none;
	border-radius: 5px;
	box-shadow: inset 0 0 2px #582a14;
}

.banner_box .scroll_bar::-webkit-scrollbar-thumb {
	background: #582a14;
	border-radius: 10px;
	box-shadow: none;
}



@media only screen and (min-width: 768px) {}

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

	.banner_box .scroll_bar li {
		width: 190px;
		margin: 5px;
	}

	.main a {
		padding-top: 40px;
	}

	.banner_box .scroll_bar {
		-webkit-overflow-scrolling: touch
	}
}


/* -----------------------------------------------------------
スライダー
  .slider
----------------------------------------------------------- */
.slick-dots {
	bottom: 0;
}

.slick-dotted.slick-slider {
	margin-bottom: 0;
}

/* -----------------------------------------------------------
7つのポイント
  .point
----------------------------------------------------------- */

.point {
	background: #f3edd7;
	padding: 25px;
}

.point .title {
	max-width: 403px;
	margin: 0 auto;
	width: 80%;
	padding: 50px 0 25px;
}

.point ul {
	max-width: 1150px;
	margin: 15px auto;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.point ul li {
	width: 48%;
	margin: 1%;
}

.point .note {
	font-size: 0.9em;
}

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

	.point .title {
		padding: 0;
	}

	.point ul {
		max-width: 100%;
		;
		margin: 15px auto;
		display: block;
	}

	.point ul li {
		width: 98%;
		margin: 1%;
	}

	.point .note {
		font-size: 0.8em;
		width: 80%;
		margin: 5% auto;
	}
}

/* -----------------------------------------------------------
観光地
  .map
----------------------------------------------------------- */
.map .mapimg {
	width: 65%;
	background: url(../img/map_01.png)top center;
	background-repeat: no-repeat;
	background-size: cover;
}

.map .maptext {
	width: 76%;
	/*padding: 2% 0;*/
	margin: 0 auto;
}

.map .box_info {
	margin: 2% 0;
	width: 100%;
	border-bottom: 1px solid;
	padding: 0.5%;
}

.map .box_info > a {
	display: flex;
}

.map .box_info a .img {
	width: 32%;
}

.map .box_info .detail {
	width: 68%;
	padding: 0 3%;
}

.map .title {
	width: 100%;
}

.map .title img {
	max-width: 471px;
}

.map .btn_spot {
	text-align: right;
	margin-right: 5%;
}

@media only screen and (max-width: 768px) {
	.map {
		display: block;
	}

	.map .mapimg {
		width: 100%;
	}

	.map .maptext {
		width: 100%;
		padding: 2% 0;
	}

	.map .box_info {
		margin: 2% auto;
	}

	.map .title {
		margin: 0 auto;
	}
}

/* -----------------------------------------------------------
過ごし方
  .appeal"
----------------------------------------------------------- */
.hd_app {
	margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
	.hd_app {
		margin-bottom: 20px;
	}
}
.hd_app .text {
	width: 95%;
	margin: 0 auto 3%;
	text-align: center;
}

.hd_app .text .title {
	color: #582a14;
	font-size: 28px;
	text-align: center;
	border-bottom: 1px solid #582a14;
	padding: 5px;
	margin: 0 0 15px;
}

.appeal {
	display: flex;
	width: 95%;
	margin: 0 auto;
	align-items: center;
	justify-content: space-between;
}

.last {
	padding-bottom: 80px;
}

.appeal .img {
	width: 100%;
}

.appeal .img02 {
	width: 48%;
}

.appeal .txt {
	width: 47%;
}

@media only screen and (max-width: 768px) {
	.appeal .txt {
		width: 100%;
	}
}

.appeal .text {
	width: 28%;
	margin: 1%;
	position: relative;
}

.appeal .text02 {
	width: 50%;
	position: relative;
}

/*.appeal .text > div,
.appeal .text02 > div {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
}*/

.appeal .text .list {
	text-align: center;
}

.appeal .text .title,
.appeal .text02 .title {
	color: #582a14;
	font-size: 28px;
	text-align: center;
	/*border-bottom: 1px solid #582a14;*/
	padding: 5px;
	margin: 0 0 15px;
}

.appeal .text .list li {
	display: inline-block;
	text-align: center;
	width: 35%;
	margin: 1%;
	font-size: 0.8em;
	vertical-align: top;
}

.appeal .text02 .title02 {
	color: #582a14;
	font-size: 24px;
	text-align: center;
	padding: 0 15px 15px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (max-width: 768px) {
	.hd_app .text {
		width: 95%;
		margin: 0 auto 3%;
		text-align: left;
	}
	.appeal {
		display: block;
	}

	.appeal .img,
	.appeal .img02 {
		width: 98%;
		margin: 1%;
	}

	.appeal .text,
	.appeal .text02 {
		width: 98%;
		margin: 1% 1% 10%;
		position: static;
	}

	.appeal .text > div,
	.appeal .text02 > div {
		position: static;
		width: 90%;
		margin: 0 auto;
		transform: translate(0, 0);
	}

	.appeal .text .list {
		text-align: center;
	}

	.appeal .text .title,
	.appeal .text02 .title {
		font-size: 1.2em;
	}

	.appeal .text .list li {
		width: 46%;
		margin: 1%;
	}

	.appeal .text .title02 {
		font-size: 1.1em;
	}
}

/* -----------------------------------------------------------
シーンに合わせたお選びいただける客室
  .scene
----------------------------------------------------------- */
.scene {
	background: #f3edd7;
	padding: 20px 0 50px;
}

.scene .scene_box {
	max-width: 800px;
	margin: 50px auto;
}

.scene .title {
	color: #582a14;
	font-size: 28px;
	text-align: center;
	border-bottom: 1px solid #582a14;
	padding: 5px;
	margin: 0 0 15px;
}

.scene .list {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.scene .list li {
	width: 33.333333%;
}

@media only screen and (max-width: 768px) {
	.scene {
		background: #f3edd7;
		padding: 20px 0 50px;
	}

	.scene .scene_box {
		max-width: 800px;
		margin: 15px auto;
		padding: 5%
	}

	.scene .title {
		color: #582a14;
		font-size: 28px;
		text-align: center;
		border-bottom: 1px solid #582a14;
		padding: 5px;
		margin: 0 0 15px;
	}

	.scene .list li {
		width: 50%;
	}
}

/* -----------------------------------------------------------
日帰りで楽しみたい方
  .today
----------------------------------------------------------- */
.today {
	background: #f2f2f1;
	padding: 100px 15px;
}

.today .list {
	display: flex;
}

.today .list li {
	width: 50%;
	background: #96da9d;
}

.today .text {
	padding: 30px;
	color: #fff;
}

.today > p.title {
	color: #582a14;
	font-size: 28px;
	text-align: center;
	border-bottom: 1px solid #582a14;
	padding: 5px;
	margin: 0 auto 50px;
	max-width: 400px;
	width: 60%;
}

.today .text .title {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 28px;
	border-bottom: 1px solid #fff;
	text-align: center;
}

.today .btn {
	float: none;
	text-align: center;
	margin: 0 0 0 50%;
	transform: translateX(-50%);
	border: 1px solid #fff;
}

.today .btn a {
	color: #fff;
}

.today .btn a:hover {
	background: #fff;
	color: #333;
}

@media only screen and (max-width: 768px) {
	.today {
		padding: 5%;
	}

	.today .list {
		display: block;
	}

	.today .list li {
		width: 100%;
	}

	.today .text {
		padding: 5% 3%;
		color: #fff;
	}

	.today > p.title {
		font-size: 1.3em;
		text-align: center;
		width: 90%;
	}

	.today .text .title {
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-size: 28px;
		border-bottom: 1px solid #fff;
		text-align: center;
	}

	.today .btn {
		float: none;
		text-align: center;
		margin: 0 0 0 50%;
		transform: translateX(-50%);
		border: 1px solid #fff;
	}

	.today .btn a {
		color: #fff;
	}

	.today .btn a:hover {
		background: #fff;
		color: #333;
	}
}

/* -----------------------------------------------------------
その他
  .other
----------------------------------------------------------- */
.other .otherbox {
	display: flex;
}

.other .last {
	margin-bottom: 80px;
}

@media only screen and (max-width: 1024px) {
	.other .last {
		margin-bottom: 50px;
	}
}

.other .otherbox .img {
	width: 60%;
}

.other .otherbox .text {
	width: 38%;
	margin: 1% 1% 50px;
	position: relative;
}

.other .otherbox .text > div {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 95%;
	transform: translate(-50%, -50%);
}

.other .otherbox .text .title {
	color: #582a14;
	font-size: 28px;
	text-align: center;
	border-bottom: 1px solid #582a14;
	padding: 5px;
	margin: 0 0 15px;
}

@media only screen and (max-width: 768px) {
	.other {
		margin: 10% auto;
	}
	.other .otherbox {
		margin-bottom: 15%;
	}
	.other .otherbox .img {
		width: 45%;
	}
	.other .otherbox .sp {
		display: block;
	}
	.other .otherbox .text {
		width: 55%;
		margin: 0;
		position: relative;
	}
	.other .otherbox .text .title {
		color: #582a14;
		font-size: 23px;
		text-align: center;
		border-bottom: 1px solid #582a14;
		padding: 5px;
		margin: 0 0 15px;
	}
}

@media only screen and (max-width: 728px) {
	.other .otherbox {
		display: block;
	}

	.other .otherbox .img {
		width: 100%;
	}

	.other .otherbox .text {
		width: 98%;
		margin: 1% 1% 50px;
		position: static;
	}

	.other .otherbox .text > div {
		position: static;
		width: 90%;
		margin: 0 auto;
		transform: translate(0, 0);
	}

	.other .otherbox .text .title {
		font-size: 1.1em;
	}
}

/* -----------------------------------------------------------
その他
  .instagram
----------------------------------------------------------- */

.instagram {
	background: #f3edd7;
	padding: 50px;
}

.instagram > div {
	max-width: 1200px;
	width: 80%;
	margin: 30px auto;
}

.instagram .title {
	color: #582a14;
	font-size: 28px;
	text-align: center;
	border-bottom: 1px solid #582a14;
	padding: 5px;
	margin: 0 0 50px;
}

.instagram .btn {
	margin: 3% 50%;
	float: none;
	transform: translateX(-50%);
}

.instagram iframe {
	max-width: 1200px !important;
	width: 100% !important;
}

@media only screen and (max-width: 768px) {
	.instagram {
		padding: 2%;
	}

	.instagram > div {
		max-width: initial;
		width: 90%;
		margin: 30px auto;
	}

	.instagram iframe {
		width: 100% !important;
		height: auto !important;
	}

	.instagram .title {
		font-size: 1.2em;
		margin: 0 0 30px;
	}

}

/* -----------------------------------------------------------
スタッフからのお知らせ
  .wrp_bottom
----------------------------------------------------------- */
.wrp_bottom {
	padding: 30px 0;
}

.wrp_bottom .con_news {
	background: transparent;
}

.wrp_bottom .title {
	color: #582a14;
	font-size: 28px;
	text-align: center;
	border-bottom: 1px solid #582a14;
	padding: 5px;
	margin: 0 0 50px;
}

.wrp_bottom .con_side .box_sns h4 {
	width: 60%;
	margin: 0 auto 15px;
}

.wrp_bottom .btn_more {
	max-width: 200px;
	margin: 0 auto;
}

@media only screen and (max-width: 768px) {
	.wrp_bottom {
		padding: 40px 3% 3%;
	}

	.wrp_bottom .con_side .box_sns h4 img {
		height: auto !important;
	}

}

/* -----------------------------------------------------------
スライダー
----------------------------------------------------------- */
.slick-dots li.slick-active button:before {
	color: #fff !important;
}

/*----------------------------------------------------
バナー
----------------------------------------------------*/
.measures {
	margin: 20px auto;
	text-align: center;
	max-width: 750px;
	padding: 1% 0;
	border: 1px #312413 solid;
	margin-bottom: 70px;
}

@media only screen and (max-width: 768px) {
	.measures {
		margin: 0;
		text-align: center;
		max-width: 900px;
		padding: 3% 0;
		width: 96%;
		margin: 0 auto;
		margin-bottom: 70px;
	}
}

.covid {
	margin: 30px auto 0;
	text-align: center;
	max-width: 744px;
}
@media only screen and (max-width: 768px) {
	.covid {
		margin: 30px auto 20px;
		max-width: 604px;
	}
}
@media only screen and (max-width: 736px) {
	.covid {
		margin: 30px auto 20px;
		max-width: 371px;
	}
}


/*----------------------------------------------------
お知らせ
----------------------------------------------------*/
/*.con_info {
	padding-top: 30px;
}*/

@media only screen and (max-width: 768px) {
	.con_info {
		padding-top: 0;
	}
}

.con_info .info {
	margin: 0 auto 50px auto;
	font-size: initial;
	border: 2px solid #b6091a;
	width: 100%;
	max-width: 950px;
}

.con_info .info span {
	display: block;
	text-align: center;
	background: #b6091a;
	color: #fff;
	padding: .625em;
}

.con_info .info a {
	margin: auto;
}

@media only screen and (max-width: 1200px) and (min-width: 640px) {
	.con_info .info {
		display: block;
		margin: 4% auto;
	}
}

@media only screen and (max-width: 640px) {
	.con_info .info {
		display: block;
		margin: 7% auto;
	}
	.con_info .info span {
		display: block;
		text-align: center;
		padding: 3%;
	}
	.con_info .info h4 {
		padding: 6% 0%;
	}
}

.con_info .info h4 {
	font-size: 18px;
	text-align: center;
	color: #312413;
	padding: .9375em 1.25em;
}

.con_info .info .box_infodet{
	margin: 0 auto;
	padding: 10px;
}

.con_info .info .box_infodet:after{
	content: ".";
	display: block;
	height: 0;
	font-size:0;
	clear: both;
	visibility:hidden;
}

.con_info .info .text {
	overflow: auto;
}

/* -----------------------------------------------------------
ビデオ再生
----------------------------------------------------------- */
/*.videoBox {
	padding: 0 20px;
}*/

.video {
	max-width: 640px;
	margin: 0 auto;
}

.videoBox .title {
	color: #582a14;
	font-size: 28px;
	text-align: center;
	border-bottom: 1px solid #582a14;
	padding: 5px;
	margin: 0 0 15px;
	max-width: 640px;
	margin: 0 auto 25px;
}

.videoBox video {
	width: 100%;
	border: 3px solid #582a14;
}

@media only screen and (max-width: 768px) {
	.video {
		width: 95%;
		margin: 0 auto;
	}
}