@charset "UTF-8";

/*
Theme Name: 石川県かほく市の料亭・ビジネスホテル河北亭
Description: 石川県かほく市の料亭・ビジネスホテル河北亭さまのWebサイトです。
*/

/**********************************************************************************


	reset


***********************************************************************************/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body { line-height: 1; }
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
/*nav ul { list-style: none; }*/
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}
mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}
del { text-decoration: line-through; }
abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
caption, th { text-align: left; }
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}
input, select { vertical-align:middle; }
input, textarea {
	margin: 0;
	padding: 0;
}
img {
    vertical-align: top;
    font-size: 0;
    line-height: 0;
    max-width: 100%;
	height: auto;
}
a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
img {
	-webkit-transition: 0.6s;
	transition: 0.6s;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

/*** cleafix
*********************************************************************************/
.clearfix, div, ul, dl, ol { zoom: 1; }
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

/*** 初期設定
*********************************************************************************/
html { font-size: 62.5%;/*10px*/ }
body {
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	font-size: 1.6rem;
	-webkit-text-size-adjust: none;
	line-height: 1.6;
	letter-spacing: .05em;
	color: #202020;
	background: #fff;
	min-width: 1200px;
}

/*** link
***********************************************************************************/
a:link,
a:visited,
a:hover,
a:active {
	color: #ba4256;
}


/**********************************************************************************


	header


***********************************************************************************/
.header {
	height: 101px;
	position: relative;
	border-bottom: 1px solid #c3ba8a;
}

.nav-button { display: none; }

.nav,
.nav-list01 ul,
.nav-list02 ul {
	display: flex;
	height: 100px;
	position: relative;
}
.nav-logo { order: 2; }
.nav-list01 { order: 1; }
.nav-list02 { order: 3; }
.nav a {
	text-decoration: none;
}
.nav-list01 li,
.nav-list02 li {
	display: block;
}
.nav-item { width: 100px; }
.nav-logo { width: 280px; }
.nav-wrap {
	width: 880px;
	height: 100px;
	margin: 0 auto;
	display: flex;
	align-items: center;
}
.nav-wrap.open { display: block; }
.nav-wrap.close { display: none; }


/** media Queries
===================================================================================*/
@media only screen and (min-width: 1025px) {

.nav-wrap {
	display: block !important;
}

}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {
body {

	min-width: 100%;
}
.logo {
	position: absolute;
	top: .5em;
	left: 1em;
}
.nav-button {
    display: block;
    cursor: pointer;
}
.nav,
.nav-list01 ul,
.nav-list02 ul {
	flex-direction: column;
}
.nav-list01 ul,
.nav-list02 ul {
	flex-direction: column-reverse;
}
.nav-wrap {
	flex-direction: column;
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    z-index: 10;
    background-color: rgba(169,145,21,.875);
    width: 100%;
    height: 100%;
}
.nav-wrap .nav {
  	padding-top: 100px;
    height: 100%;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
}
.nav-list01 ul,
.nav-list02 ul {
	height: auto;
}
.nav-logo a { display: none; }
.nav-list01 { order: 2; background: }
.nav-list02 { order: 1; background: }
.nav-list01 li,
.nav-list02 li {
  	width: 100%;
    display: block;
}
.nav-list01 li,
.nav-list02 li {
	padding: 1em;
}
.nav-list01 li a,
.nav-list02 li a {
	display: block;
    color: #fff;
    font-size: 18px;
}
.nav-list01 li a::before,
.nav-list02 li a::before {
	content: attr(data-label);
}
.nav-list01 li img,
.nav-list02 li img {
	display:none;
}

/***--- メニューボタン ---****/
.nav-button,
.nav-button span {
    display: inline-block;
    transition: all 0.4s;
}
.nav-button {
    z-index: 20;
    position: absolute;
    right: 1em;
    top: 1em;
    width: 40px;
    height: 36px;
}
.nav-button span {
    position: absolute;
    right: 0;
    width: 100%;
    height: 4px;
    background-color: #000;
    border-radius: 4px;
}

.nav-button span:nth-of-type(1) { top: 0; }
.nav-button span:nth-of-type(2) { top: 16px; }
.nav-button span:nth-of-type(3) { bottom: 0; }

.nav-button.active span:nth-of-type(1) {
    -webkit-transform: translateY(16px) rotate(-45deg);
    transform: translateY(16px) rotate(-45deg);
}
.nav-button.active span:nth-of-type(2) {
    opacity: 0;
}
.nav-button.active span:nth-of-type(3) {
    -webkit-transform: translateY(-16px) rotate(45deg);
    transform: translateY(-16px) rotate(45deg);
}
}


/**********************************************************************************


	mainVisual/mainTitle


***********************************************************************************/
.main-visual {
	position: relative;
	height: 480px;
	max-height: 480px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.cuisine .main-visual {
    background: url("cuisine/bg_main-visual.jpg") no-repeat center center;
	background-size: cover;
}
.rooms .main-visual {
    background: url("rooms/bg_main-visual.jpg") no-repeat center center;
	background-size: cover;
}
.facilities .main-visual {
    background: url("facilities/bg_main-visual.jpg") no-repeat center center;
	background-size: cover;
}
.access .main-visual {
    background: url("access/bg_main-visual.jpg") no-repeat center center;
	background-size: cover;
}
.reservation .main-visual {
    background: url("reservation/bg_main-visual.jpg") no-repeat center center;
	background-size: cover;
}
.privacy .main-visual {
    background: url("privacy/bg_main-visual.jpg") no-repeat center center;
	background-size: cover;
}
.news .main-visual {
    background: url("news/bg_main-visual.jpg") no-repeat center center;
	background-size: cover;
}
.pagetitle {
	width: 300px;
	height: 80px;
	font-size: 3.2rem;
	color: #fff;
	text-shadow: 1px 1px 2px rgba(0,0,0,.8);
	background: rgba(169,145,21,.9);
	border: 2px solid #a99115;
    outline: 1px solid #c7ab19;
    outline-offset: -8px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.privacy .pagetitle {
	font-size: 2.4rem;
}
#movie {
	width: 100%;
	height: 39vw;
    min-width: 1200px;
	position: relative;
	overflow: hidden;
	/*display: flexbox;*/
}
#movie video {
	width: 100%;
	height: auto;
	position: absolute; top: 0; bottom: 0; left: 50%;
	z-index: 1;
	vertical-align: middle;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}
.header-sub {
	width: 1120px;
	height: 35px;
	margin: 0 auto;
	position: absolute;
	z-index: 2;
	top: 30px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.header-sub__item {
	height: 50px;
	display: flex;
	justify-content: flex-end;
}
.header-sub__item li:first-of-type { margin-right: 5px; }


/** media Queries
===================================================================================*/
@media only screen and (orientation:portrait) {

#movie {
	  /*height: 100vh;*/
	  background: url(movie/top.jpg) no-repeat center;
	  background-size: cover;
}


}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.header-sub_inner {
	width: 100%;
	min-width: 100%;
	padding: 0 20px;
}
#movie {
	width: 100%;
	min-width: 100%;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 768px) {

.header-sub__item {
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.header-sub__item--privacy { display: none; }
	.header-sub__item--reserv { display: none; }

.main-visual {
	height: 320px;
	max-height: 320px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 414px) {

.header-sub__item li { font-size: 1.4rem; }
.header-sub__item li span { font-size: 1.8rem; }

}

/**********************************************************************************


	contents


***********************************************************************************/
main { display: block; /* IE対策 */ }
.main {
	width: 100%;
	min-width: 1200px;
	margin: 0 auto;
}
.header__inner {
	width: 1200px;
	margin: 0 auto;
}
.contents__inner {
	width: 1120px;
	margin: 0 auto;
	padding: 64px 0;
}

.pc { display: block; }
.sp { display: none; }

.bg-gray { background: #f6f5f3; }
.bg-yellow { background: url(common/bg_yellow.png) repeat; }

.section-title__large {
	text-align: center;
	font-size: 3.6rem;
	margin-bottom: 64px;
}
.section-title__large span {
	display: block;
	font-size: 2.0rem;
	color: #a99115;
}
.section-title__midium {
	font-size: 2.8rem;
	margin-bottom: 24px;
}
.section-title__midium span {
	display: inline-block;
	font-size: 2.0rem;
	color: #a99115;
	margin-left: .5em;
}
.section__lead {
	text-align: center;
	margin-bottom: 48px;
}
.moji-vertical {
	-ms-writing-mode: tb-rl; /* IE対応 */
	writing-mode: vertical-rl;
}
.plan__bnr { text-align: center; }


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.main {
	width: 100%;
	min-width: 100%;
}
.header__inner {
	width: 100%;
	min-width: 100%;
}
.contents__inner {
	width: 100%;
	min-width: 100%;
	padding: 64px 20px;
}

.pc { display: none; }
.sp { display: block; }

.section__lead { text-align: left; }
.moji-vertical {
	-ms-writing-mode: lr-tb;
	writing-mode: horizontal-tb;
}
}


/**********************************************************************************


	1. トップページ / home


***********************************************************************************/
.home #page {
	display: flex;
	flex-direction: column;
}

.greeting .contents__inner {
	width: 1120px;
	margin: 0 auto;
	padding: 64px 0;
	display: flex;
	justify-content: space-between;
	background: url(images/bg_greeting.png) center bottom no-repeat;
}
.greeting__txt {
	width: calc( 320 / 1120 * 100%);
	display: flex;
	flex-direction: row-reverse;
}
.greeting__txt h2 {
	margin-left: 48px;
}
.greeting__txt--txt {
	display: flex;
	flex-direction: row-reverse;
	line-height: 2;
}
.greeting__photo {
	width: calc( 760 / 1120 * 100%);
	position: relative;
}
.greeting__pic {
	box-shadow: 0 3px 3px rgba(0,0,0,0.2);
}
.greeting__deco {
	position: absolute;
	z-index: 1;
	right: 10px;
	bottom: -65px;
}
.appeal h2 { margin-bottom: 0; }
.appeal__list {
	display: flex;
	justify-content: space-between;
}
.appeal__item { width: calc( (100% - 48px) / 3 ); }
.appeal__item:nth-of-type(2) { margin-top: 120px; }
.appeal__title { margin-bottom: 24px; }
.appeal__desc { text-align: center; }
.appeal__desc a {
	color: #202020;
	text-decoration: none;
}
.appeal__desc a:hover { text-decoration: underline; }
.banquet { padding: 64px 0; }
.banquet__item {
	display: flex;
	margin-bottom: 64px;
}
.banquet__photo { width: 60%; }
.banquet__photo img { width: 100%; }
.banquet__desc {
	width: 40%;
	padding: 0 48px;
}
.banquet__desc h3 {
	font-size: 2.8rem;
	margin: 0 0 24px 0;
}
.banquet__desc h3 span {
	font-size: 2.8rem;
	color: #202020;
	padding-left: 2em;
}
.banquet-tel {
	margin-top: 1em;
	padding-top: 1em;
	border-top: 1px solid #ccc;
}
.banquet-tel h3 {
	font-size: 1.8rem;
	margin-bottom: 8px;
}
.banquet .plan__bnr {
	padding: 0 20px;
}
.plan-body { margin-bottom: 48px; }
.plan-body ul {
	display: flex;
	justify-content: space-between;
}
.plan-body li { width: calc( (100% - 72px) / 4 ); }
.plan-notice {
	width: 960px;
	margin: 0 auto;
	padding: 2em;
	background: url(images/bg_plan-notice.png) right 10px bottom 10px no-repeat #f6f3de;
	box-shadow: 0 3px 3px rgba(0,0,0,0.2);
}
.plan-notice li {
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 5px;
}
.searchWrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1120pxx;
	padding: 15px 0;
	margin-bottom: 64px;
}
.search {
	width: 1090px;
	background: url(common/bg_flower.png) right bottom no-repeat #fff;
	background-size: contain;
	box-shadow: 0 3px 3px rgba(0,0,0,0.2);
	padding: 20px;
}
.info-area__utility {
	display: flex;
	justify-content: space-between;
}
.info-area__utility h2 { margin-bottom: 8px; }
.utility__news { width: calc( 712 / 1120 * 100%); }
.utility__sns { width: calc( 360 / 1120 * 100%); }

