
/* ----------------------------------------
	top page
---------------------------------------- */
/* block_hotels_top
 * ------------------------- */
.block_hotels_top {
	margin: 0;
}

.block_hotels_top .title {
	border-bottom: #f1dfdd 13px solid;
}

.block_hotels_top .title .title_text {
	display: table;
	width: 950px;
	height: 170px;
	margin: 0 auto;
}

.block_hotels_top .title h2 {
	display: table-cell;
	color: #cd7f7f;
	font-size: 40px;
	font-weight: normal;
	text-align: center;
	vertical-align: middle;
}

.block_hotels_top .title h2 small {
	font-size: 34px;
}

.block_hotels_top .title .title_images {
	position: relative;
	width: 950px;
	margin: 0 auto;
}

.block_hotels_top .title .img_hotels_top_left {
	position: absolute;
	bottom: -13px;
	left: 32px;
}

.block_hotels_top .title .img_hotels_top_right {
	position: absolute;
	bottom: -13px;
	right: 0;
}

.block_hotels_top .title span {
	color: #b6a9a1;
	font-size: 14px;
	line-height: 1;
	display: block;
	letter-spacing: 1px;
}

.block_hotels_top .hotels_top_body {
	background: #f9edec;
	padding-top: 30px;
}

.block_hotels_top .hotels_top_body .info_block {
	width: 475px;
	height: 520px;
	padding-top: 10px;
	margin: 0 0 40px;
	float: left;
	position: relative;
}

.block_hotels_top .hotels_top_body .info_block .info_title {
	font-size: 1.417em;
	margin-bottom: 10px;
	padding: 0 5px;
}

.block_hotels_top .hotels_top_body .info_block .catch_copy {
	color: #cd7f7f;
	font-size: 24px;
	line-height: 1.2;
	padding: 0 5px;
	margin-bottom: 10px;
}

.block_hotels_top .hotels_top_body .info_block .image {
	text-align: left;
}

.block_hotels_top .hotels_top_body .info_block .text {
	margin-top: 8px;
	padding: 0 5px 60px;
}

.block_hotels_top .hotels_top_body .info_block .info_btn {
	background: #fff;
	display: inline-block;
	text-align: right;
	position: absolute;
	right: 15px;
	bottom: 0;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}

.block_hotels_top .hotels_top_body .info_block .info_btn a {
	display: inline-block;
	text-align: center;
	padding: 11px 11px 9px 18px;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	background: #fff;
}

.block_hotels_top .hotels_top_body .info_block .info_btn .disable {
	display: inline-block;
	text-align: center;
	padding: 11px 11px 9px 18px;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	color: #999;
	background: #ccc;
}


.block_hotels_top .hotels_top_body .info_block .info_btn .disable:after,
.block_hotels_top .hotels_top_body .info_block .info_btn a:after {
	position: relative;
	top: 2px;
	margin-left: 11px;
}

/* top_plan_body
 * ------------------------- */
.top_plan_body ul {
	margin: 0 -19px;
	letter-spacing: -0.4em;
	text-align: center;
}

.top_plan_body li {
	display: inline-block;
	width: 320px;
	margin: 0 17px 30px;
	letter-spacing: normal;
	text-align: left;
	vertical-align: top;
}

.top_plan_body a {
	position: relative;
	display: block;
}

.top_plan_body a .image img {
	width: 320px;
	height: 320px;
}

.top_plan_body dl dt {
	position: relative;
	padding: 10px;
	background: #966848;
	color: #fff;
	font-size: 1.5em;
}

.top_plan_body dl dd {
	margin-top: 15px;
}

.top_plan_body dl dd em {
	display: block;
	margin-bottom: 5px;
	color: #835538;
	font-size: 1.333em;
}

.top_plan_body .mambers {
	position: absolute;
	top: 0;
	left: 0;
}

/* btn_plan */
.btn_plan {
	width: 352px;
	margin: 0 auto;
}

.btn_plan a {
	font-size: 1.5em;
	padding: 12px 0 10px;
}

