/***************************************************
 共通スタイル
***************************************************/

html
{
	font-size		: 13px;
	font-family		: 'ＭＳ ゴシック', sans-serif;
	font-weight		: normal;
	line-height		: 130%;
}

body 
{
    margin          : 0px;
}

input, textarea, select, table
{
	font-size		: 13px;
	font-family		: 'ＭＳ ゴシック', sans-serif;
	font-weight		: normal;
}

table
{
	border-collapse	: collapse;
	line-height		: 130%;
}

h1.title
{
	line-height		: 130%;
	margin			: 5px 0px;
	padding			: 10px;
	font-size		: 24px;
	font-family		: 'ＭＳ ゴシック', sans-serif;
	font-weight		: normal;
	text-align		: center;
}

h2.title
{
	line-height		: 110%;
	margin			: 5px 0px;
	padding			: 5px;
	font-size		: 24px;
	font-family		: 'ＭＳ ゴシック', sans-serif;
	font-weight		: normal;
	text-align		: center;
}

h3.title
{
	margin			: 5px 0px;
	padding			: 5px;
	font-family		: 'ＭＳ ゴシック', sans-serif;
	font-weight		: normal;
	text-align		: center;
}

span.em
{
	font-weight		: bold;
}

span.em2
{
	font-weight		: bold;
	padding			: 2px;
}

span.tel
{
	font-size		: 10px; 
	font-family		: 'ＭＳ ゴシック', sans-serif; 
	font-weight		: normal; 
}

span.logout
{
	font-size		: 10px;
	font-family		: 'ＭＳ ゴシック', sans-serif; 
	font-weight		: normal; 
	line-height		: 120%;
	display			: inline-block;
	padding-top		: 2px;
}

img
{
	border			: none 0px #ffffff;
}

td.tbl_base
{
	padding			: 10px 5px;
}

/*------------------------------
 ナビ用テーブル
------------------------------*/

table.navi
{
	border-collapse	: separate;
	border-spacing	: 0px 2px;
	width			: 180px;
	border			: none 0px #ffffff;
	line-height		: 100%;
}

table.navi td
{
	border			: 1px solid #000000;
	text-align		: center;
	padding			: 0px;
	height			: 40px;
	font-size		: 12px;
	font-family		: 'ＭＳ ゴシック', sans-serif;
}

table.navi td.navi_title
{
	border			: none;
}

table.navi td.select
{
}

/*------------------------------
 ページヘッダー用テーブル
------------------------------*/

table.page_header
{
	border			: none 0px #ffffff;
	margin-bottom	: 5px;
}

table.page_guide
{
	border			: solid 1px #000000;
	margin			: 0px auto 10px auto;
}

table.page_guide tr td 
{
	border			: none;
	border-bottom	: solid 1px #000000;
	border-left		: solid 1px #000000;
}

/*------------------------------
 質問用テーブル
------------------------------*/

table.ques1, table.ques2
{
	border			: none 0px #ffffff;
	margin-bottom	: 20px;
}

td.ques_header
{
	padding			: 5px 3px;
}

td.ques_body
{
	padding			: 5px 25px;
}

td.ques_no
{
	font-weight		: bold;
	vertical-align	: top;
	padding-right	: 3px;
}

/*------------------------------
 質問のヘッダーに来るタイトル用テーブル
------------------------------*/

table.ques_title
{
	border			: none 0px #ffffff;
	padding			: 0px;
}

td.ques_title_msg
{
	font-weight		: bold; 
	margin			: 0px;
	padding			: 5px 3px;
}

table.ques_hissu
{
	border			: none 0px #ffffff;
	padding			: 0px;
	margin-bottom	: 3px;
}

td.ques_title_hissu
{
	font-weight			: bold; 
	margin				: 0px 0px 5px 0px;
	padding				: 5px 3px;
	color				: #ffffff;
	background-color	: #ff0000;
}
/*------------------------------
 マトリックス用テーブル
------------------------------*/

table.matrix
{
	width			: 100%;
	border			: none 0px #ffffff;
}

table.matrix th
{
	font-weight		: normal; 
	text-align		: center;
	vertical-align	: top;
}

table.matrix td
{
	padding			: 2px 3px;
}

th.matrix_tl, td.matrix_tl
{
	border-top		: 1px solid #000000;
	border-left		: 1px solid #000000;
}

th.matrix_trl, td.matrix_trl
{
	border-top		: 1px solid #000000;
	border-right	: 1px solid #000000;
	border-left		: 1px solid #000000;
}

th.matrix_tbl, td.matrix_tbl
{
	border-top		: 1px solid #000000;
	border-bottom	: 1px solid #000000;
	border-left		: 1px solid #000000;
}

th.matrix_trbl, td.matrix_trbl
{
	border			: 1px solid #000000;
}


/*------------------------------
 情報確認用テーブル
------------------------------*/

