@charset "utf-8";
/* CSS Document */
html {
    overflow-x: hidden;
}
#container{
	font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#222222;
}
#container img {
  max-width: 100%;
  vertical-align: bottom;
}
.c-f:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.c-f{
	min-height:1%;
	display:block;
}
h2.rs_h2_title_bar {
	padding: 10px 15px;
	background-color:#0071BE;
	color: #fff;
	font-size: 16px;
	margin-top:20px;
}
.rs_h2_title_bar_02 {
	padding: 10px 15px;
	background-color:#0071BE;
	color: #fff;
	font-size: 16px;
}
.lead {
    font-size:14px;
    line-height:1.7;
}
.lead  a{
	text-decoration:underline;
}
.bold{
	font-weight:bold;
}
.txt-red{
	color:#eb4055;
}
.txt-gray{
	color:#434343;
}
.txt-kome{
	font-size:11px;
	color:#434343;
}
.txt-center{
	text-align: center;
}
.indent01 > * {
	text-indent: -1em;
	padding-left: 1em;
	list-style: none !important;
}
.pl8em {
	padding-left: 8em;
}
.outline_box .pl8em {
	display: inline-block;
}
p{
  margin-top: 0;
}

/*--------------------------------------
  　　横長のヘッダ時
--------------------------------------*/
#str_container{
	overflow: visible !important;
}
/* 
#str_container #header {
    margin-left: -480px;
    width: 960px;
    position: relative;
}
#header-cp{
	width: 1920px;
	margin-left: -480px;
	position:relative;
} */

#str_container #header-fin .h-txt {
  color: red;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  top: 55%;
  left: 50%;
  transform: translate(-50%, 0%);
}


/*------------------------------------------------
  　ヘッダ下のキャンペーン期間＆プレー対象期間
--------------------------------------------------*/
.deadline-area {
  position: relative;
}
.deadline {
  position: absolute;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  margin: -26px 0 -28px;
  z-index: 9999999999999;
  width: 100%;
  top: -28px;
}
.deadline ul {
  border: 1px solid #dfdfdf;
  border-radius: 6px;
  line-height: 2.5;
  display: table;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.deadline ul li {
  background-color: #ffffff;
  color: #313131;
  display: table-cell;
  padding: 9px 14px;
  line-height: 1.4;
  vertical-align: middle;
  font-size: 15px;
}
.deadline ul li+li{
  border-left: 1px solid #dfdfdf;
}
.deadline ul li.ulTitle01,
.deadline ul li.ulTitle02{
  background-color: #f4f4f4;
  width: 17%;
  font-size: 16px;
  font-weight: bold;
}
/*横長用*/
.deadline_pc {
	width: 1920px;
	margin:0 0 20px -480px;
	background-color: #00abeb;
    font-size: 1.2em;
    font-weight: bold;
	padding: 10px 0;
}
.deadline_pc div{
	margin-left: 480px;
	width: 960px;
	vertical-align: middle;
	display: inline-block;
}
.deadline_pc p.left{
	float: left;
	margin-top: 0;
}
.deadline_pc p.right{
	float: right;
	margin-top: 0;
}
.deadline_pc p span {
    float: left;
	vertical-align: middle;
    margin: auto;
    padding: 10px 13px;
	border-bottom: 4px solid #00278c;
	border-right: 4px solid #00278c;
	border-top: 4px solid #00278c;
	background-color: #ffffff;
	font-weight: bold;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
}
.deadline_pc .ulTitle01, .deadline_pc .ulTitle02{
    background-color: #ffff01;
	border-left: 4px solid #00278c;
	color: #00278c;
}
/*--------------------------------------
  　　賞品一覧
--------------------------------------*/
.pre-box div{
	float:left;
	margin-right:20px;
	width:225px;
	margin-top:0;
}
.pre-box p.txt{
	width:205px;
	background-color:#666666;
	color:#FFFFFF;
	font-size:12px;
	font-weight:bold;
	padding:10px;
	margin-top: 0;
	display: inline-block;
}
.pre-box p span.name-txt{
	/*width:145px;*/
	float:left;
}
.pre-box p span.number{
	/*width:60px;*/
	font-size:12px;
	display: inline-block;
	text-align:right;
	float: right;
}
.pre-box p span.number .big-txt{
	font-size:21px;
}
.mr0{
	margin-right:0;
}

/*--------------------------------------
  　　クーポンプレゼント
--------------------------------------*/
.txt-box{
	background-color:#f3f3f3;
	padding: 20px;
	font-size: 16px;
}
.txt-box .mt0{
	margin-top: 0;
}
.txt-box .red{
	font-size: 22px;
	font-weight: bold;
	color: #eb4055;
}
.couponBox{
	float: left;
	width: 400px;
	margin-right: 30px;
	background-color: #fff;
	text-align: center;
	padding: 20px;
}
.couponBox-txt{
	float: left;
	width: 450px;
	font-size: 14px;
	line-height: 1.5;
}
.couponTitle{
	font-size: 22px;
	font-weight: bold;
	margin-top: 0;
	margin-bottom: 10px;
}
.couponNumberBox {
    width: 360px;
    padding: 18px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 20px;
    text-align: center;
    border: 2px solid #c0c0c0;
    font-weight: bold;
}
.couponTxtlink li{
	float: left;
}

/*---------------------------------
  　ページTOP
-----------------------------------*/
#page-top {
    bottom: 20px;
    display: block;
    position: fixed;
    margin-left: 980px;
	width: 960px;
  z-index: 9999999999999;
}