/* block_hotels_top_news
 * ------------------------- */
.block_hotels_top_news {
	overflow: hidden;
}

.block_hotels_top_news .content_head {
	width: 184px;
	float: left;
}

.block_hotels_top_news .content_head .title .sub {
	display: block;
	margin: 15px 0 0;
}

.block_hotels_top_news .block_news {
	width: 840px;
	float: left;
	padding-top: 17px;
}

.block_hotels_top_news .block_news .news_inner {
	height: 160px;
}

/* use_body
 * ------------------------- */
.use_body {
	overflow: hidden;
}

.use_body a {
	display: block;
}

.use_body dl {
	border-radius: 3px;
	background-repeat: no-repeat;
	background-position: 100% 0;
	color: #fff;
	text-align: center;
}

.use_body dl dt {
	padding: 5px 0;
	font-size: 12px;
	border: #fff 1px solid;
	line-height: 1;
}

.use_body dl dd {
	font-size: 28px;
	line-height: 1;
	margin-top: 7px;
}

.use_body dl dd small {
	font-size: 18px;
}

.use_body .bnr_double {
	width: 502px;
	float: left;
	margin-right: 20px;
}

.use_body .bnr_double li {
	margin-top: 15px;
}

.use_body .bnr_double li:first-child {
	margin-top: 0;
}

.use_body .bnr_single {
	width: 502px;
	float: left;
}

.use_body .bnr_leisure dd {
	letter-spacing: 0.07em;
}

.use_body .bnr_access dl {
	padding: 85px 313px 96px 25px;
	background-color: #d6c7b2;
}


.use_body .bnr_access dd {
	text-align: center;
	letter-spacing: 0.1em;
}


/* ----------------------------------------
	service page
---------------------------------------- */
.block_section.hotels {
	margin-bottom: 0;
}


/* amenity_body
 * ------------------------- */
.amenity_body {
	overflow: hidden;
	margin: 0 -20.5px;
}

.amenity_body > div {
	width: 289px;
	float: left;
	margin: 0 20.5px;
}

.amenity_body > div .image {
	margin-bottom: 15px;
}

.amenity_body > div dl {
	font-size: 14px;
	line-height: 1.7;
}


/* ----------------------------------------
	access page
---------------------------------------- */
/* access_text */
.access_text {
	font-size: 1.167em;
	font-weight: bold;
	margin-bottom: 17px;
}

.access_text dd {
	font-weight: normal;
}

/* map_body
 * ------------------------- */
.map_body {
	overflow: hidden;
}

.map_body > div {
	width: 49%;
}

/* btn_tomap */
.btn_tomap {
	text-align: right;
	margin-top: 20px;
}

.btn_tomap a {
	display: inline-block;
	width: 176px;
}

/* block_access
 * ------------------------- */
.block_access {
	margin-top: 80px;
}

.block_access .image_train .image {
	position: relative;
	width: 100%;
	height: 378px;
	border: #c9caca 1px solid;
}

.block_access .image_train .image img {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}

.block_access .image_train ul {
	margin-top: 15px;
	font-size: 1.167em;
}

.block_access .image_train ul li {
	padding-left: 1em;
	text-indent: -1em;
}

.block_access .image_route {
	position: relative;
	height: 490px;
	border: #c9caca 1px solid;
}

.block_access .image_route img {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}

.block_access .access_body {
	overflow: hidden;
}

.block_access .access_body ul,
.block_access .access_body dl {
	width: 49%;
}

.block_access .access_body .info_car {
	font-size: 1.167em;
}

.block_access .access_body .info_car li {
	padding-left: 1em;
	text-indent: -1em;
}

.block_access .access_body .info_parking {
	border: #ba9576 1px solid;
}

.block_access .access_body .info_parking dt {
	color: #977055;
	background: #f8f4f2;
	padding-left: 13px;
	line-height: 39px;
	border-bottom: #ba9576 1px solid;
}

.block_access .access_body .info_parking dd {
	padding: 0 15px;
	font-size: 1.167em;
	line-height: 1.75;
}

