.pc_only, .bd-hidden, .th-hidden, .td-hidden { display: none; }
.mobile_only { display: block !important; }
.mobile_block { display: block; }

body, input, th, td, input, select, input[type="text"]  { font-size: inherit; word-break: break-all }

body { padding: 0; }
#header_inner { position: fixed; width: 100vw; top: 0px; }
/*#main, #content { background: url(../../../images/mobile/bg.gif) left top repeat rgb(241, 241, 241) !important;  } */
#main form[name="srh"], #main form[name="srh_lst"] { padding: 46px 0; background: url(../../../images/mobile/bg.gif) left top repeat rgb(241, 241, 241) !important; }

.footer { position: fixed; bottom: 0px; width: 100%; }
#footer_inner { background: none; }
#footer_btn { display: block !important; }

/* -------------------------------------------------------------- srh */

#header, #footer, .top_link, .head { display: none !important; }
#wrapper, #content, #srh_box, #srh_box div, .shadow { margin: 0 !important; padding: 0; box-shadow: none; width: inherit !important; height: inherit !important; }
#srh_box { border: none !important; background: url(../../../images/mobile/bg.gif) left top repeat rgb(241, 241, 241) !important; }
#logo a { background: none; }
a.btn_home { display: block !important; }
#top_titleB, #top_titleM, #top_titleM2 { border: none; background: url(../../../images/mobile/bg_sub_title.gif) repeat top left; }
#top_title {
  height: 50px;
  line-height: 50px;
  background: url(../../../images/mobile/sub_title.png) no-repeat;
  background-position: 12vw 12px;
  background-size: 24px 25px;
  color: #4C4C4C;
  font-size: 20px;
  font-weight: bold;
  *zoom: 1;
  *display: inline;
  border: none;
  text-align: center;
  width: 100%;
  padding: 0;
  border-bottom: dashed 1px #89685A;
}
.top_msg, .middle_msg { padding: 0.5em 0.5em 0.5em 1.5rem !important; text-indent: -1em; }
.top_msg img { display: none; }
#srh_box .kwd_size { width: calc(100vw - 8em); }
#srh_box .inp_kwd {
	height: 38px;
	padding-top: 9px;
	background: url(../../../images/mobile/search_bg.gif);
	position: relative;
	-moz-box-shadow: inset 0px 0px 5px 0px rgba(0,0,0,0.24);
	-webkit-box-shadow: inset 0px 0px 5px 0px rgb(0 0 0 / 24%);
	box-shadow: inset 0px 0px 5px 0px rgb(0 0 0 / 24%);
}
#srh_box .inp_kwd button {
  background: rgb(255,185,0);
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmYjkwMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZjk4MDAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top, rgb(255,185,0) 0%, rgb(255,152,0) 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(255,185,0)), color-stop(100%,rgb(255,152,0)));
  background: -webkit-linear-gradient(top, rgb(255,185,0) 0%,rgb(255,152,0) 100%);
  background: -o-linear-gradient(top, rgb(255,185,0) 0%,rgb(255,152,0) 100%);
  background: -ms-linear-gradient(top, rgb(255,185,0) 0%,rgb(255,152,0) 100%);
  background: linear-gradient(to bottom, rgb(255,185,0) 0%,rgb(255,152,0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffb900', endColorstr='#ff9800',GradientType=0 );
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -moz-box-shadow: inset 0px -1px 0px rgba(0,0,0,0.05) ,inset 0px 1px 0px rgba(255,255,255,0.5);
  -webkit-box-shadow: inset 0px -1px 0px rgb(0 0 0 / 5%), inset 0px 1px 0px rgb(255 255 255 / 50%);
  box-shadow: inset 0px -1px 0px rgb(0 0 0 / 5%), inset 0px 1px 0px rgb(255 255 255 / 50%);
  border: solid 1px #AA7818;
  font-weight: bold;
}
#srh_box .mid_msg { padding: 0.5em 0.5em 0 1.5rem !important; }
#srh_box .mid_msg img { display: none; }
#srh_box .naiyo-box { margin: 0 0.5em !important; box-shadow: 0 1px 3px rgb(0 0 0 / 10%) !important; border-radius: 0.5em; }
#srh_box .naiyo-box table { width: 100%; }
#srh_box .naiyo-box td { display: block; padding: 0;}
#srh_box .naiyo-box td span.naiyo { width: 35vw !important; padding-left: 2em !important; }
#srh_box .naiyo-box td span.naiyo input { margin-right: 0.3em; }

/* -------------------------------------------------------------- srh_do */

.criteria td.list { border-radius: 0.5em; width: calc(100vw - 2em); margin: 0 0.5em !important; display: block; }
.hit-num {
  background: url(../../../images/mobile/bg_sub_title.gif) repeat top left;
  background-size: 57px 57px;
  padding: 5px 3.125%;
  width: 100%;
  border-style: dashed none;
  border-top: 1px dashed rgb(137, 104, 90);
  border-bottom: 1px dashed rgb(137, 104, 90);
  margin-bottom: 10px;
}
.hit-num .right { text-align: center; }
img[alt="book"], .result_table td.list2-l, .result_table .list2-r hr { display: none; }
.result_table { width: calc(100vw - 1em); margin: 0 0.5em !important; }
.result_table .tr-bgcolor, hr.hr-grad { display: none; }
.result_table th { display: none; }
.result_table td span.list_num {
    display: inline-block !important;
    height: 14px;
    line-height: 14px;
    padding: 0 4px;
    margin: 0 5px 0 0;
    background: #F18B00;
    border-radius: 2px;
    vertical-align: 2px;
    color: #FFFFFF;
    font-size: 10px;
    box-shadow: 0 2px 3px 0 rgb(0 0 0 / 40%) inset;
    -webkit-box-shadow: 0 2px 3px 0 rgb(0 0 0 / 40%) inset;
}
.result_table td.title { font-weight: bold; background: #fff; border-radius: 0.5em 0.5em 0 0; border-style: solid solid none solid; display: block; box-shadow: 0 1px 3px rgb(0 0 0 / 10%); }
.result_table td.title font.td-hidden { display: block; border-bottom: dashed 1px #89685A; padding-bottom: 0.5em; height: 2px; color: #fff; }
.result_table td.list2-r { background: #fff; border-top: 1px solid #D0CCA4; border-radius: 0 0 0.5em 0.5em; border-width: 0px 1px 1px 1px !important; display: block; margin-bottom: 1em; box-shadow: 0 1px 3px rgb(0 0 0 / 10%); }
.result_table td.list2-r font.th-text { display: inline-block; min-width: 90vw !important; }
.result_table td.list2-r font:nth-of-type(1):before { content: '回答: '; color: #FF9900; } /* 多言語対応の際は、erbに文字の含まれる部分を移動させる */
.result_table td.list2-r font:nth-of-type(3):before { content: '備考: '; color: #FF9900; }
.result_table td.list2-r div.kousindate:before { content: '更新日: '; color: #FF9900; }

.prev.disabled { background: url(../../../images/mobile/btn_prev_l_disabled.gif) no-repeat scroll left top transparent; }
.prev { background: url(../../../images/mobile/btn_prev_l.gif) no-repeat scroll left top transparent; }
.prev, .next { width: 93px; overflow: hidden; white-space: nowrap; text-indent: 100%; }
.prev, .next, .counter { float: left; display: block; height: 34px; line-height: 33px; }
.counter { width: 98px; background: url(../../../images/mobile/bg_page_num.gif) repeat-x scroll left top transparent; font-size: 11px; text-align: center; }
.next.disabled { background: url(../../../images/mobile/btn_next_l_disabled.gif) no-repeat scroll left top transparent; }
.next { background: url(../../../images/mobile/btn_next_l.gif) no-repeat scroll left top transparent; }
.footer_item { width: fit-content; margin: 0 auto 1em auto; text-align: center;}

/* -------------------------------------------------------------- srh_detail */

.top_space { padding-top: 40px; }
.mobile_top_link { text-align: center; }
.mobile_top_link a {
  display: block;
  margin: 0 auto 10px auto;
  width: 200px;
  height: 1em;
  line-height: 1.1em;
  padding: 5px 0.8em;
  min-width: 150px;
  background: #f9f9f9;
  background: -moz-linear-gradient(top, #f9f9f9 0%, #eeeeee 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9f9f9), color-stop(100%,#eeeeee));
  background: -webkit-linear-gradient(top, #f9f9f9 0%,#eeeeee 100%);
  background: -o-linear-gradient(top, #f9f9f9 0%,#eeeeee 100%);
  background: -ms-linear-gradient(top, #f9f9f9 0%,#eeeeee 100%);
  background: linear-gradient(to bottom, #f9f9f9 0%,#eeeeee 100%);
  border: solid 1px #DED5CF;
  border-radius: 1em;
  box-shadow: inset 0 1px 0 rgb(255 255 255);
  text-align: center;
  color: #4C4C4C;
  font-size: 13px;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgb(255 255 255);
  *display: inline-block;
  *zoom: 1;
}
.header_pager { width: fit-content; margin: 1em auto 4em auto; text-align: center; }

.detail_table, #shozo_table { margin: 0 0.5em !important; width: calc(100vw - 1em) !important; }
.detail_table div.top_links { text-align: right; padding: 0.5em;}
.detail_table td.list a:link, .detail_table td.list a:visited, .detail_table td.list a:active, #shozo_table td.list a:link, #shozo_table td.list a:visited, #shozo_table td.list a:active { color: #FF9900; text-decoration: none; }

.detail_table { box-shadow: 0 1px 3px rgb(0 0 0 / 10%); }
.detail_table th, .detail_table td { display: block; margin: 0 !important; border: solid 1px #d1d0d0; border-style: solid solid none solid; }
.detail_table th {
  line-height: 1em;
  padding: 5px 10px;
  background: #f9f9f9;
  background: -moz-linear-gradient(top, #f9f9f9 0%, #eeeeee 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9f9f9), color-stop(100%,#eeeeee));
  background: -webkit-linear-gradient(top, #f9f9f9 0%,#eeeeee 100%);
  background: -o-linear-gradient(top, #f9f9f9 0%,#eeeeee 100%);
  background: -ms-linear-gradient(top, #f9f9f9 0%,#eeeeee 100%);
  background: linear-gradient(to bottom, #f9f9f9 0%,#eeeeee 100%);
  box-shadow: inset 0 1px 0 rgb(255 255 255);
  font-weight: bold;
  text-align: left;
  color: #4C4C4C;
}
.detail_table td { padding: 0.5em; background: #FFF; }
.detail_table tr:nth-of-type(1) th { border-radius: 0.5em 0.5em 0px 0px; width: auto; }
.detail_table tr:last-child td { border-radius: 0px 0px 0.5em 0.5em; border-style: none solid solid solid; }
h3.sub_title_detail, table.sub_title_detail tr {
  display: block;
  height: 43px;
  line-height: 1em;
  margin-bottom: 20px;
  padding: 0 3.125%;
  background: url(../../../images/mobile/bg_sub_title.gif) repeat top left;
  background-size: 57px 57px;
  border-style: dashed;
  border-color: #89685A;
  border-width: 1px 0;
  overflow: hidden;
  clear: both;
}
h3.sub_title_detail span, table.sub_title_detail td {
  padding-left: 22px;
  background: url(../../../images/mobile/sub_title_s.png) no-repeat;
  background-position: 0 center;
  color: #4C4C4C;
  font-size: 15px;
  line-height: 45px;
  font-weight: bold;
}

#shozo_table span.list_num {
  display: inline-block !important;
  height: 14px;
  line-height: 14px;
  padding: 0 4px;
  margin: 0 5px 0 0;
  background: #F18B00;
  border-radius: 2px;
  vertical-align: 2px;
  color: #FFFFFF;
  font-size: 10px;
  box-shadow: 0 2px 3px 0 rgb(0 0 0 / 40%) inset;
  -webkit-box-shadow: 0 2px 3px 0 rgb(0 0 0 / 40%) inset;
}

#shozo_table { box-shadow: 0 1px 3px rgb(0 0 0 / 10%); margin-bottom: 1em !important; }
#shozo_table th { display: none; }
#shozo_table td { display: block; margin: 0 !important; border: solid 1px #d1d0d0; border-style: none solid; background: #fff; padding: 0 0.5em; }
#shozo_table tr:nth-of-type(2) td.title { border-radius: 0.5em 0.5em 0px 0px; border-style: solid solid none solid; }
#shozo_table td.title { font-weight: bold; padding-top: 0.5em;}
#shozo_table td.siryo_id:before { content: '資料番号: '; color: #FF9900; } /* 多言語対応の際は、erbに文字の含まれる部分を移動させる */
#shozo_table td.author:before { content: '著者名: '; color: #FF9900; }
#shozo_table td.publisher:before { content: '出版社: '; color: #FF9900; }
#shozo_table td.year:before { content: '出版年: '; color: #FF9900; }
#shozo_table td.seikyukigou:before { content: '請求記号: '; color: #FF9900; }
#shozo_table td.page:before { content: 'ページ: '; color: #FF9900; }
#shozo_table td:last-child { border-bottom: solid 1px #d1d0d0; display: block; padding-bottom: 0.5em !important;}
#shozo_table tr:last-child td:last-child { border-radius: 0px 0px 0.5em 0.5em; border-style: none solid solid solid; }
span.portrait { transform: scale(1.4, 1.6); transform-origin: 0px 50%; display: block; font-size: 0.5em; }
#main form[name="detail"] { padding-bottom: 46px; }

/* -------------------------------------------------------------- input */

#top { padding-top: 46px; margin-bottom: 0; }
.info { margin: 0.5em }
.ref_input_tbl1, .ref_input_tbl2 { margin: 0.5em !important; width: calc(100vw - 1em) !important; background: #fff; box-shadow: 0 1px 3px rgb(0 0 0 / 10%); }
.ref_input_tbl1 a:link, .ref_input_tbl1 a:visited, .ref_input_tbl1 a:active, .ref_input_tbl2 a:link, .ref_input_tbl2 a:visited, .ref_input_tbl2 a:active { color: #FF9900; text-decoration: none; }
.ref_input_tbl1 th, .ref_input_tbl1 td, .ref_input_tbl2 th, .ref_input_tbl2 td { display: block; margin: 0 !important; border: solid 1px #d1d0d0; border-style: solid solid none solid; white-space: inherit; }
.ref_input_tbl1 th, .ref_input_tbl2 th {
  line-height: 1em;
  padding: 5px 10px;
  background: #f9f9f9;
  background: -moz-linear-gradient(top, #f9f9f9 0%, #eeeeee 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9f9f9), color-stop(100%,#eeeeee));
  background: -webkit-linear-gradient(top, #f9f9f9 0%,#eeeeee 100%);
  background: -o-linear-gradient(top, #f9f9f9 0%,#eeeeee 100%);
  background: -ms-linear-gradient(top, #f9f9f9 0%,#eeeeee 100%);
  background: linear-gradient(to bottom, #f9f9f9 0%,#eeeeee 100%);
  box-shadow: inset 0 1px 0 rgb(255 255 255);
  font-weight: bold;
  text-align: left;
  color: #4C4C4C;
  width: auto;
}
.ref_input_tbl1 td, .ref_input_tbl2 td { padding: 0.5em; }
.ref_input_tbl1 tr:nth-of-type(1) th, .ref_input_tbl2 tr:nth-of-type(1) th { border-radius: 0.5em 0.5em 0px 0px; width: auto; }
.ref_input_tbl1 tr:last-child td, .ref_input_tbl2 tr:last-child td { border-radius: 0px 0px 0.5em 0.5em; border-style: none solid solid solid; }

.ref_input_tbl1 th.kanji, .ref_input_tbl1 th.kana, .ref_input_tbl1 th.post, .ref_input_tbl1 th.add, .ref_input_tbl1 th.mail, .ref_input_tbl1 th.mail2, .ref_input_tbl2 td.kanji, .ref_input_tbl2 th.kana, .ref_input_tbl2 td.kana { background: inherit; border-style: none solid; border-radius: 0px !important;
}
.ref_input_tbl2 th.kanji { background: inherit; border-style: solid solid none solid; border-radius: 0px !important; }
.ref_input_tbl1 td { border-style: none solid; }
.ref_input_tbl1 span.card_no { padding: inherit; }
.ref_input_tbl2 td label { display: inline-block; }
#main form[name="reset"] { padding-bottom: 1em; }

/* 20240104 ADDS マルチデバイス対応 */
.ref_input_tbl2 textarea { width: 90% }
.ref_input_name { width: 70% }
.mail_input_box { width: 80% }
/* 20240104 ADDE マルチデバイス対応 */

/* -------------------------------------------------------------- confirm */

colgroup { display: none; }
body.confirm h2.page_title span { transform: scale(1.0, 1.5); transform-origin: 20px 50%; display: block; font-size: 16px; background-size: 23px 18px; background-position: 5px 15px; }
table.top_msg_table { margin: 1em 0.5em; width: calc(100vw - 1em); border: none; }
table.top_msg_table	td.msg { padding: 1em; border: dashed 1px #89685A; border-radius: 1em; display: block; }

/* -------------------------------------------------------------- result */

html { background: url(../../../images/mobile/bg.gif); }


.required_item { display: block; } /* 20221110 Add SGP-CSTM-2022-RIY-0008 JIS-8341対応 */

/* 20231228 ADDS マルチデバイス対応 */
/*-----------------------------------*/
#btn_submit, #btn_submit span, #btn_reset, #btn_reset span {
  min-width: 150px;
  margin-bottom: 5px;
}

#btn_reset, #btn_reset span {
  display: inline-block;
  height: 35px;
  line-height: 36px;
/*  background: url(../../../images/mobile/btn_white.gif) no-repeat top left;*/
/*  color: #6C6360;*/
  background: var(--bg-btn-main);
  color: var(--tx-btn-main);
  border-radius: var(--rd-btn-main);

  font-size: 15px;
  font-weight: bold;
  /* for IE6 */
  *display: inline;
  zoom: 1;
  cursor: pointer;
  overflow:hidden;
}
#btn_reset, #btn_reset:hover {
  min-width: 60px;
  padding-left: 30px;
  color: #6C6360;
  font-size: 15px;
  text-align: center;
  text-decoration: none;
}
#btn_reset span { background-position: right top !important; padding-right: 30px; }


#btn_submit, #btn_submit span {
  display: inline-block;
  height: 35px;
  line-height: 36px;
/*  background: url(../../../images/mobile/btn_white.gif) no-repeat top left;*/
/*  color: #6C6360;*/
  background: var(--bg-btn-main);
  color: var(--tx-btn-main);
  border-radius: var(--rd-btn-main);

  font-size: 15px;
  font-weight: bold;
  /* for IE6 */
  *display: inline;
  zoom: 1;
  cursor: pointer;
  overflow:hidden;
}
#btn_submit, #btn_submit:hover {
  min-width: 60px;
  padding-left: 30px;
  color: #6C6360;
  font-size: 15px;
  text-align: center;
  text-decoration: none;
}
#btn_submit span { background-position: right top !important; padding-right: 30px; }

.submit_area {
  padding-bottom: 35px;
  text-align: center;
}

#ref_tel1, #ref_tel2, #ref_tel3,
#ref_fax1, #ref_fax2, #ref_fax3 {
 width:75px;
}

/*-----------------------------------*/
/* 20231228 ADDE マルチデバイス対応 */