@charset "utf-8";

:root{
	--font-family-shippori: 'Shippori Mincho B1', serif;
}

/*-----------------------------------------------------*/
/* PC版 基本スタイル
/*-----------------------------------------------------*/

.clearfix {
	display: block;
}

.sp {
	display:none;
}

#container{
	width:100%;
	margin:0 auto;
	text-align:left;
}

.inner{
	width: 1260px;
	margin: 0 auto;
	font-family: var(--font-family-shippori);
	font-weight: 400;
}

ul#gnavi.menu6 li{width:15%;}

.attention{
	color:red;
	font-weight:bold;
}

.textmin{
	font-family: "Crimson Text", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

img {
	-webkit-backface-visibility: hidden;
}

.textyuu {
    font-family: "游ゴシック", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
    font-weight: 600;
}

#footer.clearfix:after {
    content: "";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}

#cp-detail {
	margin-top: 0!important;
	padding-top: 0!important;
}
.cp-top-image{
	margin: 70px 0;
}
.cp-top-image img{
  width: 100%;
  height: auto;
}
.cp-lead{
	margin-top: 15px;
	font-family: var(--font-family-shippori);
	font-size: 20px;
	font-weight: 400;
	text-align: center;
}

#footer_link {
    min-width: auto;}

	.under980 {
		display: none;
	}
/*-----------------------------------------------------*/
/* パンくずエリアのスタイル
/*-----------------------------------------------------*/

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;
}

/*--------------------------------------------------------------------*/
/* G-Naviのスタイル
/*--------------------------------------------------------------------*/

ul#gnavi{
	display:block;
	margin:15px auto;
	border-right:1px solid #E4E4E4;
}

ul#gnavi li{
	float:left;
	padding:5px 0.7% 0 0.7%;
	text-align:left;
	border-right:1px solid #E4E4E4;
}

ul#gnavi li:first-child{
	border-left:1px solid #E4E4E4;
}

ul#gnavi li:last-child{
	border-right:none;
}

ul#gnavi.menu6 li{width:15%;}
ul#gnavi.menu5 li{width:18.4%;}
ul#gnavi.menu4 li{width:23.4%;}
ul#gnavi.menu3 li{width:31.7%;}
ul#gnavi.menu2 li{width:48.4%;}

ul#gnavi li a{
	display:block;
	width:100%;
	padding-bottom:10px;
	border-bottom:3px solid #CCCCCC;
	text-decoration:none;
}

ul#gnavi li a:link{color:#454545;}
ul#gnavi li a:visited{color:#454545;}
ul#gnavi li a:hover{color:#DD0000;}

ul#gnavi li.selected a{
	border-bottom:5px solid #0086CD;
	color:#0086CD;
}

ul#gnavi li strong{
	display:block;
	margin-top:3px;
	font-size:140%;
}

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

.mainvisual{
	padding: 0;
	margin: 0 auto;
	width:100%;
	height:100%;
}
.mainvisual h1{
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
}
.mainvisual img{
	width: 100%;
}

.lead_ttl {
	margin-top: 40px;
	margin-bottom: 40px;
	font-size: 36px;
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
}
.lead{
	margin: 15px 0 50px 0;
    line-height: 1.8em;
    font-size: 18px;
	font-weight: 400;
	text-align: left;
}

/*-----------------------------------------------------*/
/* 各種期間表示エリアのスタイル
/*-----------------------------------------------------*/

#term{
	background-color: #ff8449;
}

#term dl.sp{
	display: none;
}

.plan,#term p.term{
	width: 980px;
	margin: 0 auto;
}

#plan{
	background-color:#ffc037;
	text-align: center;
}

#plan .plan{
	font-size: 25px;
	font-weight: bold;
	padding: 14px 0 10px;
	color: #ffffff;
}

@media screen and (min-width: 641px) {
    dl.display_terms dd ul.term_item li:nth-of-type(3) {
		margin-right: 30%;
	}
}

/*-----------------------------------------------------*/
/* 改行のスタイル
/*-----------------------------------------------------*/

.br850, .br770, .br500 {
	display: none;
}
.br850_hide{
	display: block;
}


/*キャンペーン詳細を確認する*/

ul.btnArea_top li{
	width:450px;
	margin:20px auto;
	color: red;
	font-weight: bold;
}

ul.btnArea_top li a:hover{
	filter:alpha(opacity=60);
	-moz-opacity:0.6;
	opacity:0.6;
}

/*応募・予約ボタン*/
ul.btnArea{
	width:880px;
	margin:20px auto;
}

ul.btnArea li{
	width:400px;
	margin:18px;
	display: inline-block;
	vertical-align: top;
}

ul.btnArea li a:hover{
	filter:alpha(opacity=60);
	-moz-opacity:0.6;
	opacity:0.6;
}

