@charset "utf-8";
/* -----------------------------------------------------------------------

ncm2023.css

----------------------------------------------------------------------- */


/*-----------------------------------------------------------------

	common
	
-----------------------------------------------------------------*/

#ncm2024 {
	font-size:1.21em;
}
#ncm2024 .heading {
	width:90%;
	max-width:300px;
	height:44px;
	margin:0 auto;
	font-size:2.4rem;
	line-height:44px;
	letter-spacing:0.06em;
	text-align:center;
	color:#fff;
	border-radius:50vh;
}

/*----------------------------------------------------------
	Display：769px →（ pc ）
----------------------------------------------------------*/

@media print, screen and (min-width:769px) {
	#ncm2024 .heading {
		height:54px;
		font-size:2.8rem;
		line-height:54px;
	}
}



/*-----------------------------------------------------------------

	mainimg
	
-----------------------------------------------------------------*/

#mainimg {
	padding: 0 5%;
	background-image:url(../img/ncm2024/mv_bg.webp);
	background-repeat: no-repeat;
	background-position: bottom 0% left 50%;
	background-size:cover;
	position:relative;
}
#mainimg h2{
	width:65%;
	max-width:400px;
	margin:0 auto;
}
#mainimg h2 img{
	width: 100%;
	height:auto;
}
	
/*----------------------------------------------------------
	Display：← 559px（ sp ）
----------------------------------------------------------*/

@media screen and (max-width:559px) {
	#mainimg {
		margin-top:72px;
		padding:10% 0 30%;
	}
}

/*----------------------------------------------------------
	Display：560px →（ tablet ）
----------------------------------------------------------*/

@media screen and (min-width:560px) {
	#mainimg {
		margin-top:100px;
		padding:10% 0 30%;
	}
}

/*----------------------------------------------------------
	Display：769px →（ pc ）
----------------------------------------------------------*/

@media print, screen and (min-width:769px) {
	#mainimg {
		height:1000px;
		margin-top:144px;
		padding:0;
	}
	#mainimg h2{
		height:640px;
		position:absolute;
		top:8%;
		left:0;
		right:0;
	}
}






/*-----------------------------------------------------------------

	event_info
	
-----------------------------------------------------------------*/

#event_info {
	display: block;
	background-image:url(../img/ncm2024/mv_bg2.webp);
	background-repeat: no-repeat;
	background-position: top 0% left 50%;
	background-size:100% auto;
}
#event_info .inner{
	padding-top:0;
	padding-bottom:0;
	text-align:center;
}
#event_info .event_date {
	display:block;
	text-align: center;
	margin: 0 0 15px 0;
}
#event_info .event_date img{
	width: auto;
}
#event_info .event_txt01{
	display:inline-block;
	line-height:1.5;
	text-align: center;
	margin: 0 0 15px 0;
	padding:3px 1em;
	color:#000;
	background:#fff;
}
#event_info .event_txt01 br{
	display:none;
}
#event_info .event_txt02{
	text-align: center;
	margin: 0 0 35px;
	font-size:0.9em;
}
#event_info .event_title{
	text-align: center;
	margin: 0 0 15px;
	font-size:3.0rem;
	line-height:1.5;
	color:#0582ab;
}
#event_info h3{
	display: block;
	letter-spacing: -.4em;
	text-align: center;
	margin: 0 0 25px 0;
}
#event_info h3 span{
	display: inline-block;
	letter-spacing: normal;
	border: 2px solid #FFF;
	font-weight: normal;
	padding: 4px 12px;
	font-size:1.0em;
	line-height:1.4;
	letter-spacing: 2px;
}

@media screen and (max-width:559px) {
	#event_info {
		display: block;
	}
	#event_info .inner{
		padding-top:0;
		padding-bottom:0;
		text-align:center;
	}
	#event_info .event_date {
		text-align: center;
		margin: 0 0 15px 0;
	}
	#event_info .event_date img{
		width: 100%;
	}
	#event_info .event_txt01 br{
		display:block;
	}
	#event_info .event_txt02{
		text-align: left;
	}
	#event_info .event_title{
		font-size:2.6rem;
	}
}

@media screen and (min-width:769px) and  (max-width:1400px){
	#event_info {
		background-size:1400px auto;
	}
}




