﻿body{
	font-size:13pt;
	font-family: sans-serif;
	counter-reset: section; /* sectionという名前のカウンターをリセット */
}

form,table,textarea{
	font-size:13pt;
	font-family: sans-serif;
}

/*
input[type=checkbox] {
	width: 20px;
	height: 20px;
	vertical-align: middle;
	margin-top:-2px;
}

input[type=radio] {
	width: 20px;
	height: 20px;
	vertical-align: middle;
	margin-top:-2px;
}
*/

input[type=text], input[type=password], input[type=email], input[type=tel], textarea {
	padding: 0.2em;
	outline: none;
	border: 1px solid #808080;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	font-size: 100%;
}

/*
select{
	height: 30px;
	font-size:100%;
}
*/

fieldset{
	border:none;
}

legend{
	display:none;
}

/* フォーカス時 */
input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus, select:focus, textarea:focus{
	background-color: #dbffff;
}

/* ラジオボタン、チェックボックスのラベル */
/*
label{
	border-radius: 3px;
	padding: 4px 6px 2px 2px;
	margin-bottom: 4px;
	cursor: pointer;
}
*/
.bd01{
	background:#ffffff;
}
.bd02{
	background:#dbffff;
}

/*
input[type=checkbox]:focus + label, input[type=radio]:focus + label{
	background-color: #dbffff;
}
*/

/* ボタン基本 */
input[type=submit], input[type=button]{
	display: inline-block;
	padding: 0.3em 1em;
	/*text-decoration: none;*/
	border-radius: 3px;
	font-size:13pt;
	cursor: pointer;
}

input[type=submit]:active, input[type=button]:active {/*ボタンを押したとき*/
	-ms-transform: translateY(4px);
	-webkit-transform: translateY(4px);
	transform: translateY(4px);/*下に動く*/
	border-bottom: none;/*線を消す*/
}

.btn_blue{
	background: #33CCFF;
	border-bottom: solid 4px #0686b2;
}

.btn_gray{
	background: #ddd;
	border-bottom: solid 4px #999999;
}

.btn_orange{
	background: #ff7f50;
	border-bottom: solid 4px #b33103;
}

.btn_underline{
	background: #ffffff;
	text-decoration:underline;
	color:#0000cd;
	font-weight:bold;
	border:none;
}

.btn_green{
	background: #c6ff1c;
	border-top: solid 3px #b2e619;
	border-left: solid 3px #b2e619;
	border-right: solid 3px #b2e619;
	border-bottom: solid 6px #95c116;
}

input[type=submit]:disabled, input[type=button]:disabled {	/*ボタンがdisabledのとき*/
	background-color: #ccc;
	border-bottom: solid 4px #999999;
	cursor: not-allowed;   /* カーソル変更 */
}

a:focus, a:hover{
	background-color: #dbffff;
}

/* 使用不可 */
input[type=checkbox][disabled] + label, input[type=radio][disabled] + label{
	background-color: #d3d3d3;
}

/* プレースホルダーの色 */
input::placeholder {
	color: #a9a9a9;
}

/* IE */
input:-ms-input-placeholder {
	color: #a9a9a9;
}

/* Edge */
input::-ms-input-placeholder {
	color: #a9a9a9;
}

/***** 題 *****/
.top_d1{
	margin:10px auto 30px auto;
	padding: 0.5rem 1rem;
	border-radius: 10px;
	background: #95C116;
	/*color:#f9ffe6;*/
	color:#173600;
	line-height:140%;
	font-weight:bold;
	width:900px;
	font-size:16pt;
	text-align:center;
}

.top_d2{
	padding: 0.5em;/*文字周りの余白*/
	color: #000;/*文字色*/
	background: #f9ffe6;/*背景色*/
	border-left: solid 5px #95c116;/*左線（実線 太さ 色）*/
	width:900px;
	margin:10px auto 10px auto;
}

.top_d3{
	margin:10px auto;
	width:900px;
	text-decoration:underline;	
}

/***** テーブル *****/
.tbl1	{
	border-collapse:collapse;
	border:#000000 0px solid;
	background-color:rgb(255,255,255);	/* #ffffff(白) */
	border:0px;
	border-width:0px;
	width:900px;
	margin:0 auto;
}

.tbl1 .tr1{
	background-color:#99CCFF;	/* 水色 */
}

.tbl1 .tr2{
	background-color:rgb(255,255,255);	/* #ffffff(白) */
}

