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

 /* 各ページ共通CSS
---------------------------------------- */
.brmb::before, .brpc::before {
	content: "\A";
 white-space: pre;
}
.brmb { display: none; }


@media screen and (max-width: 1023px) {
.sp-hidden { display: none !important; }
}
@media screen and (min-width: 1024px) {
.pc-hidden { display: none !important; }
}


/* ------------------------------------------------------
  Header
--------------------------------------------------------*/
.mobile-navigation picture {
	display: block;
	margin-bottom: 1rem;
}


/* Osaka Premirem logo -----------------------------*/
.site-logo { margin-right: 10px; display: flex; }
.site-logo figure {
 margin-left: 10px;
 width: 100%;
 height: 36px;
 max-width: 130px;
}
.site-logo figure img {
 width: auto;
 height: 100%;
}

@media screen and (min-width:1024px){
.site-logo { margin-right: 0; display: block; }
.site-logo figure {
 margin: 20px auto 0;
 height: 56px;
 max-width: 200px;
 }
}

/* ------------------------------------------------------
  Footer
--------------------------------------------------------*/
.site-footer .footer-brand picture {
 display: block;
 margin-top: 2rem;
}
.site-footer .footer-brand picture + picture { margin-top: 1rem; }
.site-footer .footer-bottom .footer-navigation {
  gap: 1rem 1.2rem;
  grid-template-rows: repeat(6, auto);
  grid-template-columns: repeat(1, auto);
  grid-auto-flow: column;
}
.site-footer .footer-bottom .footer-navigation a {
  font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
}
.c-primary-btn {
 background-color: #e85b5c;
 border: 1px solid #e85b5c;
	border-radius: .625rem;
 color: #fff;
 font-weight: 700;
 line-height: 1;
 text-align: center;
	letter-spacing: 0.2em;
}
.mobile-navigation-buttons .c-primary-btn-arrow-text {
 display: flex;
 align-items: center;
}
.mobile-navigation-buttons .rev .c-primary-btn-arrow-text img {
 margin-right: 10px;
 height: 35px;
 width: auto;
}
.mobile-navigation-buttons .line .c-primary-btn-arrow-text img {
 margin-right: 10px;
 height: 50px;
 width: auto;
}


@media screen and (min-width: 620px) and (max-width: 799px) {
.site-footer .footer-bottom .footer-navigation {
  gap: 1rem 2rem;
  margin: 0 auto;
  width: 85%;
}
}

@media screen and (min-width: 800px) {
	.site-footer .footer-brand {
  	display: flex;
  	align-items: center;
	}
	.site-footer .footer-brand picture,
	.site-footer .footer-brand picture + picture { margin: 0 0 0 2rem; }
}

@media screen and (min-width: 800px) and (max-width: 1023px) {
	.site-footer .footer-bottom .footer-navigation {
  	gap: 1rem 2rem;
  	grid-template-rows: repeat(4, auto);
  	grid-template-columns: repeat(2, auto);
	}
}

@media screen and (min-width: 1024px) {
	.site-footer .footer-bottom .footer-navigation {
  	gap: 1rem 2rem;
  	grid-template-rows: repeat(3, auto);
  	grid-template-columns: repeat(3, auto);
  	max-width: 800px;
	}
	.site-footer .footer-bottom .footer-navigation a { font-size: 0.875rem; }
}

@media screen and (min-width: 1200px) {
	.site-footer .footer-bottom { display: block !important; }
	.site-footer .footer-brand { margin-bottom: 3rem; }
}


/* ------------------------------------------------------
  fixed contact button 
--------------------------------------------------------*/
#reservebt {
 margin: 0 auto;
 max-width: 600px;
 display: flex;
 align-items: center;
 justify-content:space-between;
 flex-wrap: wrap;
}
#reservebt a {
 margin: 0;
 padding: 0 0.5rem;
 width: calc((100% - 15px) / 2);
 height: 48px;
 background-color: #c5a14b;
 border-radius: 8px;
 color: #fff;
 font-weight: bold;
 font-family: "Zen Old Mincho", serif;
 display: flex;
 align-items: center;
 justify-content: center;
 transition: 0.3s ease-out;
}
#reservebt a.rev {
 margin-bottom: 15px;
 width: 100%;
 background-color: #d96464;
}
#reservebt a:hover { background-color: #8f7a46; }
#reservebt a.rev:hover { background-color: #b24041; }
#reservebt a.line {
 background-color: #06c755;
 font-size: clamp(0.85rem, 0.795rem + 0.27vw, 1rem);
}
#reservebt a.line:hover { background-color: #03b94e; }
#reservebt a.line img {
 margin-right: 5px;
 height: 40px;
 width: auto;
}

#fixedcontact {
 width: 90%;
 max-width: 500px;
 display: flex;
 align-items: center;
 justify-content: center;
 position: fixed;
 bottom: 1rem;
 left: 50%;
 transform: translateX(-50%);
 z-index: 3;
}
#fixedcontact a {
 margin: 0.5rem;
 padding: 0 0.5rem;
 width: 44%;
 max-width: 260px;
 height: 44px;
	font-size: clamp(0.938rem, 0.915rem + 0.11vw, 1rem);
 box-shadow: 0 3px 6px 0 rgba(0,0,0,.45);
 display: flex;
 align-items: center;
 justify-content: center;
}
#fixedcontact a.line,
#fixedcontact_pc a.line {
 background-color: #06c755;
 border: 1px solid #06c755;
 font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
}
#fixedcontact a.line img {
 margin-right: 3px;
 height: 40px;
 width: auto;
}

#fixedcontact_pc {
 position: fixed;
 bottom: 30px;
 right: 30px;
 top: unset;
 width: 280px;
 z-index: 3;
}
#fixedcontact_pc a {
 margin-top: 12px;
 width: 280px;
 height: 60px;
 display: flex;
 align-items: center;
 justify-content: center;
 letter-spacing: 0.1em;
}
#fixedcontact_pc a.line img {
 margin-right: 7px;
 height: 50px;
 width: auto;
}

