@charset "utf-8";
/* CSS Document */


/* リセット */
.container * { border-radius: 0 }
.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 
{
	
	padding: 0;
}
.panel,
.panel-heading { border: none; box-shadow: none; }
.row,
.col-md-offset-1,
.col-md-offset-2,
.container .checkbox label, .container .radio label,
.checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"], .radio input[type="radio"], .radio-inline input[type="radio"],
.form-horizontal .form-group,
p {
	margin: 0;}
.col-md-10.col-md-offset-1 {
	width: 100%;
}

.container .checkbox label.checked,
.container .radio label.checked {
	font-weight: bold;
	color: #0068ff;
}
 

/* 基本構造 */
.container {
	margin: 0px auto;
	padding: 0;
}
footer {
	position: relative;
	color: #fff;
	background: #d22323;
	padding: 15px 10px;
	font-size: 12px;
}
footer a {
	position: absolute;
	right: 10px;
	bottom: 20px;
	display: block;
	background-image: url(https://form.id.shogakukan.co.jp/uploads/forms/363/images/logo_360_1515568773.png);
	background-repeat: no-repeat;
	overflow: hidden;
	width: 131px;
	height: 0 !important;
	height /**/: 56px;
	padding-top: 56px;
	background-size: 131px auto;
}
.panel-body-page p {
	padding: 6px 0;
}
footer .container {
	width: 100%;
	height: auto !important;
	z-index: 0;
}

/* ヘッダ */
.navbar {
	position: relative;
	height: 70px;
	border-bottom: 30px solid #d22323;
}
.navbar .navbar-header {
	position: absolute;
	width: 160px;
	height: 72px;
	left: 15px;
}
.navbar .navbar-header img {
	width: 100%;
	height: auto;
	max-height: 100px !important; 
}

/* タイトル */
#form_title {
	background: #d22323;
	color: #fff;
	font-size: 20px;
	padding: 10px 15px;
	margin: 0 0 8px;
}

.panel-heading.panel-heading-page h2 {
	display: none;
}
.panel-heading h3 {
	background: #000;
	color: #fff;
	padding: 8px 10px;
	font-size: 19px;
	margin: 0;
}

.q .control-label {
	background-color: #fff !important;
	color: #d22323;
	font-size: 18px;
	padding: 0;
	width: 100%;
	min-height: 0;
}
q .control-label p {
	padding: 0;
}
.q .control-label p strong {
	display: block;
	color: #000 !important;
	padding-bottom: 16px;
}

.panel-heading {
	padding: 10px 0;
}
.panel-body-section {
	padding: 8px 0;
}
.checkbox,
.radio {
	border-collapse: collapse;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	vertical-align: top;
	width: 100%;
	list-style-type: none;
}


/* キーコード */
/*.form-horizontal .control-label {
	width: 8em;
	padding: 10px;
	text-align: left;
}
.form-horizontal .col-md-6 {
	width: 400px;
}
.form-horizontal .form-group {
	padding: 10px 0;
}*/
.col-md-6.col-md-offset-4 {
	padding-top: 10px;
}

.panel-body.panel-body-section {
	padding: 10px 0;
}
.panel-body.panel-body-section.q {
	padding: 30px 0;
}
.kei {
	border-bottom: 1px solid #bbb;
}

/* フォーム */
.tx1 input { width: 4em !important; }
.tx2 input { width: 10em !important; }
.tx3 input { width: 30em !important; max-width: 100% !important; }
.tx4 input { width: 100% !important; }

input.form-control[type="file"] {
	border: none;
	height: auto;
	box-shadow: none;
}
.checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"], .radio input[type="radio"], .radio-inline input[type="radio"] {
	position: relative;
}
input[type="checkbox"], input[type="radio"] {
	margin: 2px !important;
}

.col-md-10.select {
	width: auto !important;
}

.pi-001 label {
	color: #000;
	font-size: 15px;
}

.form-check-inline {
	box-sizing: border-box;
	background-color: #fff !important;
	font-size: 15px;
	padding: 4px 0;
}
input.form-control {
	display: block;
	margin-top: 4px;
}
/* textbox */
.ws-multi-n1 input.form-control {
	width: 100%;
}
.ws-multi-n2 input.form-control,
.ws-multi-n3 input.form-control {
	width: 42em;
}

/* 質問アルファベットのみで解答欄を右に並べる */
.ws-type1 label {
	display: inline-block;
	width: 4em;
}
.ws-type1 .form-group.form-group-question.number-box label,
.ws-type2 .form-group.form-group-question.number-box label {
	clear: left;
}
.ws-type1 .col-md-10,
.ws-type1 .col-md-4 {
	width: calc(100% - 6em);
	padding: 0 0 8px;
}
/* その他 */
.ws-type3 {
	width: 100%;
}
.ws-type3 label {
	width: auto;
	padding-right: 12px;
}
.ws-type3 .control-label .left-label {
	display: none;
}

.sonota {
	padding-top: 0;
}
.sonota .col-md-2.control-label.left-label {
	width: auto !important;
	padding-right: 8px;
}

.pi-001 .form-group {
	padding: 0;
}
.pi-001 .form-group .control-label {
	padding: 0;
}

/* kakunin */

.panel-body {
	padding: 10px 15px;
}
.control-label {
	font-size: 16px;
	width: auto;
	min-width: 8em;
}

@media print, screen and (max-width:768px){
	.panel-body{
		padding: 5px 0px;
	}
	.panel-heading-page,
	.panel-body-page,
	.col-md-12,
	.col-md-6,
	.col-md-offset-2 {
		padding: 0;
	}

	.ws-multi-n2 .form-check-inline {
		width: calc(100% / 2);
	}

	.checkbox .form-check-inline,
	.radio .form-check-inline {
		padding: 5px 1em 5px 0px !important;
	}
	
	.control-label {
		font-size: 15px;
		padding-top: 16px;
	}
}
@media print, screen and (max-width:480px){
	.ws-multi-n1 .form-check-inline,
	.ws-multi-n2 .form-check-inline,
	.ws-multi-n3 .form-check-inline {
		width: 100%;
	}
	.col-md-10.col-md-offset-1 {
		padding: 0 5vw;
	}
	footer a {
		bottom: 30px;
	}
	
	.form-check-inline {
		font-size: 14px;
		padding: 4px 0;
	}
	.panel-heading h3 {
		padding: 10px 10px 8px 10px;
		font-size: 17px;
		line-height: 1.3;
	}
	.q .control-label {
		font-size: 16px;
	}
	.pi-001 label {
		font-size: 14px;
	}
}

@media print, screen and (min-width:769px){
	.pi-001 {
		margin: auto;
		padding: 4px 15px;
	}
	.pi-001 label {
		float: left;
		width: 8em;
	}
	.pi-001 .col-md-10 {
		float: left;
		width: calc(100% - 12em);
	}
	.ws-multi-n1 .form-check-inline {
		width: 100%;
	}
	.ws-multi-n2 .form-check-inline {
		width: calc(100% / 2 - 1px);
	}
	.ws-multi-n3 .form-check-inline {
		width: calc(100% / 3 - 1px);
	}

}