@charset "utf-8";
/* CSS Document */

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

body {
	font-size: 16px;
}

.sp{display:none;}

.br980{
	display: block;
}

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

#footer_link {
    min-width: auto;}

/* -------------------------------------------------------------- */
/* パンくず・SNSボックス
/* -------------------------------------------------------------- */

div#bread p.crumbs {
	font-size:12px;
}

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

.mainvisual {
	background: url(images/bg_mainvisual.png) no-repeat;
	padding: 0;
	margin: 0 auto;
	width: 100%;
	background-position: center;
	background-size: cover;
}

.mainvisual h1{
	width: 1260px;
	margin: 0 auto;
}
	
/*-----------------------------------------------------*/
/* 期間エリアのスタイル
/*-----------------------------------------------------*/

#term{
	background-color: #d81d04;
	width: 100%;
}
#term dl {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-block: 25px;
}
#term dl {
	color: #ffffff;
	font-weight: bold;
}
#term dt {
	margin-bottom: 10px;
	font-size: clamp(28px, 0.323vw + 25.929px, 30px);
}

#term dd {
	font-size: clamp(26px, 0.323vw + 23.929px, 28px);
	line-height: 1.4;
	letter-spacing: 0.03em;
}

#term dd p:nth-child(1) {
	margin-bottom: 5px;
}

#term dd p:nth-child(2) {
	font-weight: normal;
	font-size: clamp(20px, 0.323vw + 17.929px, 22px);
}

/* リード */

.lead_title {
    margin: 50px 10px;
	font-size: 24px;
}

p.lead{
	text-align: center;
	margin: 15px 10px 50px 10px;
    line-height: 1.8em;
    font-size: 18px;
}

#cp-conditions {
	margin-bottom: 50px;
}
	
/* -------------------------------------------------------------- */
/* 算出方法エリア PGMポイントプレゼント例
/* -------------------------------------------------------------- */	
	
h2{
    position: relative;
    text-align: center;
	font-size: 30px;
}

h2.explanation:before,h2.application:before {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    background: #ffcc00;
	z-index: -1;
}

.explanation.ukiukikun b {
    color: #17aa21;
    font-size: 1.5em;
}

h2.explanation.ukiukikun b::after {
    position: absolute;
    content: "";
    background: url(/images/campaign/compe/2022/3/ukiukikun.png);
    width: 52px;
    height: 71px;
    margin: auto;
    top: 0;
    left: 0;
    right: -14em;
    bottom: 9px;
}

h2.explanation:before {
	top: calc(50% - 1px);
    height: 10px;
}

h2.application:before {
	top: calc(0% - 1px);
    height: 2.5em;
}

h2.explanation span{
	background-color: #fff;
	padding: 0 90px;
	z-index: -1;
	text-align: center;
	display: inline-block;
	margin: auto;
}

h2.application span{
	color: #333;
	padding: 20px 0 25px;
	display: inline-block;
	margin: auto;
	font-weight: 1.5em;
}

h2.explanation.ukiukikun b{
	color: #17aa21;
	font-size: 1.5em;
}

section {
	margin: 20px auto 60px;
}

/* -------------------------------------------------------------- */
/* 月の選択　list　select_month
/* -------------------------------------------------------------- */

#calc {
	margin: 0 auto 50px;
    padding-inline: 30px;
    max-width: 1260px;
    box-sizing: border-box;
}

.select_month_box {
	width: 1260px;
	margin: 0 auto;
}

.select_month {
	display: flex;
	margin: 40px auto 75px;
	justify-content: space-between;
	box-sizing: border-box;
	width: 90%;
}

.select_month li a{
	font-weight: bold;
	border-radius: 100vh;
	display: block;
	text-decoration: none;
	color: #fff;
	font-size: 26px;
	padding: 18px 85px;
	transition: .2s;
}

/* 3月 */
.select_month li.mar a{
	/* ▼3月キャンペーン開始時にアクティブ */
	/* background-color: #ffb400; 
	 border-bottom: 6px solid #ef7c00;*/
	 /* ▼3月キャンペーン開始前にアクティブ */
	background-color: #919191;
	border-bottom: 6px solid #333;
	
}

/* 3月開始時にアクティブ */
 /*.select_month li.mar a:hover{
	border-bottom: 2px solid #ef7c00;
	margin-top: 4px;
}*/