/*--------------------------------------
  　　キャンペーン概要
--------------------------------------*/
#outline_box {
	margin: 0 0 15px;
	border: 2px solid #0071BE;
	font-size: 1.2em;
}
#outline_box dl{
	margin:5px 0;
}
#outline_box dt{
	padding:10px 0 0 15px;
	font-weight:bold;
	color:#0071BE;
	float:left;
}
#outline_box dd{
	padding:10px 10px 10px 210px;
	border-bottom:1px dashed #ccc;
	line-height:140%;
}
#outline_box dd.last{
	border:0;
}
#outline_box .width-adjustment{
	padding: 20px 10px 20px 210px;
}
/*--------------------------------------
  　　注意事項
--------------------------------------*/
.notice_tit {
	padding: 8px 15px;
	background-color: #ccc;
	font-size: 1.2em;
}
#notice_box {
	margin: 0 0 10px;
	width:956px;
	border: 2px solid #ccc;
	font-size: 1.2em;
}
#notice_box dl{
	margin: 0;
}
#notice_box dt{
	padding:10px 0 0 15px;
	font-weight:bold;
	float:left;
}
#notice_box dd{
	padding:10px 10px 10px 210px;
	border-bottom:1px dashed #ccc;
	line-height:140%;
}
#notice_box dd.last{
	border:0;
}
#notice_box ul{
	margin-left: 0;
}
#notice_box ul li {
	list-style: disc;
	list-style-position: outside;
}

/*Safariだけに適用されるCSSハック*/
@media screen and (-webkit-min-device-pixel-ratio:0) {
  ::i-block-chrome,#container {
	  font-family:"メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
}



.hide {
  border: 1px solid #333;
  padding: 10px 0;
  text-align: center;
  margin: 20px 0px;
  font-size: 14px;
  font-weight: bold;
  width: 70%;
  margin: 20px auto;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/*---------------------------------
  クーポンゲット型
-----------------------------------*/
.special-item .coupon-title{
  width: 413px;
  margin: 0 auto 30px;
  position: relative;
}
.special-item .coupon-title p{
  text-align: center;
  font-size: 26px;
  font-weight: bold;
}
.special-item .coupon-title p:before{
  content: "";
  position: absolute;
  bottom: 2px;
  left: 0;
  display: block;
  width: 100%;
  height: 10px;
  background: #f0ff4f;
  z-index: -1;
}
.coupon-item .coupon-subtitle p{
  font-size: 20px;
  font-weight: bold;
  color: #176aca;
  margin-bottom: 12px;
}
.coupon-item .coupon-subtitle {
  position: relative;
	display: inline-block;
  font-size: 16px;
	font-weight: bold;
	color: #0071BE;
	margin-top: 0;
}
.coupon-item .coupon-subtitle span {
  color: #028f4b;
 }
.coupon-item .coupon-subtitle:before {
  content: "";
  position: absolute;
  top: 2px;
  left: -20px;
  display: block;
  width: 2px;
  height: 22px;
  background: #0071BE;
  transform:rotate(-20deg);
}
.coupon-item .coupon-subtitle:after {
  content: "";
  position: absolute;
  top: 2px;
  right: -20px;
  display: block;
  width: 2px;
  height: 22px;
  background: #028f4b;
  transform:rotate(20deg);
}
.coupon-item.js-get-coupon {
  text-align: center;
}
.coupon-item.js-get-coupon a {
  display: inline-block;
  border-radius: 4px;
  -webkit-tap-highlight-color: transparent;
  transition: .2s ease-out;
}
.coupon-item.js-get-coupon a:hover {
  color: #fff;
  filter:alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}
.coupon-item.js-get-coupon a:active {
  -ms-transform: translateY(2px);
  -webkit-transform: translateY(2px);
  transform: translateY(2px);
  box-shadow:none;
}
.coupon-item.js-get-coupon .js-coupon-detail img {
	width: 370px;
  border-radius: 4px;
  pointer-events: none;
}
.coupon-get-2col {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
	gap:40px 0;
}
.coupon-get-2col .coupon-item.js-get-coupon {
  width: 400px;
  margin: 0 20px;
}

/*.coupon-get-1col:2024年末年始用クーポン追加分*/
/*---------------------------------
	クーポンゲット型 type02
-----------------------------------*/
.special-block {
	position: relative;
	padding: 15px 0 10px;
	box-sizing: border-box;
}
	.special-content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.special-item {
	width: 100%;
}
.special-item p {
	margin-top: 0;
}
.special-text {
	font-size: 36px;
	text-align: center;
	line-height: 1.2;
}
.special-text p {
	margin-top: 0;
	font-weight: bold;
}
.special-text .d-ib {
	display: inline-block;
}
.special-text .font-s {
	font-size: 24px;
}
.special-text .font-m {
	font-size: 30px;
}
.special-text .font-l {
	font-size: 88px;
	line-height: 1;
	letter-spacing: -2px;
}
.special-text .font-l .txt-comma{
	font-size: 38px;
}
.special-text.vercol1 {
  margin-top: 20px;
}
.blue-txt {
	font-size: 22px;
	color:#0071BE;
	margin-bottom: 30px;
	padding: 14px 26px 14px;
	border-radius: 30px;
	border: 2px solid #0071BE;
}
.blue-txt p {
	font-weight: bold;
}
.blue-txt-center {
	display: flex;
	justify-content: center;
}

.txRed {
  color: #d4151a;
}
/* 矢印付きリンク */
.special-block .txt_link {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: normal;
	text-align: center;
	line-height: 1;
	margin-top: 22px;
}
.special-block .txt_link a {
	color: #0071BE;
	font-size: 16px;
	transition: .3s ease-out;
}
.special-block .txt_link a:hover {
	opacity: 0.7;
}
.special-block .txt_link.arrow-b:after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	margin: -8px 0 0 8px;
	border-top: solid 2px #0071BE;
	border-right: solid 2px #0071BE;
	transform: rotate(135deg);
}