.block_access .access_body .info_parking dd p {
	margin: 20px 0;
}

.block_access .access_body .info_parking dd a {
	color: #ba957b;
	text-decoration: underline;
}

.block_access .access_body .info_parking dd a:before {
	position: relative;
	top: 4px;
	margin-right: 5px;
}

.block_access .access_body .info_parking dd a:hover {
	text-decoration: none;
}

.block_access .access_body .info_parking dd small {
	font-size: 0.857em;
}

/* map_access */
.map_access {
	width: 100%;
	height: 400px;
	border: 1px #c8c9c9 solid;
	text-align: center;
}

/* block_columns access_columns
 * ------------------------- */
.block_columns.access_columns .icon_head {
	position: relative;
}

.block_columns.access_columns .icon_head img {
	position: absolute;
	top: 50%;
	left: 10px;
	margin-top: -15px;
}

.block_columns.access_columns .box_column {
	margin-bottom: 60px;
}

.block_columns.access_columns.yodoyabashi .box_column,
.block_columns.access_columns.kyoto .box_column {
	height: 280px;
}

.block_columns.access_columns .column_inner {
	position: relative;
	min-height: 39px;
}

.block_columns.access_columns .column_inner p {
	padding-bottom: 55px;
}

.block_columns.access_columns p.address {
	margin-top: 15px;
	padding-bottom: 0;
}

.block_columns.access_columns .column_inner .btns {
	position: absolute;
	left: 0;
	bottom: 0;
	margin: 0 -5px;
	overflow: hidden;
}

.block_columns.access_columns .column_inner .btns li {
	width: 152px;
	float: left;
	margin: 0 5px;
}


/* ----------------------------------------
	plan page
---------------------------------------- */
/* plan_detail
 * ------------------------- */
.plan_detail {
	text-align: center;
	margin: 30px 0;
}

/* block_plan_outer
 * ------------------------- */
.block_plan_outer {
	margin-top: 40px;
}

/* block_plan
 * ------------------------- */
.block_plan {
	margin-top: -168px;
	padding-top: 168px;
}

.block_plan .title {
	color: #fff;
	font-size: 1.333em;
	width: 100%;
	display: table;
	line-height: 40px;
	background: #ba957b;
}

.block_plan .title span {
	font-size: 1.125em;
	display: table-cell;
	vertical-align: middle;
	width: 145px;
	padding-left: 45px;
	background: #a37a60;
	position: relative;
}

.block_plan .title span:before {
	position: absolute;
	top: 0;
	left: 0;
}

.block_plan .title small {
	display: inline-block;
	margin-left: 10px;
}

.block_plan .plan_body {
	padding: 20px;
	border: #dbdbdb 1px solid;
	border-top: none;
	overflow: hidden;
}

.block_plan .plan_body .plan_image {
	width: 300px;
	float: left;
	margin-right: 35px;
}

.block_plan .plan_body .plan_image .image {
	text-align: center;
	margin-bottom: 10px;
}

.block_plan .plan_body .plan_toolchip {
	letter-spacing: -0.4em;
	margin-right: -12px;
}

.block_plan .plan_body .plan_toolchip li {
	width: 40px;
	display: inline-block;
	letter-spacing: normal;
	vertical-align: top;
	margin: 10px 12px 0 0;
	cursor: pointer;
	position: relative;
}

.block_plan .plan_body .plan_toolchip li .blln_toolchip {
	text-align: center;
	padding: 15px 10px;
	top: -55px;
}

.block_plan .plan_body .plan_text {
	width: 647px;
	float: left;
}

.block_plan .plan_body .plan_text > p {
	font-size: 1.083em;
	font-weight: bold;
	letter-spacing: -0.03em;
	margin-top: 20px;
}

.block_plan .plan_body .plan_text > p:first-child {
	margin-top: 0;
}

.block_plan .plan_body .plan_text table {
	width: 100%;
	margin-top: 25px;
	border-top: #ba957b 1px solid;
	border-left: #ba957b 1px solid;
}