#reserve{

}
#reserve .rsv_box{
	width: 100%;
	margin: 50px 0;
	display:-webkit-box;
	display:flex;
	-webkit-box-pack: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#reserve .rsv_box img{
	width: 100%;
}
#reserve .rsv_box > dl{
	width: 48%;
	margin:0 0 40px;
}
#reserve .rsv_box > dl > dt{
	display: block;
	text-align: center;
	margin: 0 0 15px 0;
}
#reserve .rsv_box > dl > dd{
	display: block;
	margin: 0;
	text-align: center;
	color: #fff;
	font-size:0.86em;
}
#reserve .rsv_box > dl > dd .photo{
	margin: 1em 0 0;
	text-align: center;
}
#reserve .rsv_box > dl:last-child{
	width: 100%;
}
#reserve .rsv_box .borderBox {
	margin-top:15px;
	border:2px solid #fff;
	text-align:left;
}
#reserve .rsv_box .borderBox dl {
	width:100%;
	display:-webkit-box;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#reserve .rsv_box .borderBox dl dt {
	width:5.5em;
}
#reserve .rsv_box .borderBox dl dd {
	width: calc(100% - 5.5em);
}
#reserve .rsv_box .borderBox .txt {
	margin:5px 0 0;
}
#reserve .rsv_box .borderBox .btn {
	display:block;
	width:90%;
	max-width:265px;
	margin:15px auto;
	font-size:1.12em;
	line-height:46px;
	color:#fff;
	text-align:center;
	text-decoration:none;
	background:#0582ab;
}
#reserve .rsv_box .borderBox .btn {
	display:block;
	width:90%;
	max-width:265px;
	margin:15px auto;
	font-size:1.12em;
	line-height:46px;
	color:#fff;
	text-align:center;
	text-decoration:none;
	background:#0582ab;
}
@media screen and (min-width:768px) {
	#reserve .rsv_box > dl:last-child dt img,
	#reserve .rsv_box > dl:last-child .photo img{
		width:100%;
		max-width: 480px;
		margin:0 auto;
	}
	#reserve .rsv_box .borderBox {
		padding:20px;
		font-size:1.6rem;
	}
}

@media screen and (max-width:767px) {
	#reserve .rsv_box{
		margin: 40px 0;
	}
	#reserve .rsv_box > dl{
		width: 100%;
	}
	#reserve .rsv_box > dl > dt{
		display: block;
		text-align: center;
		margin: 0 0 12px 0;
	}
	#reserve .rsv_box > dl > dd{
		display: block;
		text-align: left;
		font-size:0.9em;
	}
	#reserve .rsv_box .borderBox {
		padding:15px;
		font-size:1.5rem;
	}
}



.foot_txt {
	margin:0 0 60px;
	text-align:left;
}
.foot_txt h2 {
	margin-bottom:20px;
	padding:0 0 8px;
	font-size:2.0rem;
	line-height:1.5;
	border-bottom:1px solid #fff;
}
.foot_txt .list {
	margin-bottom:40px;
	font-size:0.86em;
}
.foot_txt .contacttxt {
	margin-bottom:40px;
}

@media screen and (min-width:768px) {
	.foot_txt h2 {
		font-size:2.6rem;
	}
	.foot_txt .contacttxt {
		font-size:1.12em;
	}
}






#ncmform2024{
	padding: 60px 0;
}
#ncmform2024 .inner{
	padding:0 0 0 0;
}

#ncmform2024 .formarea{
	display:-webkit-box;
	display:flex;
	-webkit-box-pack: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
}

#ncmform2024 .formarea .titlearea {
	width: 100%;
	padding:0 0 60px;
}
#ncmform2024 .formarea .titlearea img {
	width: 100%;
}

#ncmform2024 .formarea .titlearea .txt {
	font-size:2.4rem;
	line-height:1.5;
	font-weight:normal;
	text-align:center;
}
#ncmform2024 .formarea .titlearea .title {
	display:-webkit-box;
	display:flex;
	-webkit-box-pack: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	margin:20px 0 0;
}
#ncmform2024 .formarea .titlearea .title p {
	margin:0 auto;
}
#ncmform2024 .formarea .titlearea .title p:nth-child(1) {
	width: 47.2%;
	padding-right:1.6%;
}
#ncmform2024 .formarea .titlearea .title p:nth-child(2) {
	width: 52.8%;
}
#ncmform2024 .formarea .titlearea .day {
	display:-webkit-box;
	display:flex;
	-webkit-box-pack: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 85.6%;
	margin:20px auto 0;
}
#ncmform2024 .formarea .titlearea .day p {
	width: 50%;
}

#ncmform2024 .formarea01{
	width: 48%;
	box-sizing: border-box;
	padding: 0;
	font-size:1.6rem;
	line-height:1.8;
}
#ncmform2024 .formarea01 h2{
	display: block;
	margin: 0 0 15px 0;
}
#ncmform2024 .formarea01 h2 img{
	width: 100%;
	max-width: 480px;
}
#ncmform2024 .formarea01 .day img{
	width: 90%;
	max-width: 384px;
}
#ncmform2024 .formarea01 .formlead{
	margin: 0 0 20px;
}
#ncmform2024 .formarea01 dl.data{
	display:-webkit-box;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width:100%;
	margin: 25px 0 20px;
}
#ncmform2024 .formarea01 dl.data dt{
	display: block;
	width:5.5em;
	padding:3px 0;
}
#ncmform2024 .formarea01 dl.data dd{
	display: block;
	width: calc(100% - 5.5em);
	padding:3px 0;
}
#ncmform2024 .formarea01 .formtxt {
	padding:0;
}
#ncmform2024 .formarea01 .formtxt.blue {
	color:#0582ab;
}
#ncmform2024 .formarea01 .formtxt a {
	color:#0582ab;
}