/*---------------------------------
  　終了対応
-----------------------------------*/
.coupon-item.js-get-coupon .js-coupon-notfound p {
  position: relative;
  display: inline-block;
}
.coupon-item.js-get-coupon .js-coupon-notfound p:before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  background: rgba(0,0,0,0.7);
  position: absolute;
  top: 0;
  left: 0;
}
.coupon-item.js-get-coupon .js-coupon-notfound img {
  display: inline-block;
  border-radius: 4px;
	width: 400px;
  box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.2);
  -webkit-tap-highlight-color: transparent;
  pointer-events: none;
}
.coupon-get-3col .coupon-item.js-get-coupon .js-coupon-notfound img,
.coupon-get-1col  .coupon-item.js-get-coupon .js-coupon-notfound img {
	width: 310px;
}
.coupon-item.js-get-coupon .js-coupon-notfound span {
  position: absolute;
  background: #fff;
  border-radius: 8px;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding: 10px;
  z-index: 999999;
  text-align: center;
  width: 80%;
  font-size: 16px;
}



/*---------------------------------
  　今月のPICK UPコース
-----------------------------------*/
.tab_box{
position:relative;
background: #eef7ee;
}
.tab_box.-bg_blue{
background: #ecf6f9;
}
.tab_content{
position:relative;
padding: 0;
height: auto!important;
background: #fff;
}
.tab_content .month{
position: absolute;
right: 15px;
bottom: 10px;
font-size: 14px;
}
.swiper-button-prev{
left: 15px!important;
position: absolute;
top: 31%;
margin-top: -20px;
height: 30px;
width: 30px;
display: block;
z-index: 100;
cursor: pointer;
}
.swiper-button-next{
position: absolute;
top: 31%;
margin-top: -20px;
right: 15px!important;
height: 30px;
width: 30px;
display: block;
z-index: 100;
cursor: pointer;
}
.swiper-button-prev img,
.swiper-button-next img {
  max-width: 100%;
}

.tab_box .swiper-pagination{
bottom: 10px;
width: 100%;
left: 0;
}
.tab_box .swiper-pagination-bullet{
height: 10px;
  width: 10px;
  margin: 0 4px 5px;
}
.tab_box .swiper-pagination-bullet-active{
  background: #4988d0;
}