.block_plan .plan_body .plan_text table th {
	width: 158px;
	font-weight: bold;
	padding: 8px 10px 6px 18px;
	color: #977055;
	background: #f8f4f2;
	border-right: #ba957b 1px solid;
	border-bottom: #ba957b 1px solid;
}

.block_plan .plan_body .plan_text table td {
	font-size: 1.167em;
	padding: 8px 10px 6px 18px;
	border-right: #ba957b 1px solid;
	border-bottom: #ba957b 1px solid;
}

/* btn_planlist */
.btn_planlist {
	width: 472px;
	margin: 50px auto 0;
}

.btn_planlist a {
	font-size: 1.5em;
	padding: 17px 0 15px;
}


/* ----------------------------------------
	room page
---------------------------------------- */
/* anchor_btn
 * ------------------------- */
.anchor_btn {
	margin-bottom: 45px;
}

/* block_room
 * ------------------------- */
.block_room {
	margin-top: 20px;
}

.block_room .title {
	color: #fff;
	font-size: 1.5em;
	text-align: center;
	line-height: 34px;
	background: #ba957b;
}

.block_room .room_body {
	overflow: hidden;
	border: #dbdbdb 1px solid;
	border-top: none;
	padding: 20px 30px 20px 20px;
}

.block_room .room_body.large {
	padding: 20px 19px;
}

.block_room .room_body .image {
	position: relative;
	width: 300px;
	float: left;
	margin-right: 35px;
}

.block_room .room_body.large .image {
	width: 584px;
	margin-right: 16px;
}

.block_room .room_body.large .image .text {
margin-top: 10px;
font-size: 14px;
font-weight: bold;
}

.block_room .room_body .image li {
	display: none;
}

.block_room .room_body .image li:first-child {
	display: block;
}

.block_room .room_body .room_text {
	width: 562px;
	float: right;
}

.block_room .room_body.large .room_text {
width: 310px;
padding-top: 0;
}

.block_room .room_body.large .room_text .floor_plan {
margin-bottom: 15px;
padding: 19px;
border: #dbdbdb 1px solid;
border-top-style: none;
}

.block_room .room_body .room_text .text {
	font-size: 1.167em;
	font-weight: bold;
	letter-spacing: -0.03em;
	margin-bottom: 15px;
}

.block_room .room_body .room_text table {
	width: 100%;
	border-top: #ba957b 1px solid;
	border-left: #ba957b 1px solid;
}

.block_room .room_body .room_text table th {
	width: 90px;
	text-align: center;
	color: #977055;
	font-weight: bold;
	background: #f8f4f2;
	border-right: #ba957b 1px solid;
	border-bottom: #ba957b 1px solid;
	padding: 10px 0 8px;
}

.block_room .room_body .room_text table td {
	font-size: 1.167em;
	border-right: #ba957b 1px solid;
	border-bottom: #ba957b 1px solid;
	padding: 10px 10px 8px 17px;
}

.block_room .room_body .room_text table .tablecell_03,
.block_room .room_body .room_text table .tablecell_04 {
	width: 200px;
}

.block_room .room_body .room_text .alert {
	margin: 12px 0 0;
	color: #d07a7d;
}

/* room_item_body
 * ------------------------- */
.room_item_body {
	overflow: hidden;
	margin: 0 -20.5px;
}

.room_item_body dl {
	width: 289px;
	float: left;
	margin: 0 20.5px;
	position: relative;
}

.room_item_body dt {
	color: #977055;
	font-size: 1.333em;
	text-align: center;
	margin: 190px 0 10px;
}

.room_item_body .image {
	width: 314px;
	position: absolute;
	top: 0;
	left: 0;
}

.room_item_body .text {
	font-size: 1.167em;
	letter-spacing: -0.03em;
}

/* room_item_list
 * ------------------------- */
.room_item_list {
	overflow: hidden;
	margin: 0 -20px;
}

.room_item_list.flex {
display: flex;
flex-wrap: wrap;
}