table.info
{
	border			: none 0px #ffffff;
	padding			: 0px;
	font-size		: 15px;
	font-family		: 'ＭＳ ゴシック', sans-serif; 
	font-weight		: normal; 
	margin			: 20px auto;
}

table.info td
{
	margin			: 0px;
	padding			: 20px;
}

/*------------------------------
 エラーメッセージ
------------------------------*/

td.ques_error
{
    background-color    : #ff0000;
    color               : #ffffff;
	line-height			: 110%;
}

/*------------------------------
 ログイン画面
------------------------------*/

table.login
{
	border				: none 0px #ffffff;
	padding				: 0px;
}

table.login h1
{
	border				: 2px solid #ff0000;
}

table.login h3
{
	border				: 2px solid #ff0000;
}

input.login
{
	font-family			: 'ＭＳ ゴシック', sans-serif; 
	font-weight			: normal; 
	border				: 1px solid #000000;
	padding				: 2px;
}

span.login_msg
{
	font-size			: 16px; 
	font-family			: 'ＭＳ ゴシック', sans-serif; 
	font-weight			: normal; 
}

span.login_area
{
	display				: inline-block;
	padding				: 15px 30px;
    background-color    : #ffeeee;
	font-size			: 24px; 
	font-family			: 'ＭＳ ゴシック', sans-serif; 
	font-weight			: normal; 
}

a.login
{
	width				: 80px;
    display             : block;
    color               : #ffffff;
    padding             : 5px;
	background-color	: #ff0000;
	border              : 1px solid #ff0000;
	font-size		    : 12px;
	font-family		    : 'ＭＳ ゴシック', sans-serif;
	text-decoration     : none;
}

a.login:hover
{
    position            : relative;
    top                 : 1px;
    left                : 1px;
    text-decoration     : underline;
}

table.pnlp,
table.pnlt,
/*//+20251110J	↓↓↓↓↓ */
table.pnls1,
table.pnls2,
table.pnls3,
/*//+20251110J	↑↑↑↑↑ */
table.pnls {
	display: none;
}

/*//+20251110J	↓↓↓↓↓ */
table.visible {
	display				: none;
}
/*//+20251110J	↑↑↑↑↑ */

/***************************************************
 PC
***************************************************/
@media screen and (min-width: 1025px) {
	table.page_header, 
	table.ques1, 
	table.ques2, 
	table.ques_title,
	table.info,
	table.login
	{
		width			: 820px;
	}

	input.login
	{
		font-size			: 24px; 
	}
	
    textarea.address
    {
        resize              : none;
    }

	table.pnlp
	{
		display				: table;
	}

	table.pnlt,
	/*//+20251110J	↓↓↓↓↓ */
	table.pnls1,
	table.pnls2,
	table.pnls3,
	/*//+20251110J	↑↑↑↑↑ */
	table.pnls {
		display: none;
	}
}
/***************************************************
 TAB
***************************************************/
@media screen and (max-width: 1024px) {
	table.page_header, 
	table.ques1, 
	table.ques2, 
	table.ques_title,
	table.info,
	table.login
	{
		width			: 750px;
	}

	input.login
	{
		font-size			: 24px; 
	}

    textarea.address
    {
        resize              : none;
    }

	td.ques_error
	{
		max-width			: 595px;
	}

	table.pnlt
	{
		display				: table;
	}

	table.pnlp,
	/*//+20251110J	↓↓↓↓↓ */
	table.pnls1,
	table.pnls2,
	table.pnls3,
	/*//+20251110J	↑↑↑↑↑ */
	table.pnls {
		display: none;
	}
}
/***************************************************
 SP
***************************************************/
@media screen and (max-width: 767px) {
	table.page_header, 
	table.ques1, 
	table.ques2, 
	table.ques_title,
	table.info,
	table.login
	{
		width			: 330px;
	}

    table.info td
    {
	    margin			: 0px;
	    padding			: 2px;
    }

	input.login
	{
		font-size			: 12px; 
	}

	input.txt
	{
		width				: 200px;
	}

	input.address
	{
		width				: 180px;
	}

    textarea.txt
    {
		width				: 250px;
		height              : 100px;
    }
    
    textarea.address
    {
		width				: 180px;
		height              : 30px;
    }

	td.ques_error
	{
		max-width			: 295px;
	}

	/*//+20251110J	↓↓↓↓↓ */
	table.pnls1,
	table.pnls2,
	table.pnls3 {
		display: none;
	}
	/*//+20251110J	↑↑↑↑↑ */

	table.pnls {
		display				: table;
	}

	/*//+20251110J	↓↓↓↓↓ */
	table.visible
	{
		display : table;
	}
	/*//+20251110J	↑↑↑↑↑ */

	table.pnlp,
	table.pnlt {
		display: none;
	}

    span.login_area
    {
	    padding				: 15px;
	    font-size			: 15px; 
    }
}