.tbl1 .tr3{
	background-color	:#FFFFCC;	/* うすいイエローボーダー */
}

.tbl1 .tr4{
	background-color:#CCFFFF;	/* 水色 */
}

.tbl1 .tr5{
	background-color:#000080;	/* 濃い青 */
	color:#ffffff;
}

.tbl1 .tr6{
	background-color:#e0ffff;	/* ライトシアン */
}

.tbl1 .td1{
	padding:7px;
	line-height:120%;
}

.tbl1 .td2{
	padding:7px;
	line-height:120%;
	text-align:center;
}

.tbl1 .td3{
	padding:7px;
	line-height:120%;
	border:1px #000000 solid;
}

.tbl1 .td4{
	padding:7px;
	line-height:120%;
	border:1px #000000 solid;
	background-color:#CCFFFF;
}

.tbl1 .td5{	/* ピンクセル */
	padding:7px;
	line-height:120%;
	border:1px #000000 solid;
	background-color:#ffc0cb;
}

.tbl1 .td6{	/* 青・白字セル */
	padding:7px;
	line-height:120%;
	border:1px #000000 solid;
	background-color:#0000ff;
	color:#ffffff;
}

.tbl1 .td7{	/* グレーセル */
	padding:7px;
	line-height:120%;
	border:1px #000000 solid;
	background-color:#dcdcdc;
}

.tbl1 .q_num	{
	border-top:1px solid #000000;
	border-left:1px solid #000000;
	border-bottom:1px solid #000000;
	border-right:1px solid #000000;
	width:7%;
	padding:5px;
	line-height:120%;
	text-align:center;
}

.tbl1 .q_str	{
	border:1px solid #000000;
	width:93%;
	padding:5px;
	line-height:120%;
}

.tbl1 .tbd1 tr td:nth-of-type(3) {
	background-color	:#FFFFCC;
}

.tbl1 .tbd1 tr td:nth-of-type(5) {
	background-color	:#FFFFCC;
}

.tbl1 .tbd1 tr td:nth-of-type(7) {
	background-color	:#FFFFCC;
}

.tbl1 .tbd1 tr td:nth-of-type(9) {
	background-color	:#FFFFCC;
}

/***** 回答状況テーブル *****/
.tbl2	{
	border-collapse:collapse;
	border:#000000 0px solid;
	background-color:rgb(255,255,255);
	border:0px;
	border-width:0px;
	width:400px;
	margin:0 auto;
}

.tbl2 .tr1{
	background-color:#CCFFFF;	/* 水色 */
	color:#00008B;
}

.tbl2 .tr2{
	background-color:rgb(255,255,255);	/* #ffffff(白) */
}

.tbl2 .tr3{
	background-color	:#FFFFCC;	/* うすいイエローボーダー */
}

.tbl2 .td1{
	padding:5px;
	line-height:120%;
	border:1px #000000 solid;
}

.tbl2 .td2{
	padding:5px;
	line-height:120%;
}

.tbl3	{
	border-collapse:collapse;
	border:#000000 0px solid;
	background-color:rgb(255,255,255);	/* #ffffff(白) */
	border:0px;
	border-width:0px;
	width:800px;
	margin:0 auto;
}

/* 付問用 */
.tbl3 .tr1{
	background-color:#CCFFFF;	/* 水色 */
}

.tbl3 .tr2{
	background-color:rgb(255,255,255);	/* #ffffff(白) */
}

.tbl3 .tr3{
	background-color	:#FFFFCC;	/* うすいイエローボーダー */
}

.tbl3 .tr4{
	background-color:#CCFFFF;	/* 水色 */
}

.tbl3 .tr5{
	background-color:#000080;	/* 濃い青 */
	color:#ffffff;
}

.tbl3 .tr6{
	background-color:#e0ffff;	/* ライトシアン */
}

.tbl3 .td1{
	padding:7px;
	line-height:120%;
}

.tbl3 .td2{
	padding:7px;
	line-height:120%;
	text-align:center;
}

.tbl3 .td3{
	padding:7px;
	line-height:120%;
	border:1px #000000 solid;
}

.tbl3 .q_num	{
	border-top:1px solid #000000;
	border-left:1px solid #000000;
	border-bottom:1px solid #000000;
	border-right:1px solid #000000;
	width:10%;
	padding:5px;
	line-height:120%;
	text-align:center;
}

.tbl3 .q_str	{
	border:1px solid #000000;
	width:90%;
	padding:5px;
	line-height:120%;
}

