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

body{
	width:100%;
	color:#fff;
	font-family: 'Lora', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", serif;
	font-size:14px;
	line-height:1.05;
	text-align:left;
	margin:0;
	padding:0;
	background:url(img/bg.gif) #1c0905;
	position:relative;
}

/* all */
h1,h2,h3,h4,h5,p,dt,dd,li,th,td,address,strong,em,table,dl,ul,ol,img,
article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary
{
	padding:0;
	margin:0;
	background:transparent;
}

/* font */
h1,h2,h3,h4,h5,p,dt,dd,li,th,td,a,address,strong,em,form,input,textarea,select,submit,
article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{
	color:inherit; line-height:inherit; font-family:inherit; font-size:inherit;
}

/* indivisual */
a{
	border:none; color:inherit; text-decoration:underline;
}
a:hover{
	text-decoration:none;
}
address,em{
	font-style:normal;
}
ul,ol{
	list-style:none none outside;
}
img{
	display:block; border:none;
}

/* common */
a:hover img{ opacity:0.64; }
a.anchor{ text-decoration:none; }
div:after,ul:after,
dl:after,.ac:after{ clear:both; content:""; display:block; }

a.icon{ padding:0 0 0 14px; background:url(img/icon.png) no-repeat left center; }

.bottom{ padding-bottom:0 !important; margin-bottom:0 !important; background:none !important; border-bottom:0 !important; }


/* contents */

#main{
}

#header{
	width:720px;
	height:160px;
	margin:0 auto;
	position:relative;
}

#header #h1{
	position:absolute;
	top:21px;
	left:240px;
}

#header ul{
	width:720px;
}

#header ul li{
	width:120px;
	float:left;
	margin:109px 0 0 0;
}

#header ul li.cl{
	margin-right:240px;
}

#header ul li.sauna{
	margin-right:240px;
}

#header ul li span img{
	opacity:0.32;
}

#ancestor{
	margin:0 0 28px 0;
}

#ancestor li{
	width:25%;
	float:left;
}

#ancestor img{
	max-width:100%;
	min-width:100%;
	height:auto;
	margin:0 auto;
}

#contents{
}

#contact{
	width:480px;
	padding:64px 0;
	margin:0 auto;
}

#contact h2{
	margin:0 0 20px 0;
}

#contact p{
	text-align:center;
	margin:0 0 20px 0;
}

#footer{
	color:#1c0905;
	font-size:11px;
	padding:12px 0;
	background:#fff;
}

#footerBody{
	width:960px;
	margin:0 auto;
	position:relative;
}

#footer .logo{
	width:182px;
	float:left;
}

#footer .logo img{
	width:auto;
	height:48px;
}

#footer address{
	line-height:1.5;
}

#footer .copyright{
	line-height:48px;
	position:absolute;
	top:0px;
	right:0px;
}

.grpBanner{
	max-width:768px;
	width:90%;
	text-align:center;
	margin:2rem auto 0 auto;
}

.grpBanner li{
	display:inline-block;
	width:20%;
}

.grpBanner li img{
	width:100%;
}

.post h2{
	margin:64px 0 24px 0;
}

.post h2 img{
	margin:0 auto;
}

.post h2.top{
	margin-top:0;
}

.post p{
	line-height:1.75;
	margin:0 0 12px 0;
}

.post address{
	line-height:1.75;
	margin:0 0 12px 0;
}

.post table{
	width:100%;
	margin:0 0 12px 0;
	border:1px solid #362521;
	border-collapse:collapse;
}

.post table th{
	font-weight:normal;
	line-height:1.5;
	padding:12px;
	background:url(img/bg2.png);
	border:1px solid #362521;
}

.post table td{
	line-height:1.5;
	padding:12px;
	border:1px solid #362521;
}

.post li{
	line-height:1.75;
}

.post .col3{
	width:960px;
}

.post .col3 .left2{
	width:632px;
	float:left;
	margin:0 24px 0 0;
}

.post .col3 .right{
	width:304px;
	float:left;
}

.post .col3 .right img{
	width:304px;
}

.post .aligncenter{
	text-align:center;
}

.post .aligncenter img{
	margin:0 auto;
}

.price span{
	font-size:150%;
}

#map{
	width:100%;
	height:480px;
}


/* index */

#info{
	padding:1.75em 0;
	background: rgba(0, 0, 0, 0.48);
}

#info p{
	color: #ff0000;
	line-height: 1.75;
	text-align: center;
	margin-top: 0.75rem;
}
#info p.first{
	margin-top: 0;
}

#info ul{
	width: 960px;
	margin: 0 auto;
}

#info li{
	width: 28em;
	line-height:1.5;
	padding: 0.75em 0;
	margin: 0 auto;
	border-bottom: 1px dotted rgba(255, 255, 255, 0.12);
}

#info li:last-child{
	border-bottom: none;
}

#index .link{
	width:100% !important;
	background:rgba(0,0,0,0.64);
	position:fixed;
	top:0px;
	left:0px;
	z-index:2;
}

