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

/* <!-- 共通 --> */
body{
	margin: 0px;
	-webkit-text-size-adjust: 100%;

	background-color: #fff;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Yu Gothic', YuGothic, Roboto, Ubuntu, 'Hiragino Kaku Gothic Pro', 'Hiragino Sans GB', Meiryo, 'Malgun Gothic', 'Helvetica Neue', sans-serif;

	background-color: #fff;
	color:#000;
	font-weight: 500;
	line-height: 1.3;
}

img {
    vertical-align: middle;
    width: 100%;
    height: auto;
}


.view-pc{    
    display: block !important;              /* フレックスボックスにする */
}
.view-mobile{
    display:none !important;
}
/*
figcaption.view-pc{    
    display: block !important;
}
figcaption.view-mobile{
    display:none !important;
}
*/
.view-pc-fl{    
    display: flex !important;              /* フレックスボックスにする */
}
.view-mobile-fl{
    display:none !important;
}

.non-view{
	visibility: hidden;
}


.wrapper{
	display:block;
	max-width:100%;
	width:100%;
	margin: 0 auto;
	overflow:hidden
}


/* トップ */
.top{
	margin-top:1%;
	margin-bottom:0%;
	background:#fff url(../images/warican_top.jpg) no-repeat top center;
	background-size: cover;
	height: calc(1655vw /  18.0);
}


/* 期間・条件 */
h2{
	font-size: clamp(17px, 2.4vw, 26px);
	font-weight: bold;
	text-align: center;
	position: relative;
}
h2.kikan_jouken-1{
	color: #00a5a8;
	margin-top:10%;
}
h2.kikan_jouken-2{
	color: #e60012;
	margin-top:2%;
}
h2.kikan_jouken-3{
	color: #231815;
	margin-top:2%;
	margin-bottom:5%;
}

h2.kikan_jouken-1::after{
	position: absolute; /*positionをabsoluteに指定*/
	background-color: #00a5a8;
	content: "";
	width: 100%;
	height: 3px;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
}
h2.kikan_jouken-2::after{
	position: absolute; /*positionをabsoluteに指定*/
	background-color: #e60012;
	content: "";
	width: 100%;
	height: 3px;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
}
h2.kikan_jouken-3::after {
	position: absolute; /*positionをabsoluteに指定*/
	background-color: #231815;
	content: "";
	width: 100%;
	height: 3px;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
}

.kikan .doc-box-1{
	display:block;
	margin:0 auto;
	max-width:800px;
	width:40%;
	font-size: clamp(17px, 2.4vw, 26px);
}

.kikan .doc-box-1 p.kikan-box{
	margin-top:5%;
	margin-bottom:15%;
}
.kikan .doc-box-2{
	background:#fff url(../images/kikan-bg.png) no-repeat bottom center;
	background-size: cover;
	height: auto;
	height: calc(432vw /  18.0);
	margin-top: -11%;
	padding-bottom:5%;
}

ul.jouken-box{
	display: block;
    margin: 0 auto;
    width: 95%;
    padding-left: 3%;
    font-size: clamp(12px, 1.5vw, 20px);
    font-weight: 900;
    text-align: left;
/*    letter-spacing: -0.1em;*/
    letter-spacing: 0em;
    line-height: 1.8;
    color: #231815;
}
ul.jouken-box span.marker {
/*	background: linear-gradient(transparent 60%, #faee00 60%);*/
	text-decoration: underline; 
	text-decoration-thickness: 0.6em; 
	text-decoration-color: #faee00;
	text-underline-offset: -0.1em;
	text-decoration-skip-ink: none;
}
ul.jouken-box li{
	list-style: none;
	padding-left: 1.0em;
	text-indent: -1.0em;
}


/* キャンペーン */
.campaign{
	background-color: #5ec0b8;
	height: auto;
	padding-top: 2%;
	padding-bottom: 2%;
	color:#fff;
}