ul.btnArea li.btn_center{
	margin: 0 auto;
	display: block;
	padding-bottom: 0;
}

/* キャンペーンバナーのスタイル*/
.cp_btn{
	text-align: center;
	margin:50px 0;
	padding-top:30px;
}

.cp_btn img{
	width: 950px;
}

/*-----------------------------------------------------*/
/* キャンペーン概要エリアのスタイル
/*-----------------------------------------------------*/

#outline{
	padding-top: 110px;
	margin-top: -110px;
}
#outline h2 {
	margin-top: 0!important;
	padding: 7px;
	border-left: 10px solid #2ca6e0;
	text-align: left;
	font-size: 18px;
	font-weight: bold;
	color: #000000;
}
#outline .inner p.details_note{
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 20px;
}

#outline table{
  width: 100%;
	border-collapse:collapse;
	font-size:16px;
	border-top: 1px solid #dedede;
}
#outline th{
	width:150px;
	padding:0 5px;
	text-align:left;
	vertical-align:middle;
	color:#565656;
	border-bottom:1px solid #dedede;
}
#outline td{
	/* width:800px; */
	max-width:800px;
	padding:10px 5px;
	border-bottom:1px solid #dedede;
	line-height:1.4;
}
#outline dt{
	margin-bottom:5px;
	font-weight:bold;
}
#outline ul li,
#outline ol li{
	text-indent:-1.0em;
	padding-left:1.0em;
}
#outline .txtBold{
	font-weight:bold;
}
#outline table.cp_attentiontable{
	background:#eee;
	border:1px dotted #666666;
}
#outline table.cp_attentiontable th{
	background:#eee;
	font-weight:bold;
	color:#333;
	border-right:1px dotted #666666;
	border-bottom:1px dotted #666666;
	text-align:center;
}
#outline table.cp_attentiontable td{
	padding:2px;
	text-align:center;
	background:#FFFFFF;
	border-bottom:1px dotted #666666;
	border-right:1px dotted #666666;
}

#outline dl.inde dd {
	text-indent: -1em;
	padding-left: 1em;
}

/* プレゼントエリア */

.about_present{
	width: 100%;
	/* margin: -40px auto 100px; */
	padding: 80px 90px;
	box-sizing: border-box;
	font-family: var(--font-family-shippori);
	/* font-family: "游ゴシック", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; */
	font-weight: 400;
	background-image: url(/campaign/okinawa_hp/images/bg_about_present.jpg);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: cover;
}
.about_present_inner{
  width: 100%;
	max-width: 1260px;
	margin: 0 auto;

}
.about_present_box{
	width: 100%;
	margin-top: 70px;
	padding: 40px 0;
	background-color: #fff;
  box-shadow: 0px 0px 21px 7px #e0e0e0;
}


.about_present_h2{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
	font-size: 36px;
}
.about_present_h2:before,
.about_present_h2:after{
	content: '';
	display: block;
  flex: 1 1 38%;
	max-width: 464px;
	height: 1px;
	background-image: url(/campaign/okinawa_hp/images/line_about_present_title.png);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: cover;
}
.about_present_h2 span{
  flex: 0 0 24%;
  white-space: nowwrap;
}
.about_present_h3{
	display: block;
	width: 400px;
	height: 56px;
	margin: 0 auto;
	font-size: 30px;
	line-height: 56px;
	text-align: center;
	background-image: url(/campaign/okinawa_hp/images/bg_about_present_ttl.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover
}
.about_present_overview{
	display: flex;
	justify-content: space-between;
	gap: 70px;
	margin-top: 50px;
}
.about_present_l{
	flex: 0 1 581px;
}
.about_present_l:has(.size-present2){
	padding-left: 150px;
}
.about_present_r{
	padding: 40px 20px 0 0;
	flex: 0 1 50%;
	font-size: 24px;
	text-align: center;
}
.about_present_r:has(.size-present2){
	padding: 0 80px 0 0;
}

.size-middle{
	margin-top: 20px;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.8;
}
.size-large{
	margin-top: 28px;
	font-size: 48px;
	font-weight: 600;
	letter-spacing: 4px;

	small{
		font-size: 36px;
		letter-spacing: 1px;
	}
}
.size-present2{
	font-size: 36px;
	font-weight: 600;
	letter-spacing: 2px;

	large{
		font-size: 48px;
		letter-spacing: 4px;
	}
}



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

@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:1260px){
	.inner{
	width: auto;
	}
} 

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

	section.about_present{
		width: 100%;
    padding: 10vw 3vw;
		box-sizing: border-box;
		font-weight: bold;
	}
  .about_present_inner{
    width: 100%;
  }
	.about_present_box{
    margin-top: 10vw;
    padding: 8vw;
  }
  .about_present_h2{
    gap: 2vw;
    font-size: 4.7vw;
  }
  .about_present_h2:before,
  .about_present_h2:after{
    /* width: 26.3vw; */
    flex: 0 1 30%;
  }
  .about_present_h2 span{
    flex: 0 0 38%;
  }
  .about_present_h3{
    display: block;
    width: 56.3vw;
    height: 7.8vw;
    margin: 0 auto !important;
    font-size: 4vw;
    line-height: 7.8vw;
  }
  .about_present_overview{
    flex-direction: column;
    gap: 8vw;
    margin-top: 8vw;
  }
   .about_present_overview:has(.size-present2){
    gap: 4vw;

   }
  .about_present_l{
    flex: none;
  }
  .about_present_l:has(.size-present2){
    padding: 0;
  }
  .about_present_r{
    padding: 0;
    flex: none;
    font-size: 3.7vw;
  }
  .about_present_r:has(.size-present2){
    padding: 0;
  }
  .size-middle{
    margin-top: 3vw;
    font-size: 4.6vw;
  }
  .size-large{
    margin-top: 3vw;
    font-size: 8vw;

    small{
      font-size: 4.8vw;
    }
  }
  .size-present2{
    font-size: 6.3vw;

    large{
      font-size: 8vw;
      letter-spacing: 2px;
    }
  }

  .cp-top-image{
    margin: 8vw 0;
  }

  .cp-lead{
    margin-top: 2.6vw;
    font-size: 3.2vw;
  }

}