.tab_content{
position: relative;
}
.tab_content .image{
position: relative;
width: 440px;
height: 230px;
overflow: hidden;
margin-top: 0;
text-align: center;
}
.tab_content .image img{
max-width: 450px;
min-width: 440px;
min-height: 183px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.tab_content h3{
font-size: 16px;
line-height: 1.4;
border: none!important;
margin: 0!important;
padding: 10px 0 0 10px!important;
}
.tab_content .text{
font-size: 16px;
line-height: 24px;
padding: 5px 0 10px 10px;
}
.tab_content .star{
font-size: 14px;
display: inline-block;
padding: 0 0 0 10px;
}
.tab_content .star span{
color: #fdc400;
}
.tab_content .root{
font-size: 14px;
display: inline-block;
padding-left: 10px;
}
.tab_content .place{
font-size: 14px;
display: inline-block;
margin: 0 -2px 0 8px;
}
.tab_content .button{
position: absolute;
right: 10px;
bottom:0;
}
.tab_content .button a{
display: block;
border-radius: 4px;
background: #fd2846;
padding: 15px 40px 15px 40px;
font-size: 16px;
font-weight: bold;
color: #FFF;
-webkit-transition: 0.2s ease-out;
transition: 0.2s ease-out;
}
.tab_content .button a:hover{
opacity: 0.7;
}

.day-wrap {
  display:-webkit-box;
  display:-webkit-flex;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:justify;
  -webkit-justify-content:space-between;
  -ms-flex-pack:justify;
  justify-content:space-between;
  -webkit-box-align:center;
  -webkit-align-items:center;
  -ms-flex-align:center;
  align-items:center;
  width: 100%;
  padding: 10px 15px 0 10px;
  box-sizing: border-box;
}
.day-wrap:first-of-type {
  padding-top: 10px;
}
.day-wrap dl {
  display:-webkit-box;
  display:-webkit-flex;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -webkit-align-items:center;
  -ms-flex-align:center;
  align-items:center;
  width: 320px;
  padding-top: 4px;
  font-size: 16px;
}
.day-wrap dt {
	display: none;
  /* min-width: 65px;
  display:-webkit-box;
  display:-webkit-flex;
  display:-ms-flexbox;
  display:flex; */
}
.day-wrap dd {
  display:-webkit-box;
  display:-webkit-flex;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -webkit-align-items:center;
  -ms-flex-align:center;
  align-items:center;
}
.day-wrap dd .line {
  margin-right: 10px;
  text-decoration: line-through;
}
.day-wrap dd .number {
  margin-left: 10px;
  font-size: 24px;
  color: #fd2846;
  line-height: 1;
}
.day-wrap .btn-red {
  width: 95px;
  margin: 0;
}
.day-wrap .btn-red a {
  width: 100%;
  padding: 6px 5px;
  border-radius: 0;
  box-sizing: border-box;
  font-size: 12px;
}



/*---------------------------------
  　全社CP
-----------------------------------*/
.bannerbox {
  margin: 56px auto 0;
  width: 960px;
  padding: 40px 0;
}
.bannerbox h2 {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  color: #000;
}
.bannerbox figure {
  margin-top: 20px;
  text-align: center;
}
.bannerbox figure img {
  box-shadow: 5px 5px 15px -5px #777777;
}
.bannerbox figure img:hover {
  opacity: 0.7;
}
.is-bg-gray {
  background-color: #F4F4F4;
}


.view_sp {
  display: none;
}
.term {
  margin: 20px auto 30px;
}
.term__table {
  display: flex;
  margin-bottom: 24px;
  border: 1px solid #DEDEDF;
  border-radius: 4px;
  line-height: 1.5;
}
@media (max-width: 767.9px) {
  .term__table {
    display: block;
  }
}
.term__table-item {
  display: flex;
}
.term__table-item + .term__table-item dt {
  border-left: 1px solid #DEDEDF;
}
@media (max-width: 767.9px) {
  .term__table-item + .term__table-item {
    border-top: 1px solid #DEDEDF;
  }
  .term__table-item + .term__table-item dt {
    border-left: none;
  }
}
.term__table-item:first-child {
  width: 40%;
}
@media (max-width: 767.9px) {
  .term__table-item:first-child {
    width: 100%;
  }
}
.term__table-item:last-child {
  width: 60%;
}
@media (max-width: 767.9px) {
  .term__table-item:last-child {
    width: 100%;
  }
}
.term__table-item dt {
  display: flex;
  align-items: center;
  min-width: 120px;
  padding: 0 1em;
  font-weight: bold;
  font-size: 14px;
  background-color: #F4F4F4;
  border-right: 1px solid #DEDEDF;
}
@media (max-width: 767.9px) {
  .term__table-item dt {
    width: 130px;
    font-weight: bold;
  }
}
.term__table-item dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex: 1;
  padding: 10px 15px;
  font-size: 14px;
}
@media (max-width: 767.9px) {
  .term__table-item dd {
    font-size: 12px;
    font-weight: normal;
  }
  .term__table-item dd .is-large-sp {
    font-size: 14px;
  }
}
.term__table-item dd span {
  display: inline-block;
}
.term__txt {
  margin-bottom: 24px;
  font-size: 16px;
}

.entry__btn {
  margin: 25px 0 0;
}
.btn56-red {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 440px;
  height: 56px;
  margin: 0 auto;
  padding: 0;
  line-height: 1;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  background-color: #EB3F55;
  border: 1px solid #EB3F55;
  border-radius: 100vh;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.168);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.168);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  position: relative;
}
.btn56-red:hover {
  opacity: .7;
  color: #fff;
}
.entry__btn.is-closed .btn56-red {
  pointer-events: none;
}
.entry__btn.is-closed .btn56-red:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(0, 0, 0, 0.4);
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 100vh;
}
.block {
  text-align: center;
  background-color: #FCFAE3;
  margin: 0 0 30px;
  padding: 20px 0 30px;
  position: relative;
  font-family: 'Noto Sans JP',  "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.block02 {
  background-color: #ECF7FF;
  margin: 0 0 50px;
  position: relative;
}
.block02::after {
  content: "";
  border-width: 30px 50px 0 50px;
  border-style: solid;
  border-color: #ECF7FF transparent transparent transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%,0);
}
.block-num {
  width: 60px;
  height: 60px;
  background-color: #FFEA00;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 30px;
  font-weight: bold;
  color: #0071BE;
  position: absolute;
  top: -10px;
  left: 30px;
}
.block-title {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  color: #0071BE;
  margin: 0 0 10px;
}
.block-desc {
  font-size: 17px;
}
#container .outline_box,
#container #notice_box dl {
  font-size: inherit;
}










/* 當間 */



:root {
    --navy: #1E1358;
    /* 文字色 */
    --orange: #FF6200;
    /* オレンジ */
    --bd: 2px;
    /* カード枠線の太さ */
    --radius: 12px;
    --shadow: 0 4px 8px rgba(0, 0, 0, 0.16);
}
#early_rsv_hokkaido_2026 {
    color:#000000;
    font-family: 'Noto Sans JP', Meiryo, sans-serif;
}
#early_rsv_hokkaido_2026 a:link,
#early_rsv_hokkaido_2026 a:hover,
#early_rsv_hokkaido_2026 a:visited {
    color: inherit !important;
}
#early_rsv_hokkaido_2026 .btn-red a:link,
#early_rsv_hokkaido_2026 .btn-red a:hover,
#early_rsv_hokkaido_2026 .btn-red a:visited {
    width: 70%;
    padding: 28px 0;
    text-align: center;
    color: #fff !important;
    font-size: 16px;
    font-weight: 600;
    background-color: #EB4055;
    border: 1px solid #EB4055;
    border-radius: 6px;
    transition: all 0.3s ease-out;
    margin:24px auto 52px;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.16));
    display: block;
    width: 636px;
    height: 50px;
    padding: 0;
    line-height: 50px;
}
#early_rsv_hokkaido_2026 .btn-red a:link,
#early_rsv_hokkaido_2026 .btn-red a:hover,
#early_rsv_hokkaido_2026 .btn-red a:visited,
#early_rsv_hokkaido_2026 .gc-card .gc-card__btn a:link,
#early_rsv_hokkaido_2026 .gc-card .gc-card__btn a:hover,
#early_rsv_hokkaido_2026 .gc-card .gc-card__btn a:visited {
    color: #fff !important;
}