#index .link ul{
	width:362px;
	margin:0 auto;
}

#index .link ul li{
	width:121px;
	float:left;
	background:url(img/sn-bg.png) no-repeat right center;
}

#index .link ul li.right{
	width:120px;
	background:none;
}

#index01{
	position:relative;
	height:640px;
}

#index01 .image img{
	max-width:100%;
	min-width:100%;
	height:auto;
	margin:0 auto;
}

#index01 .catch{
	width:86px;
	height:244px;
	text-indent:-9999px;
	background:url(img/02.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:217px;
	left:455px;
	z-index:2;
}

#index01 .text{
	width:294px;
	height:320px;
	text-indent:-9999px;
	background:url(img/03.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:220px;
	left:160px;
	z-index:2;
}

#index01 h2{
	position:absolute;
	top:390px;
	left:580px;
}

#index01 ul{
	position:absolute;
	top:382px;
	right:0px;
}

#index01 ul li{
	float:left;
}

#index01 ul li.right{
	margin-right:0;
}

#index01 ul li img{
	max-width:100%;
	min-width:100%;
	height:auto;
	margin:0 auto;
}

#index02{
	position:relative;
}

#index02 .image img{
	max-width:100%;
	min-width:100%;
	height:auto;
	margin:0 auto;
}

#index02 .catch{
	width:32px;
	height:324px;
	text-indent:-9999px;
	background:url(img/09.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:76px;
	left:1055px;
}

#index02 .text{
	width:259px;
	height:271px;
	text-indent:-9999px;
	background:url(img/10.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:80px;
	left:759px;
}

#index02 ul li{
	width:25%;
	float:left;
}

#index02 ul li img{
	max-width:100%;
	min-width:100%;
	height:auto;
}

#index03{
	position:relative;
}

#index03 .image img{
	max-width:100%;
	min-width:100%;
	height:auto;
	margin:0 auto;
}

#index03 .catch{
	width:86px;
	height:163px;
	text-indent:-9999px;
	background:url(img/15.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:62px;
	left:1114px;
}

#index03 .text{
	width:119px;
	height:234px;
	text-indent:-9999px;
	background:url(img/16.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:64px;
	left:959px;
}

#index03 ul{
	position:absolute;
	bottom:64px;
	left:0px;
}

#index03 ul li{
	width:320px;
}

#index03 ul li img{
	max-width:100%;
	min-width:100%;
	height:auto;
	margin:0 auto;
}

#index04{
	position:relative;
}

#index04 .image img{
	max-width:100%;
	min-width:100%;
	height:auto;
	margin:0 auto;
}

#index04 .catch{
	width:86px;
	height:300px;
	text-indent:-9999px;
	background:url(img/18.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:62px;
	left:320px;
}

#index04 .text{
	width:224px;
	height:230px;
	text-indent:-9999px;
	background:url(img/19.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:64px;
	left:64px;
}

#index04 ul{
	position:absolute;
	top:64px;
	right:0px;
}

#index04 ul li{
	width:320px;
	float:left;
}

#index04 ul li.right{
	margin-right:0;
}

#index04 ul li img{
	max-width:100%;
	min-width:100%;
	height:auto;
	margin:0 auto;
}

#index05{
	width:480px;
	padding:100px 0 0 0;
	margin:0 auto;
}

#index06{
	position:relative;
}

#index06 .image img{
	max-width:100%;
	min-width:100%;
	height:auto;
	margin:0 auto;
}

#index06 .catch{
	width:83px;
	height:299px;
	text-indent:-9999px;
	background:url(img/24.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:66px;
	left:320px;
}

#index06 .text{
	width:189px;
	height:237px;
	text-indent:-9999px;
	background:url(img/25.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:66px;
	left:92px;
}

#index #contact{
	padding-top:88px;
}

/* stay */

#stay{
	width:960px;
	margin:0 auto;
}

#stay .largeText{
	display:block;
	font-size:20px;
	margin:8px 0 0 0;
}

#stay .meal{
	margin-bottom:12px;
}

#stay .meal li{
	width:320px;
	float:left;
}

#stay .meal li.large{
	width:640px;
}

/* wedding */

#wedding{
	padding:64px 0 0 0;
	text-align:center;
}

#wedding img{
	margin:0 auto;
}

#wedding .text{
	margin:0 0 24px 0;
}

#wedding ul{
	margin:0 0 24px 0;
}

#wedding ul li{
	width:20%;
	float:left;
}

#wedding ul li img{
	max-width:100%;
	min-width:100%;
	height:auto;
}

/* party */

#party p{
	margin-bottom:20px;
}

#party p:nth-child(2){
	margin-bottom:40px;
}

#party #contact{
	padding-top:60px;
}

/* rounge */

#rounge{
	padding:64px 0 0 0;
	background:url(img/rounge/02.png) no-repeat top;
	background-size:contain;
}

