/* ★★ようこそページ】★*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Mono+JP&display=swap');

.prefix {
    font-family: 'Noto Sans Mono JP', monospace;
}

/* 上端バー（上端バーの色変更を追加） oguma*/
.fruity .navbar {
    background-color: #191970 !important;
}

/* ページ全体 */
#welcom-container{
    color: black ;  /* 黒 */  
/*    color: #328637; */ /* デフォルトの sea green の場合のフォント色 */
}

/* アンケートタイトル */
h1.survey-name{
/*    color: #328637;*/ /* sea green */
    text-align:left;
    font-size: 30px; /* フォントサイズ */
    margin-bottom: 28px; /* 段落後 */
}


/* 説明 */
div.survey-description > p{
    text-align: right; /* 左揃え */
    text-indent: 1em; /* 字下げ */
    color: #000; /* フォント色 */
    font-size: 18px; /* フォントサイズ */
    line-height:1.5; /* 行高 */
}

/* 実施主体名 */
div.survey-description > p{
    text-align: right; /* 右揃え */
    text-indent: 0; /* 字下げ */
}

/* ようこそメッセージ（記入上の注意） */
div.survey-welcome {
    /*color: #000;  フォント色 */
    font-size: 22px;
    margin-top:30px;
    font-weight: 400 !important;
    /*line-height:140%; 行高 oguma*/
}
div.survey-welcome > ol > li,div.survey-welcome > p{
    color: black; /* フォント色 */
    font-size: 17px;
    line-height:1.5; /* 行高 */
}
div.survey-welcome > p{
    margin-top:1.5em;
    
}
/* ★★アンケート本体★★ */

/* 小見出し 【CSSクラス lrc_sub_title】*/
.row.boilerplate.question-container.lrc_sub_title{
    border: none;
    box-shadow: none;
    margin-bottom:0;
}
.lrc_sub_title > div{
    padding-bottom:0.2em;
    padding-left:0;
}
.lrc_sub_title .question-text .ls-label-question{
    font-size:110%;
}

/* 質問文 */
div.ls-label-question{
    font-size: 16px; /* フォントサイズ */
}
/* 質問文（ヘルプ）と選択肢リストの間 */
div.answer-container{
    padding-top:0;
}
div.ls-answers{
    padding-top:0;   
}

/* 選択肢間 for ver.6 */
label{
    margin-bottom:3pt;
    line-height:19px;
}

/* 選択肢群の下を詰める for ver.6 */
.list-radio .ls-answers, .multiple-opt .ls-answers{
    padding-bottom:0;
}


/* 質問文　自由回答 */
/*.row.text-long.question-container > .question-title-container.col-xs-12 > .question-text > .ls-label-question {
    text-indent: 0;
    margin-left: -2em;
    width:100%;
}*/

/* 質問文下の注記 */
.question-title-notes{
    font-size:90%;
    margin-left:4em;
    margin-right:1em;
    border: dashed 1px black;
    padding-top:0.5em;
    padding-left:0.5em;
}
.question-title-notes > p{
    margin-left:7em;
    text-indent:-7em;
    line-height:1.2em;
    margin-bottom:0.5em;
}

/* ラジオボタン */
.answer-item.radio-item{
    margin-bottom: 0;
}
/* チェックボックス */
.answer-item.radio-item,.answer-item.checkbox-item{
    margin-bottom: 0;
    padding-top:0;
}

/* ラジオボタンとチェックボックスを複数列に分割した場合、スマホで段落間隔を0にする */
@media only screen and (max-width: 801px){
    div.row.question-container > div.answer-container.col-12 > div.ls-answers.answers-list.row > ul.list-unstyled.col-12{
        margin-bottom:0;
    }
}

/* その他（短いテキスト）と本設問の間隔を狭く【CSSクラス lrc_other】 */
div.row.text-short.question-container.lrc_other{
    margin-top:-20px;    
}