h2.campaign-1{
	display: block;
	margin:0 auto 5%;
	background-color: #5ec0b8;
	padding: 1rem 2rem;
	border-top: 3px solid #fff;
	border-bottom: 3px solid #fff;
	width: 40%;
}

.campaign-box-1{
	font-size: clamp(17px, 2.6vw, 30px);
	font-weight: 900;
	width: 80%;
    max-width: 1400px;
	display: block;
	margin:0 auto;
}
.campaign-box-1 .yllw{
	color:#fff67f;
}

.campaign-box-2{
	display:flex;
	justify-content: center;
	align-items: center;
	width:70%;
    max-width: 1400px;
	margin:5% auto 3%;
}
.campaign-box-2 img{
	padding:1%;
}
.cflex-box-inner2{
	margin-top:-11%;
}

.campaign-box-2 figcaption{
	display:inline-block !important;
	width: 94%;
    text-align: left;
    margin: 5% auto;
    line-height: 1.5;
    font-size: clamp(10px, 1.2vw, 18px);
	font-weight: 600;
}
.campaign-box-2 figcaption span.csmall{
	font-size: clamp(8px, 0.9vw, 14px);
	font-weight: 600;
}

ul.campaign-box-3{
	border-radius: 30px;
	background-color: #00a5a8;
	padding: 2% 5% 2% 5%;
    width: 75%;
	max-width: 1400px;
    margin: 4% auto 3%;
    line-height: 2.3;
	font-size: clamp(10px, 1.3vw, 18px);
	counter-reset: my-counter;
	letter-spacing: -0.06em;
}
.campaign-box-3 li{
	text-align: left;
	padding-left: 2em;
}
.campaign-box-3 li:before{
	content: "※"counter(my-counter);
	counter-increment: my-counter;
	margin-left: -2.5em;
}



/* チケット説明 */
.ticket_info {
	line-height: 1.5;
    font-size: clamp(12px, 1.4vw, 19px);
	background:#fff url(../images/ticket-info.jpg) no-repeat bottom center;
	background-size: cover;
	height: auto;
	height: calc(2667vw /  18.0);
	min-height: 1400px;
	padding-top: 12%;
}

.ticket_info button{
	display: inline-block;
	width:40%;
	margin:0 auto;
	line-height: 2.2em;
	text-align: center;
	color:#fff;
	background-color: #727171;
/*    letter-spacing: -0.2em;*/
    letter-spacing: 0em;
	margin-bottom: 4%;
}

.ticket_info button.lst{
	margin-bottom: 4%;
}