.has-bg{
    position: relative;
    z-index: 1;
}
.has-bg-inner{
  width: 960px;
}
.has-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100vw;   /* ビューポート幅いっぱい */
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
#hero {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  height: 325px;
  background: url(/special/early_rsv_hokkaido_2026/images/header.jpg) no-repeat 50% 0;
}
.hero-title {
  height: auto;
}
/* #nav */
#nav.nav-block {
    color: var(--navy);
    padding: 32px 0px 42px;
    text-align: center;
    line-height: 150%;
}
#present.present-block {
  text-align: center;
  padding-bottom: 72px;
}

#nav.nav-block.has-bg::before,
#present.present-block.has-bg::before {
  background: #FFFDC4;
}
#nav h2.step-title {
    font-size: 34px;
    line-height: 150%;
    margin-top: 30px;
}
/* 2カラム（SP横並び） */
#nav .step-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 30px;
}
#nav .step-card-list {
    display: block;
    border: 1px solid var(--orange);
    padding: 28px 28px 4px;
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}
#nav .step-card-list .step-num{

}
#nav h3.step-label {
    line-height: 140%;
    margin: 16px 0;
}

#nav .step-head img {
    display: block;
    margin: 0 auto 8px;
    width: 170px;
}
#nav .step-num-img {
    width: 60px;
}
#nav .arrow-img {
    width: 26px;
}
#nav .step-note {
    font-size: 26px;
    line-height: 130%;
    margin-top: 32px;
}
#nav .step-coupon {
    font-size: 30px;
    font-weight: bold;
    margin-top: 26px;
}
#nav .step-coupon .arrow-img {
    vertical-align: baseline;
}

@media screen and (min-width: 768px) {
  
    #nav .step-head img {
        width: 120px;
    }
    #nav .step-num-img {
        width: 80px;
    }
    #nav .step-card-list {
        padding: 20px 20px 4px;
    }
    #nav h2.step-title {
        font-size: 28px;
        line-height: 140%;
        margin-top: 20px;
        font-weight: bold;
    }
    #nav .arrow-img {
        width: 20px;
        vertical-align: baseline;
        margin-left: 10px;
        margin-bottom: 1px;
    }
    #nav h3.step-label {
        line-height: 140%;
        margin: 8px 0 16px;
        font-size: 22px;
    }
    #nav .step-note {
        font-size: 16px;
        margin-top: 16px;
    }
    #nav .step-coupon {
        font-size: 22px;
    }
    #nav .step-cards{
          margin: 30px auto 0;
        max-width: 800px;
    }
}
#str_container h3{
      border-left:none;
          padding: 0;
}
/* ==============================
  賞品一覧セクション
============================== */
#recommendation.recommendation-block {
    padding: 44px 0 34px;
    background: #FFF3CA;
}
/* ヘッダー */
#recommendation .recommendation-head {
    text-align: center;
    margin-bottom: 40px;
    padding: 0 26px;
}
#recommendation .recommendation-icon-top {
    display: block;
        width: 344px;
        margin: 0 auto 8px;
}
#recommendation .recommendation-title {
    font-size: 48px;
    font-weight: bold;
}
/* 小見出し */
#recommendation .recommendation-subhead {
    font-size: 28px;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 60px 0px 32px;
    padding: 0;
    justify-content: center;
}
#recommendation .recommendation-subhead-icon {
    width: 24px;
}
/* カード共通 */
#recommendation .recommendation-card {
    background: #FFFEF1;
    border-radius: 12px 0 0 12px;
    padding: 40px 0;
    margin-bottom: 32px;
}
#recommendation.recommendation-block.has-bg::before{
         background: #D9F7EE;
}
#recommendation .recommendation-card-title {
    font-size: 38px;
    font-weight: bold;
    margin: 0 0 34px 40px;
    text-align: center;
}
#recommendation .recommendation-tag {
    font-size: 16px;
    background: var(--navy);
    color: #fff;
    padding: 3px 8px 5px;
    border-radius: 4px;
    font-weight: 400;
    line-height: 140%;
    vertical-align: baseline;
    margin-left: 8px;
}
/* === 横スクロール対応 === */
#recommendation .recommendation-card-scroll {
    padding: 0 32px 8px;
}
#recommendation .recommendation-card-scroll-list {
    display: flex;
    gap: 20px;
}
#recommendation .recommendation-card-scroll::-webkit-scrollbar {
    display: none;
}
#recommendation .recommendation-card-item {
    flex: 0 0 70%;
    background: #fff;
    border-radius: 8px;
    text-align: left;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    /* box-shadow: var(--shadow); */
}
#recommendation .recommendation-label {
    background: var(--navy);
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    padding: 8px 12px;
    border-radius: 0 0 4px 0;
    display: inline-block;
    margin-bottom: 12px;
    position: absolute;
    line-height: 140%;
}
#recommendation .recommendation-img {
    max-width: 100%;
}
#recommendation .recommendation-item-text-box {
    padding: 16px;
}
#recommendation .recommendation-item-title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 8px;
    line-height: 140%;
}
#recommendation .recommendation-item-text {
    font-size: 16px;
    line-height: 160%;
    margin-top: 0;
}
/* ===== 平日限定コース  ===== */
#recommendation .recommendation-card--weekday .recommendation-card-scroll-list {
    gap: 0;
    border-radius: 8px;
}
#recommendation .recommendation-card--weekday .recommendation-card-item {
    border-radius: 8px;
    padding: 28px 0px;
    filter: unset;
    box-shadow: unset;
}
#recommendation .recommendation-card--weekday .recommendation-card-item:first-child {
    padding-left: 40px;
    /* flex: 0 0 88%; */
    flex: 0 0 50%;
}
#recommendation .recommendation-card--weekday .recommendation-card-item:last-child {
    padding-right: 40px;
    /* flex: 0 0 100%; */
    flex: 0 0 50%
}
#recommendation .recommendation-card--weekday .recommendation-list {
    margin: 0;
    padding: 0;
}
#recommendation .recommendation-card--weekday .recommendation-list li {
    position: relative;
    padding-left: 28px;
    font-size: 16px;
    line-height: 180%;
}
#recommendation .recommendation-card--weekday .recommendation-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 6px;
    height: 6px;
    background: var(--navy);
    border-radius: 2px;
}
/* ===== その他の賞品 ===== */

