/******************
    User custom CSS for youvo_academic_blue
    ---------------

    In this file you can add your own custom CSS
    It will be loaded last, so you can override any other property.
    Also, it will never be updated. So if you inheritate a core template and just add here some CSS, you'll still benefit of all the updates
*/

body {
	padding-bottom: 0;
	padding-top: 40px;
	flex-direction: column;
	display: flex;
	min-height: 100vh;
	font-size: 16px;
	line-height: 180%;
}
body > article {
	flex: 1;
	padding-top: 1.5em;
}

div, ul, ol{
	box-sizing: border-box;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
	line-height: 130%;
	box-sizing: border-box;
}
#main-row h2{
	margin-bottom: 2em;
	padding: 0.5em 1em;
	background: #f4f9ff;
	border-top: solid #00a1e9 3px;
	border-bottom: solid #00a1e9 3px;
	font-size: 130%;
	font-weight: bold;
	text-align: center;
	color: #003f8e;
}
#main-row h3{
	margin-bottom: 1em;
	padding-left: 0.5em;
	border-bottom: solid #00a1e9 2px;
	font-size: 120%;
	font-weight: bold;
	color: #00a1e9;
}
#main-row h4{
	margin-bottom: 1em;
	padding-left: 0.5em;
	border-left: solid #fcc800 5px;
	font-size: 110%;
	font-weight: bold;
}
#main-row h4.modal-title {
	margin-bottom: 0;
}
#main-row h5{
	margin-left: 1em;
	padding-left: 0.5em;
	border-left: solid #fcc800 3px;
	font-size: 100%;
	font-weight: bold;
}
#main-row h6{
	margin-left: 1em;
	font-size: 100%;
	font-weight: bold;
}
#main-row p,
#main-row a{
	line-height: 180%;
	box-sizing: border-box;
}
#main-row p{
	margin-bottom: 1.5em;
	padding: 0 0.5em;
}

#main-row table{
	width: 95%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2em;
}

#main-row table th{
	padding: 0.5em;
	background: #efefef;
}

#main-row table td{
	padding: 0.5em;
}

@media screen and (min-width: 768px){
	#main-row p{
		margin-left: 1em;
	}
}

#main-row ul,
#main-row ol{
	margin-bottom: 2em;
	padding: 0 0.5em 0 1em;
}
#main-row ol{
	margin-left: 1em;
}

@media screen and (min-width: 768px){
	#main-row ul,
	#main-row ol{
		margin-left: 1em;
	}
}

#main-row li{
	margin-bottom: 1em;
	padding-bottom: 0.5em;
	border-bottom: dotted #00a1e9 1px;
	line-height: 180%;
}

#main-row ul li:before{
	content: "●";
	display: inline-block;
	padding-right: 0.3em;
	color: #fcc800;
	font-size: 150%;
}
#main-row ul li{
	padding-left: 0.7em;
	text-indent: -0.7em;
	list-style-type: none;
	/*border-left: solid #fcc800 2px;*/
	line-height: 180%;
	
}

/* YouTube 動画 */
#main-row .videodetector{
	position: relative;
	width: 80%;
	max-width: 990px;
	height: 0;
	padding-bottom: 45%; /* height */
	overflow: hidden;
	margin: 10px auto;
}
#main-row .videodetector iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	margin:0 auto;
}

/* Blockquote 引用 */
#main-row blockquote{
	position: relative;
	width: 95%;
	margin: 2em auto;
	border: solid 1px #ccc;
	borer-left: solid 5px #ccc;
	font-size: 90%;
}
#main-row blockquote:before{
	display: inline-block;
	position: absolute;
	top: -0.3em;
	left: -0.3em;
	content: "\f10d";
	font-family: FontAwesome;
	color: #cfcfcf;
	font-size: 180%;
	line-height: 1;
	font-weight: 900;
}
#main-row blockquote p{
	margin: 0;
}
#main-row img,
#main-row video{
	max-width: 100%;
	height: auto;
}

.note{
	font-size: 80%;
}
.note p{
	margin-bottom: 0.5em;
}

.contact{
	font-size: 80%;
}
.contact p{
	margin-bottom: 0.5em;
}

hr {
	width: 90%;
    margin: 0.3em auto;
    border: 0;
    border-top: 1px solid #ccc;
}

/* 改行 */
@media screen and (max-width: 767.9px){
	.br-pc { display:none; }
	.br-sp { display:block; }
}
@media screen and (min-width: 768px){
	.br-pc { display:block; }
	.br-sp { display:none; }
}

