.wrapper_ {
  background: #EDFFD6;
}

@media (max-width: 767px) {
  .page-usage-survey .hidden-sb {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .page-usage-survey .hidden-fb {
    display: none !important;
  }
}

.page-usage-survey--inner {
  max-width: 1200px;
  margin: 0 auto 0;
  padding: 0 0 100px;
}

.page-usage-survey--anchor-links {
  display: flex;
  justify-content: center;
  gap: 10px 20px;
  margin: 40px auto 0;
  text-align: center;
}

@media (max-width: 767px) {

  .page-usage-survey--anchor-links {
    padding: 0 24px;
    margin-top: 32px;
    gap: 9px 20px;
  }
}

.page-usage-survey--anchor-links a {
  width: 285px;
  height: 48px;
  border: 1px solid #009944;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  -webkit-text-decoration: none;
  text-decoration: none;
  padding: 8px 12px;
  border-radius: 4px;
  margin: 0;
  transition: background-color 0.3s;
  font-size: 16px;
  font-weight: bold;
  color: #009944;
  box-sizing: border-box;
  position: relative;

}

@media (max-width: 767px) {

  .page-usage-survey--anchor-links a {
    width: calc((100% / 3) - (40px / 3));
    height: 76px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;

  }
}

.page-usage-survey--anchor-links a::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #009944;
  border-right: 2px solid #009944;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  position: absolute;
  right: 20px;
}

.page-usage-survey--anchor-links a:hover {
  opacity: 0.6;
}

.page-usage-survey--overview-group {
  padding: 52px 60px 48px;
  background: #fff;
  margin-top: 52px;
}

@media (max-width: 767px) {

  .page-usage-survey--overview-group {
    padding: 32px 40px 48px;
    margin: 32px 24px 0;
  }
}

.page-usage-survey--section-block {}

.page-usage-survey--section-block~.page-usage-survey--section-block {
  margin-top: 97px;
}

@media (max-width: 767px) {

  .page-usage-survey--section-block~.page-usage-survey--section-block {
    margin-top: 66px;
  }
}

.page-usage-survey--section-block h2 {
  margin-top: 0;
  margin-bottom: 23px;
  font-size: 24px;
  font-weight: bold;
  color: #333;
  border-bottom: 2px solid #009944;
  padding-bottom: 10px;
  letter-spacing: 0.1em;
}

@media (max-width: 767px) {

  .page-usage-survey--section-block h2 {
    padding-bottom: 14px;
    font-size: 28px;
  }
}

.page-usage-survey--section-block p {
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  position: relative;

  /* ::afterの基準点として必要 */
}

@media (max-width: 767px) {

  .page-usage-survey--section-block p {
    font-size: 20px;
  }
}

.page-usage-survey--section-block p~p {
  margin-top: 33px;
}

.page-usage-survey--section-block p .accentTxt {
  color: #CE0000;
  font-weight: bold;
  display: inline;
}

.page-usage-survey--section-block p .boldTxt {
  font-weight: bold;
  display: inline;
}

.page-usage-survey--section-block p .markerLine {
  display: inline;
  background: linear-gradient(transparent 60%, #ffeb3b 60%, #ffeb3b 100%);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  border-radius: 2px;
  line-height: 1.8;
  padding: 0 2px;
}

.page-usage-survey--section-block ul {
  margin: 0;
  line-height: 1.6;
  font-size: 16px;
}

@media (max-width: 767px) {

  .page-usage-survey--section-block ul {
    font-size: 20px;
  }
}

.page-usage-survey--section-block li {
  margin: 0;
  line-height: 1.8;
}

@media (max-width: 767px) {

  .page-usage-survey--section-block li {
    line-height: 1.6;
  }
}

.page-usage-survey--section-block.-period p {
  font-size: 20px;
  font-weight: bold;
}

@media (max-width: 767px) {

  .page-usage-survey--section-block.-period p {
    font-size: 24px;
  }
}

.page-usage-survey--answer-btn {
  width: 450px;
  height: 80px;
  margin: 42px auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px 10px;
  padding: 5px 10px;
  background: #009944;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 24px;
  cursor: pointer;
  -webkit-text-decoration: none;
  text-decoration: none;
  transition: background-color 0.3s;
  box-sizing: border-box;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  color: #fff !important;
}

@media (max-width: 767px) {

  .page-usage-survey--answer-btn {
    height: 88px;
    border-radius: 8px;
    width: 100%;
    font-size: 32px;
  }
}

.page-usage-survey--answer-btn:hover {
  background: #009944 !important;
}

.page-usage-survey--answer-btn::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: relative;
}

