@charset "UTF-8";
/***** Normalize.css *****/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  color: #333;
  text-decoration: none;
}

a:hover {
  outline-width: 0;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

.column-inner-sp .SA-sub-category-list li a, .column-inner .SA-sub-category-list li a, .hot-list-box a, dt a, #SA_relative a, .banner a {
　　display: block;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    position: absolute;
}
b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

/***** Base *****/
* {
  box-sizing: border-box;
}

body {
  background-color: #FFFFFF;
  color: #2F3941;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 1024px) {
  body > main {
    min-height: 65vh;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  margin-top: 0;
}

h1 {
  font-size: 32px;
}

h2 {
  font-size: 19px;
}

h3 {
    border-bottom: solid 3px #dedede;
    position: relative;
    font-size: 1.9rem;
    color: #27313C;
    padding-bottom: 2px;
    margin:30px 0px 0px;
}
h3::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #B21920;
  bottom: -3px;
  width: 30%;
}
h3::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #B21920;
  bottom: -3px;
  width: 30%;
} 


h3 {
  font-size: 19px;
  font-weight: 600;
}

h4 {
  font-size: 16px;
}

/* a {
  color: #1F73B7;
  text-decoration: none;
} */
/* a:visited {
  color: #9358B0;
} */
a:hover, a:active, a:focus {
  text-decoration: underline;
}

.hbs-form input,
.hbs-form textarea, .search input,
.search textarea {
  color: #000;
  font-size: 14px;
}
.hbs-form input, .search input {
  max-width: 100%;
  box-sizing: border-box;
  transition: border 0.12s ease-in-out;
  /* We use the :where selector to not increase the specificity of the selector */
}
.hbs-form input:where(:not([type=checkbox])), .search input:where(:not([type=checkbox])) {
  outline: none;
}
.hbs-form input:where(:not([type=checkbox])):focus, .search input:where(:not([type=checkbox])):focus {
  border: 1px solid #17494D;
}
.hbs-form input[disabled], .search input[disabled] {
  background-color: #ddd;
}
.hbs-form select, .search select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23CCC' d='M0 0h10L5 6 0 0z'/%3E%3C/svg%3E%0A") no-repeat #fff;
  background-position: right 10px center;
  border: 1px solid #87929D;
  border-radius: 4px;
  padding: 8px 30px 8px 10px;
  outline: none;
  color: #555;
  width: 100%;
}
.hbs-form select:focus, .search select:focus {
  border: 1px solid #17494D;
}
.hbs-form select::-ms-expand, .search select::-ms-expand {
  display: none;
}
.hbs-form textarea, .search textarea {
  border: 1px solid #87929D;
  border-radius: 2px;
  resize: vertical;
  width: 100%;
  outline: none;
  padding: 10px;
}
.hbs-form textarea:focus, .search textarea:focus {
  border: 1px solid #17494D;
}

.container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 5%;
  }

.section-container{
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 5%;
  }

@media (min-width: 1160px) {
  .container {
    padding: 0;
    width: 100%;
  }
}

.container-divider {
  border-top: 1px solid #ddd;
  margin-bottom: 20px;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.error-page {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 5%;
}
@media (min-width: 1160px) {
  .error-page {
    padding: 0;
    width: 100%;
  }
}

.visibility-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

/***** Buttons *****/
.button, .pagination-next-link, .pagination-prev-link, .pagination-first-link, .pagination-last-link, .subscriptions-subscribe button, .requests-table-toolbar .organization-subscribe button, .community-follow button, .article-subscribe button, .section-subscribe button, .split-button button {
  background-color: transparent;
  border: 1px solid #17494D;
  border-radius: 4px;
  color: #17494D;
  cursor: pointer;
  display: inline-block;
  font-size: 12px;
  line-height: 2.34;
  margin: 0;
  padding: 0 20px;
  text-align: center;
  transition: background-color 0.12s ease-in-out, border-color 0.12s ease-in-out, color 0.15s ease-in-out;
  user-select: none;
  white-space: nowrap;
  width: 100%;
  -webkit-touch-callout: none;
}
@media (min-width: 768px) {
  .button, .pagination-next-link, .pagination-prev-link, .pagination-first-link, .pagination-last-link, .subscriptions-subscribe button, .requests-table-toolbar .organization-subscribe button, .community-follow button, .article-subscribe button, .section-subscribe button, .split-button button {
    width: auto;
  }
}
.button:visited, .pagination-next-link:visited, .pagination-prev-link:visited, .pagination-first-link:visited, .pagination-last-link:visited, .subscriptions-subscribe button:visited, .requests-table-toolbar .organization-subscribe button:visited, .community-follow button:visited, .article-subscribe button:visited, .section-subscribe button:visited, .split-button button:visited {
  color: #17494D;
}
.button:hover, .pagination-next-link:hover, .pagination-prev-link:hover, .pagination-first-link:hover, .pagination-last-link:hover, .subscriptions-subscribe button:hover, .requests-table-toolbar .organization-subscribe button:hover, .community-follow button:hover, .article-subscribe button:hover, .section-subscribe button:hover, .split-button button:hover, .button:active, .pagination-next-link:active, .pagination-prev-link:active, .pagination-first-link:active, .pagination-last-link:active, .subscriptions-subscribe button:active, .requests-table-toolbar .organization-subscribe button:active, .community-follow button:active, .article-subscribe button:active, .section-subscribe button:active, .split-button button:active, .button:focus, .pagination-next-link:focus, .pagination-prev-link:focus, .pagination-first-link:focus, .pagination-last-link:focus, .subscriptions-subscribe button:focus, .requests-table-toolbar .organization-subscribe button:focus, .community-follow button:focus, .article-subscribe button:focus, .section-subscribe button:focus, .split-button button:focus, .button.button-primary, .button-primary.pagination-next-link, .button-primary.pagination-prev-link, .button-primary.pagination-first-link, .button-primary.pagination-last-link, .subscriptions-subscribe button.button-primary, .subscriptions-subscribe button[data-selected=true], .requests-table-toolbar .organization-subscribe button.button-primary, .requests-table-toolbar .organization-subscribe button[data-selected=true], .community-follow button.button-primary, .article-subscribe button.button-primary, .article-subscribe button[data-selected=true], .section-subscribe button.button-primary, .section-subscribe button[data-selected=true], .split-button button.button-primary {
  background-color: #17494D;
  color: #FFFFFF;
  text-decoration: none;
}
.button.button-primary:hover, .button-primary.pagination-next-link:hover, .button-primary.pagination-prev-link:hover, .button-primary.pagination-first-link:hover, .button-primary.pagination-last-link:hover, .subscriptions-subscribe button.button-primary:hover, .subscriptions-subscribe button[data-selected=true]:hover, .requests-table-toolbar .organization-subscribe button.button-primary:hover, .requests-table-toolbar .organization-subscribe button[data-selected=true]:hover, .community-follow button.button-primary:hover, .article-subscribe button.button-primary:hover, .article-subscribe button[data-selected=true]:hover, .section-subscribe button.button-primary:hover, .section-subscribe button[data-selected=true]:hover, .split-button button:hover, .button.button-primary:focus, .button-primary.pagination-next-link:focus, .button-primary.pagination-prev-link:focus, .button-primary.pagination-first-link:focus, .button-primary.pagination-last-link:focus, .subscriptions-subscribe button.button-primary:focus, .subscriptions-subscribe button[data-selected=true]:focus, .requests-table-toolbar .organization-subscribe button.button-primary:focus, .requests-table-toolbar .organization-subscribe button[data-selected=true]:focus, .community-follow button.button-primary:focus, .article-subscribe button.button-primary:focus, .article-subscribe button[data-selected=true]:focus, .section-subscribe button.button-primary:focus, .section-subscribe button[data-selected=true]:focus, .split-button button.button-primary:focus, .button.button-primary:active, .button-primary.pagination-next-link:active, .button-primary.pagination-prev-link:active, .button-primary.pagination-first-link:active, .button-primary.pagination-last-link:active, .subscriptions-subscribe button.button-primary:active, .subscriptions-subscribe button[data-selected=true]:active, .requests-table-toolbar .organization-subscribe button.button-primary:active, .requests-table-toolbar .organization-subscribe button[data-selected=true]:active, .community-follow button.button-primary:active, .article-subscribe button.button-primary:active, .article-subscribe button[data-selected=true]:active, .section-subscribe button.button-primary:active, .section-subscribe button[data-selected=true]:active, .split-button button.button-primary:active {
  background-color: #000;
  border-color: #000;
}
.button[data-disabled], [data-disabled].pagination-next-link, [data-disabled].pagination-prev-link, [data-disabled].pagination-first-link, [data-disabled].pagination-last-link, .subscriptions-subscribe button[data-disabled], .requests-table-toolbar .organization-subscribe button[data-disabled], .community-follow button[data-disabled], .article-subscribe button[data-disabled], .section-subscribe button[data-disabled], .split-button button[data-disabled] {
  cursor: default;
}

.button-large, .hbs-form input[type=submit] {
  cursor: pointer;
  background-color: #17494D;
  border: 0;
  border-radius: 4px;
  color: #FFFFFF;
  font-size: 14px;
  line-height: 2.72;
  min-width: 190px;
  padding: 0 1.9286em;
  width: 100%;
}
@media (min-width: 768px) {
  .button-large, .hbs-form input[type=submit] {
    width: auto;
  }
}
.button-large:visited, .hbs-form input[type=submit]:visited {
  color: #FFFFFF;
}
.button-large:hover, .button-large:active, .button-large:focus, .hbs-form input[type=submit]:hover, .hbs-form input[type=submit]:active, .hbs-form input[type=submit]:focus {
  background-color: #000;
}
.button-large[disabled], .hbs-form input[type=submit][disabled] {
  background-color: #ddd;
}

.button-secondary {
  color: #5a6d7c;
  border: 1px solid #87929D;
  background-color: transparent;
}
.button-secondary:visited {
  color: #5a6d7c;
}
.button-secondary:hover, .button-secondary:focus, .button-secondary:active {
  color: #2F3941;
  border: 1px solid #87929D;
  background-color: #f7f7f7;
}

/***** Split button *****/
.split-button {
  display: flex;
}

.split-button button {
  background-color: #17494D;
  border: 0;
  color: #FFFFFF;
  height: 32px;
  line-height: 16px;
  outline-color: #17494D;
}

[dir=rtl] .split-button button:not(:only-child):first-child {
  border-left: 1px solid #FFFFFF;
  border-top-left-radius: unset;
  border-bottom-left-radius: unset;
}
[dir=ltr] .split-button button:not(:only-child):first-child {
  border-right: 1px solid #FFFFFF;
  border-top-right-radius: unset;
  border-bottom-right-radius: unset;
}
.split-button button:not(:only-child):last-child {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26px;
  min-width: 26px;
  max-width: 26px;
  padding: 0;
}
[dir=rtl] .split-button button:not(:only-child):last-child {
  border-top-right-radius: unset;
  border-bottom-right-radius: unset;
}
[dir=ltr] .split-button button:not(:only-child):last-child {
  border-top-left-radius: unset;
  border-bottom-left-radius: unset;
}

/***** Tables *****/
.table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
}
@media (min-width: 768px) {
  .table {
    table-layout: auto;
  }
}
.table th,
.table th a {
  color: #5a6d7c;
  font-size: 13px;
  text-align: left;
}
[dir=rtl] .table th,
[dir=rtl] .table th a {
  text-align: right;
}
.table tr {
  border-bottom: 1px solid #ddd;
  display: block;
  padding: 20px 0;
}
@media (min-width: 768px) {
  .table tr {
    display: table-row;
  }
}
.table td {
  display: block;
}
@media (min-width: 768px) {
  .table td {
    display: table-cell;
  }
}
@media (min-width: 1024px) {
  .table td, .table th {
    padding: 20px 30px;
  }
}
@media (min-width: 768px) {
  .table td, .table th {
    padding: 10px 20px;
    height: 60px;
  }
}

/***** Forms *****/
.form {
  max-width: 650px;
}

.form-field ~ .form-field {
  margin-top: 25px;
}

.form-field label {
  display: block;
  font-size: 13px;
  margin-bottom: 5px;
}

.form-field input {
  border: 1px solid #87929D;
  border-radius: 4px;
  padding: 10px;
  width: 100%;
}
.form-field input:focus {
  border: 1px solid #17494D;
}

.form-field input[type=text] {
  border: 1px solid #87929D;
  border-radius: 4px;
}
.form-field input[type=text]:focus {
  border: 1px solid #17494D;
}

.form-field input[type=checkbox] {
  width: auto;
}

.form-field .nesty-input {
  border-radius: 4px;
  border: 1px solid #87929D;
  height: 40px;
  line-height: 40px;
  outline: none;
  vertical-align: middle;
}
.form-field .nesty-input:focus {
  border: 1px solid #17494D;
  text-decoration: none;
}

.form-field .hc-multiselect-toggle {
  border: 1px solid #87929D;
}

.form-field .hc-multiselect-toggle:focus {
  outline: none;
  border: 1px solid #17494D;
  text-decoration: none;
}

.form-field textarea {
  vertical-align: middle;
}

.form-field input[type=checkbox] + label {
  margin: 0 0 0 10px;
}

.form-field .optional {
  color: #5a6d7c;
  margin-left: 4px;
}

.form-field p {
  color: #5a6d7c;
  font-size: 12px;
  margin: 5px 0;
}

.form footer {
  margin-top: 40px;
  padding-top: 30px;
}

.form footer a {
  color: #5a6d7c;
  cursor: pointer;
  margin-right: 15px;
}

.form .suggestion-list {
  font-size: 13px;
  margin-top: 30px;
}
.form .suggestion-list label {
  border-bottom: 1px solid #ddd;
  display: block;
  padding-bottom: 5px;
}
.form .suggestion-list li {
  padding: 10px 0;
}
.form .suggestion-list li a:visited {
  color: #9358B0;
}

/***** Header *****/
.header {
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0 5%;
  position: relative;
  align-items: center;
  display: flex;
  height: 113px;
  justify-content: space-between;
  background: #000;
}
@media (min-width: 1160px) {
  .header {
    padding: 0;
    width: 100%;
  }
}

.logo img {
  max-height: 37px;
  vertical-align: middle;
}

.logo span {
  margin: 0 10px;
  color: #17494D;
}

.logo a {
  display: inline-block;
}

.logo a:hover, .logo a:focus, .logo a:active {
  text-decoration: none;
}

.user-nav {
  display: inline-block;
  position: absolute;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .user-nav {
    position: relative;
  }
}
.user-nav[aria-expanded=true] {
  background-color: #fff;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.15), 0 4px 10px 0 rgba(0, 0, 0, 0.1);
  border: solid 1px #ddd;
  right: 0;
  left: 0;
  top: 71px;
  z-index: 1;
}
.user-nav[aria-expanded=true] > a {
  display: block;
  margin: 20px;
}
.user-nav[aria-expanded=true] > .user-nav-list li {
  display: block;
}
.user-nav[aria-expanded=true] > .user-nav-list a {
  display: block;
  margin: 20px;
}

.user-nav-list {
  display: block;
  list-style: none;
}
.user-nav-list > li {
  display: inline-block;
}

@media (max-width: 768px) {
  .nav-wrapper-desktop {
    display: none;
  }
}
@media (min-width: 768px) {
  .nav-wrapper-desktop {
    display: none;
  }
}
@media (min-width: 1024px) {
  .nav-wrapper-desktop {
    display: inline-block;
  }
}
.nav-wrapper-desktop a {
  border: 0;
  color: #1F73B7;
  display: none;
  font-size: 14px;
  padding: 0 20px 0 0;
  width: auto;
}
@media (min-width: 768px) {
  .nav-wrapper-desktop a {
    display: inline-block;
  }
}
[dir=rtl] .nav-wrapper-desktop a {
  padding: 0 0 0 20px;
}
.nav-wrapper-desktop a:hover, .nav-wrapper-desktop a:focus, .nav-wrapper-desktop a:active {
  background-color: transparent;
  color: #1F73B7;
  text-decoration: underline;
}

@media (min-width: 1024px) {
  .nav-wrapper-mobile {
    display: none;
  }
}
.nav-wrapper-mobile .menu-button-mobile {
  background: none;
  border: 0;
  width: auto;
  min-width: 71px;
  cursor: pointer;
}
.nav-wrapper-mobile .menu-button-mobile .icon-menu {
  padding: 7px;
  vertical-align: middle;
  width: 30px;
  height: 30px;
  border-radius: 50%;
}
.nav-wrapper-mobile .menu-button-mobile[aria-expanded=true] .icon-menu {
  background: #f3f3f3;
}
.nav-wrapper-mobile .menu-list-mobile {
  position: absolute;
  background-color: #fff;
  box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.15);
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
  right: 0;
  left: 0;
  top: 71px;
  z-index: 2;
}
.nav-wrapper-mobile .menu-list-mobile[aria-expanded=false] {
  display: none;
}
.nav-wrapper-mobile .menu-list-mobile[aria-expanded=true] {
  display: block;
}
.nav-wrapper-mobile .menu-list-mobile-items .item {
  margin: 4px 0;
}
.nav-wrapper-mobile .menu-list-mobile-items li:empty:not(.nav-divider) {
  display: none;
}
.nav-wrapper-mobile .menu-list-mobile-items .nav-divider {
  border-bottom: 0.1px solid #ddd;
  padding: 0;
}
.nav-wrapper-mobile .menu-list-mobile-items .nav-divider:last-child {
  display: none;
}
.nav-wrapper-mobile .menu-list-mobile-items button {
  background: none;
  border: none;
  padding: 8px 24px;
  width: 100%;
  height: 100%;
  color: #2F3941;
  cursor: pointer;
  text-align: start;
}
.nav-wrapper-mobile .menu-list-mobile-items button:active, .nav-wrapper-mobile .menu-list-mobile-items button:focus, .nav-wrapper-mobile .menu-list-mobile-items button:hover {
  background-color: #f3f3f3;
  text-decoration: underline;
}
.nav-wrapper-mobile .menu-list-mobile-items a {
  display: block;
  padding: 8px 24px;
  width: 100%;
  height: 100%;
  color: #2F3941;
}
.nav-wrapper-mobile .menu-list-mobile-items a:active, .nav-wrapper-mobile .menu-list-mobile-items a:focus, .nav-wrapper-mobile .menu-list-mobile-items a:hover {
  background-color: #f3f3f3;
}
.nav-wrapper-mobile .menu-list-mobile-items .my-profile {
  display: flex;
  line-height: 1.5;
}
.nav-wrapper-mobile .menu-list-mobile-items .my-profile .my-profile-tooltip {
  font-size: 12px;
  color: #68737D;
}
.nav-wrapper-mobile .menu-list-mobile-items .menu-profile-avatar {
  height: 20px;
  width: 20px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 8px;
  margin-top: 1px;
}
[dir=rtl] .nav-wrapper-mobile .menu-list-mobile-items .menu-profile-avatar {
  margin-right: 0;
  margin-left: 8px;
}

.skip-navigation {
  align-items: center;
  background-color: black;
  color: white;
  display: flex;
  font-size: 14px;
  justify-content: center;
  left: -999px;
  margin: 20px;
  padding: 20px;
  overflow: hidden;
  position: absolute;
  top: auto;
  z-index: -999;
}
[dir=rtl] .skip-navigation {
  left: initial;
  right: -999px;
}
.skip-navigation:focus, .skip-navigation:active {
  left: auto;
  overflow: auto;
  text-align: center;
  text-decoration: none;
  top: auto;
  z-index: 999;
}
[dir=rtl] .skip-navigation:focus, [dir=rtl] .skip-navigation:active {
  left: initial;
  right: auto;
}

#zd-modal-container ~ .skip-navigation {
  display: none;
}

/***** User info in header *****/
.user-info {
  display: inline-block;
}
.user-info .dropdown-toggle::after {
  display: none;
}
@media (min-width: 768px) {
  .user-info .dropdown-toggle::after {
    display: inline-block;
  }
}
.user-info > button {
  border: 0;
  color: #1F73B7;
  min-width: 0;
  padding: 0;
  white-space: nowrap;
}
.user-info > button:hover, .user-info > button:focus {
  color: #1F73B7;
  background-color: transparent;
}
.user-info > button::after {
  color: #1F73B7;
  padding-right: 15px;
}
[dir=rtl] .user-info > button::after {
  padding-left: 15px;
  padding-right: 0;
}

#user #user-name {
  display: none;
  font-size: 14px;
}
@media (min-width: 768px) {
  #user #user-name {
    display: inline-block;
  }
}
#user #user-name:hover {
  text-decoration: underline;
}

/***** User avatar *****/
.user-avatar {
  height: 25px;
  width: 25px;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
}

.avatar {
  display: inline-block;
  position: relative;
}
.avatar img {
  height: 40px;
  width: 40px;
}
.avatar .icon-agent {
  color: #17494D;
  border: 2px solid #fff;
  border-radius: 50%;
  bottom: -4px;
  background-color: #FFFFFF;
  font-size: 17px;
  height: 17px;
  line-height: 17px;
  position: absolute;
  right: -2px;
  text-align: center;
  width: 17px;
}

/***** Footer *****/
.footer {
  border-top: 1px solid #ddd;
  margin-top: 60px;
  padding: 30px 0;
}
.footer a {
  color: #5a6d7c;
}
.footer-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 5%;
  display: flex;
  justify-content: space-between;
}
@media (min-width: 1160px) {
  .footer-inner {
    padding: 0;
    width: 100%;
  }
}
.footer-language-selector button {
  color: #5a6d7c;
  display: inline-block;
}

.powered-by-zendesk a,
.powered-by-zendesk a:visited {
  color: #5a6d7c;
}

/***** Breadcrumbs *****/
.breadcrumbs {
  margin: 0 0 15px 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .breadcrumbs {
    margin: 0;
  }
}
.breadcrumbs li {
  color: #5a6d7c;
  font-size: 13px;
  max-width: 450px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.breadcrumbs li + li::before {
  content: ">";
  margin: 0 4px;
}
.breadcrumbs li a:visited {
  color: #1F73B7;
}

/***** Search field *****/
.search-container {
  position: relative;
}

.search {
  border-color: #87929D;
  border-radius: 30px;
  border-style: solid;
  border-width: 1px;
  display: flex;
  position: relative;
  transition: border 0.12s ease-in-out;
}
.search:focus-within {
  border-color: #17494D;
}
.search input[type=search],
.search .clear-button {
  background-color: #fff;
  border-radius: 30px;
  border: none;
}
.search-full input[type=search], .search-full .clear-button {
  border-color: #fff;
}
.search input[type=search] {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  color: #666;
  flex: 1 1 auto;
  height: 40px;
  width: 100%;
}
.search input[type=search]:focus {
  color: #555;
}
.search input[type=search]::-webkit-search-decoration, .search input[type=search]::-webkit-search-cancel-button, .search input[type=search]::-webkit-search-results-button, .search input[type=search]::-webkit-search-results-decoration {
  -webkit-appearance: none;
}
.search input[type=search]:-webkit-autofill, .search input[type=search]:-webkit-autofill:hover, .search input[type=search]:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
}
.search .clear-button {
  align-items: center;
  box-sizing: border-box;
  color: #777;
  cursor: pointer;
  display: none;
  flex: none;
  justify-content: center;
  padding: 0 15px;
}
.search .clear-button:hover {
  background-color: #17494D;
  color: #fff;
}
.search .clear-button:focus {
  outline: 0;
  box-shadow: 0 0 0 3px #17494D;
}
.search-has-value .clear-button {
  display: flex;
}

[dir=ltr] .search input[type=search] {
  padding-left: 40px;
  padding-right: 20px;
}
[dir=ltr] .search-has-value input[type=search] {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
  border-right-color: transparent;
}
[dir=ltr] .search-has-value input[type=search]:focus {
  border-right-color: #17494D;
}
[dir=ltr] .search .clear-button {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-left-color: transparent;
}
[dir=ltr] .search .clear-button:focus {
  border-left-color: #17494D;
}

[dir=rtl] .search input[type=search] {
  padding-left: 20px;
  padding-right: 40px;
}
[dir=rtl] .search-has-value input[type=search] {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-left-color: transparent;
}
[dir=rtl] .search-has-value input[type=search]:focus {
  border-left-color: #17494D;
}
[dir=rtl] .search .clear-button {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
  border-right-color: transparent;
}
[dir=rtl] .search .clear-button:focus {
  border-right-color: #17494D;
}

.search-icon {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  left: 15px;
  z-index: 1;
  width: 18px;
  height: 18px;
  color: #777;
  pointer-events: none;
}
[dir=rtl] .search-icon {
  left: auto;
  right: 15px;
}

/***** Hero component *****/
.hero {
  height: 90px;
  padding: 0 20px;
  text-align: center;
  width: 100%;
}
.hero-inner {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  max-width: 610px;
  margin: 0 auto;
}

