body {
font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
overflow-wrap:break-word;
}

@media screen and (max-width:768px){
body { 
  min-width:10px; max-width:768px;
}
}




div.contents {
    position: relative; 
}
div.header{
    position: relative;
}

/* TOPナビゲーションボタンの移動
div.navi_top{
    top: 120px;
    width: 300px;
    height: 75px;
    position: absolute;
}
*/

div.main_enq {
/*    margin-top:100px;　*/
    margin-top:20px;
    position: relative;  
  }
div.navi_bottom {
    margin-top:50px;
    height: 150px;
    position: relative;  
  }

form .clear {clear:both;}
form .f_left{float:left;}
form .f_right{float:right;}

/*■■Cromeでタブが当たった際に、線を表示しないようにする■■*/
form input{
        outline: none;  
}
form label{
        outline: none;  
}
button{
        outline: none;  
}


/*■■ヘッダー関連■■*/

/*プログレス（ページ情報）*/
form div.p_progress{
float: right;
margin:-5px 10px 10px 0px;
}
form span.p_progress1{
font-size: 85%;
}
form span.p_progress2{
font-size: 105%;
color:#8B0000;
font-weight: bold;
}
/*アンケート名*/
form div.p_enq_name{
padding: 18px 0px 18px 0px;
background:#F0F8FF;
font-size: 130%;
text-align: center;
border-right:5px solid #005eac;
border-left:5px solid #005eac;

}
@media screen and (max-width:768px){
form div.p_enq_name{
padding: 10px 0px 10px 5px;
font-size: 100%;
text-align: left;
}
}
form div.p_enq_line{
  	border-top:1px solid #4682B4;
	border-bottom:1px solid #4682B4;  
	padding: 2px 0px 2px 0px;
        margin-bottom:10px;
}
form div.box1{
margin: 0px 10% 0px 10%;

padding: 20px 50px 70px 50px;
-moz-box-shadow: 1px 1px 1px 1px #005eac;
-webkit-box-shadow: 1px 1px 1px 1px #005eac;
box-shadow: 1px 1px 1px 1px #005eac;
}

@media screen and (max-width:768px){
form div.box1{
margin: 0px 3% 0px 3%;
padding: 20px 5px 70px 5px;
}
}


form div.box2{
margin: 0px 5 0px 100px;
margin-left:auto;
margin-right:auto;
width:200px;
}
@media screen and (max-width:768px){
form div.box2{
margin: 0px 3% 0px 3%;
width:100%;
}
}

form div.box2-1{
margin: 0px 5 0px 100px;
margin-left:auto;
margin-right:auto;
width:400px;
text-align: center;
}

@media screen and (max-width:768px){
form div.box2-1{
margin: 0px 3% 0px 3%;
width:100%;
}
}

form div.box3{
padding: 10px 10px 10px 10px;
margin: 0px 20px 0px 20px;
margin-left:auto;
margin-right:auto;
font-size: 130%;
text-align: center;
background:#F0F8FF;
word-wrap: break-word;
}

@media screen and (max-width:768px){
form div.box3{
margin: 0px 3% 0px 3%;
padding: 10px 5px 10px 5px;
}
}

#restart_mail{
    width:300px;
    height:30px;
}
@media screen and (max-width:768px){
#restart_mail{
    width:200px;
    height:30px;
}
}


/*mode 9980 9990 の際の制御表示*/
form div.q_limit{
font-size: 90%;
color: #ffffff;
text-align: left;
padding: 5px;
margin:5px 0px 5px 0px;
background-color:red;
border-radius: 5px 5px 5px 5px;  
filter:alpha(opacity=50);
-moz-opacity: 0.5;
opacity: 0.5;
}
form div.a_limit{
font-size: 90%;
color: #ffffff;
text-align: left;
padding: 5px;
margin:5px 0px 5px 0px;
background-color:green;
border-radius: 5px 5px 5px 5px;  
filter:alpha(opacity=50);
-moz-opacity: 0.5;
opacity: 0.5;
}