dl.news div {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 2px dotted #ccc;
}
.news div dt{
	width: 20%;
	padding: .9em;
}
.news div dd {
	padding: .9em;
	margin: 0;
	width: 80%;
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

#movie { order: 1; }
.header { oreder: 2; }
.main { order: 3; }

.greeting .contents__inner {
	width: 100%;
	max-width: 100%;
	flex-direction: column;
	padding: 64px 20px;
	background-position: top 120px center;
	background-size: contain;
}
.greeting__txt {
	width: 100%;
	flex-direction: column;
	margin-bottom: 48px;
}
.greeting__txt h2 { margin: 0 0 48px 0; }
.greeting__txt--txt {
	display: flex;
	flex-direction: column;
	line-height: 2;
}
.greeting__photo { width: 100%; }
.greeting__pic {
	box-shadow: 0 3px 3px rgba(0,0,0,0.2);
}
.greeting__deco {
	position: absolute;
	z-index: 1;
	right: 20px;
	bottom: -65px;
}
.appeal__list { flex-direction: column; }
.appeal__item {
	width: 100%;
	margin-bottom: 64px;
	text-align: center;
}
.appeal__item:last-of-type { margin-bottom: 0; }
.appeal__item:nth-of-type(2) { margin-top: 0; }
.appeal__item img { width: 90%; }

.banquet__desc h3 span { padding-left: 0; }
.banquet__item {
	flex-direction: column;
}
.banquet__photo,
.banquet__desc {
	width: 100%;
	padding: 0 20px;
}
.banquet__photo { margin-bottom: 24px; }
.plan-body ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.plan-body li { width: calc( (100% - 48px) / 2 ); }
.plan-notice {
	width: 100%;
}
.searchWrapper {
	width: 100%;
	padding: 20px;
 }
.search {
	width: 100%;
	background: #fff;
	box-shadow: 0 3px 3px rgba(0,0,0,0.2);
	padding: 20px;
}
.info-area__utility {
	flex-direction: column;
}
.utility__news,
.utility__sns {
	width: 100%;
}
.utility__news { margin-bottom: 64px; }
dl.news div { flex-direction: column; }
.news div dt{
	width: 100%;
	padding-botom: 0;
}
.news div dd {
	width: 100%;
	padding-top: 0;
}
}