/* 2月 */
.select_month li.feb a{
	/* ▼2月キャンペーン開始時にアクティブ */
	/*background-color: #46cdc5;
	border-bottom: 6px solid #38a69f;*/
	
	/* ▼2月キャンペーン開始前にアクティブ */
	background-color: #919191;
	border-bottom: 6px solid #333;
}

/* 2月開始時にアクティブ */
/*.select_month li.feb a:hover{
	border-bottom: 2px solid #38a69f;
	margin-top: 4px;
}*/

/* 1月 */
.select_month li.jun a{ 
	/* ▼1月キャンペーン開始時にアクティブ */
	background-color: #ed458b;
	border-bottom: 6px solid #c33872;

	/* ▼1月キャンペーン開始前にアクティブ */
	/* background-color: #919191;
	border-bottom: 6px solid #333; */
}
/* ▼1月キャンペーン開始時にアクティブ */
.select_month li.jun a:hover{
	border-bottom: 2px solid #c33872;
	margin-top: 4px;
}

/* 罫線 */
.line{
	width: 1260px;
    margin: auto auto;
	margin-bottom: 50px;
	border:none;
	height:3px;
	background-color:#333333;
}

/* -------------------------------------------------------------- */
/* 各月応募エリアのスタイル（article campaignBox）
/* -------------------------------------------------------------- */
article{
    margin-top: 20px;
}

.campaignBox{
	width:1260px;
	border-radius: 30px;
	margin: auto auto;
	box-sizing: border-box;
}

.ttl_month{
	padding: 30px 0 20px;
	color: #fff;
	text-align: center;
	font-size: 30px;
	width: 100%;
}

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

.ttl_month span{
	font-size: 1.5em;
}

dl.term{
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 2px;
	font-size: 1.8em;
	width: 90%;
	text-align: center;
	font-weight: bold;
	line-height: 2em;
}

dl.term dd{
	background-color: #f1f1f2;
	border: solid 3px #f1f1f2;
	width: 70%;
	margin: auto auto 10px;
	box-sizing: border-box;
}

dl.term dt{
	width: 30%;
	margin: auto auto 10px;
	box-sizing: border-box;
}

dl.term + p{
text-align: center;
font-size: 1.7em;
font-weight: bold;
}

/* #jun 1月用色*/
#jun .term_play{
	background-color: #d81d04;
	color: #fff;
	border: solid 3px #d81d04;
}
#jun .term_campaign{
	background-color: #fff;
	color: #d81d04;
	border: solid 3px #d81d04;
}

/* #feb 2月用色*/
#feb .term_play{
	background-color: #46cdc5;
	color: #fff;
	border: solid 3px #46cdc5;
}
#feb .term_campaign{
	background-color: #fff;
	color: #46cdc5;
	border: solid 3px #46cdc5;
}

/* #mar 3月用色*/
#mar .term_play{
	background-color: #ffb400;
	color: #fff;
	border: solid 3px #ffb400;
}
#mar .term_campaign{
	background-color: #fff;
	color: #ffb400;
	border: solid 3px #ffb400;
}

.coming_soon {
	text-align: center;
	margin-top: 45px;
}

/*-----------------------------------------------------*/
/* ボタンエリアのスタイル
/*-----------------------------------------------------*/
/*キャンペーン詳細を確認する*/

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

	.campaignBtn_2022, .bookingBtn_2022{
		width: 50%!important;
	}


/*-----------------------------------------------------*/
/* 応募、予約ボタン
/*-----------------------------------------------------*/
.btnArea_2022{
	width:100%!important;
	font-size: 2em;
	justify-content: space-between;
	display: flex;
	gap: 15px;
	padding-inline: 10px;
}

.btn_attention{
	font-size: .7em;
	margin-top: 10px;
}

.campaignBtn_2022 {
	padding:0;
}

.bookingBtn_2022{
	width: 100%;
	padding:0;
}

.campaignBtn_2022 a, .bookingBtn_2022 a{
	padding: .5em 1.2em .5em 0.5em
}


/* クローズボタン */
.btnArea_Close{
	text-align: center;
	margin: 20px auto 30px;
	width: 90%;
	padding: 20px 0;
	font-weight: bold;
	font-size: 2em;
	background: #808080;
	color: #fff;
}

/* ホバー時のスタイル */
.btnArea a {
	transition: .4s;
}

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

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