/* その他（短いテキスト）と本設問の間隔を狭く ※cssクラス設定なしでも有効にする */
.row.multiple-opt.question-container + .row.text-short.question-container, .row.list-radio.question-container + .row.text-short.question-container, .row.ranking.question-container + .row.text-short.question-container, .row.list-dropdown.question-container + .row.text-short.question-container{
    margin-top:-30px;    
    border-top: 0;
}
/* その他以外の短いテキストは上の設問との間隔を狭くしない【CSSクラス lrc_not_other】 */
.row.multiple-opt.question-container + .row.text-short.question-container.lrc_not_other, .row.list-radio.question-container + .row.text-short.question-container.lrc_not_other, .row.ranking.question-container + .row.text-short.question-container.lrc_not_other, .row.list-dropdown.question-container + .row.text-short.question-container.lrc_not_other{
    margin-top:0;    
    border-top: 1px solid #e6e6e6;
}

/* サブクエスチョン（テキスト表示＋複数の質問） 【CSSクラス lrc_sbqstn-ttl】*/
  /* タイトル（テキスト表示） */
div.row.boilerplate.question-container.lrc_sbqstn-ttl{
    box-shadow: none;
    border-bottom: none;
    margin-bottom: 0;
}
div.row.boilerplate.question-container.lrc_sbqstn-ttl > div.question-title-container{
    padding-bottom: 0;
}
  /* サブクエスチョン（中間） 【CSSクラス lrc_sbqstn】*/
div.row.question-container.lrc_sbqstn {
    border-bottom: none;
    border-top:none;
    box-shadow: none;
    margin-bottom: 0;
}
div.row.question-container.lrc_sbqstn > div.question-title-container{
    padding-top: 0;
}
div.row.question-container.lrc_sbqstn > div.answer-container > div.ls-answers{
    padding-bottom: 0;
}

  /* サブクエスチョン（中間）順位付けのドロップダウンで質問の検証式を設定 【CSSクラス sbqstn_cdn】*/
div.row.question-container.lrc_sbqstn.input-error {
    box-shadow: 0 10px 20px rgba(169,68,66,0.9);
    margin-top: 0.2em;
    margin-bottom: 0.2em;
}

/*div.row.question-container.lrc_sbqstn div."ls-answers.answer-item.dropdown-item.form-group{
    width: 50%;
}*/

  /* サブクエスチョン（最後）【CSSクラス lrc_sbqstn-last】 */
div.row.question-container.lrc_sbqstn_last{
    border-top:none;
}

/* 質問間の間隔をなくす（すべて選択→最大のもの、など）【CSSクラス lrc_no_v_margin_t】 */
/* 上 */
.question-container.lrc_no_v_margin_t{
    margin-bottom:0;
    border-bottom:none;
}
/* 下【CSSクラス lrc_no_v_margin_b】 */
.question-container.lrc_no_v_margin_b{
    border-top:none;
}
.question-container.lrc_no_v_margin_b > .question-title-container{
    padding-top:0;
}

/* 質問間の間隔をなくす※下の質問が条件によって消える場合【CSSクラス lrc_no_v_margin_t2】 */
/* 上 */
.question-container.lrc_no_v_margin_t2{
    border-bottom:none;
}
/* 下【CSSクラス lrc_no_v_margin_b2】 */
.question-container.lrc_no_v_margin_b2{
    margin-top: -30px;
    border-top:none;
}

/* 配列 */
  /* 表側ラベル */ 
.row.array-flexible-row.question-container > div.answer-container table tbody th.answertext,.row.array-flexible-dual-scale.question-container > div.answer-container > table tbody th.answertext{
    text-align:left;
    /*text-indent: -1.1em;
    margin-left:1.1em;
    padding-left:1.6em;*/
}
  /* 表頭ラベル */ 
/*.row.array-flexible-row.question-container > div.answer-container > table > thead > tr.ls-heading > th.answertext{
    font-weight:normal;
}*/
.ls-answers .ls-heading th {
    font-weight: normal;
    vertical-align:middle;
}
/* for ver.6 */
.table>:not(:first-child)  {
    border-color:inherit;
    border-width:inherit;
}
/* ラジオボタン/チェックボックスの上下位置 */
div.row.question-container table.ls-answers td.radio-item, div.row.question-container table.ls-answers td.checkbox-item {
    padding-top: 5px;
    padding-bottom: 0;
    vertical-align: middle;
}