@media screen and (max-width:980px) {
  #container{
    margin: 18px auto 0;
  }

  div#breadSns{
    width:100%;
  }

  .inner{
    width: auto;
    margin: 0 3vw;
  }

  dl.display_terms{
    width: auto;
  }

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

  .mainvisual h1{
    width: 100%;
  }

  .plan,#term p.term{
    width: 98%;
    margin: 0 1%;
  }
  /* 説明エリアのスタイル */

  .ex_area {
    width: 100%;
    box-sizing: border-box;
  }
  .area1 {
    width: 90%;
  }
  .area1_1 {
    width: 90%;
  }
  .area1 figure img {
      width: 95%;
  }
  .ribbon8 {
    width: 105%;
  }
  .ribbon8:after {
    border-left: solid 17px;
  }
  .ribbon8:before {
    border-right: solid 17px;
  }
  .area1_2 {
    width: 94%;
  }
  .area1_1p {
      left: 86%;
  }
  .area1_1c {
      left: 75%;
  }

  /* PGMポイント番号の注意事項の注意事項 */
  .pgmpoint_area {
    width: 95%;
  }
  .icon_note {
      top: -2%;
      left: 1%;
  }
  .pgmpoint_area h3 {
      padding: 1% 0 1% 4em;
  }
  .pgmpoint_area ul .pgmpoint_area_left p {
      margin: 1em 1em 0.5em 2em;
  }
  .pgmpoint_area img {
    width: 100%;
  }


  /* キャンペーンバナーのスタイル*/
  div.cp_btn img {
    width: 100%;
  }

  /* ボタンエリアのスタイル */
  ul.btnArea{
  width:100%;
  margin-bottom:30px;

  }
  ul.btnArea li{
  width: 43%;
  margin: 3% 3% 0 5%;
  padding: 0;
  }
  ul.btnArea li:last-child{
    margin-left:0;
  }

  /* .about_present h3 {
    margin: 0 auto .5em;
    font-size: 4vw;
  } */
  /* .prizeArea 背景 */

  .prize_pc,.prize_pc_li {
    max-width: 90%;
  }

  .prizeArea{
    width: 100%;

  }
  .prize_1000{
    width: 100%;
  }
  .prize_1000 img{
  max-width: 100%;
  }
}

@media screen and (max-width:880px) {
	.ribbon8 {
		width: 106%;
	}

	.area1_1p {
		left: 87%;
	}
	.area1_1c {
		top: 42px;
		left: 74%;
	}
}
@media screen and (max-width:770px) {
	.br770 {
		display: block;
	}
	.ribbon8 {
		width: 107%;
		line-height: 1.3;
		padding: 1.5%;
		font-size: 4vw;
	}
	.area1_1 {
		font-size: 2.35vw;
	}
	.area1_1 .text_1 {
		padding-right: 30%;
	}
	.area1_1 .text_1 .br850 {
		display: none;
	}
	.area_2 h3 {
		font-size: 3.5vw;
	}
	.pointnote_t h4 {
		font-size: 2.5vw;
	}
}