#rounge01{
	margin:0 0 64px 0;
}

#rounge01 img{
	margin:0 auto;
}

#rounge02{
	width:880px;
	margin:0 auto;
}

#rounge02 dl{
	width:420px;
	float:left;
	margin:0 40px 0 0;
}

#rounge02 dl.right{
	margin-right:0;
}

#rounge02 dt{
	margin:0 0 12px 0;
}

#rounge02 dd{
	text-align:center;
}

/* access */

#access{
	width:960px;
	margin:0 auto;
}

#access .hw{
	color:#0d955a;
}

#access dl{
	width:960px;
}

#access dt{
	width:225px;
	float:left;
	margin:0 20px 0 0;
}

#access dt img{
	width:225px;
}

#access dd{
	width:715px;
	float:left;
}

#access dd .title{
	display:block;
	font-size: 20px;
}

#access dd .excerpt{
	display:block;
	line-height:1.5;
	margin:8px 0;
}

#access dd .address{
	display:block;
	line-height:1.5;
}

#access dd a{
	display:block;
	margin:8px 0 0 0;
}

#access .banner{
	width:100%;
	text-align:center;
	margin:1.5em 0 0 0;
}

#access .banner img{
	display:block;
	width:320px;
	margin:1em auto 0 auto;
}

/* camp */

#camp{
	width:960px;
	margin:0 auto;
}


/* wedding  ２*/

#wedding2{
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	background: #1E0A06;
}

#wedding2 .a{
	position: relative;
	padding-top: 60%;
	margin-bottom: 4.25em;
	background: url(img/wedding/bg01.jpg) center / cover no-repeat ;
}

#wedding2 .a h1 img{
	position: absolute;
	left: 6.8%;
	top:9.6%;
	width: 37.42%;
}

#wedding2 .a p img{
	position: absolute;
	left: 6.8%;
	top:42.5%;
	width: 22.65%;
}

#wedding2 #contents{
	padding-bottom: 27.75em;
	background: url(img/wedding/bg02.jpg) center bottom / contain no-repeat ;
}

#wedding2 .b{
	width: 768px;
	margin: 0 auto 8em;
}

#wedding2 .b .catch{
	margin-left: 15.625%;
}

#wedding2 .c{
	width: calc(960px - 96px);
	height: 1050px;
	position: relative;
	margin: 0 auto 5em;
	padding-left: 96px;
}

#wedding2 .c01{
	position: absolute;
	top:58px;
	left: 505px;
}

#wedding2 .c02{
	position: absolute;
	left: 96px;
	top: 0;
}

#wedding2 .c03{
	position: absolute;
	right: 456px;
	top:673px;
	text-align: right;
}

#wedding2 .c04{
	position: absolute;
	right: 0;
	bottom: 0;
	width: 408px;
}

#wedding2 .c04 li{
	margin-top: 1px;
}

#wedding2 .c03 h2 img{
	margin-left: auto;
}

#wedding2 .c h2{
	margin:0 0 2.5em;
}

#wedding2 .c .text{
	margin:-0.875em 0;
	line-height: 2.75;
	letter-spacing: .1em;
}

#wedding2 .image p{
	margin-top: 1em;
	font-size: 12px;
}

#wedding2 .d{
	width: 768px;
	margin: 0 auto 4.25em;
}

#wedding2 .d p{
	margin-bottom: 3.75em;
	text-align: center;
}

#wedding2 .d dl{
	display: table;
	padding: 2em 6.25em;
	border-top: 1px dotted #FFF;
	border-bottom: 1px dotted #FFF;
	font-size: 12px;
}

#wedding2 .d dt,
#wedding2 .d dd{
	display: table-cell;
	vertical-align: middle;
	line-height: 1.75;
}
#wedding2 .d dt{
	padding-right: 2em;
}

#wedding2 .e{
	width: calc(768px - 4em);
	padding: 2em;
	margin: 0 auto;
	border: 1px solid rgba(255, 255, 255, 0.24);
	font-size: 12px;
}

#wedding2 .e .body{
	margin-bottom: 4em;
}

#wedding2 .e .left{
	float: left;
	margin-right: 1em;
}
#wedding2 .e .right{
	float: right;
	width: 256px;
}

#wedding2 .e h2{
	margin-bottom: .75em;
	font-size: 20px;
	font-weight: bold;
}

#wedding2 .e .left p{
	margin:-0.5em 0;
	line-height: 2;
}

#wedding2 .e .large{
	margin: -.375em 0 calc(-.375em + 3em);
	font-size: 16px;
	font-weight: bold;
	line-height: 1.75;
	text-align: center;
}

#wedding2 .e .text{
	margin: -.25em 0 ;
	line-height: 1.5;
}


/* sauna */
.post .sauna ul{
	display: flex;
	margin: 0 0 12px 0;
}

.post .sauna ul li{
	width: 33.333%;
}

.post .sauna ul li img{
	width: 100%;
	height: auto;
}