/* ////////////////////// Next button 次へボタン（同意ボタン）/ Prev button 戻るボタン ////////////////////// */
#navigator-container {
	width: 95%;
	padding-bottom: 0;
	marginm: 1em auto;
}
.navigator {
	margin: 2em 0 1em;
}
.navigator.row:after,
.navigator.row.row:before{
	display: block;
}
.navigator .ls-button-previous{
	padding-left: 2.5em;
	padding-right: 2.5em;
}
.navigator .ls-move-next-btn {
	padding-left: 2.5em;
	padding-right: 2.5em;
}

.navigator .btn-primary{
	background-color: #fcc800;
	border: solid #ffdc00 3px;
	color: #000;
	font-weight: bold;
}
.navigator .btn-primary:hover,
.navigator .btn-primary:active,
.navigator .btn-primary:focus{
	background-color: #ffdc00;
	border-color: #fcc800;
	outline: 0;
	color: #000;
}

.navigator .btn-default{
	background-color: #bbe2f1;
	border: solid #dbffff 3px;
	color: #000;
	font-weight: bold;
}
.navigator .btn-default:hover,
.navigator .btn-default:active,
.navigator .btn-default:focus{
	background-color: #bbe2f1;
	border-color: #a0d8ef;
	outline: 0;
	color: #000;
}

.lastQPage .navigator .text-left{
	width: 100%;
	clear: both;
	text-align: center;
}
.lastQPage .navigator .text-right{
	width: 100%;
	clear: both;
	text-align: center;
}

/* ////////////////////// Disagree button 非同意ボタン ////////////////////// */
#main-row .btn_disagreement{
	display: none; /* 非同意ボタンを使用する場合は、この行をコメントアウト */
	width: 95%;
	margin-top: 3em;
}
#main-row .btn_disagreement p{
	margin-left: 0;
	text-align: center;
}
#main-row .btn_disagreement a{
	display: block;
	width: 10em;
	margin: 0 auto;
	padding: 0.5em;
	background: #c0c6c9;
	border-radius: 0.5em;
	color: #000;
}

/* ////////////////////// Header ヘッダー ////////////////////// */

.navbar-default{
	background: #00a1e9;
	border: none;
	border-bottom: solid #002B69 3px;
	filter: drop-shadow( 0 2px 2px rgba(0,0,0,0.4));
	color: #fff;
}

.navbar-default .navbar-brand{
	color: #fff;
	font-size: 140%;
	line-height: 130%;
}

.navbar-default .navbar-brand:hover{
	color: #fff;
}

.navbar-default .navbar-inner{
	max-width: 1000px;
	margin: 0 auto;
	padding:0 15px;
}


@media screen and (max-width: 767.9px){
	.navbar-default .navbar-brand.logo-container.hidden-xs{
		display: block!important;
	}
}

@media screen and (min-width: 768px){
	.navbar-header{
		max-width: 60%;
	}
	.welcomePage .navbar-header{
		max-width: 100%;
	}
}

/* header nav */
#navbar{
	font-size: 80%;
}
.navbar-default .navbar-toggle{
	border-color: #fff;
	background: #89c3eb;
}
.navbar-default .navbar-toggle .icon-bar{
	background: #fff;
}

.navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover{
	background: #a0d8ef;
}
.navbar-default .navbar-collapse, .navbar-default .navbar-form{
	border-color: #000;
	background: #89c3eb;
}

@media screen and (min-width: 768px){
	.navbar-default .navbar-collapse, .navbar-default .navbar-form{
		background: transparent;
	}
}

.navbar-default .nav>li{
	text-align: right;
	border-top: solid #ccc 1px;
}
.navbar-default .nav>li:first-child{
	border: none;
}

.navbar-nav>li>a{
	padding-top: 5px;
	padding-bottom: 5px;
}
.nav>li>a{
	padding: 5px 5px;
}

.navbar-default .navbar-nav>li>a{
	color: #000;
}
.navbar-default .navbar-nav>li>a:hover{
	color: #ffff7a;
}

.navbar-default .navbar-nav>.open>a, 
.navbar-default .navbar-nav>.open>a:focus, 
.navbar-default .navbar-nav>.open>a:hover{
	color: #000;
	background-color: transparent;
}

.navbar-nav .open .dropdown-menu{
	font-size: 95%;
	text-align: right;
}

.navbar-nav .open .dropdown-menu li{
	border-top: solid 1px #fff;
}

.navbar-nav .open .dropdown-menu .bg-warning{
	background-color: transparent;
}

.top-container .space-col{
	margin-bottom: 0;
}


@media screen and (max-width: 767.9px){
	.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a, 
	.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus, 
	.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{
		font-size: 100%;
		color: #000;
	}
}