.page-usage-survey--answer-btn:hover {
  background: #005fa3;
}

/* 元の画像を非表示 */

/* 通常のdesc_の場合 */

.wrapper_:has(.questionnaire_) {
  /*アンケートページ用背景の打ち消し*/
  background: none;



}

@media (max-width: 767px) {

  .wrapper_:has(.questionnaire_) {
    background: #EDFFD6;
    padding-bottom: 58px;



  }
}

.wrapper_:has(.questionnaire_) .error_ {
  width: 100%;
}

/*大見出し*/

.wrapper_:has(.questionnaire_) .common_headline1_ {
  padding: 0;
  font-size: 28px;
}

@media (max-width: 767px) {

  .wrapper_:has(.questionnaire_) .common_headline1_ {
    width: 100%;
    padding-top: 0;
    margin: 0;
    font-weight: bold;
    color: #333;
    border-bottom: 2px solid #009944;
    padding-bottom: 10px;
    letter-spacing: 0.1em;
    padding-bottom: 14px;
    font-size: 28px;
  }
}

/*フリースペース（上部）*/

.wrapper_:has(.questionnaire_) .top_comment_ {
  margin: 0;
}

/*パンくずリスト*/

.wrapper_:has(.questionnaire_) .bread_area {
  background: #fff;
}

/*フォーム調整*/

/* ================================================ */

@media (max-width: 767px) {

  .wrapper_:has(.questionnaire_) div.questionnaire_area_ dl.formdetail_ {
    padding: 0;
    border: 0;
  }
}

.wrapper_:has(.questionnaire_) .questionnaire_ {
  background: #fff;
  padding: 53px 60px 60px;
}

@media (max-width: 767px) {

  .wrapper_:has(.questionnaire_) .questionnaire_ {
    padding: 32px 44px 48px;
    margin: 30px 20px 0;
  }
}

.wrapper_:has(.questionnaire_) .questionnaire_>h2 {
  width: 100%;
  padding-top: 0;
  margin-top: 0;
  margin-bottom: 25px;
  font-size: 24px;
  font-weight: bold;
  color: #333;
  border-bottom: 2px solid #009944;
  padding-bottom: 10px;
  letter-spacing: 0.1em;
}

@media (max-width: 767px) {

  .wrapper_:has(.questionnaire_) .questionnaire_>h2 {
    padding-bottom: 14px;
    font-size: 28px;
  }
}

/*フォーム調整 -- フォーム中見出し*/

.wrapper_:has(.questionnaire_) .questionnaire_box_>.common_headline2_ {
  display: none;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}

.wrapper_:has(.questionnaire_) .questionnaire_box_>.questionnaire_box_group_heading {}

.wrapper_:has(.questionnaire_) .questionnaire_box_group_heading {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 20px;
  font-family: 'M PLUS 1p', sans-serif;
  font-feature-settings: "palt";
  border: 0;
}

@media (max-width: 767px) {

  .wrapper_:has(.questionnaire_) .questionnaire_box_group_heading {
    font-weight: bold;
    font-size: 28px;
    margin: 0;
    color: #333;
    font-family: 'M PLUS 1p', sans-serif;
    letter-spacing: -0.01em;
  }
}

/*フォーム調整 -- フォントサイズ*/

.wrapper_:has(.questionnaire_) .desc_ {
  font-size: 16px;
  font-weight: bold;
  padding-left: 1.9em;
  text-indent: -1.9em;
}

.wrapper_:has(.questionnaire_) .desc_>span::before {
  content: "\A";
  white-space: pre;
}

.wrapper_:has(.questionnaire_) div.questionnaire_area_ dl.formdetail_ dd .comment_ {
  font-size: 24px;
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: bold;
  font-feature-settings: "palt";
  letter-spacing: -0.01em;
  padding-left: 1.9em;
  text-indent: -1.9em;
}

