@charset "utf-8";

/*-----------------------------------------------------*/
/* PC版 基本スタイル
/*-----------------------------------------------------*/
body {color: #252525;
}
.clearfix {display: block;}
.sp,.under980,.under400 {display:none;}
#container{
	width:100%!important;
	margin:0 auto;
	text-align:left;
    overflow: hidden;
	font-size: 18px;
	font-family: 'Noto Sans', sans-serif, "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo;
	font-weight: 500;
}
.inner{
	max-width: 1260px;
	margin: 0 auto;
	text-align: left;
	padding: 0 3%;
}
.bg-fit {
    position: relative;
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}
ul.indent li {
	text-indent: -1em;
	padding-left: 1em;
}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

#footer_link {
    min-width: auto;
}

.js-fade-in{
  opacity: 0;
}

#footer {
	margin-top: 0;
}

/* ページTOPへ戻るボタン */
#pagetop_btn {width: 100%;box-sizing: border-box;overflow: hidden;}
#pagetop {position: fixed;z-index: 20;opacity: 0;transform: translateX(100px);display: block;cursor: pointer;right: 1%;bottom: 2%;font-size:0.9vw;}
#pagetop a{display: inline-block;transition:all 0.3s;color: #fff;width: 60px;height:60px;box-sizing:border-box;text-decoration: none;position:relative;text-align: center;background-color:#555555;border-radius: 4px;}
#pagetop a span{position: absolute;top: 43%;left: 50%;width: 32%;height: 32%;margin-left: -15%;border-left: 2px solid #fff;border-bottom: 2px solid #fff;-webkit-transform: rotate(135deg);transform: rotate(135deg);-webkit-animation: sdb 2s infinite;animation: sdb 2s infinite;opacity: 0;box-sizing: border-box;}
#pagetop a:hover {text-decoration: none;background: #929292;}
/*　左の動き　*/
#pagetop.LeftMove{animation: LeftAnime 0.5s forwards;}
  @keyframes LeftAnime{from {opacity: 0;transform: translateX(130px);}
	to {opacity: 1;transform: translateX(0);}} 
/*　右の動き　*/
#pagetop.RightMove{animation: RightAnime 0.5s forwards;}
  @keyframes RightAnime{from {opacity: 1;transform: translateX(0);}
	to {opacity: 1;transform: translateX(130px);}}
  @-webkit-keyframes sdb {0% {opacity: 0;}50% {opacity: 1;}100% {opacity: 0;}}
  @keyframes sdb {0% {opacity: 0;}50% {opacity: 1;}100% {opacity: 0;}}
	

/* CPNボタン */
.bookingBtn_2022 a{
	line-height: 1.1;
}


/*-----------------------------------------------------*/
/* パンくずエリアのスタイル
/*-----------------------------------------------------*/

div#breadSns{width:980px;margin:5px auto 0;padding:0;height:32px;}

/*     パンくず
------------------------------------------*/
div#bread{float:left;margin:6px 0 0 5px;}
div#bread p.crumbs{font-size:10px;}

/*    IE用　　*/
div#bread{margin/*\**/: 0 0 0 5px\9;}

/*     SNSボタン用
------------------------------------------*/
#snsBox{
/*	width:400px;*/float:right; margin: 5px 0px 0px 0;vertical-align: top;}

/*    IE用　　*/
#snsBox{margin/*\**/: 0 0 7px 0\9;}

#snsBox ul li{float: left;padding: 0px;display: inline;}
#snsBox ul li.fb{margin: 0px 10px 5px 0px;}
#snsBox ul li.fb div{width:110px!important;}
#snsBox ul li.gg{margin: 0px 10px 5px -10px;}
#snsBox ul li.tw{margin: 0px 10px 5px -10px;}

/*-----------------------------------------------------*/
/* メインビジュアル
/*-----------------------------------------------------*/

figure.top_logo{
	width: 100%;
	height: auto;
	box-sizing: border-box;
	text-align: center;
	margin: 30px auto;
}
figure.top_logo img{
	width: auto;
	margin: 0 auto;
}

