@charset "utf-8";

/* ------------------------------------------------------------------
 * (C) KADOKAWA CORPORATION 2022
 * 新クトゥルフ神話TRPG　シナリオコンテスト
------------------------------------------------------------------- */

html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,img	{	margin: 0;	padding: 0;	}
area, base, basefont, head, meta, script, style, title, noembed, param	{display: none;}
*, *:before, *:after {
	-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}
html,body,#wrap,form	{ width:100%;height: 100%;}
html { font-size: 62.5%; }
body{ 
	margin: 0 auto;
	background: #FCF9F6;
	background: #2c5857 url("../img/bg.png") left top;
	color: #444;
	width: 100%;
	height: 100%;
	font-size:1.4rem;
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	font-weight:normal;
	font-style:normal;
	text-align:left;
	line-height:1.4;
	-webkit-text-size-adjust: 100%;
	word-break: break-all;
	}
h1, h2, h3, h4, h5, h6	{	font-weight: bold;	line-height: 1em;	}
img						{	border:0; margin:0; -ms-interpolation-mode: bicubic;	}
fieldset				{	border:0; margin:0;	}
br						{	letter-spacing:0;	}
ol,ul,li				{	list-style:none;list-style-position: outside;	}
li img					{	vertical-align:top;	}
li a					{	zoom: 1;	}
em,cite					{	font-style: normal;	}
strong					{	font-weight:bold;	}
table					{	border-collapse: collapse;	border-spacing: 0;	}
p						{	text-align:justify;	text-justify:inter-ideograph;	line-height: 1.5em;}

input,button,input:focus,button:focus {	outline:0px none ;}
input,button,textarea,select {	font-family : inherit; font-size: 1.5rem; text-align:left;padding: 5px;}

a img {vertical-align: bottom;}

	@media only screen and (max-width: 700px) {
		body{
			font-size: 1.4rem;
			font-family: 'Hiragino Kaku Gothic ProN',Meiryo, sans-serif;
			word-break:break-all;
		}
		*, *:before, *:after {
		 -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
		}
		h1 img 	{	 max-width: 100%; height: auto;}
	}