.page-header {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 10px 0;
}
@media (min-width: 768px) {
  .page-header {
    align-items: baseline;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0;
  }
}
.page-header .section-subscribe {
  flex-shrink: 0;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .page-header .section-subscribe {
    margin-bottom: 0;
  }
}
.page-header h1 {
  flex-grow: 1;
  margin-bottom: 10px;
}
.page-header-description {
  font-style: italic;
  margin: 0 0 30px 0;
  word-break: break-word;
}
@media (min-width: 1024px) {
  .page-header-description {
    flex-basis: 100%;
  }
}
.page-header .icon-lock {
  height: 20px;
  width: 20px;
  position: relative;
  left: -5px;
  vertical-align: baseline;
}

.sub-nav {
  align-items: baseline;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 15px 30px;
  justify-content: space-between;
  margin-bottom: 55px;
}
@media (min-width: 768px) {
  .sub-nav {
    flex-direction: row;
  }
}
.sub-nav .breadcrumbs {
  margin: 0;
}
.sub-nav .search-container {
  max-width: 300px;
  width: 100%;
}
@media (min-width: 768px) {
  .sub-nav .search-container {
    flex: 0 1 300px;
  }
}
.sub-nav input[type=search]::after {
  font-size: 15px;
}

/***** Blocks *****/
/* Used in Homepage#categories and Community#topics */
/* .blocks-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  list-style: none;
  padding: 0;
} */

.blocks-list {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
list-style: none;
padding: 0;
margin: 0;       /*  追加: コンテナの外側余白なし */
gap: 30px;       /*  追加: アイテム間の間隔（縦横） */
}
@media (min-width: 768px) {
  .blocks-list {
/*     margin: 0 -15px; */
  }
}
/* .blocks-item {
  border: 1px solid #17494D;
  border-radius: 4px;
  box-sizing: border-box;
  color: #17494D;
/*   display: flex; */
/*   flex: 1 0 340px;
  margin: 0 0 30px;
  max-width: 100%;
  text-align: left;
}  */

.blocks-item {
border: 1px solid #17494D;
border-radius: 4px;
box-sizing: border-box;
color: #17494D;
flex: 1 1 340px;   /* 変更: 1 0 340px → 1 1 340px（縮め可） */
min-width: 0;      /*  追加: 内側コンテンツが幅を押し上げない */
margin: 0;         /*  変更: 子のmarginは使わない（gap管理） */
max-width: 100%;
text-align: left;
}
@media (min-width: 768px) {
.blocks-item {
/*     margin: 0 15px 30px; */
margin: 0;    
  }
}
/* .blocks-item:hover, .blocks-item:focus, .blocks-item:active {
  background-color: #17494D;
}
.blocks-item:hover *, .blocks-item:focus *, .blocks-item:active * {
  color: #FFFFFF;
  text-decoration: none;
} */
.blocks-item-internal {
  background-color: transparent;
  border: 1px solid #ddd;
}
.blocks-item-internal .icon-lock {
  height: 15px;
  width: 15px;
  bottom: 5px;
  position: relative;
}
.blocks-item-internal a {
  color: #2F3941;
}
.blocks-item-link {
  color: #17494D;
  padding: 20px 30px;
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  border-radius: inherit;
}
.blocks-item-link:visited, .blocks-item-link:hover, .blocks-item-link:active {
  color: inherit;
  text-decoration: none;
}
.blocks-item-link:focus {
  outline: 0;
  box-shadow: 0 0 0 3px #17494D;
  text-decoration: none;
}
.blocks-item-title {
  margin-bottom: 0;
  font-size: 16px;
}
.blocks-item-description {
  margin: 0;
}
.blocks-item-description:not(:empty) {
  margin-top: 10px;
}

/***** Homepage *****/
.section {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .section {
    margin-bottom: 60px;
  }
}

.home-section h2 {
  margin-bottom: 10px;
  text-align: center;
}

/***** Promoted articles *****/
.promoted-articles {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
@media (min-width: 1024px) {
  .promoted-articles {
    flex-direction: row;
  }
}
.promoted-articles-item {
  flex: 1 0 auto;
}
@media (min-width: 1024px) {
  .promoted-articles-item {
    align-self: flex-end;
    flex: 0 0 auto;
    padding-right: 30px;
    width: 33%; /* Three columns on desktop */
  }
  [dir=rtl] .promoted-articles-item {
    padding: 0 0 0 30px;
  }
}
.promoted-articles-item:nth-child(3n) {
  padding-right: 0;
}
.promoted-articles-item a {
  display: block;
  border-bottom: 1px solid #ddd;
  padding: 15px 0;
}
.promoted-articles-item .icon-lock {
  vertical-align: baseline;
}
.promoted-articles-item:last-child a {
  border: 0;
}
@media (min-width: 1024px) {
  .promoted-articles-item:last-child a {
    border-bottom: 1px solid #ddd;
  }
}

/***** Community section in homepage *****/
.community {
  text-align: center;
}
.community-image {
  min-height: 300px;
  margin-top: 32px;
  background-image: url(/hc/theming_assets/01K4S6VN14Z0FZ03GGBJE7PS48);
  background-position: center;
  background-repeat: no-repeat;
  max-width: 100%;
}
.community a {
  color: #1F73B7;
  text-decoration: underline;
}
.community a:visited {
  color: #9358B0;
}
.community a:hover, .community a:active, .community a:focus {
  color: #0F3554;
}

.community,
.activity {
  border-top: 1px solid #ddd;
  padding: 30px 0;
}

/***** Recent activity *****/
.recent-activity-header {
  margin-bottom: 10px;
  text-align: center;
}
.recent-activity-list {
  padding: 0;
}
.recent-activity-item {
  border-bottom: 1px solid #ddd;
  overflow: auto;
}
.recent-activity-item h3 {
  margin: 0;
}
.recent-activity-item-parent {
  font-size: 16px;
  font-weight: 600;
}
.recent-activity-item-parent, .recent-activity-item-link {
  margin: 6px 0;
  display: inline-block;
  width: 100%;
}
@media (min-width: 768px) {
  .recent-activity-item-parent, .recent-activity-item-link {
    width: 70%;
    margin: 0;
  }
}
.recent-activity-item-link {
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.recent-activity-item-meta {
  color: #2F3941;
  margin: 15px 0 0 0;
  float: none;
}
@media (min-width: 768px) {
  .recent-activity-item-meta {
    margin: 0;
    float: right;
  }
  [dir=rtl] .recent-activity-item-meta {
    float: left;
  }
}
.recent-activity-item-time, .recent-activity-item-comment {
  display: inline-block;
  font-size: 13px;
}
.recent-activity-item-comment {
  padding-left: 5px;
}
[dir=rtl] .recent-activity-item-comment {
  padding: 0 5px 0 0;
}
.recent-activity-item-comment::before {
  display: inline-block;
}
.recent-activity-controls {
  padding-top: 15px;
}
.recent-activity-controls a {
  color: #1F73B7;
  text-decoration: underline;
}
.recent-activity-controls a:visited {
  color: #9358B0;
}
.recent-activity-controls a:hover, .recent-activity-controls a:active, .recent-activity-controls a:focus {
  color: #0F3554;
}
.recent-activity-accessibility-label {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}
.recent-activity-comment-icon svg {
  vertical-align: middle;
  color: #17494D;
  width: 16px;
  height: 16px;
}
.recent-activity-comment-icon:after {
  content: attr(data-comment-count);
  margin-left: 3px;
}
[dir=rtl] .recent-activity-comment-icon:after {
  margin-left: 0;
  margin-right: 3px;
}

/***** Category pages *****/
.category-container {
  display: flex;
  justify-content: flex-end;
}
.category-content {
  flex: 1;
  max-width: 100%;
}
@media (min-width: 1024px) {
  .category-content {
    flex: 0 0 80%;
  }
}

.section-tree {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 768px) {
  .section-tree {
    flex-direction: row;
  }
}
.section-tree .section {
  flex: initial;
  max-width: 100%;
}
@media (min-width: 768px) {
  .section-tree .section {
    flex: 0 0 45%; /* Two columns for tablet and desktop. Leaving 5% separation between columns */
  }
}
.section-tree-title {
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 600;
}
.section-tree-title a {
  color: #2F3941;
}
.section-tree .see-all-articles {
  display: block;
  padding: 15px 0;
}

.article-list-item {
  font-size: 16px;
  padding: 15px 0;
  text-overflow: ellipsis;
  overflow: hidden;
}
.article-list-item a {
  color: #2F3941;
}

.icon-star {
  color: #17494D;
  font-size: 18px;
}

/***** Section pages *****/
.section-container {
  display: flex;
/*   justify-content: flex-end; */
}
.section-content {
  flex: 1;
  max-width: 100%;
}
@media (min-width: 1024px) {
  .section-content {
    flex: 0 0 80%;
  }
}
.section-list {
  margin: 40px 0;
}

.section-list-item {
  border-bottom: 1px solid #ddd;
  font-size: 16px;
  padding: 15px 0;
}
.section-list-item:first-child {
  border-top: 1px solid #ddd;
}
.section-list-item a {
  align-items: center;
  color: #2F3941;
  display: flex;
  justify-content: space-between;
}

.see-all-sections-trigger {
  cursor: pointer;
  display: block;
  padding: 15px;
  text-align: center;
}
.see-all-sections-trigger[aria-hidden=true] {
  display: none;
}

/***** Article *****/
.article {
  /*
  * The article grid is defined this way to optimize readability:
  * Sidebar | Content | Free space
  * 17%     | 66%     | 17%
  */
  flex: 1 0 auto;
}
@media (min-width: 1024px) {
  .article {
    flex: 1 0 66%;
    max-width: 66%;
    min-width: 640px;
    padding: 0 30px;
  }
}
.article-container {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .article-container {
    flex-direction: row;
  }
}
.article-header {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
/*   justify-content: space-between; */
/*   margin-bottom: 40px; */
  margin-top: 20px;
}
@media (min-width: 768px) {
  .article-header {
    flex-direction: row;
    margin-top: 0;
  }
}
.article-avatar {
  margin-right: 10px;
}
.article-author {
  margin-bottom: 10px;
}
.article-title {
/*   overflow: hidden; */
  text-overflow: ellipsis;
  max-width: 100%;
  font-size: 1.2rem;
  flex: 1;
  line-height: 1.5; 
}
@media (min-width: 768px) {
  .article-title {
    flex-basis: 100%; /* Take entire row */
  }
}
.article-title .icon-lock {
  position: relative;
  left: -5px;
  vertical-align: baseline;
}
.article [role=button] {
  flex-shrink: 0; /*Avoid collapsing elements in Safari (https://github.com/philipwalton/flexbugs#1-minimum-content-sizing-of-flex-items-not-honored)*/
  width: 100%;
}
@media (min-width: 768px) {
  .article [role=button] {
    width: auto;
  }
}
.article-info {
  max-width: 100%;
}
.article-meta {
  display: inline-block;
  vertical-align: middle;
}
.article-body {
  display: flow-root;
}
.article-body a {
  color: #1F73B7;
  text-decoration: underline;
}
.article-body a:visited {
  color: #9358B0;
}
.article-body a:hover, .article-body a:active, .article-body a:focus {
  color: #0F3554;
}
.article-body img {
  height: auto;
  max-width: 100%;
}
.article-body p > img.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.article-body p > img.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.article-body p > img.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.article-body p > img.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.article-body figure.image {
  display: table;
  margin: 0 auto;
}
.article-body figure.image > img {
  display: block;
  width: 100%;
}
.article-body figure.image.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.article-body figure.image.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.article-body figure.image.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.article-body figure.image.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.article-body figcaption {
  padding: 10px 0;
  font-size: 12px;
  text-align: center;
  background-color: #f2f2f2;
}
.article-body ul,
.article-body ol {
  padding-left: 20px;
  list-style-position: outside;
  margin: 20px 0 20px 10px;
}
[dir=rtl] .article-body ul,
[dir=rtl] .article-body ol {
  padding-right: 20px;
  padding-left: 0;
  margin-left: 0;
  margin-right: 20px;
}
.article-body ul > ul,
.article-body ol > ol,
.article-body ol > ul,
.article-body ul > ol,
.article-body li > ul,
.article-body li > ol {
  margin: 0;
}
.article-body ul {
  list-style-type: disc;
}
.article-body :not(pre) > code {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 0 5px;
  margin: 0 2px;
}
.article-body pre {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 10px 15px;
  overflow: auto;
  white-space: pre;
}
.article-body blockquote {
  border-left: 1px solid #ddd;
  color: #5a6d7c;
  font-style: italic;
  padding: 0 15px;
}
.article-body > p:last-child {
  margin-bottom: 0;
}
.article-content {
  line-height: 1.6;
  margin-top: 15px !important;
  word-wrap: break-word;
  padding: 10px 10px !important;
  
}
.article-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-bottom: 20px;
}
.article-comment-count {
  color: #5a6d7c;
}
.article-comment-count:hover {
  text-decoration: none;
}
.article-comment-count-icon {
  vertical-align: middle;
  color: #17494D;
  width: 18px;
  height: 18px;
}
.article-sidebar {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
  flex: 1 0 auto;
  margin-bottom: 20px;
  padding: 0;
}
@media (min-width: 1024px) {
  .article-sidebar {
    border: 0;
    flex: 0 0 17%;
    height: auto;
    max-width: 17%;
  }
}
.article-relatives {
  border-top: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  padding: 20px 0;
}
@media (min-width: 768px) {
  .article-relatives {
/*     flex-direction: row; */
  }
}
.article-relatives > * {
  flex: 1 0 50%;
  min-width: 50%;
  overflow-wrap: break-word;
  margin-right: 0;
}
.article-relatives > *:last-child {
  padding: 0;
}
/* @media (min-width: 768px) {
  .article-relatives > * {
    padding-right: 20px;
  } */
}
.article-votes {
  border-top: 1px solid #ddd;
  padding: 30px 0;
  text-align: center;
}
.article-votes-question {
  font-size: 15px;
  font-weight: normal;
  margin-bottom: 0;
}
.article-vote {
  margin: 10px 5px;
  min-width: 90px;
  width: auto;
}
.article-more-questions {
  margin: 10px 0 20px;
  text-align: center;
}
.article-more-questions a {
  color: #1F73B7;
  text-decoration: underline;
}
.article-more-questions a:visited {
  color: #9358B0;
}
.article-more-questions a:hover, .article-more-questions a:active, .article-more-questions a:focus {
  color: #0F3554;
}
.article-return-to-top {
  border-top: 1px solid #87929D;
}
@media (min-width: 1024px) {
  .article-return-to-top {
    display: none;
  }
}
.article-return-to-top a {
  color: #2F3941;
  display: block;
  padding: 20px 0;
}
.article-return-to-top a:hover, .article-return-to-top a:focus {
  text-decoration: none;
}
.article-return-to-top-icon {
  transform: rotate(0.5turn);
}
.article td > p:first-child,
.article th > p:first-child {
  margin-top: 0;
}
.article td > p:last-child,
.article th > p:last-child {
  margin-bottom: 0;
}