.wrapper_:has(.questionnaire_) div.questionnaire_area_ dl.formdetail_ dd .comment_>span::before {
  content: "\A";
  white-space: pre;
}

.wrapper_:has(.questionnaire_) div.questionnaire_area_ dl.formdetail_ dd .comment_.single-digit {
  text-indent: -1.4em;
}

/*フォーム調整 -- フォーム小見出し*/

.wrapper_:has(.questionnaire_) .questionnaire_box_:has(.common_headline2_)~.questionnaire_box_:has(.common_headline2_) {
  margin-top: 45px;
}

/*フォーム調整 -- 設問レイアウト調整*/

.wrapper_:has(.questionnaire_) .questionnaire_ input[type="radio"]+label {
  margin-right: 36px;
}

.wrapper_:has(.questionnaire_) div.questionnaire_area_ dl.formdetail_ dd {
  white-space: normal;
  word-break: break-all;
}

.wrapper_:has(.questionnaire_) div.questionnaire_area_ dl.formdetail_ .questionnaire_box_group_heading~dd {
  margin-top: 20px;
}

/* 必須ボタンの調整*/

/* ================================================ */

@media (max-width: 767px) {

  .wrapper_:has(.questionnaire_) div.questionnaire_area_ dl.formdetail_ dt {
    display: none !important;
    padding: 0;
    border: 0;
    margin: 0;
  }
}

.wrapper_:has(.questionnaire_) div.questionnaire_area_ dl.formdetail_.is-confirm dt:has(.must_)::after {
  content: "*";
  color: #CE0000;
  font-weight: bold;
  margin-right: 4px;
}

@media (max-width: 767px) {

  .wrapper_:has(.questionnaire_) div.questionnaire_area_ dl.formdetail_.is-confirm .confirm-item dt {
    margin-top: 10px;
    display: block !important;
  }
}

.wrapper_:has(.questionnaire_) div.questionnaire_area_ dl.formdetail_.is-confirm .confirm-item:nth-of-type(n+2) {
  margin-top: 20px;
}

.wrapper_:has(.questionnaire_) div.questionnaire_area_ dl.formdetail_.is-confirm .confirm-item:has(.questionnaire_box_group_heading) {
  margin-top: 40px;
}

.wrapper_:has(.questionnaire_) dt:has(.must_)+dd .comment_::after,
.wrapper_:has(.questionnaire_) h2:has(.must_)+.desc_::after,
.wrapper_:has(.questionnaire_) .must_+.desc_::after {
  content: "*";
  color: #CE0000;
  font-weight: bold;
  margin-right: 4px;
}

/* 元の必須ボタン画像を非表示 */

.wrapper_:has(.questionnaire_) .must_ {
  display: none;
}

/*フォーム調整 -- 送信ボタン*/

.wrapper_:has(.questionnaire_) .submit_ {
  display: flex;
  justify-content: center;
  gap: 35px;
  padding-right: 80px;
  margin: 29px 0 0;
}