.room_item_list li {
	width: 207px;
	float: left;
	margin: 45px 20px 0;
}

.room_item_list dl {
	position: relative;
}

.room_item_list dl dt {
	height: 3em;
	color: #977055;
	font-size: 1.333em;
	text-align: center;
	letter-spacing: -0.07em;
	padding-top: 140px;
}

.room_item_list.flex dl dt {
min-height: 3em;
height: auto;
}

.room_item_list dl dd {
	width: 226px;
	position: absolute;
	top: 0;
	left: 0;
}

/* room_detail
 * ------------------------- */
.room_detail table {
	width: 100%;
	border-top: #ba957b 1px solid;
	border-left: #ba957b 1px solid;
}

.room_detail table th {
	width: 184px;
	padding-left: 16px;
	color: #977055;
	font-weight: bold;
	vertical-align: middle;
	border-right: #ba957b 1px solid;
	border-bottom: #ba957b 1px solid;
	background: #f8f4f2;
}

.room_detail table td {
	font-size: 1.167em;
	padding: 15px 10px 10px 20px;
	border-right: #ba957b 1px solid;
	border-bottom: #ba957b 1px solid;
}

.room_detail table td div {
	margin-top: 12px;
}

.room_detail table td div:first-child {
	margin-top: 0;
}

.room_detail table td span {
	display: block;
	margin-top: 12px;
}


/* ----------------------------------------
	contact page
---------------------------------------- */
/* hotels_contact_head
 * ------------------------- */
.hotels_contact_head {
	width: 960px;
	margin: 0 auto 45px;
}

.hotels_contact_head > p {
	font-size: 1.167em;
	margin-bottom: 20px;
}

.hotels_contact_head h2 {
	font-size: 1.167em;
	line-height: 34px;
}

.hotels_contact_head dl {
	box-sizing: border-box;
	width: 100%;
	display: table;
	border-left: #ba957b 1px solid;
}

.hotels_contact_head dl dt {
	width: 243px;
	color: #977055;
	font-weight: bold;
	vertical-align: middle;
	display: table-cell;
	border-right: #ba957b 1px solid;
	border-bottom: #ba957b 1px solid;
	padding-left: 20px;
}

.hotels_contact_head dl dd {
	font-size: 1.167em;
	line-height: 1.7;
	border-right: #ba957b 1px solid;
	border-bottom: #ba957b 1px solid;
	padding: 13px 10px 11px 20px;
}

/* contact_title */
.contact_title {
	color: #fff;
	font-size: 1.333em;
	background: #ba957b;
	line-height: 40px;
	padding-left: 15px;
}

/* block_contact
 * ------------------------- */
.contact_body .block_contact:first-child {
	margin-top: 0;
}

.block_contact {
	margin-top: 75px;
	overflow: hidden;
}

.block_contact h3 {
	margin-bottom: 12px;
}

.block_contact .contact_inner {
	padding: 0 20px;
}

.block_contact .faq_block {
	padding: 12px 0 10px;
	border-bottom: #dadada 1px solid;
}

.block_contact .faq_block .question_text {
	position: relative;
	color: #ba957b;
	font-size: 1.167em;
	cursor: pointer;
}

.block_contact .faq_block .question_text:before {
	content: "";
	display: table-cell;
	width: 46px;
	height: 46px;
	background: url("https://www.granvia-osaka.jp/rakuten/images/common/icon_q.png") no-repeat 0 0;
	vertical-align: middle;
}

.block_contact .faq_block .question_text:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 12px;
	width: 21px;
	height: 11px;
	margin-top: -5.5px;
	background: url("https://www.granvia-osaka.jp/rakuten/images/common/btn_accordion_sprite.png") no-repeat 0 0;
}

.block_contact .faq_block .question_text.on:after {
	background-position: 0 100%;
}

.block_contact .faq_block .question_text span {
	display: table-cell;
	padding: 0 56px 0 15px ;
	font-weight: bold;
	vertical-align: middle;
}