.sidenav-title {
  font-size: 15px;
  position: relative;
  font-weight: 600;
}
.sidenav-item {
  display: block;
  margin-top: 10px;
  margin-bottom: 16px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.recent-articles li,
.related-articles li {
  margin-bottom: 15px;
}

/***** Attachments *****/
/* Styles attachments inside posts, articles and comments */
.attachments .attachment-item {
  padding-left: 20px;
  position: relative;
  margin-bottom: 10px;
}
.attachments .attachment-item:last-child {
  margin-bottom: 0;
}
.attachments .attachment-item .attachment-icon {
  color: #2F3941;
  left: 0;
  position: absolute;
  top: 5px;
}
[dir=rtl] .attachments .attachment-item {
  padding-left: 0;
  padding-right: 20px;
}
[dir=rtl] .attachments .attachment-item .attachment-icon {
  left: auto;
  right: 0;
}

.upload-dropzone span {
  color: #5a6d7c;
}

/***** Social share links *****/
.share {
  padding: 0;
  white-space: nowrap;
}

.share li, .share a {
  display: inline-block;
}

.share li {
  height: 25px;
  width: 25px;
}

.share a {
  color: #5a6d7c;
}
.share a:hover {
  text-decoration: none;
  color: #17494D;
}
.share a svg {
  height: 18px;
  width: 18px;
  display: block;
}

/***** Comments *****/
/* Styles comments inside articles, posts and requests */
.comment {
  border-bottom: 1px solid #ddd;
  padding: 20px 0;
}
.comment-heading, .recent-articles-title,
.related-articles-title {
  margin-bottom: 5px;
  margin-top: 0;
  font-size: 18px;
  font-weight: 600;
}
.comment-overview {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
  padding: 20px 0;
}
.comment-overview p {
  margin-top: 0;
}
.comment-callout {
  color: #5a6d7c;
  display: inline-block;
  font-size: 13px;
  margin-bottom: 0;
}
.comment-callout a {
  color: #1F73B7;
  text-decoration: underline;
}
.comment-callout a:visited {
  color: #9358B0;
}
.comment-callout a:hover, .comment-callout a:active, .comment-callout a:focus {
  color: #0F3554;
}
.comment-sorter {
  display: inline-block;
  float: right;
}
.comment-sorter .dropdown-toggle {
  color: #5a6d7c;
  font-size: 13px;
}
[dir=rtl] .comment-sorter {
  float: left;
}
.comment-wrapper {
  display: flex;
  position: relative;
}
.comment-wrapper.comment-official {
  border: 1px solid #17494D;
  padding: 40px 20px 20px;
}
@media (min-width: 768px) {
  .comment-wrapper.comment-official {
    padding-top: 20px;
  }
}
.comment-info {
  min-width: 0;
  padding-right: 20px;
  width: 100%;
}
[dir=rtl] .comment-info {
  padding-right: 0;
  padding-left: 20px;
}
.comment-author {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .comment-author {
    justify-content: space-between;
  }
}
.comment-avatar {
  margin-right: 10px;
}
[dir=rtl] .comment-avatar {
  margin-left: 10px;
  margin-right: 0;
}
.comment-meta {
  flex: 1 1 auto;
}
.comment-labels {
  flex-basis: 100%;
}
@media (min-width: 768px) {
  .comment-labels {
    flex-basis: auto;
  }
}
.comment .status-label:not(.status-label-official) {
  margin-top: 10px;
}
@media (min-width: 768px) {
  .comment .status-label:not(.status-label-official) {
    margin-top: 0;
  }
}
.comment-form {
  display: flex;
  padding-top: 30px;
  word-wrap: break-word;
}
.comment-container {
  width: 100%;
}
.comment-form-controls {
  display: none;
  margin-top: 10px;
  text-align: left;
}
@media (min-width: 768px) {
  [dir=ltr] .comment-form-controls {
    text-align: right;
  }
}
.comment-form-controls input[type=submit] {
  margin-top: 15px;
}
@media (min-width: 1024px) {
  .comment-form-controls input[type=submit] {
    margin-left: 15px;
  }
  [dir=rtl] .comment-form-controls input[type=submit] {
    margin-left: 0;
    margin-right: 15px;
  }
}
.comment-form-controls input[type=checkbox] {
  margin-right: 5px;
}
.comment-form-controls input[type=checkbox] [dir=rtl] {
  margin-left: 5px;
}
.comment-ccs {
  display: none;
}
.comment-ccs + textarea {
  margin-top: 10px;
}
.comment-attachments {
  margin-top: 10px;
}
.comment-attachments a {
  color: #17494D;
}
.comment-body {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  display: flow-root;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  line-height: 1.6;
  overflow-x: auto;
}
.comment-body a {
  color: #1F73B7;
  text-decoration: underline;
}
.comment-body a:visited {
  color: #9358B0;
}
.comment-body a:hover, .comment-body a:active, .comment-body a:focus {
  color: #0F3554;
}
.comment-body img {
  height: auto;
  max-width: 100%;
}
.comment-body p > img.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.comment-body p > img.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.comment-body p > img.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.comment-body p > img.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.comment-body figure.image {
  display: table;
  margin: 0 auto;
}
.comment-body figure.image > img {
  display: block;
  width: 100%;
}
.comment-body figure.image.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.comment-body figure.image.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.comment-body figure.image.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.comment-body figure.image.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.comment-body figcaption {
  padding: 10px 0;
  font-size: 12px;
  text-align: center;
  background-color: #f2f2f2;
}
.comment-body ul,
.comment-body ol {
  padding-left: 20px;
  list-style-position: outside;
  margin: 20px 0 20px 20px;
}
[dir=rtl] .comment-body ul,
[dir=rtl] .comment-body ol {
  padding-right: 20px;
  padding-left: 0;
  margin-left: 0;
  margin-right: 20px;
}
.comment-body ul > ul,
.comment-body ol > ol,
.comment-body ol > ul,
.comment-body ul > ol,
.comment-body li > ul,
.comment-body li > ol {
  margin: 0;
}
.comment-body ul {
  list-style-type: disc;
}
.comment-body :not(pre) > code {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 0 5px;
  margin: 0 2px;
}
.comment-body pre {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 10px 15px;
  overflow: auto;
  white-space: pre;
}
.comment-body blockquote {
  border-left: 1px solid #ddd;
  color: #5a6d7c;
  font-style: italic;
  padding: 0 15px;
}
.comment-mark-as-solved {
  display: inline-block;
}

/***** Vote *****/
/* Used in article comments, post comments and post */
.vote {
  display: flex;
  flex-direction: column;
  text-align: center;
}
.vote a:active, .vote a:hover, .vote a:focus {
  text-decoration: none;
}

.vote-sum {
  color: #5a6d7c;
  display: block;
  margin: 3px 0;
}
[dir=rtl] .vote-sum {
  direction: ltr;
  unicode-bidi: bidi-override;
}

.vote-up svg {
  transform: scale(1, -1);
}

.vote-up:hover,
.vote-down:hover {
  color: #17494D;
}

.vote-up, .vote-down {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  color: #5a6d7c;
  cursor: pointer;
  min-height: 35px;
  min-width: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vote-voted {
  color: #17494D;
}

.vote-voted:hover {
  color: #000;
}

/***** Actions *****/
/* Styles admin and en user actions(edit, delete, change status) in comments and posts */
.actions {
  text-align: center;
  flex-shrink: 0; /*Avoid collapsing elements in Safari*/
}
.actions button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  cursor: pointer;
  min-height: 35px;
  min-width: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/***** Community *****/
.community-hero {
  background-image: url(/hc/theming_assets/01K4S6VMPBXBRZ6Q79RNEVMZGD);
  margin-bottom: 10px;
}
.community-footer {
  padding-top: 50px;
  text-align: center;
}
.community-footer-title {
  font-size: 16px;
  margin-bottom: 20px;
}
.community-featured-posts .title {
  font-size: 18px;
  font-weight: 600;
}
.community-featured-posts, .community-activity {
  padding-top: 40px;
  width: 100%;
}
.community-header {
  margin-bottom: 30px;
}
.community-header .title {
  margin-bottom: 0;
  font-size: 16px;
}

.post-to-community {
  margin-top: 10px;
}
@media (min-width: 768px) {
  .post-to-community {
    margin: 0;
  }
}

/* Community topics grid */
.topics {
  max-width: none;
  width: 100%;
}
.topics-item .meta-group {
  justify-content: center;
  margin-top: 20px;
}

/* Community topic page */
.topic-header {
  border-bottom: 1px solid #ddd;
  font-size: 13px;
}
@media (min-width: 768px) {
  .topic-header {
    padding-bottom: 10px;
  }
}
.topic-header .dropdown {
  display: block;
  border-top: 1px solid #ddd;
  padding: 10px 0;
}
@media (min-width: 768px) {
  .topic-header .dropdown {
    border-top: 0;
    display: inline-block;
    margin-right: 20px;
    padding: 0;
  }
}

.no-posts-with-filter {
  margin-top: 20px;
  margin-bottom: 20px;
}

/* Topic, post and user follow button */
.community-follow {
  margin-bottom: 10px;
  width: 100%;
}
@media (min-width: 768px) {
  .community-follow {
    margin-bottom: 0;
    width: auto;
  }
}
.community-follow button {
  line-height: 30px;
  padding: 0 10px 0 15px;
  position: relative;
  width: 100%;
}
@media (min-width: 768px) {
  .community-follow button {
    width: auto;
  }
}
.community-follow button:hover {
  background-color: #17494D;
}
.community-follow button:hover::after, .community-follow button:focus::after {
  border-color: #FFFFFF;
  color: #FFFFFF;
}
.community-follow button[data-selected=true] {
  background-color: #17494D;
  color: #FFFFFF;
}
.community-follow button[data-selected=true]::after {
  border-left: 1px solid #FFFFFF;
  color: #FFFFFF;
}
.community-follow button[data-selected=true]:hover {
  background-color: #000;
  border-color: #000;
}
.community-follow button::after {
  border-left: 1px solid #17494D;
  content: attr(data-follower-count);
  color: #17494D;
  display: inline-block;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  margin-left: 15px;
  padding-left: 10px;
  position: absolute;
  right: 10px;
}
@media (min-width: 768px) {
  .community-follow button::after {
    position: static;
  }
}
[dir=rtl] .community-follow button::after {
  border-left: 0;
  border-right: 1px solid #17494D;
  margin: 0 10px 0 0;
  padding: 0 10px 0 0;
}

/***** Striped list *****/
/* Used in community posts list and requests list */
.striped-list {
  padding: 0;
}
.striped-list-item {
  align-items: flex-start;
  border-bottom: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px 0;
}
@media (min-width: 768px) {
  .striped-list-item {
    align-items: center;
    flex-direction: row;
  }
}
.striped-list-info {
  flex: 2;
}
.striped-list-title {
  color: #1F73B7;
  margin-bottom: 10px;
  margin-right: 5px;
}
.striped-list-title:hover, .striped-list-title:focus, .striped-list-title:active {
  text-decoration: underline;
}
.striped-list-title:visited {
  color: #9358B0;
}
.striped-list .meta-group {
  margin: 5px 0;
}
.striped-list-count {
  color: #5a6d7c;
  font-size: 13px;
  justify-content: flex-start;
  text-transform: capitalize;
}
@media (min-width: 768px) {
  .striped-list-count {
    display: flex;
    flex: 1;
    justify-content: space-around;
  }
}
.striped-list-count-item::after {
  content: "·";
  display: inline-block;
  padding: 0 5px;
}
@media (min-width: 768px) {
  .striped-list-count-item::after {
    display: none;
  }
}
.striped-list-count-item:last-child::after {
  display: none;
}
.striped-list-number {
  text-align: center;
}
@media (min-width: 768px) {
  .striped-list-number {
    color: #2F3941;
    display: block;
  }
}

/***** Status labels *****/
/* Styles labels used in posts, articles and requests */
.status-label {
  background-color: #038153;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  margin-right: 2px;
  padding: 3px 10px;
  vertical-align: middle;
  white-space: nowrap;
  display: inline-block;
}
.status-label:hover, .status-label:active, .status-label:focus {
  text-decoration: none;
}
.status-label-pinned, .status-label-featured, .status-label-official {
  background-color: #17494D;
}
.status-label-official {
  border-radius: 0;
  margin-right: 0;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .status-label-official {
    border-radius: 0 0 4px 4px;
    right: 30px;
    width: auto;
  }
}
[dir=rtl] .status-label-official {
  left: 30px;
  right: auto;
}
.status-label-not-planned, .status-label-closed {
  background-color: #e9ebed;
  color: #5a6d7c;
}
.status-label-pending, .status-label-pending-moderation {
  background-color: #1f73b7;
  text-align: center;
}
.status-label-open {
  background-color: #c72a1c;
}
.status-label-solved {
  background-color: #68737d;
}
.status-label-new {
  background-color: #ffb648;
  color: #703b15;
}
.status-label-hold {
  background-color: #000;
}
.status-label-request {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 768px) {
  .status-label-request {
    max-width: 150px;
  }
}

/***** Post *****/
/*
* The post grid is defined this way:
* Content | Sidebar
* 70%     | 30%
*/
.post {
  flex: 1;
  margin-bottom: 10px;
}
@media (min-width: 1024px) {
  .post {
    flex: 1 0 70%;
    max-width: 70%;
  }
}
.post-container {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .post-container {
    flex-direction: row;
  }
}
.post-header {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .post-header {
    align-items: baseline;
    flex-direction: row;
  }
}
.post-header .status-label {
  vertical-align: super;
}
.post-title {
  margin-bottom: 20px;
  width: 100%;
}
@media (min-width: 768px) {
  .post-title {
    margin-bottom: 0;
    padding-right: 10px;
  }
}
.post-title h1 {
  display: inline;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .post-title h1 {
    margin-right: 5px;
  }
}
.post-author {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}
.post-avatar {
  margin-bottom: 30px;
}
.post-content {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  line-height: 1.6;
  word-break: break-word;
}
.post-info-container {
  display: flex;
  margin-bottom: 40px;
}
.post-info {
  min-width: 0;
  padding-right: 20px;
  width: 100%;
}
[dir=rtl] .post-info {
  padding-right: 0;
  padding-left: 20px;
}
.post-meta {
  display: inline-block;
  flex: 1;
  margin-left: 10px;
  vertical-align: middle;
}
[dir=rtl] .post-meta {
  margin-left: 0;
  margin-right: 10px;
}
.post-body {
  display: flow-root;
}
.post-body a {
  color: #1F73B7;
  text-decoration: underline;
}
.post-body a:visited {
  color: #9358B0;
}
.post-body a:hover, .post-body a:active, .post-body a:focus {
  color: #0F3554;
}
.post-body img {
  height: auto;
  max-width: 100%;
}
.post-body p > img.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.post-body p > img.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.post-body p > img.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.post-body p > img.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.post-body figure.image {
  display: table;
  margin: 0 auto;
}
.post-body figure.image > img {
  display: block;
  width: 100%;
}
.post-body figure.image.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.post-body figure.image.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.post-body figure.image.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.post-body figure.image.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.post-body figcaption {
  padding: 10px 0;
  font-size: 12px;
  text-align: center;
  background-color: #f2f2f2;
}
.post-body ul,
.post-body ol {
  padding-left: 20px;
  list-style-position: outside;
  margin: 20px 0 20px 20px;
}
[dir=rtl] .post-body ul,
[dir=rtl] .post-body ol {
  padding-right: 20px;
  padding-left: 0;
  margin-left: 0;
  margin-right: 20px;
}
.post-body ul > ul,
.post-body ol > ol,
.post-body ol > ul,
.post-body ul > ol,
.post-body li > ul,
.post-body li > ol {
  margin: 0;
}
.post-body ul {
  list-style-type: disc;
}
.post-body :not(pre) > code {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 0 5px;
  margin: 0 2px;
}
.post-body pre {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 10px 15px;
  overflow: auto;
  white-space: pre;
}
.post-body blockquote {
  border-left: 1px solid #ddd;
  color: #5a6d7c;
  font-style: italic;
  padding: 0 15px;
}
.post-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-bottom: 20px;
}
.post-comment-count {
  color: #5a6d7c;
}
.post-comment-count:hover {
  text-decoration: none;
}
.post-comment-count .icon-comments {
  color: #17494D;
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 5px;
  vertical-align: middle;
}
.post-sidebar {
  border-top: 1px solid #ddd;
  flex: 1;
  padding: 30px 0;
  text-align: center;
}
@media (min-width: 1024px) {
  .post-sidebar {
    border: 0;
    flex: 1 0 30%;
    padding: 0 0 0 50px;
    text-align: initial;
  }
  [dir=rtl] .post-sidebar {
    padding: 0 50px 0 0;
  }
}
.post-sidebar-title {
  font-size: 18px;
  font-weight: 600;
}
.post-comments {
  margin-bottom: 20px;
}
@media (min-width: 1024px) {
  .post-comments {
    margin-bottom: 0;
  }
}

/***** Community Badges *****/
/* Styles labels used next to the authors of article comments, community posts, and community comments */
.community-badge-title {
  background-color: #04444d;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 0px 8px;
  vertical-align: top;
  white-space: nowrap;
  display: inline-block;
  line-height: 18px;
  vertical-align: middle;
}

.community-badge-titles {
  display: inline;
}

.community-badge-achievement {
  display: block;
  height: 16px;
  white-space: nowrap;
  width: 16px;
}
.community-badge-achievement img {
  width: 100%;
  height: 100%;
}

.community-badge-achievements {
  display: flex;
}

.community-badge-achievements-rest {
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  vertical-align: top;
}

.community-badge {
  margin: 2px;
}

.profile-info .community-badge-title {
  padding: 2px 8px;
  line-height: 20px;
}
.profile-info .community-badge-achievement {
  height: 40px;
  width: 40px;
}
.profile-info .community-badge-achievements-rest {
  line-height: 40px;
  font-size: 20px;
}

/* Navigation element that collapses on mobile */
.collapsible-nav {
  flex-direction: column;
  font-size: 14px;
  position: relative;
}
@media (min-width: 768px) {
  .collapsible-nav {
    flex-direction: row;
  }
}

.collapsible-nav-border {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
}
@media (min-width: 768px) {
  .collapsible-nav-border {
    border-top: 0;
  }
}

.collapsible-nav-toggle {
  top: 22.5px;
  transform: translateY(-50%);
  position: absolute;
  right: 0;
  padding: 0;
  border: 0;
  background: none;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .collapsible-nav-toggle {
    display: none;
  }
}
[dir=rtl] .collapsible-nav-toggle {
  left: 0;
  right: auto;
}
.collapsible-nav-toggle-icon {
  display: none;
}
.collapsible-nav-toggle[aria-expanded=false] .chevron-icon {
  display: inline-block;
}
.collapsible-nav-toggle[aria-expanded=true] .x-icon {
  display: inline-block;
}
.collapsible-nav-toggle:focus {
  outline: none;
  border: 1px solid #17494D;
}

.collapsible-nav-list {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .collapsible-nav-list {
    flex-direction: row;
  }
}
.collapsible-nav-list li {
  color: #2F3941;
  line-height: 45px;
  order: 1;
}
@media (min-width: 768px) {
  .collapsible-nav-list li {
    line-height: normal;
    margin-right: 30px;
  }
  [dir=rtl] .collapsible-nav-list li {
    margin-left: 30px;
    margin-right: 0;
  }
  .collapsible-nav-list li a {
    text-decoration: none;
    padding: 15px 0;
  }
}
.collapsible-nav-list li a {
  color: #2F3941;
  display: block;
}
@media (min-width: 768px) {
  .collapsible-nav-list li:hover {
    border-bottom: 4px solid #ddd;
  }
  .collapsible-nav-list li:hover a:not([aria-current=page]) {
    padding: 15px 0 11px 0;
    text-decoration: none;
  }
}
.collapsible-nav-list li:not([aria-selected=true]),
.collapsible-nav-list li:not(.current) {
  display: none;
}
@media (min-width: 768px) {
  .collapsible-nav-list li:not([aria-selected=true]),
  .collapsible-nav-list li:not(.current) {
    display: block;
  }
}
@media (min-width: 768px) {
  .collapsible-nav-list li[aria-selected=true] {
    padding: 15px 0 11px 0;
  }
}
.collapsible-nav-list li[aria-selected=true],
.collapsible-nav-list li.current {
  order: 0;
  position: relative;
}
@media (min-width: 768px) {
  .collapsible-nav-list li[aria-selected=true],
  .collapsible-nav-list li.current {
    border-bottom: 4px solid #17494D;
    order: 1;
  }
}
.collapsible-nav-list li[aria-selected=true] a,
.collapsible-nav-list li.current a {
  color: #2F3941;
}

.collapsible-nav[aria-expanded=true] li:not([aria-selected=true]),
.collapsible-nav[aria-expanded=true] li:not(.current) {
  display: block;
}

/* Sidebar navigation that collapses on mobile */
.collapsible-sidebar {
  flex: 1;
  max-height: 45px;
  overflow: hidden;
  padding: 10px 0;
  position: relative;
}
@media (min-width: 1024px) {
  .collapsible-sidebar {
    max-height: none;
    padding: 0;
  }
}
.collapsible-sidebar-title {
  margin-top: 0;
}
.collapsible-sidebar-toggle {
  position: absolute;
  top: 22.5px;
  transform: translateY(-50%);
  right: 0;
  padding: 0;
  border: 0;
  background: none;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}
@media (min-width: 1024px) {
  .collapsible-sidebar-toggle {
    display: none;
  }
}
[dir=rtl] .collapsible-sidebar-toggle {
  left: 0;
  right: auto;
}
.collapsible-sidebar-toggle-icon {
  display: none;
}
.collapsible-sidebar-toggle[aria-expanded=false] .chevron-icon {
  display: inline-block;
}
.collapsible-sidebar-toggle[aria-expanded=true] .x-icon {
  display: inline-block;
}
.collapsible-sidebar-toggle:focus {
  outline: none;
  border: 1px solid #17494D;
}
.collapsible-sidebar-body {
  display: none;
}
@media (min-width: 1024px) {
  .collapsible-sidebar-body {
    display: block;
  }
}
.collapsible-sidebar[aria-expanded=true] {
  max-height: none;
}
.collapsible-sidebar[aria-expanded=true] .collapsible-sidebar-body {
  display: block;
}

/***** My activities *****/
.my-activities-nav {
  background-color: #f2f2f2;
  margin-bottom: 20px;
}
.my-activities-sub-nav {
  margin-bottom: 30px;
}
.my-activities-table .striped-list-title { /* My activities tables */
  display: block;
  margin-bottom: 10px;
  max-width: 350px;
  white-space: normal;
}
@media (min-width: 1024px) {
  .my-activities-table .striped-list-title {
    margin-bottom: 0;
    max-width: 500px;
    min-width: 350px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.my-activities-table thead {
  display: none;
}
@media (min-width: 768px) {
  .my-activities-table thead {
    display: table-header-group;
  }
}
.my-activities-table th:first-child,
.my-activities-table td:first-child {
  padding-left: 0;
}
@media (min-width: 1024px) {
  .my-activities-table th:first-child,
  .my-activities-table td:first-child {
    width: 500px;
  }
}
.my-activities-table th:last-child,
.my-activities-table td:last-child {
  padding-right: 0;
}
.my-activities-table td:not(:first-child) {
  display: none;
}
@media (min-width: 768px) {
  .my-activities-table td:not(:first-child) {
    display: table-cell;
  }
}

/* Requests table */
.requests-search {
  width: 100%;
}
.requests-table-toolbar {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .requests-table-toolbar {
    flex-direction: row;
  }
}
.requests-table-toolbar .search {
  flex: 1;
  width: 100%;
}
.requests-table-toolbar .request-table-filter {
  width: 100%;
}
@media (min-width: 768px) {
  .requests-table-toolbar .request-table-filter {
    width: auto;
  }
}
.requests-table-toolbar .request-filter {
  display: block;
}
@media (min-width: 768px) {
  .requests-table-toolbar .request-filter {
    margin: 0 0 0 30px;
  }
  [dir=rtl] .requests-table-toolbar .request-filter {
    margin: 0 30px 0 0;
  }
}
.requests-table-toolbar .request-filter-label {
  font-size: 13px;
  margin-top: 30px;
}
@media (min-width: 768px) {
  .requests-table-toolbar .request-filter-label {
    margin-top: 0;
  }
}
.requests-table-toolbar select {
  max-height: 40px;
  margin-bottom: 30px;
  width: 100%;
}
@media (min-width: 768px) {
  .requests-table-toolbar select {
    margin-bottom: 0;
    max-width: 300px;
    width: auto;
  }
}
@media (min-width: 768px) {
  .requests-table-toolbar .organization-subscribe {
    margin-left: 10px;
  }
  [dir=rtl] .requests-table-toolbar .organization-subscribe {
    margin: 0 10px 0 0;
  }
}
.requests-table-toolbar .organization-subscribe button {
  line-height: 40px;
  max-height: 40px;
  padding: 0 20px;
}
.requests-table-toolbar + .requests-search-info {
  margin-top: 15px;
}
.requests-table-toolbar + .requests-search-info.meta-data::after {
  content: "";
  margin: 0;
}
.requests-table-toolbar + .requests-search-info + .requests {
  margin-top: 20px;
}
.requests-table-toolbar + .requests {
  margin-top: 40px;
}
.requests .requests-table-meta {
  display: block;
}
@media (min-width: 768px) {
  .requests .requests-table-meta {
    display: none;
  }
}
.requests .requests-table thead {
  display: none;
}
@media (min-width: 768px) {
  .requests .requests-table thead {
    display: table-header-group;
  }
}
.requests .requests-table-info {
  display: block;
}
@media (min-width: 768px) {
  .requests .requests-table-info {
    display: table-cell;
    vertical-align: middle;
    width: auto;
  }
}
.requests .requests-table .requests-link {
  position: relative;
}
.requests .requests-table .requests-sort-symbol {
  position: absolute;
  left: calc(100% + 3px);
  bottom: 0;
  font-size: 10px;
}

/* Following table */
@media (min-width: 768px) {
  .subscriptions-subscribe button {
    width: auto;
  }
}
.subscriptions-table td:last-child {
  display: block;
}
@media (min-width: 768px) {
  .subscriptions-table td:last-child {
    display: table-cell;
  }
}
.subscriptions-table td:first-child {
  display: flex;
  align-items: center;
}
.subscriptions-table .user-avatar {
  margin-right: 10px;
}
.subscriptions .striped-list-title {
  display: inline-block;
  vertical-align: middle;
}

/* Contributions table */
.contributions-table td:last-child {
  color: #5a6d7c;
  font-size: 13px;
}
@media (min-width: 768px) {
  .contributions-table td:last-child {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
  }
}

.no-activities {
  color: #5a6d7c;
}

/***** Request *****/
.request-container {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 1024px) {
  .request-container {
    align-items: flex-start;
    flex-direction: row;
  }
}
.request-container .comment-container {
  min-width: 0;
}
.request-breadcrumbs {
  margin-bottom: 40px;
}
@media (min-width: 1024px) {
  .request-breadcrumbs {
    margin-bottom: 60px;
  }
}
.request-main {
  flex: 1 0 auto;
  order: 1;
}
.request-main .comment-fields, .request-main .request-submit-comment {
  display: none;
}
.request-main .comment-fields.shown {
  display: block;
}
.request-main .request-submit-comment.shown {
  display: inline;
}
@media (min-width: 1024px) {
  .request-main {
    flex: 0 0 66%;
    order: 0;
    min-width: 0;
  }
}
.request-main .comment-form-controls {
  display: block;
}
.request-main .comment-ccs {
  display: block;
}
.request-main .comment-show-container {
  border-radius: 2px;
  border: 1px solid #ddd;
  color: #5a6d7c;
  text-align: inherit;
  padding: 8px 25px;
  width: 100%;
}
.request-main .comment-show-container.hidden {
  display: none;
}
.request-main .form-field.comment-ccs > ul {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 0;
}
.request-main .form-field.comment-ccs > ul[data-hc-focus=true] {
  border: 1px solid #17494D;
}
.request-main .form-field.comment-ccs > input[type=text] {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 0;
}
.request-main .comment-ccs + textarea {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin-top: 0;
}
.request-main .comment-ccs + textarea:focus {
  border-top: 1px solid #17494D;
}
.request-main input#mark_as_solved {
  display: none;
}
.request-title {
  width: 100%;
}
@media (min-width: 1024px) {
  .request-title {
    border-bottom: 1px solid #ddd;
    margin-bottom: 0;
    max-width: 66%;
    padding-bottom: 20px;
  }
}
.request-sidebar {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
  flex: 1 0 auto;
  order: 0;
}
@media (min-width: 1024px) {
  .request-sidebar {
    background-color: #f7f7f7;
    border: 0;
    font-size: 13px;
    flex: 0 0 auto;
    padding: 0 20px;
    width: 30%;
  }
}
.request-sidebar h2 {
  font-size: 15px;
  font-weight: 600;
  position: relative;
}
@media (min-width: 1024px) {
  .request-sidebar h2 {
    display: none;
  }
}
.request-details {
  border-bottom: 1px solid #ddd;
  font-size: 0;
  margin: 0;
  padding-bottom: 20px;
}
.request-details:last-child {
  border: 0;
}
.request-details dt, .request-details dd {
  display: inline-block;
  vertical-align: top;
  font-size: 13px;
  margin: 20px 0 0 0;
}
.request-details dd {
  padding: 0 10px;
  width: 60%;
}
.request-details dd::after {
  content: "\a";
  white-space: pre;
}
.request-details dt {
  line-break: strict;
  color: #5a6d7c;
  width: 40%;
}
.request-details .request-collaborators {
  display: inline-block;
}
.request-attachments dt, .request-attachments dd {
  width: 100%;
}
.request-attachments dd {
  margin: 10px 0 0 0;
}
.request-form textarea {
  min-height: 120px;
}
.request-follow-up {
  padding-top: 20px;
}

/***** Pagination *****/
.pagination {
  margin: 20px 0;
  text-align: center;
}
.pagination-next, .pagination-prev, .pagination-first, .pagination-last {
  display: inline-block;
}
.pagination-first-link, .pagination-last-link {
  padding: 0 10px;
}
.pagination-first-text, .pagination-last-text {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}
.pagination-next-link {
  padding-right: 10px;
}
.pagination-next-text {
  margin-right: 10px;
}
[dir=rtl] .pagination-next-link {
  padding-left: 10px;
}
[dir=rtl] .pagination-next-text {
  margin-left: 10px;
}
.pagination-prev-link {
  padding-left: 10px;
}
.pagination-prev-text {
  margin-left: 10px;
}
[dir=rtl] .pagination-prev-link {
  padding-right: 10px;
}
[dir=rtl] .pagination-prev-text {
  margin-right: 10px;
}

/***** Metadata *****/
.meta-group {
  display: block;
}

.meta-group-opposite {
  float: right;
}

[dir=rtl] .meta-group-opposite {
  float: left;
}

.meta-group * {
  display: inline;
}

.meta-data {
  color: #5a6d7c;
  font-size: 13px;
}
.meta-data:not(:last-child)::after {
  content: "·";
  margin: 0 5px;
}

/* User Profiles */
.profile-header {
  padding: 30px 0;
  background-color: #f7f7f7;
}

.profile-header .container {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .profile-header .container {
    flex-wrap: nowrap;
  }
}

.profile-header .profile-info {
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
}

.profile-avatar {
  position: relative;
  line-height: 0;
  align-self: center;
  margin-right: 10px;
}
[dir=rtl] .profile-avatar {
  margin-left: 10px;
  margin-right: 0;
}

.profile-avatar .user-avatar {
  width: 80px;
  height: 80px;
}

.profile-avatar .icon-agent {
  bottom: 0;
  right: 0;
}

.profile-header .basic-info {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
}
.profile-header .basic-info .name {
  margin: 0;
  line-height: 25px;
  vertical-align: middle;
  display: inline;
}

.profile-header .options {
  display: flex;
  flex-basis: 100%;
  margin-top: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .profile-header .options {
    flex-wrap: nowrap;
    flex-basis: auto;
    margin-top: 0;
    margin-left: 10px;
  }
  [dir=rtl] .profile-header .options {
    margin-left: 0;
    margin-right: 10px;
  }
  .profile-header .options > :not(:last-child) {
    margin-bottom: 0;
    margin-right: 10px;
  }
  [dir=rtl] .profile-header .options > :not(:last-child) {
    margin-left: 10px;
    margin-right: 0;
  }
}

.user-profile-actions {
  width: 100%;
  margin-bottom: 15px;
}

.profile-header .description {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  margin: 15px 0;
  flex-basis: 100%;
}

.profile-stats {
  font-size: 13px;
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
}

.profile-stats .stat {
  display: flex;
  margin-bottom: 10px;
}

.profile-stats .stat-label {
  color: #5a6d7c;
  flex: 0 0 100px;
  margin-right: 10px;
}
[dir=rtl] .profile-stats .stat-label {
  margin-left: 10px;
  margin-right: 0;
}

.profile-stats-activity {
  border-top: solid 1px #ddd;
  margin-top: 15px;
}
@media (min-width: 768px) {
  .profile-stats-activity {
    border-top: 0;
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .profile-stats-activity .stat {
    flex-direction: column;
  }
}

.profile-stats-activity .stat:first-child {
  margin-top: 10px;
}
@media (min-width: 768px) {
  .profile-stats-activity .stat:first-child {
    margin-top: 0;
  }
}

@media (min-width: 768px) {
  .profile-stats-activity .stat:not(:last-child) {
    margin-right: 40px;
  }
  [dir=rtl] .profile-stats-activity .stat:not(:last-child) {
    margin-left: 40px;
    margin-right: 0;
  }
}

@media (min-width: 768px) {
  .profile-stats-activity .stat-label {
    flex: 0 1 auto;
  }
}

.profile-stats-counters {
  border-bottom: solid 1px #ddd;
}
@media (min-width: 768px) {
  .profile-stats-counters {
    flex: 0 0 200px;
    border-bottom: 0;
    margin-left: 40px;
  }
  [dir=rtl] .profile-stats-counters {
    margin-left: 0;
    margin-right: 40px;
  }
}
@media (min-width: 1024px) {
  .profile-stats-counters {
    flex: 0 0 270px;
    margin-left: 60px;
  }
  [dir=rtl] .profile-stats-counters {
    margin-right: 60px;
    margin-left: 0;
  }
}

@media (min-width: 768px) {
  .profile-stats-counters .stat {
    flex-direction: column;
  }
}
@media (min-width: 1024px) {
  .profile-stats-counters .stat {
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .profile-stats-counters .stat:not(:last-child) {
    margin-bottom: 15px;
  }
}

@media (min-width: 768px) {
  .profile-stats-counters .stat-label {
    flex: 0 1 auto;
  }
}
@media (min-width: 1024px) {
  .profile-stats-counters .stat-label {
    flex: 0 0 100px;
  }
}

.profile-private-badge {
  flex-basis: 100%;
  border: solid 1px #17494D;
  border-radius: 4px;
  color: #17494D;
  padding: 5px 20px;
  font-size: 12px;
  text-align: center;
}
.profile-private-badge .profile-private-icon {
  margin-left: 5px;
  line-height: 15px;
}
@media (min-width: 768px) {
  .profile-private-badge {
    flex-basis: auto;
  }
}

.profile-nav {
  background-color: #f2f2f2;
  margin-bottom: 37px;
}

.profile-section {
  width: 100%;
}
@media (min-width: 1024px) {
  .profile-section {
    width: calc(100% - 330px);
  }
}

.profile-section-header {
  display: flex;
  flex-wrap: wrap;
}

.profile-section-title {
  flex-basis: 100%;
  margin-bottom: 0;
}

.profile-section-description {
  flex-basis: 100%;
  padding: 10px 0;
  color: #5a6d7c;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (min-width: 768px) {
  .profile-section-description {
    flex: 1 0 50%;
    padding-bottom: 0;
  }
}

.profile-section-sorter {
  flex-basis: 100%;
  border-top: solid 1px #eee;
  font-size: 13px;
}
.profile-section-sorter .dropdown-toggle {
  padding: 10px 0;
  width: 100%;
}
.profile-section-sorter .dropdown-toggle::after {
  position: absolute;
  right: 0;
}
[dir=rtl] .profile-section-sorter .dropdown-toggle::after {
  left: 0;
  right: initial;
}
@media (min-width: 768px) {
  .profile-section-sorter .dropdown-toggle::after {
    position: relative;
  }
}
@media (min-width: 768px) {
  .profile-section-sorter {
    flex: 0 1 auto;
    padding-top: 0;
    border-top: 0;
    margin-left: 20px;
  }
  [dir=rtl] .profile-section-sorter {
    margin-left: 0;
    margin-right: 20px;
  }
}

.profile-badges-items {
  margin-top: 25px;
}
.profile-badges-item {
  border-top: 1px solid #ddd;
  display: flex;
  flex: 1;
  flex-direction: row;
  justify-content: flex-start;
  padding: 27px 12px;
}
.profile-badges-item > div {
  padding-right: 12px;
  padding-left: 12px;
}
.profile-badges-item-image {
  height: 40px;
  width: 40px;
  margin-right: 12px;
}
.profile-badges-item-image img {
  max-height: 40px;
}
[dir=rtl] .profile-badges-item-image {
  margin-left: 12px;
  margin-right: 0;
}
.profile-badges-item-title, .profile-badges-item-metadata-title {
  font-size: 15px;
  margin-bottom: 10px;
}
.profile-badges-item-title {
  font-weight: 600;
}
.profile-badges-item-description, .profile-badges-item-metadata-description {
  color: #5a6d7c;
  font-size: 13px;
  margin: 0;
}
.profile-badges-item-metadata {
  margin-left: auto;
  text-align: right;
}
[dir=rtl] .profile-badges-item-metadata {
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.profile-contribution {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  padding: 20px 0;
  position: relative;
}

.profile-contribution-header {
  margin-bottom: 5px;
}

.profile-contribution-title {
  margin: 0 0 5px 0;
  display: inline;
  line-height: 21px;
  font-size: 15px;
  vertical-align: middle;
}

.profile-contribution-body {
  margin: 10px 0;
}

.profile-contribution-list > .profile-contribution {
  border-top: 1px solid #eee;
}
@media (min-width: 768px) {
  .profile-contribution-list > .profile-contribution {
    padding-left: 30px;
  }
  [dir=rtl] .profile-contribution-list > .profile-contribution {
    padding-right: 30px;
    padding-left: 0;
  }
}

.profile-contribution-list > .profile-contribution:last-child {
  border-bottom: 1px solid #eee;
}

.profile-contribution-icon {
  left: 0;
  position: absolute;
  color: #ccc;
  line-height: 25px;
}
[dir=rtl] .profile-contribution-icon {
  right: 0;
}
.profile-contribution-icon svg {
  vertical-align: middle;
}

.profile-contribution-list .profile-contribution-header {
  margin-left: 30px;
}
[dir=rtl] .profile-contribution-list .profile-contribution-header {
  padding-right: 30px;
  padding-left: 0;
}
@media (min-width: 768px) {
  .profile-contribution-list .profile-contribution-header {
    margin-left: 0;
  }
  [dir=rtl] .profile-contribution-list .profile-contribution-header {
    padding-right: 0;
  }
}

.profile-comments .profile-contribution-breadcrumbs {
  margin-left: 30px;
}
[dir=rtl] .profile-comments .profile-contribution-breadcrumbs {
  padding-right: 30px;
  padding-left: 0;
}
@media (min-width: 768px) {
  .profile-comments .profile-contribution-breadcrumbs {
    margin-left: 0;
  }
  [dir=rtl] .profile-comments .profile-contribution-breadcrumbs {
    padding-right: 0;
  }
}

.profile-section .no-activity,
.profile-section .private-activity {
  display: block;
  margin-top: 40px;
  color: #999;
}

.private-activity-icon {
  margin-right: 10px;
}
[dir=rtl] .private-activity-icon {
  margin-right: 0;
  margin-left: 10px;
}

.profile-activity-list {
  margin-top: 25px;
}

.profile-activity {
  position: relative;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .profile-activity {
    padding-left: 20px;
  }
  [dir=rtl] .profile-activity {
    padding-right: 20px;
    padding-left: 0;
  }
}

@media (min-width: 768px) {
  .profile-activity:not(:last-child) {
    border-left: 1px solid #ddd;
  }
  [dir=rtl] .profile-activity:not(:last-child) {
    border-left: 0;
    border-right: 1px solid #ddd;
  }
}

.profile-activity-header {
  display: flex;
  align-items: center;
  margin-left: 35px;
}
[dir=rtl] .profile-activity-header {
  margin-left: 0;
  margin-right: 35px;
}
@media (min-width: 768px) {
  .profile-activity-header {
    margin-left: 0;
  }
  [dir=rtl] .profile-activity-header {
    margin-right: 0;
  }
}

.profile-activity-header .user-avatar {
  width: 40px;
  height: 40px;
  margin-right: 10px;
  min-width: 40px;
  align-self: flex-start;
}
[dir=rtl] .profile-activity-header .user-avatar {
  margin-left: 10px;
  margin-right: 0;
}

.profile-activity-description {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  margin: 0;
  min-width: 0;
  width: 100%;
}

.profile-activity-description span:first-child {
  font-weight: 600;
  display: inline;
}

.profile-activity-contribution {
  padding: 20px;
  margin-top: 10px;
  border-radius: 8px;
  background-color: #f7f7f7;
}
@media (min-width: 768px) {
  .profile-activity-contribution {
    margin-top: 0;
    margin-left: 50px;
  }
  [dir=rtl] .profile-activity-contribution {
    margin-left: 0;
    margin-right: 50px;
  }
}

.profile-activity-icon {
  position: absolute;
  left: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-size: 14px 14px;
  background-repeat: no-repeat;
  background-color: #FFFFFF;
  background-position: 50% 50%;
  text-align: center;
  color: #ccc;
}
[dir=rtl] .profile-activity-icon {
  right: 0;
}
@media (min-width: 768px) {
  .profile-activity-icon {
    left: -14px;
  }
  [dir=rtl] .profile-activity-icon {
    right: -14px;
  }
}

.profile-activity-icon svg {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  margin: auto;
}

/***** Search results *****/
.search-results {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 1024px) {
  .search-results {
    flex-direction: row;
  }
}
.search-results-column {
  flex: 1;
}
@media (min-width: 1024px) {
  .search-results-column {
    flex: 0 0 75%;
  }
}
.search-results-sidebar {
  border-top: 1px solid #ddd;
  flex: 1 0 auto;
  margin-bottom: 20px;
  padding: 0;
}
@media (min-width: 1024px) {
  .search-results-sidebar {
    border: 0;
    flex: 0 0 20%;
    height: auto;
  }
}
.search-results-sidebar .sidenav-item {
  border-radius: 4px;
  padding: 10px 36px;
  margin-bottom: 4px;
  color: #2F3941;
}
.search-results-sidebar .sidenav-item:hover, .search-results-sidebar .sidenav-item.current {
  background-color: #e9ebed;
  text-decoration: none;
}
.search-results-sidebar .sidenav-subitem {
  unicode-bidi: embed;
}
.search-results-sidebar .sidenav-tag {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  flex-grow: 0;
}
.search-results-sidebar .sidenav-tag .content-tag {
  background: #E9EBED;
  border-radius: 4px;
  padding: 4px 12px;
  text-decoration: none;
}
.search-results-sidebar .sidenav-tag .content-tag .label {
  font-style: normal;
  font-weight: 600;
  font-size: 12px;
  line-height: 24px;
  text-align: center;
  letter-spacing: -0.000427656px;
  color: #49545C;
  flex-grow: 0;
  vertical-align: middle;
  display: inline-block;
}
.search-results-sidebar .sidenav-tag .content-tag .close-icon {
  color: #555555;
  vertical-align: middle;
  display: inline-block;
}
.search-results-sidebar .collapsible-sidebar {
  margin-bottom: 30px;
}
.search-results-sidebar .collapsible-sidebar[aria-expanded=false] .multibrand-filter-list {
  display: none;
}
@media (min-width: 1024px) {
  .search-results-sidebar .collapsible-sidebar[aria-expanded=false] .multibrand-filter-list {
    display: block;
  }
}
.search-results-sidebar .multibrand-filter-list--collapsed li:nth-child(1n+6) {
  display: none;
}
.search-results-sidebar .multibrand-filter-list .doc-count {
  color: #666;
}
.search-results-sidebar .see-all-filters {
  background: none;
  border: none;
  cursor: pointer;
  display: block;
  padding: 10px;
  color: #1F73B7;
}
.search-results-sidebar .see-all-filters[aria-hidden=true] {
  display: none;
}
.search-results-sidebar .see-all-filters:hover {
  text-decoration: underline;
}
.search-results-sidebar .see-all-filters::after {
  content: " ⌄";
  font-weight: bold;
}
.search-results-subheading {
  font-size: 18px;
  font-weight: 600;
}
.search-results-list {
  margin-bottom: 25px;
}
.search-results-list > li {
  padding: 20px 0;
}
.search-results-list > li:first-child {
  border-top: 1px solid #ddd;
}
.search-results .no-results {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 4rem;
}
.search-results .no-results .headline {
  color: #2F3941;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: -0.45px;
}
.search-results .no-results .action-prompt {
  color: #68737D;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.154px;
}
.search-results .no-results .action-prompt a {
  color: #1F73B7;
}
.search-results .no-results .action-prompt a:visited {
  color: #1F73B7;
}

.search-result-title-container {
  display: flex;
/*   justify-content: space-between; */
  align-items: center;
}
.search-result-title {
  font-size: 16px;
  margin-bottom: 0;
}
.search-result-votes, .search-result-meta-count {
  color: #5a6d7c;
  font-size: 13px;
}
.search-result-votes-icon, .search-result-meta-count-icon {
  color: #17494D;
  vertical-align: middle;
  width: 13px;
  height: 13px;
}
[dir=ltr] .search-result-votes, [dir=ltr] .search-result-meta-count {
  margin-left: 20px;
}
[dir=rtl] .search-result-votes, [dir=rtl] .search-result-meta-count {
  margin-right: 20px;
}
.search-result-meta-container {
  color: #666;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .search-result-meta-container {
    flex-direction: row;
    align-items: center;
  }
}
@media (min-width: 1024px) {
  .search-result-meta-container nav {
    flex: 1;
  }
}
@media (min-width: 1024px) {
  [dir=ltr] .search-result-meta-container .meta-data {
    margin-left: 20px;
  }
}
@media (min-width: 1024px) {
  [dir=rtl] .search-result-meta-container .meta-data {
    margin-right: 20px;
  }
}
.search-result-meta-container .meta-data::after {
  content: none;
}
.search-result-breadcrumbs {
  margin: 0;
}
.search-result-description {
  margin-top: 10px;
  margin-bottom: 0;
  word-break: break-word;
}

/* By default use bold instead of italic to highlight */
.search-results-description em {
  font-style: normal;
  font-weight: bold;
}

/* Add a yellow background for Chinese */
html[lang|=zh] .search-results-description em {
  font-style: normal;
  background: yellow;
}

/***** Notifications *****/
.notification {
  border: 1px solid;
  display: table;
  font-family: sans-serif;
  font-size: 12px;
  padding: 13px 15px;
  transition: height 0.2s;
  width: 100%;
  color: #555;
}

.notification a {
  color: #158ec2;
}

.notification-inner {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 980px;
}

.notification-icon, .notification-inline.notification-error::before, .notification-text, .notification-dismiss {
  display: table-cell;
  vertical-align: middle;
}

.notification-text {
  padding: 0 15px;
  width: 100%;
}

.notification + .notification {
  margin-bottom: -1px;
  position: relative;
  top: -1px;
}

/* Error */
.notification-error {
  background: #ffeded;
  border-color: #f7cbcb;
}

.notification-error .notification-icon::before, .notification-error .notification-inline.notification-error::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' focusable='false' viewBox='0 0 12 12'%3E%3Cg fill='none' stroke='%23555555'%3E%3Ccircle cx='5.5' cy='6.5' r='5'/%3E%3Cpath stroke-linecap='round' d='M5.5 3.5v3'/%3E%3C/g%3E%3Ccircle cx='5.5' cy='9' r='1' fill='%23555555'/%3E%3C/svg%3E");
}

/* Notice */
.notification-notice {
  background: #dbf3ff;
  border-color: #b5e0f5;
}

.notification-notice .notification-icon::before, .notification-notice .notification-inline.notification-error::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' focusable='false' viewBox='0 0 12 12'%3E%3Cg fill='none' stroke='%23555555'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3.5 6l2 2L9 4.5'/%3E%3Ccircle cx='6' cy='6' r='5.5'/%3E%3C/g%3E%3C/svg%3E");
}

/* Alert / Lock */
.notification-alert {
  color: #ad5e18;
  background: #fff8ed;
  border-color: #fcdba9;
}

.notification-alert .notification-icon::before, .notification-alert .notification-inline.notification-error::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' focusable='false' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23ad5e18' stroke-linecap='round' d='M5.06 1.27l-4.5 8.5c-.18.33.06.73.44.73h9c.38 0 .62-.4.44-.73l-4.5-8.5a.494.494 0 00-.88 0zM5.5 4v2'/%3E%3Ccircle cx='5.5' cy='8' r='.8' fill='%23ad5e18'/%3E%3C/svg%3E");
}

.notification-icon::before, .notification-inline.notification-error::before {
  background-size: cover;
  content: "";
  display: inline-block;
  height: 14px;
  width: 14px;
  vertical-align: middle;
}

/* Dismiss button */
.notification-dismiss, a.notification-dismiss {
  color: #555;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 100ms ease;
  text-decoration: none !important;
}

.notification-dismiss:hover {
  opacity: 1;
}

/* Inline notifications */
.notification-inline {
  border-radius: 4px;
  line-height: 14px;
  margin-top: 5px;
  padding: 5px;
  position: relative;
  text-align: left;
  vertical-align: middle;
}
[dir=rtl] .notification-inline {
  text-align: right;
}
.notification-inline[aria-hidden=true] {
  display: none;
}
.notification-inline.notification-error::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' focusable='false' viewBox='0 0 12 12'%3E%3Cg fill='none' stroke='%23e35b66'%3E%3Ccircle cx='5.5' cy='6.5' r='5'/%3E%3Cpath stroke-linecap='round' d='M5.5 3.5v3'/%3E%3C/g%3E%3Ccircle cx='5.5' cy='9' r='1' fill='%23e35b66'/%3E%3C/svg%3E");
  margin: -2px 5px 0 0;
}
[dir=rtl] .notification-inline.notification-error::before {
  margin: 0 0 0 5px;
}
.notification-inline.notification-error {
  background-color: #fff0f1;
  border: 1px solid #e35b66;
  color: #cc3340;
}
.notification-inline.notification-large {
  padding: 13px 15px;
  margin-bottom: 25px;
}