.mainvisual{
	background:url(/withgolf/thankscup/proam/2025/images/bg_mainvisual.jpg) no-repeat;
	padding: 0;
	margin: 0 auto;
	width:100%;
	height:100%;
	background-position:center;
	background-size:cover;
}
.mainvisual h1{
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.mainvisual h1 img{
	width: 100%;
    margin: auto;
}


.lead_area .lead {
	font-size: 30px;
	margin-top: 60px;
  display: flex;
  align-items: center;      
  justify-content: center;   
  gap: 0.5em;              
  text-align: center;       
}

.lead_area .lead::before,
.lead_area .lead::after {
  content: "";
  flex: 0 0 30px;          
  border-top: 1px solid #333;
}

.lead_area .schedule {
	text-align: center;
	font-size: 26px;
	margin-bottom: 35px;
}

.lead_area .schedule span {
	font-weight: 900;
	font-size: 32px;
}

.atr_ttl {
	background-color: #080808;
	text-align: center;
	padding: 30px 10px;
}

.atr_ttl h2 {
	font-size: 90px;
	color: #a58b45;
	font-family: "Helvetica", "Arial", sans-serif;
  	font-style: italic;
	letter-spacing: 0.15em;
	margin: 0;
}

.atr_ttl p {
	color: #fff;
	font-size: 28px;
	margin-bottom: 15px;
}

.atl_bg {
	background-color: #f4f4f4;
	padding: 90px 0 160px;
	margin-bottom: 120px;
}

.atl_area h2{
	margin-bottom: 70px;
	line-height: 1.4em;
}

.atl_area .pro_area{
 display: grid;
  grid-template-columns: repeat(3, 1fr); 
  gap: 80px; 
  max-width: 1260px;
  margin: auto;
}

.atl_area .pro_area .pro img {
	width: 100%;
  height: auto;
  display: block;
  margin-bottom: 30px;
}

.atl_area .pro_area .pro p {
	font-size: 28px;
	text-align: center;
	font-weight: bold;
	margin: 25px 0 30px 0px;
}

.pro .pro_btn {
	background-color: #977e3b;
	border-radius: 47px;
	 transition: 
    background-color 0.3s,
    transform 0.3s,
    box-shadow 0.3s;
}

.pro .pro_btn:hover {
	background-color: #79642a;
	transform: scale(1.05);    
}

.pro .pro_btn .btn_flex {
	position: relative;
	display: flex;
	justify-content: center;
	padding: 10px 40px; 
}

.pro .pro_btn a {
	text-decoration-line: none;
}

.atl_area .pro .pro_btn .pro_name {
	color: #fff;
	margin: 3px 0;
	font-size: 28px;
}

.triangle-right {
	position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 14px solid #fff;
  transition: transform 0.3s; 
}

.pro .pro_btn:hover .triangle-right{
	transform: translateY(-50%) translateX(5px);
}

.pro .pro_btn .pro_name span {
	font-size: 21px;
	padding-top: 5px;
}

.br_980 {
    display: none;
}

.br_910{
	display: block;
}

.br_450{
	display:none;
}
        
	@keyframes arrowyoko_wgc {
		0% {
			right: 0.2em;
		}
		100% {
			right: -.2em;
			opacity: 0;
		}
	}

/*-----------------------------------------------------*/
/* 概要エリアのスタイル
/*-----------------------------------------------------*/
h2 {
	font-size: 35px;
	text-align: center;
	font-weight: normal;
	font-weight: bold;
	margin: 0em auto .5em;
}
.inner p.read , .inner p.read_2023{
	width: 100%;
	text-align: center;
	font-weight: bold;
	font-size: 1.3em;
	line-height: 1.8em;
}

.inner p.read {
	padding: 50px 0px;
}

.inner p.read_2023 span.onsale{
	display: block;
	font-size: 1.5em;
	margin-bottom: 2.5em;
	line-height: 1.5;
    background-image: radial-gradient(circle, rgba(170, 153, 113, 0.25) 3%, rgba(156, 135, 84, 1));
	padding: 1em 0 1em;
}
.inner p.read_2023 span em{
	font-style: normal;
	font-size: .7em;
	display: block;
}
.inner p.read_2023 span {
	display: block;
    font-size: 28px;
    margin-bottom: 2.5em;
    line-height: 1.5;
    background-color: #c77389;
    padding: 1em 0 1em;
}
.inner .reception {
	margin-top: 50px;
	font-size: 3em;
	text-align: center;
	font-weight: bold;
}
.under_text {
	display: block;
	font-size: 28px;
	margin-bottom: 2.5em;
}
.under_text em {
	display: block;
	font-style: normal;
	font-size: .7em;
}
.inner p.note{
	width: 100%;
	margin: 0 auto;
	text-align: center;
	color: red;
	font-weight: bold;
	font-size: 20px;
}
.outline{
	margin: 60px auto 30px;
	}
	.outline table{
		display: table;
		border-collapse:collapse;
		margin: auto;
		text-align: left;
		table-layout: fixed;
		width: 100%;
	}
	.outline tbody{
		width: 100%;
		table-layout: fixed;
	}
	.outline tr {
		border-top: solid 2px #f0f0f0;
	}
	.outline table:last-child{
		border-bottom: solid 2px #f0f0f0;
	}
	.outline th,
	.outline td{
		padding:.8em 1em;
		text-align:left;
		color: #000;
		line-height: 1.6;
	}
	.outline th{
		/* background-color:#F0F0F0; */
		vertical-align: top;
		width: 14.5em;
	}
	.outline .club_em {
		font-size: 1.3em;
		font-weight: bold;
	}
	.outline .club_list {
		display: inline-block;
		text-indent: -1em;
		padding-left: 1em;
	}

	.outline li {
		margin-left: 1em;
		text-indent: -1em;
	}
	.outline dl.in_flex{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-bottom: .7em;
	} 
	.outline dt span{
		font-weight: normal;
		display: inline-block;
		padding: .1em .5em;
		border: solid 1px #000;
		background-color: #f0f0f0;
		white-space: nowrap;
	}
	.outline dd {
		margin-left: .5em;
		margin-top: .1em;
	}
    .inner p.read_2023 a::after {
    content: ">>";
    right: 0.2em;
    font-family: "MS PMincho";
    letter-spacing: -.2em;
    }
    .inner p.read_2023 a {
    display: inline-block;
    position: relative;
    text-align: center;
    font-size: 1em;
    color: #fff;
    transition: all .3s;
    }
    .inner p.read_2023 a:hover{
	transform: scale(1.05, 1.05);
    }
    .inner p.read_2023 a:hover::after{
	animation: arrowyoko_wgc infinite .7s ease-in;
    }
    .inner .read a:visited{
	color: #000;
    }
    .br_900{display: block;}

	/* 特典エリア */
	.privilege_area{
		background-color: #aa9971;
		padding-left: calc(50vw - 50%);
		padding-right: calc(50vw - 50%);
		margin-left: calc(-50vw + 50%);
		margin-right: calc(-50vw + 50%);
	}
	.privilege_area ul{
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: .8em 2em 1.2em;
		align-items: center;
		box-sizing: border-box;
	}
	.privilege_area ul li p{
		padding: 1em 0 0 2em;
		font-weight: bold;
		font-size: 1.2em;
		line-height: 1.5em;
		color: #3b3b3b;
	}

	/* 承諾事項 */
	.agree_p {
		text-align: center;
		padding: .5em 0 2em;
		width: 980px;
		margin: 0 auto;
	}
	.bg_gr {
		box-sizing: border-box;
		background-color: #f0f0f0;
		text-align: left;
		padding: 2em 0;
		position: relative;
		padding-left: calc(50vw - 50%);
		padding-right: calc(50vw - 50%);
		margin-left: calc(-50vw + 50%);
		margin-right: calc(-50vw + 50%);
	}
	.agree_p {width: 100%;}
	.bg_gr div.bg_wt {
		/* width: 980px; */
		width: 100%;
		margin: 0 auto;
		padding: 2em 2em;
		background-color: #fff;
		line-height: 1.6;
		margin-bottom: 2em;
		box-sizing: border-box;
	}
	.bg_gr div.bg_wt h3 {
		text-align: center;
		margin-bottom: .8em;
		font-size: 20px;
	}
	.bg_gr div.bg_wt ul{
		display: block;
	}
	.bg_gr div.bg_wt li {
		display: block;
		margin-left: 1em;text-indent: -1em;
		margin-bottom: .25em;
	}

/* other_btn_area */
.other_btn_area{
	padding: 2em 0 3em;
	margin: 0 auto;
	text-align: center;
}
.other_btn{
	font-size: 28px;
	font-weight: bold;
    position: relative;
  text-decoration: none;
  display: inline-block;
    background: transparent;
  border-radius: 9999px;
    outline: none;
    transition: all 0.2s ease;
}

/*hoverをした後のボタンの形状*/
.other_btn:hover{
  border-color:transparent; 
}

/*ボタンの中のテキスト*/
.other_btn span {
  position: relative;
  z-index: 2;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
    /*テキストの形状*/
  display: block;
  padding: .5em 2em;
  background:#E52387;
  border-radius: 9999px;
  color:#fff;
    /*アニメーションの指定*/
    transition: all 0.3s ease;
}
.other_btn span::before{
	content: '';
  display: inline-block;
  width: 1.8em;
height: 1.3em;
  background-image: url(/images/htmls/mynavi/2023/1/icon_vote.png);
  background-size: cover;
  vertical-align: middle;
  margin: 0 .2em 0 -.7em;
  }
.other_btn span::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: .4em;
	height: .4em;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	background: none;
	right: 25px;
  }

