@charset "utf-8";


/* home =============================================================
======================================================================== */


/* Loading
=========================================================================================== */

	@-webkit-keyframes fadeOut {
		0% { opacity: 1; background: #f6ae19; z-index: 6000; }
		30% { opacity: 1; background: #f6ae19; z-index: 6000; }
		50% { opacity: 1; background: #fff; z-index: 6000; }
		70% { opacity: 1; background: #fff; z-index: 6000; }
		100% { opacity: 0; z-index: -1; }
	}
	@keyframes fadeOut {
		0% { opacity: 1; background: #f6ae19; z-index: 6000; }
		30% { opacity: 1; background: #f6ae19; z-index: 6000; }
		50% { opacity: 1; background: #fff; z-index: 6000; }
		70% { opacity: 1; background: #fff; z-index: 6000; }
		100% { opacity: 0; z-index: -1; }
	}


	@-webkit-keyframes first {
		0% { background-position: 0 0; -webkit-transform: translate(0, 0); }
		100% { background-position: -350px 0; -webkit-transform: translate(-40px, 0); }
	}	
	
	@keyframes first {
		0% { background-position: 0 0; transform: translate(0, 0); }
		100% { background-position: -350px 0; transform: translate(-40px, 0); }
	}


	@-webkit-keyframes opening {
		0% { opacity: 0; }
		30% { opacity: 0; }
		50% { opacity: 1; }
		80% { opacity: 1; }
		100% { opacity: 0; }
	}	
	@keyframes opening {
		0% { opacity: 0; }
		30% { opacity: 0; }
		50% { opacity: 1; }
		80% { opacity: 1; }
		100% { opacity: 0; }
	}
	

	#loading {
		opacity: 0;
		z-index: 6000;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		zoom: 1;
		-webkit-animation: fadeOut 6.0s forwards;
		animation: fadeOut 6.0s forwards;
		}


	#loading .logo-first {
		display: inline-block;
		position: absolute;
		top: 50%;
		left: 41%;
		width: 50px;
		height: 50px;
		overflow: hidden;
		background: url(../img/home/loading_first.png) no-repeat; 
		vertical-align: top;
		-webkit-animation: first steps(7) 3s forwards;
		animation: first steps(7) 3s forwards;
		}
	@media print, screen and (min-width: 768px) {
		#loading .logo-first {
			margin-top: -20px;
			}
	}
	@media (max-width: 767px) {
	}


	#loading .logo {
		display: block;
		position: absolute;
		top: 50%;
		text-align: center;
		-webkit-animation: opening 6.0s forwards;
		animation: opening 6.0s forwards;
		}
	@media print, screen and (min-width: 768px) {
		#loading .logo {
			left: 50%;
			width: 356px;
			height: 63px;
			margin: -31px 0 0 -178px;
			}
	}
	@media (max-width: 767px) {
		#loading .logo {
			width: 100%;
			height: auto;
			margin: -5% 0 0 ;
			}
		#loading .logo img {
			width: 90%;
			}
	}





/* Head slider
=========================================================================================== */

	/* slider */

	.p-topSlider {
		clear: both;
		position: relative;
		overflow: hidden;
		}
	@media print, screen and (min-width: 768px) {
 		.p-topSlider {
			height: 760px;
			min-width: 980px;
			}
			.p-topSlider .slideL {
				position: absolute;
				top: 0;
				left: 0;
				height: 497px;
				width: 1920px;
				}
 		.p-topSlider .slideL .p-slideText {
			position: absolute;
			top: 350px;
			left: 0;
			width: 100%;
			text-align: center;
			}

		.slideS {
			display: none;
			}
	}
	@media (min-width: 768px) and (max-width: 1919px) {
			.p-topSlider .slideL {
				left: -50%; /*IE9未満とかプレフィックス使ってもだめなブラウザやOS対応*/
				left: -webkit-calc((100vw - 1920px) / 2);/*Chrome19~25対応*/
				left: -moz-calc((100vw - 1920px) / 2);/*Firefox4~15対応*/
				left: calc((100vw - 1920px) / 2);  
				}
	}
	@media (min-width: 768px) and (max-width: 768px) {
			.p-topSlider .slideL {
				left: -50%; /*IE9未満とかプレフィックス使ってもだめなブラウザやOS対応*/
				left: -webkit-calc((100vw - 1700px) / 2);/*Chrome19~25対応*/
				left: -moz-calc((100vw - 1700px) / 2);/*Firefox4~15対応*/
				left: calc((100vw - 1700px) / 2);  
				}
	}
	@media (max-width: 767px) {
 		.p-topSlider .slideS .p-slideText {
			position: absolute;
			top: 45%;
			left: 0;
			width: 100%;
			text-align: center;
			}
			.p-topSlider .slideS .p-slideText img {
				width: 95%;
				}

		.slideL {
			display: none;
			}

 		.p-topSlider {
			line-height: 0;
			}
	}





/* Event banner
=========================================================================================== */

.p-eventBn {
	width: 100%;
	position: relative;
	z-index: 2;
	background-color: #362D1A;
	overflow: hidden;
	vertical-align: middle;
	}
	@media print, screen and (min-width: 768px) {
		.p-eventBn {
			height: 240px;
			/*margin-top: 100vh;*/
			min-width: 1000px;
			}
	}
	@media (max-width: 767px) {
		.p-eventBn {
			height: 40vw;
			/*margin-top: 115%;
			margin-top: -webkit-calc(110% + 50px);
			margin-top: -moz-calc(110% + 50px);
			margin-top: calc(110% + 50px);*/
			}
	}



/* slider (base)
--------------------------------------------------------- */
.slideCell {
    display: block;
}

.slideGuide .slideCell {
    float: left;
    margin-right: 5px;
}

.slideGuide.up .slideCell, .slideGuide.down .slideCell {
    float: none;
    margin-right: 0;
    margin-bottom: 10px;
}

/* controller */
.slideCtrl {
    position: absolute;
    background-color: #333;
    background-color: rgba(255, 255, 255, 0.55);
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}

    .slideCtrl.left, .slideCtrl.right {
        top: 0;
        width: 90px;
        height: 100%;
    }

    .slideCtrl.up, .slideCtrl.down {
        left: 0;
        width: 100%;
        height: 60px;
        font-size: 14px;
        line-height: 60px;
    }

    .slideCtrl.left {
        left: 0;
    }

    .slideCtrl.right {
        right: 0;
    }

    .slideCtrl.up {
        top: 0;
    }

    .slideCtrl.down {
        bottom: 0;
    }


/* slider-event
--------------------------------------------------------- */

	@media print, screen and (min-width: 768px) {
		#slider-event .slideCell {
			width: 240px;
			height: 160px;
			margin-top: 40px !important;
			margin-right: 15px !important;
			}
	}
	@media (max-width: 767px) {
		#slider-event .slideCell {
			width: 40vw;
			height: 25vw;
			margin-top: 6.5vw; !important;
			margin-right: 4vw !important;
			}
	}





