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

/********************************
 
	共通
 
********************************/

#wrapper {
	position:relative;
}
html * {
	margin:0;
	padding:0;
	box-sizing:border-box;
}
html {
	font-size: 62.5%;/*10px*/
}
body {	
	font-family: "リュウミン",游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
	overflow-x:hidden;
}
p,
dl,
ul,
ol {
	color:rgba(0,0,0,0.87);
	letter-spacing:0.5rem;
	font-size:1.6rem;
}

p {
	line-height:1.75em;
	color:rgba(255,255,255,1);
	text-shadow:1px 1px 3px #000000;
	margin:auto;
	text-align:justify;
	text-justify:inter-ideograph;
	font-weight:bold;
}
@media screen and (max-width:768px) {
p{
	font-size:1.5rem;
	line-height: 2.5rem;
    letter-spacing: 0.1rem;
}
}
div {
	box-sizing:border-box;
}
ul {
	list-style-type:none;
}

img {
	max-width:100%;
	vertical-align: bottom;
}
a {
	text-decoration:none;
	color:rgba(255,255,255,1);
}
.underline:link,
.underline:visited {
	text-decoration:underline;
}
a img:hover,
a:hover,
.reservation:hover,
.villa_logo:hover,
.more span:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	cursor:pointer;
} 
/*---------- 文字装飾 ----------*/

.bold {
	font-weight:bold;
}
.small {
	font-size:1.4rem;
}
.center {
	text-align:center;
}
.right {
	text-align:right;
}

header,
main,
nav,
footer {
	display:block;
}
.pc_none {
	display: none;
}

@media screen and (max-width:768px) {
.pc_none {
	display: block;
}
}
.sp_none {
	display: block;
}

@media screen and (max-width:768px) {
.sp_none {
	display: none;
}
}
.other_none {
	display: block;
}

@media screen and (max-width:1500px) {
.other_none {
	display: none;
}
}
/********************************
		 	header
 ********************************/