/***送信完了***/
.div_end{
	width:500px;
	padding:10px;
	border:2px solid #000000;
	font-size:13pt;
	font-weight:bold;
	text-align:center;
	margin:0 auto;
}

.div01{
	width:70%;
	margin:10px auto 0 auto;
	border: 1px dotted #000;
	padding: 0.5em;
	font-size:11pt;
}

.div02 {
	padding: 0.5em 1em;
	margin: 0.5em auto;
	color: #000;/*文字色*/
	background: #FFF;
	border: solid 3px #95c116;/*線*/
	border-radius: 8px;/*角の丸み*/
}
.div02 p {
	margin: 0em 0.5em 0.5em 2em;
	padding: 0;
}

.div03{
	width:400px;
	padding:10px;
	border:1px solid #000000;
	font-size:12pt;
	margin:0 auto;
}

.div04{
	width:900px;
	padding:5px;
	border:2px dotted #696969;
	font-size:12pt;
	margin:0 auto;
}

.div05{
	width:400px;
	padding:5px;
	border:2px solid #c0c0c0;
	font-size:12pt;
	margin:0 auto;
}

/* Q&A用 */
.div06 {
	padding: 0.5em 1em;
	margin: 1em auto;
	color: #000;/*文字色*/
	background: #d2ed82;
	/*border: solid 3px #95c116;*/
	border-radius: 8px;/*角の丸み*/
	width: 880px;
}
.div06_q {
	width: 95%;
}
.div06_a {
	padding: 0.5em 1em;
	margin: 0.5em auto;
	color: #000;/*文字色*/
	background: #fff;
	border-radius: 8px;/*角の丸み*/
	width: 95%;
}

/* 文章左寄せボックス 枠あり */
.divC{
	text-align:left;
	line-height:140%;
	padding:5px;
	border:2px solid #a9a9a9;
	margin:0 auto;
}

.lbl1{	/*マトリックス表示時のラベル*/
	display:block;
	width:100%;
	height:100%;
}

.text01{	/*テキストボックスの幅1*/
	width:20em;
}

.text02{	/*テキストボックスの幅2*/
	width:15em;
	margin:5px 5px 0 5px;
}

.text03{	/*テキストボックスの幅3*/
	width:100%;
}

.text04{	/*テキストボックスの幅4*/
	width:20em;
}

.text05{	/*テキストボックスの幅5*/
	width:5em;
}

.text06{	/*テキストボックスの幅9*/
	width:10em;
}

.text07{	/*テキストボックスの幅5*/
	width:3em;
}

.area01{	/*テキストエリアのサイズ*/
	width:90%;
	height:10em;
}

.ime_d{	/*IE、FF、Edge向けIMEオフ*/
	ime-mode:disabled;
}

.tx_cen{	/*テキスト中央寄せ*/
	text-align:center;
}

.tx_left{	/*テキスト中央寄せ*/
	text-align:left;
}

.tx_s{	/*フォントサイズ小さめ*/
	font-size:13pt;
}

.tx_red{
	color:#ff0000;
}

.tx_blue{
	color:#0000ff;
}

.tx_b{
	font-weight:bold;
}

.tx_l{	/*フォントサイズ大きめ*/
	font-size:15pt;
}

.tx_s{
	font-size:11pt;
}

.tx_under{	/*アンダーライン*/
	text-decoration:underline;
}

.jisage{
	padding-left:1em;
	text-indent:-1em;
}

.mar0{
	margin:0;
}

.note01{
	font-size:10pt;
	margin:5px 0 0 0;
}

ul {
	margin: 0 0 0 0;
}

ul li, ol li{
	line-height:1.5;
}

/*進捗状況*/
#pro_num{
	width:850px;
	text-align:right;
	margin:0 auto;
}

.pro_ok{
	background-color:#66cdaa;
	border:2px #66cdaa solid;
	padding:1px 5px;
	font-size:10pt;
	text-align:center;
	margin-right:4px;
	color:#ffffff;
}

.pro_yet{
	background-color:#ffffff;
	border:2px #66cdaa solid;
	padding:1px 5px;
	font-size:10pt;
	text-align:center;
	margin-right:4px;
	color:#000000;
}

/*こめ印のリスト*/
ul.asterisk{
	margin:0px;
}

ul.asterisk li {
	list-style-type: none;
	text-indent: -1em;
	line-height:140%;
}