/* link banner01
=========================================================================================== */

	@media print, screen and (min-width: 768px) {
/* コロナ関係お知らせが無いとき	.p-linkBn01 {
			height: 350px;
			background: url(../img/home/bg_link01.jpg) repeat-x center top;
			} */
/* コロナ関係お知らせがあるとき start */
		.p-linkBn01 {
			background: #625230 url(../img/home/bg_link01b.jpg) repeat-x center bottom;
			padding: 30px 0;
			}
/* コロナ関係お知らせがあるとき end */
		.p-linkBn01 ul {
			margin-top: 50px;
			}
		.p-linkBn01 li {
			width: 310px;
			position: relative;
			}
			.p-linkBn01 li:after {
				content: url(../img/home/img_link01under.png);
				position: absolute;
				bottom: -20px;
				left: 50%;
				margin-left: -155px;
				}
		.p-linkBn01 li a {
			display: inline-block;
			width: 100%;
			-webkit-transition:  all 0.5s 0s ease;
			-moz-transition:  all 0.5s 0s ease;
			-o-transition:  all 0.5s 0s ease;
			transition:  all 0.5s 0s ease;
			}
			.p-linkBn01 li a:hover {
				-webkit-transform: translate(0, 2px);
				-moz-transform: translate(0, 2px);
				-o-transform: translate(0, 2px);
				transform: translate(0, 2px);
				}

 		.p-infoBn {
			position: absolute;
      /* top: -420px; 来場回数マスターズのバナーのみの場合 */
      /* top: -320px; 流れるバナー非表示 */
      /* top: -250px; 流れるバナー非表示 Ver.2 */
      /* top: -560px;  はまなす会バナー+バナーありver */
      /* top: -560px;  はまなす会バナー+バナー1個ver */
      top: -250px;
      /* top: -320px; はまなす会バナーのみver */
      /* top: -640px; ホールインワン達成者バナー+来場回数マスターズバナーver */
			left: 15px;
			}
			.p-infoBn ul {
				margin-top: 0;
				}
 			.p-infoBn li::after {
				content: "";
				}
			
		.p-reservationBn {
			position: absolute;
			/*top: -410px; 流れるバナー非表示*/
			top: -280px; /*バナー2個ver*/
			/*top: -673px; バナー3個ver*/
            /*top: -800px; バナー4個ver*/
			right: 20px;
			}
			.p-reservationBn figure {
				margin-bottom: 20px;
				}
		.p-reservationBn a {
			position: relative;
			}
			.p-reservationBn a:hover {
				top: 1px;
				left: 1px;
				}
	}
	@media (min-width: 1921px) {
 		.p-infoBn {
			position: absolute;
			top: -250px;/**/
      /*top: -560px; はまなす会バナー*/
			right: 20px;
			right: -webkit-calc( 50vw - 900px);
			right: -moz-calc(50vw - 900px);
			right: calc(50vw - 900px);  
			}
	}
	@media screen and (min-width: 768px) and (max-width: 1920px) {
 		.p-infoBn {
			position: absolute;
			/*top: -360px; バナー3個ver*/
			/*top: -250px; バナー2個ver*/
			right: 20px;
			}	
			.p-infoBn li {
				width: auto;
				}
    .p-infoBn li a {
      width: auto;
      }
		.p-infoBn-line {
			/*top: -270px;*/
			/*top: -391px; LINEバナー+バナー*/
			/*top: -425px; LINEバナー+バナー(h135px)*/
			top: -530px; /*LINEバナー+バナー(h238px)*/
			}
		img.p-img-longrun {
			width: 267px;
			}
	}
	@media (max-width: 767px) {
		.p-linkBn01 {
			background: #625230 url(../img/home/bg_link01t-sp.jpg) no-repeat top center;
			background-size: 100% auto;
			}
		.p-linkBn01 > div {
			background: url(../img/home/bg_link01b-sp.jpg) no-repeat bottom center;
			background-size: 100% auto;
			}
		.p-linkBn01 ul {
			width: 80%;
			margin: 7% auto 0 auto;
			}
		.p-linkBn01 li {
			width: 100%;
			margin-bottom: 3%;
			}
		.p-linkBn01 li a {
			display: inline-block;
			width: 100%;
			text-align: center;
			}
		.p-linkBn01 li img {
			max-width: 290px;
			width: 100%;
			}
 		.p-infoBn {
			text-align: center;
			}
 		.p-infoBn img {
			width: 80%;
			max-width: 409px;
			}
			
		.p-reservationBn figure {
			text-align: center;
			margin: 20px 0;
			}
	}