/**********************************************************************************


	2. お料理 / cuisine


***********************************************************************************/
.cuisine__lead .contents__inner {
	display: flex;
	justify-content: space-between;
}
.cuisine__lead--txt {
	width: calc( 360 / 1120 * 100%);
	display: flex;
	order: 2;
	justify-content: flex-end;
}
.cuisine__lead--txt h2 {
	font-size: 3.6rem;
	order: 2;
	margin-left: 48px;
}
.cuisine__lead--txt--txt {
	line-height: 2;
	padding-top: 3em;
}
.cuisine__lead--photo {
	width: calc( 700 / 1120 * 100%);
	order: 1;
	position: relative;
}
.kodawari__image {
	position: absolute;
	z-index: 1;
	bottom: -60px;
	right: -120px;
	width: 90%;
}
.cuisine_movie {
	max-width: 800px;
	width: 100%;
	margin: 80px auto 50px auto;
}
.cuisine_movie video {
	width: 100%;
}
.course__list { padding: 64px 0; }
.course__item {
	display: flex;
	margin-bottom: 96px;
}
.course__item:nth-of-type(2n) {
	display: flex;
	flex-direction: row-reverse;
}
.course__photo { width: 60%; }
.course__photo img { width: 100%; }
.course__desc {
	width: 40%;
	padding: 48px 48px 0 48px;
}
.course__desc h3 {
	font-size: 2.8rem;
	margin: 0 0 24px -.5em;
}
.course__desc h3 span {
	font-size: 2.4rem;
}
.course__detail {
	display: flex;
	margin-top: 1em;
	padding-top: 1em;
	border-top: 1px solid #ccc;
}
.course__detail dt {
	width: 110px;
	font-weight: bold;
}
.course-notice__wrapper {
	width: 1000px;
	margin: 0 auto;
}
.course-notice {
    padding: 1.5em 1em;
    background: white;
    border-top: solid 5px #ba4256;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}
.catering__list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.catering__item {
	width: calc( (100% - 48px) / 2);
}
.catering__desc dt {
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	margin: 24px 0 16px;
	border-bottom: 1px solid #ccc;
}
.catering__desc dd {
	text-align: center;
	font-size: 2.0rem;
}
.irori-cuisine .contents__inner {
	background: url(cuisine/bg_irori-restaurant.png) center top no-repeat;
	background-size: contain;
}
.irori__list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.irori__item {
	width: calc( (100% - 3px) / 3);
	margin-bottom:1.5px;
}
.breakfast__desc .section__lead { text-align: left; }
.breakfast__item {
	display: flex;
	padding: 64px 0;
}
.breakfast__photo { width: 60%; }
.breakfast__photo img { width: 100%; }
.breakfast__desc {
	width: 40%;
	padding: 48px 48px 0 48px;
}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.cuisine__lead .contents__inner {
	flex-direction: column-reverse;
}
.cuisine__lead--txt,
.cuisine__lead--photo {
	width: 100%;
}
.cuisine__lead--txt {
	flex-direction: column-reverse;
	margin-bottom: 48px;
}
.cuisine__lead--txt h2 {
	font-size: 3.2rem;
	margin: 0 0 48px 0;
	text-align: center;
}
.cuisine__lead--txt--txt { padding-top: 0; }
.cuisine__lead--photo { text-align: center; }
.kodawari__image {
	position: absolute;
	z-index: 1;
	bottom: -120px;
	right: 0;
	width: 70%;
}
.course__item,
.course__item:nth-of-type(2n) {
	flex-direction: column;
}
.course__photo,
.course__desc {
	width: 100%;
	padding: 0 20px;
}
.course__photo { margin-bottom: 24px; }
.course-notice__wrapper {
	width: 100%;
	min-width: 100%;
	padding: 0 20px;
}
.catering__list {
	flex-direction: column;
}
.catering__item {
	width: 100%;
	text-align: center;
}
.catering__item:first-of-type {
	margin-bottom: 48px;
}
.irori__list {
	flex-wrap: wrap;
}
.irori__item {
	width: calc( (100% - 1px) / 2);
	margin-bottom: 1px;
}
.breakfast__item {
	flex-direction: column;
}
.breakfast__photo,
.breakfast__desc {
	width: 100%;
	padding: 0 20px;
}
}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 768px) {

.irori__list {
	flex-direction: column;
}
.irori__item {
	width: 100%;
	margin-bottom: 16px;
}
.irori__item:last-of-type {
	margin-bottom: 0;
}
}

