@charset "utf-8";

/*--------------------------------------------------------------------------------------------------

   page

--------------------------------------------------------------------------------------------------*/


/*--------------------------------------------------------------------------------------------
  index
--------------------------------------------------------------------------------------------*/
#index .mainimg h2 {
	text-align:center;
}

#index .mainimg .booking div.field {
	clear:both;
	margin:10px 0;
	height:24px;
}

#index .mainimg .booking .nice-select {
	color:#333;
	clear:none;
}

#index .mainimg .booking .field.checkin .nice-select {
	margin-left:10px;
}

#index .mainimg .booking div.field p {
	float:left;
}

#index .mainimg .booking select {
	padding:1px 10px 5px;
	outline:none;
	cursor:pointer;
	font-family:inherit;
	font-size:inherit;
	border:none;
}

#index .mainimg .booking input[type="text"] {
	font-family:inherit;
	font-size:inherit;
	letter-spacing:inherit;
	padding:0 5px;
	outline:none;
	border:none;
}

#index .mainimg .booking input[type="button"] {
	width:100px;
	display:block;
	line-height:40px;
	text-align:center;
	margin:0 auto;
	background:#FFF;
	font-size:16px;
	font-family:"ヒラギノ明朝 Std W2", "Hiragino Mincho Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	color:#084C64;
	border:none;
	cursor:pointer;
	outline:none;
}

#index .mainimg .booking input[type="button"]:hover {
	background:#084C64;
	color:#FFF;
}

#index .mainimg .TA_cdsratingsonlynarrow {
	position:absolute;
	left:20px;
	bottom:330px;
}

#index .aboutus {
	padding:50px 0;
	text-align:center;
	background:rgba(163,126,56,0.3);
}

#index .aboutus .content {
	padding:50px 20px;
	background:rgba(255,255,255,.3);
	box-shadow:0 30px 60px rgba(0,0,0,.3);
}

#index .aboutus h2 {
	color:#084c64;
}

#index .aboutus p {
	line-height:2em;
}

#index .topics {
	color:#084C64;
	position:relative;
	padding:100px 0;
}

#index .topics .bg {
	position:absolute;
	width:100%;
	height:180px;
	top:218px;
	background:rgba(163,126,56,0.3);
}

#index .topics h2 {
	letter-spacing:0.1em;
	text-align:center;
	margin-bottom:50px;
}

#index .topics li a {
	width:330px;
	margin:0 auto;
}

#index .topics li a:hover div {
	border-color:#084c64;
}

#index .topics li div {
	height:220px;
	border:solid 2px rgba(7,76,100,0.5);
	background:#FFF;
	position:relative;
	overflow:hidden;
}

#index .topics li div img {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	max-height:100%;
}

#index .topics li p {
	font-size:16px;
}

#index .topics #topics .slick-dots li,
#index .topics #topics .slick-dots li button,
.slider .slick-dots li,
.slider .slick-dots li button {
	width:14px;
	height:14px;
}

#index .topics #topics .slick-dots li button:before,
.slider .slick-dots li button:before {
	background:#A37E38;
	width:14px;
	height:14px;
	border-radius:100%;
	color:transparent;
	content:'';
}

#index .menu .menu-content div {
	top:0;
	width:50%;
	height:100%;
	padding:100px 50px;
}

#index .menu .menu-content:nth-child(2n) div {
	right:0;
}

#index .menu div p {
	margin:30px 0;
}

#index .menu ul {
	margin-top:50px;
}

#index .menu .menu-content:nth-child(2n) ul {
	right:0;
}

#index .menu ul li {
	margin-bottom:10px;
}

#index .menu ul li a {
	width:300px;
	background:rgba(8,76,100,0.5);
}

#en #index .menu ul li a.long,
#vi #index .menu ul li a.long,
#ko #index .menu ul li a.long {
	width:380px;
}

#zh #index .menu ul li a.long {
	width:340px;
}

#index .menu ul li a:hover {
	background:#084c64;
}

/*topics*/
#index.topicsDetail .mainimg h1 {
	position:static;
	background-color:#084c64;
}

#index.topicsDetail .topic {
	margin:100px auto;
}

#index.topicsDetail .topic div img {
	margin:0 auto;
	display:block;
	max-width:100%;
}

#index.topicsDetail .topic p {
	margin:10px 0 30px;
}

/*--------------------------------------------------------------------------------------------
  facility
--------------------------------------------------------------------------------------------*/
#facility .f_content {
	width:80%;
	margin:100px auto;
	overflow:hidden;
}

#facility h2 {
	color:#084C64;
}

#facility ul {
	margin:30px 0;
}

