@charset "UTF-8";

/*
 *
 *	layout.css
 * 
 */ 

/* ! 共通
---------------------------------------------------------- */
html,body{
	font-size:62.5%;
	color:#221815;
	-webkit-text-size-adjust: none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	line-height:1;
}
img{
	max-width:100%;
	height:auto;
	vertical-align:bottom;
}
a{color:#221815;}
a:visited,a:hover,a:active,a:focus{color:#221815;}
strong{	font-weight:bold;}

/* ----- 共通パーツ ----- */
.wrapper{
	margin:0 auto;
	max-width:750px;
}
.section{
	padding-top:20px;
	border-top:#000000 solid 1px;
}
.section h2{
	margin-bottom:15px;
	/*padding-bottom:20px;
	background:url(../img/h2_dot-line.gif) repeat-x left bottom /6px 3px;*/
}
.section h3{
	padding:10px 0;
	margin-bottom:16px;
	text-align:center;
	font-size:1.6rem;
	line-height:1.2;
	font-weight:bold;
	color:#0091db;
	border-top:solid 1px #0091da;
	border-bottom:solid 1px #0091da;	
}
.section .txt_lead{
	margin-bottom:20px;
	font-size:1.6rem;
	line-height:1.625;
}
.section .list_dot{
	margin-bottom:20px;
}
.section .list_dot li{
	padding-left:1em;
	text-indent:-1em;
	margin-bottom:5px;
	font-size:1.4rem;
	line-height:1.714;	
}
.section .list_dot li:last-of-type{
	margin-bottom:0;
}
.section .list_dot li:before{
	content:"●";
	color:#0091db;
}
.section .list_dot li .txt_hd{
	color:#0091db;
}
.section .list_dot li .btn_pdf{
	padding-right:15px;
	margin:8px auto 14px;
}
.btn_pdf a{
	display:block;
	padding:10px;
	text-align:center;
	font-size:1.5rem;
	line-height:1.333;
	font-weight:bold;
	color:#ffffff;
	text-decoration:none;
	background-color:#0091db;
	opacity:1;
	transition:opacity 0.3s ease;
}
.btn_pdf a.hover{
	opacity:0.6;
}
.btn_pdf a span{
position:relative;
	display:inline-block;
	margin-left:-13px;
}
.btn_pdf a span:after{
	position:absolute;
	right:-65px;
	top:50%;
	content:"";
	display:block;
	width:22px;
	height:28px;
	transform: translateY(-50%);
	background:url(../img/ico_pdf.png) no-repeat center center /contain;
}
.cap_asterisk{
	padding-left:1em;
	text-indent:-1em;
}
.cap_asterisk:before{
	content:"※";
	display:inline-block;
}
.section .event_image{
	padding:0 15px;
	text-align:center;
}
.section .event_image .txt_ttl{
	margin-bottom:12px;
	text-align:center;
	font-weight:bold;
	font-size:1.5rem;
	color:#0091db;
}
.section .event_image .cap_asterisk{
	font-size:1.4rem;
	text-align:right;
}
@media screen and (max-width:340px){
	.btn_pdf a span:after{
		right:-45px;
	}
}


/* ! header
---------------------------------------------------------- */
header .logo_aera{
	padding:13px 15px 15px;
	background-color:#ffffff;	
}
header .logo_aera img{
	width:40%;
}
header .mv{
	/*margin-bottom:45px;*/
	margin-bottom:35px;
}


/* ! #outline
---------------------------------------------------------- */
#outline{
	padding:0 15px;
}


/* ! #terrace
---------------------------------------------------------- */
#terrace{
	padding-bottom:50px;
}
#terrace .event_image > div img{
	margin-bottom:15px;
	width:62.8%;
}