/* link schedule
=========================================================================================== */

	.p-schedule {
		}
	.p-schedule h2 {
		}
	@media print, screen and (min-width: 768px) {
		.p-schedule {
			background: url(../img/home/bg_schedule.jpg) no-repeat center top;
			background-attachment: fixed;
			height: 350px;
			overflow: hidden;
			background-size: cover;
			}
	}
	@media (max-width: 767px) {
		.p-schedule {
			background: url(../img/home/bg_schedule-sp.jpg) repeat-y center bottom;
			background-attachment: fixed;
			height: 330px;
			overflow: hidden;
			background-size: 100% auto;
			}
	}




/* link banner02
=========================================================================================== */

.p-linkBn02 {
	background: #f1ebdf url(../img/home/bg_link02.jpg) repeat-x center bottom;
	text-align: center;
	padding: 50px 0;
	}
	.p-linkBn02 li {
		width: 310px;
		height: 152px;
		}
	.p-linkBn02 li:nth-child(1) {
		background: url(../img/home/bn_link02-a.jpg) no-repeat center center;
		}
	.p-linkBn02 li:nth-child(2) {
		background: url(../img/home/bn_link02-b.jpg) no-repeat center center;
		}
	.p-linkBn02 li:nth-child(3) {
		background: url(../img/home/bn_link02-c.jpg) no-repeat center center;
		}

	.p-linkBn02 li a {
		display: inline-block;
		width: 100%;
		height: 100%;
		color: #fff;
		text-decoration: none;
		}
	.p-linkBn02 li a:hover {
		background-color: rgba(0,0,0,0.3);
		}
	.p-linkBn02 li span {
		display: block;
		margin-top: 4.5rem;
		margin-bottom: 0.5rem;
		font-size: 2.8rem;
		}

	@media print, screen and (min-width: 768px) {
	}
	@media (max-width: 767px) {
	}