ul.asterisk li:before {
	display: inline;
	content: "※";
}

.sp02::after{	/*PCのみ改行*/
	content: "\A";
	white-space: pre ;
}

.sp03{	/* スペース */
	margin-right:1em;
}

/* confirm編集ボタン */
.btn_cor{
	display: inline-block;
	padding: 0.3em 0.3em;
	text-decoration: none;
	background: #dcdcdc;/*ボタン色*/
	border-bottom: solid 4px #898989;
	border-radius: 6px;
	font-size:11pt;
}

.style03{	/* 中見出し */
	width:900px;
	font-size:16pt;
	text-align:center;
	font-weight:bold;
	padding:3px;
	border:none;
	/*background-color:#bcbcff;*/
	margin:0 auto;
}

/* 文章左寄せボックス 回答完了メッセージ */
.divE{
	text-align:center;
	line-height:140%;
	padding:5px;
	border:none;
	background-color:#fbd8b5;
	color:#dc143c;
	margin:0 auto;
}

/*ファイルアップロード用 start*/
.up_div {
  position: relative;
  left: 1%;
}

#preview_field {
  position: absolute;
  top: 0;
  left: 0;
  width: 90%;
}

#drop_area {
  position: absolute;
  top: 0;
  left: 0;
  width: 98%;
  cursor: pointer;
  color: #696969;
  border: 1px dashed #aaa;
  text-align: center;
}
#drop_area:before {
  content: "こちらにファイルをドラッグ＆ドロップ、またはクリックしてファイルを選択";
}

#icon_clear_button {
  display: none;
  position: absolute;
  top: -4px;
  right: -8px;
  width: 24px;
  height: 24px;
  border: 1px solid #777;
  border-radius: 50%;
  cursor: pointer;
}

.input_file {
  width: 90%;
  opacity: 0;
}

.input_file:focus {
  opacity: 1;
}

#btn_fileclear {
    -webkit-appearance: none;
    display: inline-block;
    width: 100px;
    padding: 0.4em;
    text-decoration: none;
    border-radius: 2px;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
    -webkit-tap-highlight-color: transparent;
    transition: .2s ease-out;
    font-weight: bold;
    font-size:12px;
    background-color: #dcdcdc;
    color: #000000;
    border: solid 1px #dcdcdc;
}
#btn_fileclear:hover {
    cursor: pointer;
    text-decoration: none;
    transform: translateY(-4px);
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.12), 0 3px 10px 0 rgba(0,0,0,0.12), 0 4px 7px -2px rgba(0,0,0,0.2);
}
/*ファイルアップロード用 end*/

/* カッコ数字の見出し */
h4 {
	margin-bottom: 0.5em;
}
h4::before {
	counter-increment: section; /* sectionカウンターをインクリメント */
	content: '（' counter(section) '）'; /* カウンター値を表示 */
}

/* アンケート画面 */
.wrapper {
    width:1000px;
    margin: 0 auto 3em auto;
}
.wrapper .enq_area{
    /*アンケート領域*/
    width: 950px;
    margin: 20px auto 30px auto;
}
.wrapper .enq_area .login_area{
    /*ログイン領域*/
    width: 500px;
    margin: 20px auto;
}
.tbl_div {
    margin-bottom: 30px;
}
.q_div {
    display: table;
    width: 100%;
    border: 1px solid #95c116;
    border-radius: 4px;
}
.q_div .q_num {
    display: table-cell;
    width: 10%;
    vertical-align: middle;
    text-align: center;
    padding: 0.2em;
    background: #95c116;
    color: #000;
}
.q_div .q_str {
    display: table-cell;
    width: 90%;
    vertical-align: middle;
    padding: 0.2em;
}
.req_text{
    /*必須*/
    font-size: 10pt;
    color: #fff;
    background: #d3381c;
    padding: 1px 3px;
}
.ans_div {
	margin-top: 5px;
    padding-left:5%;
}
/*ラジオボタンstart*/
.radio-label {
  padding: 6px 4px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.radio-label:hover {
  background: rgba(0,0,0,0.05);
}
.col2{
  width: calc(100% / 2);
}
.col3{
  width: calc(100% / 3);
}
.col4{
  width: calc(100% / 4);
}
.col5{
  width: calc(100% / 5);
}
.radio-input {
  opacity: 0;
  width: 0;
  margin: 0;
}
.radio-input:focus + .radio-dummy {
  border: solid 2px #333333;
}
.radio-input:checked + .radio-dummy {
  border: solid 2px #007bbb;
}
.radio-input:checked + .radio-dummy::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #007bbb;
}
.radio-dummy {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  border: solid 2px #888;
}
.radio-text {
  margin-left: 12px;
  display: block;
  max-width: 90%;
}
/*ラジオボタンend*/