/* ! #festival
---------------------------------------------------------- */
#festival{
	padding-bottom:50px;
}
#festival .list_dot .btn_pdf{
	margin-bottom:5px;
}
#festival .list_dot .txt_link{
	margin-bottom:14px;
	text-align:center;
}
#festival .list_dot .txt_link a{
	text-decoration:underline;
	transition:all 0.3s ease;
}
#festival .list_dot .txt_link a.hover{
	text-decoration:none;
}
#festival .stampRally{
	padding:8px 7px 13px 4px;
	margin-bottom:38px;
	text-align:center;
	background-color:#d1f0ff;
	border:solid 2px #0091db;
}
#festival .stampRally .inner_stampRally{
	padding:3px 7px 0;
}
#festival .stampRally .inner_stampRally ul li:first-of-type{
	margin-bottom:3px;
}
#festival .stampRally .inner_stampRally ul li:nth-of-type(2){
	margin-bottom:6px;
}
#festival .stampRally .txt_caution{
	padding:0 7px;
	margin:8px auto 0;
	max-width:635px;
	text-align:left;
}
#festival .stampRally .cap_asterisk{
	font-size:1.1rem;
	line-height:1.32;
}
#festival .event_image{
	margin-bottom:45px;
}
#festival .event_image .cap_asterisk{
	margin-top:10px;
}
#festival .exhibition h3{
	margin-bottom:10px;
}
#festival .exhibition h3 + .txt_cap{
	margin-bottom:15px;
	font-size:1.2rem;
	font-weight:bold;
	color:#0091db;
	text-align:right;
}
#festival .exhibition .accordion .acc-trigger{
	position:relative;
	padding:18px 20px;
	margin-bottom:16px;
	font-size:1.8rem;
	font-weight:bold;
	color:#0091db;
	border:solid 2px #0091db;
	background-color:#e1f3fc;
	transition:all ease 0.3s;
}
#festival .exhibition .accordion .acc-trigger.acc-open{
	color:#ffffff;
	background-color:#0091db;
}
#festival .exhibition .accordion .acc-trigger.last{
	margin-bottom:0;
}
#festival .exhibition .accordion .acc-contents .list_exb.az,
#festival .exhibition .accordion .acc-contents .list_exb.az .mb0{
	margin-bottom:0;
}
#festival .exhibition .accordion .acc-trigger .ico_cross{
	position:absolute;
	top:16px;
	right:13px;
	width:22px;
	height:22px;
}
#festival .exhibition .accordion .acc-trigger .ico_cross span{
	position:absolute;
	top:8px;
	left:0;
	display:block;
	width:22px;
	height:5px;
	background-color:#0091db;
	transition:all ease 0.3s;
}
#festival .exhibition .accordion .acc-trigger .ico_cross span:nth-of-type(2){
	transform:rotate(90deg);
	transition:transform ease 0.3s;
}
#festival .exhibition .accordion .acc-trigger.acc-open .ico_cross span{
	background-color:#ffffff;
}
#festival .exhibition .accordion .acc-trigger.acc-open .ico_cross span:nth-of-type(2){
	transform:rotate(0);
}
#festival .exhibition .accordion .acc-contents{
	display:none;
}
#festival .exhibition .accordion .acc-contents .list_exb.az{
	margin-top:16px;
}
#festival .exhibition .accordion .acc-contents .list_exb{
	display:flex;
	flex-wrap:wrap;
	margin:0 auto 10px;
	max-width:680px;
}
#festival .exhibition .accordion .acc-contents .list_exb li{
	width:47%;
	margin-bottom:30px;
}
#festival .exhibition .accordion .acc-contents .list_exb li:nth-of-type(odd){
	margin-right:6%;
}
#festival .exhibition .accordion .acc-contents .list_exb li dl dt .company{
	padding-left:1em;
	text-indent:-1em;
	margin-top:13px;
	margin-bottom:5px;
	font-size:1.4rem;
	line-height:1.28;
}
#festival .exhibition .accordion .acc-contents .list_exb li dl dd .title{
	margin-bottom:5px;
	font-size:1.6rem;
	font-weight:bold;
	color:#0091db;
	line-height:1.375;
}
#festival .exhibition .accordion .acc-contents .list_exb li dl dd .detail{
	font-size:1.2rem;
	line-height:1.5;
}


/* ! .sponsorship
---------------------------------------------------------- */
.sponsorship{
	padding:45px 15px;
	background-color:#d1f0ff;
}
.sponsorship .list_sponsor{
	margin-bottom:15px;
}
.sponsorship .list_sponsor:last-of-type{
	margin-bottom:0;
}
.sponsorship .list_sponsor dt{
	padding:6.5px;
	margin-bottom:10px;
	text-align:center;
	font-weight:bold;
	font-size:1.5rem;
	color:#ffffff;
	background-color:#0091da;
}
.sponsorship .list_sponsor dd{
	font-size:1.4rem;
	line-height:1.7;
}


/* ! .access
---------------------------------------------------------- */
.access{
	padding:45px 15px;
}
.access h3{
	padding:10px 0;
	margin-bottom:15px;
	text-align:center;
	font-size:1.6rem;
	line-height:1.2;
	font-weight:bold;
	color:#0091db;
	border:solid 1px #0091da;
}
.access .location{
	font-size:1.4rem;
	line-height:1.7;
}
.access .location._01{
	margin-bottom:20px;
}
.access .location._01 .traffic{
	font-size:1.2rem;
	line-height:1.5;
}
.access .location._01 p span.cap_asterisk{
	font-size:1rem;
}
.access .location._02 .map{
	padding:0 15px;
	margin-top:20px;
	text-align:center;
}
.access .btn_map a{
	display:block;
	padding:10px 0;
	margin:23px auto 0;
	width:70%;
	min-width:240px;
	text-align:center;
	color:#ffffff;
	font-size:1.4rem;
	background-color:#3c3c3c;
	border:solid 1px #3c3c3c;
	text-decoration:none;
	opacity:1;
	transition:all 0.3s ease;
}
.access .btn_map a.hover{
	opacity:0.6;
}
.access .btn_map a span{
	position:relative;
}
.access .btn_map a span:after{
	content:"";
	display:block;
	position:absolute;
	top:4px;
	right:-45px;
	width:7px;
	height:10px;
	background:url(../img/ico_right.png) no-repeat center center /contain;
}


