@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 {
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  margin: -26px 0 -28px;
  z-index: 9999999999999;
  position: relative;
}
.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;
  font-weight: bold;
  padding: 16px 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: 16%;
}
/*横長用*/
.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;
}

/*--------------------------------------
  　　キャンペーン概要
--------------------------------------*/
#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;
}

/*--------------------------------------
  　　注意事項
--------------------------------------*/
.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;
  box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.2);
  -webkit-tap-highlight-color: transparent;
  transition: .2s ease-out;
}
.coupon-item.js-get-coupon a:hover {
  color: #fff;
  box-shadow: 0px 4px 5px 0px rgba(0,0,0,0.2);
  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: 400px;
  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;
padding: 30px 30px 15px 30px;
background: #eef7ee;
}
.tab_box.-bg_blue{
background: #ecf6f9;
}
.tab_content{
position:relative;
padding: 0 0 20px 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);
}
#cp_miyazaki_2025 {
    color: var(--navy);
    font-family: 'Noto Sans JP', Meiryo, sans-serif;
}
#cp_miyazaki_2025 a:link,
#cp_miyazaki_2025 a:hover,
#cp_miyazaki_2025 a:visited {
    color: inherit !important;
}
#cp_miyazaki_2025 .btn-red a:link,
#cp_miyazaki_2025 .btn-red a:hover,
#cp_miyazaki_2025 .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: 0 auto;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.16));
    display: block;
    width: 390px;
    height: 50px;
    padding: 0;
    line-height: 50px;
}
#cp_miyazaki_2025 .btn-red a:link,
#cp_miyazaki_2025 .btn-red a:hover,
#cp_miyazaki_2025 .btn-red a:visited,
#cp_miyazaki_2025 .gc-card .gc-card__btn a:link,
#cp_miyazaki_2025 .gc-card .gc-card__btn a:hover,
#cp_miyazaki_2025 .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);
    background-image: url(/special/miyazaki/2025/images/header.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex
;
    justify-content: center;
    align-items: center;
    position: relative;
}
.hero-title {
  height: auto;
}
/* #step */
#step.step-block {
    color: var(--navy);
    padding: 72px 0px 60px;
    text-align: center;
    line-height: 150%;
}
#step.step-block.has-bg::before{
  background: #FFFEF1;
}
#step h2.step-title {
    font-size: 34px;
    line-height: 150%;
    margin-top: 30px;
}
/* 2カラム（SP横並び） */
#step .step-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 30px;
}
#step .step-card-list {
    display: block;
    border: 1px solid var(--orange);
    padding: 28px 28px 4px;
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}
#step .step-card-list .step-num{

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

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

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

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


@media screen and (min-width: 768px) {
#prizes .prizes-card{
border-radius: 12px;
}
#prizes .prizes-card-title{
font-size: 24px;
margin: 0 0 24px 40px;
}
#prizes .prizes-card-item{
flex: 1;
}
}






/* ===== クーポン告知 ===== */
#coupon.coupon-block {
    background: #F2FAFF;
    padding: 60px 0px;
    text-align: center;
}
#coupon.coupon-block.has-bg::before{
  background: #F2FAFF;
}
#coupon .coupon-head .coupon-icon-top {
    display: block;
    margin: 0 auto 20px;
    width: 330px;
}
#coupon .coupon-title {
    font-size: 40px;
    font-weight: bold;
}
#coupon .coupon-card-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 80px;
    margin: 30px auto 0;
    max-width: 640px;
    align-items: end;
}
#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;
}


/* 対象ゴルフ場 */
#courses {
    padding: 60px 0px;
}
#courses .courses-title {
    font-size: 24px;
    background: var(--navy);
    padding: 12px;
    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;
}