header {
	width:100%;
	background: -moz-linear-gradient(top,  rgba(1,1,2,0.9) 0%, rgba(0,0,0,0.1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(1,1,2,0.9) 0%,rgba(0,0,0,0.1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(1,1,2,0.9) 0%,rgba(0,0,0,0.1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#010102', endColorstr='#00999999',GradientType=0 ); /* IE6-9 */

	position:fixed;
	top:0;
	z-index:2;
}
@media screen and (min-width:769px) and (max-width:1300px) {
header {
	background: -moz-linear-gradient(top,  rgba(1,1,2,1) 0%, rgba(0,0,0,0.1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(1,1,2,1) 0%,rgba(0,0,0,0.1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(1,1,2,1) 0%,rgba(0,0,0,0.1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#010102', endColorstr='#00999999',GradientType=0 ); /* IE6-9 */
}
}
@media screen and (max-width:768px) {
header {
	background: rgba(0,0,0,0.5);
}
}
#wrap_header {
	display:flex;
	justify-content:space-between;
	max-width:1600px;
	margin:auto;
}
@media screen and (max-width:1300px) {
#wrap_header {
	flex-wrap: wrap;
}
}
@media screen and (max-width:768px) {
#wrap_header {
	display:block;
	position: relative;
}
}

.company_logo {
	width:10%;
	align-self:flex-start;
	padding:2% 0 0 0;
	text-align:center;
	display:block;
}
@media screen and (max-width:1300px) {
.company_logo {
	padding: 2% 0 0 0;
	width:20%;
}
}
@media screen and (max-width:768px) {
.company_logo {
	padding: 1% 0 0 1%;
}
}
.villa_logo {
	text-align:center;
	line-height:2rem;
	 min-width:164px; 
	 max-width:164px; 
	font-weight:normal;
	align-self:flex-start;
	padding:1% 0 0 1%;
}
@media screen and (max-width:1300px) {
.villa_logo {
	position: absolute;
	left: 0;
	right: 0;
	top:0;
	margin:auto;
	width:30%;
}
}
.villa_logo a {
	color:rgba(255,255,255,1);
	font-size:2.5rem;
	letter-spacing:0.5rem;
	border:1px rgba(255,255,255,1) solid;
	display:block;
	width:100%;
	height: auto;
	padding: 10% 0;
}
@media screen and (max-width:768px) {
.villa_logo a {
	font-size: 1.6rem;
	padding:2% 0 0;
	height:50px;
}
}
.villa_logo span {
	font-size:2rem;
	letter-spacing:0.1rem;
}
@media screen and (max-width:768px) {
.villa_logo span {
	font-size: 1.5rem;
}
}
.villa_name {
	color:#fff;
}
.wrap_nav {
	width:80%;
	align-self:center;
	padding:1%;
}
@media screen and (max-width:1300px) {
.wrap_nav {
	width:100%;
}
}
@media screen and (max-width:768px) {
.wrap_nav {
	padding:6% 0 2%;
}
}
@media screen and (max-width:1080px) {
nav {
	display: none;
}
}
nav ul {
	display:flex;
	justify-content:space-between;
	width:100%;
}
nav ul li {
	width:calc(100% / 5);
	border-right:1px rgba(255,255,255,1) solid;
	padding: 1% 0 0 0;
	height: 5rem;
}
nav ul li.other {
	padding: 0;
}
nav ul li.other .menu {
	display:none;
}
@media screen and (max-width:1300px) {
nav ul li {
	text-align:center;
	height:4rem;
}
}
@media screen and (max-width:1300px) {
nav ul li.other .menu {
	display:block;
}
}
nav ul li:first-of-type {
	border-left:1px rgba(255,255,255,1) solid;
	margin:0 0 0 1%;
}
@media screen and (max-width:1300px) {
nav ul li:first-of-type {
	margin:0;
}
}
nav ul li a {
	display:inline-block;
	width:100%;
	color:rgba(255,255,255,1);
	height: 60%;
	display: block;
	align-self: center;
}
nav ul li .en {
	font-size:1.4rem;
}
@media screen and (max-width:1300px) {
nav ul li .en {
	word-break: break-all;
}
}
@media screen and (max-width:1100px) {
nav ul li .en {
	font-size:1rem;
}
}
nav ul li .ja {
	display:inline-block;
	text-align:center;
	width:100%;
}
@media screen and (min-width:769px) and (max-width:1400px) {
nav ul li .ja {
	font-size:1.2rem;
}
}
.inquiry {
	display:flex;
	justify-content:space-between;
	margin:1% 0;
	padding:0 0 0 2%;
}
@media screen and (min-width:769px) and (max-width:1400px) {
.inquiry {
	margin:3% 0 1%;
	padding:0;
	font-size:1.4rem;
	text-align:left;
	justify-content:space-between;
}
}
@media screen and (max-width:768px) {
.inquiry {
	flex-direction:column;
	text-align:center;
	padding:0;
	margin:2% 0 0;
	justify-content:space-around;
	font-size: 1.4rem;
}
}
.inquiry span {
	display:block;
}
@media screen and (max-width:768px) {
.inquiry .villa_name {
	 display:none; 
}
}
.villa_name br {
	display:none;
}
@media screen and (max-width:1300px) {
.villa_name br {
	display:block;
}
}
.reservation {	
	border:1px rgba(255,255,255,1) solid;
	padding:0.1% 0.5%;
	width:30%;
	text-align:center;
	align-self:center;
}
@media screen and (min-width:769px) and (max-width:1400px) {
.reservation {
	width:50%;
}
}
@media screen and (max-width:768px) {
.reservation {
	border:none;
}
}
@media screen and (max-width:768px) {
.reservation {
	width: 80%;
	margin: 0% auto;
	padding:0.1%;
}
}
.reservation a {
	color: rgba(255,255,255,1);
	width: 100%;
	height: 100%;
	display: inline-block;
	text-shadow: none;
}
@media screen and (max-width:768px) {
.reservation a {
	background: rgba(255,255,255,1);
	color: rgba(0,0,0,1);
	padding:1% 0 0;
}
}
/********************************
		 	main
 ********************************/

h2 {
	font-size:3.2rem;
	letter-spacing:0.5rem;
	color:rgba(255,255,255,1);
	padding:0 0 5%;
	text-shadow:1px 1px 3px #000000;
	text-align:justify;
	text-justify:inter-ideograph;
}
@media screen and (min-width:769px) and ( max-width:1600px) {
h2 {
	font-size: 2.5rem;
}
}
@media screen and (max-width:768px) {
h2 {
	font-size: 1.8rem;
	margin:30% 0 0;
}
}
.more {
	text-align:center;
	margin:1rem 0 0;
}
@media screen and (max-width:768px) {
.more {
	margin:3rem 0 0;
}
}
.more span {
	display:inline-block;
	border:1px rgba(255,255,255,1) solid;
	padding: 0 3%;
}
@media screen and (max-width:768px) {
.more span {
box-shadow:0px 0px 5px;
padding:2% 5%;
}
}
.more span a {
	display:inline-block;
}
.tag {
	display:inline-block;
	border-left:1px rgba(255,255,255,1) solid;
	border-right:1px rgba(255,255,255,1) solid;	
    position: absolute;
	top: 25%;
    left: 5%;
    color: #fff;
    font-size: 1.5rem;
	padding:0 1rem;
	text-shadow:1px 1px 3px #000000;
}
/*@media screen and (min-width:769px) and (max-width:1400px) {
.tag {
	top: 35%;
}
}*/
@media screen and (max-width:768px) {
.tag {
/*	top: 35%;*/
	max-width:85%;
	font-size: 1.6rem;
	font-weight:bold;
	display: flex;
	padding:0;
	background:rgba(0,0,0,0.2);
	justify-content:center;
}
.tag::before {
	content:'';
	display: block;
	width: 1rem;
	height: 2.3rem;
}
.tag::after {
	content:'';
	display: block;
	width: 1rem;
	height: 2.3rem;
}
}
/********************************
		 	footer
 ********************************/
footer {
	background:rgba(0,0,0,1);
	color:rgba(255,255,255,1);
	text-align:center;
	width:100%;
	padding:1%;
}
footer small {
	display:inline-block;
	font-size:1.2rem;
}
/* ページ上部へ戻るボタン　*/
#gotoTop {
	width: 5rem;
	height: 5rem;
	position: fixed;
	left: auto;
	bottom: 40px;
	right: 20px;
	margin: 0 0 0 900px;
	padding: 0;
	display: none;
	cursor: pointer;
	z-index: 1;
}