/* News / Instagram / Drone
=========================================================================================== */

	.p-homeNews h2 span {
		display: block;
		}
	.p-homeNews h2 span:first-child {
		color: #666;
		}
		.p-homeNewsTit::before {
			content: url(../img/home/icon_news.gif);
			position: absolute;
			}
		.p-homeNewsTit.p-homeInstaTit::before {
			content: url(../img/home/icon_insta.gif) !important;
			}
		.p-homeNewsTit {
			margin-bottom: 25px;
			position: relative;
			}
		.p-homeNews h2 {
			font-size: 2.2rem;
			margin-left: 70px;
			line-height: 1.2;
			}
		.p-homeNews h2 span:first-child {
			font-size: 1.2rem;
			}
	@media print, screen and (min-width: 768px) {
		.p-homeNews h2 {
			float: left;
			}
		.p-homeNewsTit::before {
			left: 0;
			top: -1px;
			}
	}
	@media (max-width: 767px) {
		.p-homeNews h2 {
			text-align: center;
			}
		.p-homeNewsTit::before {
			left: 50%;
			margin-left: -90px;
			top: -1px;
			}
		.p-homeNewsTit.p-homeInstaTit {
			margin-top: 30px !important;
			}
		/*.p-homeNewsTit {
			margin-top: 60px;
			text-align: center;
			position: relative;
			}
		.p-homeNewsTit::before {
			left: 48%;
			left: -webkit-calc(50% - 21px);
			left: -moz-calc(50% - 21px);
			left: calc(50% - 21px);
			top: -48px;
			}
		.p-homeNews h2 {
			margin-top: 10px;
			font-size: 2.0rem;
			padding-top: 20px;
			}
		.p-homeNews h2 span:last-child {
			font-size: 1.2rem;
			}*/
		.p-btnPC {
			display: none !important;
			}
	}
	
	a.c-btnDouble02 span.u-displayBlock {
		line-height: 100%;
		}
	a.c-btnDouble02 span.c-btnSpan {
		padding: 0;
		}
	
	/* Drone banner */
		.p-drone a {
			display: inline-block;
			width: 100%;
			height: 100%;
			color: #fff;
			text-decoration: none;
			}
		.p-drone span {
			display: block;
			text-align: center;
			margin-top: 4.5rem;
			font-size: 2.8rem;
			text-shadow: 2px 2px 1px rgba(103,83,58,1);
			}
	@media print, screen and (min-width: 768px) {
		.p-drone {
			width: 460px;
			height: 150px;
			background: url(../img/home/bn_drone.jpg) no-repeat center center;
			}
		.p-drone a:hover {
			background-color: rgba(103,83,58,0.3);
			}
		.p-drone span {
			font-size: 2.8rem;
			}
	}
	@media (max-width: 767px) {
		.p-drone {
			background: url(../img/home/bn_drone-sp.jpg) no-repeat center center;
			background-size: contain;
			width: 340px;
			height: 145px;
			margin-left: auto;
			margin-right: auto;
			}
	}




	.p-homeNewsList {
		overflow-y: scroll;
		padding: 0 5px 0 0;
		margin: 20px 5px;
		}
		.p-homeNewsList dl {
			padding: 0 5px 10px 5px;
			}
		.p-homeNewsList dt {
			color: #336633;
			}
			.p-homeNewsList dt::before {
				content: url(../img/common/icon_retenG.gif); 
				position: relative; 
				top: 3px;
				margin-right: 8px;
				}
		.p-homeNewsList dd {
			padding-left: 28px;
			}
			.p-homeNewsList dd a {
				text-decoration: none;
				color: #000;
				}
			.p-homeNewsList dd a:hover {
				text-decoration: underline;
				}
		@media print, screen and (min-width: 768px) {
			.p-homeNewsList {
				height: 450px;
				}
		}
		@media (max-width: 767px) {
			.p-homeNewsList {
				height: 200px;
				}
		}
		
	
