@charset "UTF-8";
:root {
  --primary-color: #ee3281;
  --link-color: #d65584;
  --highlight-color: #ee3281;
  --header-background: #f6f6f6;
  --kinds-selector-display: block;
}

header.header {
  border-bottom: 1px solid #e9e9e9;
}
header.header ul.header-menu {
  display: none;
}
header.header .search-container {
  display: flex;
  flex-direction: column;
}
header.header .search-container > .container:first-child {
  order: 1;
}
header.header .search-container > .container:first-child .subtitle {
  padding: 40px 0 20px;
}
@media (max-width: 767px) {
  header.header .search-container > .container:first-child .subtitle {
    display: block;
    padding: 20px 0;
  }
  header.header .search-container > .container:first-child .subtitle h2 {
    font-size: 16px;
    line-height: 16px;
  }
}
header.header .search-container > .container.kinds-selector {
  order: 0;
}

.query-input {
  margin: 0 auto 8px;
  border-radius: 23px;
  box-shadow: none;
}
.query-input > input {
  padding: 6px 18px;
}
.query-input > input:placeholder-shown {
  padding-top: 2px;
}
.query-input > input::placeholder {
  font-size: 16px;
}
.query-input > .speech-button {
  display: none;
}

#app-container:not(:empty) {
  min-height: unset;
}

/*
 フッターを画面最下部に固定する
 */
body {
  display: flex;
  flex-flow: column;
}
body > footer.footer {
  flex: 1;
  flex-grow: 1;
}

footer.footer {
  display: flex;
  flex-flow: column;
  margin-top: 30px;
  padding: 0;
}
footer.footer > .article-footer {
  display: none;
  flex-grow: 1;
  margin-bottom: 30px;
}
footer.footer > .page-footer {
  background: #303030;
  height: 40px;
  padding: 10px 0;
}
footer.footer > .page-footer a {
  color: #fff;
}

body.article-page footer.footer > .article-footer {
  display: block;
}

.kinds-selector > .selector {
  padding: 16px 0 0;
  flex-wrap: wrap;
}
.kinds-selector > .selector .kind-items {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 8px 16px;
  border-radius: 2px;
}
@media (max-width: 767px) {
  .kinds-selector > .selector .kind-items {
    width: calc(50% - 8px * 2);
  }
  .kinds-selector > .selector .kind-items:nth-last-child(even):first-child {
    width: 100%;
  }
}
.kinds-selector > .selector .kind-items > input[type=radio] {
  display: none;
}
.kinds-selector > .selector .kind-items > input[type=radio] + label {
  border: 1px solid #ddd;
  padding: 5px 12px;
  width: 100%;
}
.kinds-selector > .selector .kind-items > input[type=radio]:checked + label {
  padding-bottom: 3px;
  border-bottom: 3px solid var(--link-color);
}

html.inapp body {
  min-height: 100vh;
}
html.inapp .header .search-container .kinds-selector {
  display: none;
}
html.inapp .footer {
  display: flex;
}
html.inapp .footer .page-footer {
  display: none;
}

.kinds-selector > .selector > .kind-items:nth-child(2) {
  display: none;
}

body.contact-page form .form-group.required label::after {
  display: inline-block;
  padding: 0 4px;
  content: "*";
  color: var(--link-color);
  font-weight: bold;
}
body.contact-page form .form-group .hints:empty {
  padding: 0;
}
body.contact-page form .description-html {
  margin: 0;
}
body.contact-page form .description-html:first-child .line {
  margin: 0;
  font-size: 12px;
  white-space: pre-wrap;
  line-height: normal;
}
body.contact-page form .description-html:first-child .description .line > .empty-char-index {
  display: block;
  height: 24px;
}

.page-content img.image {
  max-width: 380px;
  max-height: none;
  width: 100%;
  border: 1px solid #e9e9e9;
  padding: 24px;
}

.navbar h1.brand {
  display: none;
}