.wrapper_:has(.questionnaire_) .submit_>a {
  background: #B9B9B9;
  display: flex;
  justify-content: center;
  align-items: center;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.wrapper_:has(.questionnaire_) .submit_>a img {
  display: none;
}

.wrapper_:has(.questionnaire_) .submit_>a::before {
  content: '戻る';
  -webkit-text-decoration: none;
  text-decoration: none;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.2;
}

.wrapper_:has(.questionnaire_) .submit_>* {
  width: 360px;
  height: 56px;
  margin: 0;
}

@media (max-width: 767px) {

  .wrapper_:has(.questionnaire_) .submit_ {
    width: 100%;
    padding: 0;
  }

  .wrapper_:has(.questionnaire_) .submit_ input {
    border-radius: 8px;
    font-size: 32px;
  }

  .wrapper_:has(.questionnaire_) .submit_>* {
    width: 100%;
    height: 88px;
  }
}

.wrapper_:has(.questionnaire_) .formdetail_.questionnaire_input_.is-confirm+.submit_ {
  display: flex;
  flex-direction: row-reverse;
}

.wrapper_:has(.questionnaire_) .formdetail_.questionnaire_input_.is-confirm+.submit_>* {
  margin: 0;
  height: 88px;
}

/*フォーム調整 -- テキストエリア*/

.wrapper_:has(.questionnaire_) .questionnaire_box_content_ {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 40px;
}

.wrapper_:has(.questionnaire_) .questionnaire_box_content_ textarea {
  min-width: 848px;
  height: 74px;
}

/*フォーム調整 -- 折り返し指定*/

.wrapper_:has(.questionnaire_) .questionnaire_ .formdetail_.questionnaire_confirm_ td {
  white-space: normal;
  word-break: break-all;
  padding-right: 20px;
}

/*レイアウト調整*/

/* ================================================ */

.wrapper_:has(.questionnaire_) .container {
  background: #EDFFD6;
  padding: 0 0 82px;
}

.wrapper_:has(.questionnaire_) .contents {
  width: 1200px;
}

/*設問k間隔の調整*/

.wrapper_:has(.questionnaire_) .questionnaire_box_:nth-of-type(n+2) {
  margin-top: 38px;
}

/*フォーム調整 -- 設問レイアウト調整*/

.wrapper_:has(.questionnaire_) .questionnaire_box_content_ {
  padding: 0 20px;
  margin-top: 18px;
  font-size: 16px;
}

.wrapper_:has(.questionnaire_) .questionnaire_box_content_ label {
  font-size: 16px;
  letter-spacing: 0.1em;
}

/* 設問グループのスタイル */

.wrapper_:has(.questionnaire_) .question-group {
  padding: 27px 0 20px;
  border-bottom: 1px solid #E5E5E5;
}

.wrapper_:has(.questionnaire_) .question-group:has(textarea) {
  padding-bottom: 25px;
}

.wrapper_:has(.questionnaire_) .question-group:has(.questionnaire_box_group_heading) {
  margin-top: 34px;
}

.wrapper_:has(.questionnaire_) .question-group:nth-of-type(1) {
  margin-top: 0;
}

.wrapper_:has(.questionnaire_) .question-group textarea {
  margin-top: 18px;
  display: block;
  width: 100%;
  max-width: 100%;
  height: 95px;
}

.wrapper_:has(.questionnaire_) .question-group>br {
  display: none;
}

.wrapper_:has(.questionnaire_) .question-group:last-child {}

/* エラーワラッパーのスタイル */

.wrapper_:has(.questionnaire_) .error-wrapper {}

/* ラジオボタン・チェックボックスグループ化のスタイル */

.wrapper_:has(.questionnaire_) .input-item {
  min-height: 24px;
  display: flex;
  align-items: center;
  gap: 10px 12px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
  line-height: 1 !important;
  letter-spacing: 0;
  font-feature-settings: "palt";
}

.wrapper_:has(.questionnaire_) .input-item input[type="radio"],
.wrapper_:has(.questionnaire_) .input-item input[type="checkbox"] {
  margin: 0 !important;
  accent-color: initial !important;
  /* 強制的にデフォルト色に戻す */
  transform: scale(1) !important;
  /* 等倍に戻す */
  width: 20px !important;
  /* 正確な大きさに調整 */
  height: 20px !important;

  /* 正確な大きさに調整 */
}

@media (max-width: 767px) {

  .wrapper_:has(.questionnaire_) .input-item input[type="radio"],
  .wrapper_:has(.questionnaire_) .input-item input[type="checkbox"] {
    width: 23.4px !important;
    /* 正確な大きさに調整 */
    height: 23.4px !important;
    /* 正確な大きさに調整 */
  }
}

.wrapper_:has(.questionnaire_) .input-item input[type="radio"]+label,
.wrapper_:has(.questionnaire_) .input-item input[type="checkbox"]+label {
  margin: 0;
}

.wrapper_:has(.questionnaire_) .input-items {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 24px 40px;
  margin: 23px auto 0;
}

.wrapper_:has(.questionnaire_) .input-items+.error_ {
  margin-top: 24px;
}

/* 親要素のFlexbox設定 */

.wrapper_:has(.questionnaire_) span:has(input[type="radio"]),
.wrapper_:has(.questionnaire_) span:has(input[type="checkbox"]) {
  margin: 23px auto 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 24px 40px;
  align-items: flex-start;
}

/* エラー表示のマージン設定 */

.wrapper_:has(.questionnaire_) .error_:has(*) {
  margin-top: 8px;
}
