@charset "utf-8";

/* ==========================================================================
 style_2023
=========================================================================== */
body.style_2023,
body.style_2023 input,
body.style_2023 select,
body.style_2023 textarea,
body.style_2023 .formBtnArea #btn_confirm input[name="qConf"],
body.style_2023 .formBtnArea #btn_back input[name="qBack"],
body.style_2023 .formBtnArea #btn_send input[name="qConf"] {
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "游ゴシック", sans-serif;
    font-size: 16px;
    line-height: 24px;
	color: #1a1a1a;
}

body.style_2023 .formBtnArea #btn_confirm input[name="qConf"],
body.style_2023 .formBtnArea #btn_send input[name="qConf"] {
	color: #fff;
}

body.style_2023 #str_container #str_center {
	width: auto;
}

body.style_2023 .page_number p {
    font-size: 14px;
}
body.style_2023 #res_footer address {
    font-size: 12px;
}

body.style_2023 a:link,
body.style_2023 a:visited {
  color: #0071BE;
  text-decoration: underline;
}
body.style_2023 a:hover {
  /*color: #5EAADE;*/
  text-decoration: none;
  transition: 0.3s;
}

body.style_2023 font[color="red"] {
  font-weight: normal;
  font-size: 12px;
  color: #fff;
  text-indent: 0;
  line-height: 15px;
  display: inline-block;
  width: 32px;
  height: 14px;
  padding: 3px 6px;
  background: #D7373D;
  border-radius: 4px;
  vertical-align: middle;
  text-align: center;
  margin-top: -2px;
}
body.style_2023 td.error font[color="red"] {
  font-size: 16px;
  color: red;
  width: auto;
  height: auto;
  padding: 0;
  background: none;
  border-radius: 0;
  text-align: left;
  margin-top: 10px;
}

body.style_2023 #str_container #str_center h1,
body.style_2023 #str_container #str_center h2,
body.style_2023 #str_container #str_center h3 {
	font-weight: bold;
	padding: 0;
	background: none;
	border: none;
}

body.style_2023 #str_container #str_center h1 {
    font-size: 24px;
    line-height: 30px;
    margin-bottom: 24px;
}
body.style_2023 #str_container #str_center h1#ttl_questionnaire span.ttl_substitution span {
    font-size: 24px;
    line-height: 30px;
}

body.style_2023 #str_container #str_center h2 {
    font-size: 20px;
    line-height: 24px;
	margin-bottom: 16px;
}

body.style_2023 #str_container #str_center h3 {
    font-size: 16px;
    line-height: 24px;
	margin-bottom: 4px;
}

body.style_2023 #str_container #str_center p {
	margin-top: 0px;
}

body.style_2023 .mvBlock {
	margin-bottom: 56px;
	text-align: center;
}

body.style_2023 .textBlock {
	margin-bottom: 16px;
}
body.style_2023 .textBlock:last-of-type {
	margin-bottom: 36px;
}

body.style_2023 .textBlock ul li {
	text-indent: -1em;
	margin-left: 1em;
	margin-bottom: 4px;
}
body.style_2023 .textBlock ul.alphabet li {
	text-indent: -1.7em;
	margin-left: 1.7em;
}
body.style_2023 .textBlock ul.annotation li {
	text-indent: -1em;
	margin-left: 1em;
}

body.style_2023 #str_container table.tbl,
body.style_2023 #str_container table.tbl th {
	font-size: 16px;
	border: 1px solid #DEDEDF;
}

body.style_2023 #str_container table.tbl {
	margin-bottom: 24px !important;
	border-collapse: separate;
	border-radius: 6px 6px 6px 6px;
}

body.style_2023 #str_container table.tbl th span {
	display: block;
	text-indent: -2.8em;
	margin-left: 2.8em;
}

body.style_2023 #str_container table.tbl table + br {
	display: none;
}