/* 配列の「全体」の文字を濃く【CSSクラス color_sum_array】 */
td.total.information-item > input.form-control[disabled]{
    color: #636363;
   background-color: #f5f5f5;
   opacity: 1;
}

/* ★★スマホ版のみに適用 ★★*/
@media only screen and (max-width: 801px){
    /* 必須（アスタリスク） */
    .fa-asterisk:before{
        margin-left: 1.2em;
    }
    /* 全体的に幅を調整 */
    .row.question-container{
        margin-left: -6px;
        margin-right: -6px;
    }
/*    .row.array-flexible-row.question-container > div.answer-container > table tbody th.answertext{
        text-indent: -1.1em;
        margin-left:0;
    }*/
    /* 配列 */
    div.row.question-container table.ls-answers td.radio-item, div.row.question-container table.ls-answers td.checkbox-item {
        min-height: 32px;
    }
    div.row.question-container table.ls-answers td.radio-item > label, div.row.question-container table.ls-answers td.checkbox-item > label{
        margin-left: 6px
    }
    /* 配列でタップした項目を色線で囲む */
    .table-hover > tbody > tr:hover{
        /* border:2px solid #328637; */
    }
    /* 左右には見出さないように最大幅を設定 */
    #outerframeContainer{
        max-width:100%;
    }
    /* 数値欄の接頭語接尾語を同じ行に */
    .text-item.numeric-item .form-control.numeric{
        /*width:70%;*/
        display:inline;
    }
    .text-item.numeric-item .prefix-text,.text-item.numeric-item .suffix-text{
        display:inline;
    }
    .text-item .withprefix .form-control, .text-item .withsuffix .form-control{
        /*width:70%;*/
        display:inline;
    }
    .text-item .withprefix input[type="text"], .text-item .withsuffix input[type="text"]{
        width:60%;
    }
    .text-item .withprefix .prefix-text,.text-item .withsuffix .suffix-text{
        display:inline;
    }

}

/* 印刷時の設定 */
@media print{
  .navbar {
    position: static !important; /* 固定を解除する */
    }
    /* ラジオボタンのチェックが印刷されるように */
    .radio-item input[type="radio"]:checked + label::after {
         background-color: #328637!important;
         color: white!important;
         opacity: 1 !important;
    }
    /* 用紙設定等 */
     body {
        -webkit-print-color-adjust: exact;  /*背景のグラフィック /*
        color-adjust: exact;                 /*同上 */
    }
    .print_pages {
/*        size: A4;*/   /* 用紙サイズ */
    }
    .migiake .answer-container {
        padding-right: 0 !important;
    }
}
    
    
}



/* 配列でカーソルのある行（hover）の背景色と枠線を設定する */
.table-hover > tbody > tr:hover{
    /* background-color: #ffccff; */
    /* border:2px solid #328637; */
}

/*  個数制限複数選択の場合に「 あてはまるものに、いくつでもチェックしてください。 」を消す（:has() 疑似クラス） */
.ls-question-message.ls-em-tip.em_default:has(+ .ls-question-message.ls-em-tip.em_num_answers){
    display: none;
}

/* ツールチップ */
.mytooltip
{
    cursor: pointer;
    text-decoration: underline;
    font-weight: bold;
    color: orange;
}