.notification-left-aligned {
  text-align: left;
  padding-left: 0;
}

html[dir=rtl] .notification-left-aligned {
  text-align: right;
  padding-left: auto;
  padding-right: 0;
}

.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-toggle {
  cursor: pointer;
  background: none;
  border: 0;
  display: inline-block;
  padding: 0;
  text-align: initial;
  vertical-align: middle;
}
.dropdown-toggle:hover {
  text-decoration: none;
}
.dropdown-toggle > * {
  display: inline-block;
}
.dropdown-toggle[aria-expanded=true] + .dropdown-menu {
  display: block;
}

.dropdown-menu {
  background: #fff;
  border: 1px solid #d8dcde;
  border-radius: 3px;
  box-shadow: 0px 20px 30px 0px rgba(23, 73, 77, 0.15);
  display: none;
  font-size: 14px;
  font-style: normal;
  font-weight: normal;
  left: 0;
  margin-top: 1px;
  min-width: 170px;
  padding: 10px 0;
  position: absolute;
  text-align: left;
  z-index: 1000;
}
[dir=rtl] .dropdown-menu {
  text-align: right;
}
.dropdown-menu [role=separator] {
  border-bottom: 1px solid #e9ebed;
  margin: 4px 0;
}
.dropdown-menu [role=menuitem],
.dropdown-menu [role=menuitemradio] {
  color: #2f3941;
  cursor: pointer;
  display: block;
  padding: 7px 40px 7px 20px;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
  text-align: start;
  line-height: inherit;
  width: 100%;
}
[dir=rtl] .dropdown-menu [role=menuitem],
[dir=rtl] .dropdown-menu [role=menuitemradio] {
  padding: 7px 20px 7px 40px;
}
.dropdown-menu [role=menuitem]:hover, .dropdown-menu [role=menuitem]:focus,
.dropdown-menu [role=menuitemradio]:hover,
.dropdown-menu [role=menuitemradio]:focus {
  background: rgba(31, 115, 183, 0.08);
  text-decoration: none;
  color: #2f3941;
}
.dropdown-menu [role=menuitem][aria-selected=true], .dropdown-menu [role=menuitem][aria-checked=true],
.dropdown-menu [role=menuitemradio][aria-selected=true],
.dropdown-menu [role=menuitemradio][aria-checked=true] {
  cursor: default;
}
.dropdown-menu [role=menuitem][aria-selected=true]::after, .dropdown-menu [role=menuitem][aria-checked=true]::after,
.dropdown-menu [role=menuitemradio][aria-selected=true]::after,
.dropdown-menu [role=menuitemradio][aria-checked=true]::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M1 7l3 3 7-7'%3E%3C/path%3E%3C/svg%3E");
  display: inline-block;
  height: 12px;
  margin-left: 10px;
  width: 12px;
}
[dir=rtl] .dropdown-menu [role=menuitem][aria-selected=true]::after, [dir=rtl] .dropdown-menu [role=menuitem][aria-checked=true]::after,
[dir=rtl] .dropdown-menu [role=menuitemradio][aria-selected=true]::after,
[dir=rtl] .dropdown-menu [role=menuitemradio][aria-checked=true]::after {
  margin-left: 0;
  margin-right: 10px;
  float: left;
}
.dropdown-menu [role=menuitem][hidden], .dropdown-menu [role=menuitem][aria-hidden=true],
.dropdown-menu [role=menuitemradio][hidden],
.dropdown-menu [role=menuitemradio][aria-hidden=true] {
  display: none !important;
}

.dropdown-menu-end {
  left: auto;
  right: 0;
}

.dropdown-menu-top {
  bottom: 100%;
  margin-bottom: 1px;
}

[dir=rtl] .dropdown-menu {
  left: auto;
  right: 0;
  text-align: right;
}
[dir=rtl] .dropdown-menu-end {
  left: 0;
  right: auto;
}

.dropdown-chevron-icon {
  vertical-align: middle;
}

.content-tags > p {
  color: #68737D;
  margin-top: 32px;
  margin-bottom: 4px;
}
.content-tags-add-hint {
  color: #68737D;
  font-size: 14px;
}

.content-tag-list {
  display: flex;
  flex-wrap: wrap;
  word-break: break-word;
}
.content-tag-list li {
  border-right: 1px solid #C2C8CC;
  margin-bottom: 4px;
}
[dir=ltr] .content-tag-list li {
  padding-right: 8px;
  margin-right: 8px;
}
[dir=rtl] .content-tag-list li {
  padding-left: 8px;
  margin-left: 8px;
}
.content-tag-list li:last-child {
  border: none;
}

/***** WYSIWYG Editor *****/
#hc-wysiwyg {
  border: 1px solid #87929D;
}

/***** Upload Dropzone *****/
.upload-dropzone {
  border: 1px solid #87929D;
}

/***** Summary component *****/
zd-summary-block {
  background: #f3f6f6;
}
[dir=ltr] zd-summary-block {
  border-left-color: #859fa1;
}
[dir=rtl] zd-summary-block {
  border-right-color: #859fa1;
}

.service-catalog-description {
  display: flow-root;
}
.service-catalog-description a {
  color: #1F73B7;
  text-decoration: underline;
}
.service-catalog-description a:visited {
  color: #9358B0;
}
.service-catalog-description a:hover, .service-catalog-description a:active, .service-catalog-description a:focus {
  color: #0F3554;
}
.service-catalog-description img {
  height: auto;
  max-width: 100%;
}
.service-catalog-description p > img.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.service-catalog-description p > img.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.service-catalog-description p > img.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.service-catalog-description p > img.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.service-catalog-description figure.image {
  display: table;
  margin: 0 auto;
}
.service-catalog-description figure.image > img {
  display: block;
  width: 100%;
}
.service-catalog-description figure.image.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.service-catalog-description figure.image.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.service-catalog-description figure.image.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.service-catalog-description figure.image.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.service-catalog-description figcaption {
  padding: 10px 0;
  font-size: 12px;
  text-align: center;
  background-color: #f2f2f2;
}
.service-catalog-description ul,
.service-catalog-description ol {
  padding-left: 20px;
  list-style-position: outside;
  margin: 20px 0 20px 20px;
}
[dir=rtl] .service-catalog-description ul,
[dir=rtl] .service-catalog-description ol {
  padding-right: 20px;
  padding-left: 0;
  margin-left: 0;
  margin-right: 20px;
}
.service-catalog-description ul > ul,
.service-catalog-description ol > ol,
.service-catalog-description ol > ul,
.service-catalog-description ul > ol,
.service-catalog-description li > ul,
.service-catalog-description li > ol {
  margin: 0;
}
.service-catalog-description ul {
  list-style-type: disc;
}
.service-catalog-description :not(pre) > code {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 0 5px;
  margin: 0 2px;
}
.service-catalog-description pre {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 10px 15px;
  overflow: auto;
  white-space: pre;
}
.service-catalog-description blockquote {
  border-left: 1px solid #ddd;
  color: #5a6d7c;
  font-style: italic;
  padding: 0 15px;
}

/* 「カテゴリから探す」見出しの上部にマージンを追加 */
/* このh2が特定の場所（例: .knowledge-base セクション内）にのみ適用されるように調整が必要な場合があります */
.section.knowledge-base h2:nth-of-type(2) { /* 2番目のh2タグを指定する例、CSSの構造により異なる場合があります */
  margin-top: 30px; /* 必要に応じてピクセル値を調整してください */
}

/* または、より汎用的な指定方法として、直前の要素からのマージンを設定 */
.section.knowledge-base h2 {
    margin-top: 30px; /* 他のh2にも影響が出る可能性があるので注意 */
}

/* ピックアップ記事が常に縦一列に表示されるように変更 */
.promoted-articles {
  flex-direction: column; /* 常に縦並びにする */
  flex-wrap: nowrap; /* 折り返しを無効にする（不要になるが念のため） */
}

.promoted-articles-item {
  width: 100%; /* 各記事の幅を常に100%にする */
  padding-right: 0 !important; /* 右側のパディングをなくす */
}

/* デスクトップ用のメディアクエリ内の設定を上書きまたは削除 */
@media (min-width: 1024px) {
  .promoted-articles {
    flex-direction: column; /* 1024px以上でも縦並びを維持 */
  }
  .promoted-articles-item {
    width: 100%; /* 1024px以上でも幅を100%に維持 */
    align-self: auto; /* flex-endの設定を解除 */
    padding-right: 0; /* PC表示での右パディングをなくす */
  }
  [dir=rtl] .promoted-articles-item {
    padding: 0; /* RTL環境でのパディングもリセット */
  }
  .promoted-articles-item:nth-child(3n) {
    padding-right: 0; /* 不要になるが念のため */
  }
  .promoted-articles-item:last-child a {
    border-bottom: 1px solid #ddd; /* 必要であれば下線を維持 */
  }
}

