@charset "utf-8";
/* --------------------------------------------------
	Base Layout
-------------------------------------------------- */
/* Grouping content */
* {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

h1 { padding: 15px 60px; text-align: center; }
h1 img { height: 50px; }

p, blockquote, dl, dd, figure {
	margin: 0;
}
hr {
	color: inherit;
	height: auto;
	-moz-box-sizing: content-box;
		box-sizing: content-box;
}
ol, ul { padding: 0; margin: 0; }
li { list-style: none; }
a { word-break: break-all; }
a:link, a:visited { color: #333; text-decoration: none; }
a:hover { opacity: 0.7; }
img {
	border: none;
	max-width: 100%;
}
body {
	font-family: Shuei MaruGo L;
	font-size: 12pt;
	line-height: 0;
	text-align: justify;
	letter-spacing: 0.02em;
	color: #333;
}
p { line-height: 1.6; }

.spSite { display: none; }
.copyright {
	background-color: #000;
	color: #FFF;
	font-size: 9.5pt;
	text-align: center;
	line-height: 1.4;
	width: 92%;
	padding: 15px 4%;
}

.case {
	width: 850px;
	max-width: 92%;
	margin: 50px auto;
}
.mt05 { margin-top: 5px; }
.fs120 { font-size: 120%; }
.gray { color: #aaa; }
.red { color: #d00; }
h3 {
	font-family: Shuei MaruGo B;
	background-color: #F7FAFA;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-align: center;
	font-weight: normal;
	font-size: 20pt;
	padding: 20px;
	margin-bottom: 30px;
}
h4 {
	font-family: Shuei MaruGo B;
	font-size: 16pt;
	margin-bottom: 20px;
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: normal;
	position: relative;
	padding-bottom: 10px;
}
h4:before, h4:after {
	content: "";
	display: block;
	height: 2px;
	position: absolute;
	bottom: 0;
}
h4:before {
	width: 100%;
	background-color: #D2E2E2;
}
h4:after {
	width: 5em;
	background-color: #A1C4C4;
}
/* アコーディオン */
/*.acBtn {
	display: block;
	line-height: 1.4;
	cursor: pointer;
	position: relative;
	background-color: #bbb;
	padding: 10px;
	margin: 50px 0 5px;
}*/
.acBox {
	display: none;
	line-height: 1.6;
	margin-top: 50px;
}
/*.acBtn:hover { background-color: #eee !important; }
.acBtn.is-close {
	background-color: #FFF;
	color: #000;
	font-family: Shuei MaruGo B;
	display: block;
	box-sizing: border-box;
	margin: 30px auto 0;
	padding: 20px 10px;
	border: 2px solid #333;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-box-shadow: 5px 5px 0 #EBEBEB;
	        box-shadow: 5px 5px 0 #EBEBEB;
	width: 260px;
	text-align: center;
	line-height: 1.2;
	font-size: 14pt;
}*/
/*.acBtn.is-open { display: none; }*/

.acBtn.is-close span:after { content: "＋"; }
.acBtn.is-close:after { content: "応募作品を追加"; }
.acBtn.is-open span:after { content: "−"; }
.acBtn.is-open:after { content: "とじる"; }

.chkBack { display: block !important; }
.acBtn.chkBack.is-close span:after { content: "−"; }
.acBtn.chkBack.is-close:after { content: "とじる"; }

.link a {
	display: inline-block;
	margin-top: 5px;
	color: #0070ff;
}

/*-- Form ----------------------------------------*/
.formTbl {
	margin-top: 50px;
	width: 100%;
}
.formTbl tr { width: 100%; }
.formTbl tr { border-bottom: 15px solid #fff; }
.formTbl th, .formTbl td {
	font-weight: normal;
	line-height: 1.6;
	padding: 10px;
}
.formTbl th {
	text-align: center;
	vertical-align: middle;
	background-color: #ddd;
	width: 10em;
	border-right: 5px solid #fff;
}
.formTbl th.fs120 {
	font-weight: bold;
	border-right: none;
	border-bottom: 10px solid #FFF;
}
.formTbl tr:first-child th { border-top: none; }
.formTbl th span.red {
	font-weight: normal;
	font-size: 14pt;
	position: relative;
	left: 3px;
}
.formTbl td {
	background-color: #f3f3f3;
	padding-right: 12px;
}
.formTbl input, .formTbl select, .formTbl textarea {
	font-size: 12pt;
	padding: 5px 1%;
	border: 1px solid #ccc !important;
	width: 98%;
	font-family: Shuei MaruGo L;
}
select {
	-webkit-appearance: button;
	appearance: button;
	background: #FFF url('../images/icon_select.png') no-repeat center right !important;
	-webkit-background-size: contain;
	     -o-background-size: contain;
	        background-size: contain;
	width: 100% !important;
	-webkit-border-radius: 0 !important;
	-moz-border-radius: 0 !important;
	border-radius: 0 !important;
}
.bumon .wpcf7-list-item { padding: 3px 0; }
input[type=checkbox], input[type=radio] {
	position: relative;
	bottom: 1px;
	margin-right: 12px;
	margin-left: 4px;
	width: 11px;
	height: 11px;
	-moz-transform: scale(2.0);
	-webkit-transform: scale(2.0);
	transform: scale(2.0);
}
input[type=checkbox] { bottom: 3px; }
.formTbl p { line-height: 1.4; }
.wpcf7-response-output { line-height: 1.4; }
.dib {
	display: inline-block;
	white-space: nowrap;
}
.input-box span {
	display: block;
	color: #e00;
}
input.errors, textarea.errors, select.errors { border: 1px solid #e00 !important; }
.porcyBox {
	overflow: scroll;
	width: 850px;
	max-width: 100%;
	height: 300px;
	border: 1px solid #aaa;
	margin: 0 auto 30px;
}
.porcyBox p { padding: 5px; }
.recaptchaBtn {
	width: 850px;
	max-width: 100%;
	margin: 0 auto;
}
form img.thumb {
  margin-top: 10px;
  max-width: 200px;
  display: block;
}

.btn { margin-top: 50px; }
.btn input, .btn a {
	color: #000;
	font-family: Shuei MaruGo B;
	display: block;
	box-sizing: border-box;
	margin: 0 auto 15px;
	padding: 20px 10px;
	border: 2px solid #333;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-box-shadow: 5px 5px 0 #EBEBEB;
	        box-shadow: 5px 5px 0 #EBEBEB;
	width: 260px;
	text-align: center;
	line-height: 1.2;
	font-size: 14pt;
	cursor: pointer;
	cursor: hand;
}
.btn input:hover, .btn a:hover {
	opacity: 1;
	background-color: #eee !important;
}
.btn.ar input, .btn.ar a { background: #FFF url('../images/icon_ar.png') no-repeat center right 7%; }
.btn.al input, .btn.al a { background: #FFF url('../images/icon_al.png') no-repeat center left 7%; }
/*.acBtn { background: #FFF url('../images/icon_ab.png') no-repeat center right 7%; }*/

.acBtn {
	text-align: center;
	line-height: 1.2;
	margin-top: 30px;
	font-family: Shuei MaruGo B;
	font-size: 14pt;
	cursor: pointer;
	cursor: hand;
	color: #05c;
}
.acBtn span {
	position: relative;
	top: 4px;
	right: 8px;
	background-color: #eee;
	font-size: 20pt;
	display: inline-block;
	width: 1.2em;
	padding: 5px;
	border: 2px solid #05c;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
}
.acBtn:hover span { background-color: #ccc; }

.btn.w02 input {
	width: 380px;
	max-width: 96%;
	padding-left: 1%;
	padding-right: 2%;
}

.btn.c02 input, .btn.c02 a { background-color: #FFEB53; }
.btn.c02 input:hover, .btn.c02 a:hover { background-color: #ECD733 !important; }
.btn.w02 a {
	padding: 10px 10px;
	line-height: 1.4;
}

.btnBox { text-align: center; }
.btnBox .btn {
	display: inline-block;
	padding: 0 10px;
}


/* ------- pcSite　----------------------------------- */
@media screen and (min-width:768px) { /* PC */
	.spSite { display: none; }
	/*-- Form ---------------------------------------*/
	.formTbl tr.w02 td { width: 50%; }
}

/* ------- spSite　----------------------------------- */
@media screen and (max-width:767px) { /* スマホ */
	body { font-size: 11pt; }
	.pcSite { display: none; }
	.spSite { display: block; }
	.case { padding: 20px auto; }
	h3 {
		font-size: 18pt;
		padding: 10px;
	}

	/*-- Form ---------------------------------------*/
	.formTbl {
		margin-top: 30px;
		display: block;
	}
	.formTbl tbody, .formTbl tr { display: block; }
	.formTbl th, .formTbl td {
		text-align: left;
		display: block;
		width: 94%;
		padding: 10px 3%;
		border-left: none;
	}
	.formTbl td { border-top: 1px solid #fff; }
	.bumon .wpcf7-list-item { padding: 8px 0; }

	.formTbl input, .formTbl select, .formTbl textarea {
		font-size: 11pt;
	}

	.btn { margin-top: 0; }
	.btnBox .btn:first-child { margin-top: 50px; }
} /* --- /sp --- */