#facility li {
	list-style:disc;
	margin:10px 0 0 16px;
}

#facility li a {
	display:inline;
}

#facility li a:hover {
	text-decoration:underline;
}

#facility .facility a.detail {
	width:200px;
	color:#084C64;
	border-color:#084C64;
}

#facility .facility a.detail:hover {
	background:#084C64;
	color:#FFF;
}

#facility table {
	float:right;
}

#facility table img {
	width:400px;
}

/*--------------------------------------------------------------------------------------------
  room
--------------------------------------------------------------------------------------------*/
#room .descrip p {
	text-align:left;
}

#room .descrip p:first-child {
	text-align:center;
}

#room .descrip p:nth-child(2) {
	padding-right:320px;
}

#room .descrip p.long {
	padding-right:350px;
}

#room .descrip p span.size {
	display:block;
	float:right;
	width:150px;
	border-right:solid 1px #A37E38;
	text-align:center;
}

#room .descrip p span.size.long {
	width:200px;
}

#room .descrip p span.size:last-of-type {
	border-left:solid 1px #A37E38;
	margin-left:1em;
}

#room .descrip p span.size span:first-child {
	color:#A37E38;
}

#room .other {
	background:url(../image/room/detail3_3.jpg) no-repeat center -738px;
}

#room .other li {
	flex-basis:510px;
}

#room .other li:nth-of-type(2n+1) a {
	margin-left:auto;
}

/*--------------------------------------------------------------------------------------------
  resutaurant
--------------------------------------------------------------------------------------------*/
#restaurant h2 span {
	font-size:20px;
	vertical-align:text-top;
}

#restaurant h1 span span {
	font-size:20px;
	vertical-align:top;
}

#restaurant .other {
	background:url(../image/restaurant/detail2_9.jpg) no-repeat center -314px;
}

/*--------------------------------------------------------------------------------------------
  event
--------------------------------------------------------------------------------------------*/
#event .content .info dl {
	width:auto;
}

#event .content table thead,
#event .content table tbody {
	float:left;
}

#event .content table thead th {
	display:block;
	border-bottom:none;
}

#event .content table thead th:first-child,
#event .content table tbody tr:first-child {
	background:rgba(8,76,100,0.2);
}

#event .content table thead th:last-child {
	border-bottom:solid 1px;
}

#event .content table th,
#event .content table td {
	border:solid 1px;
	text-align:center;
	padding:10px 12px;
}

#event .content table tbody th:first-child,
#event .content table tbody td:first-child {
	border-left:none;
}

#event .other {
	background:url(../image/event/detail2_8.jpg) no-repeat center -430px;
}

/*--------------------------------------------------------------------------------------------
  wellness
--------------------------------------------------------------------------------------------*/
#wellness section.menu .menu-content .wrap1080 p br:first-of-type {
	font-size:20px;
}

#wellness .other {
	background:url(../image/wellness/detail3_1.jpg) no-repeat center -250px;
}

#wellness .other ul {
	padding:0 195px;
}

/*--------------------------------------------------------------------------------------------
  gallery
--------------------------------------------------------------------------------------------*/
#gallery .content .area {
	margin:100px auto;
	overflow:hidden;
}

#gallery .content .area li {
	float:left;
	margin:0 30px 30px 0;
}

#gallery .content .area li:nth-of-type(3n) {
	margin-right:0;
}

#gallery .content .area img {
	width:340px;
	transition:0.1s;
	-webkit-transition:0.1s;
}

#gallery .content .area img:hover {
	opacity:0.8;
}

#gallery .content .area p {
	width:200px;
	border-color:#084C64;
	color:#084C64;
	text-align:center;
	margin:30px auto 0;
	padding:0;
	clear:both;
	cursor:pointer;
}

#gallery .content .area p:hover {
	background:#084C64;
	color:#FFF;
}

#gallery .content .area div {
	display:none;
}

#colorbox #cboxTopLeft,
#colorbox #cboxTopCenter,
#colorbox #cboxTopRight,
#colorbox #cboxMiddleLeft,
#colorbox #cboxMiddleRight,
#colorbox #cboxBottomLeft,
#colorbox #cboxBottomCenter,
#colorbox #cboxBottomRight {
	display:none;
}

#colorbox #cboxContent {
	width:100%!important;
	height:100%!important;
}

#colorbox #cboxLoadedContent {
	width:100%!important;
	height:calc(100% - 28px)!important;
}

#colorbox img.cboxPhoto {
	width:100%!important;
	height:100%!important;
	margin:0!important;
}

#colorbox {
	border:solid 10px #000;
}