@media screen and (min-width: 768px){
	.navbar-default .nav>li{
		border-top: none;
	}
	.navbar-default .navbar-nav>li>a{
		color: #fff;
	 }
	.navbar-default .nav>li:first-child{
		padding-right: 0.5em;
		border-right: solid #fff 1px;
	}
	.navbar-default .navbar-nav>.open>a, 
	.navbar-default .navbar-nav>.open>a:focus, 
	.navbar-default .navbar-nav>.open>a:hover{
		color: #fff;
	}
	.navbar-nav>li>.dropdown-menu{
		border-radius: 0;
		background: #f7fcfe;
		border: none;
		color: #fff;
	}
	.dropdown-menu>.disabled>a, 
	.dropdown-menu>.disabled>a:focus, 
	.dropdown-menu>.disabled>a:hover{
		color: #fff;
	}
	.navbar-nav .open .dropdown-menu li{
		border-top: none;
		border-bottom: dotted #fff 1px;
	}
	.dropdown-menu>.disabled>a, 
	.dropdown-menu>.disabled>a:focus, 
	.dropdown-menu>.disabled>a:hover{
		color: #223a70;
	}
}

/* progress bar 進捗バー */
@media screen and (min-width: 768px){
	.top-container{
		max-width: 1000px;
		margin: 0 auto;
		padding: 0 15px;
	}
	.container-fluid{
		padding-left: 0;
		padding-right: 0;
	}
}

/* ////////////////////// Content ////////////////////// */
.container{
	width: 100%;
	max-width: 1000px;
}
#main-row{
	max-width: 1000px;
	margin: 0 auto;
}

.alert-warning{
	color: #b7282e;
	background-color: #efefef;
	border-color: #ee827c;
}

/* ///////////////// Welcome Page ///////////////// */
.text-primary{
	color: #000;
}

#welcome-container .survey-name{
	display: none;
}

.welcomePage #navigator-container .text-left{
	display: none;
}

.welcomePage #navigator-container .col-xs-6.text-right{
	width: 100%;
	text-align: center;
}

/* navbar */
.welcomePage .navbar-action-link{
	display: none;
}

.welcomePage .survey-name,
.welcomePage .survey-description {
	display: none;
}
#welcome-container .survey-welcome{
    margin-bottom: 0;
}
#welcome-container .description{
    margin-bottom: 0;
}
.welcomePage .number-of-questions.text-muted{
     display: none;
 }

@media only screen and (max-width: 767.98px) {
	.welcomePage .navbar-toggle{
		display: none;
	}
	.welcomePage p{
		max-width: 95%;
		margin-left: auto;
		margin-right: auto;
	}
	.welcomePage #outerframeContainer.container{
		margin-top: 0px;
	}

}

#welcome-container div{
	margin-bottom: 2em;
}

/* Number of questions 設問数 */
.number-of-questions{
	margin-bottom: 1.5em;
	border: solid 1px #ccc;
	text-align: center;
}
#welcome-container .question-count-text{
	margin-bottom: 0;
}

/* Data Policy データポリシー */
.privacy{
	font-size: 90%;
}
.privacy .control-label{
	display: inline;
}
.privacy .control-label a:after{
	content: " ";
	display: inline-block;
	left: 0.5em;
	width: 0.8em;
	height: 0.8em;
	margin-left: 0.5em;
	margin-bottom: 0.2em;
	border-left: 3px solid #fcc800;
	border-top: 3px solid #fcc800;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}
.privacy-block .limit-text-window{
	border: 1px solid #ccc;
}
.privacy-block .control-label{
	display: block;
	margin-top: 1em;
	margin-left: 0.5em;
	font-size: 120%;
}
.privacy-block .control-label input[type="checkbox"]{
	transform:scale(1.3);
	margin-right: 0.8em;
}
.privacy-block .alert-dismissible{
	margin-top: 1em;
}

/* contact_box お問い合わせ表示 */
.contact_box {
	display: none;
}
.welcomePage .contact_box,
.completedPage .contact_box{
	display: block;
	width: 90%;
	margin: 2em auto 0;
	font-size: 0.8em;
}
.welcomePage .contact_box h4,
.completedPage .contact_box h4{
	font-size: 0.9em;
	font-weight: bold;
	margin-bottom: 0.5em;
	padding-left: 0.5em;
	border-left: solid 3px #ccc;
}
.welcomePage .contact_box p,
.completedPage .contact_box p{
    line-height: 150%;
}
.welcomePage .contact_box h4 + p,
.completedPage .contact_box h4 + p{
	padding-left: 1.5em;
	font-size: 0.9em;
}


/* ///////////////// Survey Page ///////////////// */

.surveyPage #main-row div{
	margin-bottom: 1em;
}

/* ////////// queation group ////////// */
.group-title{
	width: 100%;
	margin: 0 auto;
	background: #45b0ce;
	padding: 0.5em 0.5em;
	font-size: 120%;
	font-weight: bold;
	color: #fff;
	border: none;
}