@media screen and (max-width:850px) {
	.br850 {
		display: block;
	}
	.br850_hide {
		display: none;
	}
	.area1_1c {
		top: 33px;
		left: 71%;
	}
	.area1_1p {
		left: 84%;
	}
	.area1_1 .text_2 br, .area1_1 .text_2 span {
		display: none;
	}

}

@media screen and (max-width:640px) {
  div.cp_btn img {
  width: 100%;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }

  section.parallax ul.prize_pc{
    display: none;
  }

  #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;
  }

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

  .mainvisual{
    background: none;
  }

/*-----------------------------------------------------*/
/* 各種期間表示エリアのスタイル
/*-----------------------------------------------------*/

  #term{
    font-size: 16px;
    margin-bottom: 10px;
    padding:10px;
    color:#fff;
    height: auto;
    font-family: "游ゴシック", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  }
  #term p.pc{
    display: none;
  }
  #term dl.sp{
    display: block;
  }
  #term dl{
    letter-spacing:-0.4em;
    text-align:center;
  }
  #term dt,
  #term dd{
    *display:inline;
    *zoom:1;
    letter-spacing:normal;
    font-size: 112%;
    line-height: 146%;
    font-weight:bold;
  }
  #term dt{
    font-size: 20px;
    font-weight:bolder;
    color: #fff;
  }


  /*キャンペーン詳細を確認する*/
  ul.btnArea_top{
    margin: 10px 0;
  }

  ul.btnArea_top li {
    width:95%;
    padding: 3px 10px;
  }

  /*応募・予約ボタン*/
  ul.btnArea{
    width:100%;
    margin: 10px 0 40px;
  }

  ul.btnArea li{
    width:80%;
    margin: 2% auto;
    display: block;
  }

  ul.btnArea li:last-child{
    margin: 0 auto;
  }
  .note {
    margin: 10px 15px 25px 15px;
  }

  .btnArea{
    margin-bottom:10px;
  }

  .btnArea img{
    display:none;
  }

  .btnArea ul,
  .btnArea li{
    display:block;
  }

  .btnArea li{
    position:relative;
  }

  .btnArea li.txtAL,
  .btnArea li.txtAR{
    margin: 0 auto 10px;
    width: 98%;
  }

  .btnArea li.txtAL a,
  .btnArea li.txtAR a{
    display:block;
    width:80%;
    margin:0 auto;
    padding:20px 7% 14px 2%;
    background: #0086cd; /* Old browsers */
    border-radius:6px;
    -webkit-border-radius: 6;
    -moz-border-radius: 6;
    box-shadow: 3px 3px #b8b8b8;
    -webkit-box-shadow: 3px 3px #b8b8b8;
    -moz-box-shadow: 3px 3px #b8b8b8;
    border: solid #FFFFFF 2.5px;
    font-size:20px;
    font-weight:bold;
    color:#FFFFFF;
    text-indent:0;
    text-align:center;
    text-decoration:none;
  }

  .btnArea li.txtAR a{
    background: #ff7700; /* Old browsers */
  }

  .btnArea li a:after {
    content:")";
    font: 23px "WebSymbolsgfeditRegular";
    position:absolute;
    top:49%;
    right:10%;
    margin-top:-9px;
  }

  /* 各種期間表示エリアのスタイル */

  .lead_ttl {
    margin-top: 13vw;
	  margin-bottom: 13vw;
    font-size: 4.6vw;
    line-height: 1.8;
	  text-align: center;
  }
  p.lead{
    padding-bottom: 10.5vw;
    font-size: 3.7vw;
    line-height: 1.6;
  }




  /* キャンペーン概要エリアのスタイル */
  #outline{
    margin:0 auto;
    padding: 0;
  }
  #outline th, #outline td {
    display: block;
    width: auto;
  }
  #outline table.cp_attentiontable th, #outline table.cp_attentiontable td {
    border-right: 0;
  }
  #outline table.cp_attentiontable td {
    border-bottom: 0;
  }
  #outline th {
    border-bottom: 1px dotted #dedede;
    padding-top: 15px;
    padding-bottom: 10px;
    font-size: 16px;
    color: #333333;
  }
  #outline td {
    padding-top: 10px;
    padding-bottom: 15px;
    font-size: 13px;
    line-height: 1.5;
    border-bottom: 1px solid #dedede;
  }

}
@media screen and (max-width:500px) {
	.br500 {
		display: block;
	}
	.ribbon8 {
		width: 111%;
	}

	label {
		font-size: 4.05vw;
	}
	section.about_present_area     {
		margin: 0px auto 200px;
	}
}
@media screen and (max-width:400px) {
	.ribbon8 {
		width: 110%;
		left: -5%;
	}
	.ribbon8:before {
		border-right: solid 14px;
	}
	.ribbon8:after {
		border-left: solid 14px;
	}
	section.about_present_area     {
		margin: 0px auto 120px;
	}
}