form div.q_limit_or{
font-size: 90%;
color: #ffffff;
text-align: left;
padding: 5px;
margin:5px 0px 5px 0px;
background-color:blue;
border-radius: 5px 5px 5px 5px;  
filter:alpha(opacity=50);
-moz-opacity: 0.5;
opacity: 0.5;
}

form div.q_logic{
font-size: 90%;
color: #ffffff;
text-align: left;
padding: 5px;
margin:5px 0px 5px 0px;
background-color:red;
border-radius: 5px 5px 5px 5px;  
filter:alpha(opacity=50);
-moz-opacity: 0.5;
opacity: 0.5;
}


form div.a_exclusive{
font-size: 90%;
color: #ffffff;
text-align: left;
padding: 5px;
margin:5px 0px 5px 0px;
background-color:red;
border-radius: 5px 5px 5px 5px;  
filter:alpha(opacity=50);
-moz-opacity: 0.5;
opacity: 0.5;
}
form div.a_random{
font-size: 90%;
color: #ffffff;
text-align: left;
padding: 5px;
margin:5px 0px 5px 0px;
background-color:red;
border-radius: 5px 5px 5px 5px;  
filter:alpha(opacity=50);
-moz-opacity: 0.5;
opacity: 0.5;
}

/*qtype_91*/
form div.qtype_91{
font-size: 110%;
color: #ffffff;
text-align: left;
padding: 10px;
background-color: #999999;
margin:15px 0px 10px 0px;
line-height: 130%;
}

form div.qtype_92{
font-size: 100%;
text-align: left;
padding: 5px;
background-color: #eaf4ff;
margin:7px 0px 5px 0px;
line-height: 130%;
}

form div.center{
   margin: 0px auto; 
   text-align : center ;
}

form div.qtype_93{
font-size: 1em;
line-height: 1.3em;
width:85%;
margin: 10px auto 20px auto;
text-align : left ;
padding: 10px 10px 10px 10px;
border-style:solid;
border-width:5pt;
border-color:#888;
}
@media screen and (max-width:768px){
form div.qtype_93{
width:auto;
}
}

form div.qtype_94{
width:85%;
margin: 10px auto 20px auto;
text-align : left ;
padding: 10px 10px 10px 10px;
border-style:solid;
border-width:5pt;
border-color:#EEB496;
line-height: 140%;
}
@media screen and (max-width:768px){
form div.qtype_94{
width:auto;
}
}

form div.qtype_95{
font-size: 1em;
line-height: 1.3em;
text-align: left;
padding: 0px 5px;
margin:7px 0px 5px 0px;
}

form div.p_essential{
    margin-top :-25px;
    margin-bottom:30px;
}

/*エラー表示欄*/
form div.p_em{
font-size: 95%;
background-color: #ffdead;
margin: 10px 20px 30px 20px;
padding:0px 5px 10px 10px
}

@media screen and (max-width:768px){
form div.p_em{
margin: 5px 0px 15px 5px;
}
}

form div.p_em a{
line-height: 130%;
}

form div.p_em p.em_title{
color:#d52b2b;
font-size: 100%;
font-weight: bold;
background-image: url(../img/notice.gif) ;
background-repeat: no-repeat;
padding: 30px 5px 10px 45px;
line-height: 120%;
background-position: left center;

}

form div.p_em p{
color:#005aa5;
text-align: left;
}



form strong.a_es{
color: #d52b2b;
}
form strong.a_es_no{
color: #d52b2b;
}
form strong.a_no{
}

/*設問文表示領域*/
form div.q_name{
font-size: 1em;
line-height: 1.3em;
text-align: left;
padding: 8px 5px;
background-color: #efefef;
margin-bottom:3px;
}

@media screen and (max-width:768px){
form div.q_name { 
  min-width:10px; max-width:768px;
}
}




/*エラー表示欄*/
form div.q_em{
font-size: 0.95em;
line-height: 1.1em;
background-color: #ffdead;
margin:2px 0px 2px 0px;
padding:5px 1px 5px 1px;
background-image: url(../img/notice_s.gif) ;
background-repeat: no-repeat;
padding-left: 25px;
background-position: left center;
}