body.style_2023 #str_container table.tbl th {
	border: none;
	border-bottom: 1px solid #DEDEDF;
	background-color: #F4F4F4;
	padding: 20px;
}

body.style_2023 #str_container table.tbl th span {
	display: block;
	text-indent: -2.8em;
	margin-left: 2.8em;
}

body.style_2023 #str_container table.tbl td {
	border: none;
	padding: 20px;
}

body.style_2023 #str_container table.tbl td.error {
	background: rgba(255,0,0,0.08);
}

body.style_2023 #str_container table.tbl table.radio-block td,
body.style_2023 #str_container table.tbl td table td {
	padding: 0px;
}

body.style_2023 #str_container table.tbl table.radio-block td,
body.style_2023 #str_container table.tbl table.check-block td {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-radius: 4px;
}

body.style_2023 #str_container table.tbl table td input[type=checkbox],
body.style_2023 #str_container table.tbl table.radio-block td input[type=radio] {
	display: none;
}

body.style_2023 #str_container table.tbl table td input[type=checkbox] + label,
body.style_2023 #str_container table.tbl table.radio-block td input[type=radio] + label {
	display: inline-block;
	width: 95%;
	padding: 9px 8px 7px 41px;
	position: relative;
	cursor: pointer;
}

body.style_2023 #str_container table.tbl table td input[type=checkbox] + label::before,
body.style_2023 #str_container table.tbl table.radio-block td input[type=radio] + label::before {
  position: absolute;
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: #efefef;
  border: 2px solid #767676;
  top: 8px;
  left: 12px;
}

body.style_2023 #str_container table.tbl table td input[type=checkbox] + label::before {
  border-radius: 4px;
}

body.style_2023 #str_container table.tbl table.radio-block td input[type=radio] + label::before {
  border-radius: 50%;
}

body.style_2023 #str_container table.tbl table td input[type=checkbox]:checked + label::before {
  background: #fff;
  border: 2px solid #0071BE;
}

body.style_2023 #str_container table.tbl table.radio-block td input[type=radio]:checked + label::before {
  background: #fff;
  border: 2px solid #0071BE;
}

body.style_2023 #str_container table.tbl table td input[type=checkbox] + label::after {
  position: absolute;
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  background: transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 170.57" fill="%230071BE"><path d="M190.7,263.769a22.288,22.288,0,0,0-16.9,8.2L87.768,374.526,54.414,322.551A22.287,22.287,0,1,0,16.9,346.627l49.716,77.462a22.287,22.287,0,0,0,35.825,2.288l105.508-125.76A22.287,22.287,0,0,0,190.7,263.769Z"  transform="translate(-13.367 -263.766)"/></svg>') no-repeat;
  top: 12px;
  left: 15px;
  opacity: 0;
  transition: .4s;
}

body.style_2023 #str_container table.tbl table.radio-block td input[type=radio] + label::after {
  position: absolute;
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #0071BE;
  top: 15px;
  left: 19px;
  opacity: 0;
  transition: .4s;
}

body.style_2023 #str_container table.tbl table td input[type=checkbox]:checked + label::after,
body.style_2023 #str_container table.tbl table.radio-block td input[type=radio]:checked + label::after {
	opacity: 1;
}

body.style_2023 #str_container table.tbl table.check-block td:hover,
body.style_2023 #str_container table.tbl table.radio-block td:hover {
	background: #C5E6FF;
	/*border: 1px solid #0071BE;*/
	/*border-radius: 4px;*/
}

body.style_2023 #str_container table.tbl table input:checked + label {
  font-weight: bold;
}

body.style_2023 #str_container table.tbl table.radio-block td input[type=text] {
  border: 2px solid #AAAAAA;
  border-radius: 4px;
  padding: 4px 8px;
  transition: .4s;
}

body.style_2023 #str_container table.tbl table.radio-block td input[type=radio] + label + br {
  display: none;
}