/*-------------------------------------------------------------------- */
a:link		{	color: #00adea;	text-decoration: underline; outline:none;	}
a:visited	{	color: #00adea;	text-decoration: underline;	}
a:hover		{	color: #009ad0;	text-decoration: none;	}
/* float --------------------------------------------------------------------*/
.fL	{float:left;}
.fR	{float: right;}
.fcRed { color: #ff3333; }

#base ul.ul1 li:after,
#base .noticeChk .noticeChk_chk label:after,
#base:after,
.clearfix:after {	visibility: hidden;	display: block;	font-size: 0;	content: " ";	clear: both;	height: 0;	}

* html #base #base ul.ul1 li,
* html #base .noticeChk .noticeChk_chk label,
* html #base,
* html .clearfix {	zoom: 1; } /* IE6 */

*:first-child+html #base ul.ul1 li,
*:first-child+html #base .noticeChk .noticeChk_chk label,
*:first-child+html #base,
*:first-child+html .clearfix {	zoom: 1; } /* IE7 */

/* layout --------------------------------------------------------------------*/
form	{	margin: 0; padding: 0;	}
h1 {
	margin: 0;
	padding: 10px 20px;
	color: #3c3c3c;
	font-size: 3.6rem;
	font-family: 'Lato', 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: center;
}
h1 span {
	margin: 20px 0 0;
	display:block;
	letter-spacing: 0.5em;
}
h2 {
	color: #3c3c3c;
	font-size: 1.9rem;
	margin: 1em 0;
	padding:0 0 7px;
	line-height: 1.2;
	border-bottom: 1px solid #3c3c3c;
}
h3{
	background: #2D5858;
	color: #fff;
	font-size: 2.0rem;
	margin: 20px auto;
	padding: 10px;
	line-height: 100%;
	border-radius: 5px;
	text-align: center;
}
p.copy	{
	margin: 0 auto;
	padding:40px 0;
	background: #1F1F1F;
	color: #fff;
	font-size: 1.3rem;
	font-family:'Lato', sans-serif;
	text-align: center;
	position: sticky;
	top: 100vh;
}

.lede{
	margin: 40px auto;
	color:#222;
	max-width: 860px;
}
.lede p{
	margin: .5em auto 1em !important;
	font-size: 1.8rem;
	font-weight: bold;
}

#base{
	margin: 0 auto;
	padding: 20px;
	overflow: hidden; _zoom: 1;
	background: #fff;
	border: none;
	box-shadow: 0px 0px 3px 0px rgb(0 0 0 / 10%);
	min-height: 460px;
	font-size: 1.4rem;
}
#base .inner {
	margin: 0 auto;
	max-width: 980px;
}

#base section			{	padding: 0 20px 20px; }
#base ul,#base ol		{	margin: 20px 0 20px 20px;}
#base ul li				{	list-style: disc outside ;	margin: 10px 0;	font-size: 1.5rem; line-height: 1.5em;}
#base ul.circle li		{	list-style: circle outside ;}
#base ul.margin0 li		{	margin: 10px 0;}
#base ul.notype 		{	margin: 20px 0; }
#base ul.notype li		{	margin: 10px 0; list-style: none; }
#base ul.asterisk		{	margin: 20pxm 0 20px; }
#base ul.asterisk li		{	  padding-left: 1em;  text-indent: -1em; }
#base ul.asterisk li:before		{	content: '※'; }
#base ul li strong		{	font-size: 1.6rem; color: #333; padding-right: 1em;}
#base ol li				{	list-style: decimal outside ;	margin: 0.8em;	line-height: 1.4em;}
#base ul li p			{	line-height:1.6em;padding:0 5px 10px 10px;margin:5px 0;}

#base ul li ul.innerList		{	margin: 10px 0 30px 25px;}
#base ul li ul.innerList li		{	list-style: disc outside !important; color: #ccc; margin: 1em 0;font-size: 1.2rem;}
#base ul li ul.innerList li p	{	line-height: 1.2em;padding: 0;margin: 0; color: #555;}

#base ul.ul1			{	margin: 20px 0; border: 1px solid #ccc;}
#base ul.ul1 li			{	list-style: none outside ; margin: 5px; padding: 5px; _zoom: 1; overflow: hidden;}
#base ul.ul1 li strong	{	display: block; width: 100px; float: left;}
#base .borderBox{margin: 10px 0; border: 1px solid #ccc;padding: 10px;}
#base p					{	margin: 0; 	}
#base p em				{	font-weight: bold;	display: block;}
#base section { font-size: 1.6rem; }
#base p.name			{	line-height: 1.7em;}
#base p.catch			{	font-weight: bold; color: #000;	text-shadow: 1px 1px 0px #ddd;font-size: 1.4rem;}

.submitBtn			{	margin: 50px auto;	text-align: center;}
.submitBtn .btn {
	margin: 20px auto;
	display: block;
	width: 320px;
	font-size: 1.9rem;
	line-height:100%;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	line-height: 50px;
	outline: none;
	border:none;
	border-radius: 4px;
	overflow: hidden;
		position: relative;
		z-index: 2;
		background-color: #fff;
		border: 2px solid #666;
		color: #666;
}

.btn::before,
.btn::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.btn,
.btn::before,
.btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.btn:hover {
	cursor: pointer;
	color: #fff;
	background: #666;
}

.submitBtn .submit,
.submitBtn .agree,
.submitBtn .chk,
.submitBtn .fix{
	width: 320px;
	border: 2px solid #b0a051;
	color: #b0a051;
}
.submitBtn .submit:hover,
.submitBtn .agree:hover,
.submitBtn .chk:hover,
.submitBtn .fix:hover{
	color: #fff;
	background: #b0a051;
}
.submitBtn .submit:hover::after,
.submitBtn .agree:hover::after,
.submitBtn .chk:hover::after,
.submitBtn .fix:hover::after{
	background: #b0a051;
}

.tableForm									{	width: 100%;	margin: 20px 0 ;_zoom: 1;	overflow: hidden;border-radius: 5px;}
.tableForm table							{	width: 100%;	margin-top: -1px;}
.tableForm table th, .tableForm table td	{	border-top: 1px solid #d9d9d9;	 font-weight: normal;	padding:25px 15px; line-height:1.4; word-break: break-all; font-size: 1.6rem; }
.tableForm table th							{	width: 300px;text-align: left;font-weight: bold; }
.tableForm table th span					{	font-size: 1.2rem;	font-weight: bold;	color: #E30012;display: block;}
.tableForm table th span.normal				{	font-weight: normal;	color: #444;}
.tableForm table td input					{	padding: 2px;}
.tableForm table td label					{   display: inline-block; margin: 0 0 10px; font-size: 1.6rem; }
.tableForm table td p						{	margin: 0;padding-bottom: 0.5em; font-size: 1.4rem; }
.tableForm table td p span					{	display: block; color: #237d7d; font-size: 1.4rem; }

.tableForm table.imgup th 					{   width: 300px;}
.tableForm table td img						{	vertical-align: middle;}
.tableForm table td span.imgTitle			{	padding: 1em;}

input#Name,input#NameKana,input#PenName,input#PenNameKana,input#Tel,input#Bumon,input#DataSize,input#BirAddr	{	width: 200px;}
input#Addr,input#MailAddr,input#Note,input#Title,input#TitleKana,input#Job	{	width: 100%; }
input#Zip,input#DataFormat,input#BirthY	{	width: 7em;}
input#Pages	{	width: 5em;}
input#Age, input#ExperienceYears	{	width: 4em;}
input#Age,input#BirthY,input#Pages,input#ExperienceYears	{	margin-right: 5px; }


.tableForm input[type="text"],
.tableForm input[type="email"],
.tableForm input[type="tel"],
.tableForm textarea {
	padding: 7px;
	outline: none;
	border: 1px solid #aaa;
	border-radius: 3px;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.tableForm input[type="text"]:focus,
.tableForm input[type="email"]:focus,
.tableForm input[type="tel"]:focus,
.tableForm textarea:focus {
	box-shadow: 0 0 3px #000;
	border: 1px solid #000;
}

.tableForm input[type="radio"] , input[type="checkbox"]{
   margin: 0.5em;}

select[name^="Ent"] { margin: 0 5px 5px; }

textarea	{	width: 100%;height: 10em;overflow-y: scroll;overflow-x: hidden; }




#inputFile				{ margin: 20px 0 ;_zoom: 1;	overflow: hidden; border: 1px solid #828282;padding: 10px; background: #ede7c7;color: #333;font-weight: bold; text-align: center;}
#inputFile input		{ }

#base .completeMsg, #base #endMsg		{	padding: 30px 0;}
#base .completeMsg p, #base #endMsg p	{	margin: 1.5em auto;		width: 650px;	font-size: 1.6rem;	line-height: 1.6em;}

#base .noticeMsg		{}
#base .noticeMsg p,
#jsoff		{	font-size: 1.5rem;	color: #d71111;	margin: 1em 0;}

#base .noticeData,
#base .noticeChk{
	margin: 20px 0;
	padding:0 20px;
	border-radius: 5px;
	border:1px solid #e51813;
	background: #fdfdfd;
}
#base .noticeData {
	margin: 0 0 40px;
	padding: 0;
	border: 0;
	background: none;
}
#base .noticeData {
	margin: 20px 0 40px;
	padding: 25px 30px 15px 30px;
	position: relative;
	border: 3px double #aaa;
	border-radius: 5px;
}
#base .noticeData::before {
	padding: 10px;
	content: "応募データについて";
	position: absolute;
	left: 20px;
	top: -22px;
	background-color: #fff;
	color: #033;
	font-weight: bold;
}
#base .noticeData h2,
#base .noticeChk h2{
	font-size: 1.8rem;
	margin:  0.5em -20px;
	padding:0 20px  0.5em;
	text-align: center;
}
#base .noticeData p {
	font-size: 1.4rem;
}
#base .noticeData .heading {
	margin: 1.5em 0 0 -1em !important;
	padding: 0 0 5px;
	font-weight: bold;
}
#base .noticeData .heading:first-child {
	margin-top: 0 !important;
}
#base .noticeData ul {
	margin: 0 0 10px;
}
#base .noticeData li{
	margin: 10px 0;
}