/* フッターのカスタムナビゲーションを横並びにする */
.footer-custom-nav ul {
  display: flex; /* 子要素（li）をフレックスアイテムとして横並びにする */
  list-style: none; /* リストの点（・）を非表示にする */
  padding: 0; /* デフォルトのパディングをリセット */
  margin: 0; /* デフォルトのマージンをリセット */
  justify-content: center; /* 必要に応じて、項目を中央揃えにする（任意） */
  flex-wrap: wrap; /* 画面幅が狭い場合に折り返す */
}

.footer-custom-nav li {
  margin: 0 10px; /* 各項目間の横方向のスペースを調整 */
}

/* リンク自体のスタイル調整（任意） */
.footer-custom-nav ul li a {
  white-space: nowrap; /* テキストが改行されないようにする */
  /* 必要に応じて、paddingやcolorなどを追加 */
}
/* フッターの背景を黒、文字を白にする */
.footer {
  background-color: #000000; /* 背景色を黒に設定 */
  color: #ffffff; /* 文字色を白に設定 */
}

/* フッター内のリンクの色も白に変更（既存のリンク色設定を上書きするため） */
.footer a {
  color: #ffffff; /* リンクの文字色を白に設定 */
}

/* 訪問済みリンクの色も白に変更（任意） */
.footer a:visited {
  color: #ffffff;
}

/* ホバー時のリンクの色（任意：カーソルを合わせた時の色） */
.footer a:hover {
  color: #cccccc; /* 例: 少し薄い灰色にする */
}

/* -------追記--------- */

.hot-list-q {
    width: 20px;
    height: 20px;
    font-size: 14px;
    color: #fff;
    text-align: center;
    background: #B21920;
    display: inline-block;
    line-height: 20px;
    border-radius: 50%;
    margin: 3.5px 1.2em 0 0;
}

.hover_link {
  color: #333;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  padding-left: 20px;
}
.hover_link:hover {
    /* ホバー時のスタイル */
    background-color: #f8f8f8;
    text-decoration: none; /* 下線が欲しい場合など */
} 

.section-title:hover {
    /* ホバー時のスタイル */
    background-color: #f8f8f8;
    text-decoration: none; /* 下線が欲しい場合など */
} 

/* ★修正：ドット抜けを修正 */
.promoted-articles-item a {}

.hot-list-title{
  font-weight: bold;
    flex: 1;
  padding-left:10px;
}
.container {
  /* ★修正：コメント内のコメントを修正 */
  /* display: flex; Flexboxコンテナにする */ 
  flex-wrap: wrap; /* 子要素がコンテナの幅を超えた時に改行する */
}

#material-list {
    white-space: nowrap;
}
  
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}

.column-title {
    width: 100%;
    height: 15px;
    display: flex;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    align-items: center;
    
}

.Secondary-section-frame {
  align-items: center;
  font-weight: bold;
  flex: 1;
  padding-left: 10px;
}

.section-list li a{
  position: absolute;
}

.section-list ul{
    position: relative;
    padding: 3px 0 3px 1.3em;
    display: flex;
}

.secondary-section-url {
    position: absolute;
 }


.secondary-section {
position: relative;
cursor: pointer;
transition: background-color .2s ease;
}

/* ★修正：不正なコメントアウト文字を修正 */
/* ホバー時に行全体の色を変更 */
.secondary-section:hover {
background-color: #f5f7fa; /* 好みで調整 */
}
/* aを親li全体に広げて行全体をリンクにする */
.secondary-section > a.secondary-section-title {
position: absolute;
inset: 0; /* top/right/bottom/left: 0 */
z-index: 1;
display: block;
color: inherit;
text-decoration: none; /* 常時アンダーライン無し */
padding: 12px 16px 12px 36px; /* 左にアイコン分の余白 */
}
/* ホバー/フォーカス時もアンダーラインを出さない */
.secondary-section > a.secondary-section-title:hover,
.secondary-section > a.secondary-section-title:focus,
.secondary-section:hover > a.secondary-section-title {
text-decoration: none;
}
/* 矢印アイコンの位置とクリック透過 */
.secondary-section > .material-symbols-outlined#material-list {
position: absolute;
left: 12px;
top: 50%;
transform: translateY(-50%);
pointer-events: none;
}
/* 記事リストをクリック可能に保ちたい場合（任意） */
.secondary-section > .article-list {
position: relative;
z-index: 2;
}
/* キーボード操作向け（任意） */
.secondary-section > a.secondary-section-title:focus-visible {
outline: 2px solid #2d7ff9;
outline-offset: -2px;
}

.u-sr-only {
 position: absolute !important;
 width: 1px; height: 1px;
 padding: 0; margin: -1px;
 overflow: hidden; clip: rect(0,0,0,0);
 white-space: nowrap; border: 0;
}
/* PC/タブレット: 従来通り表示、＋ボタンは非表示 */
@media (min-width: 768px) {
 .cat-toggle-button { display: none !important; }
 .section-list { display: block !important; }
}
/* スマホ: 中項目はデフォルト非表示、＋でトグル */
@media (max-width: 767px) {
 .column-title {
   position: relative;
   padding-right: 2rem; /* 右に＋の余白 */
 }
 /* hidden属性だけだとブラウザ差があるため明示的にも非表示 */
 .cat-toggle { display: none; }
 /* ＋ボタンの見た目 */
 .cat-toggle-button {
   display: inline-block;
   position: absolute;
   right: 0; top: 0.2rem;
   width: 1.6rem; height: 1.6rem;
   line-height: 0rem;
   
   /* ★修正：不正なカラー指定を修正 */
   border: 1px solid #ccc;
   border-radius: 3px;
   background: #fff;
   color: #333;
   font-weight: 700;
   cursor: pointer;
   user-select: none;
 }
 .cat-toggle-button::after { content: "+"; }
 .cat-toggle:checked ~ .column-title .cat-toggle-button::after { content: "−"; }
 /* 開閉 */
 .section-list { display: none; }
 .cat-toggle:checked ~ .section-list { display: block; }
}

/* スマホだけ枠線を消す */
@media (max-width: 767px) {
.categories.blocks .blocks-list .blocks-item {
border: none; /* 必要なら !important を付与 */
}
}
/* もし他のCSSが強く当たっていて上書きできない場合は !important を付けてください */
@media (max-width: 767px) {
.categories.blocks .blocks-list .blocks-item {
border: none !important;
}
}
/* 逆に「PC/タブレットでのみ枠線を付ける」書き方にすることもできます（上書き競合が起きにくい） */
.categories.blocks .blocks-list .blocks-item {
border: none; /* デフォルト（スマホ基準） */
}
@media (min-width: 768px) {
.categories.blocks .blocks-list .blocks-item {
border: 1px solid rgba(0, 0, 0, 1);
}
}

header .header-block .header-wrap
 {
    display: -webkit-flex;
    display: flex
;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    width: 95%;
    height: 120px;
    margin: auto;
}

header .header-block .header-wrap .header-id {
    display: -webkit-flex;
    display: flex
;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    width: 223px;
}

header .header-block .header-wrap .header-nav {
    width: 520px;
    padding-bottom: 2rem;
}

header .header-block {
    background: #000;
}

@media screen and (max-width: 768px) {
    header .header-block .header-wrap .header-nav {
        display: none;
    }
}

@media screen and (max-width: 1140px) {
    header .header-block .header-wrap .header-nav {
        width: 76.26311%;
        padding-bottom: 1rem;
    }
}

header .header-block .header-wrap .sp-header-nav {
    display: none;
}

.logo {
   width:59px;
  height:59px;
}
.main-content .mv-block {
    background: #f1f1f1;
}
.mv-block {
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    letter-spacing: .2rem;
}
 .mv-ttl {
    padding: 3.9rem 0;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    letter-spacing: .2rem;
    background: #f1f1f1;
}

/* カテゴリから探す_アイコン */
.blocks-item::before { content: none; }
.blocks-item-title {
position: relative;
}
/*タイトルspanの中、文字の前にアイコンを絶対配置 */
.blocks-item-title::before {
font-family: 'Material Symbols Outlined';
font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 48;
content: '';           /*デフォルトは表示なし */
position: absolute;
left: 0;
top: 50%;
transform: translateY(-45%); /* 縦位置微調整 */
line-height: 1;
color: #B21920;
}

/* カテゴリIDごとの割り当て */
[data-category-id="4948533264542"] .blocks-item-title::before { content: 'Person'; }
[data-category-id="4948514625694"] .blocks-item-title::before { content: 'home'; }
[data-category-id="4948497918238"] .blocks-item-title::before { content: 'Savings'; }
[data-category-id="4948523085214"] .blocks-item-title::before { content: 'confirmation_number'; }
[data-category-id="4948541755166"] .blocks-item-title::before { content: 'chair'; }
[data-category-id="4948533447070"] .blocks-item-title::before { content: 'mobile_share_stack'; }
[data-category-id="4948541867678"] .blocks-item-title::before { content: 'autorenew'; }
[data-category-id="4948514932638"] .blocks-item-title::before { content: 'block'; }
[data-category-id="4948515053214"] .blocks-item-title::before { content: 'campaign'; }
[data-category-id="4948515146398"] .blocks-item-title::before { content: 'mail'; }
[data-category-id="4948542025758"] .blocks-item-title::before { content: 'sports_basketball'; }
[data-category-id="4948533617566"] .blocks-item-title::before { content: 'help'; }

/* ヘッダーお問い合わせ */
header .header-block .header-wrap .header-nav ul li a {
    font-weight: bold;
    color: #fff;
}

.header-nav nav ul {
display: flex;
  justify-content: flex-end; /* 右寄せ */
gap: 12px;        /* 項目間の余白（任意）  */
align-items: center;
margin: 0;        /* ブラウザのデフォルト余白をリセット */
padding: 0;
list-style: none; /* 箇条書きの点を消す  */
}
/* アイコンとテキストも横並び・中央揃え */
.header-nav nav li a {
display: flex;
align-items: center;
gap: 6px;
}
/* 折り返しせずに固定 */
.header-nav nav ul {
flex-wrap: nowrap;
}

.categories{
  padding: 15px 0;
}

 .article-title { display: inline; margin: 0; }

.search-wrap {
 position: relative;
 width: 912px;
 max-width: 100%;
}
.search-wrap  {
 width: 100%;
 display: block;
}
form.search.search-full {
 width: 100%;
 display: block;
}
/* 入力欄の左側にアイコン分の余白を確保 */
.hero .search-wrap input[name="query"],
.hero .search-wrap input[type="search"] {
 width: 100%;
 box-sizing: border-box;
 padding-left: 40px; /* アイコンと文字が重ならないように */
}
/* SVGアイコンを入力欄の左内側に固定表示 */
.hero .search-wrap .search-icon {
 position: absolute;
 left: 12px;
 top: 50%;
 transform: translateY(-50%);
 width: 16px;
 height: 16px;
 color: #9aa0a6;
 pointer-events: none; /* 入力操作を妨げない */
}
/* 参考：クイックリンクの見た目（太字・カラー・余白） */
.search-quick-actions .search-quickfill {
 color: #1a73e8;
 text-decoration: none;
 font-weight: 700;
 cursor: pointer;
 transition: color 0.15s ease;
 margin: 0 10px;
 display: inline-block;
}
.search-quick-actions .search-quickfill:hover {
 color: #e53935;
 text-decoration: none;
}
.search-quick-actions .search-quickfill:visited {
 color: #1a73e8;
 text-decoration: none;
}
.search-quick-actions .search-quickfill:focus-visible {
 outline: 2px solid #e53935;
 outline-offset: 2px;
}
.search-result-row {
  display: flex; 
  align-items: center; 
  gap: 8px; 
  flex-wrap: nowrap; 
}

.search-result-row .badge {
width: 20px;
height: 20px;
font-size: 14px;
color: #fff;
text-align: center;
background: #0000ff;
display: inline-flex;       /* 垂直中央を確実に */
justify-content: center;
align-items: center;
line-height: 20px;         /* 既存のままでもOK。inline-flexならなくても可 */
border-radius: 50%;
margin: 3.5px 1.2em 0 0;
flex: 0 0 20px;            /* これで幅が固定され、他ルールに伸ばされない */
}
.row p {
flex: 1 1 auto;
min-width: 0;              /* 省略表示に必須 */
margin: 0;
white-space: nowrap;      /* 一行に収めたいなら */
overflow: hidden;
text-overflow: ellipsis;
}

/* 固定高200pxのバナーエリア */
.faq-fixed-banner {
  width: 100%;            /* 横幅フルサイズ */
  height: 200px;          /* 高さを200pxで固定 */
  
  /* 背景画像の設定 */
  background-image: url(/hc/theming_assets/01KD2MT6QKEWFCHE3VXRSPWNPF); /* アセット名を指定 */
  background-size: cover;     /* 200pxの高さに合わせて画像を自動リサイズ・切り抜き */
  background-position: center; /* 画像の中央を基準に表示 */
  background-repeat: no-repeat;
  
  /* 文字（よくあるご質問）を中央に配置するための設定 */
  display: flex;
  align-items: center;    /* 上下中央 */
  justify-content: center; /* 左右中央 */
}

/* タイトルのスタイル（例） */
.faq-fixed-banner h1 {
  color: #ffffff;         /* 文字色を白に */
  font-size: 2.5rem;      /* 文字サイズ */
  font-weight: bold;
  margin: 0;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.5); /* 視認性を高める影 */
}

/* お知らせセクション全体の枠組み */
.news-section {
  background-color: #f9f9f9; /* 薄いグレーの背景でエリアを区別 */
  border-top: 3px solid #b70000; /* ブランドカラー（赤）のアクセントライン */
  padding: 10px 30px;
  margin-bottom: 40px; /* 下のFAQとの間隔 */
}

/* 「お知らせ」という見出し */
.news-section h2 {
  font-size: 1.25rem; /* 20px相当 */
  font-weight: bold;
  margin-bottom: 15px;
  color: #333;
  border: none; /* デフォルトの線を消す場合 */
}

/* お知らせリスト（黒丸などを消す） */
.news-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* 各ニュース項目 */
.news-item {
  border-bottom: 1px solid #e0e0e0; /* 項目ごとの区切り線 */
  padding: 12px 0;
  display: flex; /* 横並びにする */
  align-items: center; /* 上下中央揃え */
  flex-wrap: wrap; /* スマホで折り返す設定 */
}

.news-item:last-child {
  border-bottom: none; /* 最後の線は消す */
}

/* 日付 */
.news-date {
  font-size: 0.9rem;
  color: #666;
  margin-right: 15px;
  font-family: 'Roboto', sans-serif; /* 数字を見やすく */
}

/* ラベル（重要、NEWSなど） */
.news-label {
  background-color: #b70000; /* 赤背景 */
  color: #fff;
  font-size: 0.75rem;
  padding: 2px 8px;
  border-radius: 2px;
  margin-right: 15px;
  font-weight: bold;
  white-space: nowrap; /* 改行させない */
}

/* リンクテキスト */
.news-link {
  color: #333;
  text-decoration: none;
  flex: 1; /* 余った幅を全部使う */
  font-weight: 500;
  transition: color 0.2s;
}

.news-link:hover {
  color: #b70000; /* ホバー時に赤くする */
  text-decoration: underline;
}

/* スマホ対応：画面が狭いときは縦積みにする */
@media (max-width: 600px) {
  .news-item {
    display: block; /* フレックス解除 */
  }
  .news-date, .news-label {
    display: inline-block;
    margin-bottom: 5px;
  }
}

/* CKEditorのツールバー（編集バー）を完全に非表示にする */
.ck-editor__top {
  display: none !important;
}

/* 入力エリアの枠線を整えて普通のフォームに見せる */
.ck-editor__main > .ck-editor__editable {
  border: 1px solid #d8dcde !important;
  border-radius: 4px !important;
  min-height: 150px !important;
  box-shadow: none !important;
}

/* プレースホルダ（背景文字）のスタイル定義 */
.ck-editor__editable.ck-placeholder::before {
  content: attr(data-placeholder);
  color: #999 !important;
  font-style: normal !important;
  white-space: pre-wrap !important;
  
  /* 余白の調整（必要に応じて） */
  line-height: 1.5;
  padding: 12px !important;
}

/* 件名（Subject）の入力欄とラベル、ヒント文をまとめて非表示にする */
.form-field.request_subject {
  display: none !important;
}

/* 新しいリクエストフォーム（React版）での非表示対応 */
div:has(> input[name="request[subject]"]) {
  display: none !important;
}

/* おすすめの記事の見出し（h2）を、サイト内のh3のデザインに強制的に合わせる */
[data-test-id="suggested-articles"] h2 {
  /* ここにサイトで定義している h3 のスタイルをコピーしてください */
  font-size: 1.2rem !important;  /* 例：サイズを小さくする */
  font-weight: 600 !important;   /* 例：太さを調整 */
  margin: 15px 0 !important;      /* 例：余白を調整 */
  color: #333 !important;        /* 例：色を調整 */
}

/* プルダウンの表示エリアが空の時、疑似要素で文字を表示する */
.fDrKGC:empty::before {
  content: "選択してください";
  color: #666; /* プレースホルダ風の薄いグレー */
  font-size: 14px;
}

/* 確認用モーダルの背景 */
.confirm-modal-overlay {
  position: fixed;
  top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
  display: flex; justify-content: center; align-items: center;
  z-index: 10000;
}

/* モーダル本体 */
.confirm-modal-content {
  background: #fff;
  padding: 25px;
  border-radius: 8px;
  width: 90%;
  max-width: 500px;
  max-height: 80vh;
  overflow-y: auto;
}

.confirm-modal-title {
  font-size: 18px; font-weight: bold; margin-bottom: 15px;
  border-bottom: 2px solid #eee; padding-bottom: 10px;
}