.group-description.row.well {
	width: 100%;
	margin: 0 0 3em;
    min-height: 20px;
    padding: 0.5em 1em;
    background-color: #fff;
    border: none;
	border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
	border: solid #45b0ce 3px;
}

/* ////////// queation text ////////// */
.question-container{
	margin-bottom: 3em!important;
	background: #fff;
	border: none;
	/*border: solid #efefef 1px;*/
	border-bottom: solid #ccc 2px;
}
.question-container:last-child{
	margin-bottom: 1em!important;
}

.question-title-container{
	margin-bottom: 0!important;
	background: #efefef;
	padding: 0.5em 1em 0.5em 0;
	border-left: solid #45b0ce 5px;
}

/* question code */
.question-number, 
.question-code,
.sub_qcode{
	margin-right: 0.5em;
	padding-right: 0.5em;
	font-weight: bold;
	color: #45b0ce;
	border-right: solid #fcc800 2px;
}
.question-text .qBox{
	display: flex;
	padding-right: 1em;
}
.question-text .qcode{
	margin-bottom: 0!important;
	padding-right: 0.8em;
	font-weight: bold;
	color: #45b0ce;
	border-right: solid #fcc800 2px;
    white-space: nowrap;
}
.question-text .qcode p{
	margin-left: 0!important;
}
.question-text{
	margin: 0!important;
	padding-left: 2.2em;
}
.question-text .ls-label-question{
	margin: 0!important;
}
.question-text p{
	margin-bottom: 0.5em!important;
}
.question-text p:last-child{
	margin-bottom: 0!important;
}

.surveyPage #main-row div.asterisk{
	width: 95%;
	margin-left: auto;
	margin-bottom: 0;
	border-top: solid #ccc 1px;
	font-size: 90%;
	font-weight: bold;
	text-align: right;
}

@media screen and (min-width: 768px){
	.question-text{
		padding-left: 1.5em;
	}
	.surveyPage #main-row div.asterisk{
		width: 100%;
	}
}

/* ////////// other text その他のテキスト ////////// */

.otherText.question-container{
    margin-top: -5.5em;
    background: none;
    padding-left: 3em;
    border-top: solid 1px #fff!important;
    background: #fff;
}

.otherText .question-title-container{
    width: 90%;
    background: none;
    border-left: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
}

.otherText .question-code{
	display: none;
}

.otherText .question-text{
	padding-left: 0;
}

.otherText.question-container + .question-container{
	
}

@media screen and (max-width: 767.9px){	
    .otherText .question-title-container{
         width: 95%;
    }
    .otherText .answer-container{
        width: 100%;
    }
    .question-container.row.otherText{
        margin-bottom: 0;
    }
}

.surveyPage #main-row .otherText .answer-container{
    width: 90%;
    padding-top: 0!important;
}

/* ////////// help text ////////// */
.surveyPage #main-row .question-help-container,
.surveyPage #main-row .question-valid-container{
	margin-bottom: 0;
	background: #efefef;
	border-top: solid #fff 3px;
	color: #333;
}

.surveyPage #main-row .question-valid-container{
	background: #f7fcfe;
}

.surveyPage #main-row .ls-questionhelp,
.surveyPage #main-row .ls-question-help{
	margin-top: 0.3em!important;
	margin-bottom: 0.3em!important;
	font-size: 80%;
}
.ls-questionhelp:before,
.fa-exclamation-circle:before{
	color: #f39800;
}
.surveyPage #main-row .ls-question-help .ls-em-success{
	margin-bottom: 0;
}

@media screen and (min-width: 768px){

}

/* ////////// answers ////////// */
.ls-answers{
	padding: 1em 0;
}
#main-row .answer-container .ls-timer-countdown,
#main-row .answer-container .ls-timer-warning,
#main-row .answer-container .ls-timer-message{
	margin-top: 0.5em;
}
#main-row .answer-container ul,
#main-row .answer-container ol{
	margin-bottom: 0;
	padding: 0;
	border: none;
}

#main-row .answer-container li{
	margin-bottom: 0;
	padding-bottom: 0.5em;
	border-bottom: none;
	line-height: 180%;
}

#main-row .answer-container ul li:before{
	content: none;
	display: none;
}
#main-row .answer-container ul li{
	padding-left: 0;
	text-indent: 0;
	list-style-type: none;
	line-height: 180%;
}

#main-row .answer-container ul li:before{
	content: none;
	display: none;
}

@media screen and (min-width: 768px){
	.ls-answers{
		padding-left: 1em;
	}
	#main-row .answer-container ul.col-sm-6{
		width: 48%;
	}
	#main-row .answer-container ul li{
		padding-left: 0.7em;
		text-indent: -0.7em;
	}
}
.surveyPage #navigator-container {
	margin-top: 0;
}

