
@charset "utf-8";

* {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    -ms-box-sizing: content-box;
    -o-box-sizing: content-box;
    box-sizing: content-box;
}

/* structure
------------------------------------------------------*/
div#container,
div#footer{
	width:100%;
	margin:0 auto;
}
div#header,
div#contents{
	width:700px;
	float:none;
	margin:0 auto;
}
div#header{
	margin:50px auto 30px;
}
div#footer{
	padding:30px 0 15px;
	text-align:center;
}

@media only screen and (max-width: 730px){
	div#container{
		width:95%;
	}
	div#header,
	div#contents{
		width:auto;
	}
	div#header{
		margin:30px auto;
	}
}

/* function
------------------------------------------------------*/
p.note{
	font-size:12px;
}
p.err{
	margin:30px auto;
	padding:30px 50px;
	color:red;
	border:5px red solid;
}

@media only screen and (max-width: 768px){
	div#btn-menu{
		display:none!important;
	}
}

/* app_form
------------------------------------------------------*/
/*header*/
div#header h1.ttl{
  margin: 50px 0 30px;
  padding: 20px;
  color: #fff;
  font-size: 142.857%;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  background: url(../img/bg-articlettl.png) 0 0 repeat;
}

/* ttl */
h2.ttl{
  margin: 40px 0 10px;
  padding: 8px 15px 5px 15px;
  color: #2f86eb;
  font-size: 114.285%;
  line-height: 1.5;
  border-bottom: 1px #2f86eb solid;
  background-color: #f5f5f5;
}
h2.ttl span{
	padding-left:10px;
	color:#646464;
	font-size:12px;
	font-weight:normal;
}

 /*select_event*/
div#select_event{
	margin-bottom:30px;
}
div#select_event ul{
	margin:30px auto 50px;
	transition: all 0.3s linear;
}
div#select_event ul > li{
	margin-bottom:15px;
	padding-left:2em;
	text-indent:-2em;
}
div#select_event ul li span.radio_parts{
	cursor:pointer;
	color:#003296;
	text-decoration:underline;
}
div#select_event ul li span.radio_parts:hover{
	color:#ff6400;
	text-decoration:none;
}


/* detail */
div.detail{
	min-height:249px;
	position:relative;
	margin:30px auto;
	padding:30px 30px 30px 250px;
	text-indent:0;
	border:1px #32c8e1 solid;
}
div.detail:before{
    content: " ";
    width: 30px;
    height: 30px;
    position: absolute;
    top: -16px;
    left: 50%;
    display: block;
    margin-left: -16px;
    border-top: 1px #32c8e1 solid;
    border-right: 1px #32c8e1 solid;
    transform: rotate(-45deg);
    background-color: #fff;
}
div.detail a:not(.map){
	width:175px;
	position:absolute;
	top:30px;
	left:30px;
	border:1px #32c8e1 solid;
	box-shadow:2px 2px 5px 1px #dadada;
	overflow:visible;
}
div.detail a:not(.map):before{
	content:"PDFを見る";
	width:90px;
	height:53px;
	position:absolute;
	right:-25px;
	bottom:-25px;
	display:block;
	padding-top:37px;
	color:#fff;
	font-size:12px;
	text-align:center;
	border-radius:45px;
	-webkit-border-radius:45px;
	-moz-border-radius:45px;
	-ms-border-radius:45px;
	background-color:#32c8e1;
	z-index:999999999999999999;
}
div.detail a img{
	display:block;
}

div.detail h3.eventname{
	margin-bottom:10px;
	padding-left:10px;
	font-size:18px;
	border-left:1px #32c8e1 solid;
}
div.detail h3.eventname span{
	display:block;
	font-size:14px;
}
div.detail p{
	margin-bottom:3px;
	padding-left:1.5em;
	text-indent:-1.5em;
}
div.detail p:before{
	content:"●";
	color:#32c8e1;
	font-size:20px;
	line-height:15px;
}

@media only screen and (max-width: 640px){
	div.detail {
		padding: 30px;
	}
	div.detail a{
		position:static;
		display:block;
		margin:0 auto 15px;
	}
	div.detail a:before{
		top:190px;
		right:30px;
		bottom:0;
	}
	div.detail a:not(.map) {
		position: static;
		margin-bottom:15px;
	}
	div.detail a:not(.map)::before {
		top:175px;
		right: 15px;
	}
}
@media only screen and (max-width: 540px){
	div.detail {
		padding: 20px;
	}
	div.detail p {
		font-size: 12px;
	}
}
@media only screen and (max-width: 420px){
	div.detail a:before{
		right:0;
	}
	div.detail a:not(.map)::before {
		bottom: -5px;
	}
}
@media only screen and (max-width: 350px){
	div.detail {
		padding: 10px;
	}
	div.detail p {
		font-size: 12px;
	}
}



