@charset "UTF-8";
/* Settings */
/* ============================================ */
/* Top page */
/* ============================================ */
body {
  background-color: #FAF6F6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
}

#top {
  min-height: 100vh;
}

.main {
  position: relative;
  display: flex;
  padding-left: 24px;
}
@media screen and (max-width: 767px) {
  .main {
    display: block;
    padding-left: 0;
  }
}

/* Logo */
.logo {
  position: absolute;
  margin-top: 40px;
  z-index: 5;
}
.logo--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .logo {
    display: none;
  }
  .logo--sp {
    display: block;
    position: relative;
  }
  .logo__mark--sp {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 5;
    margin-top: -1px;
    margin-left: -1px;
  }
}

/* Mainvisual */
.mainvisual {
  width: calc(100% - 280px);
  position: relative;
}
.mainvisual::before, .mainvisual::after {
  content: "WELCOME TO HIRAIZUMI TOWN. WELCOME TO HIRAIZUMI TOWN. WELCOME TO HIRAIZUMI TOWN. WELCOME TO HIRAIZUMI TOWN. WELCOME TO HIRAIZUMI TOWN. WELCOME TO HIRAIZUMI TOWN. WELCOME TO HIRAIZUMI TOWN. WELCOME TO HIRAIZUMI TOWN. WELCOME TO HIRAIZUMI TOWN. ";
  display: block;
  color: #E3C9C7;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 40px;
  overflow: hidden;
  white-space: nowrap;
}
.mainvisual::before {
  padding-left: 160px;
}
@media screen and (max-width: 767px) {
  .mainvisual {
    width: 100%;
    padding: 16px 16px 0;
  }
  .mainvisual::before {
    display: none;
  }
  .mainvisual::after {
    font-size: 0.875rem;
    line-height: 30px;
  }
}