.confirm-item { margin-bottom: 12px; }
.confirm-label { font-size: 12px; color: #666; font-weight: bold; }
.confirm-value { font-size: 15px; margin-top: 2px; white-space: pre-wrap; }

/* ボタンエリア */
.confirm-buttons {
  display: flex; gap: 10px; margin-top: 20px;
}
.btn-back { background: #eee; flex: 1; padding: 10px; border: none; cursor: pointer; border-radius: 4px; }
.btn-submit { background: #0072ef; color: #fff; flex: 2; padding: 10px; border: none; cursor: pointer; border-radius: 4px; }

/* すべての要素でサイズ計算を正確にする（必須） */
.my-center-wrapper, 
.my-center-wrapper * {
  box-sizing: border-box !important;
}

/* リクエストページ全体の中央寄せ設定 */
.my-center-wrapper {
  max-width: 700px !important; /* フォームの幅 */
  width: 100% !important;
  margin: 0 auto !important;   /* 上下0、左右中央 */
  padding: 0 20px !important;  /* スマホ時の左右の隙間 */
  overflow: hidden !important; /* 右側へのハミ出しを物理的にカット */
}

/* Zendesk標準のパンくずリストなどの余白をリセット */
.sub-nav {
  margin-bottom: 30px;
  padding: 0 !important;
}

/* スマホ表示時に全体が縮小されないようにする保険 */
@media screen and (max-width: 768px) {
  .my-center-wrapper {
    padding: 0 15px !important;
  }
}

@media (min-width: 769px) {
  .sp-header-nav {
    display: none; /* PC画面ではスマホ用メニューを隠す */
  }
}

/* --- お知らせセクション（ほんのり有色・サクラ色バージョン） --- */

/* 全体の枠組み */
.news-section {
  /* ▼ここを変更：真っ白ではなく、ごく薄い赤色に */
  background-color: #fff5f5; 
  /* ★修正：不正なカラー指定を修正 */
  border: 1px solid #fcecec; 
  
  box-shadow: 0 2px 10px rgba(0,0,0,0.05); /* 影は控えめに */
  padding: 25px 30px;
  border-radius: 8px;
  border-left: 6px solid #B00; /* 左のアクセント（濃い赤）はそのまま */
}

/* タイトル部分 */
.news-title {
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 20px;
  border-bottom: 1px solid #ebdada; 
  padding-bottom: 10px;
}

/* タイトルのアイコン */
.news-title .icon-news {
  margin-right: 10px;
  color: #B00;
  font-size: 28px;
}

/* リストのスタイル */
.news-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.news-item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px dashed #e0caca; 
}

.news-item:last-child {
  border-bottom: none;
}

/* --- 以下、日付やラベルなどは前回と同じ --- */
.news-meta {
  display: flex;
  align-items: center;
  margin-right: 20px;
  flex-shrink: 0;
}

.news-date {
  font-size: 0.95rem;
  color: #554444; /* 文字色を少し赤みのあるグレーにすると馴染みます */
  margin-right: 10px;
  font-family: monospace;
}

.news-label {
  font-size: 0.75rem;
  font-weight: bold;
  color: #fff;
  padding: 4px 10px;
  border-radius: 4px;
  min-width: 45px;
  text-align: center;
  display: inline-block;
  line-height: 1.2;
}

.label-important {
  background-color: #cc0000;
}

.label-info {
  background-color: #777;
}

.news-link {
  color: #333;
  text-decoration: none;
  flex: 1;
  transition: all 0.2s;
}

.news-link:hover {
  color: #cc0000;
  text-decoration: underline;
  opacity: 0.8;
}

@media (max-width: 768px) {
  .news-item {
    display: block;
  }
  .news-meta {
    margin-bottom: 8px;
  }
}

/* ==================================================
   スマホ用ヘッダーナビ表示修正
   ================================================== */

/* --- PC表示時（769px以上） --- */
@media (min-width: 769px) {
  /* スマホ用ナビを確実に隠す */
  .sp-header-nav {
    display: none !important;
  }
}

/* --- スマホ表示時（768px以下） --- */
@media (max-width: 768px) {
  
  /* 1. PC用ナビを非表示にする */
  .header-nav {
    display: none !important;
  }

  /* 2. スマホ用ナビを表示し、レイアウトを調整 */
  .sp-header-nav {
    display: block !important;
    margin-left: auto; /* 左側のロゴとの距離を離して右寄せにする */
  }

  /* 3. リストを横並びにする */
  .sp-header-nav ul {
    display: flex;
    justify-content: flex-end; /* 右寄せ */
    align-items: center;
    gap: 15px; /* ボタン同士の間隔 */
    margin: 0;
    padding: 0;
    list-style: none;
  }

  /* 4. 各ボタン（アイコン＋文字）のデザイン */
  .sp-header-nav li a {
    display: flex;
    flex-direction: column; /* 上下に並べる（アイコン上、文字下） */
    align-items: center;
    text-decoration: none;
    color: #fff; /* ヘッダー背景が黒の場合は白文字(#fff)、白背景なら黒文字(#333)に変更してください */
    font-size: 10px; /* 文字サイズ */
  }

  /* アイコンの位置微調整 */
  .sp-header-nav li a .icon {
    margin-bottom: 2px;
    line-height: 1;
  }
  
  /* (任意) ヘッダー全体のレイアウト調整 
     ロゴとナビが重ならないようにflex設定を強化 */
  header .header-block .header-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
/* インスタントサーチ（検索候補）を強制非表示 */

.instant-search-results {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.ui-autocomplete
{
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* ==================================================
   【完全統合版 v40】スマホデザイン再現用 CSS
   (Topページ崩れ修正 + 記事ページ装飾追加版)
   ================================================== */

@media screen and (max-width: 768px) {

  /* --- 1. 全体レイアウト --- */
  .container {
    padding: 0px 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .section {
    margin-bottom: 40px !important;
  }

  /* 見出し共通デザイン（記事ページ以外） */
  .section h2 {
    font-size: 18px !important;
    font-weight: bold !important;
    text-align: left !important;
    margin-bottom: 5px !important;
    border: none !important;
    border-bottom: 3px solid #dedede !important;
    position: relative !important;
    padding-bottom: 5px !important;
  }
  .section h2::after {
    content: " " !important;
    position: absolute !important;
    display: block !important;
    border-bottom: 3px solid #B21920 !important;
    bottom: -3px !important;
    left: 0 !important;
    width: 30% !important;
  }

/* --------------------------------------------------
     3. パンくずリスト
     -------------------------------------------------- */
  .breadcrumbs-nav {
    background: #fff;
    border-bottom: 1px solid #ddd;
    padding: 10px 0;
    margin-bottom: 10px;
    font-size: 12px;
    color: #666;
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }
  .breadcrumbs-nav a {
    color: #666 !important;
    text-decoration: underline !important;
    margin: 0 2px !important;
  }
  
  /* 手動リンク（TOP, FAQ）の後ろに矢印をつける */
  .breadcrumbs-nav > a::after {
    content: ">";
    margin: 0 5px;
    color: #999;
    text-decoration: none;
    display: inline-block;
  }

  /* システムが出力するパンくずリスト本体 */
  .breadcrumbs-nav .breadcrumbs {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
    list-style: none !important;
  }
  .breadcrumbs-nav li {
    display: inline-block !important;
    color: #666 !important;
    white-space: normal !important;
  }

  /* ▼▼▼ 変更点：表示項目の制御 ▼▼▼ */
  
  /* 1番目（Home）は非表示 */
  .breadcrumbs-nav .breadcrumbs li:first-child {
    display: none !important;
  }
  
  /* 2番目（カテゴリ：会員など）を非表示にしてスキップ */
  .breadcrumbs-nav .breadcrumbs li:nth-child(2) {
    display: none !important;
  }

  /* 項目の前の矢印（デフォルト） */
  .breadcrumbs-nav li::before {
    content: ">" !important;
    margin: 0 5px !important;
    color: #999 !important;
  }
  
  /* 3番目（セクション）の前の矢印を消す
     （直前の「よくあるご質問」に矢印がついているため重複防止） */
  .breadcrumbs-nav .breadcrumbs li:nth-child(3)::before {
    content: none !important; 
  }

  /* --- 3. お知らせセクション --- */
  .news-section {
    background-color: #f9f9f9 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 15px !important;
    margin-top: 20px !important;
    margin-bottom: 30px !important;
  }
  .news-section h2.news-title {
    font-size: 14px !important;
    font-weight: bold !important;
    color: #333 !important;
    margin-bottom: 10px !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    text-align: left !important;
  }
  .news-section h2::after, .news-section h2::before {
    content: none !important;
  }
  .news-item {
    background: #fff;
    border-bottom: 1px solid #eee !important;
    padding: 12px 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px;
  }
  .news-item:last-child {
    border-bottom: none !important;
  }
  .news-content {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
  }
  .news-badge-new {
    color: #ff0000;
    font-weight: bold;
    font-size: 10px;
    border: 1px solid #ff0000;
    padding: 1px 3px;
    border-radius: 3px;
    flex-shrink: 0;
    background: #fff;
  }
  .news-link {
    font-size: 13px !important;
    color: #333 !important;
    text-decoration: none !important;
    line-height: 1.4;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
    width: 100 !important;
  }
  .news-arrow {
    color: #007bff;
    font-size: 20px !important;
    flex-shrink: 0;
  }

  /* --- 4. 検索エリア (Top & Article共通) --- */
  
  /* ★重要★ 高さ・位置ずれ防止のリセット設定 */
  .section.hero {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 0 10px 0 !important;
    background: transparent !important;
  }
  .hero-inner {
    position: static !important;   /* 絶対配置解除 */
    top: auto !important;          /* 位置指定解除 */
    transform: none !important;    /* 中央寄せ解除 */
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }

  /* 記事ページ専用ラッパー調整 */
  .article-hero-wrapper {
    margin-top: 10px !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
  }
  
  .hero-header-cats {
    display: none !important;
  }
  
  /* タイトルラッパー (猫画像を配置) */
  .hero-title-wrapper {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: auto !important;
    
    /* 親要素のpaddingに合わせて左右を広げる */
    margin-left: -15px !important;
    margin-right: -15px !important;
    
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
  }

  /* 左の猫 */
  .cat-img-left {
    width: 40px !important;
    height: 40px !important;
    background: url($assets-blckcat-jpg-jpg) no-repeat left center/contain !important;
    flex-shrink: 0 !important;
  }

  /* タイトル文字（検索エリア用） */
  .section .hero-title-wrapper h2.hero-title,
  .hero-title-wrapper h2.hero-title {
    flex-grow: 1 !important;
    text-align: center !important;
    font-size: 20px !important;
    color: #666 !important;
    margin: 0 !important;
    padding: 10px 0 5px 0 !important;
    font-weight: bold !important;
    border: none !important;
    background: none !important;
    border-bottom: none !important;
  }
  .hero-title::after, .hero-title::before { content: none !important; display: none !important; }

  /* 右の猫 */
  .cat-img-right {
    width: 40px !important;
    height: 40px !important;
    background: url($assets-whitecat-jpg-jpg) no-repeat right center/contain !important;
    flex-shrink: 0 !important;
  }

/* 検索フォーム */
  .search-wrap-styled form.search {
    display: flex !important;
    gap: 10px !important;
    align-items: stretch !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
    border: none !important; 
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;

    /* ▼▼▼ 修正：下に10pxの余白を追加しました ▼▼▼ */
    margin: 0 0 30px 0 !important;
  }
  
/* 入力欄の設定 */
  .search-full input[type="search"] {
    background-color: #f5f5f5 !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    height: 50px !important;
    padding-left: 15px !important;
    
    /* ▼▼▼ 修正：スマホの自動拡大を防ぐため 16px に変更 ▼▼▼ */
    font-size: 16px !important;
    
    color: #333 !important;
    
    /* 幅固定・はみ出し防止設定 */
    flex-grow: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none !important;
    overflow: hidden !important;
    
    /* ▼▼▼ 追加：パディングを含めて幅を計算させる ▼▼▼ */
    box-sizing: border-box !important;
    
    transition: background-color 0.2s ease !important;
  }

  /* 入力中・入力済みの背景色（白） */
  .search-full input[type="search"]:focus,
  .search-full input[type="search"]:not(:placeholder-shown) {
    background-color: #ffffff !important;
  }

  /* プレースホルダー（入力前の文字） */
  .search-full input[type="search"]::placeholder {
    color: #777 !important;
    opacity: 1 !important;
  }
  /* 不要な要素の非表示 */
  .search-full input[type="search"]::before { display: none !important; }
  .search-wrap-styled .search-icon { display: none !important; }
  
  /* 検索ボタン */
  .search-full input[type="submit"] {
    display: block !important;
    width: 50px !important;
    height: 50px !important;
    background-color: #B21920 !important;
    border: none !important;
    border-radius: 4px !important;
    color: transparent !important;
    font-size: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 24px !important;
    position: static !important;
    margin: 0 !important;
  }

  /* --- 5. よくあるお問合せ --- */
  .promoted-articles {
    display: block !important;
    margin-top: 10px !important;
    padding-top: 0 !important;
  }
  
  .promoted-articles-item { width: 100% !important; padding: 0 !important; border-bottom: 1px solid #eee !important; }
  .promoted-articles-item a { display: flex !important; align-items: flex-start !important; padding: 10px 0 !important; font-size: 15px !important; font-weight: bold !important; color: #333 !important; border: none !important; }
  .promoted-articles-item a::before { content: 'Q'; display: inline-block !important; background-color: #B21920 !important; color: #fff !important; width: 22px !important; height: 22px !important; border-radius: 50% !important; text-align: center !important; line-height: 22px !important; font-size: 12px !important; font-weight: bold !important; margin-right: 12px !important; flex-shrink: 0 !important; margin-top: 2px !important; }

  /* --- 6. よく見られているFAQ --- */
  .recent-activity-item { padding: 10px 0 !important; border-bottom: 1px solid #ddd !important; }
  .recent-activity-item a { display: flex !important; align-items: flex-start !important; text-decoration: none !important; font-size: 15px !important; font-weight: bold !important; color: #333 !important; }
  .recent-activity-item a::before { content: 'Q'; display: inline-block !important; background-color: #B21920 !important; color: #fff !important; width: 22px !important; height: 22px !important; border-radius: 50% !important; text-align: center !important; line-height: 22px !important; font-size: 12px !important; font-weight: bold !important; margin-right: 12px !important; flex-shrink: 0 !important; margin-top: 2px !important; }

  /* --- 7. カテゴリから探す --- */
  .categories { padding-top: 0 !important; }
  
  .blocks-list { display: block !important; margin: 0 !important; padding: 0 !important; padding-left: 0 !important; gap: 0 !important; list-style: none !important; }
  .blocks-item { width: 100% !important; border: none !important; border-bottom: 1px solid #ddd !important; margin: 0 !important; padding: 0 !important; }
  
  .column-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 20px 0 !important;
    width: 100% !important;
  }
  
  .blocks-item-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #333 !important;
    font-weight: bold !important;
    text-decoration: none !important;
    flex-grow: 1 !important;
    padding: 0 !important;
    text-align: left !important;
  }
  
  .blocks-item-title {
    font-size: 16px !important;
    display: flex;
    align-items: center;
    width: 100%;
  }

  /* アイコンベース設定 */
  .blocks-item-title::before {
    position: static !important;
    transform: none !important;
    margin-right: 15px !important;
    font-family: 'Material Symbols Outlined' !important;
    font-size: 24px !important;
    color: #B21920 !important;
    width: 30px;
    text-align: center;
    flex-shrink: 0 !important;
    display: inline-block !important;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24 !important;
  }

  /* カテゴリIDごとのアイコン割り当て */
  [data-category-id="4948533264542"] .blocks-item-title::before { content: 'person' !important; }
  [data-category-id="4948514625694"] .blocks-item-title::before { content: 'shopping_cart' !important; }
  [data-category-id="4948497918238"] .blocks-item-title::before { content: 'savings' !important; }
  [data-category-id="4948523085214"] .blocks-item-title::before { content: 'confirmation_number' !important; }
  [data-category-id="4948541755166"] .blocks-item-title::before { content: 'chair' !important; }
  [data-category-id="4948533447070"] .blocks-item-title::before { content: 'offline_share' !important; }
  [data-category-id="4948541867678"] .blocks-item-title::before { content: 'autorenew' !important; }
  [data-category-id="4948514932638"] .blocks-item-title::before { content: 'block' !important; }
  [data-category-id="4948515053214"] .blocks-item-title::before { content: 'campaign' !important; }
  [data-category-id="4948515146398"] .blocks-item-title::before { content: 'mail' !important; }
  [data-category-id="4948542025758"] .blocks-item-title::before { content: 'sports_basketball' !important; }
  [data-category-id="4948533617566"] .blocks-item-title::before { content: 'help' !important; }

  /* ＋ボタン */
  .cat-toggle-button {
    position: static !important;
    width: 40px !important;
    height: 40px !important;
    background: transparent !important;
    border: none !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin-left: 10px !important;
    cursor: pointer !important;
    color: #333 !important;
    pointer-events: auto !important;
  }

  .cat-toggle-button::after {
    font-family: 'Material Symbols Outlined' !important;
    content: 'add' !important;
    font-size: 24px !important;
    font-weight: normal !important;
  }

  .blocks-item.is-open .cat-toggle-button::after {
    content: 'remove' !important;
  }

  /* サブカテゴリ展開時 */
  .section-list {
    display: none; 
    background-color: #fff !important;
    padding: 0 !important; 
    margin: 0 !important;
    border-top: none !important;
  }
  
  .blocks-item.is-open .section-list {
    display: block !important;
  }

  .section-list ul {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
  }

  .section-list li {
    border-bottom: 1px solid #f5f5f5 !important;
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
  }
  
  /* リンクのスタイル */
  .section-list li a {
    position: relative !important;
    width: 100 !important;
    height: auto !important;
    
    display: flex !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    align-items: center !important;
    
    padding: 10px 10px 10px 15px !important; 
    
    color: #333 !important;
    text-decoration: none !important;
    font-size: 14px !important; 
    font-weight: normal !important;
    line-height: 1.4 !important;
    
    box-sizing: border-box !important;
    text-align: left !important;
    background-color: #fff !important;
  }
  
  /* テキストラッパー */
  .category-name-wrapper {
    flex: 1 !important;
    text-align: left !important;
    padding-right: 10px !important;
    white-space: normal !important;
  }
  
  /* 矢印アイコン */
  .section-list .material-symbols-outlined {
    font-size: 18px !important;
    color: #ccc !important;
    margin: 0 !important;
    margin-left: auto !important;
    vertical-align: middle;
    flex-shrink: 0 !important;
  }
  
  /* --- 8. チャットボットバナー (画像高さ100px版) --- */
  .chatbot-banner { 
    background-color: #f9f9f9; 
    border-radius: 8px; 
    padding: 20px 15px; 
    text-align: center; 
    margin: 40px 0; 
    border: 1px solid #eee; 
  }
  
  .chatbot-title {
    font-size: 16px !important;
    font-weight: bold !important;
    color: #333 !important;
    margin-bottom: 5px !important;
    padding-bottom: 0 !important;
    line-height: 1.4 !important;
  }
  
  .chatbot-text {
    font-size: 13px !important;
    font-weight: normal !important;
    color: #333 !important;
    line-height: 1.5 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  
  .chatbot-btn { 
    background-color: #042E57; 
    color: #fff; 
    padding: 15px 10px; 
    border-radius: 4px; 
    display: block; 
    width: 100%; 
    text-decoration: none; 
    font-weight: bold; 
    font-size: 16px; 
    position: relative;
    margin-top: 100px !important; 
  }
  
  .chatbot-btn::before {
    content: "";
    display: block;
    position: absolute;
    top: -150px; 
    left: 50%;
    transform: translateX(-50%);
    width: 100%; 
    height: 200px; 
    background-image: url(/hc/theming_assets/01KMY5WYC4GYXPSF0D9DNKPQDA);
    background-size: auto 200px; /* 高さ80pxにする例（幅は自動） */
    background-repeat: no-repeat;
    background-position: center bottom;
  }

  /* --- 9. 記事ページ専用装飾 (Qアイコン・下線・見出し) --- */
  
  /* 記事ヘッダー */
/* 記事ヘッダー全体 */
.article-header {
    position: relative; /* ★重要：赤い線を重ねるための基準位置にします */
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 25px; /* 下線と下の文章の隙間 */
    
    /* 全幅に伸びるグレーの線に変更 */
    border-bottom: 4px solid #e5e5e5; 
}

/* 削除していただいた「短い赤い線」を、グレーの線の上に復活させる */
.article-header::after {
    content: "";
    position: absolute;
    bottom: -4px; /* グレーの線（太さ2px）の上にピッタリ重ねる */
    left: 0;
    width: 80px; /* 赤い線の長さ（お好みで調整してください） */
    height: 4px; /* 赤い線の太さ */
    background-color: #b31b1b; /* 赤色 */
}
  
  /* 記事タイトル装飾 */
  .article-title {
    font-size: 20px !important;
    font-weight: bold !important;
/* border-bottom: 3px solid #dedede !important; */
    position: relative !important;
    padding-bottom: 10px !important;
    display: flex !important;
    align-items: flex-start !important;
    line-height: 1.4 !important;
  }

  /* 赤い「Q」アイコン */
  .article-title::before {
    content: 'Q' !important;
    display: inline-block !important;
    background-color: #B21920 !important;
    color: #fff !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    text-align: center !important;
    line-height: 28px !important;
    font-size: 16px !important;
    font-weight: bold !important;
    margin-right: 10px !important;
    flex-shrink: 0 !important;
    margin-top: 0px !important;
  }

  /* 記事本文内の見出し装飾 (■マーク) */
  .article-body h3, 
  .article-body h4,
  .article-body h2 {
    font-size: 16px !important;
    font-weight: bold !important;
    margin-top: 30px !important;
    margin-bottom: 15px !important;
    color: #333 !important;
    border: none !important;
  }
  
  .article-body h3::before, 
  .article-body h4::before,
  .article-body h2::before {
    content: "■" !important;
    color: #333 !important;
    margin-right: 5px !important;
  }

  /* --- 11. 投票ボタン（役に立ちましたか） --- */
  .article-votes-container {
    border-top: 1px solid #dedede !important;
    padding: 30px 0 !important;
    text-align: center !important;
  }
  .article-votes-question {
    display: block !important;
    font-weight: bold !important;
    font-size: 16px !important;
    color: #333 !important;
    margin-bottom: 20px !important;
  }
  .article-votes-controls {
    display: flex !important;
    justify-content: center !important;
    gap: 20px !important;
  }
  
  /* ボタン本体のデザイン */
  .vote-btn {
    border: 1px solid #999 !important; /* 枠線 */
    background-color: #fff !important;
    color: #333 !important;
    border-radius: 4px !important;
    padding: 10px 0 !important;
    width: 140px !important; /* 幅を広めに */
    font-size: 16px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
  }
  
  /* ホバー・アクティブ時 */
  .vote-btn:hover, .vote-btn:active {
    background-color: #f5f5f5 !important;
    text-decoration: none !important;
  }
  
  /* 選択された状態（投票後） */
  .vote-btn.vote-voted {
    background-color: #666 !important;
    color: #fff !important;
    border-color: #666 !important;
  }
  
  /* ボタン内の不要な疑似要素（アイコン）を消す */
  .vote-btn::before, .vote-btn::after {
    content: none !important;
    display: none !important;
  }

  /* ページトップへ戻る */
  .article-return-to-top {
    margin: 20px 0 40px !important;
    text-align: left !important;
    border-top: none !important; /* 既存の線を消す */
  }
  .article-return-to-top a {
    color: #333 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
  }
  .article-return-to-top a::after {
    content: "^" !important; /* 簡易的な矢印 */
    display: inline-block !important;
    transform: rotate(0deg) !important;
    margin-left: 5px !important;
    font-family: sans-serif !important;
  }

  /* --- 12. 関連記事リスト --- */
  .related-articles-container {
    margin-top: 0 !important;
    border-top: none !important;
  }
  
  /* 「関連FAQ」の見出しデザイン */
  .related-articles-title {
    font-size: 18px !important;
    font-weight: bold !important;
    margin-bottom: 0 !important; /* 下のマージンはリスト側で調整 */
    border-bottom: 3px solid #dedede !important;
    position: relative !important;
    padding-bottom: 5px !important;
    color: #333 !important;
  }

  /* システムが出力する「関連記事」というh3見出しを消す */
  .related-articles h3 {
    display: none !important;
  }
  
  /* リスト全体 */
  .related-articles ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  
  /* リスト項目 */
  .related-articles li {
    border-bottom: 1px solid #eee !important; /* 薄い区切り線 */
    padding: 15px 0 !important;
    margin: 0 !important;
  }
  .related-articles li:last-child {
    border-bottom: none !important;
  }
  
  /* リンク（記事タイトル） */
  .related-articles a {
    display: flex !important;
    align-items: flex-start !important;
    text-decoration: none !important;
    color: #333 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: normal !important;
  }
  
  /* Qアイコン（赤丸） */
  .related-articles a::before {
    content: 'Q' !important;
    display: inline-block !important;
    background-color: #B21920 !important; /* 赤背景 */
    color: #fff !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    text-align: center !important;
    line-height: 22px !important;
    font-size: 12px !important;
    font-weight: bold !important;
    margin-right: 12px !important;
    flex-shrink: 0 !important;
    margin-top: 0px !important; /* 位置微調整 */
  }

/* ==================================================
   【追記】フッターナビゲーションボタン
   ================================================== */
  .footer-nav-section {
    margin-top: 30px !important;
    margin-bottom: 40px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
  }

  .footer-nav-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 50px !important;
    background-color: #fff !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    color: #333 !important;
    font-weight: bold !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    transition: background-color 0.2s ease;
  }

  .footer-nav-btn:active {
    background-color: #f0f0f0 !important;
  }

  .footer-icon {
    font-size: 20px !important;
    color: #042E57 !important;
    margin-right: 10px !important;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24 !important;
  }
} /* ★修正：v40のメディアクエリの閉じカッコを正しい位置に移動 */

/* ==================================================
   【修正版】スマホ版ヘッダー再現用CSS
   ================================================== */
@media screen and (max-width: 768px) {
  .header {
    background-color: #f4f4f4 !important;
    height: 60px !important;
    padding: 0 15px !important;
    width: 100% !important;
    box-shadow: none !important;
    position: relative;
    z-index: 100;
    display: flex !important;
    align-items: center !important;
  }

  .header-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .logo {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }
  .logo a {
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
  }
  .logo img {
    max-height: 40px !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    filter: none !important;
  }

  .mobile-header-nav {
    display: flex !important;
    align-items: center;
    gap: 15px;
  }
  .mobile-nav-item {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    /* ★修正：不正なカラー指定を修正 */
    color: black !important;
    line-height: 1;
    padding: 0 !important;
    margin: 0 !important;
  }
  .mobile-nav-item .material-symbols-outlined {
    font-size: 20px !important;
    margin-bottom: 4px !important;
    color: black !important;
    display: block !important;
  }
  .mobile-nav-item .nav-text {
    font-size: 9px !important;
    font-weight: bold !important;
    white-space: nowrap;
    display: block !important;
  }

  .nav-wrapper-desktop, .menu-button-mobile, .nav-wrapper-mobile, .user-nav {
    display: none !important;
  }
}

/* 投票後のメッセージスタイル */
#vote-message {
  font-weight: bold;
  color: #333; /* 文字色 */
  padding: 20px 0;
  text-align: center;
  font-size: 16px;
}

/* ==================================================
   【修正版】スマホ版フッター再現用CSS
   ================================================== */
@media screen and (max-width: 768px) {
  .footer {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
  }
  .footer-inner {
    display: none !important;
  }
  .footer-wrapper-mobile {
    width: 100% !important;
    margin-top: 0 !important;
    display: block !important;
  }

  /* PAGE TOP */
  .footer-pagetop {
    background-color: #ffffff !important;
    text-align: center !important;
    border-top: 1px solid #ddd !important;
    width: 100% !important;
  }
  .footer-pagetop a {
    display: block !important;
    padding: 15px 0 !important;
    color: #333 !important;
    font-size: 12px !important;
    font-weight: bold !important;
    text-decoration: none !important;
  }
  .footer-pagetop a::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(-45deg);
    margin-right: 5px;
    margin-bottom: -1px;
  }

  /* Footer Main */
  .footer-main {
    background-color: #000000 !important;
    color: #ffffff !important;
    padding: 40px 15px !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .footer-inner-mobile {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .footer-nav-links { margin-bottom: 30px !important; width: 100% !important; }
  .footer-nav-links ul { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 10px 15px !important; padding: 0 !important; margin: 0 !important; list-style: none !important; }
  .footer-nav-links li { display: inline-block !important; margin: 0 !important; }
  .footer-nav-links a { color: #ffffff !important; font-size: 11px !important; text-decoration: none !important; font-weight: bold !important; white-space: nowrap !important; }

  .footer-action-buttons {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    gap: 15px !important;
    margin-bottom: 40px !important;
    width: 100% !important;
  }
  .footer-action-btn {
    background-color: #ffffff !important;
    color: #000000 !important;
    font-size: 12px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    padding: 12px 0 !important;
    width: 48% !important;
    text-align: center !important;
    border-radius: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
  }

  .footer-logos-section { margin-bottom: 30px !important; text-align: center !important; }
  .powered-by-text { font-size: 11px !important; color: #999 !important; margin-bottom: 10px !important; display: block !important; }
  .footer-logos-container { display: flex !important; justify-content: center !important; align-items: center !important; gap: 20px !important; }
  .footer-logos-container img { filter: brightness(0) invert(1) !important; height: auto !important; border: none !important; }
  .logo-ticket img { max-width: 130px !important; }
  .logo-league img { max-width: 35px !important; }

  .footer-copyright-text { text-align: center !important; width: 100% !important; }
  .footer-copyright-text .note { font-size: 10px !important; color: #ccc !important; margin-bottom: 10px !important; line-height: 1.4 !important; display: block !important; }
  .footer-copyright-text .copy { font-size: 10px !important; color: #ccc !important; font-family: Arial, sans-serif !important; line-height: 1.4 !important; display: block !important; }

  .footer-language-selector, .footer-custom-nav { display: none !important; }
}

/* PC/タブレット表示時（769px以上）はスマホ用ナビ・フッターを隠す */
@media screen and (min-width: 769px) {
  .mobile-header-nav { display: none !important; }
  .footer-wrapper-mobile { display: none !important; }
}

/* ==================================================
     【追記】カテゴリページ用装飾 (Qアイコン・リスト)
     ================================================== */
  
  /* 検索窓・タイトルの余白調整 */
  .category-hero-wrapper {
    padding: 0 !important;
    margin-bottom: 20px !important;
  }
  
  .page-header h1 {
    font-size: 20px !important;
    font-weight: bold !important;
    margin-bottom: 10px !important;
    border-bottom: 3px solid #dedede !important;
    position: relative !important;
    padding-bottom: 10px !important;
    display: block !important;
  }
  .page-header h1::after {
    content: " " !important;
    position: absolute !important;
    display: block !important;
    border-bottom: 3px solid #B21920 !important;
    bottom: -3px !important;
    left: 0 !important;
    width: 30% !important;
  }

  /* セクションごとの枠組み */
  .section-tree .section {
    margin-bottom: 30px !important;
  }
  
  /* 記事リスト（黒丸を消す） */
  .article-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* 記事リスト項目 */
  .article-list-item {
    border-bottom: 1px solid #eee !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  
  /* 記事リンク（Qアイコン付き） */
  .article-list-item a {
    display: flex !important;
    align-items: flex-start !important;
    text-decoration: none !important;
    color: #333 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    padding: 12px 0 !important;
  }
  
  /* 赤い「Q」アイコン */
  .article-list-item a::before {
    content: 'Q' !important;
    display: inline-block !important;
    background-color: #B21920 !important; /* 赤背景 */
    color: #fff !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    text-align: center !important;
    line-height: 22px !important;
    font-size: 12px !important;
    font-weight: bold !important;
    margin-right: 10px !important;
    flex-shrink: 0 !important;
    margin-top: 0px !important;
  }
/* ==================================================
     【修正版 v3】検索結果ページ (Q&A全域タップ対応版)
     ================================================== */

  /* リスト全体のリセット */
  .search-results-list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  /* 各検索結果アイテム */
  .search-result-item {
    border-bottom: 1px solid #eee !important;
    padding: 20px 0 !important;
    margin: 0 !important;
    
    /* ▼▼▼ 重要：リンクエリア拡張の基準点にする ▼▼▼ */
    position: relative !important;
    transition: background-color 0.2s ease !important;
  }
  .search-result-item:last-child {
    border-bottom: none !important;
  }
  
  /* タップした時に少し色を変えて反応させる */
  .search-result-item:active {
    background-color: #f9f9f9 !important;
  }

  /* --- 行の共通設定 --- */
  .search-result-row {
    display: flex !important;
    align-items: flex-start !important;
    width: 100% !important;
  }

  /* --- 質問（Q）エリア --- */
  .search-result-question {
/* border-bottom: 1px dashed #eee !important;  */
    padding-bottom: 10px !important;
    margin-bottom: 10px !important;
    align-items: center !important;
  }

  /* --- 回答（A）エリア --- */
  .search-result-answer {
    margin-bottom: 0 !important;
  }

  /* --- アイコン設定 (Q/A共通) --- */
  .search-result-icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: bold !important;
    line-height: 1 !important;
    margin-right: 12px !important;
    flex-shrink: 0 !important;
  }

  /* Qアイコン（赤） */
  .icon-q {
    background-color: #B21920 !important;
  }

  /* Aアイコン（青） */
  .icon-a {
    background-color: #0000FF !important;
    margin-top: 2px !important;
  }

  /* --- 質問タイトル（リンク） --- */
  .search-result-link {
    color: #333 !important;
    font-size: 16px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    line-height: 1.5 !important;
    flex: 1 !important;
    
    /* Qは全文表示 */
    display: block !important;
    white-space: normal !important;
    overflow: visible !important;
  }
  
  /* ▼▼▼ 重要：ここが全域タップの仕掛けです ▼▼▼ */
  .search-result-link::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important; /* 他の要素より手前に配置 */
  }

  /* --- 回答本文（スニペット） --- */
  .search-result-snippet {
    color: #666 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    flex: 1 !important;
    word-break: break-word; 
    
    /* Aを2行で省略 */
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
  }
  
  /* 検索ヒット文字のハイライト */
  .search-result-snippet em {
    font-weight: bold !important;
    font-style: normal !important;
    background-color: rgba(255, 255, 0, 0.3) !important;
  }
  
  /* ページ数表示のスタイル */
  .search-pagination-info {
    text-align: center;
    font-size: 14px;
    color: #666;
    margin-top: 30px;
    margin-bottom: 10px;
    font-weight: bold;
  }

/* ==================================================
     【追記】検索結果0件時の表示デザイン
     ================================================== */
  .no-results-container {
    text-align: center;
    padding: 40px 20px;
    background-color: #fff; /* 必要に応じて背景色調整 */
  }

  /* 画像のスタイル */
  .no-results-image {
    max-width: 150px; /* 画像の大きさ調整 */
    height: auto;
    margin-bottom: 20px;
  }

  /* 「検索結果がありませんでした」のスタイル */
  .no-results-title {
    font-size: 13px !important;
    font-weight: bold !important;
    color: #333;
    margin-bottom: 15px !important;
    border: none !important; /* 見出しの下線を消す */
  }
  .no-results-title::after {
    content: none !important; /* 見出しの装飾線を消す */
  }

  /* リンクのスタイル */
  .no-results-link {
    font-size: 14px;
    color: #1a73e8 !important; /* リンクらしい青色 */
    text-decoration: underline !important;
    font-weight: bold;
  }

/* ==================================================
   【修正】猫画像タイトルの下線を強制的に削除
   (Top, Article共通で線を消す設定)
   ================================================== */
@media screen and (max-width: 768px) {
  
  /* どのページでも .hero-title クラスを持つh2の下線は消す */
  .section .hero-title,
  .hero-title-wrapper .hero-title,
  h2.hero-title {
    border: none !important;
    border-bottom: none !important;
    padding-bottom: 5px !important; /* 文字の下の余白微調整 */
  }

  /* 下線の装飾（疑似要素）も消す */
  .hero-title::after {
    content: none !important;
    display: none !important;
  }
}
/* ==================================================
   【修正】トップページの猫タイトル下線削除 (強力版)
   ================================================== */
@media screen and (max-width: 768px) {
  
  /* .section の中にある .hero-title に対して強制的に線を消す */
  .section .hero-title,
  .section h2.hero-title {
    border: none !important;
    border-bottom: none !important;
    padding-bottom: 5px !important;
  }

  /* 疑似要素（赤線など）も確実に消す */
  .section .hero-title::after,
  .section h2.hero-title::after {
    content: none !important;
    display: none !important;
    border: none !important;
  }
}

/* ==================================================
   【修正】検索候補（オートコンプリート）を強制非表示
   ================================================== */
zd-autocomplete,
.zd-autocomplete {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  overflow: hidden !important;
  z-index: -9999 !important;
}

/* ==================================================
     【修正版 v4】お知らせリスト (gap無効化・パディング調整)
     ================================================== */
  
  /* セクション全体の見た目（グレー背景・角丸） */
  .news-section {
    background-color: #f9f9f9 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 5px 0 !important;
    margin-bottom: 30px !important;
    overflow: hidden !important;
  }
  
  /* 見出し */
  .news-title {
    padding: 10px 15px 5px 15px !important;
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: bold !important;
    color: #333 !important;
    border-bottom: none !important;
    background: transparent !important;
  }
  .news-title .icon-news { display: none !important; }

  /* リスト全体 */
  .news-list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  /* 各記事の枠線 */
  .news-item {
    border-bottom: 1px solid #e0e0e0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
  }
  .news-item:last-child {
    border-bottom: none !important;
  }

  /* リンクブロック（クリックエリア全体） */
  .news-link-block {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    
    /* ▼▼▼ 修正：paddingを 5px 5px に変更 ▼▼▼ */
    padding: 5px 5px !important;
    
    text-decoration: none !important;
    color: #333 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* テキストエリア */
  .news-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    flex: 1 !important;
    min-width: 0 !important;

    /* ▼▼▼ 修正：gapを無効化（0にする） ▼▼▼ */
    gap: 0 !important;
  }

  /* 上段：メタ情報（ラベル＋日付） */
  .news-meta {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 0 !important; /* 隙間なし */
    line-height: 1 !important;
  }

  /* ラベル（NEWなど） */
  .news-label {
    border: 1px solid #FF0000 !important;
    color: #ffffff !important; /* 文字色を白に変更 */
    background-color: #FF0000 !important; /* 背景色を赤に変更 */
    
    font-size: 10px !important;
    font-weight: bold !important;
    padding: 1px 4px !important;
    border-radius: 3px !important;
    margin-right: 8px !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
  }
  .label-info {
    border-color: #666 !important;
    color: #666 !important;
  }

  /* 日付 */
  .news-date {
    font-size: 12px !important;
    color: #666 !important;
    margin: 0 !important;
  }

/* 下段：タイトル（2行まで表示して省略） */
  .news-text {
    font-size: 14px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
    color: #333 !important;
    margin: 3px 0 0 0 !important;
    
    /* ▼▼▼ 修正：2行で省略表示するための設定 ▼▼▼ */
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important; /* ここで「2行」に制限 */
    overflow: hidden !important;
    
    white-space: normal !important; /* 折り返しを許可 */
    text-overflow: ellipsis !important;
  }

  /* 右側の青い矢印アイコン */
  .news-link-block::after {
    content: 'chevron_right' !important;
    font-family: 'Material Symbols Outlined' !important;
    font-size: 24px !important;
    color: #1a73e8 !important;
    margin-left: 5px !important; /* パディング縮小に合わせて余白も少し詰める */
    font-weight: normal !important;
    flex-shrink: 0 !important;
  }

/* ==================================================
   【修正】セクションタイトル(h2)にも赤・グレー下線を表示
   ================================================== */
@media screen and (max-width: 768px) {
  
  /* タイトル本体（グレーの下線） */
  .page-header h2 {
    font-size: 20px !important;
    font-weight: bold !important;
    margin-bottom: 10px !important;
    
    /* グレーの下線 */
    border-bottom: 3px solid #dedede !important;
    
    position: relative !important;
    padding-bottom: 10px !important;
    display: block !important;
    width: 100% !important;
  }

  /* 赤い下線（アクセント） */
  .page-header h2::after {
    content: " " !important;
    position: absolute !important;
    display: block !important;
    
    /* 赤い線 */
    border-bottom: 3px solid #B21920 !important;
    
    bottom: -3px !important; /* グレー線の上に重なる位置 */
    left: 0 !important;
    width: 30% !important; /* 線の長さ */
  }

  .chatbot-section img {
    margin: 0 0 20px 0 !important; /* 上:0, 右:0, 下:20px, 左:0 */
  }
/* ★修正：ここにあった余分な閉じカッコ( } )を削除しました */
}

/* タイトルの下余白を削除 */
.article-title {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* 記事本文の「一番上の要素」の上余白も削除 */
.article-body > *:first-child {
  margin-top: 0 !important;
}

/* ==================================================
   【ステップ76】PC版スタイル 最終完成版
   （ステップ72ベース + 直近のアイコン修正 + コード整理）
   ※前回のコードを削除して、これを貼り付けてください
   ================================================== */

@media screen and (min-width: 769px) {

  /* --- 0. ヘッダー設定 --- */
  .header {
    background-color: #f4f4f4 !important;
    height: 80px !important;
    width: 100% !important;
    border-bottom: none !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 1000 !important;
    display: block !important;
  }
  .header-inner {
    max-width: 1160px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
    height: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  .logo {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    gap: 20px !important;
  }
  .logo a {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    text-decoration: none !important;
  }
  .logo img {
    max-height: 60px !important;
    width: auto !important;
    vertical-align: middle !important;
  }
  .nav-wrapper-desktop {
    display: flex !important;
    align-items: center !important;
    gap: 30px !important;
    height: 100% !important;
    margin-left: auto !important;
  }
  .nav-wrapper-desktop a {
    color: #fff !important;
    font-weight: bold !important;
    font-size: 14px !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    line-height: 1 !important;
  }
  .nav-wrapper-desktop a:hover {
    text-decoration: underline !important;
    opacity: 0.8 !important;
  }
  .nav-wrapper-desktop .material-symbols-outlined {
    color: #fff !important;
    font-size: 24px !important;
    font-weight: normal !important;
    display: inline-block !important;
    vertical-align: middle !important;
  }
  .mobile-header-nav { display: none !important; }

  /* --- 1. フッター設定 --- */
  .footer {
    background-color: #000 !important;
    color: #fff !important;
    padding: 50px 0 !important;
    margin-top: 0 !important;
    border-top: none !important;
  }
  .footer .footer-inner {
    max-width: 1160px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
    display: block !important;
  }
  .footer-nav ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 20px !important;
    margin: 0 0 40px 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  .footer-nav li { display: inline-block !important; }
  .footer-nav a {
    color: #fff !important;
    font-size: 12px !important;
    text-decoration: none !important;
  }
  .footer-nav a:hover { text-decoration: underline !important; }
  .footer-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 20px !important;
  }
  .footer-logos {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
  }
  .footer-logos img {
    height: 40px !important;
    width: auto !important;
    vertical-align: middle !important;
  }
  .footer-logos img[src*="logo.png"] { filter: brightness(0) invert(1) !important; }
  .powered-by {
    font-size: 12px !important;
    color: #ccc !important;
    margin-right: 10px !important;
  }
  .footer-copy {
    color: #999 !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
  }
  .footer-copy p { margin: 5px 0 !important; }
  .footer-wrapper-mobile { display: none !important; }

  /* --- 2. コンテナ・全体設定 --- */
  .container {
    max-width: 1160px !important;
    padding: 10px 40px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  /* セクションコンテナの余白（紫色の部分）を削除 */
  .section-container {
    padding: 0 !important;
    margin: 0 auto !important;
    width: 100% !important;
  }

  /* 中身（文字）を全幅（100%）に配置 */
  .section-content {
    max-width: 100% !important;
    margin: 0 auto !important;
    width: 100% !important;
  }

  /* パンくずリスト */
  .breadcrumbs-nav {
    background: #fff;
    border-bottom: 1px solid #ddd;
    padding: 10px 0;
    margin-bottom: 10px;
    font-size: 12px;
    color: #666;
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }
  .breadcrumbs-nav a {
    color: #666 !important;
    text-decoration: underline !important;
    margin: 0 2px !important;
  }
  
  /* 手動リンク（TOP, FAQ）の後ろに矢印をつける */
  .breadcrumbs-nav > a::after {
    content: ">";
    margin: 0 5px;
    color: #999;
    text-decoration: none;
    display: inline-block;
  }

  /* システムが出力するパンくずリスト本体 */
  .breadcrumbs-nav .breadcrumbs {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
    list-style: none !important;
  }
  .breadcrumbs-nav li {
    display: inline-block !important;
    color: #666 !important;
    white-space: normal !important;
  }

  /* ▼▼▼ 変更点：表示項目の制御 ▼▼▼ */
  
  /* 1番目（Home）は非表示 */
  .breadcrumbs-nav .breadcrumbs li:first-child {
    display: none !important;
  }
  
  /* 2番目（カテゴリ：会員など）を非表示にしてスキップ */
  .breadcrumbs-nav .breadcrumbs li:nth-child(2) {
    display: none !important;
  }

  /* 項目の前の矢印（デフォルト） */
  .breadcrumbs-nav li::before {
    content: ">" !important;
    margin: 0 5px !important;
    color: #999 !important;
  }
  
  /* 3番目（セクション）の前の矢印を消す
     （直前の「よくあるご質問」に矢印がついているため重複防止） */
  .breadcrumbs-nav .breadcrumbs li:nth-child(3)::before {
    content: none !important; 
  }


  /* --- 3. 検索窓エリア --- */
.hero {
    background-image: none !important;
    background-color: transparent !important;
    
    /* ▼▼▼ 緑の上下（padding）を 50px から 25px（半分）に変更 ▼▼▼ */
    padding: 25px 0 !important;
    height: auto !important;
    
    /* ▼▼▼ オレンジ色の下余白（margin-bottom）を 40px から 0 に変更 ▼▼▼ */
    margin-bottom: 0 !important;
    
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-direction: column !important;
    position: relative !important;
  }

  .hero h1, .hero h2, .mv-ttl, .hero-title {
    text-align: center !important;
    margin: 0 !important;
    border: none !important;
    padding: 0 !important;
    font-size: 28px !important;
    color: #888888 !important; /* 文字色をグレーに変更（お好みで #666 など調整可） */
    text-shadow: none !important; /* 白文字用の影を削除 */
    line-height: 1 !important;
    position: relative !important;
    z-index: 10 !important;
  }
  
  .hero h1::after, .hero h2::after, .mv-ttl::after, .hero-title::after {
    content: none !important;
    display: none !important;
  }
  
  .search-wrap, .search-wrap-styled {
    max-width: 900px !important;
    width: 100% !important;
    margin: 0 auto !important;
    position: relative !important;
    z-index: 10 !important;
  }

  /* 検索入力欄全体のレイアウト */
  .search-full {
    display: flex !important;
    align-items: stretch !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    position: relative !important;
    gap: 10px !important;
    margin-bottom: 20px !important;
  }
  .search-full::before { display: none !important; }

  /* 検索ボタンの設定 */
  .search-full input[type="submit"] {
    width: 60px !important;
    height: 50px !important;
    background-color: #B21920 !important; 
    border: 1px solid #B21920 !important;
    color: transparent !important;
    font-size: 0 !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    margin: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white' width='28px' height='28px'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
  }

  /* --- 4. タイトル装飾 --- */
  .section h2:not(.hero-title), 
  .promoted-articles h2, 
  .recent-activity h2, 
  .categories h2,
  .search-results-subheading,
  .news-title {
    font-size: 19px !important;
    font-weight: bold !important;
    color: #333 !important;
    text-align: left !important;
    margin-bottom: 10px !important;
    border-bottom: 3px solid #dedede !important;
    position: relative !important;
    padding-bottom: 10px !important;
    display: block !important;
    width: 100% !important;
  }
  .section h2:not(.hero-title)::after, 
  .promoted-articles h2::after, 
  .recent-activity h2::after, 
  .categories h2::after,
  .search-results-subheading::after,
  .news-title::after {
    content: "" !important;
    position: absolute !important;
    bottom: -3px !important;
    left: 0 !important;
    width: 250px !important;
    height: 3px !important;
    background-color: #B21920 !important;
  }

  /* --- 5. 重要なお知らせ --- */
  .news-section {
    background-color: #f9f9f9 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 5px 0 !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important; 
    overflow: hidden !important;
    box-shadow: none !important;
  }

  /* 見出し */
  .news-title {
    padding: 10px 15px 5px 15px !important;
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: bold !important;
    color: #333 !important;
    border-bottom: none !important;
    background: transparent !important;
  }
  .news-title::after {
    content: none !important; /* PC版特有の赤い下線を消す */
    display: none !important;
  }
  .news-title .icon-news { display: none !important; }

  /* リスト全体 */
  .news-list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  /* 各記事の枠線 */
  .news-item {
    border-bottom: 1px solid #e0e0e0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
  }
  .news-item:last-child {
    border-bottom: none !important;
  }

  /* リンクブロック（クリックエリア全体） */
  .news-link-block {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 5px 5px !important;
    text-decoration: none !important;
    color: #333 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    transition: background-color 0.2s ease !important;
  }
  .news-link-block:hover {
    background-color: #f0f0f0 !important;
    text-decoration: none !important;
  }

  /* テキストエリア */
  .news-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    flex: 1 !important;
    min-width: 0 !important;
    gap: 0 !important;
  }

  /* 上段：メタ情報（ラベル＋日付） */
  .news-meta {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 0 !important;
    line-height: 1 !important;
  }

  /* ラベル（NEWなど） */
  .news-label {
    border: 1px solid #FF0000 !important;
    color: #ffffff !important;
    background-color: #FF0000 !important;
    font-size: 10px !important;
    font-weight: bold !important;
    padding: 1px 4px !important;
    border-radius: 3px !important;
    margin-right: 8px !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
  }
  .label-new { background-color: #FF0000 !important; border-color: #FF0000 !important; color: #fff !important; }
  .label-important { background-color: #333 !important; border-color: #333 !important; color: #fff !important; }
  .label-info { border-color: #666 !important; color: #666 !important; background: transparent !important; }

  /* 日付 */
  .news-date {
    font-size: 12px !important;
    color: #666 !important;
    margin: 0 !important;
  }

  /* 下段：タイトル（2行まで表示して省略） */
  .news-text {
    font-size: 14px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
    color: #333 !important;
    margin: 3px 0 0 0 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    white-space: normal !important;
    text-overflow: ellipsis !important;
  }

  /* 右側の青い矢印アイコン */
  .news-link-block::after {
    content: 'chevron_right' !important;
    font-family: 'Material Symbols Outlined' !important;
    font-size: 24px !important;
    color: #1a73e8 !important;
    margin-left: 5px !important;
    margin-top: 0 !important; /* PC版の元の設定をリセット */
    float: none !important; /* PC版の元の設定をリセット */
    font-weight: normal !important;
    flex-shrink: 0 !important;
  }

  /* --- 6. Qアイコン・リスト設定 --- */
  .promoted-articles ul, .recent-activity-list, .article-list, .search-results-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
  }
  .promoted-articles-item, 
  .recent-activity-item, 
  .article-list-item,
  .search-result-item {
    border-bottom: 1px solid #ddd !important;
    margin: 0 !important;
    overflow: visible !important;
    display: block !important;
  }
  .promoted-articles-item a, 
  .recent-activity-item a, 
  .article-list-item a {
    display: flex !important;
    align-items: flex-start !important;
    padding: 8px 10px !important;
    margin: 0 -10px !important;
    width: auto !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    color: #333 !important;
    text-decoration: none !important;
    line-height: 1.5 !important;
    transition: background-color 0.2s ease !important;
    border: none !important;
    font-size: 15px !important;
  }
  .promoted-articles-item a:hover, 
  .recent-activity-item a:hover, 
  .article-list-item a:hover {
    background-color: #f5f5f5 !important;
    text-decoration: none !important;
  }
  .promoted-articles-item a::before, .recent-activity-item a::before, .article-list-item a::before {
    content: 'Q';
    display: inline-block !important;
    background-color: #B21920 !important;
    color: #fff !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    text-align: center !important;
    line-height: 24px !important;
    font-size: 13px !important;
    font-weight: bold !important;
    margin-right: 12px !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
  }

  /* --- 7. 記事ページデザイン --- */
  .article-header {
    background-color: transparent !important;
    padding: 0 !important;
  }
  .article-container {
    display: block !important;
    max-width: 900px !important;
    margin: 0 auto !important;
  }
  .article {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    flex: none !important;
  }
  .article-title {
    background-color: transparent !important;
    color: #333 !important;
    font-size: 24px !important;
    font-weight: bold !important;
    padding: 0 0 10px 0 !important;
    border-left: none !important;
    border-bottom: 3px solid #dedede !important;
    display: block !important;
    line-height: 1.4 !important;
    position: relative !important;
  }
  .article-title::after {
    content: "" !important;
    position: absolute !important;
    bottom: -3px !important;
    left: 0 !important;
    width: 250px !important;
    height: 3px !important;
    background-color: #B21920 !important;
    display: block !important;
  }
  .article-title::before { content: none !important; display: none !important; }
  .article-body h2, .article-body h3, .article-body h4 {
    color: #333 !important;
    font-weight: bold !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
  }
  .article-body h3 {
    font-size: 18px !important;
    border-left: 4px solid #333 !important;
    padding-left: 10px !important;
  }
  .article-body ul {
    list-style-type: disc !important;
    padding-left: 20px !important;
    margin-bottom: 20px !important;
  }
  .article-body li { margin-bottom: 5px !important; }
  .article-votes-container {
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    background-color: #f9f9f9 !important;
    padding: 30px !important;
    margin-top: 50px !important;
    text-align: center !important;
  }
  .article-votes-question {
    font-size: 16px !important;
    font-weight: bold !important;
    margin-bottom: 20px !important;
    display: block !important;
  }
  .article-votes-controls {
    display: flex !important;
    justify-content: center !important;
    gap: 20px !important;
  }
  .vote-btn {
    border: 1px solid #999 !important;
    background: #fff !important;
    color: #333 !important;
    padding: 10px 40px !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    text-decoration: none !important;
  }
  .vote-btn:hover { background: #eee !important; }
  .related-articles-container {
    margin-top: 40px !important;
    border-top: none !important;
  }
  .related-articles-title {
    font-size: 20px !important;
    font-weight: bold !important;
    color: #333 !important;
    border: none !important;
    border-bottom: 3px solid #dedede !important;
    position: relative !important;
    padding-bottom: 10px !important;
    margin-bottom: 20px !important;
    display: block !important;
    width: 100% !important;
  }
  .related-articles-title::after {
    content: "" !important;
    position: absolute !important;
    bottom: -3px !important;
    left: 0 !important;
    width: 100% !important;
    height: 3px !important;
    background-color: #B21920 !important;
    display: block !important;
    z-index: 1 !important;
  }
  .related-articles-title::before { content: none !important; display: none !important; }
  .related-articles h3 { display: none !important; }
  .related-articles li {
    border-bottom: 1px dotted #ccc !important;
    padding: 10px 0 !important;
  }
  .related-articles a {
    text-decoration: none !important;
    color: #333 !important;
    font-size: 14px !important;
  }
  .related-articles a:hover { text-decoration: underline !important; }

  /* --- 8. セクションページ設定 --- */
  .page-header {
    border-bottom: 3px solid #dedede !important;
    margin-bottom: 20px !important;
    padding-bottom: 5px !important;
    position: relative !important;
  }
  .page-header::after {
    content: "" !important;
    position: absolute !important;
    bottom: -3px !important;
    left: 0 !important;
    width: 250px !important;
    height: 3px !important;
    background-color: #B21920 !important;
  }
  .page-header h1, .page-header h2 {
    font-size: 20px !important;
    font-weight: bold !important;
    color: #333 !important;
    margin: 0 !important;
  }

  /* --- 9. カテゴリから探す --- */
  .categories, .categories.blocks {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
  }
  .categories .blocks-list {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .blocks-item {
    width: calc(33.33% - 14px) !important;
    flex: 0 0 calc(33.33% - 14px) !important;
    border: 2px solid #ddd !important;
    border-radius: 4px !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    background-color: #fff !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    position: static !important;
    height: auto !important;
    min-height: auto !important;
    overflow: hidden !important;
    transition: none !important;
  }
  .blocks-item-link {
    padding: 0 !important;
    color: #333 !important;
    display: block !important;
    pointer-events: none !important;
    cursor: default !important;
  }
  .categories .material-symbols-outlined,
  .blocks-item .material-symbols-outlined {
    display: none !important;
  }
  .blocks-item-title {
    font-size: 18px !important;
    font-weight: bold !important;
    margin-bottom: 15px !important;
    padding-left: 30px !important;
    position: relative !important;
    color: #333 !important;
    display: block !important;
    border: none !important;
  }
  /* ★修正：カテゴリアイコンの太さを通常（normal）に戻す ★ */
  .blocks-item-title::before {
    display: block !important;
    font-family: 'Material Symbols Outlined' !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 24px !important;
    color: #B21920 !important;
    margin: 0 !important;
    font-weight: normal !important;
  }
  .blocks-item ul,
  .blocks-item .section-list {
    display: block !important;
    flex-direction: column !important;
    height: auto !important;
    padding: 0 !important;
    width: auto !important;
    margin: 0 -20px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .blocks-item li,
  .blocks-item .section-list-item,
  .section-list li {
    display: block !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
    border: none !important;
    height: auto !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .blocks-item li a,
  .blocks-item .section-list-item a,
  .section-list li a {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: auto !important;
    padding: 5px 20px !important;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: normal !important;
    text-decoration: none !important;
    white-space: normal !important;
    line-height: 1.5 !important;
    height: auto !important;
    position: static !important;
    border-bottom: none !important;
    transition: background-color 0.2s ease !important;
  }
  .blocks-item li a:hover,
  .section-list li a:hover {
    background-color: #f5f5f5 !important;
    text-decoration: none !important;
    cursor: pointer !important;
  }
  .blocks-item li a::after, 
  .blocks-item .section-list-item a::after,
  .section-list li a::after,
  .section-list-item a::after {
    display: none !important;
    content: none !important;
  }
  .blocks-item li a::before, 
  .section-list li a::before,
  .section-list-item a::before {
    content: "arrow_right" !important;
    font-family: 'Material Symbols Outlined' !important;
    font-size: 24px !important; 
    color: #333 !important;
    margin-right: 5px !important;
    font-weight: normal !important;
    line-height: 1 !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
  }

  /* --- 10. チャットボットバナー --- */
  .chatbot-banner {
    max-width: 800px !important;
    margin: 60px auto 40px !important;
    padding: 40px !important;
    background-color: #f9f9f9 !important;
    border: 1px solid #eee !important;
    border-radius: 8px !important;
    text-align: center !important;
  }
  .chatbot-banner h2, .chatbot-title {
    font-size: 19px !important;
    font-weight: bold !important;
    text-align: center !important;
    color: #333 !important;
    border: none !important;
    margin-bottom: 20px !important;
    padding-bottom: 0 !important;
  }
  .chatbot-banner h2::after { content: none !important; }
  .chatbot-text { font-size: 14px !important; line-height: 1.6 !important; margin-bottom: 40px !important; color: #333 !important; }
  .chatbot-btn {
    display: block !important;
    max-width: 450px !important;
    margin: 120px auto 0 !important;
    padding: 20px !important;
    background-color: #042E57 !important;
    color: #fff !important;
    font-weight: bold !important;
    font-size: 18px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    position: relative !important;
    transition: opacity 0.2s ease !important;
  }
.chatbot-btn:hover { opacity: 0.9 !important; text-decoration: none !important; }
  .chatbot-btn::before {
    content: "" !important;
    display: block !important;
    width: 300px !important;
    height: 200px !important;
    background-image: url(/hc/theming_assets/01KMY5WYC4GYXPSF0D9DNKPQDA) !important;
    background-size: auto 200px !important; 
    background-repeat: no-repeat !important;
    background-position: center bottom !important;
    position: absolute !important;
    top: -150px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  /* --- 11. 検索結果ページ設定 --- */
  .search-results {
    /* Flexboxで中央揃えを強制 */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .search-results-column {
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    float: none !important;
    padding: 0 !important;
  }
  .search-results-sidebar { display: none !important; }

  /* 検索結果リストのデザイン */
  .search-results-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }
  
  /* Q/Aの各行の設定 */
  .search-result-row {
    display: flex !important;
    align-items: flex-start !important;
    margin-bottom: 10px !important;
    border-bottom: none !important;
  }
  .search-result-row:last-child { margin-bottom: 0 !important; }
  
  /* アイコンデザイン */
  .search-result-icon {
    display: inline-block !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    text-align: center !important;
    line-height: 24px !important;
    font-size: 13px !important;
    font-weight: bold !important;
    color: #fff !important;
    margin-right: 12px !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
  }
  
  /* Qは赤、Aは青 */
  .icon-q { background-color: #B21920 !important; }
  .icon-a { background-color: #0072CE !important; }
  
  /* リンクテキスト */
  .search-result-link {
    font-weight: bold !important;
    color: #333 !important;
    text-decoration: none !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
  .search-result-link:hover { text-decoration: underline !important; }
  
  /* 本文スニペット */
  .search-result-snippet {
    font-size: 14px !important;
    color: #666 !important;
    line-height: 1.5 !important;
  }

  /* --- 12. 下部リンクボタン --- */
  .footer-nav-section { display: flex !important; flex-direction: column !important; align-items: center !important; margin-bottom: 60px !important; }
  .footer-nav-btn { display: flex !important; justify-content: center !important; align-items: center !important; width: 100% !important; max-width: 450px !important; height: 60px !important; margin: 0 auto 20px !important; padding: 0 !important; background-color: #fff !important; border: 1px solid #ccc !important; border-radius: 4px !important; color: #333 !important; font-weight: bold !important; font-size: 14px !important; text-decoration: none !important; transition: background-color 0.2s ease !important; }
  .footer-nav-btn:hover { background-color: #f5f5f5 !important; text-decoration: none !important; }
  .footer-nav-btn .material-symbols-outlined, .footer-icon { font-size: 20px !important; margin-right: 10px !important; color: #042E57 !important; }
  .cat-toggle-button { display: none !important; }
}

/* 入力欄の設定 */
  .search-full input[type="search"] {
    background-color: #f5f5f5 !important; /* 通常時は濃いグレー */
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    height: 50px !important;
    padding-left: 15px !important;
    font-size: 15px !important;
    color: #333 !important;
    
    /* 幅固定・スクロールバー削除設定 */
    flex-grow: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none !important;
    overflow: hidden !important;
    
    /* 色の変化を滑らかにする */
    transition: background-color 0.2s ease !important;
  }

  /* ▼▼▼ 追加：フォーカス時(入力中) または 文字が入っている時は「白」にする ▼▼▼ */
  .search-full input[type="search"]:focus,
  .search-full input[type="search"]:not(:placeholder-shown) {
    background-color: #ffffff !important;
  }

  /* プレースホルダー（入力前の文字）の設定 */
  .search-full input[type="search"]::placeholder {
    color: #777 !important;
    opacity: 1 !important;
  }

/* 投票済み（押下後）のボタンの色を、通常時と同じ状態に強制する */
  .vote-btn.vote-voted {
    background: #fff !important;
    color: #333 !important;
    border: 1px solid #999 !important;
  }
  .vote-btn.vote-voted:hover {
    background: #eee !important;
  }

/* パンくずリストと言語設定を横並びにするスタイル */
.breadcrumbs-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.breadcrumbs-left {
  /* パンくずリストが長くなった場合の調整 */
  margin-right: 15px; 
}

.breadcrumbs-right {
  /* 言語セレクタの位置調整用 */
  display: flex;
  align-items: center;
}

/* モーダルの背景（半透明の黒） */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* ポップアップの白い箱 */
.modal-content {
  background-color: #ffffff;
  padding: 40px 30px;
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  max-width: 400px;
  width: 90%;
}

/* メッセージのテキスト */
.modal-content p {
  margin-bottom: 25px;
  font-size: 16px;
  line-height: 1.6;
  color: #333333;
  font-weight: bold;
}

/* FAQに戻るボタン */
#back-to-faq-btn {
  background-color: #17494D; /* Zendeskのメインカラー等に合わせて変更してください */
  color: #ffffff;
  border: none;
  padding: 12px 30px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: bold;
  transition: background-color 0.3s;
}

#back-to-faq-btn:hover {
  background-color: #0f3033;
}

/* =========================================
   新しいスマホ用フッターのスタイル
   ========================================= */

.mobile-simple-footer {
  background-color: #f5f5f5; /* 画像に合わせた薄いグレーの背景 */
  padding: 24px 0 40px 0;
  font-family: sans-serif;
  width: 100%;
  margin-top: 20px;
}

.msf-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.msf-item {
  /* 必要に応じて各項目の間に線を引く場合は下記を有効にしてください */
  /* border-bottom: 1px solid #e0e0e0; */
}

.msf-link {
  display: flex;
  align-items: center;
  padding: 16px 24px;
  text-decoration: none;
  color: #333333;
  transition: background-color 0.2s;
}

.msf-link:active {
  background-color: #e8e8e8; /* タップ時のハイライト */
}

/* 左側のアイコン */
.msf-icon-left {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
}

.msf-icon-left svg {
  width: 20px;
  height: 20px;
  fill: #555555; /* アイコンの色 */
}

/* メニューのテキスト */
.msf-text {
  font-size: 15px;
  font-weight: normal;
  line-height: 1;
}

/* 外部リンクアイコン（テキストの右側） */
.msf-icon-ext {
  display: flex;
  align-items: center;
  margin-left: 8px;
}

.msf-icon-ext svg {
  width: 14px;
  height: 14px;
  fill: #aaaaaa;
}

/* コピーライト */
.msf-copyright {
  text-align: center;
  font-size: 11px;
  color: #666666;
  margin-top: 40px;
}

/* =========================================
   PC画面（769px以上）用のスタイル上書き
   ========================================= */
@media screen and (min-width: 769px) {
  .mobile-simple-footer {
    display: block;
    width: 100%;             /* 画面幅いっぱいに広げる */
    max-width: none;         /* 背景の幅制限を解除 */
    margin: 40px 0 0 0;      /* 上の余白だけ残し、左右と下の余白を0にする（画面下までくっつける） */
    padding: 60px 0;         /* フッター内の上下の余白（広めにとっています） */
    border-radius: 0;        /* 角の丸みをなくす */
  }

  .msf-list {
    display: flex;
    justify-content: center; /* 中央寄せ */
    flex-wrap: wrap;
    gap: 16px 40px;
    max-width: 1000px;       /* メニューの文字が左右に広がりすぎないように制限 */
    margin: 0 auto;          /* メニュー全体を中央に配置 */
  }

  .msf-link {
    padding: 8px 0;
    justify-content: center;
  }

  .msf-link:hover {
    opacity: 0.7; 
    background-color: transparent; 
  }

  .msf-copyright {
    margin-top: 48px;
    font-size: 12px;
  }
}

/* フォームのラベル（項目名）の装飾：左ライン */
#new-request-form label,
[data-garden-id*="label"] {
  display: block !important;
  font-weight: bold !important;
  color: #333 !important; /* 文字色は濃いグレー */
  font-size: 16px !important;
  
  /* 追加する装飾 */
  margin-bottom: 12px !important;
  padding-left: 12px !important; /* 左の線との隙間 */
  border-left: 5px solid #B21920 !important; /* ブランドの赤色ライン */
  line-height: 1.2 !important; /* ラインの高さを文字に合わせる */
}

/* =========================================
   利用規約チェックボックスエリアの修正（安全版）
========================================= */
/* ★変更点：チェックボックス"本体だけ"を狙い撃ちしてサイズ固定する */
#new-request-form input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  opacity: 1 !important; 
  position: static !important; 
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  margin: 0 8px 0 0 !important;
  cursor: pointer !important;
  display: inline-block !important;
}

/* 新しく作ったラベルの装飾を強制リセット */
#new-request-form label.custom-terms-label {
  display: inline-block !important;
  border-left: none !important;
  padding-left: 0 !important;
  margin-bottom: 0 !important;
  font-weight: normal !important;
  color: #333 !important;
  cursor: pointer !important;
  font-size: 15px !important;
  white-space: nowrap !important; /* 縦文字防止 */
}

/* =========================================
   スマホ（モバイル）表示用の調整（安定版）
========================================= */
@media screen and (max-width: 600px) {
  #custom-privacy-box, #custom-agreement-box {
    padding: 20px 10px !important;
  }
  #custom-privacy-box > div:last-child,
  #custom-agreement-box > div:last-child {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; 
    align-items: flex-start !important; 
    justify-content: flex-start !important;
  }
  #custom-privacy-box > div:last-child > span,
  #custom-agreement-box > div:last-child > span {
    flex-shrink: 0 !important;
    min-width: 40px !important; 
    box-sizing: border-box !important;
    white-space: nowrap !important; 
    word-break: keep-all !important; 
    text-align: center !important;
    margin-top: 2px !important;
  }
  #checkbox-slot-privacy, #checkbox-slot-agreement {
    display: flex !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
  }
  #new-request-form input[type="checkbox"] {
    flex-shrink: 0 !important;
    margin-top: 2px !important;
  }
  #new-request-form label.custom-terms-label {
    white-space: normal !important; 
    word-break: normal !important; 
    overflow-wrap: anywhere !important; 
    text-align: left !important;
    line-height: 1.4 !important;
    margin-top: 0 !important;
  }
}

/* =========================================
   Zendesk標準エラーを箱の「下」に移動させる魔法
========================================= */
/* 親枠をFlexboxにして、中身の順番(order)を入れ替えます */
.form-field:has(#custom-privacy-box),
.form-field:has(#custom-agreement-box) {
  display: flex !important;
  flex-direction: column !important;
}
/* グレーの箱を上に（順番1） */
#custom-privacy-box, #custom-agreement-box {
  order: 1 !important;
  margin-bottom: 4px !important;
}
/* エラーメッセージを箱の下に（順番2） */
.form-field [data-garden-id*="message"] {
  order: 2 !important;
  margin-top: 4px !important;
}

/* =========================================
   カレンダーへの「見出しの赤線」の誤爆を防ぐ
========================================= */
/* カレンダー枠内のラベル等から左の線を消す */
div[class*="StyledMenuWrapper"] label,
div[class*="StyledMenuWrapper"] span,
div[class*="StyledMenuWrapper"] div {
    border-left: none !important;
    box-shadow: none !important;
}

/* ※もし疑似要素 (::before) で赤線が作られていた場合のための保険 */
div[class*="StyledMenuWrapper"] label::before,
div[class*="StyledMenuWrapper"] span::before,
div[class*="StyledMenuWrapper"] div::before {
    display: none !important;
    content: none !important;
}

/* =========================================
   スマホでの入力時自動ズーム＆横スクロールを完全に防ぐ
========================================= */
@media screen and (max-width: 768px) {
  
  /* 1. スマホ特有の「入力欄をタップすると勝手にズームする」現象を防ぐ */
  /* 文字サイズを16px以上に固定することで、ブラウザの余計なおせっかいをブロックします */
  input,
  select,
  textarea {
    font-size: 16px !important;
  }
  
  /* 2. 画面が横にブレてスクロールバーが出るのを物理的に禁止する */
  html,
  body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  
}

/* =========================================
   入力確認ボタン・ポップアップのボタンのカラー変更
========================================= */
/* メインのボタン（入力内容を確認する・送信する） */
#fake-submit-btn,
#execute-submit-btn {
    background-color: #092d54 !important; /* 画像から抽出したディープブルー */
    color: #ffffff !important;
    border: none !important;
}

/* マウスを乗せたとき（ホバー）は少しだけ暗くして押せる感を出します */
#fake-submit-btn:hover,
#execute-submit-btn:hover {
    background-color: #051a33 !important;
}

/* ちなみに、ポップアップの「キャンセル」ボタンは
   メインボタンより目立たないように落ち着いたグレーにしておくと親切です！ */
#cancel-submit-btn {
    background-color: #68737d !important;
    color: #ffffff !important;
    border: none !important;
}

#cancel-submit-btn:hover {
    background-color: #4b545c !important;
}

/* =========================================
   送信完了ポップアップの「FAQに戻る」ボタン
========================================= */
#back-to-faq-btn {
    background-color: #092d54 !important; /* チャットボットと同じディープブルー */
    color: #ffffff !important;            /* 文字は白 */
    border: none !important;              /* 枠線を消す */
    
    /* ▼ もしボタンの形も綺麗に整えたい場合は、このまま残してください ▼ */
    padding: 12px 24px !important;        /* ボタンの余白（大きさ） */
    font-size: 16px !important;           /* 文字の大きさ */
    font-weight: bold !important;         /* 文字を太字に */
    border-radius: 4px !important;        /* 角を少し丸くする */
    cursor: pointer !important;           /* マウスを乗せたら指のマークにする */
    transition: 0.3s !important;          /* ふわっと色が変わるアニメーション */
}

/* マウスを乗せたとき（ホバー）は少しだけ暗くして押せる感を出します */
#back-to-faq-btn:hover {
    background-color: #051a33 !important;
}

/* AI回答エリア（検索結果ページのみ ＆ 0件表示じゃない時）の「下」に赤文字の注意書きを追加 */
#main-content.search-results-column:not(:has(.no-results-container)) > div:first-child::after {
    content: "※上記回答はAIが生成した回答です。不正確な場合がありますのでご了承ください。" !important;
    display: block !important;
    
    /* デザイン設定：装飾なしの赤文字 */
    color: #dc3545 !important; /* 赤色 */
    font-size: 13px !important; /* 少し小さめに */
    margin-top: 12px !important; /* 上にあるAIの白い枠との隙間 */
    margin-bottom: 24px !important; /* 下にある「"ログイン"の検索結果」との隙間 */
    
    /* ※もし文字を太くしたい場合は残し、普通の太さがよければこの1行を消してください */
    font-weight: bold !important; 
}

/* パンくずリストのフォントをサイト全体で強制的に統一する */
div.breadcrumbs-left,
div.breadcrumbs-left * {
    /* ▼ 2枚目のモダンなフォント（最近の主流）に合わせる場合はこちら ▼ */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;

    /* ▼ もし1枚目のフォント（Helvetica等）に合わせたい場合は、上の行を消して以下を使ってください ▼
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
    */
}

/* =========================================
   画像サイズの完全統一（今回のHTML構造に合わせた修正版）
========================================= */

/* 1. 画像を囲む「見えない枠（Zendesk特有）」の制限をすべて無効化 */
.article-body figure,
.article-body figure.wysiwyg-image,
.article-body span {
  max-width: 100% !important;
  width: auto !important; /* 追加：figureについている width: 75%; などのインラインスタイルを無効化 */
  height: auto !important;
  margin: 0 !important; /* figure自体の余白もリセットしておくと安全です */
}

/* 2. 画像本体への基本設定（手動リサイズのクラスも名指しで上書き） */
.article-body img {
  display: block !important;
  margin: 20px auto !important; /* 画像を常に中央寄せ */
  border: 1px solid #888888 !important; /* 枠線 */
  border-radius: 4px !important; /* 角丸 */
  box-sizing: border-box !important;
  
  /* インラインスタイルの高さとアスペクト比指定を強制リセットして歪みを防ぐ */
  height: auto !important; 
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important; /* 追加：画像についている aspect-ratio: 466/876; を無効化 */
}

/* --- 3. PC向け：絶対に400pxに統一 --- */
@media (min-width: 769px) {
  .article-body img {
    width: 400px !important;      /* 400pxに強制固定！ */
    max-width: 400px !important;  /* 400px以上広がるのを許さない */
    min-width: 400px !important;  /* 400px以下に縮むのも許さない！ */
  }
}

/* --- 4. スマホ向け：画面幅に合わせて綺麗に縮小 --- */
@media (max-width: 768px) {
  .article-body img {
    width: 100% !important;       /* スマホの横幅を基準にする */
    max-width: 400px !important;  /* ただし最大400pxまで */
  }
}

/* 共通のラベルスタイル */
.news-label {
  color: #fff;
  font-size: 0.75rem;
  padding: 2px 8px;
  border-radius: 2px;
  margin-right: 15px;
  font-weight: bold;
  white-space: nowrap; /* 改行させない */
}

/* NEW用のスタイル（赤色） */
.label-new {
  background-color: #b70000;
}

/* 重要用のスタイル（青色） */
.label-important {
  background-color: #0056b3 !important;
  border-color: #0056b3 !important;
}

/* ========================================
   ハンバーガーメニュー（PC・スマホ両対応版）
======================================== */

/* ヘッダー自体の設定 */
.header {
  position: relative;
  z-index: 10000;
}

.custom-hamburger-btn {
  display: block;
  /* ★幅と高さを小さくして黒ヘッダーのサイズに合わせる */
  width: 20px;  /* (変更前28px) */
  height: 15px; /* (変更前22px) */
  background: transparent !important;
  border: none !important;
  outline: none !important;
  cursor: pointer;
  padding: 0;
  
  /* ★位置の調整：右側に余白をつけて中央寄りにする */
  margin-left: 15px;
  margin-right: 10px; /* ここを15pxや20pxに増やすとさらに内側に寄ります */
  
  position: relative;
  z-index: 10001;
}

.hamburger-line {
  display: block;
  width: 100%;
  height: 2px; /* ★もし線が太く感じる場合は 1.5px などに変更してください */
  background-color: #000000;
  border-radius: 2px;
  position: absolute;
  left: 0;
  transition: all 0.3s ease-in-out;
  pointer-events: none;
}

/* （これ以下の :nth-child などのアニメーション設定はそのまま残してください） */

/* 3本の線の初期位置 */
.hamburger-line:nth-child(1) { top: 0; }
.hamburger-line:nth-child(2) { top: 50%; transform: translateY(-50%); }
.hamburger-line:nth-child(3) { bottom: 0; }

/* メニュー展開時（×への変形） */
.custom-hamburger-btn.is-active .hamburger-line:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.custom-hamburger-btn.is-active .hamburger-line:nth-child(2) {
  opacity: 0;
}
.custom-hamburger-btn.is-active .hamburger-line:nth-child(3) {
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}


/* ========================================
   メニュー本体とオーバーレイ
======================================== */

/* メニューのオーバーレイ */
.custom-menu-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9998;
}

.custom-menu-overlay.is-open {
  display: block;
}

/* メニュー本体（基本はスマホ用の全幅設定） */
.custom-mobile-menu {
  position: absolute;
  top: 100%; 
  right: 0; /* ★左寄せ(left:0)から右寄せ(right:0)に変更 */
  width: 100%;
  background-color: #ffffff;
  z-index: 9999;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.custom-mobile-menu.is-open {
  max-height: 600px;
  overflow-y: auto;
}

/* ★追加：PC表示（画面幅768px以上）の時のスタイル */
@media (min-width: 768px) {
  .custom-mobile-menu {
    width: 360px; /* 画面いっぱいにならないよう幅を固定 */
    right: 30px;  /* 画面の右端から少しだけ余白をとる（お好みで数値を変えてください） */
    border-radius: 0 0 8px 8px; /* 下の角を少し丸めてドロップダウン風にする */
    border: 1px solid #e5e5e5;  /* 独立したパネルに見えるように薄い枠線をつける */
    border-top: none;
  }
}


/* ========================================
   リスト・アイコン等のデザイン
======================================== */

.menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu-list li a,
.menu-list li.coming-soon-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px; /* ★上下の余白を12pxに、左右は20pxのままに調整しました */
  text-decoration: none;
  color: #000000;
  font-weight: bold;
  font-size: 15px;
}

.arrow {
  font-size: 20px;
  color: #000;
  line-height: 1;
}

.menu-divider {
  border: none;
  border-top: 1px solid #e5e5e5;
  margin: 0;
}

.coming-soon {
  color: #990000;
  font-size: 12px;
  font-weight: 900;
}

.external-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #000000;
  transform: translateY(-1px); 
}



/* ★メニューの位置の基準を、ヘッダー全体ではなくインナー枠にします */
.header-inner {
  position: relative;
}

/* ★スマホ・PC共通のメニュー本体設定の right を 0 に変更 */
.custom-mobile-menu {
  position: absolute;
  top: 100%; 
  right: 0; /* ★0にすることで右端ピッタリになります */
  width: 100%;
  background-color: #ffffff;
  z-index: 9999;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* ★PC表示の時のメディアクエリ内の right も 0 に変更 */
@media (min-width: 768px) {
  .custom-mobile-menu {
    width: 360px; 
    right: 0;  /* ★先ほどの30pxをやめて0にするだけで、ボタンの真下に綺麗に揃います */
    border-radius: 0 0 8px 8px; 
    border: 1px solid #e5e5e5;  
    border-top: none;
  }
}

/* お問い合わせフォーム上の注意書きの下に余白を作る */
p.custom-notice-text {
  margin-bottom: 40px !important; /* お好みの広さに数値を調整してください */
}
/* ========================================
   「おすすめ記事」を「関連記事」に変更
======================================== */
/* 元のテキストを見えなくする */
div[data-test-id="suggested-articles"] h2 {
  visibility: hidden;
  position: relative;
}

/* 疑似要素で新しいテキストを表示する */
div[data-test-id="suggested-articles"] h2::after {
  content: "関連記事";
  visibility: visible;
  position: absolute;
  left: 0;
  top: 0;
  color: #333333; /* 必要に応じて元のh2の色に合わせて調整してください */
}