@charset "UTF-8";

/*
Theme Name: KAZUYOSHI SAITO 2026-01
Theme URI: http://www.kazuyoshi-saito.com/
Description: 斉藤和義ツアー2026
Version: 1.0
Author: Rumble Cats
Author URI: http://www.kazuyoshi-saito.com/
*/


/*---reset/common---*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
address, cite, del, dfn, em, img, q,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer,  hgroup, menu, nav, section, summary,
time, mark, audio, video{
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	box-sizing:border-box;
}

article,aside,details,figcaption,figure,
footer,hgroup,menu,nav,section{
	display:block;
}


body{
	font-family:'Noto Sans JP', sans-serif;
	line-height:1.8;
	font-size:16px;
	font-weight:350;
}

h1,h2,nav,.date{
	font-family: 'Exo', sans-serif;
}

.context{
	width:100%;
	position:absolute;
	top:150px;
}

h1.h1-pc{
	text-align:center;
	color: #F0E32B;
	font-size:50px;
	position:absolute;
	z-index:20;
	top:0;
	right:0;
	bottom:0;
	left:0;
	line-height:1;
}

h1.h1-sp{
	display:none;
}

.area{
	background:#4e54c8;
	background-image:linear-gradient(14deg, #215b88, #82c2cb);
	width:100%;
	height:400px;
}

.circles{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:420px;
	overflow:hidden;
}

.circles li{
	position: absolute;
	display: block;
	list-style: none;
	width: 20px;
	height: 20px;
/*	background: rgba(255, 255, 255, 0.2);*/
	animation: animate 25s linear infinite;
	bottom: -150px;

}

.circles li:nth-child(1){
	left:25%;
	width:80px;
	height:80px;
	animation-delay:0s;
}


.circles li:nth-child(2){
	left:10%;
	width:20px;
	height:20px;
	animation-delay:2s;
	animation-duration:12s;
}

.circles li:nth-child(3){
	left:70%;
	width:20px;
	height:20px;
	animation-delay:4s;
}

.circles li:nth-child(4){
	left:40%;
	width:60px;
	height:60px;
	animation-delay:0s;
	animation-duration:18s;
}

.circles li:nth-child(5){
	left: 65%;
	width: 20px;
	height: 20px;
	animation-delay: 0s;
}

.circles li:nth-child(6){
	left:75%;
	width:110px;
	height:110px;
	animation-delay:3s;
}

.circles li:nth-child(7){
	left:35%;
	width:150px;
	height:150px;
	animation-delay:7s;
}

.circles li:nth-child(8){
	left:50%;
	width:25px;
	height:25px;
	animation-delay:15s;
	animation-duration:45s;
}

.circles li:nth-child(9){
	left:20%;
	width:15px;
	height:15px;
	animation-delay:2s;
	animation-duration:35s;
}

.circles li:nth-child(10){
	left:85%;
	width:150px;
	height:150px;
	animation-delay:0s;
	animation-duration:11s;
}

.circles li:nth-child(11){
	left:30%;
	width:150px;
	height:150px;
	animation-delay:0s;
	animation-duration:20s;
}

@keyframes animate {

	0%{
		transform:translateY(0) rotate(0deg);
		opacity:1;
		border-radius:0;
	}

	100%{
		transform:translateY(-1000px) rotate(720deg);
		opacity:0;
		border-radius:50%;
	}

}

h2{
	border-bottom:2px solid #000000;
	margin-bottom:25px;
	font-size:24px;
}

.h2-schedule{
	margin-bottom:0;
}

h2,nav{
	font-weight:bold;
}

a{
	color:#63A0b7;
	text-decoration:none;
}

a:hover{
	opacity:0.5;
}

article,nav{
	width:80%;
	max-width:1100px;
	margin:50px auto;
}


@media only screen and (max-width: 800px){
	h1.h1-sp{
		text-align:center;
		color: #F0E32B;
		font-size:50px;
		position:absolute;
		z-index:20;
		top:0;
		right:0;
		bottom:0;
		left:0;
		line-height:1;
		font-size:40px;
		display:block;
	}
	
	h1.h1-pc{
		display:none;
	}
	
	article,nav{
		width:90%;
		margin:30px auto;
	}
}


/*---nav---*/
nav ul{
	display:flex;
	flex-flow:row nowrap;
	justify-content:space-between;
	margin:0 auto;
}

nav li{
	text-align:center;
	width:33%;/*メニューの数増えたら変更する*/
	list-style:none;
	border-right:1px solid #000000;
/*	margin-right:0;
	margin:0;*/
}

nav li:last-child{
	border-right:none;
/*	margin:0;*/
}

nav a{
	color:#000000;
}

@media only screen and (max-width: 800px){
	nav ul{
		width:98%;
		font-size:14px;
	}
	

}


/*---news---*/
.info-index li{
	margin-left:5px;
	position:relative;
	padding-left:20px;
	list-style:none;
	margin-top:25px;
	word-break: break-all;
}

.info-index li:first-child{
	margin-top:25px;
}

.info-index li:before{
	content:"";
	position:absolute;
	top:.30em;
	left:0;
	width:0;
	height:0;
	border-width:8px;
	border-style:solid;
	border-color:transparent transparent transparent #000000;
}