#base .noticeChk_chk				{	padding: 0px 10px;}
#base .noticeChk_chk label			{	display: block;margin: 1em 0;_zoom: 1;	overflow: hidden;}
#base .noticeChk_chk label input	{	float: left;margin: 1px 10px 5px 0;}
#base .noticeChk_chk label span		{	display: block;overflow: hidden; _zoom: 1;}

#base td.notice { padding: 0 15px; border: 0; border-bottom: 1px solid #d9d9d9; }
#base td.notice .noticeData ul { margin: 0 .5em 15px; }
#base td.notice .noticeData li { margin: 0 0 0 1em; font-size: 1.4rem;  }
#base .notes { 	margin: 0 auto; padding: 10px 15px; }
#base .notes p { margin: 0;font-size: 1.5rem; line-height: 1.6;  }

@media only screen and (max-width: 700px) {
	#base{
		padding: 0 20px;
		width: 100%;
	}
	#base .notes {
		padding: 10px 0;
	}
	#base section { 
		padding: 0 0 20px;
	}
	h1 {
		font-size: 2.2rem;
	}
	h2 { 
		font-size:1.7rem;
	}
	h3 {
		font-size: 1.6rem;
	}
	#base .lede p {
		width: auto;
		font-size:1.7rem;
	}
	#base .noticeChk_chk { padding: 0; }
	#base .noticeData h2, #base .noticeChk h2 {
		font-size:1.6rem;
		text-align:left;
	}
	#base ul li {
		font-size: 1.4rem;
	}
	.tableForm table th,
	.tableForm table td,
	#BumonTable1 table th,
	#BumonTable2 table th,
	#BumonTable3 table th{
		display: block;
		width: 100%;
		font-size: 1.6rem;
	}
	.tableForm table th{
		padding: 15px 0;
		border-top: 1px solid #999;
	}
	.tableForm table td{
		padding: 0 0 15px;
		border: none;
	}
	input[type="text"], input[type="email"], input[type="file"], textarea{width: 100% !important;}
	input#Male, input#Female, input#NA, input#ReviewYes, input#ReviewNo, #base .noticeChk_chk label input { width: auto !important; }
	input#Age, input#BirthY, input#Zip{width: 7em !important;}
	.submitBtn {
		margin: 20px 0 50px;
	}
	.submitBtn .btn, .submitBtn .submit, .submitBtn .agree, .submitBtn .chk, .submitBtn .fix {
		width: auto;
	}
	.tableForm table td p {
		width: auto;
		font-size: 1.4rem;
		word-break: break-all;
	}
	#base td.notice {
		padding: 0;
	}
	#base .noticeData {
		margin: 20px 0;
		padding: 15px 20px 15px;
		width: auto;
	}
	#base .noticeData p {
		font-size: 1.4rem;
	}
	#base td.notice .noticeData li, #base .notes p {
		margin: 0 0 5px 1em;
		font-size: 1.4rem;
	}
	#base .completeMsg {
		padding: 0;
	}
	#base .completeMsg p {
		width: auto;
	}
}