/*■■SA・MA・Matrix共通■■*/
/*奇数行のバックカラー*/
form table{
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    word-wrap: break-word;
}

form tr.a_row_1{
background-color: #ffffff;  
}

/*偶数行のバックカラー*/
form tr.a_row_0{
background-color: #efefef;   
}

form td{
font-size: 0.95em;
line-height: 1.2em;
border: 1px solid #e3e3e3;
text-align: left;

}

form th{
border: 1px solid #e3e3e3;
}

/*■■SA・MA専用■■*/
/*Input用*/
form table.a_01{
margin-bottom:50px;
table-layout:auto;
}

form table.c_01{
margin-bottom:10px;
table-layout:auto;
}


td.a_name label{
    display: block;
    width: 100%;
    height: 100%;
    padding: 8px 0px 4px 0px;
}
td.a_name_2 label,td.a_name_3 label,td.a_name_4 label,td.a_name_5 label,td.a_name_6 label,td.a_name_7 label,td.a_name_8 label{
    display: block;
    width: 100%;
    height: 100%;
    padding: 8px 0px;
}

/**/
form table.a_01 td.a_input{
text-align: center;
width:8%;
}
form table.a_01 td.a_input:hover {
background-color: #eaf4ff;
}
form table.a_01 td.a_name:hover ,form table.a_01 td.a_name_2:hover ,form table.a_01 td.a_name_3:hover,form table.a_01 td.a_name_4:hover,form table.a_01 td.a_name_5:hover,form table.a_01 td.a_name_6:hover ,form table.a_01 td.a_name_7:hover,form table.a_01 td.a_name_8:hover{
background-color: #eaf4ff;
}
form table.a_01 td.a_input_2{
width:8%;
}
form table.a_01 td.a_input_3{
width:8%;
}
form table.a_01 td.a_input_4{
width:4%;
}
form table.a_01 td.a_input_5{
width:4%;
}
form table.a_01 td.a_input_6{
width:4%;
}
form table.a_01 td.a_input_7{
width:4%;
}
form table.a_01 td.a_input_8{
width:4%;
}

form table.a_01 td.a_name{
width:92%;
}
form table.a_01 td.a_name_2{
width:42%;
}
form table.a_01 td.a_name_3{
width:25.3%;
}
form table.a_01 td.a_name_4{
width:21%;
}
form table.a_01 td.a_name_5{
width:16%;
}
form table.a_01 td.a_name_6{
width:12.5%;
}
form table.a_01 td.a_name_7{
width:10.2%;
}
form table.a_01 td.a_name_8{
width:8.5%;
}

form table.a_01 tr.a_div_tr{
}

form table.a_01 td.a_div_td{
    padding: 5px;
    width: 100%;
}


/*選択肢において、項目がある場合、項目上部に空白領域を作るために利用*/
form table.a_01 td.a_divtop_td{
    border-top: 0px solid #e3e3e3;
    border-right: 0px solid #e3e3e3;    
    border-bottom: 1px solid #e3e3e3;
    border-left: 0px solid #e3e3e3; 
    width: 100%;
    padding: 5px;
}


/*SA・MA用のその他記述欄*/
form table tr td textArea{
    vertical-align: middle
}

form input[type=text] {
    font-size: 1.1em;
}

form textarea {
    font-size: 1.3em;
    line-height: 1.4em;
}

form label input{
    margin: -4px 0px 8px 0.5%;
}

form label textarea {
    margin: -4px 0px 8px 0.5%;
}


/*■■Matrix用■■*/
/*選択肢表示部分*/
form table.a_ma{
margin-bottom:50px;
}

form table.a_ma th{
border: 1px solid #e3e3e3;
padding: 2px;
}

form table.a_ma th.t_top {
border-top: #eaf4ff 4px solid;
font-size: 0.95em;
line-height: 1.2em;
font-weight: normal;
text-align: center;
padding: 5px 2px;
}

/*設問文表示部分*/
form table.a_ma th.t_left {
font-size: 1em;
line-height: 1.2em;
font-weight: normal;
text-align: left;
width: 40%;
padding: 5px;
}

