@charset "utf-8";
/* == 初期フォントサイズ設定 ================================================ */
html { font-size: 16px;}

@media screen and (max-width: 480px) {
  html { font-size: 11px !important; }
}
@media screen and (min-width: 481px) and (max-width: 640px) {
  html { font-size: 12px !important; }
}
@media screen and (min-width: 641px) {
  html { font-size: 16px !important; }
}

.float-right{	float: right;}
.float-left{	float: left;}

.end-float{
	clear: both;
}


html body{ font-size: 1rem;line-height: 1.5;}

html body input,
html body textarea,
html body select{ font-size: 1.1rem; line-height: 1.2; margin: 2pt; padding: 2.5pt;}
html body input[type="submit"], html body input[type="button"], .button{ font-size: .9em; padding: 5pt 10pt;}

/* form */
form.img_chk input[type="radio"], form.img_chk input[type="checkbox"]{display: none;}
form.img_chk input[type="radio"]+label,
form.img_chk input[type="checkbox"]+label{
	position: relative;
	display: block;
	padding: .3rem 1rem .2rem 1.8rem;
}

form.img_chk input[type="radio"]+label:before,
form.img_chk input[type="checkbox"]+label:before{
	margin: auto 0;
	display: block;
	position: absolute;
	content: '';
	width: 1.4rem;
	height: 1.4rem;
	top: 0;
	bottom: 0;
	left: 0;
	background-repeat:no-repeat;
	-moz-background-size: auto 100%;
	background-size: auto 100%;
}
form.img_chk input[type="radio"]+label:before{background-image: url("./images/iconmonstr-radio.png");}
form.img_chk input[type="radio"]:checked+label:before{background-image: url("./images/iconmonstr-radio_check.png") !important;}
form.img_chk input[type="checkbox"]+label:before{background-image: url("./images/iconmonstr-square.png");}
form.img_chk input[type="checkbox"]:checked+label:before{background-image: url("./images/iconmonstr-square_check.png") !important;}


/* == ▼基本 ================================================================ */
html, body, pre{ font-family:arial,helvetica,clean,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ', Meiryo,'MS Pゴシック',sans-serif !important; }
html,body{ height: 100%; }

.text8 { font-size: .8em; }
.text9 { font-size: .9em; }
.text10, h4 { font-size: 1em; }
.text11, h3 { font-size: 1.1em; }
.text12, h2 { font-size: 1.2em; }
.text13 { font-size: 1.3em; }
.text14, h1 { font-size: 1.4em; }
.text15 { font-size: 1.5em; }
.text16 { font-size: 1.6em; }
.text17 { font-size: 1.7em; }
.text18 { font-size: 1.8em; }
.text19 { font-size: 1.9em; }
.text20 { font-size: 2em; }
.text21 { font-size: 2.1rem; }
.text22 { font-size: 2.2rem; }
.text23 { font-size: 2.3rem; }
.text24 { font-size: 2.4rem; }
.text25 { font-size: 2.5rem; }
.text26 { font-size: 2.6rem; }
/*
*:not(.non_res_table) a{
	width:100%;
	height:100%;
	zoom: 1;
}*/

.margin-left{}
.margin-left.ml_2rem{margin-left: 2rem;}
.margin-left.ml_1rem{margin-left: 1rem;}
.margin-left.ml_05rem{margin-left: .5rem;}

.margin-right{}
.margin-right.mr_2rem{margin-right: 2rem;}
.margin-right.mr_1rem{margin-right: 1rem;}
.margin-right.mr_05rem{margin-right: .5rem;}

.padding-left{}
.padding-left.pl_2rem{padding-left: 2rem;}
.padding-left.pl_1rem{padding-left: 1rem;}
.padding-left.pl_05rem{padding-left: .5rem;}

.padding-right{}
.padding-right.pr_2rem{padding-right: 2rem;}
.padding-right.pr_1rem{padding-right: 1rem;}
.padding-right.pr_05rem{padding-right: .5rem;}

.table.border-spacing{ border-collapse: separate !important; }
.border-spacing .bs_left05rem{ border-spacing: .5rem 0; }
.border-spacing .bs_right05rem{ border-spacing: .5rem 0; }
/* == ▼リスト ============================================================ */
/* リスト装飾 */
#contents ol{ padding-left: 2em;}
#sidebar ol{ margin: 1em auto; padding-left: 1.2em; font-size: .9em;}
ol > li+li { margin-top: .5em; }

#edit section ul:not(.inline_b) li, ul.disc li, dl.disc dt {
	margin-left: 1.5rem !important;
	display: list-item;
	list-style-type: disc !important;
	list-style-position: outside;
}

/* == ▼サイズ ============================================================= */
form textarea,
.font_touhaba{ font-size: .9em; font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; }
/* -- $font ---------------------------------------------------------------- */

h1,h2,h3,h4,h5,.bold,#wrapper dl dt { font-weight: bold; }


.space_4em{ padding-top: 4em; }