/*== 下に押し込まれる（立体が平面に） */

/*影の設定*/
.pushdown:before {
    content:"";
    /*絶対配置で影の位置を決める*/
    position: absolute;
  z-index: -1;
    top:6px;
    left:0;
    /*影の形状*/
    width: 100%;
    height: 100%;
  border-radius: 9999px;
    background-color: #A51B6D;
}

/*hoverの際にY軸に4pxずらす*/
.pushdown:hover span {
  background-color: #E52387;
  color: #fff;
  transform: translateY(4px);
}

.address {
	margin: 16px auto;
	text-align: center;
	display: block;
}
.address p {
	text-align: left;
	display: inline-block;
}

span.bookingbtn{
	font-size: 18px;
}

/*--------------------------------------------------------------------*/
/* レスポンシブル対応
/*--------------------------------------------------------------------*/

@font-face {
    font-family: 'WebSymbolsgfeditRegular';
    src: url('/css/font/websymbols_gf-edit-webfont.eot');
    src: url('/css/font/websymbols_gf-edit-webfont.eot?#iefix') format('embedded-opentype'),
         url('/css/font/websymbols_gf-edit-webfont.woff') format('woff'),
         url('/css/font/websymbols_gf-edit-webfont.ttf') format('truetype'),
         url('/css/font/websymbols_gf-edit-webfont.svg#WebSymbolsRegular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@media screen and (max-width:1300px) {
	.inner p.read_2023 {width: 90%;
		           margin: 0 auto;
	}
}

@media screen and (max-width:1260px) {

.lead_area .lead {
	font-size: 2.38vw;
}

.lead_area .lead::before, .lead_area .lead::after {
    content: "";
    flex: 0 0 15px;
}

.lead_area .schedule span {
	font-size: 2.53vw;
}

.lead_area .schedule {
	font-size: 2.06vw;
}
.atl_area .pro_area {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
  gap: 70px 35px;
  max-width: 1260px;
  margin: auto;
  justify-items: center; 
}
.atl_area .pro_area > * {
  max-width: 370px;
  margin: 0 auto; 
}

}

@media screen and (max-width:980px) {
    .sp {display: none;}
	#container{width: 100%;margin: 18px auto 0;}
	div#breadSns{width:100%;}
	.br_980{display: block;}
	.inner{width: 100%;padding: 0 3%;box-sizing: border-box;}
	.img_finish img {width: 100%;}
	
	/* メインビジュアル */

	.mainvisual h1 img{
		width: 107%;
	}

	.atr_ttl h2 {
		font-size: 7.5vw;
	}

	.atl_bg{
	padding: 90px 0 130px;
	margin-bottom: 90px;
	}

	.atr_ttl p {
		font-size: 2.6vw;
	}

	figure.top_logo {
		width: 70%;
	  }
	  figure.top_logo img{
		width: 100%;
	  }
	  .inner p.read_2023 span {
		font-size: 28px;
	  }
	  .inner p.read_2023 span em {
		margin-top: .8em;
	  }

	  .under_text{
		/* font-size: 2.7vw; */
		font-size: 3.5vw;
		margin-bottom: 1.5em;
	  }
	  .under_text em {
		margin-top: .5em;
	  }
	  

}

@media screen and (max-width:910px){
.br_910{
	display: none;
}
}

@media screen and (max-width:900px){
    .br_900{display: none;}
}

@media screen and (max-width:760px){
	.over760{display: none;}
}

@media screen and (max-width:640px) {
    .sp {display: block;}
    #footer {display: none;}
    #breadSns {display: none;}
    header.common .logo {float: left;width: 275px;}
    header.common .navi li {float: right;padding-top: 15px;}
    #container{width:100% !important;position:relative;margin: 0;}
	div.prizeArea p{margin: 0 ;}
	.img_finish img {width: 90%;margin: 4% 5%;text-align: center;}
	h2.pro_read {font-size: 4vw;padding: 12px 0;}

	#pagetop {
    right: 3%;
}

/*-----------------------------------------------------*/
/* メインビジュアルなど
/*-----------------------------------------------------*/
	figure.top_logo {
		width: 85%;
	}

	.mainvisual{background: none;}
	.mainvisual h1 {width: 100%;padding: 0;}
	.mainvisual h1 img{
		width: 100%;
	}
	.atr_ttl h2 {
	font-size: 10.5vw;
	}

	.atr_ttl p {
    font-size: 4.2vw;
	line-height: 1.5em;
}

.lead_area .lead{
	font-size: 4.5vw;
	margin: 45px 0 20px;
	line-height: 1.5em;
}

.lead_area .schedule{
	font-size: 4vw;
	margin-bottom: 15px;
	line-height: 1.5em;
}

.lead_area .schedule span {
    font-weight: 900;
    font-size: 5.5vw;
}

.lead_area .lead::before, .lead_area .lead::after {
    display: none;
}

.atl_bg {
	padding: 65px 0 100px;
    margin-bottom: 60px;
}

.atl_area .pro_area > * {
    width: 90%;
}

.atl_area .pro_area .pro img{
	margin-bottom: 20px;
}

.atl_area .pro .pro_btn .pro_name {
    font-size: 22px;
}

.atl_area h2 {
	margin-bottom: 40px;
}

.atr_ttl p{
	margin-bottom: 0;
}

.pro .pro_btn .pro_name span {
    font-size: 18px;
    padding-top: 5px;
}
.atl_area .pro_area .pro p {
	font-size: 24px;
	margin: 20px 0 25px 0px;
}	

.pro .pro_btn .btn_flex {
	padding: 8px 40px;
}

.pro .pro_btn{
	width: 90%;
	margin: 0 auto;
}

/* -------------------------------------------------------------- */
/* ボタンエリアのスタイル
/* -------------------------------------------------------------- */

	/*キャンペーン詳細を確認する*/
	ul.btnArea_top{margin: 30px 0;}
	ul.btnArea_top li {width: 100%;padding: 3px 0;box-sizing: border-box;}

	.campaignBtn_2022 {
		/* width: 66%; */
		font-size: 5vw;
	  }
	  .campaignBtn_2022 a, .bookingBtn_2022 a {
		padding: 0.65em 1em 0.5em 0.5em;
		border-radius: 7px;
	  }
	  .bookingBtn_2022 {
		margin: 6% auto 10%;
	  }
	
	  span.bookingbtn{
	  font-size: 3.5vw;
	  }

  /*-----------------------------------------------------*/
/* 概要エリア */
/*-----------------------------------------------------*/
.inner h2{
	font-size: 6.5vw;
}
.inner .reception {
	font-size: 2em;
}
.inner p.read_2023 {
	font-size: 3.5vw;
  }
  .inner p.read_2023 span {
	padding: 1.5em .5em 1.5em;
	font-size: 4vw;
  }
  .inner p.read_2023 span.onsale{
	font-size: 26px;
  }
  .inner p.read_2023 span em {
	margin-top: .8em;
  }
  .under_text{
	margin-top: 1em;
	font-size: 20px;
  }
  .under_text.onsale {
font-size: 28px;
  }

.inner p.note {
	margin-bottom: 2em;
}
.outline {
	width:96%;
	display: block;
	box-sizing: border-box;
	margin: 0 auto 30px;
}

.outline th, .outline td {
	display: block;
	/* width: 100%; */
}	
.outline th {
	font-size: 1.3em;
	width: 85vw;
	
}
.outline td {
	border-top: solid 2px #f0f0f0;
}
.outline dl.in_flex{
	display: block;
}

.inner p.read, .inner p.read_2023 {
    font-size: 4vw;
}
	
.inner p.read_2023 span {
    padding: none;
}
	
.inner p.note{
	font-size: 4vw;
}
	
#container {
	font-size: 4.0vw;
}



/* ボタンエリア */
.bookingBtn_2022{
	font-size: 5vw;
}
.other_btn_area{
	padding: 0;
	margin: 0 auto 6em;
}
.other_btn{
	font-size: 5vw;
}
	
.address p {
    font-size: 3.2vw;
}

}

@media screen and (max-width:450px) {
.br_450{
	display:block;
}
	
    .inner p.read_2023 span {
        padding: 1.5em .5em 1.5em;
        font-size: 5vw;
    }
	
}

@media screen and (max-width:400px) {
	.under400 {display:block;}
	.about_wg p,.about_wg a{
		font-size: 4vw;
	  }
	  .about_wg_area img.under980 {
		width: 97%;
		top: 82%;
		left: -5%;
	  }

	  .about_wg h2 {
		font-size: 7vw;
		margin: 1em auto 1em;
	  }
	  .about_wg_area img.sp {
		top: 84%;
	  }
	  .about_wg a {
		margin-top: 2em;
		margin-bottom: 2em;
	  }
	  .other_btn span::after {
		right: 17px;
	  }

	  span.bookingbtn{
	  font-size: 3.5vw;
	  letter-spacing: 0.1em;
	  }
}