#cp-detail {
	padding-top: 0;
}

#outline dt{
	margin-bottom: 0;
	margin-top: 0.4em;
}

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

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

@media screen and (max-width:1260px){
	.mainvisual h1{
		width: 100%;
	}

	#calc {
		width: 100%;
	}

	.select_month_box {
		width: 100%;
		margin: 0 auto;
	}

	.campaignBox {
		width: 100%;
		border-radius: 30px;
		margin: auto auto;
		box-sizing: border-box;
	}
	
	dl.term {
		font-size: 2.2vw;
	}
	
	/* 罫線 */
	.line{
		width: 90%;	
	}
}
@media screen and (max-width:1050px){

	#calc {
		width: 90%;
	}
}

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

	.btnArea_2022 {
		display: block;
		width: 95%;
	}

	.btnAreaClose{
		width: 100%;
	}

	.campaignBtn_2022, .bookingBtn_2022 {
		width: 90% !important;
	}

}

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

	div#breadSns{
	  	width:100%;
		height: 42px;/*折り返し用*/
	}

	.mb30 {
		width: 100%!important;
	}

	.br980 {
		display: none;
	}
	
	div#bread p.crumbs{
       line-height:1.4;/*折り返し用*/
    }

	.mainvisual h1{
		width: auto;
	}

	.select_month {
    	width: 90%;
	}

	.ttl_month img {
		width: 60%;
	}

	/* 一組当たりの組数に応じて */
	h2.explanation.ukiukikun b{
		font-size: 1.3em;
	}

	h2.explanation span{
		padding:0 15px;
	}

	.ttl_month{
		font-size: 3.5vw;
	}

	dl.term{
		font-size: 2.2vw;
	}

	dl.term dd{
		font-size: 2.5vw;
	}	

	dl.term + p{
		font-size: 2.5vw;
	}

	/* 罫線 */
	.line{
		margin-top: 80px;
	}


/*-----------------------------------------------------*/
/* 応募、予約ボタン
/*-----------------------------------------------------*/
	.btnArea_2022 {
		display: block;
		width: 95%;
	}

	.campaignBtn_2022 {
		width: 100%;
		padding:0;
	}

	.bookingBtn_2022 {
		width: 100%;
		padding:0;
	}

	.campaignBtn_2022, .bookingBtn_2022 {
		width: 97% !important;
	}

	#calc {
		width: 95%;
	}

	.select_month li a {
		font-size: 3.2vw;
		padding: 11px 1.7em ;
	}

	/* クローズ */
	.btnArea_Close {
		width: 90%;
		font-size: 3vw;
	}
}



/*-----------------------------------------------------*/
/* SP版 基本スタイル
/*-----------------------------------------------------*/
@media screen and (max-width:640px){

	.pc{display:none;}
	.sp{display: block;}
	
	/* メインビジュアル */
	.mainvisual h1{
		width: auto;
	}
		
	ul.btnArea_top li{
		width:50%;
		margin:10px auto;
	}

		/* リード */
	.mn {
		width: 90%;
		margin: 0 auto;
	}

	.lead_title {
		font-size: 22px;
		margin-top: 40px;
		margin-bottom: 0;
	}

	p.lead{
		text-align: left;
		line-height: 1.6em;
		font-size: 16px;
		margin: 15px 0 50px 0;
	}
		
	/* 必要条件　調整 */
	dl.display_terms dt::before {right: 0!important; top: 7px!important;}
		
	dl.display_terms dt {
		padding: auto!important;
		width: auto!important;
	}
		
	/* 月の選択　list　select_month */
	.select_month{
		margin: 30px auto 30px;
		width: 96%;
	}

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

	.ttl_month{
		font-size: 4vw;
	}

	#term dl {
		padding: 20px 15px;
		text-align: center;
	}

	#term dt {
		margin-bottom: 10px;
		font-size: clamp(20px, 3.019vw + 8.679px, 28px);
	}

	#term dd {
		font-size: clamp(18px, 3.019vw + 6.679px, 26px);
	}

	#term dd p:nth-child(2) {
		font-size: clamp(14px, 2.264vw + 5.509px, 20px);
	}
	

	

	
	ul.btnArea.pc{
		display: none;
	}

	h2.explanation {
		font-size: 4vw;	
	}

	h2 .ukiukikun {
		font-size: 4vw;
	}

	h2.explanation.ukiukikun b::after {
		right: -15em;
		bottom: 27px;
		background: url(/images/campaign/compe/2022/3/ukiukikun.png) no-repeat center bottom / 60%;
		z-index: 1;
	}

	h2.explanation span{
		background-color: transparent;
		padding: 0px 10px;
	}

	h2.explanation:before {
		content: "";
		position: absolute;
		left: 0;
		top:-10px;
		width: 100%;
		z-index: 0;
		height: 3px;
	}

	h2.explanation:after{
		content: "";
		position: absolute;
		left: 0;
		bottom:-10px;
		width: 100%;
		background: #ffcc00;
		z-index: 0;
		height: 3px;
	}

	.ttl_month img {
		width: 90%;
	}
		