button.bc-1{background-color: #5ec0b8;}
button.bc-2{background-color: #5ec0b8;}
button.bc-3{
background-color: #fff;
color:#000;
border: 1px solid #000;
}


.ticket_info p{
	display: block;
	width:42%;
	margin:0 auto;
	text-align: center;
	line-height: 2.0;
    padding-bottom: 3%;
/*    letter-spacing: -0.13em;*/
    letter-spacing: 0em;
	margin-bottom: 1%;
}

.ticket_info p.prc1{
	display: block;
	width:40%;
	margin:0 auto;
	text-align: center;
	line-height: 2.0;
    padding-bottom: 3%;
    letter-spacing: 0;
	margin-bottom: 1%;
}

.ticket_info p.lst{
	margin-bottom: 0%;
}

.ticket_info-block{
	padding-bottom:0%;

}


h2.ticket_info-h{
	font-size: clamp(12px, 1.4vw, 19px);
	color: #00a5a8;
	padding-top:5%;
	padding-bottom:0%;
	margin-bottom:2.0%;
}

h2.ticket_info-h::after{
	position: absolute; /*positionをabsoluteに指定*/
	background-color: #00a5a8;
	content: "";
	width: 40%;
	height: 3px;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
}
h2.ticket_info-h.fst {
    padding-top: 4%;
}


/* 注意 */
.caution{
	background-color: #fff9b3;
	display: block;
	padding-bottom:5%;
}

h2.caution-h{
	font-size: clamp(17px, 2.2vw, 19px);
	color: #00a5a8;
	padding-top:5%;
	padding-bottom:0%;
}

h2.caution-h::after{
	position: absolute; /*positionをabsoluteに指定*/
	background-color: #00a5a8;
	content: "";
	width: 40%;
	height: 3px;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
}
.caution ul.caution-1{
	display:block;
	margin:0 auto;
	width: 55%;
    line-height: 1.5;
/*    letter-spacing: -0.06em;*/
    letter-spacing: 0em;
	font-size: clamp(12px, 1.4vw, 19px);
	height: auto;
	text-align: left;
	padding-top:5%;
	padding-bottom:13%;
}
ul.caution-1 li{
	padding-left: 1em;
}
ul.caution-1 li:before{
	content: "※";
	margin-left: -1em;
}
.caution .caution-2{
	display:block;
	margin:0 auto;
	background:#fff9b3 url(../images/caution-under.png) no-repeat bottom center;
	background-size: cover;
	height: calc(42vw /  12.6);
	width:62%;
}


/* 連絡 */
.note1{
	background-color: #fff;
	display: inline-block;
    padding-top: 3%;
    padding-bottom: 2.5%;
	text-align: center;
	line-height: 1.5;
/*    letter-spacing: -0.06em;*/
    letter-spacing: 0em;
	font-size: clamp(12px, 1.4vw, 19px);
	width: 85%;
}


/* Footer */
.footer{
	background-color: #00a5a8;
	display: inline-block;
    padding-top: 4%;
    padding-bottom: 9%;
	text-align: center;
	color:#fff;
	line-height: 1.3;
	width: 100%;
    max-width: none;
    margin: 0 auto;
}
.footer h3{
	font-size: clamp(14px, 1.6vw, 19px);
	margin-bottom: 1%;
	font-weight: normal;
}
.footer .mei{
	font-size: clamp(18px, 2.6vw, 30px);
}
.footer .tel{
	font-family: "游明朝","Yu Mincho","YuMincho",serif;
	font-size: clamp(18px, 2.6vw, 38px);
	margin-bottom: 1%;
}

.footer .tel span{
	font-size: clamp(10px, 1.1vw, 16px);
}
.footer .addr{
	font-size: clamp(14px, 1.6vw, 19px);
/*	letter-spacing: -0.06em;*/
	letter-spacing: 0em;
}

/* テーブル */
th{	
	width: 2.5%;
    text-align: center;
    vertical-align: middle;
    padding: 0 0.2%;
    background-color: #00a7ab;
}
td{	
	width:97.5%;
	text-align:left;
	padding-left: 1%;
	font-size: clamp(8px, 1.2vw, 16px);
}
div.note{
	display:block;
	width:80%;
	margin:0 auto;
	padding:3% 0 0;
}
div.koushin{
	display:block;
	width:80%;
	margin:0 auto;
	padding:5% 0;
}
table.note-box{
	display:block;
	width:100%;
	margin:0 auto;
}

.upper-box{
	margin: 0;
	padding: 0;
}

.upper-box1{
	margin: 0;
	padding: 0;
}
.upper-box2{
	margin: 0;
	padding: 1% 0;
	background-color:#00a5a9;
}



@media only screen and (min-width: 1600px){ /* 1600px以上 */
	.caution ul.caution-1 {
    	width: 45%;
	}
	.caution .caution-2 {
		height: calc(34vw / 12.6);
		width: 50%;
	}
}

@media only screen and (max-width: 900px){ /* 900px以下 */

	.campaign-box-2 figcaption{
		display:inline-block !important;
		width:105%;
	}
}

@media only screen and (max-width: 767px){ /* 767px以下 */
	
	.view-pc{    
		display:none !important;
	}
	.view-mobile{
		display: block !important;              /* フレックスボックスにする */
	}
/*	figcaption.view-pc{    
		display:none !important;
	}
	figcaption.view-mobile{
		display: block !important; 
	}
*/
	
	.view-pc-fl{    
		display:none !important;
	}
	.view-mobile-fl{
		display: flex !important;              /* フレックスボックスにする */
	}

	.non-youso{
		display:none !important;
	}

	div.note{
		display:block;
		width:85%;
		margin:0 auto;
		padding:3% 0 0;
	}


	/* 期間・条件 */
	.kikan .doc-box-1 {
		display: block;
		margin: 0 auto;
		width: 70%;
		font-size: clamp(17px, 2.4vw, 26px);
	}

	ul.jouken-box li{
		list-style: none;
		padding-left: 1.0em;
		text-indent: -1.3em;
	}

	/* キャンペーン */
	h2.campaign-1 {
		display: block;
		margin: 0 auto 5%;
		background-color: #5ec0b8;
		padding: 1rem 2rem;
		border-top: 3px solid #fff;
		border-bottom: 3px solid #fff;
		width: 70%;
	}

	.campaign-box-1 {
		font-size: clamp(16px, 1.6vw, 18px);
	/*	letter-spacing: -0.1em;*/
		letter-spacing: 0em;
		width: 85%;
	}

	
	.campaign-box-2{
		display:flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		width:85%;
		margin:5% auto 5%;
	}
	.cflex-box-inner2{
		width:40%;
		margin: 0 auto;
	}
	.cflex-box-inner1{
		width:40%;
	}
	.campaign-box-2 figcaption{
		width:60%;
		font-size: clamp(12px, 1.4vw, 19px);
        padding-left: 5%;
	}

	.cflex-box-inner2 img{
		padding:18%;
	}
	.campaign-box-2 figcaption.upp {
			margin-top: -10%;
	}

	ul.campaign-box-3 {
		width: 85%;
		line-height: 1.5;
		letter-spacing: -0.06em;
		font-size: clamp(14px, 1.6vw, 19px);
		padding: 4% 6% 4% 6%;
		margin: 10% auto 10%;
	}


	/* チケット説明 */
	.ticket_info {
		height: calc(2500vw / 7.68);
        min-height: 1200px;
        padding-top: 25%;
	}

	.ticket_info {
		line-height: 1.5;
		font-size: clamp(12px, 1.4vw, 19px);
		background: #fff url(../images/ticket-info-sp.jpg) no-repeat bottom center;
		background-size: cover;
		height: calc(3000vw / 10.0);
        min-height: auto;
		padding-top: 12%;
	}

	h2.ticket_info-h {
		margin-bottom: 4%;
	}
	
	h2.ticket_info-h::after{
		width: 70%;
	}
	.ticket_info button {
		width: 75%;
		font-size: clamp(10px, 1.6vw, 19px);
	}
	.ticket_info p {
		width: 75%;
	}

	.ticket_info-block{
		padding-bottom:10%;
	}
	.ticket_info p.lst {
		text-align: center;
		margin-bottom: 5%;
	}

		
	/* 注意 */
	h2.caution-h::after{
		width: 70%;
	}
	.caution ul.caution-1 {
		width: 85%;
	}
	.caution .caution-2 {
		width: 85%;
	}

		
	/* 連絡 */
	.note1 {
		width: 85%;
		text-align: left;
		padding-top: 7%;
        padding-bottom: 6%;
	}

	/* テーブル */
	th {
		width: 5%;
		text-align: center;
		vertical-align: middle;
		padding: 0 0.5%;
		background-color: #00a7ab;
	}	
	td{	
		width:95%;
		text-align:left;
		padding-left: 1%;
		font-size: clamp(8px, 1.2vw, 16px);
		
	}
	div.koushin {
		width: 85%;
	}
}




.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}