/**********************************************************************************


	3. 客室 / rooms


***********************************************************************************/
.rooms__lead .contents__inner {
	display: flex;
	justify-content: space-between;
}
.rooms__lead--txt {
	width: 50%;
	display: flex;
	order: 2;
	justify-content: flex-end;
}
.rooms__lead--txt h2 {
	font-size: 3.6rem;
	order: 2;
	margin-left: 48px;
}
.indent-1 { padding-top: 1em; }
.indent-2 { padding-top: 2em; }

.rooms__lead--txt .section-title__large { text-align: left; }
.rooms__lead--txt--txt {
	line-height: 2;
	padding-top: 5em;
}
.rooms__lead--photo {
	width: 50%;
	order: 1;
}
.rooms__list {
	padding: 64px 0;
}
.rooms__item {
	display: flex;
	margin-bottom: 96px;
}
.rooms__item:nth-of-type(2n) {
	display: flex;
	flex-direction: row-reverse;
}
.rooms__photo { width: 60%; }
.rooms__photo img { width: 100%; }
.rooms__desc {
	width: 40%;
	padding: 48px 48px 0 48px;
}
.rooms__desc .section__lead {
	text-align: left;
}
.rooms__detail div {
	display: flex;
	padding: 1em 0;
	border-bottom: 1px solid #ccc;
}
.rooms__detail dt {
	width: 110px;
	font-weight: bold;
}
.common-amenities__wrapper {
	width: 1120px;
	margin: 0 auto 64px;
}
.common-amenities {
	display:flex;
	flex-wrap: wrap;
	border: 1px solid #ccc;
	border-top: none;
}
.common-amenities dt {
	background: #F5F1DC;
	width: 20%;
	padding: 10px;
	box-sizing: border-box;
	border-top: 1px solid #ccc;
}
.common-amenities dd {
	padding: 10px;
	margin: 0;
	border-left: 1px solid #ccc;
	border-top: 1px solid #ccc;
	width: 80%;
	background: #fff;
}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.rooms__lead .contents__inner {
	flex-direction: column-reverse;
}
.rooms__lead--txt,
.rooms__lead--photo {
	width: 100%;
}
.rooms__lead--txt {
	flex-direction: column-reverse;
}
.rooms__lead--txt h2 {
	font-size: 3.2rem;
	margin: 0 0 48px 0;
	text-align: center;
}
.rooms__lead--txt--txt { padding-top: 0; }
.rooms__lead--photo { text-align: center; }