.block_contact .faq_block .answer_text {
	font-size: 1.167em;
}

.block_contact .faq_block .answer_text:before {
	content: "";
	display: table-cell;
	width: 46px;
	height: 46px;
	background: url("https://www.granvia-osaka.jp/rakuten/images/common/icon_a.png") no-repeat 0 0;
	vertical-align: middle;
}

.block_contact .faq_block .answer_text span {
	display: table-cell;
	padding-left: 15px;
	vertical-align: middle;
}

.block_contact .faq_block > div {
	padding: 24px 0 10px;
}


/*----------------------------------------------------
	Breakfast
----------------------------------------------------*/
.bfco{
	width: 950px;
	margin:0px 0px 0px 0px;
}

.bfco p{
	width: 900px;
	margin:20px 25px 20px 25px;
}

.scopy{
	margin:0px 20px 15px 0px;
	display:block;
	font-size:15px;
	color: #6C4C06;
	font-weight:normal;
}


.bfr{
	width: 950px;
	height:180px;
	margin:0px 0px 0px 0px;
	background-image:url(../bf/bf_sbg.jpg);
	background-repeat: no-repeat;
	background-position: left bottom;
}

.bfrl{
	width: 450px;
	float:left;
	padding:0px 0px 0px 200px;
}

.bfrr{
	width: 300px;
	margin:0px 0px 0px 0px;
	float:right;
}

.chef{
	width: 950px;
}

.chef_l{
	width: 180px;
	float:left;
}

.chef_r{
	width: 770px;
	float:left;
}

.chef_r p{
	width: 650px;
	margin:70px 20px 0px 60px;
}

.chef_r p .mcopy{
	margin:0px 0px 0px 0px;
	display:block;
	font-size:16px;
	font-weight:normal;
}


.bf_cont{
	width: 950px;
	margin:50px 0px 0px 0px;
}

.bfl{
	width: 700px;
	margin:0px 0px 0px 0px;
	float:left;
}
.bfl p{
	width: 650px;
	margin:20px 0px 0px 20px;
}

.bfs{
	width: 250px;
	margin:0px 0px 0px 0px;
	float:left;
}



/* ----------------------------------------
	agreement page
---------------------------------------- */
.wrap.agreement {
	padding-top: 30px;
}


/* ----------------------------------------
	ladies page
	---------------------------------------- */
.main_image.lower.ladies_bg {
margin-bottom: 0;
padding-bottom: 30px;
}

.wrap.ladies_bg {
margin-bottom: 0;
padding-bottom: 60px;
}


.block_ladies_floor .ladies_floor_body {
display: flex;
align-items: center;
background: #edd3ac;
}


.block_ladies_floor .ladies_floor_body.reverse {
flex-direction: row-reverse;
}


.block_ladies_amenity {
margin-top: 60px;
}

.block_ladies_amenity .amenity_hdr {
margin-bottom: 30px;
}


.block_ladies_amenity .amenity_body {
display: flex;
flex-wrap: wrap;
margin: 0;
}

.block_ladies_amenity .amenity_body .amenity_box {
float: none;
width: 291px;
margin: 45px 38px 0 0;
}

.block_ladies_amenity .amenity_body .amenity_box:nth-child(1),
.block_ladies_amenity .amenity_body .amenity_box:nth-child(2),
.block_ladies_amenity .amenity_body .amenity_box:nth-child(3) {
margin-top: 0;
}

.block_ladies_amenity .amenity_body .amenity_box:nth-child(3n) {
margin-right: 0;
}

.block_ladies_amenity .amenity_body .amenity_box p {
font-size: 14px;
}

.block_ladies_amenity .amenity_body .amenity_box p.hdr {
margin-bottom: 15px;
color: #977055;
font-size: 18px;
text-align: center;
}

.block_ladies_amenity .amenity_body .amenity_box ul {
list-style: disc;
}

.block_ladies_amenity .amenity_body .amenity_box ul li {
font-size: 14px;
margin-left: 1.5em;
}