#ncmform2024 .formarea02{
	width: 50%;
	background: #0582ab;
	box-sizing: border-box;
	padding: 25px 30px;
	color: #fff;
}
#ncmform2024 .formarea02 h2{
	display: block;
	margin: 0 0 15px 0;
	font-weight: bold;
}
#ncmform2024 .formarea02 dl{
	display: block;
	margin: 0 0 15px 0;
}
#ncmform2024 .formarea02 dl dt{
	display: block;
	margin: 0 0 5px 0;
	font-size: 0.9em;
	font-weight: bold;
}
#ncmform2024 .formarea02 dl dt em{
	display: inline-block;
	background: #CC0000;
	color: #FFF;
	margin: 0 0 0 8px;
	font-size: 0.8em;
	line-height: 1.1;
	font-weight: bold;
	padding: 5px 8px 4px;
	vertical-align: middle;
}
#ncmform2024 .formarea02 dl dd{
	display: block;
	margin: 0 0 0 0;
}
#ncmform2024 .formarea02 dl dd .selectbox {
	display: inline-flex;
	align-items: center;
	position: relative;
	width: 100%;
}
#ncmform2024 .formarea02 dl dd .selectbox::after {
	position: absolute;
	right: 15px;
	width: 10px;
	height: 7px;
	background-color: #535353;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: '';
	pointer-events: none;
}
#ncmform2024 .formarea02 dl dd .selectbox select {
	appearance: none;
	min-width: 230px;
	height: 2.8em;
	padding: .4em calc(.8em + 30px) .4em .8em;
	border: none;
	border-radius: 0;
	background-color: #fff;
	color: #333333;
	font-size: 0.9em;
	cursor: pointer;
	width: 100%;
}
#ncmform2024 .formarea02 dl dd .textbox {
    width: 100%;
    padding: 8px 10px;
    border: none;
    border-radius: 0;
		font-size: 0.9em;
    line-height: 1.5;
    color: #333;
}
#ncmform2024 .formarea02 dl dd .textbox::placeholder {
    color: #999;
}
#ncmform2024 .formarea02 .btnbox01 {
	width:100%;
	margin: 0 0 0 0;
	padding:20px 0 0 0;
}
#ncmform2024 .formarea02 .btnbox01 input{
	display:block;
	background: #000;
	color: #FFF;
	font-size: 1.8rem;
	width: 240px;
	margin:0 auto;
	padding:10px 0 10px 0;
	border: 0px;
	cursor: pointer;
}
#ncmform2024 .formarea02 .btnbox01 input:hover{
	opacity: 0.8;
}

@media screen and (max-width:767px) {

	#ncmform2024{
		margin-top:72px;
		padding: 35px 0 0 0;
	}
	#ncmform2024 .formarea .titlearea {
		padding:0 0 30px;
	}
	#ncmform2024 .formarea .titlearea .txt {
		font-size:2.0rem;
	}
	#ncmform2024 .formarea .titlearea .title p:nth-child(1) {
		width: 93%;
		padding-right:0;
	}
	#ncmform2024 .formarea .titlearea .title p:nth-child(2) {
		width: 100%;
	}
	#ncmform2024 .formarea .titlearea .day p {
		width: 100%;
	}
	
	#ncmform2024 .formarea{
		display: block;
	}
	#ncmform2024 .formarea01{
		width: 100%;
		padding: 10px 0 0;
		margin:  0 0 20px;
	}
	#ncmform2024 .formarea02{
		width: 100%;
		padding: 15px 20px 20px;
	}
	#ncmform2024 .formarea02 h2{
		margin: 0 0 15px;
		font-size: 2.0rem;
	}
}


.wpcf7-form-control-wrap{ 
	width:100%;
}
.wpcf7 form.sent .wpcf7-response-output { 
	border-color: #CC0000; 
	color: #CC0000; 
	font-weight: bold; 
	line-height: 26px; 
	padding: 15px 15px 13px; 
	background: #CC0000; 
	color: #FFF; 
}
.wpcf7-spinner {
	margin: 15px auto;
	display: block;
}


/*----------------------------------------------------------
	Display：← 559px（ sp ）
----------------------------------------------------------*/

@media screen and (max-width:559px) {
	#ncmform2024 {
		margin-top:72px;
	}
}

/*----------------------------------------------------------
	Display：560px →（ tablet ）
----------------------------------------------------------*/

@media screen and (min-width:560px) {
	#ncmform2024 {
		margin-top:100px;
	}
}

/*----------------------------------------------------------
	Display：769px →（ pc ）
----------------------------------------------------------*/

@media print, screen and (min-width:769px) {
	#ncmform2024 {
		margin-top:144px;
	}
}

#ncmform2024 {
	margin-top:0!important;
	padding-top:0!important;
}