#tumblr {
	/* width:100%;	ブロック横幅 */ 
	height:180px;　/* ブロック縦幅 */ 
	overflow: auto;   /* スクロール表示 */ 

	/* 上記でもスクロールが表示されない場合は、上記oveflow指定をhtmlのtumblr部分に直接書く */
 
	padding: 20px;
	/*font-size:14px;*/
	line-height:150%;
}


#tumblr img{
	width:100%;	/* 画像あり投稿の場合のサムネイルサイズ */ 
}

#tumblr strong{
	color:red;	/* tumblr側で太字にした場合に、サイト側で何色にするかの設定 */ 
}

#tumblr .post{
	color:#3F4E74;
	font-weight:bold;	/* 日付とタイトル */ 
	list-style:none;
	text-align:left;
	margin-bottom:6px;
}

#tumblr a{
	color: #F00;
/*	color:#3F4E74;	 タイトル */ 
}

#tumblr .post_c{
	border-bottom:1px dotted;	/* 本文 */ 
	margin-bottom:15px;
	text-align:left;
}

#tumblr .post_c p {
	margin:6px 0px;
}



/* Instagram
=========================================================================================== */

.instashow-gallery .instashow-gallery-control-arrow::after,
.instashow-gallery .instashow-gallery-control-arrow::before {
	background-color: #669900 !important;
	}

	@media print, screen and (min-width: 768px) {
		#sb_instagram {
			padding-top: 55px !important;
			}
	}
	@media (max-width: 767px) {
		#sb_instagram {
			padding-top: 25px !important;
			}
	}



/* Googlemaps
=========================================================================================== */

	@media print, screen and (min-width: 768px) {
		.p-gmap {
			width: 100%;
			height: 450px;
			}
		.p-gmap iframe,
		.p-gmap object,
		.p-gmap embed {
			width: 100%;
			height: 450px;
			}
	}
	@media (max-width: 767px) {
		.p-gmap {
			position: relative;
			padding-bottom: 56.25%;
			padding-top: 30px;
			height: 0;
			overflow: hidden;
			}
		.p-gmap iframe,
		.p-gmap object,
		.p-gmap embed {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			}
	}