/*--------------------------------------------------------------------------------------------
  access
--------------------------------------------------------------------------------------------*/
#access .access {
	margin:100px auto;
}

#access .access p {
	margin:30px 0;
}

#access .access h3 {
	margin:100px 0 30px;
}

#access .access table th,
#access .access table td {
	border:solid 1px #333;
	padding:10px 20px;
	text-align:center;
}

#access .access table caption {
	text-align:left;
}

#access .access li {
	list-style:disc inside;
	margin:5px 0;
}

#access .access img {
	float:right;
}

#access .access img:nth-of-type(2) {
	margin-top:30px;
}

/*--------------------------------------------------------------------------------------------
  contact
--------------------------------------------------------------------------------------------*/
#contact .descrip {
	z-index:-1;
}

#contact form {
	margin:-60px auto 100px;
	width:600px;
}

#contact form p.wpcf7c-elm-step1,
#contact form p.wpcf7c-elm-step2,
#contact form p.wpcf7c-elm-step3 {
	color:#084C64;
	text-align:center;
}

#contact h3 {
	margin:50px 0 30px;
}

#contact h3:first-of-type {
	margin-top:140px;
}

#contact input[type="text"],
#contact input[type="email"],
#contact input[type="tel"],
#contact textarea {
	padding:5px 10px;
	font-family:inherit;
	outline:none;
	font-size:16px;
	width:300px;
	border:solid 1px #AAA;
	letter-spacing:1px;
}

#contact textarea {
	width:600px;
}

#contact input[type="text"]:focus,
#contact input[type="email"]:focus,
#contact input[type="tel"]:focus,
#contact textarea:focus {
	border:solid 1px #084C64;
}

#contact span.wpcf7-list-item {
	margin:0;
}

#contact label span {
	margin-right:30px;
	font-size:16px;
}

#contact label input {
	display:none;
}

#contact label input + span::before {
  content: "\f111";
  color: rgba(8,76,100,0.5);
  font-size: 20px;
	margin-right:4px;
}

#contact label input:checked + span::before {
  content: "\f192";
  color: #084C64;
}

#contact .button {
	display:flex;
	justify-content:center;
	margin-top:50px;
}

#contact input[type="submit"],
#contact input[type="button"] {
	border:solid 1px #A37E38;
	color:#A37E38;
	background:#FFF;
	font-size:16px;
	font-family:inherit;
	letter-spacing:2px;
	width:100px;
	height:50px;
	line-height:50px;
	margin:0 30px;
	outline:none;
	cursor:pointer;
	-webkit-appearance:none;
	border-radius:0;
}

#contact input[type="submit"]:hover,
#contact input[type="button"]:hover {
	color:#FFF;
	background:#A37E38;
}

#contact input.wpcf7-not-valid,
#contact textarea.wpcf7-not-valid {
	background:#facfcf;
}

#contact span.wpcf7-not-valid-tip {
	color:#E61010;
}

#contact input[type="text"].wpcf7c-conf,
#contact input[type="email"].wpcf7c-conf,
#contact input[type="tel"].wpcf7c-conf,
#contact textarea.wpcf7c-conf {
	background:#F0F0F0;
	border:none;
}

#contact input[type="text"].wpcf7c-conf:focus,
#contact input[type="email"].wpcf7c-conf:focus,
#contact input[type="tel"].wpcf7c-conf:focus,
#contact textarea.wpcf7c-conf:focus {
	border:inherit;
}


#contact input.wpcf7c-conf:not(:checked) + span,
#contact input.wpcf7c-conf + input + span::before {
	display:none;
}

#contact form.sent h3,
#contact form.sent h3 + p,
#contact form.sent div.button {
	display:none;
}

#contact div.wpcf7-mail-sent-ok {
	display:none!important;
}


/*--------------------------------------------------------------------------------------------
  privacy
--------------------------------------------------------------------------------------------*/
#privacy .privacy {
	margin:100px auto;
}

#privacy .privacy h3 {
	margin:100px 0 30px;
}

#privacy .accept {
	background:#084C64;
	color:#FFF;
	text-align:center;
	padding:14px 0;
}

#privacy .accept input {
	margin-left:1em;
	color:#FFF;
	padding:5px 10px;
	border:solid 1px;
	background:rgba(255,255,255,0.5);
	font-family:inherit;
	outline:none;
	cursor:pointer;
	font-size:16px;
	-webkit-appearance:none;
	border-radius:0;
}

#privacy .accept input:hover {
	background:rgba(255,255,255,0.3);
}

#privacy .accept input.agreed {
	background:transparent;
	color:rgba(255,255,255,0.5);
	cursor:default;
	position:relative;
}

