/******** 共通 ****/
body {
 margin: 0;
 color: #333;
 font-size: 16px;
 font-family: "Noto Sans Japanese", sans-serif;
 -webkit-text-size-adjust: none;
 -webkit-font-smoothing: antialiased;
}
ul {
 margin: 0;
 padding: 0;
}
li {
 list-style: none;
}
img {
 max-width: 100%;
}
p {
 margin: 0;
}
a {
 color: #3366cc;
}

/** font size **/
.fontSS {
 font-size: 13px;
}
.fontS {
 font-size: 14px;
}
.fontM {
 font-size: 16px;
}
.fontML {
 font-size: 18px;
}
.fontL {
 font-size: 22px;
}
.fontXL {
 font-size: 26px;
}
.fontLL {
 font-size: 28px;
}
.font3L {
 font-size: 32px;
}

/** 色 **/
.blue_fc {
 color: #3d6ecf;
}
.red_fc {
 color: #dd1111;
}
.gray_fc {
 color: #777777;
}
/** 背景 **/
.blue_bg {
 background-color: #eff4f8;
}

.border_btm {
 border-bottom: 2px solid #ebebeb;
}

/** コンテンツ幅 **/
.contents_area {
 max-width: 920px;
 margin-left: auto;
 margin-right: auto;
}
.contents_area.confirm {
 max-width: 1110px;
 margin-left: auto;
 margin-right: auto;
 padding: 0 20px;
}
/** スペース **/
.con_space {
 padding: 90px 0;
}

/******** header ****/
header.header_wrap {
 background-color: #305bc6;
 padding: 20px 0;
}
header.header_wrap .inner_box {
 width: 90%;
 max-width: 1110px;
 margin-left: auto;
 margin-right: auto;
 display: flex;
 justify-content: space-between;
 align-items: center;
}

/******** footer ****/
footer.footer_area {
 border-top: 1px solid #cbd6d9;
 padding: 70px 0 60px;
}
footer.footer_area .inner_box {
 width: 90%;
 max-width: 1110px;
 margin-left: auto;
 margin-right: auto;
 display: flex;
 justify-content: space-between;
 align-items: center;
}
footer.footer_area .copy {
 font-size: 10px;
}