/* Menu */
.menu {
  width: 280px;
  height: 100vh;
  overflow-y: auto;
  background-color: #8E2921;
  color: #FAF6F6;
  padding: 24px 20px 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .menu__inner--upper {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .menu {
    width: 100%;
    height: auto;
    background: #FAF6F6;
    padding: 0;
  }
}

.gnav__item {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  width: 240px;
  height: 176px;
  background-image: url(../images/gnav_dot.svg);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 2px 6px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.gnav__item:first-child::after {
  display: none;
}
.gnav__item:nth-child(2) .gnav__link {
  padding-top: 6px;
}
.gnav__item:nth-child(n+3) {
  height: 104px;
}
@media (hover: hover) {
  .gnav__item:hover .gnav__link {
    opacity: 0.6;
    transition: all 0.3s ease;
  }
}
.gnav__link {
  display: block;
}
.gnav__icon {
  margin: 0 auto 20px;
}
.gnav__title {
  line-height: 1;
}
.gnav__title--sub {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1;
  margin-bottom: 4px;
}
.gnav__title--br {
  display: none;
}
.gnav__title--en {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 300;
  font-size: 0.75rem;
  margin-top: 4px;
  line-height: 1;
}
.gnav__title--en:nth-of-type(n+3) {
  margin-top: 4px;
}
@media screen and (max-width: 767px) {
  .gnav {
    order: 4;
    background: #8E2921;
    padding: 30px 20px 0;
    margin-top: 48px;
  }
  .gnav__item {
    height: auto;
  }
  .gnav__item:nth-child(3), .gnav__item:last-child {
    height: 122px;
    padding: 30px 0;
  }
  .gnav__item:nth-child(3) .gnav__title--en, .gnav__item:last-child .gnav__title--en {
    font-size: 0.8125rem;
  }
  .gnav__title {
    font-weight: 700;
    font-size: 1.375rem;
  }
  .gnav__item:nth-of-type(3) .gnav__title, .gnav__item:last-of-type .gnav__title {
    font-size: 1.625rem;
  }
  .gnav__title--sub {
    font-size: 0.8125rem;
    margin-bottom: 1.3333333333vw;
  }
  .gnav__title--en {
    margin-top: 1.3333333333vw;
  }
  .gnav__list {
    display: flex;
    flex-wrap: wrap;
  }
  .gnav__item:first-child, .gnav__item:nth-child(2) {
    width: 50%;
    height: 186px;
    flex-direction: row;
    align-items: flex-start;
    padding-top: 17px;
  }
  .gnav__item:first-child .gnav__link, .gnav__item:nth-child(2) .gnav__link {
    width: 100%;
    height: 120px;
  }
  .gnav__item:first-child .gnav__title--en, .gnav__item:nth-child(2) .gnav__title--en {
    margin-top: 6px;
  }
  .gnav__item:first-child {
    position: relative;
  }
  .gnav__item:first-child::after {
    content: "";
    display: block;
    width: 2px;
    height: 154px;
    background-image: url(../images/gnav_dot.svg);
    background-size: 2px 4px;
    background-repeat: repeat-y;
    position: absolute;
    right: 0;
    top: 0;
  }
  .gnav__item:first-child .gnav__icon {
    width: auto;
    height: 60px;
  }
  .gnav .gnav__icon {
    width: auto;
    height: 60px;
  }
  .gnav__item:nth-child(3), .gnav__item:last-child {
    width: 100%;
  }
}
@media screen and (max-width: 540px) {
  .gnav__title--sm {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 375px) {
  .gnav__title--sm {
    font-size: 1rem;
  }
}
@media screen and (max-width: 983px) {
  .gnav__item {
    height: 160px;
  }
  .gnav__title--en {
    margin-top: 6px;
  }
}

.search {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.875rem;
  margin-top: 34px;
}
.search__title {
  padding-left: 0.5em;
}
.search__title--en {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  font-size: 0.875rem;
  text-transform: uppercase;
}
.search__title--en::before {
  content: "｜";
}
.search__box {
  margin-top: 8px;
  display: flex;
  align-items: center;
}
.search__input {
  color: #000;
  width: 240px;
  background: #FAF6F6;
  border-radius: 16px;
  padding: 6px 30px 6px 16px;
  line-height: 1;
}
.search__input:focus {
  outline-color: #8E2921;
}
.search__input::-moz-placeholder {
  color: #E3C9C7;
}
.search__input::placeholder {
  color: #E3C9C7;
}
.search__input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
.search__submit {
  margin-left: -28px;
}
@media screen and (max-width: 767px) {
  .search {
    order: 1;
    margin: 16px 16px 0;
  }
  .search__title {
    color: #8E2921;
  }
  .search__input {
    font-size: 1rem;
    font-weight: 500;
    width: 100%;
    padding: 10px 30px 10px 16px;
    border-radius: 20px;
    outline: solid 1px #8E2921;
    outline-offset: 0;
  }
  .search__input::-moz-placeholder {
    font-size: 1rem;
    font-weight: 500;
  }
  .search__input::placeholder {
    font-size: 1rem;
    font-weight: 500;
  }
  .search__submit {
    margin-left: -36px;
  }
}

.searched-keywords {
  margin-top: 16px;
}
.searched-keywords__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.8125rem;
  color: #EEDFDE;
}
.searched-keywords__title::before {
  content: url(../images/searchedkeywords-icon.svg);
  vertical-align: text-bottom;
  margin-right: 4px;
}
.searched-keywords__list {
  width: 240px;
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  margin-top: 10px;
  gap: 8px;
}
.searched-keywords__item {
  background: #EEDFDE;
  border-radius: 4px;
}
.searched-keywords__link {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 0.8125rem;
  color: #8E2921;
  display: inline-block;
  padding: 6px 10px;
  line-height: 1;
}
@media (hover: hover) {
  .searched-keywords__link:hover {
    opacity: 0.6;
    transition: all 0.3s ease;
  }
}
@media screen and (max-width: 767px) {
  .searched-keywords {
    order: 2;
    width: 100%;
    padding: 0 16px;
    margin: 10px 0 0 0;
  }
  .searched-keywords__title {
    color: #8E2921;
    line-height: 1;
  }
  .searched-keywords__title::before {
    content: url(../images/searchedkeywords-icon_sp.svg);
  }
  .searched-keywords__list {
    width: 100%;
    margin-top: 8px;
    padding: 0 5px;
    gap: 5px;
  }
  .searched-keywords__link {
    font-size: 0.75rem;
  }
}

.language {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.875rem;
  margin: 40px 0;
  position: relative;
  width: 240px;
  height: 32px;
  text-align: center;
}
.language__list,
.language .gt_selector {
  width: 100%;
  height: 100%;
  border: 1px solid #FAF6F6;
  border-radius: 16px;
  outline: 0;
  background-image: url("../images/language-icon.svg");
  background-repeat: no-repeat;
  background-size: 8px auto;
  background-position: right 16px center;
  cursor: pointer;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  font-size: 0.875rem;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  -webkit-appearance: none;
}
.language__list > option,
.language .gt_selector > option {
  color: #8E2921;
  background: #FAF6F6;
}
@media screen and (max-width: 767px) {
  .language {
    order: 3;
    width: 100%;
    padding: 0 16px;
    margin: 32px 0 0 0;
    height: 40px;
  }
  .language__list,
  .language .gt_selector {
    border-radius: 20px;
    border: none;
    background-color: #8E2921;
    font-size: 1rem;
  }
}

.gtranslate_wrapper {
  height: 100%;
}

@media screen and (max-width: 767px) {
  .menu__inner--lower {
    background: #8E2921;
    padding: 56px 0;
  }
}

.sns__list {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 0 16px;
}
.sns__item:last-child {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .sns__list {
    gap: 0 24px;
  }
}

.copyright {
  width: 240px;
  color: #EEDFDE;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 0.625rem;
  font-weight: 400;
  margin: 16px auto 0;
  text-align: center;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .copyright {
    margin: 4.2666666667vw auto 0;
  }
}

/* Chatbot button */
.chatbot-btn {
  position: absolute;
  bottom: 64px;
  right: 304px;
  z-index: 5;
}
.chatbot-btn__inner {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #FAF6F6;
  box-shadow: 3px 3px 6px 0 rgba(91, 91, 91, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: all 0.5s ease;
}
@media (hover: hover) {
  .chatbot-btn__inner:hover .chatbot-btn__button, .chatbot-btn__inner:hover .chatbot-btn__text {
    opacity: 0.6;
  }
}
.chatbot-btn__button {
  flex-shrink: 0;
}
.chatbot-btn__text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1rem;
  color: #8E2921;
  line-height: 1.5;
  white-space: nowrap;
  display: none;
  transform: translateX(-100%);
  transition: all 0.5s ease;
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .chatbot-btn {
    right: 26px;
    bottom: 40px;
    position: fixed;
    transition: bottom 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  }
  .chatbot-btn__inner {
    width: 60px;
    height: 60px;
  }
  .chatbot-btn__text {
    font-size: 0.875rem;
    line-height: 1.4285714286;
    margin-left: 11px;
  }
}

/* Chatbot */
.chatbot {
  width: 480px;
  height: 480px;
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s ease, transform 0.5s ease;
  background: #FAF6F6;
  border-radius: 8px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  color: #311C1C;
  position: absolute;
  right: 304px;
  bottom: 64px;
  box-shadow: 3px 3px 6px 0 rgba(91, 91, 91, 0.5);
  z-index: 5;
  overflow: hidden;
}
.chatbot__hidden {
  opacity: 0;
  transform: scale(0.8);
  visibility: hidden;
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.chatbot__header {
  position: relative;
  width: 100%;
}
.chatbot__title {
  color: #FAF6F6;
  background: #8E2921;
  font-size: 1rem;
  line-height: 48px;
  text-align: center;
}
.chatbot__title--en::before {
  content: "｜";
}
.chatbot__close-btn {
  width: 48px;
  height: 48px;
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.chatbot__body {
  height: calc(100% - 112px);
  padding: 24px 20px 0;
  overflow-y: auto;
}
.chatbot__chat {
  width: 100%;
  display: flex;
  margin-top: 16px;
}
.chatbot__chat--user {
  flex-direction: row-reverse;
}
.chatbot__icon {
  width: 36px;
  flex-shrink: 0;
}
.chatbot__bubble {
  color: #311C1C;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  background: #EEDFDE;
  padding: 8px 16px;
  border-radius: 4px;
}
.chatbot__bubble--bot {
  margin-left: 16px;
}
.chatbot__bubble--user {
  margin-right: 16px;
}
.chatbot__footer {
  width: 100%;
  padding: 16px;
  position: absolute;
  bottom: 0;
}
.chatbot__form {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.chatbot__input {
  width: 368px;
  padding: 4px 16px;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  border: 1px solid #D2A9A6;
  border-radius: 16px;
}
.chatbot__input:focus {
  outline-color: #8E2921;
}
.chatbot__input::-moz-placeholder {
  color: #EEDFDE;
}
.chatbot__input::placeholder {
  color: #EEDFDE;
}
.chatbot__submit, .chatbot__refresh {
  flex-shrink: 0;
  cursor: pointer;
}
@media screen and (max-width: 983px) {
  .chatbot {
    width: 416px;
  }
  .chatbot__input {
    width: 304px;
  }
}
@media screen and (max-width: 767px) {
  .chatbot {
    width: calc(100% - 48px);
    height: calc(100svh - 62px);
    top: 24px;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .chatbot__title {
    line-height: 48px;
  }
  .chatbot__input {
    width: 100%;
    font-size: 0.75rem;
    height: 32px;
  }
}

/* Emergency Information */
.emergency-info {
  width: 460px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1rem;
  position: absolute;
  left: 24px;
  bottom: 64px;
  z-index: 5;
}
.emergency-info__title {
  color: #FAF6F6;
  text-align: center;
  background: #8E2921;
  box-shadow: 3px 3px 6px 0 rgba(91, 91, 91, 0.5);
}
@media (hover: hover) {
  .emergency-info__title:hover {
    opacity: 0.6;
    transition: all 0.3s ease;
  }
}
.emergency-info__title--en::before {
  content: "｜";
}
.emergency-info__box {
  line-height: 48px;
  border-radius: 24px;
}
.emergency-info__link {
  display: block;
}
.emergency-info__item {
  background: #FAF6F6;
  padding: 0 24px;
  margin-top: 8px;
  box-shadow: 3px 3px 6px 0 rgba(91, 91, 91, 0.5);
}
.emergency-info__link--list {
  color: #311C1C;
  display: flex;
  justify-content: space-between;
}
@media (hover: hover) {
  .emergency-info__link--list:hover {
    opacity: 0.6;
    transition: all 0.3s ease;
  }
}
.emergency-info__time {
  width: 112px;
  margin-right: 24px;
}
.emergency-info__text {
  width: 276px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media screen and (max-width: 983px) {
  .emergency-info {
    width: 416px;
    font-size: 0.875rem;
    bottom: 128px;
  }
  .emergency-info__box {
    line-height: 46px;
  }
  .emergency-info__time {
    width: 100px;
    margin-right: 0;
  }
  .emergency-info__text {
    width: 252px;
    white-space: nowrap;
    overflow: hidden;
  }
}
@media screen and (max-width: 767px) {
  .emergency-info {
    width: 94.1690962099%;
    max-width: 400px;
    height: 172px;
    font-size: 0.8125rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  .emergency-info__item {
    padding: 0 20px;
  }
  .emergency-info__box {
    line-height: 37px;
  }
  .emergency-info__text {
    width: 70.8333333333%;
  }
}

/* Settings */
/* ============================================ */
/* Common */
/* ============================================ */
.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-bold {
  font-weight: 700;
}

.pdf-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  width: 100%;
  max-width: -moz-max-content;
  max-width: max-content;
}

/* PDF link */
.pdf-link {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  background: white;
  border-radius: 8px;
  text-decoration: none;
  width: 100%;
  max-width: 600px;
}
.pdf-link__icon {
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-shrink: 0;
}
.pdf-link__content {
  flex: 1;
  min-width: 0;
  color: #0765b8;
  overflow-wrap: anywhere;
}
.pdf-link__title {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.pdf-link__size {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

/* page height */
.sub {
  height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.content-wrap {
  flex: 1;
  margin-top: 108px;
}
@media screen and (max-width: 767px) {
  .content-wrap {
    margin-top: 88px;
  }
}

.link-hover-effect:hover {
  opacity: 0.6;
  text-decoration: underline;
}

/* header */
.header {
  width: 100%;
  height: 108px;
  background-color: #FAF6F6;
  position: fixed;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .header {
    height: 88px;
  }
}
.header__inner {
  width: 100%;
  padding: 0 32px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header__container--left {
  width: 408px;
  height: 88px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .header__container--left {
    width: 266px;
  }
}
@media screen and (max-width: 375px) {
  .header__container--left {
    width: 240px;
  }
}
.header__container--sub {
  width: 500px;
}
@media screen and (max-width: 767px) {
  .header__container--sub {
    width: 370px;
  }
}
.header__logo {
  position: relative;
  flex-shrink: 0;
}
.header__logo::after {
  content: url(../images/header_dot.svg);
  width: 2px;
  height: 66px;
  position: absolute;
  right: -24px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
@media screen and (max-width: 375px) {
  .header__logo::after {
    right: -16px;
  }
}
.header__town-admin {
  flex-shrink: 0;
}
.header__emigration {
  flex-shrink: 0;
}
@media screen and (max-width: 1090px) {
  .header__emigration img {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .header__emigration img {
    width: 70%;
  }
}
@media screen and (max-width: 375px) {
  .header__emigration img {
    width: 60%;
  }
}
.header__container--right {
  width: 509px;
  height: 56px;
}
@media screen and (max-width: 1090px) {
  .header__container--right {
    width: auto;
    height: auto;
  }
}
.header__menu {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
}
@media screen and (max-width: 1090px) {
  .header__inner {
    padding: 0 0 0 24px;
    position: relative;
  }
  .header__menu {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .header__inner {
    padding: 0 0 0 16px;
  }
}

.town-admin__image {
  width: 168px;
  height: auto;
}
@media screen and (max-width: 375px) {
  .town-admin__image {
    width: 158px;
  }
}

.menu__button {
  display: none;
}
.menu__button span {
  text-transform: uppercase;
}
.menu__block--pc {
  display: block;
  width: 509px;
  height: 56px;
}
.menu__block--pc .search__input--sub {
  width: 300px;
}
@media screen and (max-width: 1090px) {
  .menu__block--pc {
    display: none;
  }
}
.menu__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 1090px) {
  .menu__button {
    display: block;
  }
  .menu__block--lower {
    display: none;
    width: 360px;
    height: 100vh;
    background-color: #8E2921;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }
  .menu__inner {
    display: block;
    width: 296px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  .menu__item--sub {
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 1090px) and (max-width: 767px) {
  .menu__block--lower {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .menu__block--lower {
    width: 100%;
  }
  .menu__inner {
    width: 82.9333333333%;
    max-width: 400px;
  }
}

.item__title {
  color: #311C1C;
}

.font-size__list {
  width: 214px;
  height: 26px;
  display: flex;
  justify-content: space-between;
  gap: 5px;
}
.font-size__item {
  width: 68px;
  line-height: 26px;
  text-align: center;
  border-radius: 3px;
  color: #8E2921;
  background-color: #C69490;
}
@media (min-width: 1091px) and (hover: hover) {
  .font-size__item:hover {
    color: #FAF6F6;
    background-color: #8E2921;
    transition: all 0.3s ease;
  }
}
@media (min-width: 768px) and (max-width: 1090px) and (hover: hover) {
  .font-size__item:hover {
    background-color: #FAF6F6;
    transition: all 0.3s ease;
  }
}
.font-size__item--active {
  color: #FAF6F6;
  background: #8E2921;
}

.background-color__list {
  width: 119px;
  display: flex;
  display: flex;
  justify-content: space-between;
  gap: 5px;
}
.background-color__item {
  width: 26px;
  line-height: 26px;
  text-align: center;
  border-radius: 3px;
  color: #8E2921;
  background: #C69490;
}
@media (min-width: 1091px) and (hover: hover) {
  .background-color__item:hover {
    color: #FAF6F6;
    background-color: #8E2921;
    transition: all 0.3s ease;
  }
}
@media (min-width: 768px) and (max-width: 1090px) and (hover: hover) {
  .background-color__item:hover {
    background-color: #FAF6F6;
    transition: all 0.3s ease;
  }
}
.background-color__item--active {
  color: #FAF6F6;
  background: #8E2921;
}

.search--sub {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .search--sub {
    margin: 0;
  }
}
.search__title--sub {
  color: #8E2921;
}
.search__input--sub {
  width: 100%;
  border-radius: 20px;
  border: 1px solid #8E2921;
  color: #8E2921;
}
@media screen and (max-width: 1090px) {
  .search__title--sub {
    color: #FAF6F6;
    line-height: 1;
  }
  .search__box--sub {
    margin-top: 10px;
  }
}

.language--sub {
  width: 177px;
  height: 34px;
  margin: 0;
}
.language__title {
  color: #8E2921;
  font-weight: 700;
  text-align: left;
  margin-bottom: 8px;
}
.language__list {
  color: #FAF6F6;
  background-color: #8E2921;
  border-radius: 20px;
}
.language .gt_selector {
  color: #FAF6F6;
  background-color: #8E2921;
  border-radius: 20px;
}
.language .gtranslate_wrapper {
  height: 34px;
}
@media screen and (max-width: 1090px) {
  .language--sub {
    width: 100%;
  }
  .language__title {
    color: #FAF6F6;
  }
}
@media screen and (max-width: 767px) {
  .language--sub {
    padding: 0;
  }
  .language--sub .language__list {
    border: 1px solid #FAF6F6;
  }
  .language--sub .gt_selector {
    border: 1px solid #FAF6F6;
  }
}

/* footer */
.footer {
  width: 100%;
  height: 100%;
  padding: 56px;
  background-color: #8E2921;
}
@media screen and (max-width: 1090px) {
  .footer {
    position: relative;
    padding: 40px;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 40px 24px;
  }
}
.footer__inner {
  width: 100%;
  height: 167px;
  color: #FAF6F6;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
@media screen and (max-width: 1090px) {
  .footer__inner {
    height: 169px;
    align-items: flex-start;
    margin-bottom: 104px;
  }
}
@media screen and (max-width: 767px) {
  .footer__inner {
    flex-flow: column;
    height: 100%;
    gap: 32px;
    margin-bottom: 94px;
  }
}
.footer__container--left {
  width: 245px;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  flex-shrink: 0;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .footer__container--left {
    width: 180px;
    height: auto;
  }
}
.footer__container--right {
  width: 628px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 1090px) {
  .footer__container--right {
    flex-direction: row-reverse;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .footer__container--right {
    display: block;
  }
}
@media screen and (max-width: 1090px) {
  .footer__logo {
    width: 180px;
  }
}
.footer__copyright {
  color: #FAF6F6;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  font-size: 0.625rem;
}
@media screen and (max-width: 1090px) {
  .footer__copyright {
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    width: 100%;
    text-align: center;
    line-height: 1;
    position: absolute;
    left: 0;
    bottom: 40px;
  }
}
.footer__info {
  width: 400px;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .footer__info {
    width: 100%;
  }
}
.footer__menu {
  width: 200px;
  height: 140px;
}

address > span {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  display: block;
}

.address__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1;
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .biz-hour {
    font-size: 0.625rem;
    line-height: 2.2;
  }
}

@media (min-width: 768px) {
  .tel__link--footer {
    pointer-events: none;
  }
}

.sns--sub {
  width: 380px;
  height: 29px;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .sns--sub {
    width: 100%;
  }
}
.sns__list--sub {
  display: flex;
  flex-flow: row nowrap;
  gap: 16px;
}

@media screen and (max-width: 1090px) {
  .footer__menu {
    display: none;
  }
}
.footer__menu--md {
  display: none;
}
@media screen and (max-width: 1090px) {
  .footer__menu--md {
    width: calc(100% - 80px);
    display: block;
    position: absolute;
    left: 40px;
    bottom: 40px;
  }
  .footer__menu--md .footer-menu__list--sub {
    flex-direction: row;
  }
}
@media screen and (max-width: 767px) {
  .footer__menu--md {
    width: 100%;
    left: 24px;
    bottom: 122px;
    position: static;
  }
  .footer__menu--md .footer-menu__list--sub {
    flex-direction: column;
    gap: 16px;
  }
  .footer__menu--md .footer-menu__item--sub {
    width: 100%;
  }
}

.footer-menu__list--sub {
  width: 100%;
  height: 100%;
  color: #8E2921;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 0.875rem;
  text-align: center;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
}
.footer-menu__item--sub {
  width: 200px;
  height: 40px;
  line-height: 40px;
  background-color: #FAF6F6;
  border-radius: 20px;
  background-image: url(../images/footer-menu__arrow.svg);
  background-repeat: no-repeat;
  background-size: 7px auto;
  background-position: right 16px center;
}
@media (hover: hover) {
  .footer-menu__item--sub:hover {
    color: #FAF6F6;
    background-color: #8E2921;
    border: 1px solid #FAF6F6;
    background-image: url(../images/footer-menu__arrow--hover.svg);
    transition: all 0.3s ease;
  }
}
@media screen and (max-width: 1090px) {
  .footer-menu__item--sub {
    width: 32.2772277228%;
  }
}
.footer-menu__link--sub {
  display: block;
}

/* breadcrumb */
.breadcrumb__wrap {
  width: 100%;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .breadcrumb__wrap {
    margin-top: 24px;
  }
}

.breadcrumb {
  width: 100%;
  padding: 0 32px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    justify-content: flex-start;
    padding: 0 24px;
  }
}
.breadcrumb__list {
  display: flex;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .breadcrumb__list {
    flex-wrap: wrap;
  }
}
.breadcrumb__item {
  color: #8E2921;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.6875rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .breadcrumb__item {
    line-height: 1;
  }
}
.breadcrumb__item--active {
  color: #8E2921;
}
.breadcrumb__item:not(:last-child) {
  padding-right: 17px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .breadcrumb__item:not(:last-child) {
    padding-right: 15px;
  }
}
.breadcrumb__item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  height: 9px;
  background-image: url(../images/breadcrumb_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (hover: hover) {
  .breadcrumb__link:hover {
    color: #8E2921;
    transition: color 0.3s ease;
  }
}

/* page title */
.page-title--en {
  color: #C69490;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .page-title--en {
    font-size: 1rem;
  }
}
.page-title--jp {
  color: #8E2921;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1;
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .page-title--jp {
    font-size: 2rem;
  }
}
.page-title__description {
  color: #311C1C;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.75;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .page-title__description {
    font-size: 0.875rem;
    line-height: 1.5714285714;
  }
}

/* chatbot button */
.sub {
  position: relative;
}

#chatbot-btn--sub {
  position: fixed;
  right: 32px;
  bottom: 32px;
  width: 80px;
  height: 80px;
}
@media screen and (max-width: 767px) {
  #chatbot-btn--sub {
    width: 60px;
    height: 60px;
  }
}

/* chatbot */
/* Contact */
/* ============================================ */
/* layout */
.main--contact {
  width: 938px;
  margin: 97px auto 144px;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 1090px) {
  .main--contact {
    width: 100%;
    display: block;
    padding: 0 100px;
  }
}
@media screen and (max-width: 767px) {
  .main--contact {
    margin: 90px 0 108px;
    padding: 0 32px;
  }
}

.contact__container--left {
  width: 330px;
  height: 369px;
}
.contact__container--right {
  width: 568px;
  margin-top: 97px;
}
@media screen and (max-width: 1090px) {
  .contact__container--left {
    width: 100%;
    height: auto;
  }
  .contact__container--right {
    width: 100%;
    margin-top: 80px;
  }
}
.contact__hr {
  width: 330px;
  height: 1px;
  background-color: #C1BBBB;
  border: none;
  margin: 24px 0;
}
@media screen and (max-width: 1090px) {
  .contact__hr {
    width: 100%;
  }
}

/* contact info */
.contact-info {
  color: #311C1C;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .contact-info {
    font-size: 0.875rem;
    line-height: 1.5714285714;
  }
}
.contact-info__title {
  font-weight: 500;
}
.contact-info__row {
  display: flex;
}
.contact-info__label {
  width: 50px;
  flex-shrink: 0;
}
.contact-info__content {
  flex-grow: 1;
}

/* form */
.contact__form {
  width: 568px;
  color: #311C1C;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.3125;
  background-color: #FFF;
  border-radius: 16px;
  padding: 40px;
}
@media screen and (max-width: 1090px) {
  .contact__form {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .contact__form {
    font-size: 0.875rem;
    padding: 40px 24px;
  }
}

.form__item {
  width: 488px;
  margin-bottom: 24px;
}
@media screen and (max-width: 1090px) {
  .form__item {
    width: 100%;
  }
}
.form__item:nth-child(3) span, .form__item:nth-child(4) span, .form__item:nth-child(5) span, .form__item:nth-child(6) span {
  display: none;
}
.form__item:nth-last-child(2) {
  height: 193px;
}
.form__item:last-child {
  height: 101px;
  margin-bottom: 0;
}
@media screen and (max-width: 1090px) {
  .form__item:last-child {
    height: auto;
  }
}
.form__item input[type=text], .form__item input[type=email], .form__item input[type=tel], .form__item input[type=search], .form__item textarea {
  width: 488px;
  height: 36px;
  background-color: #FAF6F6;
  padding: 10px 16px;
  margin-top: 12px;
  border-radius: 8px;
}
@media screen and (max-width: 1090px) {
  .form__item input[type=text], .form__item input[type=email], .form__item input[type=tel], .form__item input[type=search], .form__item textarea {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .form__item input[type=text], .form__item input[type=email], .form__item input[type=tel], .form__item input[type=search], .form__item textarea {
    height: 34px;
  }
}
.form__item textarea {
  width: 488px;
  height: 160px;
  line-height: 1.75;
  resize: none;
}
@media screen and (max-width: 1090px) {
  .form__item textarea {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .form__item textarea {
    line-height: 1.5714285714;
  }
}
.form__item input[type=text]::-moz-placeholder, .form__item input[type=email]::-moz-placeholder, .form__item input[type=tel]::-moz-placeholder, .form__item textarea::-moz-placeholder {
  color: #E3C9C7;
  font-weight: 400;
  line-height: 1;
}
.form__item input[type=text]::placeholder, .form__item input[type=email]::placeholder, .form__item input[type=tel]::placeholder, .form__item textarea::placeholder {
  color: #E3C9C7;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .form__item input[type=text]::-moz-placeholder, .form__item input[type=email]::-moz-placeholder, .form__item input[type=tel]::-moz-placeholder, .form__item textarea::-moz-placeholder {
    font-size: 0.875rem;
  }
  .form__item input[type=text]::placeholder, .form__item input[type=email]::placeholder, .form__item input[type=tel]::placeholder, .form__item textarea::placeholder {
    font-size: 0.875rem;
  }
}
.form__title {
  height: 21px;
  font-weight: 500;
  line-height: 1.3125;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .form__title {
    font-size: 0.875rem;
    line-height: 1;
  }
}
@media screen and (max-width: 1090px) {
  .form__title .name_kanji, .form__title .name_kana {
    font-size: 0.8125rem;
    line-height: 1.6153846154;
  }
}
@media screen and (max-width: 767px) {
  .form__title .name_kanji, .form__title .name_kana {
    font-size: 0.75rem;
    line-height: 1.1666666667;
  }
}
.form__title .hissu {
  width: 42px;
  height: 21px;
  color: #FAF6F6;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 21px;
  text-align: center;
  background-color: #8E2921;
  border-radius: 4px;
  margin-left: 8px;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .form__title .hissu {
    width: 40px;
    height: 20px;
    font-size: 0.75rem;
    line-height: 20px;
  }
}
.form__radio {
  width: 488px;
  height: 68px;
  margin-top: 12px;
  display: flex;
  flex-flow: row wrap;
  align-content: space-between;
  gap: 0 24px;
}
@media screen and (max-width: 1090px) {
  .form__radio {
    width: 100%;
    height: auto;
    gap: 10px 24px;
  }
}
.form__radio label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
@media screen and (max-width: 1090px) {
  .form__radio label {
    line-height: 1;
  }
}
.form__radio label:nth-child(odd) {
  width: 160px;
}
.form__radio label:nth-child(even) {
  width: 215px;
}
.form__radio input[type=radio] {
  width: 16px;
  height: 16px;
  border: 1px solid #C1BBBB;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  flex-shrink: 0;
}
@media screen and (max-width: 1090px) {
  .form__radio input[type=radio] {
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  .form__radio input[type=radio] {
    line-height: 1.1428571429;
  }
}
.form__radio input[type=radio]:checked::before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #C1BBBB;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.form__inner--lower {
  margin-top: 40px;
}
.form__error-msg {
  color: #8E2921;
  font-weight: 400;
  font-size: 0.75rem;
  margin-top: 5px;
  line-height: 1;
}

.radio__required {
  font-size: 0.8125rem;
}
@media screen and (max-width: 1090px) {
  .radio__required {
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  .radio__required {
    font-size: 0.75rem;
    line-height: 1.1666666667;
  }
}

.confirm-button input {
  width: 488px;
  height: 40px;
  color: #FAF6F6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1rem;
  background-color: #8E2921;
  background-image: url(../images/confirm_arrow.svg);
  background-repeat: no-repeat;
  background-size: 7px auto;
  background-position: right 16px center;
  border-radius: 20px;
  text-align: center;
  line-height: 40px;
}
@media (hover: hover) {
  .confirm-button input:hover {
    color: #8E2921;
    background-color: transparent;
    border: 1px solid #8E2921;
    background-image: url(../images/confirm_arrow--hover.svg);
    transition: all 0.3s ease;
  }
}
@media screen and (max-width: 1090px) {
  .confirm-button input {
    width: 100%;
  }
}

/* Confirm */
/* ============================================ */
/* confirmation form */
@media screen and (max-width: 767px) {
  .contact__form--confirm {
    padding: 40px 24px;
  }
}

.confirm__msg {
  line-height: 1.75;
  margin-left: -8px;
}
@media screen and (max-width: 1090px) {
  .confirm__msg {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .confirm__msg {
    font-size: 0.875rem;
    line-height: 1.5714285714;
  }
}
.confirm__br {
  display: block;
}
@media screen and (max-width: 767px) {
  .confirm__br {
    display: none;
  }
}
.confirm__item {
  line-height: 36px;
  margin-top: 4px;
}
@media screen and (max-width: 767px) {
  .confirm__item {
    line-height: 34px;
  }
}
.confirm__item--msg {
  padding: 10px 0;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .confirm__item--msg {
    line-height: 1.5714285714;
  }
}
.confirm__item--contact {
  height: 36px;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .confirm__item--contact {
    font-size: 1rem;
    line-height: 2.25;
  }
}
@media screen and (max-width: 767px) {
  .confirm__item--contact .radio__required {
    font-size: 0.8125rem;
    line-height: 1.2307692308;
  }
}

.contact__hr--confirm {
  width: 100%;
  margin: 24px 0 40px -8px;
}
@media screen and (max-width: 1090px) {
  .contact__hr--confirm {
    margin: 24px 0 40px 0px;
  }
}

.form__item--confirm {
  margin-bottom: 32px;
}

#confirm .form__item:nth-last-child(2),
#page-confirm .form__item:nth-last-child(2) {
  height: auto;
}

#confirm .form__item:last-child,
#page-confirm .form__item:last-child {
  height: auto;
}

.form__radio--confirm {
  height: 36px;
  margin-top: 4px;
  display: block;
}

@media screen and (max-width: 1090px) {
  #confirm .confirm-button,
  #page-confirm .confirm-button {
    width: calc(50% - 12px);
  }
}
@media screen and (max-width: 767px) {
  #confirm .confirm-button,
  #page-confirm .confirm-button {
    width: calc(50% - 8px);
  }
}
#confirm .confirm-button input,
#page-confirm .confirm-button input {
  width: 232px;
}
@media screen and (max-width: 1090px) {
  #confirm .confirm-button input,
  #page-confirm .confirm-button input {
    width: 100%;
  }
}

#confirm .form__inner--lower,
#page-confirm .form__inner--lower {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1090px) {
  #confirm .form__inner--lower,
  #page-confirm .form__inner--lower {
    gap: 24px;
  }
}
@media screen and (max-width: 767px) {
  #confirm .form__inner--lower,
  #page-confirm .form__inner--lower {
    gap: 16px;
  }
}

.confirm-button--back input {
  background-position: left 16px center;
  background-image: url(../images/confirm_arrow--back.svg);
}
@media (hover: hover) {
  .confirm-button--back input:hover {
    background-image: url(../images/confirm_arrow--back--hover.svg);
  }
}

/* Thanks */
/* ============================================ */
/* layout */
#page-thanks .content-wrap {
  position: relative;
}

.main--thanks {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
@media screen and (max-width: 1090px) {
  .main--thanks {
    width: 352px;
    margin: 97px auto 144px;
    position: static;
    transform: none;
    -webkit-transform: none;
    -ms-transform: none;
  }
}
@media screen and (max-width: 767px) {
  .main--thanks {
    margin: 105px auto 144px;
  }
}

.thanks__container {
  width: 352px;
  height: 208px;
  text-align: center;
}
.thanks__container .page-title--jp {
  margin-top: 0;
}

/* Container */
.thanks__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.thanks__container .page-title--jp {
  font-size: 2rem;
}
.thanks__container .page-title__description {
  margin-top: 40px;
}

.thanks__btn--top {
  width: 200px;
  height: 40px;
  color: #FAF6F6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 0.875rem;
  background-color: #8E2921;
  background-image: url(../images/confirm_arrow--back.svg);
  background-repeat: no-repeat;
  background-size: 7px auto;
  background-position: left 16px center;
  border-radius: 20px;
  text-align: center;
  line-height: 40px;
}
@media (hover: hover) {
  .thanks__btn--top:hover {
    color: #8E2921;
    background-color: transparent;
    border: 1px solid #8E2921;
    background-image: url(../images/confirm_arrow--back--hover.svg);
    transition: all 0.3s ease;
  }
}

/* Town-Admin */
/* ============================================ */
/* layout */
.main--town-admin {
  margin: 24px 0 0;
}
@media screen and (max-width: 767px) {
  .main--town-admin {
    margin: 24px 0 0;
  }
}

.contents__wrap--town-admin {
  padding: 80px 120px;
}
@media screen and (max-width: 1179px) {
  .contents__wrap--town-admin {
    padding: 64px 80px 80px;
  }
}
@media screen and (max-width: 767px) {
  .contents__wrap--town-admin {
    padding: 32px 24px 24px;
  }
}

/* Emergency Information */
.emergency-info--town-admin {
  background-color: #FF0000;
  margin-bottom: -24px;
}
@media screen and (max-width: 1179px) {
  .emergency-info--town-admin {
    margin-bottom: 56px;
  }
}
@media screen and (max-width: 767px) {
  .emergency-info--town-admin {
    margin-bottom: 0;
  }
}

.contents__wrap--town-admin {
  display: flex;
  justify-content: space-between;
  gap: 98px;
}
@media screen and (max-width: 1179px) {
  .contents__wrap--town-admin {
    flex-direction: column;
    gap: 32px;
  }
}
.contents__title--town-admin {
  width: 204px;
  color: #FFFFFF;
  flex-shrink: 0;
}
@media screen and (max-width: 1179px) {
  .contents__title--town-admin {
    width: 100%;
  }
}
@media screen and (max-width: 1179px) {
  .contents__title--town-admin .page-title {
    display: flex;
    align-items: flex-end;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .contents__title--town-admin .page-title {
    padding: 0 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
}
.contents__title--town-admin .page-title--en {
  color: #FFFFFF;
  font-size: 0.875rem;
}
.contents__title--town-admin .page-title--jp {
  color: #FFFFFF;
  font-size: 3.1875rem;
  margin-top: 4px;
}
@media screen and (max-width: 1179px) {
  .contents__title--town-admin .page-title--jp {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .contents__title--town-admin .page-title--jp {
    font-size: 2.8125rem;
  }
}
.contents__title--town-admin .page-title__more {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1rem;
  margin-top: 16px;
  padding-left: 36px;
  line-height: 26px;
  background-image: url(../images/town-admin__ei-arrow.svg);
  background-repeat: no-repeat;
  background-size: 26px auto;
  background-position: left 0 center;
}
.contents__info-list--town-admin {
  width: 75%;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  background-color: #FFFFFF;
  padding: 32px 40px;
}
@media screen and (max-width: 1179px) {
  .contents__info-list--town-admin {
    width: 100%;
    border-radius: 16px;
  }
}
@media screen and (max-width: 767px) {
  .contents__info-list--town-admin {
    border-radius: 0;
    padding: 20px 24px 30px;
    font-size: 0.875rem;
  }
}
.contents__info-list--town-admin .emergency-info__item {
  padding: 0 0 11.5px 0;
  margin: 0 0 11.5px;
  background-color: inherit;
  border-bottom: 1px solid #E0DDDD;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .contents__info-list--town-admin .emergency-info__item {
    padding: 0 0 15.5px;
    margin: 0 0 15.5px;
    flex-direction: column;
    gap: 2px;
  }
}
.contents__info-list--town-admin .emergency-info__item:last-child {
  margin: 0;
  padding: 0;
  border: none;
}
.contents__info-list--town-admin .emergency-info__time {
  width: 95px;
  color: #463333;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 22px;
  margin-right: 0;
  flex-shrink: 0;
}
.contents__info-list--town-admin .emergency-info__text {
  width: calc(100% - 111px);
  color: #0765b8;
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 22px;
  white-space: wrap;
  flex-shrink: 0;
}
@media (hover: hover) {
  .contents__info-list--town-admin .emergency-info__text:hover {
    opacity: 0.6;
    text-decoration: underline;
    transition: all ease;
  }
}
@media screen and (max-width: 767px) {
  .contents__info-list--town-admin .emergency-info__text {
    width: 100%;
    font-size: 0.875rem;
  }
}

/* Banners */
.banners--town-admin {
  margin: 80px 0 120px;
}
@media screen and (max-width: 1179px) {
  .banners--town-admin {
    margin: 40px 0 56px;
  }
}

/* News*/
.news--town-admin {
  background-color: #8E2921;
}
.news--town-admin .page-title--jp {
  font-size: 2.5rem;
}
.news--town-admin .contents__info-list--town-admin {
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  .news--town-admin .contents__info-list--town-admin {
    padding: 24px 24px 32px;
  }
}
.news--town-admin .emergency-info__item {
  justify-content: space-between;
  gap: 15px;
}
@media screen and (max-width: 767px) {
  .news--town-admin .emergency-info__item {
    padding: 0 0 16.5px;
    margin: 0 0 16.5px;
    position: relative;
    gap: 2px;
  }
}
.news--town-admin .emergency-info__text {
  width: calc(100% - 275px);
}
@media screen and (max-width: 767px) {
  .news--town-admin .emergency-info__text {
    width: 100%;
  }
}
.news__category {
  width: 150px;
  height: 20px;
  color: #8E2921;
  font-weight: 500;
  font-size: 0.6875rem;
  line-height: 20px;
  background-color: #F4EAE9;
  border-radius: 8px;
  text-align: center;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .news__category {
    position: absolute;
    top: 0;
    right: 0;
  }
}

.emergency-info__link--category {
  display: block;
}

/* Index*/
.index--town-admin {
  background-color: #F4EAE9;
}
@media screen and (max-width: 1179px) {
  .index--town-admin .contents__wrap--town-admin {
    padding: 80px;
    flex-direction: row;
    gap: 64px;
  }
}
@media screen and (max-width: 767px) {
  .index--town-admin .contents__wrap--town-admin {
    padding: 0;
    flex-direction: column-reverse;
    gap: 0;
  }
}
.index__sidebar {
  width: 180px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .index__sidebar {
    width: 100%;
    background-color: #FAF6F6;
    padding: 32px 24px 48px;
  }
}
@media screen and (max-width: 767px) {
  .index__sidebar {
    font-size: 1rem;
  }
}
.index__sidebar .part01__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .index__sidebar .part01__list {
    flex-direction: row;
    gap: 24px;
  }
}
@media screen and (max-width: 552px) {
  .index__sidebar .part01__list {
    flex-wrap: wrap;
    gap: 8px;
  }
}
.index__sidebar .part01__item {
  width: 100%;
  height: 52px;
  color: #FAF6F6;
  font-weight: 700;
  line-height: 52px;
  background-color: #8E2921;
  border-radius: 4px;
  padding: 0 16px;
  background-image: url(../images/town-admin_part01_arrow.svg);
  background-repeat: no-repeat;
  background-size: 7px auto;
  background-position: right 16px center;
}
@media (hover: hover) {
  .index__sidebar .part01__item:hover {
    color: #8E2921;
    border: 1px solid #8E2921;
    background-color: #FFFFFF;
    background-image: url(../images/town-admin_part01_arrow-hov.svg);
    transition: all 0.5s ease;
  }
}
@media screen and (max-width: 767px) {
  .index__sidebar .part01__item {
    width: calc((100% - 24px) / 2);
  }
}
@media screen and (max-width: 552px) {
  .index__sidebar .part01__item {
    width: 100%;
  }
}
.index__sidebar .part__link {
  display: block;
}
.index__sidebar .sidebar__part02 {
  margin-top: 24px;
}
.index__sidebar .sidebar__part02 .part02__list {
  display: flex;
  flex-direction: column;
  gap: 19px;
}
@media screen and (max-width: 767px) {
  .index__sidebar .sidebar__part02 .part02__list {
    flex-flow: row wrap;
    justify-content: space-between;
    gap: 20px;
  }
}
.index__sidebar .sidebar__part02 .part02__item {
  border-bottom: 2px dotted #D2A9A6;
}
@media screen and (max-width: 767px) {
  .index__sidebar .sidebar__part02 .part02__item {
    width: calc((100% - 24px) / 2);
    min-width: 234px;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 552px) {
  .index__sidebar .sidebar__part02 .part02__item {
    width: 100%;
  }
}
.index__sidebar .sidebar__part02 .part02__item .part__link {
  color: #8E2921;
  padding: 0 16px 19px;
  background-image: url(../images/town-admin_part02_arrow.svg);
  background-repeat: no-repeat;
  background-size: 7px auto;
  background-position: right 16px top 2px;
  line-height: 1;
}
@media (hover: hover) {
  .index__sidebar .sidebar__part02 .part02__item .part__link:hover {
    opacity: 0.6;
    transition: opacity 0.5s ease;
  }
}
@media screen and (max-width: 767px) {
  .index__sidebar .sidebar__part02 .part02__item .part__link {
    padding: 0 16px 18px;
  }
}
.index__sidebar .sidebar__population-info {
  color: #311C1C;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .index__sidebar .sidebar__population-info {
    max-width: calc((100% - 20px) / 2);
  }
}
@media screen and (max-width: 552px) {
  .index__sidebar .sidebar__population-info {
    width: 100%;
    max-width: none;
  }
}
.index__sidebar .sidebar__population-info .population-info__title {
  width: 100%;
  height: 32px;
  color: #311C1C;
  font-weight: 700;
  font-size: 1rem;
  background-color: #E0DDDD;
  line-height: 32px;
  text-align: center;
}
.index__sidebar .sidebar__population-info .population-info__list {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .index__sidebar .sidebar__population-info .population-info__list .list__title {
    background-size: 30px auto;
  }
}
.index__sidebar .sidebar__population-info .population-info__list:first-of-type .list__title {
  background-image: url(../images/town-admin_pop01.svg);
}
.index__sidebar .sidebar__population-info .population-info__list:nth-of-type(2) .list__title {
  background-image: url(../images/town-admin_pop02.svg);
}
.index__sidebar .sidebar__population-info .population-info__list:nth-of-type(3) .list__title {
  background-image: url(../images/town-admin_pop03.svg);
}
.index__sidebar .sidebar__population-info .population-info__list:last-of-type .list__title {
  background-image: url(../images/town-admin_pop04.svg);
}
.index__sidebar .sidebar__population-info .list__wrap {
  padding: 12px 0;
  border-bottom: 1px solid #C1BBBB;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: space-between;
}
.index__sidebar .sidebar__population-info .list__title {
  width: 42.9411764706%;
  font-weight: 500;
  line-height: 1.4285714286;
  padding-left: 31px;
  background-repeat: no-repeat;
  background-size: 23px auto;
  background-position: left center;
}
@media screen and (max-width: 767px) {
  .index__sidebar .sidebar__population-info .list__title {
    line-height: 1.75;
  }
}
.index__sidebar .sidebar__population-info .list__data {
  width: 43.3333333333%;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .index__sidebar .sidebar__population-info .list__data {
    width: 40%;
    font-size: 1.75rem;
    text-align: center;
  }
}
.index__sidebar .sidebar__population-info .list__data > span {
  font-weight: 500;
  font-size: 0.75rem;
}
@media screen and (max-width: 767px) {
  .index__sidebar .sidebar__population-info .list__data > span {
    font-size: 0.8125rem;
    display: inline-block;
    margin-left: 4px;
  }
}
.index__sidebar .sidebar__population-info .list__notes {
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1;
  text-align: right;
  margin-top: 12px;
}
.index__sidebar .sidebar__ads {
  margin-top: 32px;
}
.index__sidebar .sidebar__ads .ad__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .index__sidebar .sidebar__ads .ad__list {
    flex-flow: row wrap;
    justify-content: flex-start;
  }
}
@media (hover: hover) {
  .index__sidebar .sidebar__ads .ad__item:hover {
    opacity: 0.6;
    transition: opacity 0.3s ease-in;
  }
}
.index__category {
  width: 75%;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  display: flex;
  flex-direction: column;
  gap: 64px;
}
@media screen and (max-width: 1179px) {
  .index__category {
    width: calc(100% - 244px);
    max-width: 640px;
  }
}
@media screen and (max-width: 767px) {
  .index__category {
    width: 100%;
    max-width: none;
    padding: 40px 24px 64px;
    gap: 40px;
  }
}
.index__category .category__row {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
@media screen and (max-width: 1179px) {
  .index__category .category__row {
    flex-direction: column;
    gap: 64px;
  }
}
@media screen and (max-width: 767px) {
  .index__category .category__row {
    gap: 40px;
  }
}
.index__category .category__row:first-of-type .category__box:first-of-type .category__title {
  background-image: url(../images/category-living-procedures.svg);
  background-size: 47.11px auto;
  background-position: left 16.52px center;
}
@media screen and (max-width: 1179px) {
  .index__category .category__row:first-of-type .category__box:first-of-type .category__title {
    background-size: 47px auto;
    background-position: left 12px center;
  }
}
@media screen and (max-width: 767px) {
  .index__category .category__row:first-of-type .category__box:first-of-type .category__title {
    background-size: 43.08px auto;
    background-position: left 11.46px center;
  }
}
.index__category .category__row:first-of-type .category__box:last-of-type .category__title {
  background-image: url(../images/category-health-welfare.svg);
  background-size: 66.98px auto;
  background-position: left 6.86px center;
}
@media screen and (max-width: 1179px) {
  .index__category .category__row:first-of-type .category__box:last-of-type .category__title {
    background-size: 65px auto;
    background-position: left 3px center;
  }
}
@media screen and (max-width: 767px) {
  .index__category .category__row:first-of-type .category__box:last-of-type .category__title {
    background-size: 59.58px auto;
    background-position: left 3.21px center;
  }
}
.index__category .category__row:nth-of-type(2) .category__box:first-of-type .category__title {
  background-image: url(../images/category-childcare-education.svg);
  background-size: 65.62px auto;
  background-position: left 7.19px center;
}
@media screen and (max-width: 1179px) {
  .index__category .category__row:nth-of-type(2) .category__box:first-of-type .category__title {
    background-size: 65px auto;
    background-position: left 3px center;
  }
}
@media screen and (max-width: 767px) {
  .index__category .category__row:nth-of-type(2) .category__box:first-of-type .category__title {
    background-size: 59.58px auto;
    background-position: left 3.21px center;
  }
}
.index__category .category__row:nth-of-type(2) .category__box:last-of-type .category__title {
  background-image: url(../images/category-culture-sports.svg);
  background-size: 71.82px auto;
  background-position: left 4.09px center;
}
@media screen and (max-width: 1179px) {
  .index__category .category__row:nth-of-type(2) .category__box:last-of-type .category__title {
    background-size: 68.58px auto;
    background-position: left 0.21px center;
  }
}
@media screen and (max-width: 767px) {
  .index__category .category__row:nth-of-type(2) .category__box:last-of-type .category__title {
    background-size: 63.25px auto;
    background-position: left 1.37 px center;
  }
}
.index__category .category__row:last-of-type .category__box:first-of-type .category__title {
  background-image: url(../images/category-tourism-industry.svg);
  background-size: 71.41px auto;
  background-position: left 4.26px center;
}
@media screen and (max-width: 1179px) {
  .index__category .category__row:last-of-type .category__box:first-of-type .category__title {
    background-size: 70px auto;
    background-position: left center;
  }
}
@media screen and (max-width: 767px) {
  .index__category .category__row:last-of-type .category__box:first-of-type .category__title {
    background-size: 64.24px auto;
    background-position: left 0.46px center;
  }
}
.index__category .category__row:last-of-type .category__box:last-of-type .category__title {
  background-image: url(../images/category-town-administration.svg);
  background-size: 67.3px auto;
  background-position: left 6.53px center;
}
@media screen and (max-width: 1179px) {
  .index__category .category__row:last-of-type .category__box:last-of-type .category__title {
    background-size: 65.04px auto;
    background-position: left 2.98px center;
  }
}
@media screen and (max-width: 767px) {
  .index__category .category__row:last-of-type .category__box:last-of-type .category__title {
    background-size: 60.5px auto;
    background-position: left 2.75px center;
  }
}
.index__category .category__box {
  color: #8E2921;
  width: 47.7777777778%;
  height: 100%;
}
@media screen and (max-width: 1179px) {
  .index__category .category__box {
    width: 100%;
  }
}
.index__category .category__box .list__box {
  width: 100%;
  height: calc(100% - 86px);
  margin-top: 16px;
  padding: 24px;
  background-color: #FFFFFF;
  border-radius: 16px;
  box-shadow: 2px 2px 6px 0 rgba(49, 28, 28, 0.1);
}
@media screen and (max-width: 1179px) {
  .index__category .category__box .list__box {
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .index__category .category__box .list__box {
    margin-top: 10px;
    padding: 20px;
  }
}
.index__category .category__title {
  width: 100%;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 2.9166666667;
  padding-left: 100px;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1179px) {
  .index__category .category__title {
    padding-left: 87px;
  }
}
@media screen and (max-width: 767px) {
  .index__category .category__title {
    font-size: 1.25rem;
  }
}
.index__category .category__title > h3 {
  line-height: 70px;
}
@media screen and (max-width: 1179px) {
  .index__category .category__title > h3 {
    line-height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .index__category .category__title > h3 {
    line-height: 56px;
  }
}
.index__category .category__list {
  display: flex;
  flex-flow: row wrap;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .index__category .category__list {
    gap: 10px;
  }
}
.index__category .category__item {
  font-weight: 500;
  font-size: 0.9375rem;
  color: #0765b8;
  background-color: #f3f2f2;
  padding: 0 12px;
  border-radius: 4px;
  line-height: 31px;
}
@media (hover: hover) {
  .index__category .category__item:hover {
    color: #FFFFFF;
    background-color: #8E2921;
    transition: all 0.5s ease;
  }
}
@media screen and (max-width: 767px) {
  .index__category .category__item {
    line-height: 30px;
  }
}
.index__category .category__item > a {
  display: block;
}

/* Links*/
.links--town-admin {
  background-color: #EEDFDE;
}
.links--town-admin .contents__wrap--town-admin {
  padding: 40px 120px;
}
@media screen and (max-width: 1179px) {
  .links--town-admin .contents__wrap--town-admin {
    padding: 40px 80px;
  }
}
@media screen and (max-width: 767px) {
  .links--town-admin .contents__wrap--town-admin {
    padding: 32px 24px;
  }
}

.link__list {
  width: 100%;
  display: flex;
  gap: 16px;
  justify-content: center;
}
@media screen and (max-width: 1179px) {
  .link__list {
    flex-wrap: wrap;
    max-width: 608px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .link__list {
    max-width: none;
    gap: 8px;
    justify-content: center;
  }
}
.link__item {
  background-color: #FFFFFF;
  padding: 8px;
}
@media (hover: hover) {
  .link__item:hover {
    opacity: 0.6;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (max-width: 1179px) {
  .link__item {
    width: 31.5789473684%;
  }
}
@media screen and (max-width: 767px) {
  .link__item {
    width: calc((100% - 8px) / 2);
    max-width: 200px;
  }
}
.link__item > a > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

/* Instagram*/
.instagram--town-admin .page-title--en {
  color: #C69490;
}
.instagram--town-admin .page-title--jp {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  font-size: 2.5rem;
  color: #8E2921;
}
.instagram--town-admin .contents__wrap--town-admin {
  padding: 120px 120px 0;
}
@media screen and (max-width: 1179px) {
  .instagram--town-admin .contents__wrap--town-admin {
    padding: 64px 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .instagram--town-admin .contents__wrap--town-admin {
    padding: 40px 24px 0;
  }
}
.instagram__block--left {
  width: 215px;
}
@media screen and (max-width: 1179px) {
  .instagram__block--left {
    width: 100%;
    display: flex;
    align-items: flex-end;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .instagram__block--left {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
@media screen and (max-width: 1179px) {
  .instagram__block--left .contents__title--town-admin {
    width: 215px;
  }
}
.instagram__block--left .page-title {
  width: 215px;
}
.instagram__account {
  height: 48px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1;
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
}
@media (hover: hover) {
  .instagram__account:hover {
    opacity: 0.6;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (max-width: 1179px) {
  .instagram__account {
    width: 170px;
    margin-top: 0;
  }
}
.instagram__logo {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
}
.instagram__name {
  color: #311C1C;
}
.instagram__username {
  color: #988D8D;
}
.instagram__block--right {
  width: 75%;
}
@media screen and (max-width: 1179px) {
  .instagram__block--right {
    width: 100%;
  }
}

.post__list {
  width: 100%;
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .post__list {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 9px;
  }
}
@media screen and (max-width: 552px) {
  .post__list {
    justify-content: center;
  }
}
.post__item {
  width: 23.6666666667%;
  border-radius: 8px;
}
@media (hover: hover) {
  .post__item:hover {
    opacity: 0.6;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (max-width: 552px) {
  .post__item {
    width: calc((100% - 9px) / 2);
  }
}

/* CategoryList */
/* ============================================ */
/* layout */
#category-list .content-wrap {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.main--category-list {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.category-list__container {
  width: 100%;
  margin: 64px auto 40px;
  padding: 0 120px 0;
}
@media screen and (max-width: 1090px) {
  .category-list__container {
    width: 100%;
    margin: 50px auto 32px;
    padding: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .category-list__container {
    margin: 50px auto 32px;
    padding: 0 24px;
  }
}
.category-list__header {
  display: flex;
  gap: 16px;
  height: 60px;
  max-width: 1200px;
  margin: 0 auto;
}
.category-list__header .page-sub-title {
  font-size: 14px;
  line-height: 14px;
  color: #8E2921;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .category-list__header .page-sub-title {
    font-size: 13px;
    line-height: 13px;
  }
}
.category-list__header .page-title {
  display: flex;
  gap: 6px;
  flex-direction: column;
}
.category-list__header .page-title--jp {
  font-size: 40px;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .category-list__header .page-title--jp {
    font-size: 32px;
  }
}
@media screen and (max-width: 375px) {
  .category-list__header .page-title--jp {
    font-size: 24px;
  }
}
.category-list__sub-container {
  background: #F4EAE9;
  width: 100%;
  padding: 80px 120px 144px;
  flex: 1;
}
@media screen and (max-width: 1090px) {
  .category-list__sub-container {
    width: 100%;
    padding: 80px 80px 144px;
  }
}
@media screen and (max-width: 767px) {
  .category-list__sub-container {
    padding: 40px 24px 108px;
  }
}
.category-list__grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(288px, 1fr));
  row-gap: 80px;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
@media screen and (max-width: 767px) {
  .category-list__grid {
    grid-template-columns: 1fr;
    row-gap: 48px;
  }
}
.category-list__group {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 16px;
}
.category-list__title {
  font-size: 20px;
  line-height: 20px;
  color: #8E2921;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .category-list__title {
    font-size: 18px;
  }
}
.category-list__card {
  flex: 1;
  background: #ffffff;
  border-radius: 16px;
  padding: 20px 16px;
  box-shadow: 2px 2px 6px 0px rgba(49, 28, 28, 0.1);
  transition: transform 0.2s ease-in-out;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
}
.category-list__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.category-list__item {
  color: #0765b8;
  font-size: 16px;
  line-height: 28px;
  font-weight: 500;
  padding-right: 8px;
  margin-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 767px) {
  .category-list__item {
    font-size: 14px;
  }
}
.category-list__item::before {
  content: "・";
  color: #311C1C;
  font-size: 16px;
}
.category-list__link {
  text-decoration: none;
  color: inherit;
}
.category-list__link:hover {
  text-decoration: underline;
}
.category-list__link:hover span {
  text-decoration: none;
}
.category-list__date {
  font-size: 12px;
  color: #988D8D;
  text-decoration: none;
}
.category-list__date:hover {
  text-decoration: none;
}
.category-list__btn {
  display: block;
  color: #FAF6F6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 14px;
  background-color: #8E2921;
  background-image: url(../images/confirm_arrow.svg);
  background-repeat: no-repeat;
  background-size: 7px auto;
  background-position: right 16px center;
  border-radius: 20px;
  text-align: center;
  padding: 8px 24px;
  height: 32px;
}
@media (hover: hover) {
  .category-list__btn:hover {
    color: #8E2921;
    background-color: transparent;
    border: 1px solid #8E2921;
    background-image: url(../images/confirm_arrow--hover.svg);
    transition: all 0.3s ease;
  }
}

/* SubCategory */
/* ============================================ */
/* layout */
.main--sub-category-list {
  background: #F4EAE9;
  margin: 64px auto 0;
  padding: 0 160px;
  width: 100%;
  flex: 1;
}
@media screen and (max-width: 1090px) {
  .main--sub-category-list {
    padding: 0;
  }
}

.sub-category-list__container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 64px 0 144px;
}
@media screen and (max-width: 1090px) {
  .sub-category-list__container {
    padding: 64px 80px 144px;
  }
}
@media screen and (max-width: 767px) {
  .sub-category-list__container {
    padding: 40px 24px 108px;
  }
}
.sub-category-list__container .page-title--jp {
  font-size: 32px;
  line-height: 32px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sub-category-list__container .page-title--jp {
    font-size: 24px;
  }
}
.sub-category-list__content {
  margin-top: 32px;
  background-color: #FAF6F6;
  border-radius: 16px;
  padding: 24px 16px 32px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1090px) {
  .sub-category-list__content {
    width: 100%;
    margin-top: 16px;
    padding: 24px 16px 40px;
  }
}
.sub-category-list__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sub-category-list__item {
  color: #0765b8;
  font-size: 16px;
  line-height: 28px;
  font-weight: 500;
  padding-left: 8px;
  padding-right: 8px;
  margin-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 767px) {
  .sub-category-list__item {
    font-size: 14px;
    padding-left: 8px;
  }
}
.sub-category-list__item::before {
  content: "・";
  color: #311C1C;
  font-size: 16px;
}
.sub-category-list__link {
  text-decoration: none;
  color: inherit;
}
.sub-category-list__link:hover {
  text-decoration: underline;
}
.sub-category-list__link:hover span {
  text-decoration: none;
}
.sub-category-list__date {
  font-size: 12px;
  color: #988D8D;
  text-decoration: none;
}
.sub-category-list__date:hover {
  text-decoration: none;
}
.sub-category-list__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  /* 「...」のデザイン */
}
.sub-category-list__pagination-list {
  display: flex;
  align-items: center;
  list-style: none;
  font-weight: 500;
}
.sub-category-list__pagination-item {
  margin: 0 4px;
}
.sub-category-list__pagination-item--active .sub-category-list__pagination-link {
  color: #8E2921;
  font-weight: 700;
}
.sub-category-list__pagination-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  color: #D2A9A6;
  text-decoration: none;
}
.sub-category-list__pagination-link:hover {
  color: #8E2921;
}
.sub-category-list__pagination-item.dots {
  pointer-events: none;
  color: #D2A9A6;
}
.sub-category-list__pagination ul {
  display: flex;
  align-items: center;
  list-style: none;
  font-weight: 500;
  padding-top: 24px;
  padding-bottom: 8px;
}

.prev.page-numbers,
.next.page-numbers,
.page-numbers.dots {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  color: #D2A9A6;
  text-decoration: none;
}
.prev.page-numbers:hover,
.next.page-numbers:hover,
.page-numbers.dots:hover {
  color: #8E2921;
}

.page-numbers.current div {
  color: #8E2921;
}

/* Post */
/* ============================================ */
/* layout */
.single-post__container {
  width: 938px;
  margin: 95px auto 144px;
}
@media screen and (max-width: 1090px) {
  .single-post__container {
    width: 100%;
    padding: 0 100px;
  }
}
@media screen and (max-width: 767px) {
  .single-post__container {
    padding: 0 32px;
  }
}
.single-post__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 25px;
}
@media screen and (max-width: 767px) {
  .single-post__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}
.single-post__header h2 {
  font-size: 32px;
  line-height: 40px;
  font-weight: 700;
  color: #311C1C;
  text-wrap: wrap;
}
@media screen and (max-width: 1090px) {
  .single-post__header h2 {
    font-size: 26px;
    line-height: 34px;
  }
}
@media screen and (max-width: 767px) {
  .single-post__header h2 {
    font-size: 22px;
    line-height: 30px;
  }
}
@media screen and (max-width: 375px) {
  .single-post__header h2 {
    font-size: 22px;
  }
}
.single-post__date {
  display: flex;
  align-items: center;
  font-size: 12px;
  min-width: 250px;
}
@media screen and (max-width: 1090px) {
  .single-post__date {
    flex-direction: column;
    align-items: flex-start;
    min-width: 110px;
  }
}
@media screen and (max-width: 767px) {
  .single-post__date {
    flex-direction: row;
    width: 100%;
    justify-content: flex-start;
  }
}
.single-post__date-item {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.single-post__date-label {
  margin-right: 5px;
}
.single-post__date-separator {
  width: 1px;
  height: 16px;
  background-color: #C1BBBB;
  margin: 0 10px;
}
@media screen and (max-width: 1090px) {
  .single-post__date-separator {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .single-post__date-separator {
    display: block;
  }
}
.single-post__divider {
  width: 100vw;
  height: 1px;
  background-color: #E0DDDD;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin: 24px 0 40px;
}
@media screen and (max-width: 1090px) {
  .single-post__divider {
    margin: 24px 0;
  }
}
.single-post__contact {
  background: #FAF6F6;
  border-radius: 8px;
  margin-top: 40px;
}
.single-post__contact-title {
  background: #8E2921;
  color: #FFFFFF;
  font-size: 18px;
  line-height: 18px;
  font-weight: 700;
  padding: 16px 32px;
  border-radius: 8px 8px 0 0;
}
@media screen and (max-width: 767px) {
  .single-post__contact-title {
    font-size: 16px;
  }
}
.single-post__contact-box {
  background: #FFFFFF;
  padding: 16px 32px 24px;
  border-radius: 0 0 8px 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .single-post__contact-box {
    padding: 16px 24px 24px;
  }
}
.single-post__contact-office-name {
  font-size: 16px;
  font-weight: 700;
  line-height: 28px;
}
@media screen and (max-width: 767px) {
  .single-post__contact-office-name {
    font-size: 14px;
    line-height: 22px;
  }
}
.single-post__contact-address {
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  color: #311C1C;
  line-height: 28px;
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .single-post__contact-address {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    font-size: 14px;
    line-height: 22px;
  }
}
.single-post__contact-info {
  display: flex;
  gap: 48px;
  align-items: center;
}
@media screen and (max-width: 1090px) {
  .single-post__contact-info {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
.single-post__contact-info-item {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 1090px) {
  .single-post__contact-info-item {
    align-items: center;
  }
}
.single-post__contact-label {
  background: #F4EAE9;
  color: #8E2921;
  font-weight: 500;
  font-size: 14px;
  line-height: 14px;
  padding: 8px 0;
  border-radius: 4px;
  text-align: center;
  display: inline-block;
  width: 68px;
}
.single-post__contact-content {
  font-size: 16px;
  line-height: 1em;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 1090px) {
  .single-post__contact-content {
    flex: 1;
  }
}

.post__section {
  /* File Icons */
  /* その他のファイル用デフォルトアイコン */
}
.post__section h2 {
  font-size: 32px;
  line-height: 40px;
  font-weight: 700;
  color: #311C1C;
  text-wrap: wrap;
}
@media screen and (max-width: 1090px) {
  .post__section h2 {
    font-size: 26px;
    line-height: 34px;
  }
}
@media screen and (max-width: 767px) {
  .post__section h2 {
    font-size: 22px;
    line-height: 30px;
  }
}
@media screen and (max-width: 375px) {
  .post__section h2 {
    font-size: 22px;
  }
}
.post__section h3 {
  background: #EEDFDE;
  border-radius: 8px;
  color: #8E2921;
  font-size: 24px;
  font-weight: 700;
  margin: 24px 0;
  padding: 10px 20px;
  text-wrap: wrap;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 1090px) {
  .post__section h3 {
    font-size: 20px;
    line-height: 26px;
  }
}
@media screen and (max-width: 767px) {
  .post__section h3 {
    font-size: 18px;
    line-height: 22px;
  }
}
.post__section h4 {
  font-size: 20px;
  line-height: 22px;
  font-weight: 700;
  color: #311C1C;
  margin-top: 24px;
  margin-bottom: 16px;
  display: flex;
  align-items: stretch;
  text-wrap: wrap;
  overflow-wrap: anywhere;
  gap: 8px;
}
@media screen and (max-width: 1090px) {
  .post__section h4 {
    font-size: 18px;
    line-height: 20px;
  }
}
@media screen and (max-width: 767px) {
  .post__section h4 {
    font-size: 16px;
    line-height: 22px;
  }
}
@media screen and (max-width: 375px) {
  .post__section h4 {
    line-height: 18px;
  }
}
.post__section h4::before {
  content: "";
  display: block;
  width: 8px;
  height: auto;
  background-color: #8E2921;
  border-radius: 4px;
  flex-shrink: 0;
}
.post__section h5 {
  font-size: 18px;
  line-height: 20px;
  font-weight: 700;
  color: #311C1C;
  margin-top: 24px;
  margin-bottom: 16px;
  display: flex;
  align-items: stretch;
  text-wrap: wrap;
  overflow-wrap: anywhere;
  gap: 8px;
}
@media screen and (max-width: 1090px) {
  .post__section h5 {
    font-size: 16px;
    line-height: 18px;
  }
}
@media screen and (max-width: 767px) {
  .post__section h5 {
    font-size: 14px;
    line-height: 20px;
  }
}
@media screen and (max-width: 375px) {
  .post__section h5 {
    line-height: 16px;
  }
}
.post__section h5::before {
  content: "";
  display: block;
  width: 8px;
  height: auto;
  background-color: #C69490;
  border-radius: 4px;
  flex-shrink: 0;
}
.post__section p, .post__section div {
  font-size: 16px;
  line-height: 28px;
  color: #311C1C;
  overflow-wrap: anywhere;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .post__section p, .post__section div {
    font-size: 14px;
    line-height: 22px;
  }
}
.post__section img {
  max-width: 600px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .post__section img {
    max-width: 100%;
  }
}
.post__section .wp-block-table td,
.post__section .wp-block-table th {
  padding: 13.5px;
  font-size: 16px;
  line-height: 1.6;
  vertical-align: middle;
  border: none;
  border-right: 1px solid #E3C9C7;
  border-bottom: 1px solid #E3C9C7;
}
.post__section .wp-block-table td:last-child,
.post__section .wp-block-table th:last-child {
  border-right: none;
}
.post__section table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: white;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #E3C9C7;
}
.post__section table th, .post__section table td {
  padding: 13.5px;
  font-size: 16px;
  line-height: 1.6;
  vertical-align: middle;
  border-right: 1px solid #E3C9C7;
  border-bottom: 1px solid #E3C9C7;
}
.post__section table th:last-child, .post__section table td:last-child {
  border-right: none;
}
.post__section table th {
  background-color: #F4EAE9;
  font-weight: 500;
  color: #8E2921;
  text-align: center;
}
.post__section table tr:last-child td {
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .post__section table th, .post__section table td {
    font-size: 14px;
    padding: 8px;
  }
}
.post__section ol,
.post__section ul {
  padding-left: 2em;
  font-size: 16px;
  line-height: 28px;
  color: #311C1C;
}
@media screen and (max-width: 767px) {
  .post__section ol,
  .post__section ul {
    font-size: 14px;
    line-height: 22px;
  }
}
.post__section ol {
  list-style: decimal;
}
.post__section ul {
  position: relative;
}
.post__section ul ::before {
  content: "•";
  position: absolute;
  left: 1em;
  color: #311C1C;
  font-size: 18px;
}
.post__section a {
  color: #0765b8;
  text-decoration: none;
}
.post__section a:hover {
  text-decoration: underline;
  opacity: 0.6;
}
.post__section a[href$=".pdf"] {
  background: url(../images/icons/pdf.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.post__section a[href$=".xls"] {
  background: url(../images/icons/xls.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.post__section a[href$=".xlsx"] {
  background: url(../images/icons/xlsx.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.post__section a[href$=".doc"] {
  background: url(../images/icons/doc.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.post__section a[href$=".docx"] {
  background: url(../images/icons/docx.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.post__section a[href$=".png"] {
  background: url(../images/icons/png.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.post__section a[href$=".jpg"],
.post__section a[href$=".jpeg"] {
  background: url(../images/icons/jpg.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.post__section a[href$=".zip"] {
  background: url(../images/icons/zip.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.post__section a[href$=".txt"],
.post__section a[href$=".csv"],
.post__section a[href$=".ppt"],
.post__section a[href$=".pptx"],
.post__section a[href$=".rar"],
.post__section a[href$=".7z"],
.post__section a[href$=".tar"],
.post__section a[href$=".gz"],
.post__section a[href$=".xml"],
.post__section a[href$=".json"],
.post__section a[href$=".mp4"],
.post__section a[href$=".avi"],
.post__section a[href$=".mov"],
.post__section a[href$=".mp3"],
.post__section a[href$=".wav"],
.post__section a[href$=".css"],
.post__section a[href$=".js"],
.post__section a[href$=".exe"],
.post__section a[href$=".dmg"],
.post__section a[href$=".iso"],
.post__section a[href$=".bin"] {
  background: url(../images/icons/file.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}

/* Evaluation */
/* ============================================ */
/* layout */
.evaluation__contact {
  background: #FAF6F6;
  border-radius: 8px;
  margin-top: 40px;
}
.evaluation__contact-box {
  background: #FFFFFF;
  padding: 16px 32px 24px;
  /* border-radius: 0 0 8px 8px; */
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.evaluation-good {
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .evaluation__contact-box {
    padding: 16px 24px 24px;
  }
}

/* Font Awesome のサムズアイコンをダークレッドに */
.fa-thumbs-up,
.fa-thumbs-down {
  color: #D2A9A6;
}

/* Organization */
/* ============================================ */
/* layout */
.organization__container {
  max-width: 1200px;
  margin: 98px auto 32px;
}
.organization__container .page-title {
  margin-top: 0;
}
@media screen and (max-width: 1439px) {
  .organization__container {
    width: 100%;
    padding: 0 120px;
  }
}
@media screen and (max-width: 1090px) {
  .organization__container {
    width: 100%;
    margin: 50px auto 32px;
    padding: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .organization__container {
    margin: 90px auto 29px;
    padding: 0 24px;
  }
}
.organization__sub-container {
  background: #F4EAE9;
  width: 100%;
}
@media screen and (max-width: 1090px) {
  .organization__sub-container {
    width: 100%;
  }
}
.organization__content {
  width: 100%;
  margin: 0 auto;
}
.organization__grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  padding: 56px 0 144px;
  grid-template-columns: repeat(auto-fit, minmax(288px, 1fr));
  gap: 40px;
}
@media screen and (max-width: 1439px) {
  .organization__grid {
    width: 100%;
    padding: 56px 120px 144px;
  }
}
@media screen and (max-width: 1090px) {
  .organization__grid {
    padding: 48px 80px 144px;
    gap: 32px;
  }
}
@media screen and (max-width: 767px) {
  .organization__grid {
    padding: 40px 24px 108px;
    gap: 24px;
  }
}
@media screen and (max-width: 375px) {
  .organization__grid {
    grid-template-columns: auto;
  }
}
.organization__card {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 2px 2px 6px 0px rgba(49, 28, 28, 0.1);
  transition: transform 0.2s ease-in-out;
}
.organization__card:hover {
  transform: translateY(-5px);
}
.organization__title {
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  color: #8E2921;
  margin-bottom: 12px;
}
.organization__description {
  font-size: 16px;
  line-height: 22px;
  color: #311C1C;
  margin-bottom: 16px;
}
.organization__contact {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 400;
  color: #311C1C;
}
.organization__tel-label {
  background: #F4EAE9;
  color: #8E2921;
  padding: 8px 0px;
  width: 68px;
  text-align: center;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
}

/* MayorOffice */
/* ============================================ */
/* layout */
.mayor-office__container {
  width: 938px;
  margin: 96px auto 144px;
}
@media screen and (max-width: 1090px) {
  .mayor-office__container {
    width: 100%;
    padding: 0 100px;
  }
}
@media screen and (max-width: 767px) {
  .mayor-office__container {
    padding: 0 32px;
    margin: 90px auto 108px;
  }
}
.mayor-office__content {
  margin-top: 32px;
}
.mayor-office__profile-group {
  display: flex;
  gap: 64px;
  align-items: flex-start;
}
@media screen and (max-width: 1090px) {
  .mayor-office__profile-group {
    flex-direction: column;
    flex-wrap: wrap;
    gap: 32px;
  }
}
@media screen and (max-width: 1090px) {
  .mayor-office__profile-group {
    gap: 24px;
  }
}
.mayor-office__profile-left {
  width: 350px;
  min-width: 250px;
  flex-shrink: 1;
}
@media screen and (max-width: 1090px) {
  .mayor-office__profile-left {
    flex: 1;
    display: flex;
    gap: 40px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .mayor-office__profile-left {
    width: 100%;
    max-width: none;
    flex: 0;
    gap: 24px;
  }
}
@media screen and (max-width: 593px) {
  .mayor-office__profile-left {
    flex-direction: column;
    width: 100%;
  }
}
.mayor-office__divider {
  display: none;
}
@media screen and (max-width: 593px) {
  .mayor-office__divider {
    display: block;
    width: 100%;
    height: 1px;
    background: #C1BBBB;
  }
}
.mayor-office__image img {
  max-width: 350px;
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 1090px) {
  .mayor-office__image img {
    max-width: 300px;
  }
}
@media screen and (max-width: 767px) {
  .mayor-office__image img {
    min-width: 250px;
  }
}
@media screen and (max-width: 593px) {
  .mayor-office__image img {
    max-width: none;
  }
}
.mayor-office__profile-right {
  flex: 2;
}
.mayor-office__info {
  margin-top: 24px;
}
@media screen and (max-width: 1090px) {
  .mayor-office__info {
    flex-shrink: 0;
  }
}
@media screen and (max-width: 593px) {
  .mayor-office__info {
    margin-top: 0px;
  }
}
.mayor-office__position {
  font-size: 12px;
  line-height: 12px;
  font-weight: 400;
  color: #311C1C;
}
.mayor-office__name {
  font-size: 22px;
  line-height: 22px;
  font-weight: 700;
  color: #311C1C;
  margin-top: 5px;
}
.mayor-office__profile-detail-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
}
.mayor-office__profile-detail {
  display: flex;
  font-size: 16px;
  line-height: 16px;
  color: #311C1C;
}
@media screen and (max-width: 767px) {
  .mayor-office__profile-detail {
    font-size: 14px;
    line-height: 14px;
  }
}
.mayor-office__profile-label {
  width: 100px;
}
.mayor-office__message {
  font-size: 16px;
  line-height: 28px;
  font-weight: 400;
  color: #311C1C;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 593px) {
  .mayor-office__message {
    font-size: 14px;
    line-height: 22px;
  }
}
.mayor-office__message-small {
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .mayor-office__message {
    line-height: 22px;
  }
}
.mayor-office__links {
  margin-top: 24px;
}
.mayor-office__links .pdf-link {
  background: #F4EAE9;
}
.mayor-office__links .post-link {
  color: #0765b8;
  margin-top: 8px;
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
.mayor-office__history-group {
  margin-top: 64px;
  background: #FFF;
  border-radius: 16px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media screen and (max-width: 767px) {
  .mayor-office__history-group {
    margin-top: 56px;
    padding: 24px;
  }
}
.mayor-office__history .section-title {
  font-size: 18px;
  font-weight: 700;
  color: #311C1C;
  margin-bottom: 16px;
  display: flex;
  align-items: stretch;
  text-wrap: wrap;
  overflow-wrap: anywhere;
  gap: 8px;
}
.mayor-office__history .section-title::before {
  content: "";
  display: block;
  width: 8px;
  height: auto;
  background-color: #8E2921;
  border-radius: 4px;
  flex-shrink: 0;
}
.mayor-office__history-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .mayor-office__history-list {
    gap: 20px;
  }
}
.mayor-office__history li {
  display: flex;
  align-items: flex-start;
  font-size: 16px;
  line-height: 16px;
}
@media screen and (max-width: 767px) {
  .mayor-office__history li {
    font-size: 14px;
    line-height: 14px;
  }
}
@media screen and (max-width: 540px) {
  .mayor-office__history li {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
}
.mayor-office__history .work-period {
  font-weight: 500;
  display: inline-block;
  margin-right: 8px;
}
.mayor-office__history .text-indent {
  text-indent: 1em;
}
@media screen and (max-width: 540px) {
  .mayor-office__history .xs-xsm-text-indent {
    text-indent: 1em;
  }
}
.mayor-office__history .display-flex {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Departments */
/* ============================================ */
/* layout */
.department-detail {
  padding: 90px 0 120px;
}
@media screen and (max-width: 1090px) {
  .department-detail {
    padding: 89px 0 64px;
    margin: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .department-detail {
    padding: 90px 0 64px;
    margin: 0 32px;
  }
}
.department-detail__container {
  width: 938px;
  margin: 0 auto;
}
@media screen and (max-width: 1090px) {
  .department-detail__container {
    width: 100%;
  }
}
.department-detail__title {
  font-size: 48px;
  font-weight: 700;
  color: #8E2921;
}
@media screen and (max-width: 767px) {
  .department-detail__title {
    font-size: 32px;
  }
}
.department-detail__sub-title {
  font-size: 16px;
  line-height: 22px;
  font-weight: 400;
  margin-top: 24px;
  color: #311C1C;
}
@media screen and (max-width: 767px) {
  .department-detail__sub-title {
    font-size: 14px;
    line-height: 20px;
  }
}
.department-detail__divider {
  width: 100vw;
  height: 1px;
  background-color: #E0DDDD;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin: 24px 0;
}
@media screen and (max-width: 767px) {
  .department-detail__divider {
    margin: 16px 0;
  }
}
.department-detail__contact {
  font-size: 16px;
  font-weight: 400;
  color: #311C1C;
  line-height: 28px;
}
@media screen and (max-width: 767px) {
  .department-detail__contact {
    font-size: 14px;
    line-height: 22px;
  }
}
.department-detail__info {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}
@media screen and (max-width: 1090px) {
  .department-detail__info {
    flex-direction: column;
    gap: 40px;
  }
}
.department-detail__contact {
  width: 330px;
}
.department-detail__business {
  flex: 1;
}
@media screen and (max-width: 1090px) {
  .department-detail__business {
    width: 100%;
  }
}
.department-detail__business {
  background: #FFF;
  padding: 32px;
  border-radius: 16px;
}
.department-detail__business-title {
  font-size: 20px;
  font-weight: bold;
  color: #311C1C;
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 22px;
}
@media screen and (max-width: 767px) {
  .department-detail__business-title {
    font-size: 18px;
    line-height: 18px;
  }
}
.department-detail__business-icon {
  display: inline-block;
  width: 8px;
  height: 22px;
  background-color: #8E2921;
  border-radius: 4px;
}
.department-detail__business-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
  padding-left: 16px;
}
.department-detail__business-section {
  background-color: #FFF;
  border-radius: 8px;
}
.department-detail__business-sub-title {
  font-size: 18px;
  font-weight: 700;
  color: #8E2921;
  margin-bottom: 8px;
}
.department-detail__business-list {
  list-style: none;
  padding-left: 16px;
}
.department-detail__business-list li {
  position: relative;
  font-size: 16px;
  line-height: 28px;
  font-weight: 400;
  color: #311C1C;
  padding: 0px 8px 0 10px;
}
.department-detail__business-list li::before {
  content: "•";
  position: absolute;
  left: -2px;
  color: #311C1C;
  font-size: 16px;
  width: 16px;
}

/* 課に紐づくカテゴリー */
.related-info {
  background-color: #F4EAE9;
  padding: 56px 0 144px;
}
@media screen and (max-width: 767px) {
  .related-info {
    padding: 40px 0 108px;
  }
}
.related-info__container {
  margin: 0 auto;
  padding: 0 120px;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1090px) {
  .related-info__container {
    padding: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .related-info__container {
    padding: 0 24px;
  }
}
.related-info__section {
  border-bottom: 1px solid #E3C9C7;
  padding-bottom: 48px;
  margin-bottom: 32px;
}
.related-info__section:last-child {
  padding-bottom: 0px;
  margin-bottom: 0px;
  border-bottom: none;
}
.related-info__section-header {
  display: flex;
  align-items: center;
  gap: 20px;
  height: 70px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .related-info__section-header {
    height: 56px;
  }
}
.related-info__title {
  font-size: 24px;
  line-height: 24px;
  font-weight: 700;
  color: #8E2921;
}
@media screen and (max-width: 767px) {
  .related-info__title {
    font-size: 20px;
    line-height: 20px;
  }
}
.related-info__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  align-items: stretch;
}
@media screen and (max-width: 1090px) {
  .related-info__cards {
    display: flex;
    flex-direction: column;
  }
}
.related-info__group {
  min-width: 280px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.related-info__group-title {
  font-size: 20px;
  line-height: 20px;
  font-weight: 700;
  color: #8E2921;
}
@media screen and (max-width: 767px) {
  .related-info__group-title {
    font-size: 18px;
    line-height: 18px;
  }
}
.related-info__card {
  flex: 1;
  flex-direction: column;
  margin-top: 16px;
  padding: 24px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.related-info__card-title {
  font-size: 18px;
  line-height: 20px;
  font-weight: bold;
  color: #311C1C;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .related-info__card-title {
    font-size: 16px;
    line-height: 18px;
  }
}
.related-info__card-title::before {
  content: "";
  width: 8px;
  height: 8px;
  font-size: 18px;
  line-height: 20px;
  margin-right: 8px;
  display: inline-block;
  background-color: #8E2921;
  border-radius: 50%;
}
.related-info__card__card-list {
  flex-grow: 1;
}
.related-info__card li {
  position: relative;
  padding-left: 16px;
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 8px;
  font-weight: 500;
  margin-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 767px) {
  .related-info__card li {
    font-size: 14px;
    line-height: 22px;
  }
}
.related-info__card li::before {
  content: "・";
  color: #311C1C;
  font-size: 16px;
}
.related-info__card li a {
  text-decoration: none;
  color: #0765b8;
  transition: color 0.3s ease-in-out;
}
.related-info__divider {
  width: 100%;
  border: none;
  height: 1px;
  background-color: #E0DDDD;
  margin: 24px 0;
}

/* DocumentDownloads */
/* ============================================ */
/* layout */
.document-downlods__container {
  width: 100%;
  margin: 97px auto 32px;
  padding: 0 120px 0;
}
@media screen and (max-width: 1090px) {
  .document-downlods__container {
    width: 100%;
    padding: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .document-downlods__container {
    margin: 90px auto 32px;
    padding: 0 24px;
  }
}
.document-downlods__container .page-title {
  margin-top: 0;
}
.document-downlods__header {
  max-width: 1200px;
  margin: 0 auto;
}
.document-downlods__sub-container {
  background: #F4EAE9;
  width: 100%;
  padding: 56px 120px 144px;
}
@media screen and (max-width: 1090px) {
  .document-downlods__sub-container {
    width: 100%;
    padding: 56px 80px 144px;
  }
}
@media screen and (max-width: 767px) {
  .document-downlods__sub-container {
    padding: 40px 24px 108px;
  }
}
.document-downlods__content {
  max-width: 1200px;
  margin: 0 auto 0;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1090px) {
  .document-downlods__content {
    width: 100%;
  }
}
.document-downlods__section {
  border-bottom: 1px solid #E3C9C7;
  padding-bottom: 48px;
  margin-bottom: 40px;
}
.document-downlods__section:last-child {
  border-bottom: none;
  padding-bottom: 0px;
  margin-bottom: 0px;
}
.document-downlods__section-header {
  display: flex;
  align-items: center;
  gap: 20px;
  height: 70px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .document-downlods__section-header {
    height: 56px;
  }
}
.document-downlods__section-title {
  font-size: 24px;
  color: #8E2921;
  font-weight: 700;
}
@media screen and (max-width: 1090px) {
  .document-downlods__section-title {
    font-size: 20px;
  }
}
.document-downlods__section-icon {
  height: 100%;
}
.document-downlods__subcategories {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  align-items: stretch;
}
@media screen and (max-width: 1090px) {
  .document-downlods__subcategories {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .document-downlods__subcategories {
    gap: 32px;
  }
}
.document-downlods__subcategory {
  display: flex;
  flex-direction: column;
}
.document-downlods__subcategory-title {
  font-size: 20px;
  font-weight: 700;
  color: #8E2921;
}
@media screen and (max-width: 1090px) {
  .document-downlods__subcategory-title {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .document-downlods__subcategory-title {
    font-size: 18px;
  }
}
.document-downlods__card {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  list-style: none;
  padding: 24px;
  margin-top: 16px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.document-downlods__card-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 20px;
  color: #311C1C;
  position: relative;
  padding-left: 16px;
}
.document-downlods__card-title::before {
  content: "";
  color: #8E2921;
  font-size: 14px;
  margin-right: 8px;
  position: absolute;
  top: 8px;
  left: 0;
  width: 8px;
  height: 8px;
  background-color: #8E2921;
  border-radius: 50%;
}
.document-downlods__list {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.document-downlods__item {
  font-size: 16px;
  line-height: 28px;
  color: #0765b8;
  font-weight: 500;
  position: relative;
  padding-left: 34px;
}
.document-downlods__item::before {
  position: absolute;
  content: "・";
  color: #311C1C;
  font-size: 16px;
  top: 0;
  left: 0;
  padding-left: 16px;
}
@media screen and (max-width: 767px) {
  .document-downlods__item {
    font-size: 14px;
  }
}
.document-downlods__item a {
  text-decoration: none;
  color: inherit;
}
.document-downlods__item a:hover {
  text-decoration: underline;
}

/* SiteMap */
/* ============================================ */
/* layout */
.sitemap__container {
  width: 100%;
  margin: 97px auto 32px;
  padding: 0 120px 0;
}
@media screen and (max-width: 1090px) {
  .sitemap__container {
    width: 100%;
    padding: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .sitemap__container {
    margin: 90px auto 32px;
    padding: 0 24px;
  }
}
.sitemap__container .page-title {
  margin-top: 0;
}
.sitemap__header {
  max-width: 1200px;
  margin: 0 auto;
}
.sitemap__sub-container {
  background: #F4EAE9;
  width: 100%;
  padding: 56px 120px 144px;
}
@media screen and (max-width: 1090px) {
  .sitemap__sub-container {
    width: 100%;
    padding: 56px 80px 144px;
  }
}
@media screen and (max-width: 767px) {
  .sitemap__sub-container {
    padding: 40px 24px 108px;
  }
}
.sitemap__content {
  max-width: 1200px;
  margin: 0 auto 0;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1090px) {
  .sitemap__content {
    width: 100%;
  }
}
.sitemap__section {
  border-bottom: 1px solid #E3C9C7;
  padding-bottom: 48px;
  margin-bottom: 40px;
}
.sitemap__section:last-child {
  border-bottom: none;
  padding-bottom: 0px;
  margin-bottom: 0px;
}
.sitemap__section-header {
  display: flex;
  align-items: center;
  gap: 20px;
  height: 70px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .sitemap__section-header {
    height: 56px;
  }
}
.sitemap__section-title {
  font-size: 24px;
  color: #8E2921;
  font-weight: 700;
}
@media screen and (max-width: 1090px) {
  .sitemap__section-title {
    font-size: 20px;
  }
}
.sitemap__section-icon {
  height: 100%;
}
.sitemap__subcategories {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  align-items: stretch;
}
@media screen and (max-width: 1090px) {
  .sitemap__subcategories {
    grid-template-columns: repeat(1, 1fr);
  }
}
.sitemap__subcategory {
  display: flex;
  flex-direction: column;
}
.sitemap__subcategory-title {
  font-size: 20px;
  font-weight: 500;
  color: #0765b8;
}
@media screen and (max-width: 1090px) {
  .sitemap__subcategory-title {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .sitemap__subcategory-title {
    font-size: 18px;
  }
}
.sitemap__list {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  list-style: none;
  padding: 19px 24px 11px;
  margin-top: 16px;
  flex-grow: 1;
}
.sitemap__item {
  display: flex;
  align-items: center;
  font-size: 16px;
  color: #0765b8;
  font-weight: 500;
  margin-bottom: 8px;
  position: relative;
  padding-left: 16px;
}
@media screen and (max-width: 767px) {
  .sitemap__item {
    font-size: 14px;
  }
}
.sitemap__item::before {
  content: "";
  color: #8E2921;
  font-size: 14px;
  margin-right: 8px;
  position: absolute;
  top: 8px;
  left: 0;
  width: 8px;
  height: 8px;
  background-color: #8E2921;
  border-radius: 50%;
}
.sitemap__item a {
  text-decoration: none;
  color: inherit;
}
.sitemap__item a:hover {
  text-decoration: underline;
}

/* Search */
/* ============================================ */
/* layout */
.main--search-results {
  display: flex;
  flex-direction: column;
  align-items: center; /* 左右中央 */
  min-height: calc(100vh - var(--header-height) - var(--footer-height));
}

.search-results__container {
  width: 938px;
  margin: 50px auto;
}
.search-results__container .page-title {
  margin-top: 0;
}
@media screen and (max-width: 1090px) {
  .search-results__container {
    width: 100%;
    margin: 50px auto 32px;
    padding: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .search-results__container {
    margin: 50px auto 32px;
    padding: 0 24px;
  }
}
.search-results__sub-container {
  background: #F4EAE9;
  width: 100%;
  padding-top: 48px;
}
.search-results__content {
  width: 938px;
  margin: 0 auto 0;
}
@media screen and (max-width: 1090px) {
  .search-results__content {
    width: 100%;
    padding: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .search-results__content {
    padding: 0 24px;
  }
}
.search-results__form {
  position: relative;
  width: 100%;
  height: 44px;
  padding: 0;
  border-radius: 22px;
  background-color: #FFF;
}
.search-results__submit {
  position: absolute;
  right: 5px;
}
.search-results__input {
  border-radius: 22px;
  color: #8E2921;
  font-weight: 500;
  width: 100%;
  height: 44px;
  padding: 12px 20px 13px;
}
.search-results__input:focus {
  outline-color: #8E2921;
}
.search-results__input::-moz-placeholder {
  color: #E3C9C7;
}
.search-results__input::placeholder {
  color: #E3C9C7;
}
.search-results__header {
  margin-top: 28px;
  display: flex;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .search-results__header {
    justify-content: space-between;
  }
}
.search-results__count {
  font-weight: bold;
  font-size: 24px;
  color: #311C1C;
}
@media screen and (max-width: 1090px) {
  .search-results__count {
    font-size: 20px;
  }
}
.search-results__sort {
  display: flex;
  align-items: center;
  gap: 16px;
}
.search-results__sort-label {
  font-size: 14px;
  font-weight: 500;
  color: #8E2921;
}
@media screen and (max-width: 1090px) {
  .search-results__sort-label {
    font-size: 12px;
  }
}
.search-results__sort-select {
  position: relative;
  font-weight: 500;
  width: 177px;
}
@media screen and (max-width: 767px) {
  .search-results__sort-select {
    max-width: 150px;
  }
}
.search-results__sort-dropdown {
  font-size: 14px;
  width: 177px;
  -moz-text-align-last: center;
       text-align-last: center; /* 選択したオプションを中央揃え */
  padding: 6px 12px;
  border: 1px solid #8E2921;
  border-radius: 20px;
  background-color: transparent;
  color: #8E2921;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
.search-results__sort-dropdown:focus {
  outline: none;
  border-color: #C69490;
}
@media screen and (max-width: 1090px) {
  .search-results__sort-dropdown {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .search-results__sort-dropdown {
    max-width: 150px;
  }
}
.search-results__sort-select::after {
  content: "▼";
  font-size: 12px;
  color: #8E2921;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.search-results__list-container {
  background-color: #FAF6F6;
  border-radius: 16px;
  padding: 32px 24px 32px 24px;
  margin: 32px auto 144px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
  width: 100%;
  max-width: 938px;
}
@media screen and (max-width: 767px) {
  .search-results__list-container {
    margin: 32px auto 108px;
  }
}
.search-results__list {
  display: flex;
  flex-direction: column;
}
.search-results__item {
  padding: 24px 0;
  display: flex;
  flex-direction: row; /* デフォルトは縦並び */
  flex-wrap: wrap;
  align-items: flex-end;
}
.search-results__item:not(:last-child) {
  border-bottom: 1px solid #E0DDDD;
}
.search-results__item:first-child {
  padding-top: 0px;
}
.search-results__item:last-child {
  padding-bottom: 0px;
}
.search-results__item-title {
  font-size: 18px;
  font-weight: 500;
  color: #0765b8;
  line-height: 20px;
  max-width: 70%;
  order: 0;
  flex: 1;
}
@media screen and (max-width: 1090px) {
  .search-results__item-title {
    font-size: 16px;
    max-width: 100%;
    margin-bottom: 8px;
  }
}
.search-results__item-title a {
  text-decoration: none;
  color: inherit;
}
.search-results__item-title a:hover {
  text-decoration: underline;
}
.search-results__item-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
  order: 1;
  width: 300px;
  /* タブレット・スマホサイズでは3行目に配置 */
}
@media screen and (max-width: 1090px) {
  .search-results__item-meta {
    order: 2;
    margin-top: 16px;
  }
}
.search-results__item-date {
  font-size: 14px;
  color: #988D8D;
}
.search-results__item-tag {
  background-color: #F4EAE9;
  color: #8E2921;
  font-size: 11px;
  padding: 4px 12px;
  border-radius: 13px;
  white-space: nowrap;
  text-align: center;
  min-width: 150px;
  max-width: 200px;
  white-space: normal;
}
.search-results__item-description {
  font-size: 16px;
  color: #333;
  line-height: 20px;
  margin-top: 10px;
  overflow: hidden;
  order: 2;
  width: 100%;
  /* タブレット・スマホサイズでは2行目に配置 */
}
@media screen and (max-width: 1090px) {
  .search-results__item-description {
    order: 1;
    font-size: 14px;
    width: auto;
  }
}
@media screen and (max-width: 1090px) {
  .search-results__list {
    flex-direction: column;
  }
  .search-results__item-title {
    order: 0;
  }
  .search-results__item-meta {
    flex: 2;
    justify-content: space-between;
  }
  .search-results__item-description {
    order: 1;
  }
}
.search-results__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  margin-top: 56px;
  padding-bottom: 8px;
  /* 「...」のデザイン */
}
@media screen and (max-width: 767px) {
  .search-results__pagination {
    margin-top: 40px;
  }
}
.search-results__pagination-list {
  display: flex;
  align-items: center;
  list-style: none;
  font-weight: 500;
}
.search-results__pagination-item {
  margin: 0 4px;
}
.search-results__pagination-item--active .search-results__pagination-link {
  color: #8E2921;
  font-weight: 700;
}
.search-results__pagination-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  color: #D2A9A6;
  text-decoration: none;
}
.search-results__pagination-link:hover {
  color: #8E2921;
}
.search-results__pagination-item.dots {
  pointer-events: none;
  color: #D2A9A6;
}

.search__box--alt {
  justify-content: space-between;
  margin-top: 0;
}

/* イベントカレンダー */
/* ============================================ */
/* layout */
.event-calendar__container {
  width: 938px;
  margin: 97px auto 144px;
}
@media screen and (max-width: 1090px) {
  .event-calendar__container {
    width: 100%;
    padding: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .event-calendar__container {
    padding: 0 24px;
    margin: 90px auto 108px;
  }
}
.event-calendar__content {
  margin-top: 64px;
}
.event-calendar__content-header, .event-calendar__content-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 16px;
  font-size: 18px;
  line-height: 18px;
  font-weight: bold;
  color: #8E2921; /* デザインの色に合わせて調整 */
}
@media screen and (max-width: 767px) {
  .event-calendar__content-header, .event-calendar__content-footer {
    flex-direction: row;
    justify-content: space-between;
    gap: 16px;
  }
}
.event-calendar__content-header .event-pagination, .event-calendar__content-footer .event-pagination {
  display: flex;
  align-items: center;
  gap: 16px; /* 前月・次月の間隔 */
  border: none;
  padding: 0;
  /* アイコンの追加 */
}
.event-calendar__content-header .event-pagination a, .event-calendar__content-footer .event-pagination a {
  font-size: 13px;
  font-weight: 400;
  color: #C69490; /* Figmaのデザインに合わせて変更 */
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color 0.3s ease;
}
.event-calendar__content-header .event-pagination a:hover, .event-calendar__content-footer .event-pagination a:hover {
  color: #8B0000; /* ホバー時の色変更 */
}
.event-calendar__content-header .event-pagination__item, .event-calendar__content-footer .event-pagination__item {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
.event-calendar__content-header .event-pagination .prev-link::before,
.event-calendar__content-header .event-pagination .next-link::after, .event-calendar__content-footer .event-pagination .prev-link::before,
.event-calendar__content-footer .event-pagination .next-link::after {
  display: inline-block; /* 矢印を flexbox の影響を受けやすくする */
  font-size: 10px;
  color: inherit;
}
.event-calendar__content-header .event-pagination .prev-link::before, .event-calendar__content-footer .event-pagination .prev-link::before {
  content: "＜"; /* 左矢印 */
}
.event-calendar__content-header .event-pagination .next-link::after, .event-calendar__content-footer .event-pagination .next-link::after {
  content: "＞"; /* 右矢印 */
}
.event-calendar__content-header .event-pagination, .event-calendar__content-footer .event-pagination {
  font-size: 13px;
  font-weight: 500;
  color: #E3C9C7;
}
.event-calendar__content-header .event-pagination__list, .event-calendar__content-footer .event-pagination__list {
  display: flex;
  gap: 48px;
  justify-content: space-between;
  align-items: center;
}
.event-calendar__content-footer {
  justify-content: flex-end;
}
.event-calendar__content .event-group {
  margin-bottom: 32px;
  background: #f9f9f9;
  border-radius: 8px;
  display: flex;
  overflow: hidden;
}
.event-calendar__content .event-group__date {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 94px;
  padding: 14px 24px;
  /* 曜日ごとの背景色と文字色 */
}
.event-calendar__content .event-group__date-group {
  display: flex;
  align-items: flex-end;
}
.event-calendar__content .event-group__date-number {
  font-size: 32px;
  font-weight: 700;
  line-height: 32px;
}
.event-calendar__content .event-group__date-suffix {
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
}
.event-calendar__content .event-group__date--sunday {
  background-color: #8E2921;
  color: #FFFFFF;
}
.event-calendar__content .event-group__date--saturday {
  background-color: #1D58B0;
  color: #FFFFFF;
}
.event-calendar__content .event-group__date--weekday {
  background-color: #EEDFDE;
  color: #8E2921;
}
.event-calendar__content .event-group__weekday {
  font-size: 14px;
  margin-top: 2px;
  font-weight: 700;
}
.event-calendar__content .event-group__items {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 18px 24px;
}
.event-calendar__content .event-item {
  display: flex;
  align-items: center;
  gap: 3px;
}
.event-calendar__content .event-item__time {
  font-size: 16px;
  color: #666;
  min-width: 60px;
}
.event-calendar__content .event-item__title {
  font-size: 16px;
  font-weight: 500;
  color: #0765b8;
}
.event-calendar__content .event-item::before {
  content: "・";
  color: #311C1C;
  font-size: 16px;
}

/* イベント詳細 */
/* ============================================ */
/* layout */
/* The Events Calendarのスタイル上書き */
#tribe-events-pg-template {
  width: 100%;
  display: flex;
  max-width: 100%;
  padding: 0;
}

.single-event__container {
  width: 938px;
  margin: 95px auto 144px;
}
@media screen and (max-width: 1090px) {
  .single-event__container {
    width: 100%;
    padding: 0 100px;
  }
}
@media screen and (max-width: 767px) {
  .single-event__container {
    padding: 0 32px;
    margin: 90px auto 108px;
  }
}
.single-event__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 25px;
}
@media screen and (max-width: 767px) {
  .single-event__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}
.single-event__header h2 {
  font-size: 32px;
  line-height: 40px;
  font-weight: 700;
  color: #311C1C;
  text-wrap: wrap;
}
@media screen and (max-width: 1090px) {
  .single-event__header h2 {
    font-size: 26px;
    line-height: 34px;
  }
}
@media screen and (max-width: 767px) {
  .single-event__header h2 {
    font-size: 22px;
    line-height: 30px;
  }
}
@media screen and (max-width: 375px) {
  .single-event__header h2 {
    font-size: 22px;
  }
}
.single-event__date {
  display: flex;
  align-items: center;
  font-size: 12px;
  min-width: 250px;
}
@media screen and (max-width: 1090px) {
  .single-event__date {
    flex-direction: column;
    align-items: flex-start;
    min-width: 110px;
  }
}
@media screen and (max-width: 767px) {
  .single-event__date {
    flex-direction: row;
    width: 100%;
    justify-content: flex-start;
  }
}
.single-event__date-item {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.single-event__date-label {
  margin-right: 5px;
}
.single-event__date-separator {
  width: 1px;
  height: 16px;
  background-color: #C1BBBB;
  margin: 0 10px;
}
@media screen and (max-width: 1090px) {
  .single-event__date-separator {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .single-event__date-separator {
    display: block;
  }
}
.single-event__divider {
  width: 100vw;
  height: 1px;
  background-color: #E0DDDD;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin: 24px 0 40px;
}
@media screen and (max-width: 1090px) {
  .single-event__divider {
    margin: 24px 0;
  }
}

.event__section {
  /* File Icons */
  /* その他のファイル用デフォルトアイコン */
}
.event__section h2 {
  font-size: 32px;
  line-height: 40px;
  font-weight: 700;
  color: #311C1C;
  text-wrap: wrap;
}
@media screen and (max-width: 1090px) {
  .event__section h2 {
    font-size: 26px;
    line-height: 34px;
  }
}
@media screen and (max-width: 767px) {
  .event__section h2 {
    font-size: 22px;
    line-height: 30px;
  }
}
@media screen and (max-width: 375px) {
  .event__section h2 {
    font-size: 22px;
  }
}
.event__section h3 {
  background: #EEDFDE;
  border-radius: 8px;
  color: #8E2921;
  font-size: 24px;
  font-weight: 700;
  margin: 24px 0;
  padding: 10px 20px;
  text-wrap: wrap;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 1090px) {
  .event__section h3 {
    font-size: 20px;
    line-height: 26px;
  }
}
@media screen and (max-width: 767px) {
  .event__section h3 {
    font-size: 18px;
    line-height: 22px;
  }
}
.event__section h4 {
  font-size: 20px;
  line-height: 22px;
  font-weight: 700;
  color: #311C1C;
  margin-top: 24px;
  margin-bottom: 16px;
  display: flex;
  align-items: stretch;
  text-wrap: wrap;
  overflow-wrap: anywhere;
  gap: 8px;
}
@media screen and (max-width: 1090px) {
  .event__section h4 {
    font-size: 18px;
    line-height: 20px;
  }
}
@media screen and (max-width: 767px) {
  .event__section h4 {
    font-size: 16px;
    line-height: 22px;
  }
}
@media screen and (max-width: 375px) {
  .event__section h4 {
    line-height: 18px;
  }
}
.event__section h4::before {
  content: "";
  display: block;
  width: 8px;
  height: auto;
  background-color: #8E2921;
  border-radius: 4px;
  flex-shrink: 0;
}
.event__section h5 {
  font-size: 18px;
  line-height: 20px;
  font-weight: 700;
  color: #311C1C;
  margin-top: 24px;
  margin-bottom: 16px;
  display: flex;
  align-items: stretch;
  text-wrap: wrap;
  overflow-wrap: anywhere;
  gap: 8px;
}
@media screen and (max-width: 1090px) {
  .event__section h5 {
    font-size: 16px;
    line-height: 18px;
  }
}
@media screen and (max-width: 767px) {
  .event__section h5 {
    font-size: 14px;
    line-height: 16px;
  }
}
@media screen and (max-width: 375px) {
  .event__section h5 {
    line-height: 15px;
  }
}
.event__section h5::before {
  content: "";
  display: block;
  width: 8px;
  height: auto;
  background-color: #C69490;
  border-radius: 4px;
  flex-shrink: 0;
}
.event__section p, .event__section div {
  font-size: 16px;
  line-height: 28px;
  color: #311C1C;
  overflow-wrap: anywhere;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .event__section p, .event__section div {
    font-size: 14px;
    line-height: 22px;
  }
}
.event__section img {
  max-width: 600px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .event__section img {
    max-width: 100%;
  }
}
.event__section table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: white;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #E3C9C7;
}
.event__section table th, .event__section table td {
  padding: 13.5px;
  font-size: 16px;
  line-height: 1.6;
  vertical-align: middle;
  border-right: 1px solid #E3C9C7;
  border-bottom: 1px solid #E3C9C7;
}
.event__section table th:last-child, .event__section table td:last-child {
  border-right: none;
}
.event__section table th {
  background-color: #F4EAE9;
  font-weight: 500;
  color: #8E2921;
  text-align: center;
}
.event__section table tr:last-child td {
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .event__section table th, .event__section table td {
    font-size: 14px;
    padding: 8px;
  }
}
.event__section ol,
.event__section ul {
  padding-left: 2em;
  font-size: 16px;
  line-height: 28px;
  color: #311C1C;
}
@media screen and (max-width: 767px) {
  .event__section ol,
  .event__section ul {
    font-size: 14px;
    line-height: 22px;
  }
}
.event__section ol {
  list-style: decimal;
}
.event__section ul {
  position: relative;
}
.event__section ul ::before {
  content: "•";
  position: absolute;
  left: 1em;
  color: #311C1C;
  font-size: 18px;
}
.event__section a {
  color: #0765b8;
  text-decoration: none;
}
.event__section a:hover {
  text-decoration: underline;
  opacity: 0.6;
}
.event__section a[href$=".pdf"], .event__section a[href$=".PDF"] {
  background: url(../images/icons/pdf.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.event__section a[href$=".xls"], .event__section a[href$=".XLS"] {
  background: url(../images/icons/xls.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.event__section a[href$=".xlsx"], .event__section a[href$=".XLSX"] {
  background: url(../images/icons/xlsx.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.event__section a[href$=".doc"], .event__section a[href$=".DOC"] {
  background: url(../images/icons/doc.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.event__section a[href$=".docx"], .event__section a[href$=".DOCX"] {
  background: url(../images/icons/docx.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.event__section a[href$=".png"], .event__section a[href$=".PNG"] {
  background: url(../images/icons/png.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.event__section a[href$=".jpg"],
.event__section a[href$=".jpeg"] {
  background: url(../images/icons/jpg.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.event__section a[href$=".zip"], .event__section a[href$=".ZIP"] {
  background: url(../images/icons/zip.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}
.event__section a[href$=".txt"],
.event__section a[href$=".csv"],
.event__section a[href$=".ppt"],
.event__section a[href$=".pptx"],
.event__section a[href$=".rar"],
.event__section a[href$=".7z"],
.event__section a[href$=".tar"],
.event__section a[href$=".gz"],
.event__section a[href$=".json"],
.event__section a[href$=".mp4"],
.event__section a[href$=".avi"],
.event__section a[href$=".mov"],
.event__section a[href$=".mp3"],
.event__section a[href$=".wav"],
.event__section a[href$=".css"],
.event__section a[href$=".js"],
.event__section a[href$=".exe"],
.event__section a[href$=".dmg"],
.event__section a[href$=".iso"],
.event__section a[href$=".bin"] {
  background: url(../images/icons/file.svg) no-repeat center left;
  margin: 0;
  padding: 2px 0 2px 32px;
  text-decoration: underline;
}

.event__overview {
  margin-top: 64px;
  padding: 48px;
  background: #FFF;
  border-radius: 8px;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 1090px) {
  .event__overview {
    margin-top: 48px;
    padding: 32px;
    gap: 32px;
  }
}
@media screen and (max-width: 767px) {
  .event__overview {
    flex-direction: column;
    gap: 24px;
  }
}
.event__overview-label {
  width: 200px;
}
@media screen and (max-width: 1090px) {
  .event__overview-label {
    width: 160px;
  }
}
.event__overview-label h4 {
  margin-top: 0;
  margin-bottom: 0;
  color: #8E2921;
}
.event__meta {
  border-left: 2px dotted #E0DDDD;
  padding-left: 40px;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .event__meta {
    border: none;
    padding-left: 0px;
  }
}
.event__meta-item {
  display: flex;
  flex-direction: column;
  gap: 32px;
  font-size: 16px;
  color: #311C1C;
  line-height: 16px;
}
@media screen and (max-width: 767px) {
  .event__meta-item {
    gap: 24px;
  }
}
.event__meta-label {
  font-weight: 500;
}

/* 404 page */
/* ============================================ */
/* layout */
.main--page-not-found {
  display: flex;
  flex-direction: column;
  justify-content: center; /* 上下中央 */
  align-items: center; /* 左右中央 */
  margin: 97px auto 144px;
}
@media screen and (max-width: 767px) {
  .main--page-not-found {
    margin: 90px auto 108px;
  }
}

.page-not-found__container {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
}
.page-not-found__container .page-title {
  margin-top: 0;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
.page-not-found__container .page-title--jp {
  font-size: 9.375rem;
  margin-top: -20px;
  line-height: 1;
}
.page-not-found__container .page-title--sub {
  color: #C69490;
  font-size: 30px;
}
.page-not-found__container .page-title__description {
  color: #311C1C;
  font-size: 24px;
  font-weight: 700;
  margin-top: 64px;
}
.page-not-found__container .page-title__message {
  margin-top: 24px;
  color: #311C1C;
  font-size: 14px;
  font-weight: 400;
}
.page-not-found__container .page-title__message br {
  display: none;
}
@media screen and (max-width: 767px) {
  .page-not-found__container .page-title--jp {
    font-size: 7.5rem;
  }
  .page-not-found__container .page-title--sub {
    font-size: 24px;
  }
  .page-not-found__container .page-title__description {
    font-size: 16px;
  }
  .page-not-found__container .page-title__message {
    margin-top: 16px;
    font-size: 13px;
    line-height: 20px;
  }
  .page-not-found__container .page-title__message br {
    display: inline;
  }
}
.page-not-found__btn--top {
  width: 200px;
  height: 40px;
  color: #FAF6F6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 0.875rem;
  background-color: #8E2921;
  background-image: url(../images/confirm_arrow--back.svg);
  background-repeat: no-repeat;
  background-size: 7px auto;
  background-position: left 16px center;
  border-radius: 20px;
  text-align: center;
  line-height: 40px;
}
@media (hover: hover) {
  .page-not-found__btn--top:hover {
    color: #8E2921;
    background-color: transparent;
    border: 1px solid #8E2921;
    background-image: url(../images/confirm_arrow--back--hover.svg);
    transition: all 0.3s ease;
  }
}

/* 移住・定住 */
/* ============================================ */
/* layout */
#page-emigration .main--emigration .hero--emigration .hero__image {
  height: calc(100vh - 108px - 48px);
  padding: 24px 32px;
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .hero--emigration .hero__image {
    height: calc(100vh - 108px - 32px);
    padding: 16px;
  }
}
#page-emigration .main--emigration .hero--emigration .hero__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
#page-emigration .main--emigration .about {
  background: #FAF6F6;
}
#page-emigration .main--emigration .about__container {
  padding: 120px;
}
@media screen and (max-width: 1090px) {
  #page-emigration .main--emigration .about__container {
    padding: 80px;
  }
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .about__container {
    padding: 80px 32px;
  }
}
#page-emigration .main--emigration .about__title {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .about__title {
    margin-bottom: 24px;
  }
}
#page-emigration .main--emigration .about__title-en {
  font-size: 14px;
  text-transform: uppercase;
  color: #C69490;
}
#page-emigration .main--emigration .about__title-jp {
  font-size: 40px;
  line-height: 40px;
  font-weight: 700;
  color: #8E2921;
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .about__title-jp {
    font-size: 32px;
    line-height: 32px;
  }
}
#page-emigration .main--emigration .about__description {
  font-size: 16px;
  font-weight: 400;
  color: #311C1C;
}
#page-emigration .main--emigration .about__content {
  margin-top: 45px;
  display: grid;
  grid-template-areas: "content-1 content-3" "content-2 content-3";
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto; /* 明示的に2行設定 */
  gap: 45px;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .about__content {
    display: flex;
    flex-direction: column;
  }
}
#page-emigration .main--emigration .about__description {
  grid-area: content-1;
}
#page-emigration .main--emigration .about__details {
  grid-area: content-2;
}
#page-emigration .main--emigration .about__map {
  grid-area: content-3;
  grid-row: span 2; /* 2行分の高さを確保 */
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .about__map img {
    width: 100%;
  }
}
#page-emigration .main--emigration .about__list {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  margin-bottom: 8px;
}
#page-emigration .main--emigration .about__list th, #page-emigration .main--emigration .about__list td {
  padding: 10px;
  border-bottom: 1px solid #ddd;
}
#page-emigration .main--emigration .about__list th {
  text-align: left;
  font-weight: 500;
  width: 150px;
}
#page-emigration .main--emigration .about__list td {
  text-align: left;
}
#page-emigration .main--emigration .about__annotation {
  text-align: right;
  font-size: 12px;
}
#page-emigration .main--emigration .about__buttons {
  margin: 80px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 70px;
}
@media screen and (max-width: 1090px) {
  #page-emigration .main--emigration .about__buttons {
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .about__buttons {
    flex-direction: column;
  }
}
#page-emigration .main--emigration .about__buttons .about__button {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 240px;
  width: 240px;
  padding: 15px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  border: 2px solid #8E2921;
  color: #8E2921;
  border-radius: 120px;
  transition: background 0.3s, color 0.3s;
}
#page-emigration .main--emigration .about__buttons .about__button:hover {
  background: #C69490;
  color: #fff;
}
@media screen and (max-width: 1090px) {
  #page-emigration .main--emigration .about__buttons .about__button {
    height: 180px;
    width: 180px;
    padding: 5px;
    font-size: 16px;
    border-radius: 90px;
  }
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .about__buttons .about__button {
    height: 240px;
    width: 240px;
    padding: 15px;
    font-size: 18px;
    border-radius: 120px;
  }
}
#page-emigration .main--emigration .news--emigration {
  background-color: #8E2921;
}
#page-emigration .main--emigration .news--emigration .contents__wrap--emigration {
  background: #8E2921;
  padding: 80px 120px;
  display: flex;
  justify-content: space-between;
  gap: 98px;
}
@media screen and (max-width: 1090px) {
  #page-emigration .main--emigration .news--emigration .contents__wrap--emigration {
    padding: 80px 80px;
    gap: 60px;
  }
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .news--emigration .contents__wrap--emigration {
    padding: 40px 24px;
    flex-direction: column;
    gap: 32px;
  }
}
#page-emigration .main--emigration .news--emigration .contents__title--emigration {
  width: 204px;
  color: #FFFFFF;
  flex-shrink: 0;
}
#page-emigration .main--emigration .news--emigration .page-title--jp {
  font-size: 2.5rem;
  font-weight: 700;
  color: #FAF6F6;
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .news--emigration .page-title--jp {
    font-size: 2rem;
  }
}
#page-emigration .main--emigration .news--emigration .contents__info-list--emigration {
  width: 75%;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  background-color: #FFFFFF;
  padding: 32px 40px;
  border-radius: 16px;
}
@media screen and (max-width: 1179px) {
  #page-emigration .main--emigration .news--emigration .contents__info-list--emigration {
    width: 100%;
    border-radius: 16px;
  }
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .news--emigration .contents__info-list--emigration {
    padding: 20px 24px 30px;
    font-size: 0.875rem;
  }
}
#page-emigration .main--emigration .news--emigration .emigration-info__item {
  padding: 0 0 11.5px 0;
  margin: 0 0 11.5px;
  background-color: inherit;
  border-bottom: 1px solid #E0DDDD;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .news--emigration .emigration-info__item {
    padding: 0 0 15.5px;
    margin: 0 0 15.5px;
    flex-direction: column;
    gap: 2px;
  }
}
#page-emigration .main--emigration .news--emigration .emigration-info__item:last-child {
  margin: 0;
  padding: 0;
  border: none;
}
#page-emigration .main--emigration .news--emigration .emigration-info__time {
  width: 95px;
  color: #463333;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 22px;
  margin-right: 0;
  flex-shrink: 0;
}
#page-emigration .main--emigration .news--emigration .emigration-info__text {
  width: calc(100% - 111px);
  color: #0765b8;
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 22px;
  white-space: wrap;
  flex-shrink: 0;
}
@media (hover: hover) {
  #page-emigration .main--emigration .news--emigration .emigration-info__text:hover {
    opacity: 0.6;
    text-decoration: underline;
    transition: all ease;
  }
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .news--emigration .emigration-info__text {
    width: 100%;
    font-size: 0.875rem;
  }
}
#page-emigration .main--emigration .support {
  margin-top: 120px;
}
@media screen and (max-width: 1090px) {
  #page-emigration .main--emigration .support {
    margin-top: 80px;
  }
}
#page-emigration .main--emigration .support .support__title {
  margin: 0 120px 24px;
}
@media screen and (max-width: 1090px) {
  #page-emigration .main--emigration .support .support__title {
    margin: 0 80px 24px;
  }
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .support .support__title {
    margin: 0 24px 24px;
  }
}
#page-emigration .main--emigration .support .support__title .support__title-en {
  font-size: 14px;
  text-transform: uppercase;
  color: #C69490;
}
#page-emigration .main--emigration .support .support__title .support__title-jp {
  font-size: 40px;
  line-height: 40px;
  font-weight: 700;
  color: #8E2921;
}
#page-emigration .main--emigration .support .support__grid {
  background: #F4EAE9;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 72px;
  padding: 80px 120px 120px;
}
@media screen and (max-width: 1090px) {
  #page-emigration .main--emigration .support .support__grid {
    grid-template-columns: repeat(1, 1fr);
    padding: 80px 80px;
  }
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .support .support__grid {
    padding: 64px 24px;
  }
}
#page-emigration .main--emigration .support .support__item {
  position: relative;
  background: #FFF;
  padding: 24px 32px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
#page-emigration .main--emigration .support .support__item-number {
  position: absolute;
  top: -40px;
  left: 15px;
  transform: translateX(-50%);
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 64px;
  line-height: 64px;
  font-weight: 700;
  color: #FFF;
  text-shadow: -2px -2px 0 #8E2921, 2px -2px 0 #8E2921, -2px 2px 0 #8E2921, 2px 2px 0 #8E2921;
}
@media screen and (max-width: 767px) {
  #page-emigration .main--emigration .support .support__item-number {
    left: 38px;
  }
}
#page-emigration .main--emigration .support .support__item-title {
  color: #8E2921;
  font-size: 22px;
  line-height: 22px;
  font-weight: 700;
}
#page-emigration .main--emigration .support .support__item-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 32px;
}
#page-emigration .main--emigration .support .support__item-description {
  flex: 1;
}
#page-emigration .main--emigration .support .support__item-description h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 16px;
}
#page-emigration .main--emigration .support .support__item-description h3 span {
  font-size: 16px;
}
#page-emigration .main--emigration .support .support__item-description p {
  font-size: 14px;
  color: #333;
}
#page-emigration .main--emigration .support .support__item-image {
  flex-shrink: 0;
}
#page-emigration .main--emigration .support .support__item-image img {
  width: 152px;
  height: 152px;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}

/* アクセシビリティ */
/* ============================================ */
/* layout */
.web-accessibility__container {
  width: 100%;
  margin: 97px auto 32px;
  padding: 0 120px 0;
}
@media screen and (max-width: 1090px) {
  .web-accessibility__container {
    width: 100%;
    padding: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .web-accessibility__container {
    margin: 90px auto 32px;
    padding: 0 24px;
  }
}
.web-accessibility__container .page-title {
  margin-top: 0;
}
.web-accessibility__header {
  max-width: 1200px;
  margin: 0 auto;
}
.web-accessibility__divider {
  width: 100vw;
  height: 1px;
  background-color: #E0DDDD;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin: 24px 0 40px;
}
@media screen and (max-width: 1090px) {
  .web-accessibility__divider {
    margin: 24px 0;
  }
}
.web-accessibility__sub-container {
  background: #FAF6F6;
  width: 100%;
  padding: 0 120px 144px;
}
@media screen and (max-width: 1090px) {
  .web-accessibility__sub-container {
    width: 100%;
    padding: 0 80px 144px;
  }
}
@media screen and (max-width: 767px) {
  .web-accessibility__sub-container {
    padding: 0 24px 108px;
  }
}
.web-accessibility__content {
  max-width: 1200px;
  margin: 0 auto 0;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1090px) {
  .web-accessibility__content {
    width: 100%;
  }
}
.web-accessibility__content h2 {
  font-size: 32px;
  line-height: 40px;
  font-weight: 700;
  color: #311C1C;
  text-wrap: wrap;
}
@media screen and (max-width: 1090px) {
  .web-accessibility__content h2 {
    font-size: 26px;
    line-height: 34px;
  }
}
@media screen and (max-width: 767px) {
  .web-accessibility__content h2 {
    font-size: 22px;
    line-height: 30px;
  }
}
@media screen and (max-width: 375px) {
  .web-accessibility__content h2 {
    font-size: 22px;
  }
}
.web-accessibility__content h3 {
  background: #EEDFDE;
  border-radius: 8px;
  color: #8E2921;
  font-size: 24px;
  font-weight: 700;
  margin: 24px 0;
  padding: 10px 20px;
  text-wrap: wrap;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 1090px) {
  .web-accessibility__content h3 {
    font-size: 20px;
    line-height: 26px;
  }
}
@media screen and (max-width: 767px) {
  .web-accessibility__content h3 {
    font-size: 18px;
    line-height: 22px;
  }
}
.web-accessibility__content h4 {
  font-size: 20px;
  font-weight: 700;
  color: #311C1C;
  margin-top: 24px;
  margin-bottom: 16px;
  display: flex;
  align-items: stretch;
  text-wrap: wrap;
  overflow-wrap: anywhere;
  gap: 8px;
}
@media screen and (max-width: 1090px) {
  .web-accessibility__content h4 {
    font-size: 18px;
    line-height: 20px;
  }
}
@media screen and (max-width: 767px) {
  .web-accessibility__content h4 {
    font-size: 16px;
    line-height: 22px;
  }
}
@media screen and (max-width: 375px) {
  .web-accessibility__content h4 {
    line-height: 18px;
  }
}
.web-accessibility__content h4::before {
  content: "";
  display: block;
  width: 8px;
  height: auto;
  background-color: #8E2921;
  border-radius: 4px;
  flex-shrink: 0;
}
.web-accessibility__content h5 {
  font-size: 18px;
  line-height: 20px;
  font-weight: 700;
  color: #311C1C;
  margin-top: 24px;
  margin-bottom: 16px;
  display: flex;
  align-items: stretch;
  text-wrap: wrap;
  overflow-wrap: anywhere;
  gap: 8px;
}
@media screen and (max-width: 1090px) {
  .web-accessibility__content h5 {
    font-size: 16px;
    line-height: 18px;
  }
}
@media screen and (max-width: 767px) {
  .web-accessibility__content h5 {
    font-size: 14px;
    line-height: 16px;
  }
}
@media screen and (max-width: 375px) {
  .web-accessibility__content h5 {
    line-height: 15px;
  }
}
.web-accessibility__content h5::before {
  content: "";
  display: block;
  width: 8px;
  height: auto;
  background-color: #C69490;
  border-radius: 4px;
  flex-shrink: 0;
}
.web-accessibility__content p, .web-accessibility__content div {
  font-size: 16px;
  line-height: 28px;
  color: #311C1C;
  overflow-wrap: anywhere;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .web-accessibility__content p, .web-accessibility__content div {
    font-size: 14px;
    line-height: 22px;
  }
}
.web-accessibility__content ol,
.web-accessibility__content ul {
  padding-left: 1.5em;
  font-size: 16px;
  line-height: 28px;
  color: #311C1C;
}
@media screen and (max-width: 767px) {
  .web-accessibility__content ol,
  .web-accessibility__content ul {
    font-size: 14px;
    line-height: 22px;
  }
}
.web-accessibility__content ol {
  list-style: decimal;
}
.web-accessibility__content ul {
  position: relative;
}
.web-accessibility__content ul ::before {
  content: "•";
  position: absolute;
  left: 1em;
  color: #311C1C;
  font-size: 18px;
}
.web-accessibility__content a {
  color: #0765b8;
  text-decoration: none;
}
.web-accessibility__content a:hover {
  text-decoration: underline;
  opacity: 0.6;
}/*# sourceMappingURL=style.css.map */