/* ★★PC版のみに適用 ★★*/
@media only screen and (min-width: 800px){
        /* デフォルトの「その他」機能を使う場合、その他の記入欄の幅を広げる */
        li.checkbox-text-item.form-inline{
            padding-top:0.2em;
        }
        li.checkbox-text-item.form-inline > div.form-group.text-item.other-text-item > input{
            width:300%;
        }

        /* ラジオボタンとチェックボックスを複数列に分割した場合、列幅を狭くする【CSSクラス lrc_narrow_width】 */
        div.row.question-container.lrc_narrow_width > div.answer-container.col-12 > div.ls-answers.answers-list.row > ul.list-unstyled.col-12{
            max-width:14em;    
        }
        /* 少し狭くする【CSSクラス lrc_little_narrow_width】 */
        div.row.question-container.lrc_little_narrow_width > div.answer-container.col-12 > div.ls-answers.answers-list.row > ul.list-unstyled.col-12{
            max-width:28em;    
        }
        /* それよりは少し狭くする【CSSクラス lrc_little_little_narrow_width】 */
        div.row.question-container.lrc_little_little_narrow_width > div.answer-container.col-12 > div.ls-answers.answers-list.row > ul.list-unstyled.col-12{
            max-width:20em;    
        }
        /* 2列目を40%に【CSSクラス lrc_2nd_40_prcnt】 */
        div.row.question-container.lrc_2nd_40_prcnt > div.answer-container.col-12 > div.ls-answers.answers-list.row > ul:nth-child(2) {
            width:40%;    
        }
        /* 2列目を40%に【CSSクラス lrc_2nd_40_prcnt】 */
        div.row.question-container.lrc_2nd_40_prcnt > div.answer-container.col-12 > div.ls-answers.answers-list.row > ul:first-child {
            width:30%;    
        }
        /* 2列目を40%に【CSSクラス lrc_2nd_40_prcnt】 */
        div.row.question-container.lrc_2nd_40_prcnt > div.answer-container.col-12 > div.ls-answers.answers-list.row > ul:nth-child(3) {
            width:30%;    
        }
        /* 1列目を12文字、2列目を16文字に【CSSクラス lrc_colums_adjust_12-16】 */
        div.row.question-container.lrc_colums_adjust_12-16 > div.answer-container.col-12 > div.ls-answers.answers-list.row > ul:nth-child(1) {
            /*width:16em;    */
            width:22.5%;    
        }
        /* 1列目を12文字、2列目を16文字に【CSSクラス lrc_colums_adjust_12-16】 */
        div.row.question-container.lrc_colums_adjust_12-16 > div.answer-container.col-12 > div.ls-answers.answers-list.row > ul:nth-child(2) {
            /*width:22em;    */
            width:31.5%;    
        }
        /* 1列目を12文字、2列目を16文字に【CSSクラス lrc_colums_adjust_12-16】 */
        div.row.question-container.lrc_colums_adjust_12-16 > div.answer-container.col-12 > div.ls-answers.answers-list.row > ul:nth-child(3) {
            /*width:22em;    */
            width:46%;    
        }
}

/* 23連合生活アンケートQ40：箱型の1、3、4、8行目で「該当しない」を無効にする */
.rs_Q40 tr:nth-child(1) .radio-item.answer_cell_5 .ls-label-xs-visibility, .rs_Q40 tr:nth-child(3) .radio-item.answer_cell_5 .ls-label-xs-visibility, .rs_Q40 tr:nth-child(4) .radio-item.answer_cell_5 .ls-label-xs-visibility, .rs_Q40 tr:nth-child(8) .radio-item.answer_cell_5 .ls-label-xs-visibility{
    /* height:0; */
    /* visibility: hidden; */
    /* display:none; */
}
.rs_Q40 tr:nth-child(1) .answer_cell_5, .rs_Q40 tr:nth-child(3) .answer_cell_5, .rs_Q40 tr:nth-child(4) .answer_cell_5, .rs_Q40 tr:nth-child(8) .answer_cell_5{
    /* height:0; */
    visibility: hidden;
    /* display:none; */
}

/* 24連合組織拡大（加盟単組） */
.lrc_matrix_side_header .answertext.control-label{
    text-align:left;
}
.lrc_matrix_side_header tr:nth-child(5){
    visibility:hidden;
    display: none;
}


/* グループタイトルの書式変更 oguma*/
.group-title {
    text-align: left;
    color:#fff;
    background:#3CB371;
    font-size: 20px;
    line-height: 2.5;
    padding-left: 2em;                 /* ぶら下げの基準位置 */
    text-indent: calc(-2em + 0.5em);   /* 2字ぶら下げ＋1行目だけ半角あける */
}


/* 改ページを入れるを追加 */
div.kai{
    page-break-before: always;
}  

/* 前をあける */
div.maeake{
    margin-top: 2em;
}

/* 後をあける */
div.atoake{
    padding-bottom: 1em;
}

/*Qの設問（インデント） */