/* ! .inquiry
---------------------------------------------------------- */
.inquiry{
	padding:0 15px 35px;
}
.inquiry h3{
	padding:10px 0;
	margin-bottom:15px;
	text-align:center;
	font-size:1.6rem;
	font-weight:bold;
	color:#0091db;
	line-height:1.2;
	border:solid 1px #0091da;
}
.inquiry p{
	margin-bottom:7px;
	text-align:center;
	line-height:1.4;
	font-size:1.4rem;
	font-weight:bold;
}
.inquiry .tel{
	width:247px;
	margin:auto;
}
.inquiry .tel a{
	cursor:default;
}


/* ! footer
---------------------------------------------------------- */
footer{
	padding:25px 0;
	background-color:#009de4;
}
footer p{
	color:#ffffff;
	text-align:center;
	font-weight:bold;
	font-size:1.2rem;
	line-height:1.4;
}
footer p.copyright{
	font-family:"Droid Sans", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
	color:#ffffff;
}


@media print {
	#festival .exhibition .accordion .acc-trigger{
		clear:both;
	}
	#festival .exhibition .accordion .acc-contents .list_exb{
		display:block;
	}
	#festival .exhibition .accordion .acc-contents .list_exb li{
		display:block;
		height:500px;
		float:left;
	}
	.sponsorship{
		clear:both;
	}

}


/* ! 20201127 modal追加
---------------------------------------------------------- */
.modal_triger{
	cursor:pointer;
	padding:0 15px;
	margin-bottom:35px;
}
.modal_triger p{
	padding:10px 0;
	line-height:1.33;
	font-weight:bold;
	font-size:1.5rem;
	text-align:center;
	color:#ffffff;
	border:solid 3px #ff0000;
	background-color:#ff0000;
}
.modal_triger p span{
	position:relative;
	display:block;
}
.modal_triger p span:after{
	position:absolute;
	top:50%;
	right:10px;
	content:"";
	display:block;
	width:7px;
	height:10px;
	transform: translateY(-50%);
	background:url(../img/arw_right.png) no-repeat center center /contain;
	
}
.w370_txt-block{
	display:none;
}
@media screen and (max-width:370px){
	.w370_txt-block{
		display:inline-block;
	}	
}
@media screen and (min-width:768px){
	.modal_triger p{
		padding:15px 0;
		font-size:2.0rem;
	}
}

.modalArea{
	display:none;
	position:fixed;
	z-index:9999;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.modalBg{
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,0.5);
}
.modalWrapper{
	position: absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	box-sizing:border-box;
    margin:0 auto;
	width:calc(100% - 30px);
	max-width:750px;
	/*max-height:590px;*/
	/*overflow: hidden;*/
	/*height:88%;*/
}
.modalContents{
	clear:both;
	/*height:90.5%;*/
}
#modalArea h2{
	padding:15px 0;
	width:100%;
	line-height:1.4;
	text-align:center;
	font-size:2.0rem;	
	font-weight:bold;	
	color:#ffffff;
	background-color:#ff0000;
}
#modalArea .modal_text{
	padding:25px 30px 20px;
	background-color:#ffffff;
}
#modalArea .modal_text > div{
	overflow-y:auto;
	/*max-height:375px;*/
	/*max-height:300px;*/
}
#modalArea .modal_text p{
	margin-bottom:20px;
	font-size:1.4rem;
	line-height:1.5;
}
#modalArea .modal_text p:last-of-type{
	margin-bottom:0;
}
#modalArea .closeModal{
	float:right;
	cursor:pointer;
	padding:0 3px 13px;
	width:35px;
	height:35px;
}
.fix{
	overflow:hidden;
}
@media screen and (max-width:767px){
	.modalWrapper {
		/*height:88%;*/
		/*height:88%;*/
	}
	#modalArea .modal_text > div{
		/*max-height:300px;*/
		max-height:58vh;
	}
	#modalArea .closeModal{
		float:right;
		cursor:pointer;
		padding:0 3px 10px;
		width:20px;
		height:20px;
	}
}
