@charset "UTF-8";
/* CSS Document */

.sos {
  position: fixed;
  bottom: 15px;
  left: 15px;
  z-index: 100;
}

@media screen and (max-width: 567px) {
  .sos img {
    width: 150px;
  }
}

#mainimg {
	position: relative;
	margin-bottom: 50px;
}

#slide{
	height: 100%;
} 

#slide ul {
	position: relative;
}

#slide ul li{
	text-align: right;
	-moz-transform: rotate(3deg);
    -webkit-transform: rotate(3deg);
    -o-transform: rotate(3deg);
    -ms-transform: rotate(3deg);
    transform: rotate(3deg);
	position:absolute;
	top: -20px;
	right: -10px;
}

#mainimg li img {
	width: 100%;
	max-width: 770px;
	border: 7px solid #FFF;
	box-shadow: 2px 2px 6px gray;
}

#mainimg #mainMsg h2 {
	background: rgba(244,99,127,0.5);
	padding: 25px 15px 25px 50px;
	font-family: Uzura;
	color: #FFF;
	font-size: 2.5vw;
	line-height: 130%;
	margin: 0 0 25px;
}

#mainimg #mainMsg p {
	padding: 0 0 0 50px;
	font-size: 1.4vw;
	line-height: 2em;
	color: #666;
	font-weight: 300;
}

#mainimg #wind {
	position: absolute;
	bottom: 5%;
}

#mainimg #wind img {
	width: 100%;
}

@media screen and (min-width: 80em) {
	#mainimg #mainMsg h2 {
	font-size: 250%;
}
	#mainimg #mainMsg p {
		font-size: 120%;
		line-height: 2.3em;
	}
}

@media screen and (max-width: 63.99em) {
	#mainimg #mainMsg h2 {
		font-size: 2.4vw;
	}
	#mainimg #mainMsg p {
		font-size: 1.5vw;
		line-height: 2em;
	}
	#mainimg #wind {
		bottom: -20px;
	}
}

@media screen and (max-width: 47.99em) {
	
	#mainimg #mainMsg { margin-top: -2em; }
	
	#mainimg #mainMsg h2 { 
		font-size: 4.8vw;
		padding: 0.5em 1em;
		margin: 0 0 10px;
	}
	#mainimg #mainMsg p {
		font-size: 3vw;
		padding: 0 1em;
	}
	#mainimg #wind {
		display: none;
	}
}

@media screen and (max-width: 35.49em) {
	#mainimg #mainMsg h2 { 
		font-size: 5.5vw;
	}
	#mainimg #mainMsg p {
		font-size: 3.5vw;
	}
}

.description {
	font-size: 110%;
	text-align: center;
	line-height: 1.7;
	margin-bottom: 2em;
}

@media screen and (max-width: 47.99em) {
	.description {
	text-align: left;
	}
	
	.description br { display:	none;}
}

@media screen and (max-width: 35.49em) {
	img.illustration {
		width:40%;
		display: block;
		margin: 0 auto 1em;	
	}
}

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

news

========================================*/
#news {
	background: #FFF;
	padding: 3em 0;
}

#news li {
	border-bottom: 1px solid #CCC;
	padding: 5px;
}

#news li a {
	display: block;
	color: #333;
	padding: 5px;
	border-radius: 5px;
}

#news li a:hover {
	text-decoration: none;
	background: rgba(244,99,127,0.1);
}

#news li p.overflow {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

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

about

========================================*/
section#about {
	padding: 3em 0;
}

section#about #introduction {
	background-image: url(../img/img_about01.png),url(../img/img_about02.png);
	background-repeat: no-repeat,no-repeat,no-repeat;
	background-position: left center,right center,center center;
	font-size: 120%;
	line-height: 2;
	font-weight: 300;
	padding: 50px 0;
	text-align: center;
	margin-bottom: 1em;
}

section#about #profile {
	background: #FFF;
	border-radius: 15px;
	padding: 35px 20px;
}

section#about #profile figure img {
	border-radius: 15px
}

section#about #profile h3 {
	font-size: 110%;
	border-bottom: 1px dotted #333;
	line-height: 1.2;
	margin-bottom: 15px;
}

section#about #profile h3 span.message {
	font-family: 'Great Vibes', cursive;
	font-size: 250%;
	color: #F4637F;
	padding-right: 15px;
}

section#about #profile h3 br {
	display: none;
}

@media screen and (max-width: 47.99em) {
	section#about #introduction {
		background-image: none;
		font-size: 100%;
		text-align: left;
	}
	
	section#about #introduction {
		padding: 0;
	}
	
	section#about #introduction br {
		display: none;
	}
	
	section#about #profile figure {
		margin-top: 1.5em;
	}
}