.qnum  .ls-label-question {
    padding-left: 5em;
    text-indent: -5em;
    font-weight: bold;
}

.anum  .ls-label-question {
    font-weight: bold;
}

.kakko  .ls-label-question {
    padding-left: 3em;
    text-indent: -3em;
    font-weight: bold;
}

/*自治労賃金等制度調査のQ-1の装飾 */
.ls-label-question .qcode,
.answertext .qcode,
.control-label .qcode {
    display: inline !important;
    background-color: #000 !important;
    color: #fff !important;
    padding: 0px 6px !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    margin-left: 0px !important;
}

.prev-info {
    display: inline !important;
    background-color: #ffd700 !important; /* 金色 */
    color: #000 !important;               /* 金色に合う黒文字 */
    padding: 0px 6px !important;          /* 高さを揃える */
    border-radius: 4px !important;        /* Qコードと統一 */
    font-weight: bold !important;
    font-size: small !important;          /* 元の small を再現 */
}

.confirm-label {
    display: inline !important;
    background-color: #dc143c !important; /* Crimson */
    color: #ffffff !important;
    padding: 0px 6px !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    font-size: smaller !important;
}


/*設問をつかった見出し（インデント） */

.midasi  .ls-label-question {
    line-height: 1.0;
    font-weight:bold;
    font-size:large;
        padding: 0.5em 1em;
    color: #232323;
    background: #fff8e8;
    border-left: solid 10px #ffc06e;
}

/*設問をつかった見出し（インデント） */

.midasi2  .ls-label-question {
    line-height: 2.0;
    font-weight:bold;
    font-size:large;
    padding: 0.5em 1em;
    border: dashed 2px #5b8bd0;/*点線*/
    
}

.kakomi .ls-label-question {
  display: inline-block;
  border: 2px dotted #333;
  padding: 5px 10px;
}

/* 表形式の設問で右側の余白を大きくする（migiake を付けた設問だけ） */
.migiake .answer-container {
    padding-right: 40%;
}

  /* 表形式の表側ラベルにインデント */ 
.row.array-flexible-row.question-container > div.answer-container table tbody th.answertext{
    text-align:left;
    text-indent: -2em;
    padding-left:2.6em;
}


/* 改ページと順位 */

div.pts_kaijun .list-group-item {
    position: relative;
    display: block;
    padding: 0px 0px;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid #ddd;
    text-indent: -2em;
    padding-left: 2em;
}
div.pts_kaijun .sortable-choice sortable-list list-group {
    min-height: 0px;
}


/* 設問箇所に内容がないものは設問箇所自体を消してしまう */
div.kesu .question-title-container{
    display: none;
}

div.kesuall .answer-container{
    display: none;
}

div.kesuall .question-valid-container{
    display: none;
}

/* 必須（アスタリスク） */
.fa-asterisk:before{
    margin-left: -1em;
}

/* 上 */
div.question-container{
    margin-bottom:0;
    /*border-bottom:1em;*/
}

/* ラジオボタンの選択肢のぶら下げを追加
label.radio-label
{
    padding-left: 2em;
    text-indent: -2em;
}

 チェックボックスの選択肢のぶら下げを追加 
label.checkbox-label
{
    padding-left: 2em;
    text-indent: -2em;
}*/

/* タイトル等を左寄せにする（スマホの場合は左のほうが良い） */
.text-center
 {
    text-align: left !important;
}

.sage   {
    padding-left: 2em;
}

div.mannaka .answer-item .form-control {
   text-align:center;
}

/* ラジオボタン*//* 選択肢のぶら下げ追加に対応した位置調整を追記 */
.answer-item.radio-item {
    padding-left: 3em;
}

/* チェックボックスの選択肢のぶら下げを追加 */
.answer-item.checkbox-item{
    padding-left: 3em;
}

.col-auto{
    padding-left: 1em; 
}

  /* 配列の表側を左寄せにする（元は右寄せ） */ 
.ls-answers tbody .answertext {
    text-align: left;
}

.ls-input-group-extra prefix-text prefix{
  font-family: monospace, 'Courier New', 'Noto Sans Mono CJK JP';
}