body.style_2023 #str_container table.tbl table.radio-block td input[type=radio] + label + br + input[type=text] {
  margin: 10px 0;
}

body.style_2023 #str_container table.tbl table.radio-block td input[type=text]:focus {
  border: 2px solid #0071BE;
  outline: none;
}

body.style_2023 #str_container table.tbl table.radio-block td input[type=radio] + label span, 
body.style_2023 #str_container table.tbl table.check-block td input[type=checkbox] + label span {
	display: inline-block;
	white-space: break-spaces;
}

/* カレンダー日付選択 */
body.style_2023 #str_container table.tbl label.form_input_wrapper {
  margin-right: .6em;
}
body.style_2023 #str_container table.tbl label.form_input_wrapper:after {
	content: '　';
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
  width: 20px;
  cursor: pointer;
	background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%233b4956' d='M149.2 103.5c16 0 29-13 29-29V29c0-16-13-29-29-29s-29 13-29 29v45.6c0 16 13 28.9 29 28.9zm213.6 0c16 0 29-13 29-29V29c0-16-13-29-29-29s-29 13-29 29v45.6c0 16 13 28.9 29 28.9zm72.4-62.2h-17.9v33.3c0 30-24.4 54.4-54.4 54.4s-54.4-24.4-54.4-54.4V41.3H203.6v33.3c0 30-24.4 54.4-54.4 54.4s-54.4-24.4-54.4-54.4V41.3h-18C38.3 41.3 7 72.5 7 111.1v331.2c0 38.5 31.2 69.8 69.8 69.8h358.3c38.5 0 69.8-31.2 69.8-69.8V111.1c0-38.6-31.2-69.8-69.7-69.8zM450 430c0 17.8-14.5 32.3-32.3 32.3H94.3C76.5 462.3 62 447.8 62 430V170.9h388V430zm-259.3-58.2h51.2V423h-51.2v-51.2zm0-79.4h51.2v51.2h-51.2v-51.2zm-79.3 79.4h51.2V423h-51.2v-51.2zm0-79.4h51.2v51.2h-51.2v-51.2zm238-79.3h51.2v51.2h-51.2v-51.2zm-79.3 0h51.2v51.2h-51.2v-51.2zm0 79.3h51.2v51.2h-51.2v-51.2zm79.3 79.4h51.2V423h-51.2v-51.2zm0-79.4h51.2v51.2h-51.2v-51.2zm-79.3 79.4h51.2V423h-51.2v-51.2zm-79.4-158.7h51.2v51.2h-51.2v-51.2zm-79.3 0h51.2v51.2h-51.2v-51.2z'/%3E%3C/svg%3E") 50% 50% / 100% 100% no-repeat;
}
body.style_2023 #str_container table.tbl label.form_input_wrapper input[id*=displayDate] {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  border: 2px solid #AAAAAA;
  border-radius: 4px;
  cursor: pointer;
  padding: 9px 0 7px 16px;
  position: relative;
  width: 14em;
  cursor: pointer;
}
body.style_2023 #str_container table.tbl label.form_input_wrapper input[id*=hiddenDate] {
  padding: 9px 0 7px 16px;
  cursor: pointer;
}
body.style_2023 #str_container table.tbl label.form_input_wrapper:has(input[id*=Date]:focus):before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
  border: 2px solid #0071BE;
  outline: none;
	border-radius: 4px;
	box-sizing:border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}


body.style_2023 #str_container table.tbl select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  border: 2px solid #AAAAAA;
  border-radius: 4px;
  cursor: pointer;
  padding: 9px 44px 7px 16px;
  position: relative;
  background: #fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%230071BE"><path d="M0 7.33l2.829-2.83 9.175 9.339 9.167-9.339 2.829 2.83-11.996 12.17z"/></svg>') no-repeat right 10px center / 16px auto;
}