/*チェックボックスstart*/
.chkbox-label {
  padding: 6px 4px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.chkbox-input {
  margin: 0;
  width: 0;
  opacity: 0;
}

.chkbox-label:hover{
  background: rgba(0,0,0,.05) !important;
}

.chkbox-input:focus + .chkbox-dummy{
  border: solid 2px #007bbb;
}
.chkbox-input:checked + .chkbox-dummy::before {
  content: "";
  display: block;
  position: absolute;
  top: 43%;
  left: 50%;
  width: 40%;
  height: 4px;
  border-radius: 2px;
  transform: translate(-6px, 5px) rotateZ(-135deg);
  transform-origin: 2px 2px;
  background: #007bbb;
}
.chkbox-input:checked + .chkbox-dummy::after {
  content: "";
  display: block;
  position: absolute;
  top: 45%;
  left: 55%;
  transform: translate(-6px, 5px) rotateZ(-45deg);
  width: 90%;
  height: 4px;
  border-radius: 2px;
  transform-origin: 2px 2px;
  background: #007bbb;
}
.chkbox-dummy {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  background: #fff;
  border: solid 2px #888;
}
.chkbox-text {
  margin-left: 12px;
  display: block;
  max-width: 90%;
}
/*チェックボックスend*/

select{
    margin: 15px 0 0 0;
    font-size:100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: white;
    border-radius: 4px;
    padding: 0.5em 3.5em 0.5em 1em;
    background-image:
    linear-gradient(45deg, transparent 50%, gray 50%),
    linear-gradient(135deg, gray 50%, transparent 50%),
    linear-gradient(to right, #ccc, #ccc);
    background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    calc(100% - 2.5em) 0.5em;
    background-size:
    5px 5px,
    5px 5px,
    1px 1.5em;
    background-repeat: no-repeat;
}
/*IE用セレクト矢印消去*/
select::-ms-expand {
    display: none;
}

textarea {
    margin-top: 15px;
	width:680px;
	height:100px;
}
.sp_fa {
    /*FAテキストボックスの位置*/
    padding-left: 2em;
}
.text_num{
    /*テキストボックス数値入力用*/
    margin-top: 10px;
	width: 10em;
}
.text_fa{
    /*テキストボックスの幅FA*/
	margin-top: 10px;
	width:20em;
}

/*マトリクス用テーブルstart*/
.mttbl1 {
	border-collapse:collapse;
	width:100%;
	margin-top: 10px;
}
.mttbl1 .tr1{
	background: #d6e9ca;
}
.mttbl1 .tr2{
	background-color: #fff;
}
.mttbl1 .tr3{
	background-color: #ffffe5;
}
.mttr:focus, .mttr:hover {
	background-color: #dbffff;
}
.mttbl1 .td1{
	padding:7px;
	line-height:120%;
	border:1px #c0c0c0 solid;
	position: relative;
}
.mttbl1 .td_h1{
    height: 2em;
}
.bg01{
    background: #ffcc99;
}
.mttbl1 .td1 .lbl1 {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}
_:-ms-lang(x)::-ms-backdrop, .mttbl1 .td1 .lbl1 {/*IE11対応*/
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2.0em;
    margin: 0;
}
.mttbl1 .td1 .lbl1:hover {
    cursor: pointer;
}
.mttbl1 .td1 .mtradio {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    opacity: 0;
    width: 0;
    margin: 0;
}
.mttbl1 .td1 .mtradio:focus + .mtradio-dummy {
  border: solid 2px #a9a9a9;
}
.mttbl1 .td1 .mtradio:checked + .mtradio-dummy {
  border: solid 2px #007bbb;
}
.mttbl1 .td1 .mtradio:checked + .mtradio-dummy::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #007bbb;
}
.mtradio-dummy {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  border: solid 2px #888;
}
/*マトリクス用テーブルend*/

.d_toggle {	/* トグルボタン */
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20em;
    margin:0 auto;
    padding: 5px;
    border: 1px solid #627c1a;
    border-radius: 25px;
    background-color: #f9ffe6;
    color: #627c1a;
    font-size: 11pt;
	cursor: pointer;
}