@media screen and (max-width: 35.49em) {
	section#about #profile h3 {
		padding-bottom: 10px;
	}
	section#about #profile h3 br {
		display: inline-block;
	}
}

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

facility

========================================*/
section#facility {
	background: url(../cmn/img/bg01.png);
	padding: 3em 0;
}

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

caremenu

========================================*/
section#caremenu {
	padding: 3em 0;
}

.menuBox {
	border-radius: 10px;
	margin-bottom: 3em;
	overflow: hidden;
	height: 100%;
}

.menuBox figure {
	overflow: hidden;
	background: #FFF;
}

.menuBox figure img {
	width: 100%;
}

.menuBox:last-of-type {
	margin-bottom: 0;
}

.menuBox .service {
	background: #FFF;
	padding: 20px 20px 20px 30px;
	box-sizing: border-box;
	height: 100%;
}

.menuBox .service h3 {
	font-size: 160%;
	margin-bottom: 5px;
	color: #F4637F;
}

dl.detailedList dt p {
	background: #F4637F;
	color: #FFF;
	text-align: center;
}

dl.detailedList dt,
dl.detailedList dd {
	margin-bottom: 10px;
}

@media screen and (max-width: 47.99em) {
	.menuBox {
		margin-bottom: 1em;
	}
	.menuBox .service h3 {
		font-size: 130%;
	}
}

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

stay

========================================*/
section#stay {
	background: url(../cmn/img/bg01.png);
	padding: 3em 0;
}

section#stay .time2 {
    display: inline-block;
    padding: 2px 20px;
    color: #FFFFFF;
    font-size: 20px;
    margin-bottom: 1em;
    background: #F4637F;
    border-radius: 30px;
}

section#stay .time2::before {
    font-family: "Font Awesome 5 Free";
    content:"\f4ba";
    font-weight: 900;
    color: #FFFFFF;
    margin-right: 3px;
}

section#stay h3 {
	font-size: 130%;
	color: #F4637F;
	margin-bottom: 10px;
}

section#stay h3 .time {
	display: inline-block;
	padding: 12px 5px;
	background: #F4637F;
	border-radius: 50%;
	color: #FFF;
	margin-right: 5px;
	font-size: 80%;
}

section#stay svg {
	font-size: 200%;
	color: #F4637F;
}

section#stay section.option {
	background: #FFF;
	border-radius: 10px;
	padding: 1em 1.5em;
	margin-bottom: 2em;
	height: auto;
}

section#stay section.option:first-of-type {
	margin-top: 2em;
}

section#stay section.option figure {
	text-align: center;
}

section#stay section.option figure img {
	border-radius: 50%;
	width: 100%;
}

@media screen and (max-width: 35.49em) {
	section#stay section.option figure img {
		width: 60%;
	}
}

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

other

========================================*/
section#other {
	padding: 3em 0;
}

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

staff

========================================*/
section#staff {
	padding: 3em 0;
}

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

reservation

========================================*/
section#reservation {
	background: url(../cmn/img/bg01.png);
	padding: 3em 0;
}

section#reservation svg {
	font-size: 80%;
}

section#reservation .tel01 {
	font-size: 400%;
	color: #F4637F;
	text-align: center;
}

section#reservation .tel02 {
	font-size: 250%;
	color: #F4637F;
	text-align: center;
}

section#reservation rp,
section#reservation rt {
	font-size: 9px;
}

section#reservation .attention {
	text-align: center;
}

@media screen and (max-width: 47.99em) {
	section#reservation .tel01 {
		font-size: 8.5vw;
	}
	section#reservation .tel02 {
		font-size: 7vw;
	}
	section#reservation rp,
	section#reservation rt { display: none; }
	
	section#reservation .attention {
		text-align: left;
	}
}

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

voice

========================================*/
section#voice {
	padding: 3em 0;
  background: url(../cmn/img/bg01.png);
}

.comment {
	background: #FFF;
	border-radius: 10px;
	padding: 20px;
	font-size: 110%;
	margin-bottom: 2em;
}

.comment:last-of-type {
	margin-bottom: 0;
}

@media screen and (max-width: 47.99em) {
	.comment {
		margin-bottom: 1em;
	}
}

@media screen and (max-width: 35.49em) {
    .comment img {
        width: 50%;
    }
}

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

access

========================================*/
section#access {
	/*background: url(../cmn/img/bg01.png);*/
	padding: 3em 0;
}

section#access .map {
	border: 2px solid #CCC;
	border-radius: 10px;
}

@media screen and (max-width: 47.99em) {
	section#access .map { margin-bottom: 1em; }
}

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

contact

========================================*/
section#contact {
	background: #FFF;
	padding: 3em 0;
}