/*---schedule---*/
table{
	border-collapse:collapse;
	width:100%;
	margin-bottom:50px;
	box-sizing:border-box;
}

tr{
	border-bottom:1px solid #ddd;
}

td{
	padding:25px 10px;
	vertical-align:middle;
}

.date{
	font-size:25px;
	white-space: nowrap;
}

.week{
	font-size:16px;
	margin-left:3px;
}

.red{
	color:#E23A50;
}

.blue{
	color:#3A82B7;
}

.city {
	white-space: nowrap;
}

.city span{
	background-color:#63A0b7;
	border-radius:4px;
	padding:2px 6px;
	color:#fff;
	font-size:16px;
	width:80px;
	display:inline-block;
	text-align:center;
}

.contact,.time{
	font-size:14px;
	margin-top:8px;
}

.ticket{
	font-size:16px;
}

@media (max-width:800px){
	
	table{
		width:100%;
		display:block;
		border-collapse:separate;
	}
	
	tbody{
		display:block;
		width:100%;
	}
	
	tr{
		display:flex;
		flex-direction:column;
		border-bottom:none;
		border-bottom:1px solid #ddd;
		padding-bottom:15px;
		margin-bottom:15px;
		width:100%;
	}
	
	tr:first-child{
		padding-top:15px;
	}
	
	td{
		display:block;
		width:100%;
		padding:5px 0;
		border:none;
	}

}


/*---attention---*/
dt{
	border-bottom:1px solid #000000;
	margin-bottom:15px;
	padding-bottom:5px;
	font-weight:500;
}

dd{
	margin-bottom:50px;
}

dd li{
	margin:0 0 10px 20px;
}

dd li:last-child{
	margin:0 0 0 20px;
}

.price{
	font-size:20px;
	line-height:2;
	margin-bottom:10px;
}


/*---ticket---*/
.ticket-label{
	width:200px;
	padding:2px 6px;
	border-radius:4px;
	text-align:center;
	display:inline-block;
	color:#FFFFFF;
}

.release{
	background-color:#d7d49a;
	/*color:#000000 !important;*/
}

.onsale{
	background-color:#ce7776;
}

.soldout{
	background-color:#9bbec5;
}

.thankyou{
	background-color:#F0F0F0;
	color:#000000 !important;
}


/*---footer---*/
address{
	margin:50px 0;
	text-align:center;
	font-style:normal;
}

#totop{
	position:fixed;
	bottom:60px;
	right:25px;
	z-index:2000;
}

#totop a{
	display:block;
	width:60px;
	height:48px;
	text-decoration:none;
	font-size:20px;
	text-align:center;
	background-color:#215b88;
	color:#FFFFFF;
	border-radius:50%;
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	padding-top:12px;
	filter:alpha(opacity=50);
	-moz-opacity:0.5;
	opacity:0.5;
}

#totop a:hover{
	filter:alpha(opacity=100);
	-moz-opacity:1;
	opacity:1;
}

.link{
	display:flex;
	justify-content:center;
	margin-bottom:50px;
}

.link-ks,.link-ssr,.link-shop{
	width:80px;
	height:74px;
	margin:0 20px;
	background-size:80px 74px;
	background-repeat:no-repeat;
	display:block;
	text-indent:-9999px;
}

.link-ks{
	background-image:url(img/link-ks.png);
}

.link-ssr{
	background-image:url(img/link-ssr.png);
}

.link-shop{
	background-image:url(img/link-shop.png);
}

/*---modalwindow---*/
.modal-content{
	background:#FFFFFF;
	border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;
	display:none;
	margin:20px 10px;
	padding:20px;
	position:relative;
	width:900px;
	height:90%;/*330追加*/
	overflow:auto;/*330追加*/
	word-break: break-all;
}

.info-preview{
	background:#FFFFFF;
	border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;
	margin:20px auto;
	padding:20px;
	position:relative;
	width:900px;
	height:90%;/*330追加*/
	overflow:auto;/*330追加*/
}


@media only screen and (max-width:768px){
	.modal-content,.info-preview{
		margin:5% 2%;
		padding:10px;
		position:relative;
		width:90%;
	}
}

/* 追加ここから 
	.modal-content p {
	max-width: 100%;
	
	}
	
 追加ここまで */

.modal-overlay{
	z-index:2;
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:120%;
	background-color:rgba(0,0,0,0.75);
}

.modal-wrap{
	z-index:3000;
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	overflow:auto;
}

.modal-open{
	display:inline!important;
	color:#000000!important;
	cursor:pointer!important;
	padding:0!important;
	position:relative!important;
}

.modal-open2{
	display:inline!important;
	color:#63A0b7!important;
	cursor:pointer!important;
	padding:0!important;
	position:relative!important;
}

.modal-open:hover,.modal-open2:hover{
	cursor:pointer;
}

h3{
	border-bottom:1px solid #63A0b7;
	padding:25px 0;
}

.mordal-content-info{
	color:#000000;
	padding:25px 0;
}

.mordal-content-info a{
	color:#63A0b7;
	text-decoration:none;
}

.modal-close{
	display:block;
	width:30px;
	margin:30px auto;
	font-size:40px;
	font-weight:bold;
	line-height:1;
}

.modal-close:hover{
	cursor:pointer;
}

#sb_instagram{
	max-width:1000px;
}