form table.a_ma td.t_top {
border-top: #ffffff 0px solid;
border-right: #e3e3e3 1px solid;
border-bottom: #e3e3e3 1px solid;
border-left: #ffffff 0px solid;

width: 40%;
}

/*Input用*/
form table.a_ma td.a_input{
text-align: center
}

form table.a_ma td.a_input:hover {
background-color: #eaf4ff;
}

/*完了画面・エラー関連の画面*/

/*エラー表示欄*/
div.finish{
margin: 50px 10% 0px 10%;
font-size: 1em;
line-height: 1.5em;
}

div.em_only_light{
background-color: #ffffff;
margin:10px 0px 10px 0px;
padding:0px 0px 0px 50px;
font-size: 1em;
background-image: url(../img/notice.gif) ;
background-repeat: no-repeat;
background-position: left center;
line-height: 1.2em;
}
div.em_only{
background-color: #ffdead;
margin:20px 10% 0px 10%;
padding:10px 20px 5px 50px;
font-size: 1em;
line-height: 1.5em;
font-weight: bold;
background-image: url(../img/notice.gif) ;
background-repeat: no-repeat;
padding-left: 50px;
background-position: left center;
}

div.loading{
 width:100%;
 text-align:center;
 margin:10% 0px 10% 0px;
}
input[type="text"] , input[type="password"] {
	font-size: 1em;
        height:30px;
        line-height:30px;

}



div.non_print{
    display: none;
}
@media screen and (max-width:768px){
.non_sp{
    display: none;
}
.sp_img{
        max-width: 100%;
        height: auto;
    }
}

.w_10p{width: 10%!important;}
.w_20p{width: 20%!important;}
.w_30p{width: 30%!important;}
.w_40p{width: 40%!important;}
.w_50p{width: 50%!important;}
.w_60p{width: 60%!important;}
.w_70p{width: 70%!important;}
.w_80p{width: 80%!important;}
.w_90p{width: 90%!important;}

.w_5p{width: 5%!important;}
.w_15p{width: 15%!important;}
.w_25p{width: 25%!important;}
.w_35p{width: 35%!important;}
.w_45p{width: 45%!important;}
.w_55p{width: 55%!important;}
.w_65p{width: 65%!important;}
.w_75p{width: 75%!important;}
.w_85p{width: 85%!important;}
.w_95p{width: 95%!important;}

.w_98p{width: 98%!important;}
.w_99p{width: 99%!important;}
.w_100p{width: 100%!important;}


.mt_-100px{margin-top: -100px!important;}
.mt_-80px{margin-top: -80px!important;}
.mt_-60px{margin-top: -60px!important;}
.mt_-40px{margin-top: -40px!important;}
.mt_-20px{margin-top: -20px!important;}
.mt_0px{margin-top: 0px!important;}
.mt_20px{margin-top: 20px!important;}
.mt_40px{margin-top: 40px!important;}
.mt_60px{margin-top: 60px!important;}
.mt_80px{margin-top: 80px!important;}
.mt_100px{margin-top: 100px!important;}

.mb_-100px{margin-bottom: -100px!important;}
.mb_-80px{margin-bottom: -80px!important;}
.mb_-60px{margin-bottom: -60px!important;}
.mb_-40px{margin-bottom: -40px!important;}
.mb_-20px{margin-bottom: -20px!important;}
.mb_0px{margin-bottom: 0px!important;}
.mb_20px{margin-bottom: 20px!important;}
.mb_40px{margin-bottom: 40px!important;}
.mb_60px{margin-bottom: 60px!important;}
.mb_80px{margin-bottom: 80px!important;}
.mb_100px{margin-bottom: 100px!important;}
 
.cap_5px{text-indent:-5px!important;}
.cap_10px{text-indent:-10px!important;}
.cap_15px{text-indent:-15px!important;}
.cap_20px{text-indent:-20px!important;}
.cap_25px{text-indent:-25px!important;}
.cap_30px{text-indent:-30px!important;}
.cap_35px{text-indent:-35px!important;}
.cap_40px{text-indent:-40px!important;}
.cap_45px{text-indent:-45px!important;}
.cap_50px{text-indent:-50px!important;}

