@charset "utf-8";
/* CSS Document */
p {
	word-break: break-all;	
}
ul {
	list-style-type: none;	
	padding-left: 0;
}
li {
	font-size: 100%;
}
@media (min-width: 1200px) {
	dl {
		margin-bottom: 50px !important;	
	}
}
dt {
	border-bottom: 1px dashed #ccc;
	margin-bottom: 15px;
}
dt:before {
	content: "\f0d7";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;
}
dt.restroom:before {
	content: "\f7bd";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;
}
dt.shower:before {
	content: "\f2cc";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;
}
dd {
	margin-left: 15px;	
}
dd ol{
	padding-left: 10px;
}
dd li{
	margin-bottom: 20px;
}
dd li span{
	font-size: 85%;
}
h3.map-marker:before {
	content: "\f3c5";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
h3.parking:before {
	content: "\f1b9";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
h3.book:before {
	content: "\f02d";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px	
} 
h3.suitcase:before {
	content: "\f0f2";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
h3.cloud:before {
	content: "\f0c2";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
h3.male:before {
	content: "\f500";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
h3.jpy:before {
	content: "\f157";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
h3.home:before {
	content: "\f015";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
h3.shopping-cart.before {
	content: "\f07a";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;		
}
h3.circle-info:before {
	content: "\f05a";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
h3.circle-caution:before {
	content: "\f071";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
h3.award:before {
	content: "\f559";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
h3.dog:before {
	content: "\f6d3";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
h3.circle-smile:before {
	content: "\f118";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
h3.store:before {
	content: "\f54f";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
.point {
	overflow: auto;	
}
.point a img {
	margin-bottom: 10px !important;	
	transform: scale(1);
	transition: .3s ease-in-out;
}
.point a:hover img {
	transform: scale(0.96);
}
.double{
	border-style: double;
}
.craft{
	padding:20px;
	margin-bottom:50px;
	background: url(../images/img-bg-craft.png) repeat;
}
.member{
	padding:20px;
	position: relative;
	border-style: double;
	border-color: #999;
	margin-bottom: 50px;
	font-size: 110%;
}
.member ol{
	margin:0;
	padding-left:30px;
}
.member ol li{
	margin-top:30px;
}
.member-title-warp{
	position: absolute;
	top: -8px;
	left:0;
	text-align:center;
	width:100%;
}
.member-title{
	background:#fff;
	border-top: #999 solid 1px;
	border-bottom: #999 solid 1px;
	margin: 0 auto;
	text-align:center;
	padding: 3px 10px;
}
.dog-rules li{
	font-size: 110%;
    margin-bottom: 30px;
    margin-left: 50px;
    display: flex;
    align-items: center;
    position: relative;
}
.dog-rules li:before{
	content: "\f1b0";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: block;
	position: absolute;
    left: -45px;
    width: 40px;
    font-size: 25px;
}
.breadcrumbs{
	text-align: right;
	font-size: 13px;
	margin-bottom:30px;
}
@media (min-width: 768px) {
	.point p {
		height: 75px;
	}
}
@media (min-width: 992px) {
	.point p {
		height: auto;
	}
}
.tag {
	margin-bottom: 20px;
	overflow: auto;	
}
.tag li {
	color: #fff;
	background: #222;
	font-size: 90%;
	text-align: center;
	display: block;
	padding: 5px 8px;
	float: left;
	margin-right: 10px;
	margin-bottom: 10px;
}
@media (max-width: 1199px) {
	.tag li {
		width: 49%;
		margin-right: 2%;	
	}
	.tag li:nth-child(even) {
		margin-right: 0;	
	}
}
.gallery {
	margin-top: 15px;
	padding-left: 0 !important;
	padding-right: 0 !important;
	overflow: auto;	
}
@media (min-width: 1200px) {
	.gallery {
		margin-bottom: 20px;
	}
}
.gallery .box {
	border: 1px solid #ccc;	
	margin-bottom: 30px;
	transition: 0.6s ease-out;
}
.gallery .box img {
	transform: scale(1);
	transition: .3s ease-in-out;
}
.gallery .box:hover {
	background: #f4f4f4;	
}
.gallery .box img:hover {
	transform: scale(0.96);	
}
.gallery img {	
	margin-bottom: 10px !important;
}
.gallery p {
	font-size: 90%;	
	height: auto;
	padding-left: 10px;
	padding-right: 10px;
	margin-bottom: 10px;
}
@media (min-width: 768px) {
	.gallery p {
		height: 90px;
	}
}
.facility {
	padding-left: 0 !important;
	padding-right: 0 !important;
	overflow: auto;		
}
.color-orange {
	color: #ff8500;	
}
.color-red {
	color: #a40000;	
}
.color-green {
	color: #2b848d;	
}
.blink {
	animation: switchtext 0.5s infinite alternate;
}
.phone,
.mobile {
	font-size: 100%;
}
.mobile:before {
	content: "\f10b";
	font-family: FontAwesome;
	margin-left: 5px;	
	margin-right: 6px;
}
.phone:before {
	content: "\f095";
	font-family: FontAwesome;	
	margin-right: 5px;	
}
.phone a,
.mobile a {
	color: #a40000;	
}
/* lightbox */
.lb-caption {
	color: #fff;	
}
/* フッター固定バー */
#bottombar {
    position: fixed;
    bottom: 0;
    width: 100%;
	height: 50px;
    background: rgba(0,0,0,0.8);
	display: flex;
    justify-content: center;
    align-items: center;
	z-index: 400;
}
#bottombar a {
	width: 266px;
	padding: 10px 0;
	background: #a40000;
	color: #fff;
	text-align: center;
	font-size: 110%;
}
#bottombar a:hover,
#bottombar a:active,
#bottombar a:focus {
	color: #fff;
	background: #ff8500;
}
#bottombar a:before {
	content: "\f274";
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	margin-right: 5px;	
}
/* 共通調整（about-mainvisual,#lake-mainvisual） */
#wrap-about {
	background: url(../about/images/bg-mainvisual.jpg);
	background-position: center center;
	background-size: cover;
}
#about-02-bg {
	background: url(../about/images/bg-about-02.jpg);
    background-position: center center !important;
    background-size: cover;
    width: 100%;
    min-height: 350px;
    position: relative;
    overflow: hidden;
	margin-bottom: 50px;
}
#wrap-lake {
	background: url(../lake/images/bg-mainvisual.jpg);
	background-position: center center;
	background-size: cover;
}
#about-mainvisual,
#lake-mainvisual {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	min-height: calc(89vh - 100px);
	padding: 0 15px;
	overflow: hidden;
}
#about-02-bg .lead{
    width: 767px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media (min-width: 768px) {
	#about-mainvisual,
	#lake-mainvisual {
		min-height: calc(100vh - 100px);
	}
}
#about-mainvisual h1,
#lake-mainvisual h1 {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin-top: -50px;
}
#about-mainvisual h1 img:nth-of-type(1),
#about-02 h2 img:nth-of-type(1),
#lake-mainvisual h1 img:nth-of-type(1) {
	border: 1px solid #fff;
}
#about-mainvisual h1 img:nth-of-type(1) ,
#about-02 h2 img:nth-of-type(1),
#lake-mainvisual h1 img:nth-of-type(1) {
	margin-bottom: 15px;	
}
#about-02 h2 div{
	text-align:center;
	color:#fff;
	filter: drop-shadow(1px 1px 1px #444);
}
@media (max-width: 767px) {
	#about-mainvisual h1,
	#about-02 h2,
	#lake-mainvisual h1 {
		padding-left: 15px;
		padding-right: 15px;
	}
}
.mainvisual-arrow {
	width: 100%;
	height: 50px;
	position: absolute;
	bottom: 30px;
	z-index: 300;
}
.mainvisual-arrow a img {
	display: block;
	margin: 0 auto;
	animation: switchtext 0.5s infinite alternate;
}
/* 共通調整（#sub-mainvisual） */
#wrap-reservation #header,
#wrap-experience #header,
#wrap-rental #header,
#wrap-trekking #header, 
#wrap-contact #header,
#wrap-faq #header,
#wrap-group #header {
	background: rgba(0,0,0,0.8);	
}
#wrap-reservation {
	background: url(../reservation/images/bg-mainvisual.jpg);
	background-position: center center;
	background-size: cover;
}
#wrap-experience {
	background: url(../reservation/experience/images/bg-mainvisual.jpg);
	background-position: center center;
	background-size: cover;
}
#wrap-rental {
	background: url(../reservation/rental/images/bg-mainvisual.jpg);
	background-position: center center;
	background-size: cover;
}
#wrap-trekking {
	background: url(../reservation/trekking/images/bg-mainvisual.jpg);
	background-position: center center;
	background-size: cover;
}
#wrap-faq {
	background: url(../faq/images/bg-mainvisual.jpg);
	background-position: bottom center;
	background-size: cover;
}
#wrap-contact {
	background: url(../contact/images/bg-mainvisual.jpg);
	background-position: center center;
	background-size: cover;
}
#wrap-group {
	background: url(../reservation/group/images/bg-mainvisual.jpg);
	background-position: center center;
	background-size: cover;
}
#sub-mainvisual {
	box-sizing: border-box;
	width: 100%;
	position: relative;
	min-height: 170px;
	display: flex;
	align-items: center;
	padding: 0 15px;
}
#sub-mainvisual h1 img, #sub-mainvisual h2 img {
    width:440px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