#recommendation .recommendation-card--other .recommendation-card-item {
    position: relative;
}
#recommendation .recommendation-card--other .recommendation-card-item .card-item-note {
  position: absolute;
  top: 8px;
  right: 10px;
  color: #fff;
  font-size: 14px;
}


@media screen and (min-width: 768px) {
#recommendation .recommendation-card{
border-radius: 12px;
}
#recommendation .recommendation-card-title{
font-size: 24px;
margin: 0 0 24px 40px;
}
#recommendation .recommendation-card-item{
flex: 1;
}
}
/* ===== クーポン告知 ===== */
#coupon.coupon-block {
    background: #ffffff;
    padding: 30px 0px;
    text-align: center;
    border-radius: 15px;
}
#coupon.coupon-block.has-bg::before{
  background: #F2FAFF;
}
#coupon .coupon-head .coupon-icon-top {
    display: block;
    margin: 0 auto 20px;
    width: 355px;
}
#coupon .coupon-title {
    font-size: 40px;
    font-weight: bold;
}
#coupon .coupon-card-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
    margin: 30px auto 23px;
    max-width: 784px;
}
#coupon .coupon-card-list li a {
    box-shadow: var(--shadow);
}
#coupon .coupon-card-head {
    font-weight: bold;
    margin-bottom: 14px;
    font-size: 24px;
}
#coupon .coupon-remark__text {
    font-size: 16px;
    margin-top: 20px;
}
#coupon .coupon-remark__mark {
    margin-right: 6px;
    white-space: nowrap;
}
.ad-box {
    margin-top: 20px;
}
.ad-box__logo {
    margin: 0 10px 0;
}
img.ad-box__logo-img {
    width: 40%;
    margin: 50px auto 0;
    display: block;
}
.ad-box__desc {
    font-size: 16px;
    line-height: 1.5;
    max-width: 800px;
    margin: 20px auto 0;
}
.ad-box__bnr {
    margin: 20px 10px 0;
}
.ad-box__bnr img {
    box-shadow: var(--shadow);
    border-radius: 6px;
    width: 600px;
    margin: 40px auto;
    display: block;
}


/* 対象ゴルフ場 */
#other-golf-courses {
    padding: 52px 0 30px;
    text-align: center;
}
#other-golf-courses .other-golf-courses-title {
    font-size: 24px;
    margin-bottom: 32px;
    color: #fff;
    text-align: center;
    font-weight: bold;
}
#courses .courses-head {
    display: block;
    margin: 30px auto 20px;
    width: 310px;
    text-align: center;
}
#courses .courses-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    text-align: center;
        margin: 30px auto 60px;
    max-width: 800px;
}
#courses .courses-card-list {
    display: block;
    border: 1px solid var(--navy);
    padding: 16px 20px 16px;
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}
#courses .courses-num-img {
    width: 80px;
    display: block;
    margin: 0 auto;
}
#courses .apply-title {
    line-height: 140%;
    margin: 8px 0 0;
    font-size: 22px;
}
#courses .apply-title strong {
    font-weight: bold;
}
#courses .apply-title strong span {
    color: var(--orange);
}
#courses .arrow-img {
    width: 20px;
    vertical-align: baseline;
    margin-left: 10px;
}
h3.courses-subhead {
    font-size: 24px;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0px 0px 32px;
    align-items: end;
}
.courses-subhead img.courses-subhead-icon {
    width: 28px;
}
.gc-card-list {
  display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.gc-card {
    background: #fff;
    border-radius: 6px;
    box-shadow: var(--shadow);
    overflow: hidden;
    display: block;
}
.gc-card__body {
    padding: 20px;
}
.gc-card__img {
    display: block;
    width: 100%;
    height: auto;
}
h3.gc-card__title {
    font-size: 18px;
    font-weight: 700;
    line-height: 150%;
        margin: 0 0 4px 0;
}
.gc-card__desc {
    font-size: 16px;
    line-height: 150%;
}
.gc-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin-top: 16px;
    margin-bottom: 26px;
}
.gc-card__tag {
    display: inline-block;
    font-size: 15px;
    padding: 4px 8px;
    border: 1px solid var(--orange);
    border-radius: 4px;
    color: var(--orange);
    white-space: nowrap;
    font-weight: normal;
}
.gc-card .gc-card__btn a {
    padding: 16px 0;
    text-align: center;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    background-color: #0071BE;
    border: 1px solid #0071BE;
    border-radius: 4px;
    transition: all 0.3s ease-out;
    margin: 0 auto;
    box-shadow: var(--shadow);
    display: block;
    line-height: 1;
}