.index_5px{padding-left:5px!important;}
.index_10px{padding-left:10px!important;}
.index_15px{padding-left:15px!important;}
.index_20px{padding-left:20px!important;}
.index_25px{padding-left:25px!important;}
.index_30px{padding-left:30px!important;}
.index_35px{padding-left:35px!important;}
.index_40px{padding-left:40px!important;}
.index_45px{padding-left:45px!important;}
.index_50px{padding-left:50px!important;}

.font_160{
   font-size: 1.6em!important;
   line-height: 1.76em!important;
}
.font_150{
   font-size: 1.5em!important;
   line-height: 1.65em!important;
}
.font_140{
   font-size: 1.4em!important;
   line-height: 1.54em!important;
}
.font_130{
   font-size: 1.3em!important;
   line-height: 1.43em!important;
}
.font_120{
   font-size: 1.2em!important;
   line-height: 1.32em!important;
}
.font_110{
   font-size: 1.1em!important;
   line-height: 1.21em!important;
}
.font_100{
   font-size: 1em!important;
   line-height: 1.1em!important;
}
.font_90{
   font-size: 0.9em!important;
   line-height: 1em!important;
}
.font_80{
   font-size: 0.8em!important;
   line-height: 1em!important;
}

.color_red{
    color: red!important;
}
.color_blue{
    color: blue!important;
}

.top{
   vertical-align: top!important;
}
.baseline{
   vertical-align: baseline!important;
}
.middle{
   vertical-align: middle!important;
}
.bottom{
   vertical-align: bottom!important;
}



.left{
   text-align: left!important;
}
.right{
   text-align: right!important;
}
.center{
   text-align: center!important;
}
.justify{
   text-align: justify!important;
}


.q95_w85{
        width: 85% ; 
        margin: 10px auto 20px auto; 
        padding : 10px 10px 10px 10px;
}

.q95_w75{
        width: 75% ; 
        margin: 10px auto 20px auto; 
        padding : 10px 10px 10px 10px;
}
@media screen and (max-width:768px){
.q95_w75{
        width: 100% ; 
        margin: 10px auto 20px auto; 
        padding : 10px 10px 10px 10px;
}
.q95_w85{
        width: 100% ; 
        margin: 10px auto 20px auto; 
        padding : 10px 10px 10px 10px;
}
}




#overlay{   
    position: fixed;
    top: 0;
    z-index: 100;
    width: 100%;
    height:100%;
    display: none;
    background: rgba(0,0,0,0.6);
}
.cv-spinner {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;  
}
.spinner {
    width: 40px;
    height: 40px;
    border: 4px #ddd solid;
    border-top: 4px #2e93e6 solid;
    border-radius: 50%;
    animation: sp-anime 0.8s infinite linear;
}


@keyframes sp-anime {
    100% { 
        transform: rotate(360deg); 
    }
}
.is-hide{
    display:none;
}

#output {
   margin:0px 20px 0px 20px;   
}

#form-1 dl {
  display:flex;
  flex-wrap: wrap;
  border: 1px solid #ccc;
  border-top: none;
  margin: 1px;
}
#form-1 dl dt,
#form-1 dl dd {
    float: left;
    margin: 0;
}
#form-1 dl dt {
    clear: left;
    float: left;

    background: #ddd;
    width: 12%;
    padding: 10px;
    box-sizing: border-box;
    border-top: 1px solid #ccc; 
  
}
#form-1 dl dd {
  width: 22%;
  padding: 10px;
  margin: 0;
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc; 
  background: #fff;
  box-sizing: border-box;
  word-wrap: break-word;
  }
  
#form-1 input{
  width: 100%;  
}

#form-1 .alert{
  width: 100%;  
}

select {
    width: 100%;
    padding: 0.5em;
    font-size: 100%;
    letter-spacing: 0.1em;
    
    background: #fff;
    border: none;
    cursor: pointer;
    box-shadow: rgb(0 0 0 / 50%) 0 0 2px 1px;
    margin: 5px 0px;
}