/* //////////// answer //////////// */
.surveyPage #main-row .answer-container{
	margin: 0;
	padding-top: 1em;
	padding-bottom: 1em;
}
.surveyPage #main-row .answer-container div{
	margin: 0;
}

/* //////////// radio ラジオボタン //////////// */
.ls-answers.radio-list {
	padding-left: 1.5em;
}

.radio-list li{
	margin-right: 0;
}

.radio-item label::before{
	width: 20px;
	height: 20px;
	margin-left: -25px;
	top: 2px;
}
.radio-item label::after{
	width: 12px;
	height: 12px;
	left: 3px;
	top: 6px;
	margin-left: -24px;
	border-radius: 50%;
	background-color: #007bbb;
	outline: 0;
}
.radio-item input[type="radio"]:focus + label::before{
	outline: none;
}

.answer-item.radio-text-item.form-inline{
	display: flex;
}
.surveyPage #main-row .answer-container .form-group.othertext-label-checkox-container.radio-item{
	display: block;
}
.surveyPage #main-row .answer-container .form-group.othertext-label-checkox-container.radio-item label{
	display: block;
	position: relative;
	left: -1.2em;
}
.surveyPage #main-row .answer-container .form-group .input-sm{
	height: 2em;
	font-size: 100%;
}

@media screen and (min-width: 768px){
	.ls-answers.radio-list{
		margin-left: 2em;
	}
	.radio-item label::before{
		margin-left: -35px;
	}
	.radio-item label::after{
		margin-left: -34px;
	}
	.surveyPage #main-row .answer-container .form-group.othertext-label-checkox-container.radio-item label{
		position: relative;
		left: -2em
	}
}

/* //////////// pulldown プルダウン //////////// */
.form-control.list-question-select{
	font-size: 100%;
}

/* //////////// radio(5point) 5点尺度 //////////// */
.choice-5-pt-radio .ls-answers.form-inline{
	padding-left: 3em!important;
}

@media screen and (min-width: 768px){
	.choice-5-pt-radio .ls-answers.form-inline{
		padding-left: 5em!important;
	}
}

.choice-5-pt-radio .form-inline  li{
	width: 18%;
	margin-right: 0;
	padding-left: 0;
}

.choice-5-pt-radio .form-inline li.noanswer-item {
	width: 6em;
	display: block;
	text-align: left;
}

/* star */
.choice-5-pt-radio .star-cancel.star-rated-on{
	color: #a12424;
}

.choice-5-pt-radio .stars-list{
	width: 95%;
	display: flex;
}

.choice-5-pt-radio .stars-list .star-rating{
	width: 20%;
	text-align: center;
	font-size: 1.5em;
	line-height: 100%;
	cursor: pointer;
	display: block;
	float: none;
	height: 1em;
}
/* slider */
.surveyPage #main-row .choice-5-pt-radio #emoji_slider_container_470.slider-wrapper {
	margin-left: auto!important;
	margin-right: auto!important;
	position: relative;
	top: 2em;
}
.choice-5-pt-radio .slider-line{
	background: #888;
}

@media screen and (max-width: 767.9px){
	div#emoji_slider_grab_container_470{
		position: relative;
		top: 1em;
		left: 0.2em;
	}
}


/* //////////// select image 画像選択 //////////// */
.selectImage .checkbox-item, 
.selectImage .radio-item {
	position: relative;
	display: inline-block !important;
	margin-right: 0;
	padding-left: 0;
}

.selectImage .ls-answers.radio-list{
	padding-left: 0;
}

#main-row .selectImage .answer-container ul li{
	max-width: 48%;
}

@media screen and (min-width: 768px){
	#main-row .selectImage .answer-container ul li{
		max-width: 30%;
	}
}

#main-row .selectImage .answer-container ul li{
	text-indent: 0;
}

.selectImage .checkbox-item label, 
.selectImage .radio-item label {
	box-sizing: border-box;
	padding-left: 0;
	border: solid 5px #fff;
}