.global-nav {
    display: flex;
    align-items: center;
    border: solid 1px #fff;
    border-radius: 10px;
}
.global-nav a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    height: 56px;
    border-right: solid 1px #fff;
    font-size: 18px;
    line-height: 1.3;
    text-align: center;
}
.global-nav .other-golf-courses a {
  border-right: none;
}
.global-nav a::before {
    position: absolute;
    top: 44px;
    left: 50%;
    background-color: white;
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    margin-left: -10px;
    content: "";
    border-radius: 100px;
}
.global-nav p {
  width: calc(100%/3);
  margin-top: 0px;
  box-shadow: 0 1px 5px rgb(0, 0, 0, .4);
}
.global-nav a::after {
    position: absolute;
    top: 53px;
    left: 51.2%;
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: -6px;
    color: #ffffff;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg);
    background-repeat: no-repeat;
    background-position: center;
}
.global-nav .present {
  background: #FFF53A;
}
.global-nav .present a::before {
  border: 2px solid #D5CD2B;
}
.global-nav .present a::after {
  border: 3px solid #D5CD2B;
  border-left: 0;
  border-bottom: 0;
}
.present-txt {
  font-weight: 600;
  margin: 15px 0;
}
.global-nav .recommendation {
  background: #00C88A;
}
.global-nav .recommendation a::before {
  border: 2px solid #00A16F;
}
.global-nav .recommendation a::after {
  border: 3px solid #00A16F;
  border-left: 0;
  border-bottom: 0;
}
.global-nav .other-golf-courses {
  background: #049EE9;
}
.global-nav .other-golf-courses a::before {
  border: 2px solid #0088CB;
}
.global-nav .other-golf-courses a::after {
  border: 3px solid #0088CB;
  border-left: 0;
  border-bottom: 0;
}
#present {
  font-size: 16px;
}
.luxury-recommendation {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
.ac-trigger {
    cursor: pointer;
    position: relative;
    display: inline-block;
    font-weight: bold;
}
.ac-wrap {
    display: none;
}
.ac-wrap.is-open {
    display: block;
}
.ac-trigger:before {
    content: "";
    position: absolute;
    right: -20px;
    top: 25%;
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    width: 12px;
    height: 12px;
    border: 2px solid #000;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg);
}
.ac-trigger.is-open:before{
    transform: rotate(-45deg);
    top: 35%;
}
.ac-wrap-txt-area {
  text-align: left;
  margin-top: 16px;
}
.sponsoring-companies.two {
  display: flex;
  gap: 15px;
  align-items: center;
  margin: 55px 0 24px;
}
.sponsoring-companies.two .sponsoring-companies-txt {
  text-align: left;
  width: 818px;
}
.sponsoring-companies.two .sponsoring-companies-txt p:has(.detail) {
  text-align: right;
  color: #0071BE;
  position: relative;
  margin-right: 20px;
}
.sponsoring-companies.two .sponsoring-companies-txt p:has(.detail)::before {
  content: "";
  position: absolute;
  right: -15px;
  top: 40%;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 12px;
  height: 12px;
  border: 1px solid #0071BE;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(45deg);
}
.sponsoring-companies-name {
  font-weight: bold;
}
.coupon-item-title {
  background: #FFF53A;
  position: relative;
  padding: 9px 0;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 25px;
  border-radius: 5px;
}
.coupon-item-title::before {
  content: "";
    display: block;
    position: absolute;
    bottom: -30px;
    border-style: solid;
    border-width: 18px;
    border-color: #FFF53A transparent transparent;
    left: 50%;
    transform: translateX(-50%);
}
.coupon_anc,
.itiosi_anc {
  color: #0071BE;
  position: relative;
  display: inline-block;
  margin-top: 0;
}
.coupon-item.js-get-coupon .itiosi_anc a {
  box-shadow:none;
}
.coupon_anc::before,
.itiosi_anc::before {
  content: "";
  position: absolute;
  right: -20px;
  top: 30%;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 10px;
  height: 10px;
  border: 2px solid #0071BE;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
}
.itiosi_anc-area {
  text-align: right;
  margin: 8px 30px 0 0;
}
#bnr-area.bnr-area.has-bg::before {
  background: #DBF7ED;
}
#app-download.app-download.has-bg::before {
  background: #CDECFB;
}
#other-golf-courses.other-golf-courses-block.has-bg::before {
  border-top: 8px solid #049EE9;
}
.menu-tab-wrapper {
  margin-bottom: 45px;
}
#recommendation .menu-tab {
  display: flex;
  gap: 0.3%;
}