/* エラーの表示・非表示で、？だけ残ることへの対応 年齢、入局年、入居年*/

#vmsg_18439::before,
#vmsg_18439 .ls-question-message::before,
#vmsg_18443::before,
#vmsg_18443 .ls-question-message::before,
#vmsg_18444::before,
#vmsg_18444 .ls-question-message::before,
#vmsg_18445::before,
#vmsg_18445 .ls-question-message::before,
#vmsg_18446::before,
#vmsg_18446 .ls-question-message::before,
#vmsg_18537::before,
#vmsg_18537 .ls-question-message::before,
#vmsg_18538::before,
#vmsg_18538 .ls-question-message::before,
#vmsg_18539::before,
#vmsg_18539 .ls-question-message::before,
#vmsg_18540::before,
#vmsg_18540 .ls-question-message::before,
#vmsg_18555::before,
#vmsg_18555 .ls-question-message::before,
#vmsg_18556::before,
#vmsg_18556 .ls-question-message::before,
#vmsg_18558::before,
#vmsg_18558 .ls-question-message::before,
#vmsg_18559::before,
#vmsg_18559 .ls-question-message::before,
#vmsg_18560::before,
#vmsg_18560 .ls-question-message::before,
#vmsg_18610::before,
#vmsg_18610 .ls-question-message::before {
    content: none !important;
}


#vmsg_19044::before,
#vmsg_19044 .ls-question-message::before,
#vmsg_19048::before,
#vmsg_19048 .ls-question-message::before,
#vmsg_19049::before,
#vmsg_19049 .ls-question-message::before,
#vmsg_19050::before,
#vmsg_19050 .ls-question-message::before,
#vmsg_19051::before,
#vmsg_19051 .ls-question-message::before,
#vmsg_19142::before,
#vmsg_19142 .ls-question-message::before,
#vmsg_19143::before,
#vmsg_19143 .ls-question-message::before,
#vmsg_19144::before,
#vmsg_19144 .ls-question-message::before,
#vmsg_19145::before,
#vmsg_19145 .ls-question-message::before,
#vmsg_19160::before,
#vmsg_19160 .ls-question-message::before,
#vmsg_19161::before,
#vmsg_19161 .ls-question-message::before,
#vmsg_19163::before,
#vmsg_19163 .ls-question-message::before,
#vmsg_19164::before,
#vmsg_19164 .ls-question-message::before,
#vmsg_19165::before,
#vmsg_19165 .ls-question-message::before,
#vmsg_19215::before,
#vmsg_19215 .ls-question-message::before {
    content: none !important;
}


/* ラジオ・チェックボックスの選択肢だけにぶら下げを適用（副作用なし） */
.ls-answers .answer-item.radio-item label.control-label.radio-label,
.ls-answers .answer-item.checkbox-item label.control-label.checkbox-label,
.ls-answers .answer-item.checkbox-item label.control-label {
    display: block !important;
    padding-left: 2em !important;
    text-indent: -2em !important;
    white-space: normal !important;
}

/* テキストノード対策（疑似ブロック化） */
.ls-answers .answer-item.radio-item label.control-label.radio-label::before,
.ls-answers .answer-item.checkbox-item label.control-label.checkbox-label::before,
.ls-answers .answer-item.checkbox-item label.control-label::before {
    content: "";
    display: block;
}

/* PC（デフォルト） */
div.maetume {
    margin-top: -2em;
}

/* スマホ（幅 768px 以下）では詰まりすぎるので弱める */
@media screen and (max-width: 768px) {
    div.maetume {
        margin-top: -0.5em; /* または -0.5em など調整可 */
    }
}


/* PC（デフォルト） */
div.atotume {
    margin-bottom: -2em;
}

/* スマホ（幅 768px 以下）では詰まりすぎるので弱める */
@media screen and (max-width: 768px) {
    div.atotume {
        margin-bottom: -0.5em; /* または -0.5em など調整可 */
    }
}

/* 接頭辞（％）が右に回り込むのを防ぐ */
.ls-input-group {
    all: unset !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
}

@media screen and (max-width: 991px) {
    .ls-input-group-extra.prefix {
        margin-right: 0.4em !important;
    }
}