.selectImage .checkbox-item input[type="checkbox"]:checked + label, 
.selectImage .radio-item input[type="radio"]:checked + label {
	box-sizing: border-box;
	border: solid 5px #ff0043;
}
.selectImage .checkbox-item label::before, 
.selectImage .radio-item label::before {
	visibility: hidden;
}
.selectImage .checkbox-item input[type="checkbox"]:enabled + label::before, 
.selectImage .radio-item input[type="radio"]:enabled + label::before,
.selectImage .checkbox-item input[type="checkbox"]:disabled + label::before, 
.selectImage .radio-item input[type="radio"]:disabled + label::before{
	visibility: hidden;
}
.selectImage .checkbox-item input[type="checkbox"]:checked + label::before, 
.selectImage .radio-item input[type="radio"]:checked + label::before {
	visibility: hidden;
}
.selectImage .checkbox-item input[type="checkbox"]:checked + label::after, 
.selectImage .radio-item input[type="radio"]:checked + label::after {
	visibility: hidden;
}
.selectImage .checkbox-item input[type="checkbox"]:enabled + label::after, 
.selectImage .radio-item input[type="radio"]:enabled + label::after,
.selectImage .checkbox-item input[type="checkbox"]:disabled + label::after, 
.selectImage .radio-item input[type="radio"]:disabled + label::after{
	visibility: hidden;
}
.selectImage .radio-item.no-anwser-item label{
	padding: 1em;
	background: #ccc;
}

/* //////////// checkbox チェックボックス //////////// */
.ls-answers.checkbox-list {
	padding-left: 2em;
}
.checkbox-item input[type="checkbox"]:checked + label::after, 
.checkbox-item input[type="radio"]:checked + label::after{
	content: " ";
}
.checkbox-item label::before{
	width: 20px;
	height: 20px;
	margin-left: -35px;
	top: 2px;
	border-color: #666;
}
.checkbox-item label::after{
	width: 14px;
	height: 14px;
	left: 1px;
	top: 5px;
	margin-left: -33px;
	background-color: #007bbb;
}

.checkbox-item input[type="checkbox"]:active{
	outline: 0;
}

.checkbox-item input[type="checkbox"]:focus + label::before{
	outline: none;
}

@media screen and (min-width: 768px){
	.checkbox-item label::before{
		margin-left: -35px;
		top: 2px;
	}
	.checkbox-item label::after{
		left: 1px;
		top: 5px;
		margin-left: -33px;
	}
}

/* //////////// multiple 配列 //////////// */
.array-flexible-row .question-number,
.array-flexible-row  .question-code{
	display: none;
}

.array-flexible-row .answer-container.col-xs-12{
	padding-left: 0;
	padding-right: 0;
}

#main-row table.ls-answers{
	margin-top: 1em;
	margin-bottom: 1em;
}

#main-row .table-bordered{
	border: none;
}
#main-row .table-bordered>tbody>tr>td, 
#main-row .table-bordered>tbody>tr>th, 
#main-row .table-bordered>tfoot>tr>td, 
#main-row .table-bordered>tfoot>tr>th, 
#main-row .table-bordered>thead>tr>td, 
#main-row .table-bordered>thead>tr>th{
	border: none;
}
#main-row .table-bordered>tbody>tr>td{
	border-bottom: dotted #ccc 1px;
	padding-left: 30px;
}

#main-row table.ls-answers thead th{
	background: #e8ece9;
	vertical-align: top;
}
.ls-answers .ls-heading>th{
	vertical-align: top;
}
#main-row table.ls-answers tbody .ls-heading th{
	background: #e8ece9;
	vertical-align: top;
}

#main-row table.ls-answers td .label_text{
	display: inline-block;
	padding-bottom: 0;
	text-align: left;
	vertical-align: text-top;
	font-size: 90%;
	color: #00a1e9;
}

#main-row table.ls-answers td.answer-item.radio-item{
	text-align: center;
}

@media screen and (max-width: 767.9px){
	.dir-ltr table.ls-answers .radio-item label.ls-label-xs-visibility::after,
	.dir-ltr table.ls-answers .checkbox-item label.ls-label-xs-visibility::after{
		margin-left: -19px!important;
	}
	#main-row table.ls-answers td .label_text{
		padding-left:0.5em;
		font-size: 100%;
		color: #000;
	}
	#main-row table.ls-answers td.answer-item.radio-item{
	    text-align: left;
	}
}

@media screen and (min-width: 768px){
	#main-row .table-bordered{
		border: 1px solid #888;
	}
	#main-row .table-bordered>tbody>tr>td, 
	#main-row .table-bordered>tbody>tr>th, 
	#main-row .table-bordered>tfoot>tr>td, 
	#main-row .table-bordered>tfoot>tr>th, 
	#main-row .table-bordered>thead>tr>td, 
	#main-row .table-bordered>thead>tr>th{
		border: 1px solid #888;
	}
	#main-row table.ls-answers thead th .label_text,
	#main-row table.ls-answers tbody .ls-heading th .label_text{
		display: block;
		padding-bottom: 0.3em;
		text-align: left;
		font-size: 85%;
		color: #00a1e9;
	}
	#main-row table.ls-answers tbody .radio-item label::before{
		margin-left: 0!important;
	}
	#main-row table.ls-answers tbody .radio-item label::after{
		left: 4px;
		margin-left: 0!important;
	}
}