.rooms__item,
.rooms__item:nth-of-type(2n) {
	flex-direction: column;
}
.rooms__photo,
.rooms__desc {
	width: 100%;
	padding: 0 20px;
}
.rooms__photo { margin-bottom: 24px; }
.common-amenities__wrapper {
	width: 100%;
	min-width: 100%;
	padding: 0 20px;
}
.common-amenities {
    flex-flow: column nowrap;
}
.common-amenities dt,
.common-amenities dd{
    width: 100%;
}
.common-amenities dd{
    border-left: none;
}
}


/**********************************************************************************


	4. 施設 / facilities


***********************************************************************************/
.facilities__lead .contents__inner {
	display: flex;
	justify-content: space-between;
}
.facilities__lead--txt {
	width: 50%;
	display: flex;
	order: 2;
	justify-content: flex-end;
}
.facilities__lead--txt h2 {
	font-size: 3.6rem;
	order: 2;
	margin-left: 48px;
text-orientation: upright;}
.facilities__lead--txt h2 span.indent-2 { padding-top: 2em; }

.facilities__lead--txt--txt {
	line-height: 2;
	padding-top: 5em;
}
.facilities__lead--photo {
	width: 50%;
	order: 1;
}
.facilities__list { padding: 64px 0; }
.facilities__item {
	display: flex;
	margin-bottom: 96px;
}
.facilities__item:nth-of-type(2n) {
	display: flex;
	flex-direction: row-reverse;
}
.facilities__photo { width: 60%; }
.facilities__photo img { width: 100%; }
.facilities__desc {
	width: 40%;
	padding: 48px 48px 0 48px;
}
.dining .facilities__desc { padding: 0 48px 0 48px; }
.facilities__desc .section__lead {
	text-align: left;
}
.number-of-people {
	font-size: 1.8rem;
	padding-bottom: 16px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 16px;
}
.irori__detail div {
	display: flex;
	padding: 1em 0;
	border-bottom: 1px solid #ccc;
}
.irori__detail dt {
	width: 130px;
	font-weight: bold;
}
.public-space__list {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
.public-space__item {
	width: calc( (100% - 48px) / 3);
	margin-bottom: 48px;
}
.public-space__desc dt {
	text-align: center;
	font-size: 2.4rem;
	margin: 24px 0 16px;
	border-bottom: 1px solid #ccc;
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.facilities__lead .contents__inner {
	flex-direction: column-reverse;
}
.facilities__lead--txt,
.facilities__lead--photo {
	width: 100%;
}
.facilities__lead--txt {
	flex-direction: column-reverse;
}
.facilities__lead--txt h2 {
	font-size: 3.2rem;
	margin: 0 0 48px 0;
	text-align: center;
}
.facilities__lead--txt--txt { padding-top: 0; }
.facilities__lead--photo { text-align: center; }
.facilities__item,
.facilities__item:nth-of-type(2n) {
	flex-direction: column;
}
.facilities__photo,
.facilities__desc {
	width: 100%;
	padding: 0 20px;
}
.facilities__photo { margin-bottom: 24px; }
.public-space__list {
	flex-direction: column;
}
.public-space__item {
	width: 100%;
	text-align: center;
}
}


/**********************************************************************************


	5. アクセス / access


***********************************************************************************/
.googlemap { margin-bottom: 24px; }
.googlemap {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}
.googlemap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
.map__address h3 {
	font-size: 1.8rem;
	padding-bottom: 16px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 16px;
}
.map__address h3 span {
	font-size: 1.6rem;
	margin-right: .5em;
}
.route__detail dt {
	font-size: 2.8rem;
	font-weight: bold;
	margin-bottom: 12px;
}
.route__detail div:not(:last-of-type) {
	margin-bottom: 64px;
}
.route__detail span { margin-left: .3em; }
.sightseeing__list {
	display:flex;
	flex-wrap: wrap;
	border: 1px solid #ccc;
	border-top: none;
	margin-bottom: 64px;
}
.sightseeing__name {
	background: #F5F1DC;
	width: 30%;
	padding: 10px;
	border-top: 1px solid #ccc;
}
.sightseeing__desc {
	padding: 10px;
	margin: 0;
	border-left: 1px solid #ccc;
	border-top: 1px solid #ccc;
	width: 70%;
	background: #fff;
}
.useful-link {
	width: 960px;
	margin: 0 auto 64px;
}
.useful-link h3 {
	width: 160px;
	padding: .5em .5em .2em .5em;
	font-size: 2rem;
	color: #fff;
	background: #ba4256;
}
.useful-link__detail {
    padding: 1.5em 1em;
    background: white;
    border: solid 5px #ba4256;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}
.useful-link__detail div {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 1em;
}
.useful-link__detail dt {
	width: 150px;
	margin-right: 1em;
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.sightseeing__list {
    flex-flow: column nowrap;
  }
.sightseeing__name,
.sightseeing__desc {
    width: 100%;
}
.sightseeing__desc{
    border-left: none;
}
.useful-link {
	width: 100%;
	padding: 0 20px;
}
.useful-link__detail {
    padding: 1.5em 1em;
    background: white;
    border: solid 5px #ba4256;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}
.useful-link h3 {
	width: 160px;
	padding: .5em;
	font-size: 2rem;
	color: #fff;
	background: #ba4256;
}
}


/**********************************************************************************


	6. ご予約 / reservation


***********************************************************************************/
.fee__detail { margin-bottom: 96px; }
.fee__detail table {
	width: 100%;
	margin-bottom: 16px;
}
.fee__detail caption {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 16px;
}
.fee__detail th {
	background: #A99115;
	border: solid 1px #ccc;
	color: #fff;
	padding: 10px;
}
.th-title { width: 20%; }
.th-detail { width: 40%; }
.th-fee { width: 40%; }
.fee__detail td {
	border: solid 1px #ccc;
	padding: 10px;
}
.fee__detail td:first-child {
	background: #F5F1DC;
}
.cancel-policy { margin-bottom: 64px; }
.cancel-policy__list {
	display: flex;
	border: 1px solid #ccc;
	margin-bottom: 16px;
}
.cancel-policy__item {
	width: calc( 100% / 5 );
}
.cancel-policy__item dt {
	border-bottom: 1px solid #ccc;
	background: #F5F1DC;
}
.cancel-policy__item dt,
.cancel-policy__item dd {
	padding: 10px;
	border-right: 1px solid #ccc;
}
.cancel-policy__item:last-of-type dt,
.cancel-policy__item:last-of-type dd {
	border-right: none;
}
.contact-tel { margin-bottom: 96px; }
.contact-tel h3 span,
.contact-form h3 span {
	margin-left: .3em;
}
.contact-address { margin-top: 1em; }
.contact-address h4 {
	font-size: 1.8rem;
	margin-bottom: 8px;
}

/***** フォーム *****/
.contact-form .section__lead { text-align: left; }
.required {
	color: #ba4256;
}
dl.form { margin-bottom: 2rem; }
dl.form div {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}
dl.form div dt,
dl.form div dd {
	padding: 1.5rem;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0,0,0,0.2);
}
dl.form div dt { width: calc(260 / 940 * 100%); }
dl.form div dd { width: calc(670 / 940 * 100%); }
input, select, textarea {
	max-width: 99%;
	padding: 1rem;
	margin: 0;
	font-size: 1.6rem;
}
input[type="radio"],
input[type="checkbox"]{
	position: relative;
	top: -.1em;
	margin-right: .2em;
}
input[type="radio"] { margin-right: 5px; }
label.content-item { margin-right: 1.5em; }
label.tel { margin-right: 1em; }
.confirm { text-align: center; }


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.fee__detail { width: 100%; }
.fee__detail .thead { display: none; }
.fee__detail tr { width: 100%; }
.fee__detail td {
    display: block;
    text-align: right;
    width: 100%;
}
.fee__detail td:first-child {
    background: #A99115;
    color: #fff;
    font-weight: bold;
    text-align: center;
}
.fee__detail td:before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    margin-right: 10px;
}

td.plan-A-2,
td.plan-A-3,
td.plan-A-4,
td.plan-B-2,
td.plan-B-3,
td.plan-B-4,
td.plan-C-2,
td.plan-D-2,
td.plan-E-2,
td.plan-E-3,
td.plan-E-4,
td.plan-F-2,
td.plan-F-3,
td.plan-F-4,
td.plan-F-5,
td.plan-F-6 {
  	display: none;
}
tr:nth-of-type(2n) { background: #f4f4f4; }

.cancel-policy__list {
	display: flex;
	flex-direction: column;
}
.cancel-policy__item {
	width: 100%;
	border-bottom: 1px solid #ccc;
}
.cancel-policy__item:last-of-type { border-bottom: none; }
.cancel-policy__item dt,
.cancel-policy__item dd {
	border-right: none;
}
/***** フォーム *****/
dl.form div { flex-flow: column nowrap; }
dl.form div dt,
dl.form div dd{
    width: 100%;
}
dl.form div dt { background: #F5F1DC; }

}

/**********************************************************************************


	7. プライバシーポリシー / privacy


***********************************************************************************/
.privacy-policy .contents__inner {
	width: 960px;
	margin: 0 auto;
}
.privacy__item:not(:last-of-type) {
	margin-bottom: 48px;
}
.privacy__item h2 {
	font-size: 2.4rem;
	margin-bottom: 2.4rem;
}

/**********************************************************************************


	pagetop


***********************************************************************************/
#top {
	width: 50px;
	height: 50px;
	background: #A99115;
	color: #fff;
	position: fixed;
	right: 20px;
	bottom: 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#top a {
	cursor:pointer;
	color: #fff;
}


/**********************************************************************************


	button


***********************************************************************************/
/***----- 基本 -----***/
.button {
	display: inline-block;
	width: 200px;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
}
.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button,
.button::before,
.button::after {
	-webkit-transition: all .3s;
	transition: all .3s;
}

/***----- お問い合わせボタン -----***/
.button_submit {
	width: 470px;
	height: 84px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: none;
	border-radius: 4px;
	margin: 40px auto 0;
	font-size: 2.4rem;
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	cursor: pointer;
}
.button_submit {
	background-color: #fff;
	color: #ba4256;
	border: 2px solid #ba4256;
}
.button_submit:hover {
	background-color: #ba4256;
	color: #fff;
}

/***----- 詳細を見るボタン -----***/
.go-detail {
	width: 200px;
	height: 44px;
	display: flex;
	justify-content: space-between;
	justify-content: center;
	align-items: center;
	margin-top: 1em;
}
.button.go-detail {
	background-color: #fff;
	border: 1px solid #202020;
	color: #202020;
}
.button.go-detail:hover {
	background-color: #202020;
	color: #fff;
}

/***----- 新着情報一覧を見るボタン -----***/
.news-list {
	width: 220px;
	height: 44px;
	display: flex;
	justify-content: space-between;
	justify-content: center;
	align-items: center;
	margin-top: 1em;
	float: right;
}
.button.news-list {
	background-color: #fff;
	border: 1px solid #202020;
	color: #202020;
}
.button.news-list:hover {
	background-color: #202020;
	color: #fff;
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.reserve-plan,
.reserve-tel {
	width: 100%;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 768px) {

.button_submit {
	width: 100%;
}
.reserve-plan span {
	font-size: 1.6rem;
}
.reserve-tel {
	text-align: center;
	display: inline;
	line-height: 1.6;
	padding-top: .8em;
}
.reserve-tel span {
	font-size: 2.2rem;
	display: inline;
}
}


/**********************************************************************************


	bxslider


***********************************************************************************/
body .bx-wrapper {
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	border: none;
	background: transparent;
	margin-bottom: 0;
}
.bx-wrapper .bx-controls-direction a {
	text-indent: 0px;
}

/***----- bxslider中央寄せ -----***/
.bxslider07 img {
	margin: 0 auto;
	display: block;
}

/**********************************************************************************


	footer


***********************************************************************************/
footer {
	min-width: 1200px;
	background: url(common/bg_footer.jpg) center center no-repeat;
  background-size: cover;
}
footer .contents__inner {
	padding: 48px 0;
	display: flex;
	flex-direction: column;
}
.footer__menu {
	display: flex;
	justify-content: center;
	margin-bottom: 48px;
}
.footer__menu li {
    position: relative;
	margin-top: 6px;
	margin-right: 48px;
}
.footer__menu li:last-of-type { margin-right: 0; }
.footer__menu li::after {
	display: block;
	content: '';
	position: absolute;
	top: .55em;
	left: -1em;
	width: 6px;
	height: 6px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.footer__menu li a {
	color: #fff;
	text-decoration: none;
	font-size: 1.4rem;
}
.footer__menu li a:hover { text-decoration: underline; }
.footer__address {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
	font-size: 1.4rem;
}
.footer__logo { margin-bottom: 16px; }
.copy {
	text-align: center;
	height: 30px;
	line-height: 30px;
	font-size: 1.2rem;
	color: #fff;
	background: #000;
}
.liberty img { margin-right: 5px; vertical-align: middle; }

.iv_Number {
    display: block;
    text-align: center;
	letter-spacing:0.14em;
	line-height:125%;
	font-size:14px;
    padding-top: 10px;
    }

.iv_Number span {
	font-size:12px;
	letter-spacing:0.1em;
    }


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

footer {
	width: 100%;
	min-width: 100%;
	height: auto;
}
.footer__menu { display: none; }
.footer__address {
	flex-direction: column;
	text-align: center;
}
.footer__address figure { margin: 0 0 40px 0; }
.footer__link ul {
	flex-direction: column;
	text-align: center;
}
}


/*** attachment
***********************************************************************************/
.indent {
	padding-left: 1em;
	text-indent: -1em;
}
.bold { font-weight: bold; }
.marker {
    background: linear-gradient(transparent 65%, #e8bec5 65%);
}
.shadow { box-shadow: 0 2px 4px rgba(0,0,0,0.3); }
.moji14 { font-size: 1.4rem; }
.moji20 { font-size: 2rem; }
.moji26 {
	font-size: 2.6rem;
	font-weight: bold;
}
.mt05 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt15 { margin-top: 15px; }
.mt20 { margin-top: 20px; }
.mt25 { margin-top: 25px; }
.mt30 { margin-top: 30px; }
.mt35 { margin-top: 35px; }
.mt40 { margin-top: 40px; }
.mt45 { margin-top: 45px; }
.mt50 { margin-top: 50px; }
.mt55 { margin-top: 55px; }
.mt60 { margin-top: 60px; }
.mt65 { margin-top: 65px; }
.mt70 { margin-top: 70px; }
.mt75 { margin-top: 75px; }
.mt80 { margin-top: 80px; }
.mt85 { margin-top: 85px; }
.mt90 { margin-top: 90px; }
.mt95 { margin-top: 95px; }
.mt100 { margin-top: 100px; }
.mb05 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb25 { margin-bottom: 25px; }
.mb30 { margin-bottom: 30px; }
.mb35 { margin-bottom: 35px; }
.mb40 { margin-bottom: 40px; }
.mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }
.mb55 { margin-bottom: 55px; }
.mb60 { margin-bottom: 60px; }
.mb65 { margin-bottom: 65px; }
.mb70 { margin-bottom: 70px; }
.mb100 { margin-bottom: 100px; }

.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }

.header-sub__item--reserv {
	margin-left: 5px;
}