body.style_2023 #str_container table.tbl select[name*=YEAR],
body.style_2023 #str_container table.tbl select[name*=MONTH],
body.style_2023 #str_container table.tbl select[name*=HOUR],
body.style_2023 #str_container table.tbl select[name*=MINUTE] {
  margin-right: .4em;
}

body.style_2023 #str_container table.tbl textarea {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  width: 100%;
  border: 2px solid #AAAAAA;
  border-radius: 4px;
  padding: 10px;
  transition: .4s;
}

body.style_2023 #str_container table.tbl select:focus,
body.style_2023 #str_container table.tbl textarea:focus {
  border: 2px solid #0071BE;
  outline: none;
}

body.style_2023 #str_container table.tbl td table.address-table td {
	padding: 0 0 10px;
}

body.style_2023 #str_container table.tbl td table.address-table td select {
	padding: 2px 40px 0px 16px;
}


/* 完了ページ */
body.style_2023 #str_container p.complete_msg {
  font-size: 20px;
  margin: 0 0 30px;
}

body.style_2023 #str_container ul.complete_btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

body.style_2023 #str_container ul.complete_btn li {
  margin: 0 2% 2%;
}

body.style_2023 #str_container ul.complete_btn li a {
  font-size: 16px;
  font-weight: bold;
  box-sizing: border-box;
  display: block;
  width: 280px;
  height: 56px;
  line-height: 56px;
  box-shadow: 0px 3px 6px #0000002B;
  border-radius: 4px;
  opacity: 1;
  text-align: center;
  text-decoration: none;
}

body.style_2023 #str_container ul.complete_btn li#btn_present a {
  color: #ffffff;
  background: #0071BE;
}

body.style_2023 #str_container ul.complete_btn li#btn_home a {
  color: #0071BE;
  background: #ffffff;
  border: 2px solid #0071BE;
}

body.style_2023 #str_container ul.complete_btn li a:hover {
  opacity: 0.75;
}


@media screen and (max-width: 1000px) {

	p {
		font-size:16px;
		line-height:1.5em;
	}

	#endMSG {
		font-size:16px;
	}
	table,th {
		font-size:18px;
	}

	#res_header {
		width: 100%;
	}

	#res_header #res_headbody {
		width: 98%;
	}

	#str_container {
		width: 94%;
	}
	
	#str_container #str_center,
	div#res_footer,
	#res_footer #res_footer_addressmarks,
	#res_footer address {
		width: 100%;
		box-sizing: border-box;
	}

	input[type="text"] {
		width:95%;
		box-sizing: border-box;
		font-size:16px;
	}

	select,
	textarea,
	table {
		width: 100%;
		font-size:16px;
	}

	input[type="text"].form_input_req {
		width:50%;
		font-size:16px;
	}

	input[type="text"].form_input_error {
		width:50%;
		font-size:16px;
	}

	td {
		white-space: normal;
	}

	body.style_2023 #str_container table.tbl td table.address-table td {
		display: block;
		width: 100%;
	}
	body.style_2023 #str_container table.tbl td table.address-table td select,
	body.style_2023 #str_container table.tbl td table.address-table td input[type="text"].form_input_req {
        width: 100%;
	}
	body.style_2023 #str_container table.tbl td table.address-table tr:first-child td.answer-form input[type="text"].form_input_req {
		width: 32%;
	}
	
  body.style_2023 #str_container table.tbl label.form_input_wrapper,
  body.style_2023 #str_container table.tbl label.form_input_wrapper input[id*=displayDate] {
    width: 100%;
  }
  body.style_2023 #str_container table.tbl select[name*=YEAR],
  body.style_2023 #str_container table.tbl select[name*=MONTH],
  body.style_2023 #str_container table.tbl select[name*=HOUR],
  body.style_2023 #str_container table.tbl select[name*=MINUTE] {
    width: 40%;
  }
  body.style_2023 #str_container table.tbl select[name*=HOUR],
  body.style_2023 #str_container table.tbl select[name*=MINUTE] {
    margin-top: 1em;
  }

}