#main-row table.ls-answers tbody th.answertext{
	background: #ebf6f7;
	text-align: left;
	line-height: 180%;
}

.dir-ltr .ls-answers td.radio-item, 
.dir-ltr .ls-answers td.checkbox-item{
	vertical-align: middle;
}
.radio-item .ls-label-xs-visibility,
.checkbox-item .ls-label-xs-visibility{
	width: 22px;
	height: 22px;
	line-height: 24px;
	text-indent: 24px;
}
.radio-item label::before{
	border-color: #666;
}

/* //////////// yes-no はい・いいえ //////////// */
.yes-no .answer-container ul .btn-primary:nth-child(2){
	/*filter: brightness(80%);*/
}
.yes-no .answer-container ul .btn-primary.active{
	background: #f39800;
	filter: brightness(100%);
	border: none;
}

/* //////////// upload ファイルアップロード //////////// */
.upload-files .upload-item{
	
}
.upload-files .upload-item .upload-button a{
	margin-bottom: 1em;
}
#main-row .uploadedfiles{
	margin-left: 0;
	margin-right: 0;
}

.surveyPage #main-row .answer-container .file-upload-modal div{
	margin-bottom: 1em;
}

.answer-container .file-upload-modal .btn-danger{
	margin-left: 1em;
	padding-left: 2.5em;
}


@media screen and (max-width: 767.9px){
	.surveyPage #main-row .answer-container .file-upload-modal .modal-dialog div{
		display: block!important;
		width: 90%;
		margin: 1em auto;
	}
	.surveyPage #main-row .answer-container .file-upload-modal .modal-dialog .modal-content div{
		width: 99%;
	}
	.surveyPage #main-row .answer-container .file-upload-modal .modal-dialog div.hidden{
		display: none!important;
	}
	.file-upload-modal::before,
	.modal:before{
		height: 20vh!important;
	}
	.upload-files .uploadedfiles thead{
		display: none;
	}
	.uploadedfiles tbody tr td{
		display: block;
		width: 100%;
		border-bottom: solid 1px #ccc;
	}
	.upload-files .uploadedfiles .title:before{
		content: "題名:";
		display: inline-block;
		font-weight: bold;
		margin-right: 0.5em;
	}
	.upload-files .uploadedfiles .comment:before{
		content: "コメント:";
		display: inline-block;
		font-weight: bold;
		margin-right: 0.5em;
	}
	.upload-files .uploadedfiles .edit:before{
		content: "ファイル名:";
		display: inline-block;
		font-weight: bold;
		margin-right: 0.5em;
	}
}

/* //////////// text テキスト入力 //////////// */
/* 数字のみ入力に設定 */
.numberonly .ls-input-group {
    display: flex;
    flex-direction: row;
}
.numberonly .ls-input-group .suffix-text.suffix{
    padding-left: 1em;
}

/* //////////// numeric 数字入力 //////////// */
.numeric .withsuffix.ls-input-sized .ls-input-group{
	display: flex;
}

.numeric .withsuffix.ls-input-sized .ls-input-group .suffix-text{
	padding-left: 0.5em;
}
.numeric .withsuffix.ls-input-sized .ls-input-group-extra{
	line-height: inherit;
}

/* numeric-multi 数字入力（複数） */
.surveyPage #main-row .numeric-multi .number-list .numeric-item{
	margin-top: 0.8em;
}

/* slider スライダー */
.surveyPage #main-row .numeric-multi .slider-container{
	padding-right: 10%;
}
.surveyPage #main-row .numeric-multi .slider.slider-horizontal{
	margin-top: 2.2em;
	padding-top: 0;
	margin-right: 3em;
}
.numeric-multi .slider-list .slider-item .control-label{
	margin-top: 2em;
	font-weight: bold;
}
.numeric-multi .slider_textBox .slider-left.text-right{
	color: #45b0ce;
}
.numeric-multi .slider_textBox .slider-right.text-left{
	color: #45b0ce;
}
.numeric-multi .slider-track{
	background: #ddd;
}
.numeric-multi .slider-selection{
	background: #0095d9;
	border-radius: 4px 0 0 4px;
}
.numeric-multi .slider.slider-horizontal .slider-tick, 
.numeric-multi .slider.slider-horizontal .slider-handle{
	margin-left: -10px!important;
	background: #f6ad49;
	position: relative;
    top: 5px;
}
.surveyPage #main-row .numeric-multi .answer-container .slider .tooltip.top{
	margin-top: -36px;
	margin-left: -5px!important;
}
.numeric-multi .tooltip-inner{
	
}
.numeric-multi .slider-container .pull-left,
.numeric-multi .slider-container .pull-right{
	
}
.surveyPage #main-row .answer-container .ls-input-group-extra.ls-input-group-reset{
	margin-top: 2.5em;
	text-align: right;
}