.spinner {
	width: 32px;
	height: 32px;
	margin: auto;
	border: 4px #ddd solid;
	border-top: 4px #2e93e6 solid;
	border-radius: 50%;
	animation: sp-anime 1.0s infinite linear;
}

@keyframes sp-anime {
	100% {
		transform: rotate(360deg);
	}
}

@keyframes blink {
	0%,100% {
		opacity: 0;
	}

	35%,65% {
		opacity: 1;
	}
}

/*//+20251110J	↓↓↓↓↓ */
div.fnt {
	display: grid;
	grid-template-rows: 30px;
	grid-template-columns: 1fr 40px 5px 40px 5px 40px;
	margin: 8px 0px 5px auto;
	border: none;
}

div.fnt_msg {
	grid-row: 1/2;
	grid-column: 1/2;
	text-align: right;
	padding: 0px 5px 0px 0px;
	font-size: 20px;
	line-height: 28px;
}

a.fnt_btn1 {
	grid-row: 1/2;
	grid-column: 6/7;
	text-align: center;
	font-size: 20px;
	line-height: 28px;
	display: block;
	color: black;
	background-color: white;
	border: 1px solid black;
	font-family: 'ＭＳ ゴシック', sans-serif;
	text-decoration: none;
}

a.fnt_btn2 {
	grid-row: 1/2;
	grid-column: 4/5;
	text-align: center;
	font-size: 23px;
	line-height: 28px;
	display: block;
	color: black;
	background-color: white;
	border: 1px solid black;
	font-family: 'ＭＳ ゴシック', sans-serif;
	text-decoration: none;
}

a.fnt_btn3 {
	grid-row: 1/2;
	grid-column: 2/3;
	text-align: center;
	font-size: 26px;
	line-height: 28px;
	display: block;
	color: black;
	background-color: white;
	border: 1px solid black;
	font-family: 'ＭＳ ゴシック', sans-serif;
	text-decoration: none;
}


table.pnls1 h3.title {
	line-height: 110%;
}

table.pnls1 a.btn {
	font-size: 18px !important;
}

table.pnls1 input,
table.pnls1 textarea,
table.pnls1 select,
table.pnls1 table {
	font-size: 20px !important;
	line-height: 110%;
}

table.pnls1 td.ques_header table,
table.pnls1 td.ques_body table {
	font-size: 20px !important;
	line-height: 110%;
}

table.pnls1 span.em {
	font-size: 20px !important;
}

table.pnls1 span.logout {
	font-size: 15px !important;
}

table.pnls1 table.ques_title {
	font-size: 20px !important;
}

table.pnls1 td.ques_error {
	font-size: 20px !important;
	line-height: 110%;
}

table.pnls1 div.fnt_msg {
	font-size: 18px !important;
}


table.pnls2 h3.title {
	line-height: 110%;
}

table.pnls2 a.btn {
	font-size: 21px !important;
}

table.pnls2 input,
table.pnls2 textarea,
table.pnls2 select,
table.pnls2 table {
	font-size: 23px !important;
	line-height: 110%;
}

table.pnls2 td.ques_header table,
table.pnls2 td.ques_body table {
	font-size: 23px !important;
	line-height: 110%;
}

table.pnls2 span.em {
	font-size: 23px !important;
}

table.pnls2 span.logout {
	font-size: 18px !important;
}

table.pnls2 table.ques_title {
	font-size: 23px !important;
}

table.pnls2 td.ques_error {
	font-size: 23px !important;
	line-height: 110%;
}

table.pnls2 div.fnt_msg {
	font-size: 20px !important;
}


table.pnls3 h3.title {
	line-height: 110%;
}

table.pnls3 a.btn {
	font-size: 24px !important;
}

table.pnls3 input,
table.pnls3 textarea,
table.pnls3 select,
table.pnls3 table {
	font-size: 26px !important;
	line-height: 110%;
}

table.pnls3 td.ques_header table,
table.pnls3 td.ques_body table {
	font-size: 26px !important;
	line-height: 110%;
}

table.pnls3 span.em {
	font-size: 26px !important;
}

table.pnls3 span.logout {
	font-size: 18px !important;
}

table.pnls3 table.ques_title {
	font-size: 26px !important;
}

table.pnls3 td.ques_error {
	font-size: 26px !important;
	line-height: 110%;
}

table.pnls3 div.fnt_msg {
	font-size: 23px !important;
}

table.pnls1 input[type=text],
table.pnls2 input[type=text],
table.pnls3 input[type=text] {
	width: 100%;
}

table.pnls1 textarea {
	width: 100%;
	height: 160px;
	box-sizing: border-box;
}

table.pnls2 textarea {
	width: 100%;
	height: 190px;
	box-sizing: border-box;
}

table.pnls3 textarea {
	width: 100%;
	height: 230px;
	box-sizing: border-box;
}
/*//+20251110J	↑↑↑↑↑ */