/* form */
dl{
	margin:30px auto 50px;
	letter-spacing:-0.4em;
}
dl dt,
dl dd{
	display:inline-block;
	*display:inline;
	margin:0 auto 15px;
	padding:15px 0 0;
	vertical-align:top;
	letter-spacing:normal;
	border-top:1px #ccc solid;
	zoom:1;
}
dl dt:nth-child(1),
dl dd:nth-child(2){
	border-top:none;
}
dl dt{
	width:calc(30% - 3.5em);
	padding-left:3.5em;
	padding-right:5%;
	text-indent:-3.5em;
}
dl dt:before{
	content:"必須";
	width:3em;
	display:inline-block;
	margin-right:0.5em;
	padding:5px 0;
	color:#fff;
	text-indent:0;
	text-align:center;
	line-height:1;
	border-radius:10px;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
	-ms-border-radius:10px;
	background-color:#ff4646;
}
dl dt.option:before{
	content:"任意";
	background-color:#4d6185;
}
dl dd{
	width:65%;
}
dl dd.number span{
	display:inline-block;
	width:8em;
}
dl dd label{
	display:block;
}

div.info dl{
	margin-bottom:30px;
	border-bottom:1px #ccc solid;
}

@media only screen and (max-width: 640px){
	dl dt,
	dl dd{
		width:100%;
	}
	dl dt{
		margin:0 aut;
		padding-left:0;
		padding-right:0;
		text-indent:0;
	}
	dl dt::before {
  		margin-right: 10px;
	}
	dl dd{
		padding:0;
		border-top:none;
	}
}

/* input */
dl dd input[type="text"],
dl dd input[type="tel"],
dl dd input[type="email"],
dl dd textarea,
dl dd select{
	width:94%;
	margin-bottom:5px;
	padding:10px 3%;
	border:1px #32c8e1 solid;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	-ms-border-radius:5px;
	background-color:#f5f5f5;
}
dl dd select{
	width:auto;
	padding:7px 3%;
}

/* checkbox */
.checkbox_input{
	display: none;
}
.checkbox_parts{
	padding-left: 28px;
	position:relative;
	margin-right: 20px;
}
.checkbox_parts::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 15px;
	height: 15px;
	border: 2px solid #32c8e1;
	border-radius: 4px;
}
.checkbox_input:checked + .checkbox_parts{
	color: #ff4646!important;
	font-weight:bold;
}
.checkbox_input:checked + .checkbox_parts::after{
	content: "";
	display: block;
	position: absolute;
	top: -5px;
	left: 5px;
	width: 7px;
	height: 14px;
	transform: rotate(40deg);
	border-bottom: 3px solid #ff4646;
	border-right: 3px solid #ff4646;
}

/* radio_btn */
.radio_input{
	display: none;
}
.radio_parts{
	padding-top:3px;
	padding-left: 30px;
	position:relative;
	margin-right: 20px;
}
.radio_parts::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	border:2px solid #32c8e1;
	border-radius: 12px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	-ms-border-radius: 12px;
}
.radio_input:checked + .radio_parts{
	color: #ff4646!important;
	font-weight:bold;
}
.radio_input:checked + .radio_parts::after{
	content: "";
	display: block;
	position: absolute;
	top: 5px;
	left: 5px;
	width: 14px;
	height: 14px;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-ms-border-radius: 8px;
	background-color:#ff4646;
}


/* stop */
label.stop span.radio_parts::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	border:2px solid #ddd;
	border-radius: 12px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	-ms-border-radius: 12px;
	background-color:#ddd;
}
label.stop span.checkbox_parts::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width:15px;
	height: 15px;
	border:2px solid #ddd;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px;
	background-color:#ddd;
}


/* zip */
dl dd input.zip{
	width:5em;
}

/* link */
dl dd p.link a{
	display:block;
	margin-left:29px;
	padding-left: 10px;
    background: url(../img/arrow01.png) no-repeat left center;
}


/* submit */
div#submit {
	margin-bottom:50px;
}
div#submit span{
	display:block;
	margin-bottom:10px;
	padding:20px 0;
	text-align:center;
	border:1px #ccc solid;
	background-color:#f5f5f5;
}
div#submit .submit_btn{
	width:250px;
	margin:0 auto;
	padding:15px;
	color:#fff;
	text-decoration:underline;
	border:none;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	transition: all 0.3s linear;
	background-color:#194b96;
}
div#submit .submit_btn:hover{
	text-decoration:none;
	background-color:#ff6400;
}
div#submit p{
	padding-left:1em;
	text-indent:-1em;
}
div#submit p:before{
	content:"●";
	color:#aacbd3;
	font-size:22px;
	line-height:14px;
}

@media screen and (max-width:640px){
	div#submit .submit_btn {
		width:calc(90% - 30px);
		max-width: 250px;
	}
}




/* footer
------------------------------------------------------*/
div#footer #pagetop {
    clear: both;
    margin: 0 0 30px;
    text-align: center;
}
div#footer small{
	text-align:center;
}



/* check
------------------------------------------------------*/

div.check div#select_event ul li.ttl{
	padding-left:0;
	text-indent:0;
}
div#select_event ul li.ttl label{
	color: #ff4646 !important;
	font-weight: bold;
}