/*---------------------------------
  　SLIDE
-----------------------------------*/
ul.rs_course .sp-area {
  display: inline;
}
ul.rs_course li {
  position: relative;
  margin-bottom: 40px;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: -0.02em;
  border: 1px solid #D9D9D9;
  box-sizing: border-box;
  width: 312px;
  background: #fff;
}
ul.rs_course li p.img{
  position: relative;
  overflow: hidden;
  margin-top: 0;
}
ul.rs_course li img {
  width: 100%;
}
ul.rs_course li .listtxtArea{
  padding: 0 9px 12px;
}
ul.rs_course li .course-name {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #010101;
  text-decoration: none;
  margin-bottom: 0;
}
ul.rs_course li .course-name span {
  font-size: 14px;
}
ul.rs_course li .copy {
  /* position: absolute; */
  margin: 0 auto;
  padding: 0 20px;
  font-size: 14px;
  color: #424242;
  font-weight: bold;
  /* left: 0;
  right: 0;
  top: 275px; */
}
ul.rs_course li .txt {
  margin: 0 auto;
  text-align: left;
}
ul.rs_course li .txt-16 {
  font-size: 16px;
}
ul.rs_course .link-btn{
  text-align: right;
  margin-top: 20px;
}
.courseTxtArea{
  position: absolute;
  top: 102px;
  left: 0;
  color: #fff;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 8px 9px;
  box-sizing: border-box;
}
.courseTxtArea .courseTitle{
  font-family: "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;
  margin-top: 0;
}
.courseTxtArea .courseTxt{
  font-size: 14px;
  margin-top: 3px;
}
.courseTxtArea dl dt i{
  color: #fe9e31;
}
.courseTxtArea dl dd{
  font-size: 14px;
  width: 121px;
  height: 22px;
  border-radius: 10px;
  background: #FFF;
  color: #0e0e0e;
  text-align: center;
  line-height: 20px;
}
#early_rsv_hokkaido_2026 .btn-red.reserve a:link {
  width: 290px;
}
.tab_content .rs_course {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  background: #D9F7EE;
}
#container .rs_course img {
  width: 310px;
  height: 156px;
}
#early_rsv_hokkaido_2026 .reservation-button {
  color: #fff;
  padding-bottom: 25px;
}
#early_rsv_hokkaido_2026 .reservation-button a {
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  background-color: #0071BE;
  border: 1px solid #0071BE;
  border-radius: 6px;
  transition: all 0.3s ease-out;
  margin: 0 auto;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.16));
  display: block;
  width: 290px;
  padding: 0;
  line-height: 50px;
}
.golfCourseWrapper .slick-prev {
  z-index: 9999999;
  left: 0px;
}
.golfCourseWrapper .slick-next {
  right: 14px;
}
.golfCourseWrapper .slick-next:before {
  content: "";
  position: absolute;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 15px;
  height: 15px;
  border: 2px solid #ffffff;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(45deg);
  opacity: 1;
}
.golfCourseWrapper .slick-prev:before {
  content: "";
  position: absolute;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 15px;
  height: 15px;
  border: 2px solid #ffffff;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(225deg);
  opacity: 1;
}
.menu-tab li {
  width: calc(99.4%/3);
  background-color: #E9E9E9;
  text-align: center;
  cursor: pointer;
  font-size: 18px;
  font-weight: 600;
  border-radius: 10px 10px 0px 0;
}
.menu-tab li:has(.is-current) {
  background-color: #00C88A;
}
.menu-tab li a {
  width: 319px;
  display: inline-block;
  color: #000;
  padding: 20px 0;
}
.bnr-area {
  padding: 20px 0;
}
.bnr-area-inner,
.app-download-inner {
  text-align: center;
  position: relative;
}
.app-download {
  padding: 45px 0;
}
a:has(.appstore) {
  position: absolute;
  right: 334px;
  bottom: 47px;
}
a:has(.googleplay) {
  position: absolute;
  right: 57px;
  bottom: 47px;
}

  .slider {
    position: relative;
    width: 960px;
    margin: 40px auto;
  }

  .slider__viewport {
    overflow: hidden;
    width: 100%;
  }

  .slider__track {
    display: flex;
    transition: transform 0.35s ease;
  }

  /* --- スライド --- */
  .slide {
    flex: 0 0 184px;   /* 画像の元サイズそのまま */
    margin-right: 8px; /* 合計40pxを分配：8px × 5 = 40px */
  }
  .slide:last-child {
    margin-right: 0;
  }

  .slide img {
    width: 184px;
    height: 295px;
    display: block;
  }

  /* --- 矢印ボタン（黒） --- */
  .slider__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #000000;
    background: none;
    display: grid;
    place-items: center;
    cursor: pointer;
    outline: none;
    border: none;
  }
  .slider__nav:disabled {
    opacity: 0;
  }
  .slider__prev { left: -32px; }
  .slider__next { right: -25px; }

  /* CSS矢印 */
  .slider__nav::before {
    content: "";
    width: 12px;
    height: 12px;
    border-right: 2px solid #000000;
    border-bottom: 2px solid #000000;
  }
  .slider__prev::before { transform: rotate(135deg); }
  .slider__next::before { transform: rotate(-45deg); }

.position-adjustment {
  top: 88px;
}