.outline{
	letter-spacing: .1em;
	font-weight: bold;
	color: #fff;
	filter:dropshadow(color=#000000,offX= 0,offY=-1)
	dropshadow(color=#000000,offX= 1,offY= 0)
	dropshadow(color=#000000,offX= 0,offY= 1)
	dropshadow(color=#000000,offX=-1,offY= 0);
	 
	-webkit-text-stroke-color: #000;
	-webkit-text-stroke-width: 1px;
	 
	text-shadow: black 1px 1px 0px, black -1px 1px 0px,
	             black 1px -1px 0px, black -1px -1px 0px;
}

.block{ display: block; }

.min-width70{ min-width: 80%; max-width: 100%; }

.per5 { width: 5% !important;}
.per8 { width: 8% !important;}
.per10 { width: 10% !important;}
.per12 { width: 12% !important;}
.per15 { width: 15% !important;}
.per20 { width: 20% !important;}
.per22 { width: 22% !important;}
.per24 { width: 24% !important;}
.per25 { width: 25% !important;}
.per30 { width: 30% !important;}
.per35 { width: 35% !important;}
.per40 { width: 40% !important;}
.per42 { width: 42% !important;}
.per45 { width: 45% !important;}
.per49 { width: 49% !important;}
.per50 { width: 50% !important;}
.per52 { width: 52% !important;}
.per55 { width: 55% !important;}
.per60 { width: 60% !important;}
.per70 { width: 70% !important;}
.per75 { width: 75% !important;}
.per76 { width: 76% !important;}
.per77 { width: 77% !important;}
.per78 { width: 78% !important;}
.per80 { width: 80% !important;}
.per85 { width: 85% !important;}
.per88 { width: 88% !important;}
.per90 { width: 90% !important;}
.full  { width: 100% !important;}
.cell_1em{ display: table-cell; width: 1rem;height: 1rem;}

.resize { width: 100%; height: 100%; }
	.resize.auto { width: 100%; height: auto !important; }
	.resize.auto-width { width: auto !important; height: auto !important; }
	/* padding-top(%) = 高さ / 横幅 * 100
	/* 例:4:3は、3/4*100で、75 */
	/*  4: 3 */.resize.ratio4-3	{ padding: 75% 0 0; }
	/*  5: 2 */.resize.ratio5-2	{ padding: 40% 0 0; }
	/*  5: 3 */.resize.ratio5	{ padding: 50% 0 0; }
	/*  5: 3 */.resize.ratio5-3	{ padding: 60% 0 0; }
	/*  6: 4 */.resize.ratio6-4	{ padding: 66.66% 0 0; }
	/* 16: 9 */.resize.ratio16-9	{ padding: 56.25% 0 0; }

.gray { color:#333; }

/* == ▼配置 =============================================================== */

/* inline-block */
.inline_b{font-size: 0 !important;letter-spacing: -1em !important;word-spacing: -1em !important;}
:root .inline_b {font-size: 0.1px;letter-spacing: -1px;word-spacing: -1px;}
.inline_b > * {
	display: inline-block !important;
	font-size: 1rem;
	letter-spacing: normal;
	word-spacing: normal;
	*display: inline;
	*zoom: 1;
	vertical-align: top;
}

.align-left{display: block;text-align:left;margin-left: 0;margin-right: auto;}
.align-center{display: block;text-align:center;margin-left: auto;margin-right: auto;}
.align-right{display: block;text-align:right;margin-left: auto;margin-right: 0;}

.ver-top	{vertical-align: top !important;}
.ver-middle	{vertical-align: middle !important;}
.ver-bottom	{vertical-align: bottom !important;}
/* == ▼疑似テーブル ======================================================= */
.table,
.non_res_table { display: table; border-collapse: collapse !important; }
	.border { border:1px solid #333; }

	.border .row > * { padding: 1pt 5pt;border-bottom:1px solid #333; }
	.border .row > dt,
	.table .row.th > div,
	.non_res_table .row.th > div{ background: #2d2b32;color:#fff; }
	.row > .cell-th { background-color: rgba( 0, 0, 0, 0.70 ) !important;color:#fff; }
	.border .row > dt,
	.table.schedule .row.th { text-align: right; }
	.border .row > div,
	.border .row > dd { background-color: rgba( 255, 255, 255, 0.50 ); }
	.border .row > div+div,
	.border .row .row > div+div,
	.schedule .row .row > div+div,
	.yotei .table .row.th > div+div { border-left:1px dashed #999; }
	
	.border .row:nth-child(even),
	.border .row:nth-child(even) { background-color: rgba( 255, 255, 255, 0.70 ); }

.table .row,
.non_res_table .row{ display: table-row !important; }

.table.fx,.non_res_table.fx{
	table-layout: fixed;
}

.cell{
	display: table-cell !important;
	vertical-align: top;
}

.row.th > div,
.row.th > div > div{ font-weight: bold !important; text-align: center;vertical-align: middle !important; }


aside .rc_mark_bg.pad > *,
h3 + .pad{padding: 5pt;}


.pad, .table.pad .row > div,
.non_res_table.pad .row > div,
.pad .cell,
ul.pad > li,
dl.pad > dt,
dl.pad > dd {padding: 2pt;}

.pad .topBottom {padding-left:0;padding-right:0;}
.pad .leftRight {padding-top:0;padding-bottom:0;}


.radius { 
	border-collapse: separate !important;
	border-radius: 20px;        	/* CSS3草案 */  
	-webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;		/* Firefox用 */  
}

.bg-white{ background-color: rgba( 255, 255, 255, 0.60 );}

.sp { display: none !important;height: 0; }

.debug {
	display: block;
	padding: 0 !important;
	background: #000;
	color: #fff;
    width: 100%;
}

.debug .red{ color: red; }


#contents dl .req:after {
	content: '≪必須≫';
	font-size:93% !important;
	color: red;
}


/* iframe レスポンシブ用 */
.res_wrap {
	position: relative;
	width: 100%;
}

.res_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

@media screen and (max-width: 640px){ /* スマホ表示開始 */
	.margin-left{ margin-left: 0; }
	.margin-right{ margin-right: 0; }
	.padding-left{ padding-left: 0; }
	.padding-right{ padding-right: 0; }
}