@media screen and (min-width: 768px){
	.surveyPage #main-row .answer-container .ls-input-group-extra.ls-input-group-reset{
		padding-top: 2.5em;
	}
	.surveyPage #main-row .numeric-multi .slider_textBox .slider-container{
		width: 90%;
		padding-right: 0;
	}
	.numeric-multi .slider_textBox .slider-left.text-right{
		width: 45%;
		text-align: left;
		font-size: 85%;
		color: #45b0ce;
	}
	.numeric-multi .slider_textBox .slider-right.text-left.visible-xs-block{
		display: block!important;
		width: 45%;
		font-size: 85%;
		text-align: right;
		color: #45b0ce;
	}
	.numeric-multi .slider_textBox .slider-right.text-left.hidden-xs{
		display: none;
	}
}

#main-row .numeric-multi .answer-container ul li{
	text-indent: 0;
	border-bottom: solid #ccc 2px;
}
#main-row .numeric-multi .answer-container ul li:last-child{
	border-bottom: none;
}

/* //////////// ranking（ランキング） //////////// */
#main-row .ranking .sortable-choice{
	border: 2px solid #888!important;
}
#main-row .ranking .sortable-choice .sortable-item{
	padding-left: 0.5em;
	border: 1px solid #888!important;
}

@media screen and (min-width: 768px){
	#main-row .ranking .sortable-choice .sortable-item{
		padding-left: 1.5em;
	}
}
#main-row .ranking .sortable-choice .sortable-item:after{
	content: " ";
	display: inline-block;
	margin-right: 0.5rem;
	border-style: solid;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 9px solid #fcc800;
	color: transparent;
}
#main-row .ranking .sortable-rank{
	border: solid #45b0ce 2px!important;
}
#main-row .ranking .sortable-rank .sortable-item{
	padding-left: 0.5em;
	border: 1px solid #45b0ce!important;
}
@media screen and (min-width: 768px){
	#main-row .ranking .sortable-rank .sortable-item{
		padding-left: 1.5em;
	}
}

/* //////////// array flexible dual scale 二元スケール//////////// */
#main-row .array-flexible-dual-scale table.ls-answers thead th:empty,
#main-row .array-flexible-dual-scale table.ls-answers thead td:empty,
#main-row .array-flexible-dual-scale .answer-container .header_separator,
#main-row .array-flexible-dual-scale .answer-container .dual_scale_separator {
	background: #fff!important;
	border: none!important;
}

/* //////////// array flexible dual scale 二元スケール//////////// */
#main-row .text-short .answer-container .geoname_search{
	margin-bottom: 1em;
}
#main-row .text-short .answer-container .geoname_search + .form-inline{
	margin-bottom: 1em;
}

/* //////////// only text //////////// */
/* Enter "onlyText" in the "CSS Class" field of the question setting. */
.onlyText.question-container{
	border: none;
}
.onlyText .question-title-container{
	background: #f7f6f5;
	border: none;
}
.onlyText .question-number, 
.onlyText .question-code{
	display: none;
}


/* ////////////////////// SSL Message ////////////////////// */
#ssl-message{
	width: 90%;
	margin: 0.5em auto;
	font-size: 80%;
	text-align: center;
}

/* ////////////////////// Footer ////////////////////// */

#footer{
	flex: 1;
	padding-top: 10px;
	background-color: #00a1e9;
	border-top: solid #002B69 3px;
	color: #fff;
	text-align: center;
	font-size: 85%;
}
#footer .youvo_link{
	font-size: 80%;
	text-align: center;
	border-top: solid 1px #fff;
}
#footer .youvo_link a{
	color: #fff;
	border-bottom: dotted 1px #fff;
}

#footer .br-pc{
	display: none;
}

/* ////////////////////// Error ////////////////////// */

.errorPage #block_error{
	width: 100%;
	height: auto;
	margin: 0;
	padding: 1em;
	background-image: none;
	border: none;
	border-radius: 0;
}

.errorPage .navbar-inner p{
	margin-top: 1em;
	text-align: center;
	color: #fff;
}

#block_error div{
	padding: 0;
}

.errorPage #footer{
	color: #fff;
}
.errorPage #footer .copyBox{
	display: none;
}

.errorPage #footer .youvo_link{
	padding: 0.5em;
	border: none;
	font-size: 80%;
	color: #fff;
}

/*  回答完了済画面  */
.error_yet .message-0{
	margin-bottom: 5em;
}
.error_yet .message-0 + p{
	display: none;
}