/******** ttl_wrap ****/
.ttl_wrap {
 padding: 40px 0;
 color: #5b6574;
 border-bottom: 1px solid #cbd6d9;
}
/******** ttl_wrap ****/
.ttl_wrap {
 padding: 40px 0;
 color: #5b6574;
 border-bottom: 1px solid #cbd6d9;
}
/******** ttl_wrap ****/
.ttl_wrap_noscript {
 padding: 40px 0;
 color: #5b6574;
 border-bottom: 1px solid #cbd6d9;
}
/******** form_wrap ****/
.form_wrap .note {
 padding: 25px 10px;
 border: 1px solid #707070;
 border-radius: 5px;
}
.form_wrap .note li {
 line-height: 1.5;
 padding-left: 1em;
 text-indent: -1em;
}
.form_wrap .note li:not(:last-child) {
 margin-bottom: 8px;
}
.form_wrap .q_box {
 background-color: #fff;
 box-shadow: 0 2px 0 rgba(0, 0, 0, 0.15);
 overflow: hidden;
 border-radius: 10px;
 border: 1px solid #d5d9dc;
 font-size: 18px;
 margin-bottom: 60px;
}
.form_wrap .q_box .q_box_ttl {
 padding: 35px;
 border-bottom: 2px solid #ebebeb;
	display: flex;
	align-items: flex-start;
}
.form_wrap .q_box .q_box_ttl .required,
.form_wrap .q_box .q_box_ttl .optional {
 display: inline-block;
 padding: 3px 14px 2px;
 border-radius: 6px 6px;
 vertical-align: middle;
 margin-right: 20px;
 margin-bottom: 5px;
	white-space: nowrap;
}
.form_wrap .q_box .q_box_ttl .required {
 border: 1px solid #3d6ecf;
 background-color: #3d6ecf;
 color: #fff;
}
.form_wrap .q_box .q_box_ttl .optional {
 border: 1px solid #5b6574;
 background-color: #fff;
 color: #5b6574;
}
.form_wrap .q_box .q_box_ttl_border_padding_non {
 border: unset;
 padding-top: 0;
 padding: 0;
}
.form_wrap .q_box .q_box_body {
 padding: 30px 35px 40px;
}
.form_wrap .q_box .q_box_body .q_exText {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
}
.form_wrap .q_box .q_box_body .q_exText span {
 margin-right: 15px;
 white-space: nowrap;
}
.form_wrap .q_box .q_box_body .q_exText.q_exText_small {
 justify-content: flex-start;
}
.form_wrap .q_box .q_box_body .q_exText.q_exText_small input {
 max-width: 453px;
}
.form_wrap .q_box .q_box_body .p-zipcode li,
.form_wrap .q_box .q_box_body .p-tel li {
 display: inline-block;
}
.form_wrap .q_box .q_box_body .p-zipcode li input,
.form_wrap .q_box .q_box_body .p-tel li input {
 width: 240px;
}
/* text系 */
input {
 background: #fff;
 border: 1px solid #c8ced3;
 box-sizing: border-box;
 padding: 16px 18px;
 border-radius: 10px 10px;
 box-shadow: 0 4px 0 rgba(0, 0, 0, 0.05) inset;
 width: 100%;
}
:placeholder-shown {
 background: #fffce5;
}
::placeholder {
 color: #d7d5c4;
}
/* ラジオ */
.radio-none input {
 display: none;
}
.progress-tag label {
 position: relative;
 display: block;
 border: 1px solid #d7d5c4;
 box-sizing: border-box;
 padding: 20px 18px 20px 55px;
 font-size: 18px;
 background: linear-gradient(to top, rgba(247, 244, 217, 1) 0%, rgba(255, 252, 229, 1) 50%);
 cursor: pointer;
 margin-bottom: 0;
}
.progress-tag label::before,
.progress-tag label::after {
 content: "";
 display: block;
 position: absolute;
}
.progress-tag label::before {
 background: url("../img/icon_check.svg") no-repeat;
 width: 30px;
 height: 30px;
 transform: translateY(-50%);
 top: 50%;
 left: 15px;
}
.progress-tag.active label {
 background: linear-gradient(to top, rgba(0, 0, 0, 0.03) 0%, rgba(255, 255, 255, 0.03) 50%);
}
.progress-tag input:checked + label::before {
 background: url("../img/icon_check2.svg") no-repeat;
}
.progress-tag input:checked + label {
 background: linear-gradient(to top, rgba(241, 248, 255, 1) 0%, rgba(244, 249, 255, 1) 100%);
}
/* ラジオ 住所 */
.progress-tag.address_list ul {
 width: 99%;
}
.progress-tag.address_list li:last-child label {
 border-radius: 0 0 10px 10px;
 box-shadow: 0 4px 0 rgba(0, 0, 0, 0.05);
}
.progress-tag.address_list li:first-child label {
 border-radius: 10px 10px 0 0;
}
.address_list {
 max-height: 200px;
 overflow: scroll;
 padding-bottom: 10px;
}
/* ラジオ アンケート */
.half_list {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.half_list li {
 width: 49%;
 margin-bottom: 10px;
}
.half_list li label {
 border-radius: 10px;
 box-shadow: 0 4px 0 rgba(0, 0, 0, 0.05);
}
/* セレクト */
.q_select_box {
 width: 100%;
 cursor: pointer;
 text-indent: 0.01px;
 text-overflow: ellipsis;
 border: none;
 outline: none;
 background: transparent;
 background-image: none;
 box-shadow: none;
 -webkit-appearance: none;
 appearance: none;
 position: relative;
 border-radius: 2px;
 border-radius: 10px;
 background: linear-gradient(to top, rgba(247, 244, 217, 1) 0%, rgba(255, 252, 229, 1) 50%);
 box-shadow: 0 4px 0 rgba(0, 0, 0, 0.05);
 border: 1px solid #d7d5c4;
}
.q_select_box.changed {
 width: 100%;
 cursor: pointer;
 text-indent: 0.01px;
 text-overflow: ellipsis;
 border: none;
 outline: none;
 background: transparent;
 background-image: none;
 box-shadow: none;
 -webkit-appearance: none;
 appearance: none;
 position: relative;
 border-radius: 2px;
 border-radius: 10px;
 background: linear-gradient(to top, #f7f7f7, #fff);
 box-shadow: 0 4px 0 rgba(0, 0, 0, 0.05);
 border: 1px solid #d7d5c4;
}
.q_select_box::before {
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 right: 25px;
 width: 0;
 height: 0;
 padding: 0;
 content: "";
 border-left: 8px solid transparent;
 border-right: 8px solid transparent;
 border-top: 10px solid #5b6574;
 pointer-events: none;
}
.q_select_box::after {
 content: "";
 position: absolute;
 top: 0;
 right: 65px;
 width: 1px;
 height: 100%;
 background-color: #d7d5c4;
 pointer-events: none;
}
.q_select_box select {
 width: 100%;
 padding-right: 1em;
 cursor: pointer;
 text-indent: 0.01px;
 text-overflow: ellipsis;
 outline: none;
 background: transparent;
 background-image: none;
 box-shadow: none;
 -webkit-appearance: none;
 appearance: none;
 padding: 20px 75px 20px 20px;
 color: #333;
 border: none;
}
.q_select_box select::-ms-expand {
 display: none;
}
.q_select_flex {
 display: flex;
}
.q_select_flex_between {
 justify-content: space-between;
}
.q_select_flex_start {
 justify-content: start;
}
.q_select_flex_block_1 {
 width: 29.5%;
 display: flex;
 align-items: center;
 background-color: red;
}
.q_select_flex_block {
 width: 29.5%;
 display: flex;
 align-items: center;
}
.q_select_flex_block span {
 padding-left: 20px;
}
.q_select_flex .q_select_box_small {
 max-width: 131px;
 margin-right: 24px;
}
.q_select_flex1 .q_select_box_xxxx {
 max-width: 131px;
 margin-right: 24px;
}
.q_select_flex .q_exText {
 flex-grow: 1;
}
.q_select_flex .q_exText input {
 height: 100%;
}
/* フォーム内 hr */
.form_wrap .form_hr {
 border-top: 1px solid #cbd6d9;
 margin-top: 0;
 margin-bottom: 60px;
}
/** 送信ボタン **/
button[type="button"],
button[type="submit"] {
 font-family: "Noto Sans Japanese", sans-serif;
 cursor: pointer;
}
.send_button,
.return_button,
.top_button {
 display: table;
 width: 560px;
 height: 100px;
 margin: 0 auto;
 text-align: center;
 text-decoration: none;
 font-size: 24px;
 line-height: 1;
 border-radius: 60px 60px;
 box-shadow: 0 6px 0 rgba(0, 0, 0, 0.1);
 border: none;
 transition: 0.5s;
 cursor: pointer;
}
.top_button a {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 100%;
 border-radius: 60px 60px;
 font-size: 24px;
 line-height: 1;
 text-decoration: none;
}
.send_button {
 color: #fff;
 background: linear-gradient(to top, #1e39a0, #305bc6);
}
.return_button,
.top_button {
 border: 1px solid #cbd6d9;
 color: #333;
 vertical-align: middle;
 background: linear-gradient(to top, #f7f7f7, #fff);
}
.top_button a {
 color: #333;
}
.return_button:hover,
.send_button:hover,
.top_button:hover {
 opacity: 0.8;
}
.search_button {
 width: 200px;
 height: 60px;
 color: #fff;
 background: linear-gradient(to top, #1e39a0, #305bc6);
 transition: 0.5s;
 box-shadow: 0 6px 0 rgba(0, 0, 0, 0.1);
 cursor: pointer;
}
.search_button:hover {
 opacity: 0.8;
}
.button_wrap {
 display: flex;
 justify-content: center;
 gap: 30px;
}

/******** エラー ****/
.error_intro_txt {
 border: 2px solid #dd1111;
 border-radius: 10px;
 box-shadow: 0 2px 0 rgba(0, 0, 0, 0.15);
 overflow: hidden;
}
.error_intro_txt .ttl_area {
 background-color: #dd1111;
 padding: 35px;
 line-height: 1;
}
.error_intro_txt .ttl_area img {
 vertical-align: middle;
 padding-bottom: 4px;
}
.error_intro_txt .txt_area {
 padding: 35px;
 background-color: #fff;
}
/* エラーポップアップ */
.q_exText,
.q_zipcode,
.progress-tag,
.q_select_box {
 position: relative;
}
.error_pop {
 position: absolute;
 z-index: 5;
 top: -12px;
 transform: translateY(-100%);
}
.error_pop p {
 border-radius: 5px 5px 0 0;
 background-color: #dd1111;
 padding: 15px;
 line-height: 1.5;
}
.error_pop p:after {
 content: "";
 position: absolute;
 left: 0;
 bottom: -10px;
 width: 0;
 height: 0;
 border: 10px solid transparent;
 border-left-color: rgba(221, 17, 17, 0.85);
}
/* text系 */
input.error {
 background: #ffe4e4;
 border: 1px solid #dd1111;
}
/* ラジオ */
.progress-tag label.error {
 background: linear-gradient(to top, #ffd5d5, #ffe4e4);
 border: 1px solid #dd1111;
 color: #dd1111;
}
.progress-tag label.error::before {
 background: url("../img/icon_check4.svg") no-repeat;
}
/* セレクト */
.q_select_box.error {
 background: linear-gradient(to top, #ffd5d5, #ffe4e4);
 border: 1px solid #dd1111;
}
.q_select_box.error::after {
 background-color: #dd1111;
}
.q_select_box.error::before {
 border-top: 10px solid #dd1111;
}
.q_select_box.error select {
 color: #dd1111;
}
/******** 確認ページ ****/
.confirm_area {
 background-color: #fff;
 border: 1px solid #d5d9dc;
 border-radius: 5px;
 padding: 30px;
 box-shadow: 0 2px 0 rgba(0, 0, 0, 0.15);
}
.table_block table {
 width: 100%;
}
.table_block table th,
.table_block table td {
 font-size: 20px;
 border: 1px solid #c8ced3;
 padding: 35px;
}
.table_block table th {
 background-color: #f6f9fb;
 font-weight: normal;
 width: 35%;
}
.table_block table td {
 width: 65%;
}
/******** 完了ページ ****/
.complete_area {
 border: 5px solid #d5d9dc;
 padding: 33px 95px;
 background-color: #fff;
}
.complete_text {
 width: fit-content;
 margin: 0 auto;
}
.table_block_complete table {
 width: 100%;
}
.table_block_complete table th,
.table_block_complete table td {
 font-size: 20px;
 padding: 15px 0;
}
.table_block_complete table tr:not(:last-child) {
 border-bottom: 1px solid #c8ced3;
}
.table_block_complete table th {
 font-weight: normal;
 width: 41%;
}
.table_block_complete table td {
 width: 59%;
}
.complete_area .table_block table th,
.complete_area .table_block table td {
 font-size: 28px;
}

@media (max-width: 992px) {
 /******** 共通 ****/
 /** コンテンツ幅 **/
 .contents_area,
 .contents_area.confirm {
  max-width: 95%;
  padding: 0;
 }
 /** スペース **/
 .con_space {
  padding: 60px 0;
 }
 /** font size **/
 .fontSS {
  font-size: 12px;
 }
 .fontS {
  font-size: 12px;
 }
 .fontM {
  font-size: 14px;
 }
 .fontML {
  font-size: 16px;
 }
 .fontL {
  font-size: 22px;
 }
 .fontXL {
  font-size: 22px;
 }
 .fontLL {
  font-size: 22px;
 }
 .font3L {
  font-size: 26px;
 }

 /******** form_wrap ****/
 .form_wrap .q_box .q_box_ttl {
  padding: 25px 15px;
 }
 .form_wrap .q_box .q_box_ttl_border_padding_non {
  border: unset;
  padding-top: 0;
  padding: 0;
 }
 .form_wrap .q_box .q_box_body {
  padding: 25px 15px 30px;
 }
 .form_wrap .q_box .q_box_body .q_exText {
  display: block;
 }
 .form_wrap .q_box .q_box_body .q_exText.q_exText_small {
  display: flex;
 }
 .form_wrap .q_box .q_box_body .q_exText span {
  margin-bottom: 6px;
  display: block;
 }
 .form_wrap .q_box .q_box_body .q_exText.q_exText_small span {
  margin-right: 0;
 }
 .form_wrap .q_box .q_box_body .p-zipcode {
  display: flex;
 }
 .form_wrap .q_box .q_box_body .p-tel {
  display: flex;
 }
 .form_wrap .q_box .q_box_body .p-tel li {
  display: flex;
  align-items: center;
 }
 .form_wrap .q_box .q_box_body .p-tel li input {
  width: 26.09vw;
  max-width: 240px;
  min-width: 10px;
 }
 .form_wrap .q_box .q_box_body .p-tel li span {
  font-size: 12px;
 }
 .form_wrap .note.complete {
  margin: 0 auto;
  max-width: 90%;
 }
 /******** header ****/
 header.header_wrap {
  background-color: #305bc6;
  padding: 15px 0;
 }
 header.header_wrap img:first-child {
  width: 160px;
 }
 header.header_wrap img:last-child {
  width: 50px;
 }
 .form_wrap .q_box .q_box_body .p-zipcode li input {
  width: 138px;
 }
 /******** footer ****/
 footer.footer_area {
  border-top: 1px solid #cbd6d9;
  padding: 50px 10px 50px;
 }
 footer.footer_area .inner_box {
  display: block;
  text-align: center;
 }
 footer.footer_area .copy {
  margin-top: 20px;
 }
 /* ラジオ アンケート */
 .half_list {
  display: block;
  justify-content: space-between;
  flex-wrap: wrap;
 }
 .half_list li {
  width: 100%;
 }
 /* セレクト */
 .q_select_flex {
  flex-direction: column;
  gap: 20px;
  justify-content: flex-start;
 }
 .q_select_flex_block {
  width: 100%;
  max-width: 400px;
 }
 .q_select_flex_block span {
  padding-left: 10px;
 }
 /* フォーム内 hr */
 .form_wrap .form_hr {
  margin-bottom: 40px;
 }
 /** 送信ボタン **/
 .send_button,
 .return_button,
 .top_button {
  width: 280px;
  height: 80px;
  font-size: 22px;
 }
 .top_button {
  font-size: 18px;
 }
 .search_button {
  width: 100%;
 }
 .button_wrap {
  flex-direction: column;
  justify-content: flex-start;
  gap: 30px;
 }
 /******** エラー ****/
 /* エラーポップアップ */
 .error_pop p {
  font-size: 16px;
  padding: 12px;
 }
 /******** 確認ページ ****/
 .confirm_area {
  padding: 30px 15px;
 }
 .table_block table th,
 .table_block table td {
  font-size: 16px;
  text-align: center;
  display: block;
  width: 100%;
  padding: 20px 10px;
 }

 /******** 完了ページ ****/
 .complete_area {
  padding: 30px 20px;
  max-width: 90%;
  margin: auto;
 }
 .table_block_complete table th,
 .table_block_complete table td {
  font-size: 16px;
  display: block;
 }
 .table_block_complete table tr:not(:last-child) {
  border-bottom: 1px solid #c8ced3;
 }
 .table_block_complete table th {
  font-weight: bold;
  width: 100%;
  padding-bottom: 0;
 }
 .table_block_complete table td {
  width: 100%;
 }
 .complete_area .table_block table th,
 .complete_area .table_block table td {
  font-size: 22px;
 }
}

@media (max-width: 520px) {
 .form_wrap .q_box .q_box_body .p-tel {
  gap: 5px;
 }
 .form_wrap .q_box .q_box_body .p-tel li input {
  padding-right: 8px;
  padding-left: 8px;
  width: 90px;
 }
 .form_wrap .q_box .q_box_body .p-tel li span {
  display: inline-block;
 }
}
@media (max-width: 320px) {
 .form_wrap .q_box .q_box_body .p-zipcode li input {
  width: 116px;
 }
}