/* 共通調整（paddingなど） */
#about-01,
#hirugatake,
#reservation,
#experience,
#rental,
#trekking,
#faq,
#contact {
	padding-top: 30px;	
}
@media (min-width: 768px) {
	#about-01,
	#hirugatake,
	#reservation,
	#faq,
	#contact {
		padding-top: 50px;
	}
}
#about-01,
#about-02,
#about-03,
#hirugatake,
#experience,
#rental,
#faq,
#trekking,
#contact {
	padding-bottom: 20px;	
}
#about-02 h3.lead,
#about-03 h3.lead,
#camp h3.lead,
#hirugatake h3.lead {
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
}
@media (min-width: 1200px) {
	#about-02 h3.lead,
	#about-03 h3.lead,
	#camp h3.lead,
	#hirugatake h3.lead {
		padding-top: 0;
	}
}
#about-02 h3.lead img:nth-of-type(1) ,
#about-03 h3.lead img:nth-of-type(1),
#camp h3.lead img:nth-of-type(1) ,
#hirugatake h2.lead img:nth-of-type(1),
#reservation h3.lead img:nth-of-type(1) {
	margin-bottom: 15px;
}
#hirugatake h2.lead img:nth-of-type(1){
	margin-top: 50px;
}
@media (max-width: 767px) {
	#about-02 .arrow img,
	#about-03 .arrow img {
		margin-bottom: 0 !important;	
	}
}
#contact h3.lead {
	padding: 0;
	margin-bottom: 0;
}
#about-01 img,
#about-02 img,
#about-03 img,
#lake img,
#camp img,
#hirugatake img,
#reservation img,
#experience img,
#rental img,
#trekking img,
#contact img {
	margin-bottom: 30px;	
}
#lake .ajust,
#camp .ajust,
#hirugatake .ajust {
	padding-left: 0;
	padding-right: 0;
}
.member img{
	margin-bottom: 10px !important;
}
/* 共通調整（その他） */
#contact h3.lead img {
	max-width: 100%;
	height: auto;
}
#about-02 h3.detail,
#lake h3.detail,
#camp h3.detail,
#reservation h3.detail,
#experience h3.detail,
#rental h3.detail,
#trekking h3.detail {
	font-size: 110%;
	text-align: center;
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;
	background: url(../images/bg-stripe.png);
}
#camp h3.detail {
	text-align: center;
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;	
}
#about-02 iframe,
#about-02 .map,
#lake iframe,
#lake .map,
#experience iframe,
#experience .map,
#rental iframe,
#rental .map,
#trekking iframe {
	border: 0;
	display: block;
	margin-bottom: 30px;
}
@media (min-width: 1200px) {
	#about-02 iframe,
	#about-02 .map,
	#lake iframe,
	#lake .map,
	#experience iframe,
	#experience .map,
	#rental iframe,
	#rental .map,
	#trekking iframe {
		margin-bottom: 50px;
	}
}
/* 共通調整（罫線） */
#about-02,
#about-03,
#camp,
#lake,
#shibirekogo,
#hinoki {
	border-top: 1px dotted #999;
}
/* #about */
#about-01 .ajust,
#about-02 .ajust,
#about-03 .ajust,
#lake .ajust-btns {
	padding-right: 0;
	padding-left: 0;
}
#lake .ajust-btns div:nth-of-type(3){
	padding-right: 0;
}
@media (max-width: 768px) {
    #lake .ajust-btns div:nth-of-type(3){
        padding-right: 15px;
    }
}
/* #lake */
#lake p a.link {
	text-decoration: underline;	
	color: #ff8500;
}
#lake p a.link:hover {
	color: #da0f00;
}
/* #reservation */
#reservation .bg-01 {
	background: url(../reservation/images/bg-label-01.svg) no-repeat;
	background-position: right top;	
}
#reservation .bg-02 {
	background: url(../reservation/images/bg-label-02.svg) no-repeat;
	background-position: right top;	
}
#reservation .ajust-01 {
	margin-bottom: 50px;
}
@media (min-width: 992px) {
	#reservation .ajust-01 {
		margin-bottom: 20px;
	}
}
#reservation .ajust-02 {
	padding-left: 0;
	padding-right: 0;	
}
#reservation .box {
	border:	1px solid #ccc;
	margin-bottom: 50px;
	padding: 30px;
}
#reservation .box h3,
#reservation .box h3 img {
	margin-bottom: 0 !important;
}
#reservation .box p:nth-of-type(2) {
	margin-bottom: 0;	
}
#reservation .box a img {
	margin-bottom: 20px;	
	transform: scale(1);
	transition: .3s ease-in-out;
}
#reservation .box a:hover img {
	transform: scale(0.96);
}
.bt-reservation-menu {
	display: block;
	background: #a40000;
	color: #fff;
	padding: 20px 0;
	text-align: center;
	font-size: 100%;
	margin-bottom: 0;
}
.bt-reservation-menu:hover,
.bt-reservation-menu:active,
.bt-reservation-menu:focus {
	color: #fff !important;
	background: #ff8500;
}
.bt-reservation-menu:after {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 10px;	
}
.bt-reservation {
	display: block;
	background: #a40000;
	color: #fff;
	padding: 20px 0;
	text-align: center;
	font-size: 100%;
}
.bt-reservation:hover,
.bt-reservation:active,
.bt-reservation:focus {
	color: #fff;
	background: #ff8500;
}
.bt-reservation:before {
	content: "\f274";
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	margin-right: 5px;	
}
.bt-reservation-contact {
	display: block;
	background: #a40000;
	color: #fff;
	padding: 20px 0;
	text-align: center;
	font-size: 100%;
}
.bt-reservation-contact:hover,
.bt-reservation-contact:active,
.bt-reservation-contact:focus {
	color: #fff;
	background: #ff8500;
}
.bt-reservation-contact:before {
	content: "\f0e0";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;	
}
#experience .ajust,
#rental .ajust,
#trekking .ajust-01 {
	margin-bottom: 30px;
}
@media (min-width: 1200px) {
	#experience .ajust,
	#rental .ajust,
	#trekking .ajust-01 {
		margin-bottom: 50px;
	}
}
#trekking .ajust-02 {
	padding-right: 0;
	padding-left: 0;	
}
/* #contact */
#contact .phone,
#contact .mobile {
	font-size: 120%;
	color: #a40000;	
}
.form {
	padding: 20px;
	margin-bottom: 30px;
	overflow: auto;	
	font-size: 110%;
	color: #333;
	background: url(../images/bg-stripe-alpha.png), #ccc;
}
.form-group {
	margin-bottom: 30px;
}
span.any {
	display: inline-block;
	color: #fff;
	background: #aaa;
	padding: 3px;
	border-radius: 3px;
	font-size: 80%;
}
span.required {
	display: inline-block;
	color: #fff;
	background: #a40000;
	padding: 3px;
	font-size: 80%;
}
.form-parts-title {
	font-size: 85%;
	margin-left: 5px;
}
@media (min-width: 992px) {
	.form {
		padding: 30px;
	}
	.form-parts-title {
		font-size: 90%;
	}
}
label,
.control-label {
	font-weight: 500;
	color: #333 !important;
}
input[type=submit] {
	color: #fff;
	background: #a40000;
	width: 214px;
	padding: 12px 0;
	margin: 0 auto;
	transform: scale(1);
	transition: .3s ease-in-out;
	border-radius: 0;
}
input[type=submit]:hover {
	background: #ff8500;
	color: #fff !important;
}
/* #btn */
.btn-native{
	color: #fff;
	background: #a40000;
	width: 214px;
	padding: 12px 30px;
	/* margin: 0 auto; */
	transform: scale(1);
	transition: .3s ease-in-out;
	border-radius: 0;
}
.btn-native:hover{
	background: #ff8500 !important;
	color: #fff;
}
.btn-native:after {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 10px;	
}
/* #table */
.usage td{
	text-align: center;
}
.usage span{
	font-sizen: 13px;
}
.pc-hidden{
	display:none;
}
@media (max-width: 768px) {
	#about-02-bg .lead{
		width:100%;
	}
    .pc-hidden{
        display:block;
    }
	.craft{
		padding:10px;
	}
	.member{
		padding:10px;
	}
}