/* -------------------------------------------------------------- */
/* ボタンエリアのスタイル
/* -------------------------------------------------------------- */
/*キャンペーン詳細を確認する*/
	ul.btnArea_top{
		margin: 10px 0;
	}

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

/*応募・予約ボタン*/
	.campaignBtn_2022,.bookingBtn_2022 {
		font-size: 5vw;
	}
	.campaignBtn_2022 a::after, .bookingBtn_2022 a::after{
		right:14px;
	}
	.campaignBtn_2022 a, .bookingBtn_2022 a{
		padding: .6em 1em .5em 0.4em;
	}

	.campaignBox{
		margin: auto auto 0;
		width:95%
	}

	section {
		margin: 0 auto 50px;
	}

	dl.term{
		display: block;
		width: 100%;
		font-size: 4vw;
		margin: 0px auto 2px;
	}

	dl.term dt,dl.term dd{
		width: 100%;
	margin: 0;
	}

	dl.term dd{
		margin-bottom: 20px;
		font-size: 4vw;
	}

	dl.term + p {
		font-size: 2.8vw;
	}

	.btnArea li:first-child {
		width: 95%;
	}
	.btnArea li:last-child {
		width: 95%;
	}

	.btnArea li a {
		font-size: 4.5vw;
	}

	.btnArea li p{
		font-size: 3vw;
	}
		
	#outline th, #outline td {
		display: block;
		width: auto;
		}

	#outline th {
		text-align: left;
	}

	/* 月の選択　list　select_month */
	.select_month li a{
		font-size: 3.8vw;/*3月追加したら変更*/
		/*padding: 17px 2.4em ;*/ /*3月追加したら変更*/
		text-align: center;
	}
	.select_month li a::after{
		border-left: .5em solid transparent;
		border-right: .5em solid transparent;
		border-top: .5em solid #fff;
		margin-left: 5px;
		margin-top: 5px;
	}
	
	/* キャンペーン概要エリアのスタイル(#outline) */

	#outline{
		margin-top: 0;
		padding-top: 0;
	}
	
	#outline h3 {
		margin: 40px 0 0 0 !important;
		padding: 7px;
		border-left: 10px solid #2ca6e0;
		border-bottom: 1px solid #CCCCCC;
		font-size: 16px;
		font-weight: bold;
		text-align: left;
	}

	#outline td {
		padding: 10px 5px;
		text-align: left;
	}

	#outline dt{
		margin-bottom:5px;
	}

	#outline ol li{
		margin-bottom:5px;
		text-indent:-2.5em;
		padding-left:2.0em;
		line-height:1.3;
	}

/* キャンペーンページに戻るボタンの設置---------------------------------- */

	h2.explanation{
		margin-bottom: 10px;
		width: 100%;
	}

	article {
			padding-top: 0;
			margin-top: 0;
	}
	article#feb,article#mar{
		margin-bottom: 20px;
	}

	/* クローズ */
	.btnArea_Close{
		width: 95%;
		font-size: 4vw;
	}
}

@media screen and (max-width:450px) {
	
	h2.application span {
		font-size: 6vw;
	}

	/* 罫線 */
		
		.line{
			width: 80%;
			margin-bottom: 20px;
			margin-top: 50px;
		}
	}

@media screen and (max-width:390px) {
	.br390 {
		display: none;
	}
	
	.campaignBtn_2022 a::after, .bookingBtn_2022 a::after {
    right: 4%!important;
	}

	.campaignBtn_2022, .bookingBtn_2022 {
        font-size: 19px!important;}
}
