@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&display=swap");
@media print {
  @page {
    html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID) {
      size: 210mm 297mm portrait;
      size: A4 portrait;
      margin: 5mm;
    }
  }
  html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID) body {
    margin-top: 0 !important;
  }
  html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID) .container {
    max-width: none !important;
  }
  html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID) table {
    white-space: normal !important;
  }
  html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID) :is(header, footer, #to-top, #sp-makubesu-yomiage, #print-mode, #tsutaeru-info, #gt-nvframe, #sns-share, .bl_questionnaire_body, #fileinfo, .scroll-hint-icon-wrap),
  html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID) .town :is(#menu-bar, .menu-contents, #other-pages, #get_acrobat, #side-contents, #purposemenuboard, #search-box),
  html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID) .child :is(#follow-menu),
  html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID) .smile :is(#menu-padding, #menubutton, #sidemenu) {
    display: none !important;
  }
}
html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID).print {
  padding: 10mm !important;
  box-sizing: border-box !important;
}
@media print {
  html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID).print {
    padding: 0 !important;
    box-sizing: initial !important;
  }
}
html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID).print body {
  margin-top: 0 !important;
}
html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID).print .container {
  max-width: none !important;
}
html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID).print table {
  white-space: normal !important;
}
html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID).print :is(header, footer, #to-top, #sp-makubesu-yomiage, #print-mode, #tsutaeru-info, #gt-nvframe, #sns-share, .bl_questionnaire_body, #fileinfo, .scroll-hint-icon-wrap),
html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID).print .town :is(#menu-bar, .menu-contents, #other-pages, #get_acrobat, #side-contents, #purposemenuboard, #search-box),
html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID).print .child :is(#follow-menu),
html:not(#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID#fakeID).print .smile :is(#menu-padding, #menubutton, #sidemenu) {
  display: none !important;
}

:is(#print-mode, #fileinfo) button {
  background: none;
  text-decoration: underline;
}
@media (hover: hover) {
  :is(#print-mode, #fileinfo) button:hover {
    text-decoration: none;
  }
}
:is(#print-mode, #fileinfo) button span {
  color: var(--link-color);
  text-decoration: inherit;
}
:is(#print-mode, #fileinfo) button svg {
  fill: var(--link-color);
  height: 1lh;
  width: 1lh;
}

#fileinfo.fileinfo-on button:nth-child(2) {
  display: none;
}
#fileinfo.fileinfo-off button:nth-child(1) {
  display: none;
}

.grecaptcha-badge {
  display: none !important;
}

.gsst_a .gscb_a {
  color: var(--text-color) !important;
}

html {
  --font-size: 16px;
  scroll-padding-top: 4rem;
  font-size: calc(var(--font-size) - 2px);
}
@media (min-width: 576px) {
  html {
    font-size: var(--font-size);
  }
}
@media (min-width: 992px) {
  html {
    scroll-padding-top: 15rem;
  }
}

:is(body, body.theme-default) {
  --bg-color: #ffffff;
  --text-color: #000000;
  --link-color: #225695;
  --hover-color: #cccccc;
}
:is(body, body.theme-default) .img-black {
  display: block;
}
:is(body, body.theme-default) .img-white {
  display: none;
}
body.theme-black {
  --bg-color: #000000;
  --text-color: #ffffff;
  --link-color: #ffff00;
  --hover-color: #444444;
}
body.theme-black .img-black {
  display: none;
}
body.theme-black .img-white {
  display: block;
}
body.theme-yellow {
  --bg-color: #e7dc49;
  --text-color: #000000;
  --link-color: #0000ff;
  --hover-color: #f98e72;
}
body.theme-yellow .img-black {
  display: block;
}
body.theme-yellow .img-white {
  display: none;
}
body.theme-blue {
  --bg-color: #225695;
  --text-color: #ffffff;
  --link-color: #ffff00;
  --hover-color: #6087cc;
}
body.theme-blue .img-black {
  display: none;
}
body.theme-blue .img-white {
  display: block;
}

.gsc-table-result:has(.gsc-thumbnail) .gsc-table-cell-snippet-close {
  padding-left: 1em;
}

.gsc-above-wrapper-area-container tr {
  display: flex;
  flex-direction: row-reverse;
  justify-content: start;
}
.gsc-above-wrapper-area-container td {
  margin-right: 0.25em;
}

.gsc-selected-option {
  white-space: nowrap;
}

.gsc-cursor-box.gs-bidi-start-align {
  display: flex;
  justify-content: center;
}
.gsc-cursor-box.gs-bidi-start-align .gsc-cursor {
  display: flex;
}
.gsc-cursor-box.gs-bidi-start-align .gsc-cursor .gsc-cursor-page {
  border: solid 2px;
  display: block;
  font-size: 1.25rem;
  width: 1.25lh;
  height: 1.25lh;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}

:not(#fakeID):is(.gs-web-image-box .gs-image, .gs-promotion-image-box .gs-promotion-image) {
  max-width: 100px;
}

:not(#fakeID):is(.gsc-table-cell-thumbnail.gsc-thumbnail + .gsc-table-cell-snippet-close) {
  width: calc(100% - 100px);
  margin-left: 100px;
}

.tsutaeru-menu,
#makubetsu-tsutaeru,
:has(.tsutaeru-li-easy-off) .makubetsu-nihongo,
:has(.tsutaeru-li-ruby) .makubetsu-hiragana-off,
:has(.tsutaeru-li-ruby-off) .makubetsu-hiragana,
:has(ruby rt:not([style*="display: none;"], [style*="display:none;"])) #makubetsu-tsutaeru-ruby > *:nth-child(2),
:has(ruby rt:is([style*="display: none;"], [style*="display:none;"])) #makubetsu-tsutaeru-ruby > *:nth-child(1) {
  display: none !important;
}

@media (min-width: 992px) {
  :has(#tsutaeru-info) #makubetsu-tsutaeru {
    display: flex !important;
  }
}

#tsutaeru-info {
  display: block;
  position: sticky !important;
  top: 0 !important;
  z-index: 1 !important;
}
@media (min-width: 992px) {
  #tsutaeru-info {
    display: none;
  }
}

#tsutaeru-info__holder {
  display: none !important;
}

#makubetsu-tsutaeru {
  font-weight: bold;
  background: #ffdddd;
}
#makubetsu-tsutaeru button {
  background: none;
  text-decoration: underline;
}
@media (hover: hover) {
  #makubetsu-tsutaeru button:hover {
    text-decoration: none;
  }
}

.tsutaeru-speech:not(#fakeID) {
  display: none;
}
@media (min-width: 992px) {
  .tsutaeru-speech:not(#fakeID) {
    display: flex;
  }
}
:is(.tsutaeru-speech:not(#fakeID), .tsutaeru-speech:not(#fakeID) *) {
  margin: 0;
  padding: 0;
  font-size: inherit;
}
.tsutaeru-speech:not(#fakeID) .tsutaeru-speech-buttons {
  display: flex;
}
.tsutaeru-speech:not(#fakeID) button {
  height: calc(1lh + 0.75em);
  width: fit-content;
  padding: 0 0.5em 0 2em;
  border: solid 1px;
  border-radius: 0.375em;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  margin-top: 0.5rem;
  margin-left: 0.5rem;
}
.tsutaeru-speech:not(#fakeID) .tsutaeru-speech-audio-container {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 1.5rem;
}

.tsutaeru-button-speech-start span {
  animation: 5s infinite linear;
}
.tsutaeru-button-speech-start span:nth-child(1) {
  animation-name: tsutaeru-yomikomi1;
}
.tsutaeru-button-speech-start span:nth-child(2) {
  animation-name: tsutaeru-yomikomi2;
}
.tsutaeru-button-speech-start span:nth-child(3) {
  animation-name: tsutaeru-yomikomi3;
}

@keyframes tsutaeru-yomikomi1 {
  0% {
    color: rgba(255, 255, 255, 0);
  }
  25% {
    color: rgba(255, 255, 255, 0);
  }
  26% {
    color: white;
  }
  100% {
    color: white;
  }
}
@keyframes tsutaeru-yomikomi2 {
  0% {
    color: rgba(255, 255, 255, 0);
  }
  50% {
    color: rgba(255, 255, 255, 0);
  }
  51% {
    color: white;
  }
  100% {
    color: white;
  }
}
@keyframes tsutaeru-yomikomi3 {
  0% {
    color: rgba(255, 255, 255, 0);
  }
  75% {
    color: rgba(255, 255, 255, 0);
  }
  76% {
    color: white;
  }
  100% {
    color: white;
  }
}
#gt-nvframe {
  box-shadow: none !important;
  min-height: 57px !important;
}

@media (min-width: 992px) {
  :has(#gt-nvframe) header {
    transition: 0.2s translate;
    top: 56px !important;
  }
  :has(#gt-nvframe[style*="top: 56px;"]) header {
    translate: 0 -56px;
  }
}
#sns-share a {
  margin: 0.25rem;
  padding: 0.25rem;
  display: flex;
  align-items: center;
  border-radius: 0.25rem;
  background: #fff;
  border: solid 0.125rem;
}
#sns-share a svg {
  min-height: 40px;
  height: 1lh;
  width: auto;
  aspect-ratio: 1/1;
  margin-right: 0.25rem;
}
#sns-share #sns-share-line {
  color: #06C755;
}
#sns-share #sns-share-facebook {
  color: #0866FF;
}
#sns-share #sns-share-x {
  color: #000000;
}
#sns-share #sns-share-x svg {
  scale: 0.9;
}

body {
  background: var(--bg-color);
  color: var(--text-color);
  line-height: normal;
  font-size: inherit;
  font-weight: normal;
  font-style: normal;
  overflow-x: clip;
  text-spacing-trim: space-all;
}
body *:where(:not(.splide, .splide *, .scroll-hint-icon-wrap, .scroll-hint-icon-wrap *)) {
  margin: 0;
  padding: 0;
  color: inherit;
  line-height: inherit;
  font-size: 1em;
  font-weight: inherit;
  font-style: inherit;
  overflow-wrap: anywhere;
}
body a {
  color: var(--link-color);
}
@media (hover: hover) {
  body a:hover {
    text-decoration: none;
  }
}
body :is(a, span, small) {
  display: inline-block;
}
body :is(input, button) {
  border: none;
}
body ul {
  list-style: none;
}
body caption {
  caption-side: top;
  text-align: center;
}
body img {
  pointer-events: none;
}
body rt:not(#fakeID#fakeID#fakeID) {
  font-size: 0.5em;
}
body font:not(#fakeID#fakeID#fakeID#fakeID#fakeID) {
  font-size: inherit;
}
body .wbr {
  white-space: pre-wrap;
  overflow-wrap: break-word;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
body .nobr {
  white-space: nowrap;
}
body .fs-0 {
  font-size: 0;
}
body .align-items-cente {
  align-items: center;
}
body .form_table {
  background: #fff;
  color: #000;
}
body .form_table .form-control-feedback {
  color: red;
}

#tinymce {
  --main-color: #005C33;
  --important-color: #c1282d;
  padding: 0.5rem;
}

:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) > * {
  margin-top: 0.7rem;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) :is(h1, h2, h3, h4, h5, h6) {
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) :is(h1, h2) {
  position: relative;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) :is(h1, h2)::before {
  content: "";
  position: absolute;
  display: block;
  background: var(--main-color);
  width: 0.25em;
  height: calc(100% - 1rem);
  left: 0.5rem;
  flex-shrink: 0;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) p {
  margin-bottom: 0.8rem;
  line-height: 1.8;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) h1 {
  background: var(--sub-color1);
  font-size: 1.75rem;
  color: black;
  border-radius: 0.5rem;
  padding: 0.5rem;
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) h2 {
  font-size: 1.5rem;
  padding: 0.5rem;
  padding-left: 0.75rem;
  border-bottom: solid 1px var(--main-color);
  margin-bottom: 1rem;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) h2::before {
  left: 0;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) h3 {
  font-size: 1.25rem;
  position: relative;
  padding-left: 1.125lh;
  margin-bottom: 1rem;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) h3::before {
  content: "";
  display: block;
  width: 1lh;
  height: 1lh;
  background: var(--main-color);
  clip-path: polygon(50% calc((1lh - 1em) / 2), calc(100% - (1lh - 1em) / 2) 50%, 50% calc(100% - (1lh - 1em) / 2), calc((1lh - 1em) / 2) 50%);
  flex-shrink: 0;
  position: absolute;
  top: 0.2em;
  left: 0;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) h4 {
  font-size: 1.125rem;
  position: relative;
  padding-left: 1.125lh;
  margin-bottom: 1rem;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) h4::before {
  content: "";
  display: block;
  width: 1lh;
  height: 1lh;
  background: var(--main-color);
  flex-shrink: 0;
  position: absolute;
  top: 0.2em;
  left: 0;
  clip-path: polygon(calc((1lh - 1em) / 2) calc((1lh - 1em) / 2), calc(100% - (1lh - 1em) / 2) calc((1lh - 1em) / 2), calc(100% - (1lh - 1em) / 2) calc(100% - (1lh - 1em) / 2), calc((1lh - 1em) / 2) calc(100% - (1lh - 1em) / 2));
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) :is(h5, h6) {
  font-size: inherit;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) :is(ul, ol) {
  list-style: none;
  padding-left: 0;
  margin-bottom: 1rem;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) :is(ul, ol) ::marker {
  content: none;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) :is(ul, ol) ul,
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) :is(ul, ol) ol {
  padding-left: 1.125lh;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) :is(ul, ol) li {
  position: relative;
  padding-left: 1.125lh;
  margin-top: 0.7rem;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) :is(ul, ol) li::before {
  position: absolute;
  left: 0;
  flex-shrink: 0;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) :is(ul, ol) li:has(> :is(h3, h4)) {
  padding-left: 0;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) :is(ul, ol) li:not(:has(> :is(h3, h4))) > :is(ul, ol) {
  padding-left: 0;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ul[style*="list-style-type: circle;"] > li::before,
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ul [style*="list-style-type:circle;"] > li::before {
  background: radial-gradient(transparent 0.15em, var(--main-color) 0.15em, var(--main-color) 0.25em, transparent 0);
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ul[style*="list-style-type: square;"] > li::before,
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ul [style*="list-style-type:square;"] > li::before {
  background: var(--main-color);
  clip-path: inset(0.35em);
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ul > li:has(> :is(h1, h2, h3, h4))::before {
  content: none;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ul > li::before {
  content: "";
  display: inline-block;
  width: 1lh;
  height: 1lh;
  background: radial-gradient(var(--main-color), var(--main-color) 0.25em, transparent 0);
  top: 0.2em;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ol {
  counter-reset: ol;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ol[style*="list-style-type: lower-alpha;"] > li::before, :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ol[style*="list-style-type:lower-alpha;"] > li::before {
  content: counter(ol, lower-alpha) ".";
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ol[style*="list-style-type: lower-greek;"] > li::before, :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ol[style*="list-style-type:lower-greek;"] > li::before {
  content: counter(ol, lower-greek) ".";
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ol[style*="list-style-type: lower-roman;"] > li::before, :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ol[style*="list-style-type:lower-roman;"] > li::before {
  content: counter(ol, lower-roman) ".";
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ol[style*="list-style-type: upper-alpha;"] > li::before, :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ol[style*="list-style-type:upper-alpha;"] > li::before {
  content: counter(ol, upper-alpha) ".";
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ol[style*="list-style-type: upper-roman;"] > li::before, :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ol[style*="list-style-type:upper-roman;"] > li::before {
  content: counter(ol, upper-roman) ".";
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ol > li {
  counter-increment: ol;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) ol > li::before {
  content: counter(ol) ".";
  min-width: 1em;
  display: block;
  color: var(--main-color);
  top: 0;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive] {
  overflow-wrap: normal;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive] table {
  min-height: calc(90px + 1lh);
  min-width: 100%;
  overflow-wrap: inherit;
  width: auto !important;
  white-space: nowrap !important;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive] :not(.fileinfo) img {
  max-width: 100%;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive] .scroll-hint-icon {
  top: min(5rem, 10%);
}
@media (min-width: 576px) {
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-sm {
    overflow-wrap: inherit;
  }
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-sm table {
    width: 100% !important;
  }
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-sm * {
    width: auto;
    white-space: normal !important;
  }
}
@media (min-width: 768px) {
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-md {
    overflow-wrap: inherit;
  }
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-md table {
    width: 100% !important;
  }
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-md * {
    width: auto;
    white-space: normal !important;
  }
}
@media (min-width: 992px) {
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-lg {
    overflow-wrap: inherit;
  }
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-lg table {
    width: 100% !important;
  }
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-lg * {
    width: auto;
    white-space: normal !important;
  }
}
@media (min-width: 1200px) {
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-xl {
    overflow-wrap: inherit;
  }
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-xl table {
    width: 100% !important;
  }
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-xl * {
    width: auto;
    white-space: normal !important;
  }
}
@media (min-width: 1400px) {
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-xxl {
    overflow-wrap: inherit;
  }
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-xxl table {
    width: 100% !important;
  }
  :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) [class*=table-responsive].table-responsive-xxl * {
    width: auto;
    white-space: normal !important;
  }
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) table {
  width: 100% !important;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) table tr td {
  padding: 10px !important;
  border: 1px solid #000000;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) table tr th {
  padding: 10px !important;
  background-color: #f2ffe5;
  border: 1px solid #000000;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) strong {
  font-weight: bold;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) em {
  font-style: italic;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) sub,
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) sup {
  font-size: 0.75em;
  line-height: 0;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) code {
  background: rgb(from var(--hover-color) r g b/0.1);
  color: var(--text-color);
  padding: 0.1em 0.25em;
  border-radius: 0.25rem;
  border: solid 1px var(--hover-color);
  margin: 0 0.25em;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) dt {
  font-weight: bold;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) blockquote {
  display: flex;
  --p: 0.25em;
  --w: calc(100% - var(--p));
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) blockquote p {
  margin: 0;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) blockquote::before, :is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) blockquote::after {
  content: "";
  display: block;
  width: 0.5em;
  background: var(--text-color);
  flex-shrink: 0;
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) blockquote::before {
  clip-path: polygon(100% var(--p), var(--p) var(--p), var(--p) var(--w), 100% var(--w), 100% 100%, 0 100%, 0 0, 100% 0);
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) blockquote::after {
  clip-path: polygon(0 var(--p), var(--w) var(--p), var(--w) var(--w), 0 var(--w), 0 100%, 100% 100%, 100% 0, 0 0);
}
:is(.town #main-article, .town#tinymce:not([data-id=editor1], [data-id=editor2], [data-id=editor3])) img {
  min-width: 60px;
  max-width: 100%;
  height: auto;
}

#emergency-main ~ #top-page {
  display: initial;
}
#emergency-main #emergency-main-topinfo {
  border: solid 5px var(--important-color);
}
#emergency-main #emergency-main-topinfo strong {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--important-color);
}
#emergency-main #emergency-main-rss {
  border: solid 5px #595959;
}
#emergency-main #emergency-main-rss h2 {
  background: #595959;
  color: white;
  font-size: 1.25rem;
}
#emergency-main #emergency-main-rss h2 a {
  color: inherit;
}
#emergency-main #emergency-main-rss li {
  border-bottom: dashed 1px #595959;
}
#emergency-main #section3 h2 {
  margin-bottom: 0;
  background-color: var(--important-color);
  color: white;
}
#emergency-main #emergency-footer img {
  height: auto;
  object-fit: contain;
  width: 50%;
}
@media (min-width: 768px) {
  #emergency-main #emergency-footer img {
    width: 20%;
  }
}

:is(#emergency-main .emergency-topic, #tinymce:is([data-id=editor2], [data-id=editor3])) h2 {
  background: #E1E1E1;
  color: black;
  font-size: 1.25rem;
  margin-top: 1.5rem;
  font-weight: bold;
  padding: 0.5rem 1rem;
  margin-bottom: 0.6rem;
}
:is(#emergency-main .emergency-topic, #tinymce:is([data-id=editor2], [data-id=editor3])) ul {
  padding: 0 1rem;
}
:is(#emergency-main .emergency-topic, #tinymce:is([data-id=editor2], [data-id=editor3])) ul li::before {
  content: "";
  display: inline-block;
  width: 0.8lh;
  height: 0.8lh;
  background: var(--text-color);
  border-radius: 50%;
  margin-right: 0.5em;
  line-height: unset;
  vertical-align: middle;
  position: relative;
  top: -0.1lh;
}
:is(#emergency-main .emergency-topic, #tinymce:is([data-id=editor2], [data-id=editor3])) ul ul {
  padding-left: calc(1lh + 0.25em);
  padding-right: 0;
}
:is(#emergency-main .emergency-topic, #tinymce:is([data-id=editor2], [data-id=editor3])) ul ul li::before {
  border-radius: 0;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  width: 0.8660254038lh;
}

.emergency-topic-border {
  border-left: solid 5px var(--important-color);
  border-right: solid 5px var(--important-color);
  border-bottom: solid 5px var(--important-color);
}

#emergency-padding {
  width: 100%;
  height: 4rem;
  background: #f0cb3f;
  padding-bottom: 80px;
  box-sizing: content-box;
}
@media (min-width: 992px) {
  #emergency-padding {
    padding-bottom: 0;
  }
}

.no-before {
  padding-left: initial !important;
}
.no-before::before {
  content: none !important;
}

body:where(.town) {
  --main-color: #005c33;
  --sub-color1: #f2ecd4;
  --sub-color2: #e5eeea;
  --sub-color3: #ccded6;
  --accent-color: #c9a400;
  --important-color: #c1282d;
}
body:where(.town).emergency-mode .emergency-none {
  display: none !important;
}
@media (min-width: 992px) {
  body:where(.town).emergency-mode .emergency-lg-none {
    display: none !important;
  }
}
body:where(.town).emergency-mode #menu-bar {
  --main-color: #c1282d;
}
body:where(.town):has(.tsutaeru-li-easy-off, .tsutaeru-li-ruby-off) #recommended-pages {
  display: none;
}
body:where(.town) .search {
  height: 2.5em;
  width: 100%;
}
@media (min-width: 992px) {
  body:where(.town) .search {
    width: auto;
  }
}
body:where(.town) .search .search-input {
  flex-shrink: 1;
  width: 100%;
}
@media (min-width: 992px) {
  body:where(.town) .search .search-input {
    flex-shrink: 0;
    width: auto;
  }
}
body:where(.town) .search .search-input :is(label, input) {
  padding: 0 0.5em;
}
body:where(.town) .search .search-input label {
  color: transparent;
}
@media (min-width: 992px) {
  body:where(.town) .search .search-input label {
    min-width: calc(25ic + 1em);
  }
}
body:where(.town) .search .search-input input {
  background: white;
  border: solid 1px var(--main-color);
  border-radius: 0.5em 0 0 0.5em;
  color: black;
  position: relative;
}
@media (min-width: 992px) {
  body:where(.town) .search .search-input input {
    position: absolute;
  }
}
body:where(.town) .search .search-input input::-webkit-input-placeholder {
  overflow: visible;
  color: revert;
}
body:where(.town) .search button {
  padding: 0 0.5em;
  background: var(--main-color);
  color: white;
  border-radius: 0 0.5em 0.5em 0;
}
@media (hover: hover) {
  body:where(.town) .search button:hover {
    background: var(--accent-color);
  }
}
body:where(.town) .search button img {
  width: 1.5em;
  height: 1.5em;
  object-fit: contain;
  margin-right: 0.25em;
}
body:where(.town) :not(#fakeID#fakeID#fakeID#fakeID#fakeID) .tag-info {
  background: var(--main-color);
}
body:where(.town) :not(#fakeID#fakeID#fakeID#fakeID#fakeID) .tag-kurashi {
  background: #f26065;
}
body:where(.town) :not(#fakeID#fakeID#fakeID#fakeID#fakeID) .tag-kenkou {
  background: #f9b361;
}
body:where(.town) :not(#fakeID#fakeID#fakeID#fakeID#fakeID) .tag-kyouiku {
  background: #aed778;
}
body:where(.town) :not(#fakeID#fakeID#fakeID#fakeID#fakeID) .tag-kanko_sangyo {
  background: #4cb27c;
}
body:where(.town) :not(#fakeID#fakeID#fakeID#fakeID#fakeID) .tag-bousai {
  background: #69c4eb;
}
body:where(.town) :not(#fakeID#fakeID#fakeID#fakeID#fakeID) .tag-chosei {
  background: #6c6eb2;
}
body:where(.town) :not(#fakeID#fakeID#fakeID#fakeID#fakeID) .tag-gikai {
  background: #946cb2;
}
body:where(.town) :not(#fakeID#fakeID#fakeID#fakeID#fakeID).tag-kosodate {
  background: #bb4c8d;
}
body:where(.town) :not(#fakeID#fakeID#fakeID#fakeID#fakeID).tag-important {
  background: #cc0000;
}
body:where(.town) .emergency-bg {
  background-color: var(--important-color);
}
body:where(.town) #emergency-header {
  position: relative;
  z-index: 3;
  background: white;
}
body:where(.town) #emergency-header #emergency-header-text {
  color: var(--important-color);
}
body:where(.town) #emergency-header #emergency-header-text b {
  font-size: 1.5rem;
  text-align: center;
  font-weight: bold;
}
@media (min-width: 576px) {
  body:where(.town) #emergency-header #emergency-header-text b {
    font-size: 2rem;
  }
}
@media (min-width: 992px) {
  body:where(.town) #emergency-header #emergency-header-text b {
    text-align: start;
  }
}
body:where(.town) #emergency-header #emergency-header-text button {
  background: none;
  text-decoration: underline;
}
@media (hover: hover) {
  body:where(.town) #emergency-header #emergency-header-text button:hover {
    color: var(--hover-color);
  }
}
body:where(.town) #emergency-header #emergency-header-tonomal {
  border-radius: 0.25em;
  background: black;
  color: white;
}
@media (hover: hover) {
  body:where(.town) #emergency-header #emergency-header-tonomal:hover {
    background: var(--hover-color);
  }
}
body:where(.town) .header-spacer {
  display: none;
}
@media (min-width: 992px) {
  body:where(.town) .header-spacer {
    display: block;
    height: var(--header-height);
  }
}
body:where(.town) header {
  background: var(--bg-color);
  top: 0;
  height: 100lvh;
  margin-bottom: 0;
  padding-bottom: 80px;
  position: fixed;
  transform: translateY(100%);
  transition: translate 0.5s ease;
  z-index: 4;
  font-size: 16px;
}
body:where(.town) header * {
  font-size: inherit;
}
@media (min-width: 992px) {
  body:where(.town) header {
    z-index: 999;
    height: auto;
    padding-bottom: 0.5rem;
    position: fixed;
    box-shadow: 0 2px 7px -5px var(--text-color);
    transform: none;
    transition: none;
  }
  body:where(.town) header:not(#fakeID) {
    translate: 0;
  }
  body:where(.town) header * {
    font-size: inherit;
  }
}
body:where(.town) header #header-logo {
  background: var(--bg-color);
  z-index: 1;
}
@media (hover: hover) {
  body:where(.town) header #header-logo:hover {
    background: var(--hover-color);
  }
}
body:where(.town) header #header-logo h1 {
  font-size: 0;
}
body:where(.town) header #header-menu {
  width: 100%;
}
@media (min-width: 992px) {
  body:where(.town) header #header-menu {
    width: auto;
  }
}
@media (hover: hover) {
  body:where(.town) header #header-menu #header-menu-toplink:hover {
    background: var(--hover-color);
  }
}
body:where(.town) header .common-button {
  height: calc(1lh + 0.75em);
  width: fit-content;
  padding: 0 0.5em;
  border: solid 1px;
  border-radius: 0.375em;
  background: var(--bg-color);
  cursor: pointer;
  margin-left: 0.25em;
}
@media (hover: hover) {
  body:where(.town) header .common-button:hover {
    background: var(--hover-color);
  }
}
body:where(.town) header :is(#fontsize, #colorset) {
  width: 100%;
}
@media (min-width: 992px) {
  body:where(.town) header :is(#fontsize, #colorset) {
    width: auto;
  }
}
body:where(.town) header :is(#fontsize, #colorset) fieldset legend {
  width: fit-content;
}
body:where(.town) header #colorset button {
  border-color: var(--text-color);
}
body:where(.town) header #colorset #h-colorset-default {
  color: #000000;
  background: #ffffff;
}
@media (hover: hover) {
  body:where(.town) header #colorset #h-colorset-default:hover {
    background: #cccccc;
  }
}
body:where(.town) header #colorset #h-colorset-black {
  color: #ffffff;
  background: #000000;
}
@media (hover: hover) {
  body:where(.town) header #colorset #h-colorset-black:hover {
    background: #444444;
  }
}
body:where(.town) header #colorset #h-colorset-yellow {
  color: #000000;
  background: #e7dc49;
}
@media (hover: hover) {
  body:where(.town) header #colorset #h-colorset-yellow:hover {
    background: #f98e72;
  }
}
body:where(.town) header #colorset #h-colorset-blue {
  color: #ffffff;
  background: #225695;
}
@media (hover: hover) {
  body:where(.town) header #colorset #h-colorset-blue:hover {
    background: #6087cc;
  }
}
body:where(.town) header #header-nav {
  font-size: 1rem;
}
@media (min-width: 992px) {
  body:where(.town) header #header-nav {
    font-size: 1.125rem;
  }
}
body:where(.town) header #header-nav ul {
  height: 100%;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
}
@media (min-width: 992px) {
  body:where(.town) header #header-nav ul {
    gap: 0;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  }
}
body:where(.town) header #header-nav li {
  position: relative;
  border: solid 1px var(--main-color);
  border-radius: 1em;
  background: white;
  color: black;
}
@media (hover: hover) {
  body:where(.town) header #header-nav li:has(a:hover) {
    background: var(--hover-color);
  }
}
@media (min-width: 992px) {
  body:where(.town) header #header-nav li {
    border: none;
    border-radius: 0;
    background: var(--bg-color);
    color: var(--text-color);
  }
}
body:where(.town) header #header-nav a {
  position: relative;
  color: inherit;
  padding: 0.5em 0;
}
@media (min-width: 992px) {
  body:where(.town) header #header-nav a {
    padding: 0.5em;
  }
}
body:where(.town) header #header-nav .children-menu {
  position: absolute;
  margin-top: 0;
  padding: 10px;
  left: 0;
  width: 100%;
  min-height: 20vh;
  height: initial !important;
  justify-content: center;
  z-index: 100;
  display: none;
  background: var(--main-color);
  box-shadow: 0 3px 5px 0px rgba(51, 51, 51, 0.631372549);
}
body:where(.town) header #header-nav .children-menu .sub-menu-ttl {
  color: white;
  border-bottom: 1px #c9a400 solid;
  padding-bottom: 5px;
  margin-bottom: 5px;
  font-size: 1.5rem;
}
body:where(.town) header #header-nav .children-menu .sub-menu-ttl a {
  text-decoration: none;
}
body:where(.town) header #header-nav .children-menu .sub-menu-ttl a::before {
  content: none;
}
body:where(.town) header #header-nav .children-menu li {
  background: var(--main-color) !important;
}
body:where(.town) header #header-nav .menu-item {
  background: none !important;
  position: initial !important;
}
body:where(.town) header #header-nav .opa-active {
  opacity: 1;
  z-index: 100;
}
body:where(.town) header #header-nav .menu-a {
  position: relative;
}
body:where(.town) header #header-nav .active {
  display: none;
}
body:where(.town) header #header-nav .active-tri::before {
  display: none;
}
@media (min-width: 992px) {
  body:where(.town) header #header-nav .active-tri::before {
    content: "";
    display: inline !important;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 30px 30px 30px;
    border-color: transparent transparent var(--main-color) transparent;
    margin: auto;
    position: absolute;
    bottom: -20px;
  }
  body:where(.town) header #header-nav .active {
    display: block !important;
    z-index: 100;
  }
}
body:where(.town) header #toglepurposemenu {
  position: absolute;
  top: 100%;
  right: 0;
  background: var(--main-color);
  color: white;
  border-radius: 100lvmax 0 0 100lvmax;
  padding-left: 1rem;
  padding-block: 0.5rem;
  translate: 0 2rem;
  transition: translate ease 0.5s;
}
@media (hover: hover) {
  body:where(.town) header #toglepurposemenu:hover {
    background: var(--accent-color);
  }
}
body:where(.town) header #toglepurposemenu span {
  padding-inline: 0.5rem;
  font-weight: bold;
}
body:where(.town) header #toglepurposemenu img {
  width: 2rem;
}
body:where(.town) header:has(.tsutaeru-speech-audio) #toglepurposemenu {
  translate: 0 calc(54px + 1rem);
}
body:where(.town) #header-sub_nav {
  z-index: 1;
}
body:where(.town) #header-sub_nav ul {
  background: var(--main-color);
}
body:where(.town) #header-sub_nav ul a {
  color: white;
}
body:where(.town) #header-sub_nav ul a::before {
  content: "";
  display: block;
  height: 1em;
  width: 0.8660254038em;
  background: var(--accent-color);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  flex-shrink: 0;
  margin-right: 0.5em;
  margin-top: calc((1lh - 1em) / 2);
}
@media (hover: hover) {
  body:where(.town) #header-sub_nav ul a:hover {
    background: var(--accent-color);
  }
  body:where(.town) #header-sub_nav ul a:hover::before {
    background: var(--main-color);
  }
}
body:where(.town) #menu-bar {
  font-size: 16px;
  z-index: 4;
  bottom: 0;
  grid-template-columns: minmax(0, 1.1fr) repeat(4, minmax(0, 1fr));
  grid-template-rows: 10px 70px;
}
body:where(.town) #menu-bar > * {
  background: var(--main-color);
  color: white;
}
body:where(.town) #menu-bar > * a {
  color: white;
  pointer-events: auto;
}
@media (hover: hover) {
  body:where(.town) #menu-bar > *:hover:not(#fakeID) {
    background: var(--accent-color);
  }
}
body:where(.town) #menu-bar > * * {
  pointer-events: none;
}
body:where(.town) #menu-bar > * img {
  height: 50%;
}
body:where(.town) #menu-bar > * .buttoncancel {
  display: none;
}
body:where(.town) #menu-bar > *.buttonactive {
  background: var(--accent-color);
}
body:where(.town) #menu-bar > *.buttonactive .buttoncancel {
  display: block;
}
body:where(.town) #menu-bar > *.buttonactive .buttonopen {
  display: none;
}
body:where(.town) #menu-bar > *:not(#menu-bar-links).buttonactive::after {
  content: "";
  position: absolute;
  display: block;
  height: 15px;
  width: 17.3205080757px;
  background: var(--accent-color);
  top: -15px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
body:where(.town) #menu-bar #menu-bar-links {
  grid-column: 1/2;
  grid-row: 1/3;
  background: black;
  border: 1px var(--main-color);
  border-style: solid solid none none;
  border-radius: 0 10px 0 0;
}
body:where(.town) #menu-bar #menu-bar-infomation {
  grid-column: 2/3;
  grid-row: 2/3;
}
body:where(.town) #menu-bar #menu-bar-search {
  grid-column: 3/4;
  grid-row: 2/3;
}
body:where(.town) #menu-bar #menu-bar-setting {
  grid-column: 4/5;
  grid-row: 2/3;
}
body:where(.town) #menu-bar:has(button.buttonactive) #menu-bar-totop {
  background: gray;
  cursor: not-allowed;
}
body:where(.town) #menu-bar:has(button.buttonactive) #menu-bar-totop a {
  pointer-events: none;
}
body:where(.town) #menu-bar #menu-bar-totop {
  grid-column: 5/6;
  grid-row: 2/3;
}
body:where(.town) .openmenu {
  translate: 0 -100%;
}
body:where(.town) .menu-contents {
  z-index: 3;
  background: var(--bg-color);
  height: 100lvh;
  padding-bottom: calc(90px + 100lvh - 100svh);
  transform: translateY(100%);
  transition: translate 0.5s ease;
  font-size: 16px;
}
body:where(.town) .menu-contents .menu-contents-title {
  font-size: 18px;
}
body:where(.town) #menu-info {
  padding-top: 1rem;
}
body:where(.town) #menu-info > ul {
  overflow-y: auto;
  width: 100%;
}
body:where(.town) #menu-info > ul li {
  border-bottom: dashed 2px var(--hover-color);
}
body:where(.town) #menu-info > ul #top-page-news-list-display-tag a {
  background: whitesmoke;
  color: black;
  border-radius: 0.5rem;
}
@media (hover: hover) {
  body:where(.town) #menu-info > ul #top-page-news-list-display-tag a:hover:not(#fakeID#fakeID#fakeID#fakeID#fakeID) {
    background: var(--accent-color) !important;
    color: white !important;
  }
}
body:where(.town) #menu-info > div {
  height: 2.5rem;
}
body:where(.town) #menu-info > div > a {
  border-radius: 1rem;
  background: var(--main-color);
  color: white;
  width: fit-content;
}
body:where(.town) #menu-info > div img {
  height: 100%;
}
body:where(.town) #menu-search #menu-search-words a {
  border: solid 1px var(--link-color);
  border-radius: 1rem;
}
@media (hover: hover) {
  body:where(.town) #menu-search #menu-search-words a:hover {
    background: var(--hover-color);
  }
}
body:where(.town) #menu-search #menu-search-objective {
  width: 100%;
}
body:where(.town) #menu-search #menu-search-objective .splide__slide .d-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  grid-auto-rows: 1fr;
}
body:where(.town) #menu-search #menu-search-objective .splide__slide a {
  border: solid 1px var(--main-color);
  border-radius: 0.5rem;
  color: var(--main-color);
  background: white;
  min-height: 100px;
}
@media (hover: hover) {
  body:where(.town) #menu-search #menu-search-objective .splide__slide a:hover {
    background: var(--accent-color);
  }
}
body:where(.town) #menu-search #menu-search-objective .splide__slide img {
  width: 30%;
  object-fit: contain;
}
body:where(.town) #menu-search #menu-search-objective .splide__slide p {
  margin: 0;
}
body:where(.town) #menu-search #menu-search-objective .splide-control {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
body:where(.town) #menu-search #menu-search-objective .splide__arrows {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
body:where(.town) #menu-search #menu-search-objective .splide__arrows button {
  padding: 0;
  background: none;
  opacity: 0.5;
}
body:where(.town) #menu-search #menu-search-objective .splide__arrows button:nth-child(1 of body:where(.town) #menu-search #menu-search-objective .splide__arrows button) {
  scale: -1;
}
body:where(.town) #menu-search #menu-search-objective .splide__arrows button svg path {
  fill: var(--text-color);
}
@media (hover: hover) {
  body:where(.town) #menu-search #menu-search-objective .splide__arrows button:hover svg path {
    fill: var(--hover-color);
  }
}
body:where(.town) #menu-search #menu-search-objective .splide__pagination {
  position: absolute;
  padding: 0;
  width: calc(100% - 80px);
}
body:where(.town) #menu-search #menu-search-objective .splide__pagination button {
  width: 1rem;
  height: 1rem;
  padding: 0;
  margin: 0 0.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
}
body:where(.town) #menu-search #menu-search-objective .splide__pagination button::after {
  content: "";
  width: 100%;
  height: 100%;
  opacity: 0.5;
  background: var(--text-color);
  border-radius: 50%;
  scale: 0.6;
  transition: scale 0.5s ease;
}
body:where(.town) #menu-search #menu-search-objective .splide__pagination button.is-active::after {
  scale: 1;
}
body:where(.town) #menu-setting {
  font-size: 16px;
}
body:where(.town) #menu-setting .hr-line {
  border-bottom: dashed 2px var(--hover-color);
}
body:where(.town) #menu-setting [id^=menu-setting-fontsize-] {
  border: solid 2px var(--main-color);
  background: white;
  color: var(--main-color);
  padding: 4px 16px;
  border-radius: 16px;
}
@media (hover: hover) {
  body:where(.town) #menu-setting [id^=menu-setting-fontsize-]:hover {
    background: var(--main-color);
    color: white;
  }
}
body:where(.town) #menu-setting [id^=menu-setting-colorset-] {
  padding: 8px;
  border-radius: 16px;
  border: solid 2px var(--main-color);
}
body:where(.town) #menu-setting [id^=menu-setting-colorset-] span {
  font-size: 20px;
}
body:where(.town) #menu-setting #menu-setting-colorset-default {
  background: #ffffff;
  color: #000000;
}
@media (hover: hover) {
  body:where(.town) #menu-setting #menu-setting-colorset-default:hover {
    background: #cccccc;
  }
}
body:where(.town) #menu-setting #menu-setting-colorset-black {
  background: #000000;
  color: #ffffff;
}
@media (hover: hover) {
  body:where(.town) #menu-setting #menu-setting-colorset-black:hover {
    background: #444444;
  }
}
body:where(.town) #menu-setting #menu-setting-colorset-yellow {
  background: #e7dc49;
  color: #000000;
}
@media (hover: hover) {
  body:where(.town) #menu-setting #menu-setting-colorset-yellow:hover {
    background: #f98e72;
  }
}
body:where(.town) #menu-setting #menu-setting-colorset-blue {
  background: #225695;
  color: #ffffff;
}
@media (hover: hover) {
  body:where(.town) #menu-setting #menu-setting-colorset-blue:hover {
    background: #6087cc;
  }
}
body:where(.town) #menu-setting .menu-setting-others {
  color: var(--main-color);
  background: white;
  border: solid 2px var(--main-color);
  padding: 4px 16px;
  border-radius: 16px;
}
@media (hover: hover) {
  body:where(.town) #menu-setting .menu-setting-others:hover {
    background: var(--main-color);
    color: white;
  }
}
body:where(.town) #purposemenuboard {
  width: 100%;
  background: var(--sub-color1);
  z-index: 4;
  bottom: 0;
  left: 0;
  padding-bottom: calc(100lvh - 100svh + 2rem);
  translate: 0 100%;
  transition: translate ease 0.5s;
}
body:where(.town) #purposemenuboard.purposemenuboardopen {
  translate: 0 0%;
}
body:where(.town) #purposemenuboard .purposemenu-close {
  padding-block: 1rem;
  display: flex;
  justify-content: end;
}
body:where(.town) #purposemenuboard .purposemenu-close button {
  background: var(--bg-color);
  display: flex;
  align-items: center;
  border: solid 2px var(--main-color);
  border-radius: 0.25rem;
}
body:where(.town) #purposemenuboard .purposemenu-close button svg {
  width: 1lh;
  aspect-ratio: 1/1;
  fill: var(--main-color);
}
body:where(.town) #purposemenuboard .d-grid {
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  grid-auto-rows: 1fr;
  gap: 1rem;
}
body:where(.town) #purposemenuboard .d-grid > a {
  border: solid 0.25rem var(--main-color);
  border-radius: 1rem;
  text-decoration: none;
  background: var(--bg-color);
  color: var(--text-color);
}
@media (hover: hover) {
  body:where(.town) #purposemenuboard .d-grid > a:hover {
    background: var(--hover-color);
  }
}
body:where(.town) #purposemenuboard .d-grid img {
  width: 4rem;
  aspect-ratio: 1/1;
  object-fit: contain;
}
body:where(.town) #to-top {
  width: 100%;
  bottom: 2rem;
  left: 0;
  pointer-events: none;
  z-index: 2;
  height: calc(100svh - 2rem);
  display: none;
}
@media (min-width: 992px) {
  body:where(.town) #to-top {
    display: block;
  }
}
body:where(.town) #to-top a {
  pointer-events: auto;
  display: block;
  bottom: 1rem;
  right: 1rem;
  height: auto;
  width: 5rem;
  aspect-ratio: 295/386;
  background: url(/assets/images/common/totop.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: scale 0.5s ease;
}
@media (hover: hover) {
  body:where(.town) #to-top a:hover {
    scale: 1.2;
  }
}
body:where(.town) #sp-makubesu-yomiage {
  display: none;
  top: 0;
  right: 0;
  z-index: 1;
}
body:where(.town) #sp-makubesu-yomiage .tsutaeru-speech {
  display: block;
}
body:where(.town) #top-page {
  margin-top: -10px;
}
@media (min-width: 576px) {
  body:where(.town) #top-page {
    margin-top: 0;
  }
}
@media (min-width: 992px) {
  body:where(.town) #top-page {
    margin-top: -10px;
  }
}
body:where(.town) #top-page hgroup {
  font-size: 2rem;
  color: var(--main-color);
}
body:where(.town) #top-page hgroup img {
  height: 1lh;
  width: 1lh;
  object-fit: contain;
}
body:where(.town) #top-page #top-page-head_sp {
  height: 100svh;
  margin-top: 10px;
  overflow: hidden;
}
body:where(.town) #top-page #top-page-head_sp-bg {
  object-fit: cover;
  object-position: 70% center;
}
body:where(.town) #top-page #top-page-head_sp-menu {
  height: calc(100svh - 70px);
}
body:where(.town) #top-page #top-page-head_sp-logo {
  height: 25%;
  object-fit: contain;
}
body:where(.town) #top-page #top-page-head_sp-deco {
  background: var(--bg-color);
  height: 80px;
  width: 110%;
  translate: 0 55%;
  border-radius: 100%;
}
body:where(.town) #top-page #top-page-head {
  overflow: hidden;
}
@media (min-width: 992px) {
  body:where(.town) #top-page #top-page-head {
    padding-top: 0.5rem;
  }
}
body:where(.town) #top-page #top-page-head-splide {
  position: relative;
}
body:where(.town) #top-page #top-page-head-splide .splide__progress {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}
body:where(.town) #top-page #top-page-head-splide .splide__progress__bar {
  height: 0.5rem;
  background: var(--accent-color);
}
body:where(.town) #top-page #top-page-head-splide .splide-control {
  position: absolute;
  width: 100%;
  top: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
}
body:where(.town) #top-page #top-page-head-splide .splide-control button {
  padding: 0;
  background: var(--bg-color);
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-head-splide .splide-control button:hover {
    background: var(--hover-color);
  }
}
body:where(.town) #top-page #top-page-head-splide .splide-control button svg path {
  fill: var(--text-color);
}
body:where(.town) #top-page #top-page-head-splide .splide-control button svg line {
  stroke: var(--text-color);
}
body:where(.town) #top-page #top-page-head-splide .splide__toggle {
  width: 2rem;
  height: 2rem;
  border-radius: 0.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
body:where(.town) #top-page #top-page-head-splide .splide__toggle svg {
  width: 60%;
  height: 60%;
}
body:where(.town) #top-page #top-page-head-splide .splide__pagination {
  padding-left: 1rem;
}
body:where(.town) #top-page #top-page-head-splide .splide__pagination li {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.5rem;
}
body:where(.town) #top-page #top-page-head-splide .splide__pagination button {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-head-splide .splide__pagination button:hover {
    background: none;
  }
}
body:where(.town) #top-page #top-page-head-splide .splide__pagination button::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--bg-color);
  border-radius: 50%;
  scale: 0.5;
  transition: scale 0.5s ease;
}
body:where(.town) #top-page #top-page-head-splide .splide__pagination button.is-active::after {
  scale: 1;
}
body:where(.town) #top-page #top-page-head-deco {
  background: var(--bg-color);
  height: 15%;
  width: 110%;
  translate: 0 55%;
  border-radius: 100%;
}
body:where(.town) #top-page #top-page-head-logo {
  filter: drop-shadow(0 0 5px black);
  height: max(150px, 35%);
  translate: 0 -20%;
  pointer-events: none;
}
body:where(.town) #top-page #top-page-head-elephpant {
  height: 50%;
  pointer-events: none;
}
body:where(.town) #top-page #top-page-links {
  margin-top: -10%;
}
body:where(.town) #top-page .top-page-links-link {
  width: 23%;
  padding-top: 23%;
}
body:where(.town) #top-page .top-page-links-link a {
  transition: scale 0.5s ease;
}
@media (hover: hover) {
  body:where(.town) #top-page .top-page-links-link a:hover {
    scale: 1.1;
  }
}
body:where(.town) #top-page .top-page-links-link img {
  object-fit: contain;
}
body:where(.town) #top-page #top-page-important-info img {
  width: 1lh;
  height: 1lh;
}
body:where(.town) #top-page #top-page-important-info h2 {
  background: var(--important-color);
  color: white;
  border-radius: 1rem 1rem 0 0;
  font-size: 1.25rem;
}
@media (min-width: 992px) {
  body:where(.town) #top-page #top-page-important-info h2 {
    border-radius: 1rem 0 0 1rem;
  }
}
body:where(.town) #top-page #top-page-important-info > div {
  border: solid 2px var(--important-color);
  border-radius: 0 0 1rem 1rem;
}
@media (min-width: 992px) {
  body:where(.town) #top-page #top-page-important-info > div {
    border-radius: 0 1rem 1rem 0;
  }
}
body:where(.town) #top-page #top-page-important-info ul {
  max-height: 10lh;
  overflow-y: scroll;
}
body:where(.town) #top-page #top-page-important-list a {
  border: solid 1px var(--important-color);
  background: white;
  color: var(--important-color);
  border-radius: 1rem;
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-important-list a:hover {
    background: var(--hover-color);
  }
}
body:where(.town) #top-page #top-page-important-if {
  border: solid 2px var(--important-color);
  border-radius: 1rem;
  background: white;
}
body:where(.town) #top-page #top-page-important-if > *:last-child::after {
  content: none;
}
body:where(.town) #top-page #top-page-important-if > *::after {
  content: "";
  position: absolute;
  display: block;
  background: var(--hover-color);
  width: 90%;
  height: 2px;
  right: auto;
  bottom: -1px;
}
@media (min-width: 992px) {
  body:where(.town) #top-page #top-page-important-if > *::after {
    width: 2px;
    height: 70%;
    right: -1px;
    bottom: auto;
  }
}
body:where(.town) #top-page #top-page-important-if h2 {
  color: var(--important-color);
}
body:where(.town) #top-page #top-page-important-if a {
  color: black;
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-important-if a:hover {
    background: var(--hover-color);
  }
}
body:where(.town) #top-page #top-page-info > div {
  background: var(--sub-color2);
  border-radius: 1rem;
}
body:where(.town) #top-page #top-page-info h3 {
  font-size: 1.5rem;
  color: var(--main-color);
}
body:where(.town) #top-page #top-page-info h3 img {
  height: 1lh;
  width: 1lh;
  object-fit: contain;
}
body:where(.town) #top-page #top-page-info-words a {
  border: solid 1px var(--main-color);
  border-radius: 1rem;
  background: var(--bg-color);
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-info-words a:hover {
    background: var(--hover-color);
  }
}
body:where(.town) #top-page #top-page-info-objective {
  gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 1fr;
}
@media (min-width: 576px) {
  body:where(.town) #top-page #top-page-info-objective {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 768px) {
  body:where(.town) #top-page #top-page-info-objective {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media (min-width: 992px) {
  body:where(.town) #top-page #top-page-info-objective {
    grid-template-columns: repeat(7, 1fr);
  }
}
@media (min-width: 1200px) {
  body:where(.town) #top-page #top-page-info-objective {
    grid-template-columns: repeat(8, 1fr);
  }
}
body:where(.town) #top-page #top-page-info-objective a {
  background: white;
  padding: 5%;
  box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1333333333);
  color: var(--main-color);
  border-radius: 0.25rem;
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-info-objective a:hover {
    background: var(--hover-color);
  }
}
body:where(.town) #top-page #top-page-info-objective img {
  max-height: 100%;
  max-width: 70px;
  width: 100%;
}
body:where(.town) #top-page #top-page-news > div {
  background: url(/assets/images/common/bg-top-news.png);
  background-size: 100% auto;
  background-position: bottom;
  background-repeat: no-repeat;
  border-radius: 1rem;
}
body:where(.town) #top-page #top-page-news-list {
  filter: drop-shadow(0 0.25rem 0.25rem rgba(0, 0, 0, 0.2));
}
body:where(.town) #top-page #top-page-news-list-tab button {
  background: gainsboro;
  color: var(--main-color);
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-news-list-tab button:hover {
    background: var(--accent-color);
  }
}
body:where(.town) #top-page #top-page-news-list-tab button::before, body:where(.town) #top-page #top-page-news-list-tab button::after {
  content: "";
  position: absolute;
  display: block;
  height: 100%;
  width: 2px;
  background: white;
  top: 0;
}
body:where(.town) #top-page #top-page-news-list-tab button::before {
  left: -1px;
}
body:where(.town) #top-page #top-page-news-list-tab button::after {
  right: -1px;
}
body:where(.town) #top-page #top-page-news-list-tab button:first-child {
  border-top-left-radius: 1rem;
}
body:where(.town) #top-page #top-page-news-list-tab button:first-child::before {
  content: none;
}
body:where(.town) #top-page #top-page-news-list-tab button:last-child {
  border-top-right-radius: 1rem;
}
body:where(.town) #top-page #top-page-news-list-tab button:last-child::after {
  content: none;
}
body:where(.town) #top-page #top-page-news-list-tab button.tabbutton-active {
  background: var(--main-color);
  color: white;
  pointer-events: none;
}
body:where(.town) #top-page #top-page-news-list-display {
  background: var(--bg-color);
  border-radius: 0 0 1rem 1rem;
}
body:where(.town) #top-page #top-page-news-list-display > div {
  display: none;
}
body:where(.town) #top-page #top-page-news-list-display > div.newslistactive {
  display: block;
}
body:where(.town) #top-page #top-page-news-list-display ul {
  height: 450px;
  overflow-y: scroll;
}
body:where(.town) #top-page #top-page-news-list-display ul li {
  border-bottom: dashed 2px var(--hover-color);
}
body:where(.town) #top-page #top-page-news-list-display-tag a {
  background: whitesmoke;
  color: black;
  border-radius: 0.5rem;
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-news-list-display-tag a:hover:not(#fakeID#fakeID#fakeID#fakeID#fakeID) {
    background: var(--accent-color) !important;
    color: white !important;
  }
}
body:where(.town) #top-page #top-page-news-list-display-link a {
  background: var(--main-color);
  color: white;
  border-radius: 1rem;
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-news-list-display-link a:hover {
    background: var(--accent-color);
  }
}
body:where(.town) #top-page #top-page-news-list-display-link a img {
  width: 1lh;
  height: 1lh;
}
body:where(.town) #top-page #top-page-news-sns-title img {
  height: 2lh;
  width: 2lh;
}
body:where(.town) #top-page #top-page-news-sns-title p {
  font-size: 1.25rem;
}
body:where(.town) #top-page #top-page-news-sns-links a {
  width: 110px;
  height: 110px;
  background: var(--bg-color);
  border-radius: 100%;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2);
  color: var(--text-color);
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-news-sns-links a:hover {
    background: var(--hover-color);
  }
}
body:where(.town) #top-page #top-page-news-sns-links a img {
  height: 60px;
  width: 60px;
}
body:where(.town) #top-page #top-page-pickup {
  z-index: 0;
}
body:where(.town) #top-page #top-page-pickup-splide {
  position: relative;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__arrows {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  align-items: center;
  background: linear-gradient(to right, var(--bg-color) 0, var(--bg-color) 40px, transparent 56px, transparent calc(100% - 56px), var(--bg-color) calc(100% - 40px), var(--bg-color) 100%);
  pointer-events: none;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__arrows::before, body:where(.town) #top-page #top-page-pickup-splide .splide__arrows::after {
  content: "";
  display: block;
  position: absolute;
  width: 56px;
  height: 100%;
  background: transparent;
  top: 0;
  pointer-events: auto;
  z-index: 0;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__arrows::before {
  left: 0;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__arrows::after {
  right: 0;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__arrows button {
  position: absolute;
  padding: 0;
  background: none;
  opacity: 0.5;
  pointer-events: auto;
  z-index: 1;
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-pickup-splide .splide__arrows button:hover svg path {
    fill: var(--hover-color);
  }
}
body:where(.town) #top-page #top-page-pickup-splide .splide__arrows button svg path {
  fill: var(--text-color);
}
body:where(.town) #top-page #top-page-pickup-splide .splide__arrows button.splide__arrow--prev {
  scale: -1;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__arrows button.splide__arrow--next {
  right: 0;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__track {
  overflow: clip visible;
  position: relative;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__slide {
  display: flex;
  flex-direction: column;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__slide * {
  margin: 0;
  padding: 0;
  color: inherit;
  line-height: inherit;
  font-size: 1em;
  font-weight: inherit;
  font-style: inherit;
  overflow-wrap: anywhere;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__slide a {
  box-shadow: 0 0.25rem 0.5rem var(--hover-color);
  border-radius: 1rem;
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-pickup-splide .splide__slide a:hover .splide__slide-deco {
    background: var(--accent-color);
  }
}
body:where(.town) #top-page #top-page-pickup-splide .splide__slide a img {
  border-radius: 1rem 1rem 0 0;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__slide a > div {
  border-radius: 0 0 1rem 1rem;
  background: var(--bg-color);
}
body:where(.town) #top-page #top-page-pickup-splide .splide__slide a > div b {
  font-size: 1.25rem;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__slide a > div .splide__slide-deco {
  width: 3rem;
  height: 3rem;
  background: var(--main-color);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  border-bottom-right-radius: 1rem;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__slide a > div .splide__slide-deco div {
  background: white;
  width: 1rem;
  height: 1rem;
  right: 0.5rem;
  bottom: 0.5rem;
  clip-path: polygon(0 40%, 50% 90%, 100% 40%, 90% 30%, 50% 70%, 10% 30%);
  clip-path: polygon(40% 0, 90% 50%, 40% 100%, 30% 90%, 70% 50%, 30% 10%);
}
body:where(.town) #top-page #top-page-pickup-splide .splide__pagination {
  display: flex;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__pagination button {
  margin: 1rem 0.25rem;
  width: 1rem;
  height: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  background: none;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__pagination button::after {
  content: "";
  display: block;
  background: var(--text-color);
  opacity: 0.5;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  scale: 0.6;
  transition: scale 0.5s ease;
}
body:where(.town) #top-page #top-page-pickup-splide .splide__pagination button.is-active::after {
  scale: 1;
}
body:where(.town) #top-page #top-page-pr > div {
  background: url(/assets/images/common/bg-top-pr.png);
  background-position: 200px 500px;
  background-size: 1250px auto;
  border-radius: 1rem;
}
body:where(.town) #top-page #top-page-pr-display > div:nth-child(1) {
  width: 100%;
}
@media (min-width: 992px) {
  body:where(.town) #top-page #top-page-pr-display > div:nth-child(1) {
    width: 30%;
  }
}
body:where(.town) #top-page #top-page-pr-display > div:nth-child(1) a:nth-child(1) {
  background: var(--bg-color);
  color: var(--text-color);
  border-radius: 1rem;
  overflow: hidden;
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-pr-display > div:nth-child(1) a:nth-child(1):hover .top-page-pr-deco {
    background: var(--accent-color);
  }
}
body:where(.town) #top-page #top-page-pr-display > div:nth-child(1) a:nth-child(1) img {
  width: 65%;
  object-fit: contain;
  max-height: 250px;
}
@media (min-width: 992px) {
  body:where(.town) #top-page #top-page-pr-display > div:nth-child(1) a:nth-child(1) img {
    max-height: auto;
  }
}
body:where(.town) #top-page #top-page-pr-display > div:nth-child(2) {
  width: 100%;
}
@media (min-width: 992px) {
  body:where(.town) #top-page #top-page-pr-display > div:nth-child(2) {
    width: 60%;
  }
}
body:where(.town) #top-page #top-page-pr-backnumber {
  background: var(--main-color);
  color: white;
  border-radius: 1rem;
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-pr-backnumber:hover {
    background: var(--accent-color);
  }
}
body:where(.town) #top-page #top-page-pr-backnumber img {
  width: 1lh;
  height: 1lh;
}
body:where(.town) #top-page #top-page-pr-youtube {
  width: 100%;
  padding-top: 56.25%;
  border-radius: 1rem 1rem 0 0;
  overflow: hidden;
  background: gainsboro;
}
body:where(.town) #top-page #top-page-youtube_title {
  background: var(--bg-color);
  color: var(--text-color);
  border-radius: 0 0 1rem 1rem;
  overflow: hidden;
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-youtube_title:hover .top-page-pr-deco {
    background: var(--accent-color);
  }
}
body:where(.town) #top-page .top-page-pr-deco {
  width: 3rem;
  height: 3rem;
  background: var(--main-color);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
body:where(.town) #top-page .top-page-pr-deco div {
  background: white;
  width: 1rem;
  height: 1rem;
  right: 0.5rem;
  bottom: 0.5rem;
  clip-path: polygon(0 40%, 50% 90%, 100% 40%, 90% 30%, 50% 70%, 10% 30%);
  clip-path: polygon(40% 0, 90% 50%, 40% 100%, 30% 90%, 70% 50%, 30% 10%);
}
body:where(.town) #top-page #top-page-about > div {
  background: var(--sub-color2);
  border-radius: 1rem;
  color: black;
}
body:where(.town) #top-page #top-page-about h3 {
  font-size: 1.5rem;
}
body:where(.town) #top-page #top-page-about dl {
  border-bottom: dashed 2px black;
  font-size: 1.125rem;
}
body:where(.town) #top-page #top-page-about dl:nth-child(1 of body:where(.town) #top-page #top-page-about dl) dd {
  font-size: 1.5rem;
}
body:where(.town) #top-page #top-page-about dl img {
  height: 1lh;
  width: 1lh;
}
body:where(.town) #top-page #top-page-about dt {
  background: var(--main-color);
  color: white;
  border-radius: 0 1rem 1rem 0;
  padding-right: 1.5rem;
}
body:where(.town) #top-page #top-page-about dt > span {
  min-width: 3ic;
}
body:where(.town) #top-page #top-page-about-title {
  font-size: 1.75rem;
}
body:where(.town) #top-page #top-page-about-title img {
  width: 4rem;
  height: 4rem;
}
body:where(.town) #top-page #top-page-about-title span {
  font-size: 2rem;
}
body:where(.town) #top-page #top-page-about-links1 {
  gap: 1rem;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  body:where(.town) #top-page #top-page-about-links1 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 992px) {
  body:where(.town) #top-page #top-page-about-links1 {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-about-links1 > a:hover p {
    background: var(--accent-color);
  }
  body:where(.town) #top-page #top-page-about-links1 > a:hover p::after {
    background: var(--main-color);
  }
}
body:where(.town) #top-page #top-page-about-links1 img {
  border-radius: 1rem 1rem 0 0;
}
body:where(.town) #top-page #top-page-about-links1 p {
  background: white;
  color: var(--main-color);
  border-radius: 0 0 1rem 1rem;
}
body:where(.town) #top-page #top-page-about-links1 p::after {
  content: "";
  position: absolute;
  display: block;
  height: 1em;
  width: 0.8660254038em;
  background: var(--accent-color);
  right: 0.5rem;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
body:where(.town) #top-page #top-page-about-links2 {
  gap: 1rem;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  body:where(.town) #top-page #top-page-about-links2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  body:where(.town) #top-page #top-page-about-links2 {
    grid-template-columns: repeat(3, 1fr);
  }
}
body:where(.town) #top-page #top-page-about-links2 a {
  background: white;
  border-radius: 1rem;
}
@media (hover: hover) {
  body:where(.town) #top-page #top-page-about-links2 a:hover {
    background: var(--accent-color);
  }
  body:where(.town) #top-page #top-page-about-links2 a:hover p {
    background: var(--accent-color);
  }
  body:where(.town) #top-page #top-page-about-links2 a:hover p::after {
    background: var(--main-color);
  }
}
body:where(.town) #top-page #top-page-about-links2 img {
  width: 40%;
  border-radius: 1rem 0 0 1rem;
  object-fit: cover;
  clip-path: polygon(0 0, 100% 0, calc(100% - 2rem) 100%, 0 100%);
}
body:where(.town) #top-page #top-page-about-links2 p {
  width: 60%;
  background: white;
  color: var(--main-color);
  border-radius: 0 1rem 1rem 0;
}
body:where(.town) #top-page #top-page-about-links2 p::after {
  content: "";
  position: absolute;
  display: block;
  height: 1em;
  width: 0.8660254038em;
  background: var(--accent-color);
  right: 0.5rem;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
body:where(.town) #search-box > div {
  background: var(--sub-color1);
  border-radius: 1rem;
}
body:where(.town) #search-box > div #serach-box-word {
  background: var(--bg-color);
  border-radius: 0.5em;
}
body:where(.town) #search-box > div #serach-box-word img {
  height: 1lh;
  margin-right: 0.25em;
}
body:where(.town) #search-box > div #serach-box-word :not(a, a *) {
  color: var(--text-color);
}
body:where(.town) #search-box > div #serach-box-word > *:not(:last-child) {
  margin-right: 1em;
}
body:where(.town) #bread-list #bread-list-text {
  margin-right: 1em;
}
body:where(.town) #bread-list #bread-list-text * {
  color: white;
  background: var(--main-color);
}
body:where(.town) #bread-list #bread-list-text p {
  padding: 0.25em 0.5em;
}
body:where(.town) #bread-list #bread-list-text div {
  width: 0.5em;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
body:where(.town) #bread-list #bread-list-links > div {
  margin-right: 1em;
}
body:where(.town) #bread-list #bread-list-links > div:has(a)::after {
  content: "";
  display: block;
  margin-left: 1em;
  height: 1em;
  width: 1em;
  background: var(--text-color);
  clip-path: polygon(40% 0, 90% 50%, 40% 100%, 30% 90%, 70% 50%, 30% 10%);
}
body:where(.town) #site-contents .archive-thumbnail {
  max-height: 220px;
  width: auto;
}
body:where(.town) #site-contents #kohomakubetsu-archive .thumb {
  max-width: 800px;
  margin: auto;
  width: 100%;
}
body:where(.town) #site-contents #site-contents-bigtitle > div > div:nth-child(1) {
  background: var(--main-color);
  color: white;
  font-size: 2rem;
}
@media (min-width: 992px) {
  body:where(.town) #site-contents #site-contents-bigtitle > div > div:nth-child(1) {
    width: 40%;
  }
}
body:where(.town) #site-contents #site-contents-bigtitle > div > div:nth-child(1) img {
  width: 2lh;
  height: 2lh;
}
body:where(.town) #site-contents #site-contents-bigtitle > div > div:nth-child(2) {
  position: relative;
  padding-top: 33.4448160535%;
  width: 100%;
}
@media (min-width: 992px) {
  body:where(.town) #site-contents #site-contents-bigtitle > div > div:nth-child(2) {
    padding-top: 20.0668896321%;
    width: 60%;
  }
}
body:where(.town) #site-contents #site-contents-bigtitle > div > div:nth-child(2) img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
body:where(.town) #site-contents #site-contents-title > * {
  background: var(--main-color);
  color: white;
  border-radius: 1rem;
  font-size: 2rem;
}
body:where(.town) #site-contents #site-contents-title > *::before, body:where(.town) #site-contents #site-contents-title > *::after {
  content: "";
  display: block;
  width: 0.5em;
  height: 1.5em;
  background: linear-gradient(to right, transparent, transparent 50%, var(--main-color) 0), linear-gradient(to bottom, transparent, transparent 50%, var(--main-color) 0), white;
  background-size: 0.2em 0.2em;
  margin: 0 1rem;
  flex-shrink: 0;
}
body:where(.town) #site-contents #gikaidayori-archive caption {
  caption-side: top;
  text-align: center;
  padding: 0.5rem;
  font-weight: bold;
}
body:where(.town) #site-contents #gikaidayori-archive th {
  text-align: center;
  color: white;
  font-weight: bold;
  background: var(--main-color);
  border: solid 1px var(--main-color);
}
body:where(.town) #site-contents #live-broadcast > div:nth-child(1) {
  background: url(/assets/images/common/live-broadcast.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  min-height: 6lh;
  border-radius: 1rem 1rem 0 0;
}
@media (min-width: 992px) {
  body:where(.town) #site-contents #live-broadcast > div:nth-child(1) {
    border-radius: 1rem 0 0 1rem;
  }
}
body:where(.town) #site-contents #live-broadcast > div:nth-child(1)::before {
  content: "";
  position: absolute;
  display: block;
  background: rgba(0, 0, 0, 0.5333333333);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
body:where(.town) #site-contents #live-broadcast > div:nth-child(1) h2 {
  font-size: 2rem;
  color: white;
  position: relative;
}
body:where(.town) #site-contents #live-broadcast > div:nth-child(1) h2 span {
  background: red;
}
body:where(.town) #site-contents #live-broadcast > div:nth-child(2) {
  background: var(--sub-color2);
  border-radius: 0 0 1rem 1rem;
}
@media (min-width: 992px) {
  body:where(.town) #site-contents #live-broadcast > div:nth-child(2) {
    border-radius: 0 1rem 1rem 0;
  }
}
body:where(.town) #site-contents #live-broadcast > div:nth-child(2) p {
  color: black;
  font-size: 1.25rem;
}
body:where(.town) #site-contents #live-broadcast > div:nth-child(2) a {
  background: var(--main-color);
  color: white;
  border-radius: 1rem;
}
@media (hover: hover) {
  body:where(.town) #site-contents #live-broadcast > div:nth-child(2) a:hover {
    background: var(--accent-color);
  }
}
body:where(.town) #site-contents #live-broadcast > div:nth-child(2) a::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(/assets/images/common/icon-arrow-r-white.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 0.5em;
  flex-shrink: 0;
}
body:where(.town) #site-contents #live-broadcast > div:nth-child(2) .hr-line {
  border-bottom: dashed 2px gray;
}
body:where(.town) #site-contents #search-event .filter-buttons {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
}
body:where(.town) #site-contents #search-event .filter-btn,
body:where(.town) #site-contents #search-event .btn {
  padding: 7px;
  border: 1px solid #ccc;
  background-color: #f9f9f9;
  cursor: pointer;
  border-radius: 5px;
  transition: background-color 0.3s;
}
@media (hover: hover) {
  body:where(.town) #site-contents #search-event .filter-btn:hover,
  body:where(.town) #site-contents #search-event .btn:hover {
    background-color: #0056b3;
    color: white;
  }
}
body:where(.town) #site-contents #search-event .filter-btn.active,
body:where(.town) #site-contents #search-event .btn.active {
  background-color: #007bff;
  color: white;
  border-color: #007bff;
}
body:where(.town) #site-contents #search-event #search-event-month {
  font-size: 2rem;
}
body:where(.town) #site-contents #search-event #search-event-month::before, body:where(.town) #site-contents #search-event #search-event-month::after {
  content: "";
  display: block;
  max-width: 3ic;
  width: 20%;
  height: 2px;
  background: var(--main-color);
  flex-shrink: 0;
}
body:where(.town) #site-contents #search-event #search-event-select_month-prevnext > * {
  background: var(--main-color);
  color: white;
  padding: 0.25em 1em;
  margin: 0 0.25em;
}
body:where(.town) #site-contents #search-event #search-event-select_month-prevnext > div {
  cursor: default;
}
@media (hover: hover) {
  body:where(.town) #site-contents #search-event #search-event-select_month-prevnext > *:not(div):hover {
    background: var(--accent-color);
  }
}
body:where(.town) #site-contents #search-event #search-event-select_month-prevnext #search-event-select_month-prev {
  padding-left: 1.25em;
  clip-path: polygon(0 50%, 1em 0, 100% 0, 100% 100%, 1em 100%);
}
body:where(.town) #site-contents #search-event #search-event-select_month-prevnext #search-event-select_month-next {
  padding-right: 1.25em;
  clip-path: polygon(0 0, calc(100% - 1em) 0, 100% 50%, calc(100% - 1em) 100%, 0 100%);
}
body:where(.town) #site-contents #search-event #search-event-calendar {
  background: var(--sub-color3);
  border-radius: 1rem;
  position: relative;
}
body:where(.town) #site-contents #search-event #search-event-calendar.hasevent > div:not(:has(.search-event-calendar-event > *)) {
  display: none !important;
}
body:where(.town) #site-contents #search-event #search-event-calendar > div {
  background: var(--bg-color);
  border-radius: 0.5rem;
}
body:where(.town) #site-contents #search-event #search-event-calendar > div:nth-child(n+2) {
  margin-top: 0.5rem;
}
body:where(.town) #site-contents #search-event #search-event-calendar .kurashi {
  background: #f26065 !important;
}
body:where(.town) #site-contents #search-event #search-event-calendar .kenkou {
  background: #f9b361 !important;
}
body:where(.town) #site-contents #search-event #search-event-calendar .kyouiku {
  background: #aed778 !important;
}
body:where(.town) #site-contents #search-event #search-event-calendar .kanko-sangyo {
  background: #4cb27c !important;
}
body:where(.town) #site-contents #search-event #search-event-calendar .bousai {
  background: #69c4eb !important;
}
body:where(.town) #site-contents #search-event #search-event-calendar .chosei {
  background: #6c6eb2 !important;
}
body:where(.town) #site-contents #search-event #search-event-calendar .calendar-text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  /* 任意の行数を指定 */
}
body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-day {
  background: var(--sub-color2);
  color: black;
  border-radius: 0.5rem;
}
body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-day.saturday {
  background: #e8f6fb;
  color: #6b6db2;
}
body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-day.sunday, body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-day.holiday {
  background: #fde7e7;
  color: var(--important-color);
}
body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-day span {
  font-size: 2rem;
}
body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-day p {
  width: auto;
  text-align: center;
}
@media (min-width: 576px) {
  body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-day p {
    width: 4rem;
  }
}
body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-events {
  width: 100%;
}
body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-events .search-event-calendar-event:nth-child(n+2) {
  border-top: dashed 2px var(--hover-color);
  margin-top: 0.5rem;
  padding-top: 0.5rem;
}
body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-events .event-tag {
  background: var(--main-color);
  border-radius: 0.25rem;
  color: white;
}
body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-events .reservation {
  background: var(--important-color);
  color: white;
}
body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-events .no-reservation {
  background: #69c4ea;
  color: white;
}
body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-events :is(.event-time, .event-place) span {
  display: inline-block;
  width: 1lh;
  height: 1lh;
  margin-right: 0.25em;
}
body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-events .event-time span {
  background: url(/assets/images/common/clock.png);
  background-size: contain;
  background-repeat: no-repeat;
}
body:where(.town) #site-contents #search-event #search-event-calendar .search-event-calendar-events .event-place span {
  background: url(/assets/images/common/pin.png);
  background-size: contain;
  background-repeat: no-repeat;
}
body:where(.town) #site-contents #main-contents .file-icon {
  font-size: 1rem;
}
body:where(.town) #site-contents #main-contents .file-icon .icon-img {
  max-width: 1rem !important;
  min-width: initial;
}
body:where(.town) #site-contents #main-contents #child-single-pages > div > div > a {
  border: solid 2px var(--main-color);
  border-radius: 1rem;
  color: var(--text-color);
  background: var(--bg-color);
}
body:where(.town) #site-contents #main-contents #child-single-pages > div > div > a::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(/assets/images/common/icon-arrow-r-green.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 0.5em;
  flex-shrink: 0;
}
@media (hover: hover) {
  body:where(.town) #site-contents #main-contents #child-single-pages > div > div > a:hover {
    background: var(--hover-color);
  }
}
body:where(.town) #site-contents #main-contents #main-contents-title h1,
body:where(.town) #site-contents #main-contents #main-contents-title h2 {
  background: var(--main-color);
  color: white;
  border-radius: 1rem;
  font-size: 1.75rem;
}
body:where(.town) #site-contents #main-contents #main-contents-title h1::before, body:where(.town) #site-contents #main-contents #main-contents-title h1::after,
body:where(.town) #site-contents #main-contents #main-contents-title h2::before,
body:where(.town) #site-contents #main-contents #main-contents-title h2::after {
  content: "";
  display: block;
  width: 0.5em;
  height: 1.5em;
  background: linear-gradient(to right, transparent, transparent 50%, var(--main-color) 0), linear-gradient(to bottom, transparent, transparent 50%, var(--main-color) 0), white;
  background-size: 0.2em 0.2em;
  margin: 0 1rem;
  flex-shrink: 0;
}
body:where(.town) #site-contents #main-contents #news-list li {
  border-bottom: dashed 2px var(--hover-color);
}
body:where(.town) #site-contents #main-contents #news-list li #news-list-tags > *:is(a, span) {
  background: whitesmoke;
  color: black;
  border-radius: 0.25em;
}
@media (hover: hover) {
  body:where(.town) #site-contents #main-contents #news-list li #news-list-tags > a:not(#fakeID):hover {
    background: var(--accent-color) !important;
    color: white !important;
  }
}
body:where(.town) #site-contents #main-contents #news-list .whats-news {
  background: var(--main-color);
  color: white;
  border-radius: 1rem;
}
@media (hover: hover) {
  body:where(.town) #site-contents #main-contents #news-list .whats-news:hover {
    background: var(--accent-color);
  }
}
body:where(.town) #site-contents #main-contents #news-list .whats-news::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(/assets/images/common/icon-arrow-r-white.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 0.5em;
  flex-shrink: 0;
}
body:where(.town) #site-contents #main-contents:has(#main-article) #child-pages #child-pages-box h3 {
  background: var(--text-color);
}
body:where(.town) #site-contents #main-contents:has(#main-article) #child-pages #child-pages-box h3 a {
  color: var(--bg-color);
}
body:where(.town) #site-contents #main-contents #child-pages h2 {
  font-size: 0;
}
body:where(.town) #site-contents #main-contents #child-pages #child-pages-box > div > div {
  border: solid 2px var(--hover-color);
  border-radius: 1rem;
}
body:where(.town) #site-contents #main-contents #child-pages #child-pages-box h3 {
  font-size: 1.5rem;
}
body:where(.town) #site-contents #main-contents #child-pages #child-pages-box h3::before {
  content: "";
  position: absolute;
  left: -2px;
  display: block;
  background: var(--main-color);
  width: 0.25em;
  height: 100%;
}
body:where(.town) #site-contents #main-contents #child-pages #child-pages-box :not(h3) > a {
  width: fit-content;
  margin-right: 1em;
}
body:where(.town) #site-contents #main-contents #child-pages #child-pages-box :not(h3) > a::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(/assets/images/common/icon-arrow-r-green.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 0.5em;
  flex-shrink: 0;
}
body:where(.town) #site-contents #main-contents :is(#page-contact, #page-enquete) {
  border: solid 2px var(--hover-color);
  border-radius: 1rem;
}
body:where(.town) #site-contents #main-contents :is(#page-contact, #page-enquete) h2 {
  font-size: 1.5rem;
}
body:where(.town) #site-contents #main-contents :is(#page-contact, #page-enquete) h2 img {
  width: 1.5em;
  height: 1.5em;
  margin-right: 0.5em;
}
body:where(.town) #site-contents #main-contents :is(#page-contact, #page-enquete) .hr-line {
  height: 2px;
  background: var(--hover-color);
}
body:where(.town) #site-contents #main-contents #page-contact em {
  font-size: 1.125rem;
}
body:where(.town) #site-contents #main-contents #other-pages #other-pages-title {
  background: var(--main-color);
  color: white;
  border-radius: 1rem 1rem 0 0;
}
@media (min-width: 992px) {
  body:where(.town) #site-contents #main-contents #other-pages #other-pages-title {
    border-radius: 1rem 0 0 1rem;
  }
}
body:where(.town) #site-contents #main-contents #other-pages #other-pages-title img {
  width: 3em;
  height: 3em;
}
body:where(.town) #site-contents #main-contents #other-pages #other-pages-list {
  border: solid 2px var(--main-color);
  border-radius: 0 0 1rem 1rem;
}
@media (min-width: 992px) {
  body:where(.town) #site-contents #main-contents #other-pages #other-pages-list {
    border-radius: 0 1rem 1rem 0;
  }
}
body:where(.town) #site-contents #main-contents #other-pages #other-pages-list a {
  width: fit-content;
  margin-right: 1em;
}
body:where(.town) #site-contents #main-contents #other-pages #other-pages-list a::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(/assets/images/common/icon-arrow-r-green.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 0.5em;
  flex-shrink: 0;
}
body:where(.town) #site-contents #main-contents #page-enquete .hr-line {
  background: var(--main-color);
}
body:where(.town) #site-contents #main-contents #page-enquete .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
body:where(.town) #site-contents #main-contents #page-enquete form fieldset legend {
  color: var(--main-color);
  font-size: 1.125rem;
}
body:where(.town) #site-contents #main-contents #page-enquete form fieldset legend::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background: url(/assets/images/common/icon-q.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 0.25em;
  flex-shrink: 0;
}
body:where(.town) #site-contents #main-contents #page-enquete form fieldset :has([type=radio]) {
  margin-right: 1em;
}
body:where(.town) #site-contents #main-contents #page-enquete form fieldset [type=radio] {
  margin-right: 0.25em;
  height: 1.25em;
  width: 1.25em;
}
body:where(.town) #site-contents #main-contents #page-enquete form fieldset small {
  font-size: 0.8em;
  color: var(--important-color);
}
body:where(.town) #site-contents #main-contents #page-enquete form fieldset [type=text] {
  border: solid 1px var(--main-color);
  border-radius: 0.5rem;
}
body:where(.town) #site-contents #main-contents #page-enquete form button {
  background: var(--main-color);
  color: white;
  border-radius: 0.5rem;
}
@media (hover: hover) {
  body:where(.town) #site-contents #main-contents #page-enquete form button:hover {
    background: var(--accent-color);
  }
}
body:where(.town) #site-contents #side-contents section:not(#magazine-backnumber) h2 {
  background: var(--main-color);
  border-radius: 1rem 1rem 0 0;
  font-size: 1.25rem;
  color: white;
}
body:where(.town) #site-contents #side-contents section:not(#magazine-backnumber) h2 img {
  height: 1lh;
  width: 1lh;
  margin-right: 0.25em;
}
body:where(.town) #site-contents #side-contents section:not(#magazine-backnumber) > div {
  border: solid 2px var(--main-color);
  border-radius: 0 0 1rem 1rem;
}
body:where(.town) #site-contents #side-contents section#monthly-archives dl:not(:last-child) {
  border-bottom: dashed 2px var(--hover-color);
}
body:where(.town) #site-contents #side-contents section#monthly-archives dl dt button {
  color: var(--link-color);
  background: none;
  text-decoration: underline;
}
body:where(.town) #site-contents #side-contents section#monthly-archives dl dt button * {
  pointer-events: none;
}
@media (hover: hover) {
  body:where(.town) #site-contents #side-contents section#monthly-archives dl dt button:hover {
    text-decoration: none;
  }
}
body:where(.town) #site-contents #side-contents section#monthly-archives dl dt button::after {
  content: "";
  display: block;
  width: 1lh;
  height: 1lh;
  clip-path: polygon(0 40%, 50% 90%, 100% 40%, 90% 30%, 50% 70%, 10% 30%);
  background: var(--link-color);
  transition: rotate 0.5s ease;
}
body:where(.town) #site-contents #side-contents section#monthly-archives dl dt button.buttonactive::after {
  rotate: 540deg;
}
body:where(.town) #site-contents #side-contents section#monthly-archives dl dt:has(button.buttonactive) + dd {
  grid-template-rows: 1fr;
}
body:where(.town) #site-contents #side-contents section#monthly-archives dl dt:has(button.buttonactive) + dd ul {
  margin-top: 0.5rem;
  padding-bottom: 0.5rem;
}
body:where(.town) #site-contents #side-contents section#monthly-archives dl dd {
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s ease;
}
body:where(.town) #site-contents #side-contents section#monthly-archives dl dd ul {
  overflow: hidden;
  margin: 0;
  padding: 0;
  transition: margin 0.5s, padding 0.5s ease;
}
body:where(.town) #site-contents #side-contents section#category-list li:not(:last-child) {
  border-bottom: dashed 2px var(--hover-color);
}
body:where(.town) #site-contents #side-contents section#category-list li a {
  width: fit-content;
}
body:where(.town) #site-contents #side-contents section#category-list li a div {
  position: absolute;
  width: 0.25em;
  height: 80%;
  background: gray;
  top: 10%;
  left: 0;
}
body:where(.town) #site-contents #side-contents section#magazine-backnumber #magazine-backnumber-thumbnail {
  max-width: 307px;
  margin: auto;
}
body:where(.town) #site-contents #side-contents section#magazine-backnumber #magazine-backnumber-thumbnail > div {
  padding-top: 100%;
}
@media (hover: hover) {
  body:where(.town) #site-contents #side-contents section#magazine-backnumber #magazine-backnumber-thumbnail a:hover {
    filter: brightness(1.2);
  }
}
body:where(.town) #site-contents #side-contents section#magazine-backnumber #magazine-backnumber-thumbnail img {
  object-fit: contain;
  object-position: center;
}
body:where(.town) #site-contents #side-contents section#magazine-backnumber #magazine-backnumber-link a {
  background: var(--main-color);
  color: white;
  border-radius: 1rem;
}
body:where(.town) #site-contents #side-contents section#magazine-backnumber #magazine-backnumber-link a::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(/assets/images/common/icon-arrow-r-white.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 0.5em;
  flex-shrink: 0;
}
@media (hover: hover) {
  body:where(.town) #site-contents #side-contents section#magazine-backnumber #magazine-backnumber-link a:hover {
    background: var(--accent-color);
  }
}
body:where(.town) #site-contents #side-contents section#important-notice h2 {
  background: var(--important-color);
}
body:where(.town) #site-contents #side-contents section#important-notice > div {
  border-color: var(--important-color);
}
body:where(.town) #site-contents #side-contents section#important-notice li {
  border-bottom: dashed 2px var(--hover-color);
}
body:where(.town) #site-contents #side-contents section#important-notice #important-notice-link {
  border: solid 2px var(--important-color);
  border-radius: 0.5rem;
  color: var(--text-color);
}
@media (hover: hover) {
  body:where(.town) #site-contents #side-contents section#important-notice #important-notice-link:hover {
    background: var(--hover-color);
  }
}
body:where(.town) #site-contents #side-contents section#recommended-pages:not(:has(li)) {
  display: none;
}
body:where(.town) #site-contents #side-contents section:is(#monthly-archives, #recommended-pages, #related-links) a {
  width: fit-content;
}
body:where(.town) #site-contents #side-contents section:is(#monthly-archives, #recommended-pages, #related-links) a::before {
  content: "";
  display: block;
  height: 0.5em;
  width: 0.4330127019em;
  background: var(--link-color);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  flex-shrink: 0;
  margin-right: 0.5em;
  margin-top: 0.4em;
  translate: 0.1em;
}
body:where(.town) #site-contents #side-contents section:is(#monthly-archives, #recommended-pages, #related-links) li {
  margin-block: 0.25em;
  line-height: 1.1lh;
}
body:where(.town) #site-contents #child-lots-pages h2 {
  font-size: 0;
}
body:where(.town) #site-contents #child-lots-pages #child-pages-box > div > div {
  border: solid 2px var(--hover-color);
  border-radius: 1rem;
}
body:where(.town) #site-contents #child-lots-pages #child-pages-box h3 {
  font-size: 1.5rem;
}
body:where(.town) #site-contents #child-lots-pages #child-pages-box h3 ::before {
  content: "";
  position: absolute;
  left: -2px;
  display: block;
  background: var(--main-color);
  width: 0.25em;
  height: 100%;
}
body:where(.town) #site-contents #child-lots-pages #child-pages-box :not(h3) > a {
  width: fit-content;
  margin-right: 1em;
}
body:where(.town) #site-contents #child-lots-pages #child-pages-box :not(h3) > a::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(/assets/images/common/icon-arrow-r-green.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 0.5em;
  flex-shrink: 0;
}
body:where(.town) #site-contents .get_acrobat {
  display: flex;
  flex-wrap: wrap;
  border: solid 2px #828282;
  padding: 1rem;
  background-color: #fafafa;
  border-radius: 1rem;
}
body:where(.town) #site-contents #contact-form .sr-only {
  background-color: var(--important-color);
  color: white;
  font-weight: bold;
  padding: 0 8px;
  border-radius: 8px;
}
body:where(.town) #site-contents #contact-form .form_btns {
  background: var(--main-color);
  color: white;
  border-radius: 0.5rem;
}
body:where(.town) #site-contents #contact-form .confirm tr {
  border-bottom: 1px solid #c6c6c6;
}
body:where(.town) #site-contents #contact-form .confirm .text-muted {
  display: none;
}
body:where(.town) #site-contents #contact-form .form_table {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 1rem 0;
}
body:where(.town) #site-contents #contact-form .form_table .text-muted {
  padding: 0.25rem 0;
}
body:where(.town) #site-contents #contact-form .form_table tbody {
  width: 100%;
}
body:where(.town) #site-contents #contact-form .form_table tr {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0.25rem 0;
}
body:where(.town) #site-contents #contact-form .form_table th {
  min-height: 3rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background: #f1f1f1;
  padding: 0.5rem;
}
body:where(.town) #site-contents #contact-form .form_table td {
  width: 100%;
  display: block;
  padding: 0.5rem 0;
  min-height: 3rem;
}
body:where(.town) #site-contents #contact-form .form_table .cell-form-input {
  padding: 0.5rem;
}
@media (min-width: 992px) {
  body:where(.town) #site-contents #contact-form .form_table tr {
    flex-direction: row;
    align-items: normal;
  }
  body:where(.town) #site-contents #contact-form .form_table th {
    width: 25%;
    min-height: 3rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background: #f1f1f1;
    padding: 0.5rem;
  }
  body:where(.town) #site-contents #contact-form .form_table td {
    width: 75%;
  }
}
body:where(.town) .sitemap li div,
body:where(.town) .sitemap li h3 {
  position: relative;
}
body:where(.town) .sitemap li :is(div, h3)::after {
  content: "";
  position: absolute;
  display: block;
  background: var(--hover-color);
  height: 1px;
  bottom: -0.5rem;
}
body:where(.town) .sitemap li div::after {
  width: calc(100% + 1.125lh - 0.5rem);
  left: -1.125lh;
}
body:where(.town) .sitemap li h3::after {
  width: calc(100% - 0.5rem);
  left: 0;
}
body:where(.town) .sitemap > li:nth-child(2n) div::after {
  width: calc(100% + 1.125lh);
}
body:where(.town) .sitemap > li:nth-child(2n) h3 {
  width: 100%;
}
body:where(.town) footer #footer-ad {
  background: url(/assets/images/common/footer-ad-bg.jpg);
  background-size: 1000px 160px;
}
body:where(.town) footer #footer-ad #footer-ad-title div {
  height: 1px;
  max-width: 8ic;
  width: 100%;
  background: black;
}
body:where(.town) footer #footer-ad #footer-ad-title p {
  padding: 0 1ic;
  color: black;
}
body:where(.town) footer #footer-ad #footer-ad-box a {
  background: lightgray;
  padding-top: 25%;
}
@media (hover: hover) {
  body:where(.town) footer #footer-ad #footer-ad-box a:hover {
    filter: brightness(1.25);
  }
}
body:where(.town) footer #footer-main {
  background: url(/assets/images/common/footer-main-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-top: solid 10px var(--main-color);
}
body:where(.town) footer #footer-main #footer-main-title {
  font-size: 0;
}
body:where(.town) footer #footer-main #footer-main-links1 li {
  width: 100%;
  text-align: center;
}
@media (min-width: 992px) {
  body:where(.town) footer #footer-main #footer-main-links1 li {
    width: auto;
  }
}
body:where(.town) footer #footer-main #footer-main-links1 li::before, body:where(.town) footer #footer-main #footer-main-links1 li::after {
  content: "";
  display: block;
  position: absolute;
  height: calc(100% - 0.5em);
  width: 1px;
  background: var(--main-color);
}
body:where(.town) footer #footer-main #footer-main-links1 li::before {
  top: 0.25em;
  left: -0.5px;
}
body:where(.town) footer #footer-main #footer-main-links1 li::after {
  top: 0.25em;
  right: -0.5px;
}
body:where(.town) footer #footer-main #footer-main-links1 li a {
  color: var(--main-color);
  font-size: 1.125rem;
  padding: 0.5em 1em;
  width: 100%;
}
@media (hover: hover) {
  body:where(.town) footer #footer-main #footer-main-links1 li a:hover {
    background: var(--hover-color);
    color: var(--text-color);
  }
}
body:where(.town) footer #footer-main #footer-main-logo img {
  max-width: 250px;
  filter: drop-shadow(0 0 5px white) drop-shadow(0 0 5px white);
}
body:where(.town) footer #footer-main #footer-main-p p {
  color: black;
  filter: drop-shadow(0 0 5px white) drop-shadow(0 0 5px white);
}
body:where(.town) footer #footer-main #footer-main-links2 {
  font-size: 1.125rem;
}
body:where(.town) footer #footer-main #footer-main-links2 li {
  padding: 0 0.5em;
}
body:where(.town) footer #footer-main #footer-main-links2 li a {
  background: var(--main-color);
  color: white;
  padding: 0.5em 1em;
  border-radius: calc(1lh + 1em);
}
@media (hover: hover) {
  body:where(.town) footer #footer-main #footer-main-links2 li a:hover {
    background: var(--accent-color);
  }
}
body:where(.town) footer #footer-main #footer-main-links2 li a img {
  height: 1.1lh;
  margin-right: 0.5em;
}
body:where(.town) footer #footer-main #footer-main-links2 li a .fileinfo {
  display: none !important;
}
body:where(.town) footer #footer-main #footer-main-copy {
  padding-bottom: 2in;
  color: black;
  filter: drop-shadow(0 0 5px white) drop-shadow(0 0 5px white);
}
body:where(.town) #kohomakubetsu-archive .wcv-imgbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  align-items: center;
}
body:where(.town) #kohomakubetsu-archive .wcv-inner4 {
  width: 48%;
  padding: 5px;
}
@media (min-width: 992px) {
  body:where(.town) #kohomakubetsu-archive .wcv-inner4 {
    width: 23%;
    padding: 10px;
  }
}
body:where(.town) #kohomakubetsu-archive .wcv-inner4-r {
  width: 48%;
  padding: 5px;
}
@media (min-width: 992px) {
  body:where(.town) #kohomakubetsu-archive .wcv-inner4-r {
    width: 23%;
    padding: 10px;
  }
}

body:where(.child) {
  --pink-color1: #f5b6b6;
  --pink-color2: #fecccc;
  --pink-color3: #ffe8e8;
  --pink-color4: #fff7f7;
  --accent-color: #804e20;
  --deco-color-r: #e25a65;
  --deco-color-g: #61b778;
  --deco-color-b: #64bee6;
  --pink-link-color: #0066cc;
}
body:where(.child) {
  font-family: "M PLUS Rounded 1c";
}
body:where(.child) .search {
  height: 2.5em;
  width: 100%;
}
@media (min-width: 992px) {
  body:where(.child) .search {
    width: auto;
  }
}
body:where(.child) .search .search-input {
  flex-shrink: 1;
  width: 100%;
}
@media (min-width: 992px) {
  body:where(.child) .search .search-input {
    flex-shrink: 0;
    width: auto;
  }
}
body:where(.child) .search .search-input :is(label, input) {
  padding: 0 0.5em;
}
body:where(.child) .search .search-input label {
  color: transparent;
}
@media (min-width: 992px) {
  body:where(.child) .search .search-input label {
    min-width: calc(25ic + 1em);
  }
}
body:where(.child) .search .search-input input {
  background: white;
  border: solid 1px var(--accent-color);
  border-radius: 0.5em 0 0 0.5em;
  color: black;
  position: relative;
}
@media (min-width: 992px) {
  body:where(.child) .search .search-input input {
    position: absolute;
  }
}
body:where(.child) .search .search-input input::-webkit-input-placeholder {
  overflow: visible;
  color: revert;
}
body:where(.child) .search button {
  padding: 0 0.5em;
  background: var(--accent-color);
  color: white;
  border-radius: 0 0.5em 0.5em 0;
}
@media (hover: hover) {
  body:where(.child) .search button:hover {
    background: var(--pink-color1);
  }
}
body:where(.child) .search button img {
  width: 1.5em;
  height: 1.5em;
  object-fit: contain;
  margin-right: 0.25em;
}
body:where(.child) #tsutaeru-info {
  z-index: 3 !important;
}
body:where(.child) .header-spacer {
  display: none;
}
@media (min-width: 992px) {
  body:where(.child) .header-spacer {
    display: block;
    height: 80px;
  }
}
body:where(.child) header {
  top: 0;
  z-index: 2;
  height: auto;
  padding-bottom: 0.5rem;
  background: var(--pink-color4);
  box-shadow: 0 0 0.5rem white;
  position: sticky;
}
@media (min-width: 992px) {
  body:where(.child) header {
    position: fixed;
    left: 0;
    width: 100%;
  }
}
body:where(.child) header #header-logo {
  z-index: 1;
  color: var(--accent-color);
}
@media (hover: hover) {
  body:where(.child) header #header-logo:hover {
    background: var(--pink-color1);
  }
}
body:where(.child) header #header-logo h1 {
  font-size: 1.75rem;
}
body:where(.child) header #header-menu {
  color: black;
}
@media (hover: hover) {
  body:where(.child) header #header-menu #header-menu-toplink:hover {
    background: var(--hover-color);
  }
}
body:where(.child) header .common-button {
  height: calc(1lh + 0.75em);
  width: fit-content;
  padding: 0 0.5em;
  border: solid 1px black;
  border-radius: 0.375em;
  background: var(--bg-color);
  cursor: pointer;
  margin-left: 0.25em;
  color: var(--text-color);
}
@media (hover: hover) {
  body:where(.child) header .common-button:hover {
    background: var(--hover-color);
  }
}
body:where(.child) header :is(#fontsize, #colorset) fieldset legend {
  width: fit-content;
}
body:where(.child) header #colorset #h-colorset-default {
  color: #000000;
  background: #ffffff;
}
@media (hover: hover) {
  body:where(.child) header #colorset #h-colorset-default:hover {
    background: #cccccc;
  }
}
body:where(.child) header #colorset #h-colorset-black {
  color: #ffffff;
  background: #000000;
}
@media (hover: hover) {
  body:where(.child) header #colorset #h-colorset-black:hover {
    background: #444444;
  }
}
body:where(.child) header #colorset #h-colorset-yellow {
  color: #000000;
  background: #e7dc49;
}
@media (hover: hover) {
  body:where(.child) header #colorset #h-colorset-yellow:hover {
    background: #f98e72;
  }
}
body:where(.child) header #colorset #h-colorset-blue {
  color: #ffffff;
  background: #225695;
}
@media (hover: hover) {
  body:where(.child) header #colorset #h-colorset-blue:hover {
    background: #6087cc;
  }
}
body:where(.child) #follow-menu {
  height: 100svh;
  z-index: 4;
  pointer-events: none;
}
body:where(.child) #follow-menu > div {
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  grid-auto-rows: 80px;
}
@media (min-width: 768px) {
  body:where(.child) #follow-menu > div {
    width: auto;
    grid-auto-rows: auto;
    filter: drop-shadow(0 0 0.25rem rgba(0, 0, 0, 0.2));
  }
}
body:where(.child) #follow-menu button {
  pointer-events: auto;
  overflow: hidden;
}
body:where(.child) #follow-menu button * {
  pointer-events: none;
}
body:where(.child) #follow-menu button .followbuttonclose {
  display: none;
}
body:where(.child) #follow-menu button.followbuttonactive :is(p, img):not(.followbuttonclose) {
  display: none;
}
body:where(.child) #follow-menu button.followbuttonactive .followbuttonclose {
  display: block;
}
@media (min-width: 768px) {
  body:where(.child) #follow-menu button {
    width: 5.5ic;
  }
  body:where(.child) #follow-menu button:first-child {
    border-top-left-radius: 1rem;
  }
  body:where(.child) #follow-menu button:last-child {
    border-bottom-left-radius: 1rem;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  body:where(.child) #follow-menu button:nth-last-child(1 of :not(.d-lg-none)) {
    border-bottom-left-radius: 1rem;
  }
}
@media (hover: hover) {
  body:where(.child) #follow-menu button:hover:not(#fakeID#fakeID) {
    background: #ccc;
  }
}
body:where(.child) #follow-menu #follow-menu-search {
  background: #b7e9ff;
  color: #014b6c;
}
body:where(.child) #follow-menu #follow-menu-emergency {
  background: #fed1d5;
  color: #ab000e;
}
body:where(.child) #follow-menu #follow-menu-consult {
  background: #cbf5d7;
  color: #245831;
}
body:where(.child) #follow-menu #follow-menu-setting {
  background: #F3D6BC;
  color: var(--accent-color);
}
body:where(.child) #follow-menu img {
  max-width: 2.5rem;
}
body:where(.child) .menu-display {
  width: 100%;
  height: 100lvh;
  z-index: 3;
  translate: 0 100%;
  opacity: 0;
  transition: translate 0.5s, opacity 0.5s ease;
}
body:where(.child) .menu-display.followmenuactive {
  opacity: 1;
  translate: 0 0;
}
body:where(.child) .menu-display > div:nth-child(1) {
  background: var(--pink-color2);
  opacity: 0.95;
}
body:where(.child) .menu-display > div:nth-child(2) {
  height: calc(100lvh - (100lvh - 100svh) - 80px);
}
@media (min-width: 768px) {
  body:where(.child) .menu-display > div:nth-child(2) {
    height: calc(100lvh - (100lvh - 100svh));
    padding: 0 5.5ic;
  }
}
body:where(.child) .menu-display > div:nth-child(2) .menu-title {
  color: var(--accent-color);
}
body:where(.child) .menu-display > div:nth-child(2) .menu-title img {
  max-width: 3rem;
}
body:where(.child) .menu-display > div:nth-child(2) .menu-title p:nth-child(1) {
  font-size: 2rem;
}
body:where(.child) .menu-display > div:nth-child(2) p {
  color: var(--accent-color);
}
body:where(.child) .menu-display > div:nth-child(2) .d-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}
body:where(.child) .menu-display > div:nth-child(2) .d-grid a {
  background: var(--bg-color);
  color: var(--text-color);
  border-radius: 1rem;
}
@media (hover: hover) {
  body:where(.child) .menu-display > div:nth-child(2) .d-grid a:hover {
    background: var(--hover-color);
  }
}
@media (min-width: 992px) {
  body:where(.child) #menu-setting {
    translate: 0 100%;
    opacity: 0;
  }
}
body:where(.child) #menu-setting legend {
  color: var(--accent-color);
}
body:where(.child) #menu-setting .tmp-btn {
  background: var(--bg-color);
  color: var(--text-color);
  border: solid 1px var(--text-color);
  border-radius: 0.5rem;
}
body:where(.child) #menu-setting #menu-colorset .tmp-btn {
  border-color: black;
}
body:where(.child) #menu-setting #menu-colorset-default {
  color: #000000;
  background: #ffffff;
}
@media (hover: hover) {
  body:where(.child) #menu-setting #menu-colorset-default:hover {
    background: #cccccc;
  }
}
body:where(.child) #menu-setting #menu-colorset-black {
  color: #ffffff;
  background: #000000;
}
@media (hover: hover) {
  body:where(.child) #menu-setting #menu-colorset-black:hover {
    background: #444444;
  }
}
body:where(.child) #menu-setting #menu-colorset-yellow {
  color: #000000;
  background: #e7dc49;
}
@media (hover: hover) {
  body:where(.child) #menu-setting #menu-colorset-yellow:hover {
    background: #f98e72;
  }
}
body:where(.child) #menu-setting #menu-colorset-blue {
  color: #ffffff;
  background: #225695;
}
@media (hover: hover) {
  body:where(.child) #menu-setting #menu-colorset-blue:hover {
    background: #6087cc;
  }
}
body:where(.child) #to-top {
  width: 100%;
  bottom: 80px;
  left: 0;
  pointer-events: none;
  z-index: 2;
  height: calc(100svh - 80px);
}
@media (min-width: 768px) {
  body:where(.child) #to-top {
    height: calc(100svh - 2rem);
    bottom: 2rem;
  }
}
body:where(.child) #to-top a {
  pointer-events: auto;
  display: block;
  bottom: 1rem;
  right: 1rem;
  height: 4rem;
  width: 4rem;
  background: url(/kosodate/assets/totop.png);
  background-size: contain;
}
@media (hover: hover) {
  body:where(.child) #to-top a:hover {
    filter: brightness(1.5);
  }
}
body:where(.child) #sp-makubesu-yomiage {
  display: none;
  top: 3rem;
  right: 0;
  z-index: 2;
}
body:where(.child) #sp-makubesu-yomiage .tsutaeru-speech {
  display: block;
}
body:where(.child) #top-page #top-page-header {
  background: url(/kosodate/assets/bg-pattern.png) var(--pink-color4);
  background-size: min(70%, 1000px);
  background-position: 30% 10%;
  padding-bottom: 8rem;
}
body:where(.child) #top-page #top-page-header-splide {
  position: relative;
  padding-top: 2rem;
}
body:where(.child) #top-page #top-page-header-splide .splide-bg {
  position: absolute;
}
body:where(.child) #top-page #top-page-header-splide .splide-control {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
}
body:where(.child) #top-page #top-page-header-splide .splide-control button {
  padding: 0;
  background: var(--pink-color1);
}
@media (hover: hover) {
  body:where(.child) #top-page #top-page-header-splide .splide-control button:hover {
    background: var(--accent-color);
  }
}
body:where(.child) #top-page #top-page-header-splide .splide-control button svg path {
  fill: white;
}
body:where(.child) #top-page #top-page-header-splide .splide-control button svg line {
  stroke: white;
}
body:where(.child) #top-page #top-page-header-splide .splide__toggle {
  width: 2rem;
  height: 2rem;
  border-radius: 0.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
body:where(.child) #top-page #top-page-header-splide .splide__toggle svg {
  width: 60%;
  height: 60%;
}
body:where(.child) #top-page #top-page-header-splide .splide__pagination {
  padding-left: 1rem;
}
body:where(.child) #top-page #top-page-header-splide .splide__pagination li {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.5rem;
}
body:where(.child) #top-page #top-page-header-splide .splide__pagination button {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
}
@media (hover: hover) {
  body:where(.child) #top-page #top-page-header-splide .splide__pagination button:hover {
    background: none;
  }
}
body:where(.child) #top-page #top-page-header-splide .splide__pagination button::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--pink-color1);
  border-radius: 50%;
  scale: 0.5;
  transition: scale 0.5s ease;
}
body:where(.child) #top-page #top-page-header-splide .splide__pagination button.is-active::after {
  scale: 1;
}
body:where(.child) #top-page #top-page-header-links {
  margin-top: -12.5%;
  margin-left: 0px;
  margin-right: 0px;
}
body:where(.child) #top-page #top-page-header-links > div {
  padding: 0;
}
@media (min-width: 576px) {
  body:where(.child) #top-page #top-page-header-links > div:first-child, body:where(.child) #top-page #top-page-header-links > div:last-child {
    translate: 0 -20%;
  }
}
body:where(.child) #top-page #top-page-header-links a {
  transition: scale 0.5s ease;
}
@media (hover: hover) {
  body:where(.child) #top-page #top-page-header-links a:hover {
    scale: 1.1;
  }
}
body:where(.child) #top-page .top-page-title {
  color: var(--accent-color);
}
body:where(.child) #top-page .top-page-title img {
  width: 3rem;
}
body:where(.child) #top-page .top-page-title p:first-child {
  font-size: 2rem;
}
body:where(.child) #top-page #top-page-search-tab {
  margin-top: -5rem;
}
body:where(.child) #top-page #top-page-search-tab button {
  border-radius: 1rem 1rem 0 0;
  background: url(/kosodate/assets/top-bg-pattern2.png);
  background-size: 500px;
  color: var(--accent-color);
}
@media (hover: hover) {
  body:where(.child) #top-page #top-page-search-tab button:hover {
    background: var(--pink-color1);
  }
}
body:where(.child) #top-page #top-page-search-tab button.searchactive {
  background: url(/kosodate/assets/top-bg-pattern1.png);
  background-size: 500px;
  pointer-events: none;
}
body:where(.child) #top-page #top-page-search-tab button * {
  pointer-events: none;
}
body:where(.child) #top-page #top-page-search-display {
  background: url(/kosodate/assets/top-bg-pattern1.png);
  background-size: 500px;
}
body:where(.child) #top-page #top-page-search-display > div > p {
  color: black;
}
body:where(.child) #top-page #top-page-search-display .searchpanel {
  display: none;
  gap: 1em;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  body:where(.child) #top-page #top-page-search-display .searchpanel {
    grid-template-columns: repeat(3, 1fr);
  }
}
body:where(.child) #top-page #top-page-search-display .searchpanel.searchpanelactive {
  display: grid;
}
body:where(.child) #top-page #top-page-search-display .searchpanel a {
  background: var(--bg-color);
  color: var(--text-color);
  border-radius: 1rem;
}
@media (hover: hover) {
  body:where(.child) #top-page #top-page-search-display .searchpanel a:hover {
    background: var(--hover-color);
  }
}
body:where(.child) #top-page #top-page-search-display .searchpanel a img {
  width: 2.5rem;
}
body:where(.child) #top-page #top-page-search-deco {
  height: 5rem;
  background: rgba(0, 255, 0, 0.0666666667);
}
body:where(.child) #top-page #top-page-search-deco canvas {
  width: 100%;
  height: 100%;
}
body:where(.child) #top-page #top-page-emergency {
  padding-bottom: 100px;
  position: relative;
  z-index: 1;
}
body:where(.child) #top-page #top-page-emergency canvas {
  width: 100%;
  height: 100%;
}
body:where(.child) #top-page #top-page-emergency .d-grid {
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 768px) {
  body:where(.child) #top-page #top-page-emergency .d-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
body:where(.child) #top-page #top-page-emergency .d-grid a {
  background: var(--bg-color);
  color: var(--text-color);
  border-radius: 1rem;
}
@media (hover: hover) {
  body:where(.child) #top-page #top-page-emergency .d-grid a:hover {
    background: var(--hover-color);
  }
}
body:where(.child) #top-page #top-page-news {
  position: relative;
  margin-top: -60px;
  padding-top: calc(60px + 1rem);
  background: radial-gradient(rgb(from var(--pink-color2) r g b/0.6), rgb(from var(--pink-color2) r g b/0.6) 1.8px, var(--pink-color3) 0) white;
  background-size: 10px 10px;
}
body:where(.child) #top-page #top-page-news-list {
  background: var(--bg-color);
  border-radius: 2rem;
}
body:where(.child) #top-page #top-page-news-list li {
  border-bottom: dotted 4px var(--pink-color1);
}
body:where(.child) #top-page #top-page-news-list li a {
  color: var(--text-color);
}
body:where(.child) #top-page #top-page-news-link a {
  background: var(--pink-color3);
  padding: 4px;
  border-radius: 2rem;
  color: black;
}
@media (hover: hover) {
  body:where(.child) #top-page #top-page-news-link a:hover {
    background: var(--pink-color1);
  }
}
body:where(.child) #top-page #top-page-news-link a div {
  border: dashed 2px var(--deco-color-r);
  border-radius: 2rem;
}
body:where(.child) #top-page #top-page-news-link a div::after {
  content: "";
  display: block;
  position: absolute;
  width: 1em;
  height: 1em;
  background: url(/kosodate/assets/arrow.png);
  background-size: contain;
  right: 0.25em;
}
body:where(.child) #bread-list #bread-list-title {
  background: var(--accent-color);
  color: white;
  border-radius: 0.5rem;
}
body:where(.child) #bread-list #bread-list-list {
  color: var(--text-color);
}
body:where(.child) #bread-list #bread-list-list > div::after {
  content: "";
  display: block;
  margin: 0 0.5em;
  height: 1em;
  width: 1em;
  background: red;
  clip-path: polygon(40% 0, 90% 50%, 40% 100%, 30% 90%, 70% 50%, 30% 10%);
}
body:where(.child) #bread-list #bread-list-list > div a {
  color: var(--link-color);
}
body:where(.child)#site-contents h1,
body:where(.child) #site-contents h1 {
  font-size: 1.75rem;
  background: url(/kosodate/assets/h1.png) var(--pink-color2);
  background-size: 4rem;
  background-position: calc(100% - 0.5rem) calc(100% - 0.5rem);
  padding-right: 5rem;
}
body:where(.child)#site-contents h2,
body:where(.child) #site-contents h2 {
  font-size: 1.5rem;
  background: var(--pink-color3);
}
body:where(.child)#site-contents h3,
body:where(.child) #site-contents h3 {
  font-size: 1.25rem;
  border-bottom: solid 2px var(--deco-color-r);
  background: url(/kosodate/assets/h3.png);
}
body:where(.child)#site-contents h4,
body:where(.child) #site-contents h4 {
  background: url(/kosodate/assets/h4.png);
}
body:where(.child)#site-contents h5,
body:where(.child) #site-contents h5 {
  background: url(/kosodate/assets/h5.png);
}
body:where(.child)#site-contents h6,
body:where(.child) #site-contents h6 {
  background: url(/kosodate/assets/h6.png);
}
body:where(.child)#site-contents :is(h1, h2, h3, h4, h5, h6),
body:where(.child) #site-contents :is(h1, h2, h3, h4, h5, h6) {
  color: black;
  background-repeat: no-repeat;
}
body:where(.child)#site-contents :is(h1, h2),
body:where(.child) #site-contents :is(h1, h2) {
  border-radius: 0.5rem;
}
body:where(.child)#site-contents :is(h3, h4, h5, h6),
body:where(.child) #site-contents :is(h3, h4, h5, h6) {
  background-size: 1.25rem;
  background-position: center left;
}
body:where(.child)#site-contents #procedure-nav > div,
body:where(.child) #site-contents #procedure-nav > div {
  grid-template-columns: 1fr;
}
@media (min-width: 576px) {
  body:where(.child)#site-contents #procedure-nav > div,
  body:where(.child) #site-contents #procedure-nav > div {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) {
  body:where(.child)#site-contents #procedure-nav > div,
  body:where(.child) #site-contents #procedure-nav > div {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 992px) {
  body:where(.child)#site-contents #procedure-nav > div,
  body:where(.child) #site-contents #procedure-nav > div {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  }
}
body:where(.child)#site-contents #procedure-nav > div a,
body:where(.child) #site-contents #procedure-nav > div a {
  color: var(--text-color);
}
@media (hover: hover) {
  body:where(.child)#site-contents #procedure-nav > div a:hover,
  body:where(.child) #site-contents #procedure-nav > div a:hover {
    background: var(--pink-color1);
  }
}
body:where(.child)#site-contents #procedure-nav > div a div,
body:where(.child) #site-contents #procedure-nav > div a div {
  width: 1em;
  height: 1em;
  background: url(/kosodate/assets/arrow.png);
  background-size: contain;
  rotate: 90deg;
}
body:where(.child)#site-contents #procedure-nav > div a::before, body:where(.child)#site-contents #procedure-nav > div a::after,
body:where(.child) #site-contents #procedure-nav > div a::before,
body:where(.child) #site-contents #procedure-nav > div a::after {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 100%;
  background: var(--deco-color-r);
  top: 0;
}
body:where(.child)#site-contents #procedure-nav > div a::before,
body:where(.child) #site-contents #procedure-nav > div a::before {
  left: -1px;
}
body:where(.child)#site-contents #procedure-nav > div a::after,
body:where(.child) #site-contents #procedure-nav > div a::after {
  right: -1px;
}
body:where(.child)#site-contents .page-links a,
body:where(.child) #site-contents .page-links a {
  background: var(--bg-color);
  border-radius: 1rem;
  padding: 4px;
}
@media (hover: hover) {
  body:where(.child)#site-contents .page-links a:hover,
  body:where(.child) #site-contents .page-links a:hover {
    background: var(--hover-color);
  }
}
body:where(.child)#site-contents .page-links a div,
body:where(.child) #site-contents .page-links a div {
  border: dashed 2px var(--deco-color-r);
  border-radius: 1rem;
}
body:where(.child)#site-contents .page-links a div::before,
body:where(.child) #site-contents .page-links a div::before {
  content: "";
  display: block;
  width: 1lh;
  height: 1lh;
  background: url(/kosodate/assets/link.png);
  background-size: contain;
  margin-right: 0.5em;
  flex-shrink: 0;
}
body:where(.child)#site-contents .qanda dl,
body:where(.child) #site-contents .qanda dl {
  background: var(--bg-color);
  border: solid 2px var(--deco-color-r);
  border-radius: 1rem;
  overflow: hidden;
}
body:where(.child)#site-contents .qanda button,
body:where(.child) #site-contents .qanda button {
  background: none;
  padding-right: 3rem;
}
@media (hover: hover) {
  body:where(.child)#site-contents .qanda button:hover,
  body:where(.child) #site-contents .qanda button:hover {
    background: var(--hover-color);
  }
}
body:where(.child)#site-contents .qanda button *,
body:where(.child) #site-contents .qanda button * {
  pointer-events: none;
}
body:where(.child)#site-contents .qanda button::before,
body:where(.child) #site-contents .qanda button::before {
  background: url(/kosodate/assets/icon-q.png);
  width: 2em;
  height: 2em;
}
body:where(.child)#site-contents .qanda button::after,
body:where(.child) #site-contents .qanda button::after {
  background: url(/kosodate/assets/arrow.png);
  width: 1.5em;
  height: 1.5em;
  rotate: 90deg;
  transition: rotate 0.5s ease;
  position: absolute;
  right: 1.5rem;
}
body:where(.child)#site-contents .qanda button::before, body:where(.child)#site-contents .qanda button::after,
body:where(.child) #site-contents .qanda button::before,
body:where(.child) #site-contents .qanda button::after {
  content: "";
  display: block;
  background-size: contain;
  flex-shrink: 0;
}
body:where(.child)#site-contents .qanda dt:has(button.qandaactive) button::after,
body:where(.child) #site-contents .qanda dt:has(button.qandaactive) button::after {
  rotate: 630deg;
}
body:where(.child)#site-contents .qanda dt:has(button.qandaactive) + dd,
body:where(.child) #site-contents .qanda dt:has(button.qandaactive) + dd {
  grid-template-rows: 1fr;
}
body:where(.child)#site-contents .qanda dd,
body:where(.child) #site-contents .qanda dd {
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s ease;
}
body:where(.child)#site-contents .qanda dd > div,
body:where(.child) #site-contents .qanda dd > div {
  overflow: hidden;
}
body:where(.child)#site-contents .qanda dd > div .hr-line,
body:where(.child) #site-contents .qanda dd > div .hr-line {
  height: 2px;
  background: var(--deco-color-r);
}
body:where(.child)#site-contents .qandaall,
body:where(.child) #site-contents .qandaall {
  border: solid 2px var(--deco-color-r);
  background: var(--bg-color);
  color: var(--text-color);
  border-radius: 1rem;
}
@media (hover: hover) {
  body:where(.child)#site-contents .qandaall:hover,
  body:where(.child) #site-contents .qandaall:hover {
    background: var(--hover-color);
  }
}
body:where(.child)#site-contents #info-list-list ul,
body:where(.child) #site-contents #info-list-list ul {
  background: var(--bg-color);
  border-radius: 0.5rem;
}
body:where(.child)#site-contents #info-list-list ul li,
body:where(.child) #site-contents #info-list-list ul li {
  border-bottom: dotted 4px var(--deco-color-r);
}
body:where(.child)#site-contents #info-list-archive h2,
body:where(.child) #site-contents #info-list-archive h2 {
  background: var(--deco-color-r);
  border-radius: 1rem 1rem 0 0;
  font-size: 1.25rem;
  color: white;
}
body:where(.child)#site-contents #info-list-archive h2 img,
body:where(.child) #site-contents #info-list-archive h2 img {
  height: 1lh;
  width: 1lh;
  margin-right: 0.25em;
}
body:where(.child)#site-contents #info-list-archive > div > div,
body:where(.child) #site-contents #info-list-archive > div > div {
  border: solid 2px var(--deco-color-r);
  border-radius: 0 0 1rem 1rem;
  background: var(--bg-color);
}
body:where(.child)#site-contents #info-list-archive dl:not(:last-child),
body:where(.child) #site-contents #info-list-archive dl:not(:last-child) {
  border-bottom: solid 2px var(--deco-color-r);
}
body:where(.child)#site-contents #info-list-archive dl dt button,
body:where(.child) #site-contents #info-list-archive dl dt button {
  color: var(--text-color);
  background: var(--bg-color);
}
@media (hover: hover) {
  body:where(.child)#site-contents #info-list-archive dl dt button:hover,
  body:where(.child) #site-contents #info-list-archive dl dt button:hover {
    background: var(--hover-color);
  }
}
body:where(.child)#site-contents #info-list-archive dl dt button::after,
body:where(.child) #site-contents #info-list-archive dl dt button::after {
  content: "";
  display: block;
  width: 1lh;
  height: 1lh;
  clip-path: polygon(0 40%, 50% 90%, 100% 40%, 90% 30%, 50% 70%, 10% 30%);
  background: var(--deco-color-r);
  transition: rotate 0.5s ease;
}
body:where(.child)#site-contents #info-list-archive dl dt button.buttonactive::after,
body:where(.child) #site-contents #info-list-archive dl dt button.buttonactive::after {
  rotate: 540deg;
}
body:where(.child)#site-contents #info-list-archive dl dt:has(button.buttonactive) + dd,
body:where(.child) #site-contents #info-list-archive dl dt:has(button.buttonactive) + dd {
  grid-template-rows: 1fr;
}
body:where(.child)#site-contents #info-list-archive dl dt:has(button.buttonactive) + dd ul,
body:where(.child) #site-contents #info-list-archive dl dt:has(button.buttonactive) + dd ul {
  margin-top: 0.5rem;
  padding-bottom: 0.5rem;
}
body:where(.child)#site-contents #info-list-archive dl dd,
body:where(.child) #site-contents #info-list-archive dl dd {
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s ease;
}
body:where(.child)#site-contents #info-list-archive dl dd ul,
body:where(.child) #site-contents #info-list-archive dl dd ul {
  overflow: hidden;
  margin: 0;
  padding: 0;
  transition: margin 0.5s, padding 0.5s ease;
}
body:where(.child)#site-contents article,
body:where(.child) #site-contents article {
  background: var(--bg-color);
  color: var(--text-color);
  border-radius: 0.5rem;
}
body:where(.child)#site-contents article :not(a),
body:where(.child) #site-contents article :not(a) {
  color: var(--text-color);
}
body:where(.child)#site-contents article h2,
body:where(.child) #site-contents article h2 {
  color: black;
}
body:where(.child)#site-contents article ol,
body:where(.child) #site-contents article ol {
  list-style: none;
  counter-reset: ol;
}
body:where(.child)#site-contents article ol li,
body:where(.child) #site-contents article ol li {
  counter-increment: ol;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
body:where(.child)#site-contents article ol li::before,
body:where(.child) #site-contents article ol li::before {
  content: counter(ol) ".";
  display: block;
  flex-shrink: 0;
  margin-right: 0.25em;
}
body:where(.child)#site-contents article ul li,
body:where(.child) #site-contents article ul li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
body:where(.child)#site-contents article ul li::before,
body:where(.child) #site-contents article ul li::before {
  content: "";
  display: block;
  width: 0.25em;
  height: 0.25em;
  margin: 0 0.375em;
  background: var(--text-color);
  border-radius: 50%;
  flex-shrink: 0;
}
body:where(.child)#site-contents :is(#page-contact, #page-enquete),
body:where(.child) #site-contents :is(#page-contact, #page-enquete) {
  border: solid 2px var(--hover-color);
  border-radius: 1rem;
  background: var(--bg-color);
}
body:where(.child)#site-contents :is(#page-contact, #page-enquete) :not(a),
body:where(.child) #site-contents :is(#page-contact, #page-enquete) :not(a) {
  color: var(--text-color);
}
body:where(.child)#site-contents :is(#page-contact, #page-enquete) h2,
body:where(.child) #site-contents :is(#page-contact, #page-enquete) h2 {
  font-size: 1.5rem;
  background: var(--bg-color);
}
body:where(.child)#site-contents :is(#page-contact, #page-enquete) h2 img,
body:where(.child) #site-contents :is(#page-contact, #page-enquete) h2 img {
  width: 1.5em;
  height: 1.5em;
  margin-right: 0.5em;
}
body:where(.child)#site-contents :is(#page-contact, #page-enquete) .hr-line,
body:where(.child) #site-contents :is(#page-contact, #page-enquete) .hr-line {
  height: 2px;
  background: var(--hover-color);
}
body:where(.child)#site-contents #page-contact em,
body:where(.child) #site-contents #page-contact em {
  font-size: 1.125rem;
}
body:where(.child)#site-contents #page-enquete .hr-line,
body:where(.child) #site-contents #page-enquete .hr-line {
  background: var(--accent-color);
}
body:where(.child)#site-contents #page-enquete form fieldset legend,
body:where(.child) #site-contents #page-enquete form fieldset legend {
  color: var(--accent-color);
  font-size: 1.125rem;
}
body:where(.child)#site-contents #page-enquete form fieldset legend::before,
body:where(.child) #site-contents #page-enquete form fieldset legend::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background: url(/kosodate/assets/icon-q.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 0.25em;
  flex-shrink: 0;
}
body:where(.child)#site-contents #page-enquete form fieldset :has([type=radio]),
body:where(.child) #site-contents #page-enquete form fieldset :has([type=radio]) {
  margin-right: 1em;
}
body:where(.child)#site-contents #page-enquete form fieldset [type=radio],
body:where(.child) #site-contents #page-enquete form fieldset [type=radio] {
  margin-right: 0.25em;
  height: 1.25em;
  width: 1.25em;
}
body:where(.child)#site-contents #page-enquete form fieldset small,
body:where(.child) #site-contents #page-enquete form fieldset small {
  font-size: 0.8em;
  color: var(--deco-color-r);
}
body:where(.child)#site-contents #page-enquete form fieldset [type=text],
body:where(.child) #site-contents #page-enquete form fieldset [type=text] {
  border: solid 1px var(--accent-color);
  border-radius: 0.5rem;
}
body:where(.child)#site-contents #page-enquete form button,
body:where(.child) #site-contents #page-enquete form button {
  background: var(--accent-color);
  color: white;
  border-radius: 0.5rem;
}
@media (hover: hover) {
  body:where(.child)#site-contents #page-enquete form button:hover,
  body:where(.child) #site-contents #page-enquete form button:hover {
    background: var(--pink-color1);
  }
}
body:where(.child) *:not(#top-page):has(+ footer) {
  padding-bottom: 4rem;
}
body:where(.child) script:has(+ footer) {
  display: block;
  color: transparent;
}
body:where(.child) footer {
  margin-top: -1rem;
}
body:where(.child) footer #footer-deco {
  height: 1rem;
}
body:where(.child) footer #footer-deco canvas {
  width: 100%;
  height: 100%;
}
body:where(.child) footer #footer-main-logo img {
  max-width: 250px;
  filter: drop-shadow(0 0 5px white) drop-shadow(0 0 5px white);
}
body:where(.child) footer #footer-tips {
  background: var(--pink-color2);
}
body:where(.child) footer #footer-tips li > div {
  background: var(--bg-color);
  color: var(--text-color);
  border-radius: 2rem;
}
body:where(.child) footer #footer-tips li > div > img {
  height: 2.5rem;
  top: -1.25rem;
}
body:where(.child) footer #footer-tips li > div h2 span:last-child {
  font-size: 1.5rem;
}
body:where(.child) footer #footer-tips li > div .applink {
  height: 50px;
}
body:where(.child) footer #footer-tips li > div .applink img {
  object-fit: contain;
}
body:where(.child) footer #footer-info {
  background: url(/kosodate/assets/bg-pattern.png) var(--pink-color4);
  background-size: min(70%, 1000px);
  background-position: 30% 10%;
  padding-bottom: 10rem;
}
@media (min-width: 768px) {
  body:where(.child) footer #footer-info {
    padding-bottom: 0;
  }
}
body:where(.child) footer #footer-info small {
  color: black;
}
body:where(.child) footer #footer-info #footer-info-deco {
  height: 2rem;
}
body:where(.child) footer #footer-info #footer-info-deco canvas {
  width: 100%;
  height: 100%;
}
body:where(.child) footer #footer-info #footer-info-deco img {
  width: 150px;
  bottom: -1rem;
  left: 1rem;
}
body:where(.child) footer #footer-info #footer-info-main-base {
  color: black;
}
body:where(.child) footer #footer-info #footer-info-main-base > img {
  width: 125px;
}
body:where(.child) footer #footer-info #footer-info-main-base b {
  font-size: 4rem;
}
body:where(.child) footer #footer-info #footer-info-main-base b img {
  width: 4rem;
}
body:where(.child) footer #footer-info #footer-info-main-base a {
  background: var(--pink-color3);
  padding: 4px;
  border-radius: 2rem;
  color: black;
  box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.2);
}
@media (hover: hover) {
  body:where(.child) footer #footer-info #footer-info-main-base a:hover {
    background: var(--pink-color1);
  }
}
body:where(.child) footer #footer-info #footer-info-main-base a div {
  border: dashed 2px var(--deco-color-r);
  border-radius: 2rem;
}
body:where(.child) footer #footer-info #footer-info-main-base a div::after {
  content: "";
  display: block;
  position: absolute;
  width: 1em;
  height: 1em;
  background: url(/kosodate/assets/arrow.png);
  background-size: contain;
  right: 0.25em;
}
body:where(.child) footer #footer-info #footer-info-main-accounts img {
  max-width: 60px;
}

body:where(.smile) {
  --color-main: #3e79ac;
  --color-blue-1: #f8fafb;
  --color-blue-2: #e3eff6;
  --color-brown-1: #f8f6f2;
  --color-brown-2: #f2ede5;
  --color-accent-1: #eaefff;
  --color-accent-2: #d9efff;
  --color-accent-3: #8bd8ff;
  --important-color: #fd8484;
  --accent-color: #202a80;
}
body:where(.smile) {
  font-family: "M PLUS Rounded 1c";
}
body:where(.smile).theme-black .bg-brown, body:where(.smile).theme-blue .bg-brown {
  background: #23221f;
}
body:where(.smile) .bg-brown {
  background: var(--color-brown-1);
}
body:where(.smile) .color-main {
  color: var(--color-main);
}
body:where(.smile) .search {
  height: 2.5em;
  width: 100%;
}
@media (min-width: 992px) {
  body:where(.smile) .search {
    width: auto;
  }
}
body:where(.smile) .search .search-input {
  flex-shrink: 1;
  width: 100%;
}
@media (min-width: 992px) {
  body:where(.smile) .search .search-input {
    flex-shrink: 0;
    width: auto;
  }
}
body:where(.smile) .search .search-input :is(label, input) {
  padding: 0 0.5em;
}
body:where(.smile) .search .search-input label {
  color: transparent;
}
@media (min-width: 992px) {
  body:where(.smile) .search .search-input label {
    min-width: calc(25ic + 1em);
  }
}
body:where(.smile) .search .search-input input {
  background: white;
  border: solid 1px var(--color-main);
  border-radius: 0.5em 0 0 0.5em;
  color: black;
  position: relative;
}
@media (min-width: 992px) {
  body:where(.smile) .search .search-input input {
    position: absolute;
  }
}
body:where(.smile) .search .search-input input::-webkit-input-placeholder {
  overflow: visible;
  color: revert;
}
body:where(.smile) .search button {
  padding: 0 0.5em;
  background: var(--color-main);
  color: white;
  border-radius: 0 0.5em 0.5em 0;
}
@media (hover: hover) {
  body:where(.smile) .search button:hover {
    background: var(--color-accent-3);
  }
}
body:where(.smile) .search button img {
  width: 1.5em;
  height: 1.5em;
  object-fit: contain;
  margin-right: 0.25em;
}
body:where(.smile) .header-spacer {
  display: none;
}
@media (min-width: 992px) {
  body:where(.smile) .header-spacer {
    display: block;
    height: 80px;
  }
}
body:where(.smile) .header {
  top: 0;
  z-index: 2;
  height: auto;
  background: var(--color-blue-1);
  box-shadow: 0 0 0.5rem var(--hover-color);
  position: sticky;
}
@media (min-width: 992px) {
  body:where(.smile) .header {
    padding-bottom: 0.5rem;
    position: fixed;
    left: 0;
    width: 100%;
  }
}
body:where(.smile) .header #header-logo {
  z-index: 1;
}
@media (hover: hover) {
  body:where(.smile) .header #header-logo:hover {
    background: var(--color-accent-3);
  }
}
body:where(.smile) .header #header-logo img {
  max-width: 200px;
}
body:where(.smile) .header #header-menu {
  color: black;
}
@media (hover: hover) {
  body:where(.smile) .header #header-menu #header-menu-toplink:hover {
    background: var(--hover-color);
  }
}
body:where(.smile) .header .common-button {
  height: calc(1lh + 0.75em);
  width: fit-content;
  padding: 0 0.5em;
  border: solid 1px black;
  border-radius: 0.375em;
  background: var(--bg-color);
  cursor: pointer;
  margin-left: 0.25em;
  color: var(--text-color);
}
@media (hover: hover) {
  body:where(.smile) .header .common-button:hover {
    background: var(--hover-color);
  }
}
body:where(.smile) .header :is(#fontsize, #colorset) fieldset legend {
  width: fit-content;
}
body:where(.smile) .header .colorset-default {
  color: #000000;
  background: #ffffff;
}
@media (hover: hover) {
  body:where(.smile) .header .colorset-default:hover {
    background: #cccccc;
  }
}
body:where(.smile) .header .colorset-black {
  color: #ffffff;
  background: #000000;
}
@media (hover: hover) {
  body:where(.smile) .header .colorset-black:hover {
    background: #444444;
  }
}
body:where(.smile) .header .colorset-yellow {
  color: #000000;
  background: #e7dc49;
}
@media (hover: hover) {
  body:where(.smile) .header .colorset-yellow:hover {
    background: #f98e72;
  }
}
body:where(.smile) .header .colorset-blue {
  color: #ffffff;
  background: #225695;
}
@media (hover: hover) {
  body:where(.smile) .header .colorset-blue:hover {
    background: #6087cc;
  }
}
body:where(.smile) .header #header-navi {
  max-width: 992px;
}
body:where(.smile) .header #header-navi li {
  position: relative;
}
body:where(.smile) .header #header-navi li::after {
  content: "";
  position: absolute;
  display: block;
  background: var(--text-color);
  height: 100%;
  width: 1px;
  right: -0.5px;
  top: 0;
}
body:where(.smile) .header #header-navi li:last-child::after {
  content: none;
}
body:where(.smile) .header #header-navi a {
  background: var(--bg-color);
  color: var(--text-color);
}
@media (hover: hover) {
  body:where(.smile) .header #header-navi a:hover {
    background: var(--hover-color);
  }
}
body:where(.smile) .header #header-navi img {
  object-fit: contain;
  width: 3rem;
  height: 3rem;
}
body:where(.smile) #top-page-head-logo {
  translate: 0 -20%;
  pointer-events: none;
  max-width: 700px;
  width: 80%;
  filter: drop-shadow(0 0 3px black);
}
body:where(.smile) #top-page-head-logo2 {
  right: 0;
  bottom: 0;
  width: 25%;
  max-width: 200px;
  filter: drop-shadow(0 0 3px black);
}
body:where(.smile) #menu-board {
  position: fixed;
  height: 100lvh;
  width: 100%;
  padding-top: 0;
  padding-bottom: calc(100lvh - 100svh + 100px);
  transition: translate 0.5s ease;
  translate: calc(100% + 0.5rem);
  overflow: hidden;
  --pages: 3;
}
body:where(.smile) #menu-board.menuboardactive {
  translate: 0;
}
body:where(.smile) #menu-board > div {
  width: calc(100% * var(--pages));
  height: 100%;
  grid-template-columns: repeat(var(--pages), 1fr);
  transition: translate 0.5s ease;
}
body:where(.smile) #menu-board.menuboardslide1 > div {
  translate: calc(-100% / var(--pages) * 1);
}
body:where(.smile) #menu-board.menuboardslide2 > div {
  translate: calc(-100% / var(--pages) * 2);
}
body:where(.smile) #menu-board ul.d-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  max-width: 500px;
}
body:where(.smile) #menu-board ul.d-grid a {
  background: var(--bg-color);
  color: var(--text-color);
  border-radius: 0.5rem;
  border: solid 2px var(--color-main);
}
@media (hover: hover) {
  body:where(.smile) #menu-board ul.d-grid a:hover {
    background: var(--hover-color);
  }
}
body:where(.smile) #menu-board ul.d-grid img {
  width: 80%;
  aspect-ratio: 1/1;
  object-fit: contain;
  max-height: 8svh;
}
body:where(.smile) #menubutton {
  position: fixed;
  height: 80px;
  width: 80px;
  bottom: 1rem;
  right: 1rem;
  z-index: 2;
}
body:where(.smile) #menubutton button {
  --color-white: white;
  --color-blue: var(--color-main);
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: var(--color-blue);
  border: solid 2px var(--color-white);
  border-radius: 0.5rem;
  container-type: size;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  overflow: hidden;
  transition: translate 0.25s ease;
}
@media (hover: hover) {
  body:where(.smile) #menubutton button:hover {
    --color-white: var(--color-main);
    --color-blue: white;
  }
}
body:where(.smile) #menubutton button#menuopen {
  z-index: 1;
}
body:where(.smile) #menubutton button#menuopen.menubuttonactive span:nth-child(1) {
  opacity: 0;
}
body:where(.smile) #menubutton button#menuopen.menubuttonactive span:nth-child(2) {
  opacity: 1;
}
body:where(.smile) #menubutton button#menuopen.menubuttonactive > div:nth-child(1) > div:nth-child(1) {
  translate: 0 -50%;
  top: 50%;
  rotate: 45deg;
}
body:where(.smile) #menubutton button#menuopen.menubuttonactive > div:nth-child(1) > div:nth-child(2) {
  translate: -100cqw;
}
body:where(.smile) #menubutton button#menuopen.menubuttonactive > div:nth-child(1) > div:nth-child(3) {
  translate: 0 50%;
  bottom: 50%;
  rotate: -45deg;
}
body:where(.smile) #menubutton button#menuopen span:nth-child(1) {
  opacity: 1;
}
body:where(.smile) #menubutton button#menuopen span:nth-child(2) {
  opacity: 0;
}
body:where(.smile) #menubutton button#menusetting.menubuttonslide {
  translate: calc(-100% - 0.5rem);
}
body:where(.smile) #menubutton button#menunavi.menubuttonslide {
  translate: calc((-100% - 0.5rem) * 2);
}
body:where(.smile) #menubutton button#menupages.menubuttonslide {
  translate: calc((-100% - 0.5rem) * 3);
}
body:where(.smile) #menubutton button:not(#menuopen).menubuttonactive {
  background: white;
  border-color: var(--color-main);
}
body:where(.smile) #menubutton button:not(#menuopen).menubuttonactive > div:nth-child(2) {
  color: var(--color-main);
}
body:where(.smile) #menubutton button:not(#menuopen).menubuttonactive > div > svg:not(#fakeID) {
  rotate: -1turn;
  fill: var(--color-main);
}
body:where(.smile) #menubutton button > div:nth-child(1) {
  height: 40cqh;
  width: 60cqw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}
body:where(.smile) #menubutton button > div:nth-child(1) > div {
  position: absolute;
  background: var(--color-white);
  width: 100%;
  height: 16.66666667%;
  transition: top, translate, bottom, rotate;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
body:where(.smile) #menubutton button > div:nth-child(1) > div:nth-child(1) {
  top: 0;
}
body:where(.smile) #menubutton button > div:nth-child(1) > div:nth-child(3) {
  bottom: 0;
}
body:where(.smile) #menubutton button > div:nth-child(1) > svg {
  position: absolute;
  height: 60cqh;
  width: 60cqw;
  transition: opacity, rotate;
  transition-duration: 0.25s;
  transition-timing-function: ease;
  fill: var(--color-white);
  rotate: 0turn;
}
body:where(.smile) #menubutton button > div:nth-child(2) {
  font-size: 20cqw;
  line-height: 1cap;
  height: 1cap;
  color: var(--color-white);
  font-weight: bold;
  position: relative;
  width: 100cqw;
  display: flex;
  justify-content: center;
}
body:where(.smile) #menubutton button > div:nth-child(2) > span {
  position: absolute;
  width: 100%;
  transition: opacity 0.25s ease;
}
body:where(.smile) #sp-makubesu-yomiage {
  display: none;
  top: 1rem;
  left: 1rem;
  z-index: 2;
}
body:where(.smile) #sp-makubesu-yomiage .tsutaeru-speech {
  display: block;
}
body:where(.smile) #top-page {
  background: rgb(255, 255, 255);
  background: linear-gradient(309deg, #ffffff 0%, #f2f9ff 52%, #fffdf7 100%);
}
body:where(.smile) #top-page #top-page-head {
  overflow: hidden;
  border-radius: 1rem;
}
body:where(.smile) #top-page #top-page-head-splide {
  position: relative;
}
body:where(.smile) #top-page #top-page-head-splide .splide__progress {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}
body:where(.smile) #top-page #top-page-head-splide .splide__progress__bar {
  height: 0.5rem;
  background: var(--color-main);
}
body:where(.smile) #top-page #top-page-head-splide .splide__slide {
  max-height: 700px;
}
body:where(.smile) #top-page #top-page-head-splide .splide-control {
  position: absolute;
  width: 100%;
  top: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
}
body:where(.smile) #top-page #top-page-head-splide .splide-control button {
  padding: 0;
  background: var(--bg-color);
}
@media (hover: hover) {
  body:where(.smile) #top-page #top-page-head-splide .splide-control button:hover {
    background: var(--hover-color);
  }
}
body:where(.smile) #top-page #top-page-head-splide .splide-control button svg path {
  fill: var(--text-color);
}
body:where(.smile) #top-page #top-page-head-splide .splide-control button svg line {
  stroke: var(--text-color);
}
body:where(.smile) #top-page #top-page-head-splide .splide__toggle {
  width: 2rem;
  height: 2rem;
  border-radius: 0.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
body:where(.smile) #top-page #top-page-head-splide .splide__toggle svg {
  width: 60%;
  height: 60%;
}
body:where(.smile) #top-page #top-page-head-splide .splide__pagination {
  padding-left: 1rem;
}
body:where(.smile) #top-page #top-page-head-splide .splide__pagination li {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.5rem;
}
body:where(.smile) #top-page #top-page-head-splide .splide__pagination button {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
}
@media (hover: hover) {
  body:where(.smile) #top-page #top-page-head-splide .splide__pagination button:hover {
    background: none;
  }
}
body:where(.smile) #top-page #top-page-head-splide .splide__pagination button::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--bg-color);
  border-radius: 50%;
  scale: 0.5;
  transition: scale 0.5s ease;
}
body:where(.smile) #top-page #top-page-head-splide .splide__pagination button.is-active::after {
  scale: 1;
}
body:where(.smile) #top-page #top-page-catch {
  background: linear-gradient(90deg, var(--color-accent-1), var(--color-accent-2));
  font-size: 1.125rem;
  color: black;
}
body:where(.smile) #top-page #top-page-nav ul {
  gap: 0.5rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 576px) {
  body:where(.smile) #top-page #top-page-nav ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  body:where(.smile) #top-page #top-page-nav ul {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1200px) {
  body:where(.smile) #top-page #top-page-nav ul {
    grid-template-columns: repeat(4, 1fr);
  }
}
body:where(.smile) #top-page #top-page-nav li {
  font-size: 1.125rem;
}
body:where(.smile) #top-page #top-page-nav a {
  border: solid 2px var(--color-main);
  border-radius: 0.25rem;
  color: var(--text-color);
  background: var(--bg-color);
  position: relative;
}
@media (hover: hover) {
  body:where(.smile) #top-page #top-page-nav a:hover {
    background: var(--hover-color);
  }
}
body:where(.smile) #top-page #top-page-nav img {
  object-fit: contain;
  max-width: 2rem;
  width: 100%;
  position: absolute;
  left: 0.5rem;
}
body:where(.smile) #top-page #top-page-nav span:nth-child(1 of span) {
  margin: 0 2.5rem 0 2rem;
}
body:where(.smile) #top-page #top-page-nav span:nth-child(2 of span) {
  width: 2rem;
  height: 2rem;
  background: var(--color-main);
  position: absolute;
  right: 0;
  bottom: 0;
  border-top-left-radius: 100%;
}
body:where(.smile) #top-page #top-page-nav span:nth-child(2 of span) img {
  position: absolute;
  right: 0.25rem;
  bottom: 0.25rem;
  width: 1rem;
  height: 1rem;
  left: auto;
}
body:where(.smile) #top-page #top-page-message {
  padding-bottom: 25vh;
  background-image: url(/assets/images/smile/topbottom.webp);
  background-position: bottom;
  background-repeat: no-repeat;
}
body:where(.smile) #top-page #top-page-message .abst_cover {
  background-image: url(/assets/images/smile/bg_abst.png);
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
  padding: 10vh 0;
}
body:where(.smile) #top-page #top-page-message p {
  color: var(--color-main);
  font-weight: bold;
  font-size: 1.2rem;
  text-shadow: 0 0 3px #ffffff;
}
body:where(.smile) #top-page #top-page-message img {
  width: 80%;
}
body:where(.smile) #top-page #top-page-message img:nth-child(2 of img) {
  width: 64.7529411765%;
}
body:where(.smile) #bread-list #bread-list-text {
  margin-right: 1em;
}
body:where(.smile) #bread-list #bread-list-text * {
  color: white;
  background: var(--color-main);
}
body:where(.smile) #bread-list #bread-list-text p {
  padding: 0.25em 0.5em;
}
body:where(.smile) #bread-list #bread-list-text div {
  width: 0.5em;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
body:where(.smile) #bread-list #bread-list-links > div {
  margin-right: 1em;
}
body:where(.smile) #bread-list #bread-list-links > div:has(a)::after {
  content: "";
  display: block;
  margin-left: 1em;
  height: 1em;
  width: 1em;
  background: var(--text-color);
  clip-path: polygon(40% 0, 90% 50%, 40% 100%, 30% 90%, 70% 50%, 30% 10%);
}
body:where(.smile) .h-gradation {
  background: linear-gradient(90deg, var(--color-accent-1), var(--color-accent-3));
  color: black;
  text-align: center;
  padding: 1.5rem 0;
  font-size: 1.75rem;
  font-weight: bold;
}
body:where(.smile) .h-nomal {
  text-align: center;
  font-size: 1.75rem;
  font-weight: bold;
}
body:where(.smile) .h-nomal p {
  font-size: 1rem;
}
body:where(.smile) .h-blue {
  background: var(--color-blue-2);
  font-size: 1.5rem;
  font-weight: bold;
  padding: 1.5rem;
  border-radius: 0.75rem;
  color: black;
}
body:where(.smile) hr {
  border-color: var(--text-color);
}
body:where(.smile) .info-list li {
  border-bottom: dotted 2px var(--color-main);
}
body:where(.smile) .bluebutton {
  background-color: var(--bg-color);
  background-image: url(/assets/images/smile/icon-arrow-b.png);
  background-repeat: no-repeat;
  background-size: 1.5rem 1.5rem;
  background-position: 0.5rem center;
  border: dashed 2px var(--color-main);
  padding: 0.75rem 1rem 0.75rem 2.5rem;
  border-radius: 0.5rem;
  font-weight: bold;
  color: var(--link-color);
}
@media (hover: hover) {
  body:where(.smile) .bluebutton:hover {
    background-color: var(--hover-color);
  }
}
body:where(.smile) #about #about-border {
  border: solid 2px var(--color-main);
  background: white;
  color: var(--color-main);
  font-weight: bold;
  border-radius: 1rem;
  line-height: 1.25lh;
  display: flex;
  justify-content: center;
}
body:where(.smile) #about #about-border dt,
body:where(.smile) #about #about-border dd {
  display: inline;
}
body:where(.smile) #about .about-h {
  font-size: 1.25rem;
  font-weight: bold;
  color: var(--color-main);
}
body:where(.smile) #about .h-blue {
  background: var(--color-main);
  color: white;
}
body:where(.smile) .page-width1 {
  max-width: 980px;
  margin: auto;
  width: 100%;
}
body:where(.smile) #interview .interview-card a {
  background: var(--bg-color);
  box-shadow: 0.25rem 0.25rem 0.5rem var(--hover-color);
  border-radius: 0.75rem;
  overflow: hidden;
  color: var(--text-color);
  width: 100%;
}
@media (hover: hover) {
  body:where(.smile) #interview .interview-card a:hover img {
    filter: brightness(1.2);
  }
}
body:where(.smile) #interview .interview-card b {
  font-size: 1.25rem;
  font-weight: bold;
  min-height: 3.9rem;
  display: flex;
  margin: auto;
  align-items: center;
}
body:where(.smile) #interview .cardarrow {
  background: var(--color-main);
  width: 2rem;
  height: 2rem;
  bottom: 0;
  right: 0;
  border-top-left-radius: 100%;
}
body:where(.smile) #interview .cardarrow img {
  width: 1rem;
  height: 1rem;
  object-fit: contain;
  position: absolute;
  bottom: 0.25rem;
  right: 0.25rem;
}
body:where(.smile) #inquiry #category legend span {
  font-size: 1.25rem;
}
body:where(.smile) #inquiry #category .d-grid {
  grid-template-columns: repeat(auto-fit, 200px);
  gap: 0.5rem;
  width: 80%;
  margin-inline: auto;
  place-content: center;
}
body:where(.smile) #inquiry #category img {
  width: 2.5rem;
  height: 2.5rem;
  object-fit: contain;
}
body:where(.smile) #inquiry #category label {
  user-select: none;
  -webkit-user-select: none;
  width: fit-content;
}
body:where(.smile) #inquiry #category .checkbox {
  width: 1rem;
  height: 1rem;
  background: var(--bg-color);
  border: solid 1px var(--hover-color);
  border-radius: 0.25rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
body:where(.smile) #inquiry #category input:checked + label > .checkbox {
  background: var(--link-color);
  border-color: var(--link-color);
}
body:where(.smile) #inquiry #category input:checked + label > .checkbox::after {
  content: "";
  display: block;
  position: absolute;
  width: 80%;
  height: auto;
  aspect-ratio: 6/5;
  background: var(--bg-color);
  clip-path: polygon(0 60%, 16.66666667% 40%, 33.33333333% 60%, 83.33333333% 0, 100% 20%, 33.33333333% 100%);
}
body:where(.smile) #inquiry #details {
  gap: 1rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  body:where(.smile) #inquiry #details {
    grid-template-columns: auto 1fr;
  }
}
body:where(.smile) #inquiry #details > * {
  grid-template-columns: subgrid;
  gap: 0.5rem;
}
@media (min-width: 768px) {
  body:where(.smile) #inquiry #details > * {
    grid-column: span 2;
  }
}
body:where(.smile) #inquiry #details p {
  background: #fd8484;
  color: white;
  border-radius: 1rem;
  font-size: 0.8rem;
}
body:where(.smile) #inquiry #details input,
body:where(.smile) #inquiry #details textarea {
  border: solid 1px var(--hover-color);
  border-radius: 0.25rem;
}
body:where(.smile) #inquiry #details input {
  height: 1.5lh;
}
body:where(.smile) #inquiry #details textarea {
  min-height: 1.5lh;
}
body:where(.smile) #inquiry #details *:has(> p):has(+ textarea) {
  margin-top: 0.25lh;
  height: fit-content;
}
body:where(.smile) #inquiry button {
  background: var(--link-color);
  color: var(--bg-color);
  border-radius: 1rem;
}
@media (hover: hover) {
  body:where(.smile) #inquiry button:hover {
    background: var(--hover-color);
  }
}
body:where(.smile) #contact-form .sr-only {
  background-color: var(--important-color);
  color: white;
  font-weight: bold;
  padding: 0 8px;
  border-radius: 20px;
}
body:where(.smile) #contact-form .form_btns {
  background: var(--color-main);
  color: white;
  border-radius: 0.5rem;
}
body:where(.smile) #contact-form .confirm tr {
  border-bottom: 1px solid #c6c6c6;
}
body:where(.smile) #contact-form .confirm .text-muted {
  display: none;
}
body:where(.smile) #contact-form .form_table {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 1rem 0;
}
body:where(.smile) #contact-form .form_table .text-muted {
  padding: 0.25rem 0;
}
body:where(.smile) #contact-form .form_table tbody {
  width: 100%;
}
body:where(.smile) #contact-form .form_table tr {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0.25rem 0;
}
body:where(.smile) #contact-form .form_table th {
  min-height: 3rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background: var(--color-blue-2);
  padding: 0.5rem;
}
body:where(.smile) #contact-form .form_table td {
  width: 100%;
  display: block;
  padding: 0.5rem 0;
  min-height: 3rem;
}
body:where(.smile) #contact-form .form_table .起業::before {
  content: "";
  background-image: url(/assets/images/smile/icon-kigyo.png);
  display: inline-block;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
  background-size: cover;
}
body:where(.smile) #contact-form .form_table .働く::before {
  content: "";
  background-image: url(/assets/images/smile/icon-hataraku.png);
  display: inline-block;
  background-position: center;
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
  background-size: cover;
}
body:where(.smile) #contact-form .form_table .おためし暮らし::before {
  content: "";
  background-image: url(/assets/images/smile/icon-otamesi.png);
  display: inline-block;
  background-position: center;
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
  background-size: cover;
}
body:where(.smile) #contact-form .form_table .移住::before {
  content: "";
  background-image: url(/assets/images/smile/icon-iju.png);
  display: inline-block;
  background-position: center;
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
  background-size: cover;
}
body:where(.smile) #contact-form .form_table .子育て::before {
  content: "";
  background-image: url(/assets/images/smile/icon-kosodate.png);
  display: inline-block;
  background-position: center;
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
  background-size: cover;
}
body:where(.smile) #contact-form .form_table .その他::before {
  content: "";
  background-image: url(/assets/images/smile/icon-sonota.png);
  display: inline-block;
  background-position: center;
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
  background-size: cover;
}
body:where(.smile) #contact-form .form_table .cell-form-input {
  font-size: 1rem;
}
@media (min-width: 992px) {
  body:where(.smile) #contact-form .form_table .cell-form-input {
    font-size: 1.2rem;
  }
}
body:where(.smile) #contact-form .form_table .cell-form-input img {
  max-width: 50px;
  height: 100%;
}
body:where(.smile) #contact-form .form_table .cell-form-input {
  padding: 0.5rem;
}
@media (min-width: 992px) {
  body:where(.smile) #contact-form .form_table tr {
    flex-direction: row;
    align-items: normal;
  }
  body:where(.smile) #contact-form .form_table th {
    width: 25%;
    min-height: 3rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background: #f4fbff;
    padding: 0.5rem;
  }
  body:where(.smile) #contact-form .form_table td {
    width: 75%;
  }
}
body:where(.smile) #page-contact {
  border: solid 2px var(--hover-color);
  border-radius: 1rem;
}
body:where(.smile) #page-contact h2 {
  font-size: 1.5rem;
}
body:where(.smile) #page-contact h2 img {
  width: 1.5em;
  height: 1.5em;
  margin-right: 0.5em;
}
body:where(.smile) #page-contact .hr-line {
  height: 2px;
  background: var(--hover-color);
}
body:where(.smile) #page-contact em {
  font-size: 1.125rem;
}
body:where(.smile) #person .person-card {
  background: var(--bg-color);
  overflow: hidden;
  border-radius: 2rem;
}
body:where(.smile) #person .person-h {
  font-size: 1.5rem;
  font-weight: bold;
  border-bottom: solid 2px var(--hover-color);
  padding-bottom: 0.5rem;
}
body:where(.smile) #person #person-person b {
  font-size: 2rem;
  font-weight: bold;
}
body:where(.smile) #person #person-message {
  background: var(--color-brown-2);
  border-radius: 2rem;
}
body:where(.smile) #person #person-message .person-h {
  border: none;
  text-align: center;
  padding-bottom: 1rem;
}
body:where(.smile) #person #person-message .person-h span {
  background: var(--bg-color);
  border-radius: 100lvmax;
  padding: 0.5em 1.5em;
  position: relative;
}
body:where(.smile) #person #person-message .person-h span::after {
  content: "";
  position: absolute;
  display: block;
  background: linear-gradient(-45deg, var(--bg-color), var(--bg-color) 1.2rem, transparent 0);
  width: 1.5rem;
  height: 1.5rem;
  left: calc(50% - 0.75rem);
  bottom: -0.6rem;
  transform: scale(0.6, 1) rotate(45deg);
}
body:where(.smile) #life-climate .summer {
  border-radius: 20px;
  background-color: #F0B0A0;
}
body:where(.smile) #life-climate .winter {
  border-radius: 20px;
  background-color: #626B9F;
}
body:where(.smile) #life-climate .temp-icon {
  width: 100%;
  max-width: 80px;
}
body:where(.smile) :is(#page-contact, #page-enquete) {
  border: solid 2px var(--hover-color);
  border-radius: 1rem;
  background: var(--bg-color);
}
body:where(.smile) :is(#page-contact, #page-enquete) :not(a) {
  color: var(--text-color);
}
body:where(.smile) :is(#page-contact, #page-enquete) h2 {
  font-size: 1.5rem;
  background: var(--bg-color);
}
body:where(.smile) :is(#page-contact, #page-enquete) h2 img {
  width: 1.5em;
  height: 1.5em;
  margin-right: 0.5em;
}
body:where(.smile) :is(#page-contact, #page-enquete) .hr-line {
  height: 2px;
  background: var(--hover-color);
}
body:where(.smile) #page-contact em {
  font-size: 1.125rem;
}
body:where(.smile) #page-enquete .hr-line {
  background: var(--accent-color);
}
body:where(.smile) #page-enquete form fieldset legend {
  color: var(--accent-color);
  font-size: 1.125rem;
}
body:where(.smile) #page-enquete form fieldset legend::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background: url(/assets/images/smile/icon-q.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 0.25em;
  flex-shrink: 0;
}
body:where(.smile) #page-enquete form fieldset :has([type=radio]) {
  margin-right: 1em;
}
body:where(.smile) #page-enquete form fieldset [type=radio] {
  margin-right: 0.25em;
  height: 1.25em;
  width: 1.25em;
}
body:where(.smile) #page-enquete form fieldset small {
  font-size: 0.8em;
  color: var(--deco-color-r);
}
body:where(.smile) #page-enquete form fieldset [type=text] {
  border: solid 1px var(--accent-color);
  border-radius: 0.5rem;
}
body:where(.smile) #page-enquete form button {
  background: var(--accent-color);
  color: white;
  border-radius: 0.5rem;
}
@media (hover: hover) {
  body:where(.smile) #page-enquete form button:hover {
    background: var(--pink-color1);
  }
}
body:where(.smile) footer {
  background: linear-gradient(-45deg, var(--color-accent-1), var(--color-accent-2));
  padding-bottom: 10rem;
}
@media (min-width: 768px) {
  body:where(.smile) footer {
    padding-bottom: 0;
  }
}
body:where(.smile) footer small {
  color: black;
}
body:where(.smile) footer #footer-info-main-base {
  color: black;
}
body:where(.smile) footer #footer-info-main-base > img {
  width: 125px;
}
body:where(.smile) footer #footer-info-main-base b {
  font-size: 4rem;
}
body:where(.smile) footer #footer-info-main-base b img {
  width: 4rem;
}
body:where(.smile) footer #footer-info-main-base a {
  background: var(--bg-color);
  padding: 4px;
  border-radius: 0.25rem;
  color: var(--text-color);
  box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.2);
}
@media (hover: hover) {
  body:where(.smile) footer #footer-info-main-base a:hover {
    background: var(--hover-color);
  }
}
body:where(.smile) footer #footer-main-logo img {
  max-width: 250px;
  filter: drop-shadow(0 0 5px white) drop-shadow(0 0 5px white);
}
body:where(.smile) footer #footer-info-main-accounts img {
  max-width: 60px;
}
body:where(.smile) #info-list-list ul {
  background: var(--bg-color);
  border-radius: 0.5rem;
}
body:where(.smile) #info-list-list ul li {
  border-bottom: dotted 4px var(--color-main);
}
body:where(.smile) #info-list-archive h2 {
  background: var(--color-main);
  border-radius: 1rem 1rem 0 0;
  font-size: 1.25rem;
  color: white;
}
body:where(.smile) #info-list-archive h2 img {
  height: 1lh;
  width: 1lh;
  margin-right: 0.25em;
}
body:where(.smile) #info-list-archive > div > div {
  border: solid 2px var(--color-main);
  border-radius: 0 0 1rem 1rem;
  background: var(--bg-color);
}
body:where(.smile) #info-list-archive dl:not(:last-child) {
  border-bottom: solid 2px var(--color-main);
}
body:where(.smile) #info-list-archive dl dt button {
  color: var(--text-color);
  background: var(--bg-color);
}
@media (hover: hover) {
  body:where(.smile) #info-list-archive dl dt button:hover {
    background: var(--hover-color);
  }
}
body:where(.smile) #info-list-archive dl dt button::after {
  content: "";
  display: block;
  width: 1lh;
  height: 1lh;
  clip-path: polygon(0 40%, 50% 90%, 100% 40%, 90% 30%, 50% 70%, 10% 30%);
  background: var(--color-main);
  transition: rotate 0.5s ease;
}
body:where(.smile) #info-list-archive dl dt button.buttonactive::after {
  rotate: 540deg;
}
body:where(.smile) #info-list-archive dl dt:has(button.buttonactive) + dd {
  grid-template-rows: 1fr;
}
body:where(.smile) #info-list-archive dl dt:has(button.buttonactive) + dd ul {
  margin-top: 0.5rem;
  padding-bottom: 0.5rem;
}
body:where(.smile) #info-list-archive dl dd {
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s ease;
}
body:where(.smile) #info-list-archive dl dd ul {
  overflow: hidden;
  margin: 0;
  padding: 0;
  transition: margin 0.5s, padding 0.5s ease;
}
body:where(.smile) #top-page-news {
  position: relative;
  margin-top: -60px;
  padding-top: calc(60px + 1rem);
  background: radial-gradient(rgb(from var(--pink-color2) r g b/0.6), rgb(from var(--pink-color2) r g b/0.6) 1.8px, var(--pink-color3) 0) white;
  background-size: 10px 10px;
}
body:where(.smile) #top-page-news-list {
  background: var(--bg-color);
  border-radius: 2rem;
}
body:where(.smile) #top-page-news-list li {
  border-bottom: dotted 4px var(--color-main);
}
body:where(.smile) #top-page-news-list li a {
  color: var(--text-color);
}
body:where(.smile) #top-page-news-link a {
  background: var(--pink-color3);
  padding: 4px;
  border-radius: 2rem;
  color: black;
}
@media (hover: hover) {
  body:where(.smile) #top-page-news-link a:hover {
    background: var(--pink-color1);
  }
}
body:where(.smile) #top-page-news-link a div {
  border: dashed 2px var(--color-main);
  border-radius: 2rem;
}
body:where(.smile) #top-page-news-link a div::after {
  content: "";
  display: block;
  position: absolute;
  width: 1em;
  height: 1em;
  background: url(/assets/images/smile/arrow.png);
  background-size: contain;
  right: 0.25em;
}
body:where(.smile) #sidemenu {
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: 2;
  pointer-events: none;
  height: 100svh;
}
body:where(.smile) #sidemenu #sidemenu-wrap {
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  width: fit-content;
  transition: translate ease 0.25s;
}
body:where(.smile) #sidemenu #sidemenu-wrap.closesidemenu {
  translate: calc(100% + 5px) -50%;
}
body:where(.smile) #sidemenu #sidemenu-wrap.closesidemenu #sidemenuopen {
  translate: calc(-100% - 5px);
}
body:where(.smile) #sidemenu .sidemenu-wrap {
  max-height: 100svh;
  background-color: var(--color-main);
  border-radius: 8px 0 0 8px;
  box-shadow: 0 0 3px 0px #000000;
}
body:where(.smile) #sidemenu #sidemenuopen {
  z-index: -1;
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  padding: 5px 15px;
  translate: calc(100% + 5px);
  transition: translate ease 0.25s;
  border-radius: 8px 0 0 8px;
  box-shadow: 0 0 3px 0px #000000;
  width: 100%;
}
body:where(.smile) #sidemenu .link-wrap {
  border-radius: 8px;
  background: var(--color-main);
  padding: 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: auto;
  text-decoration: none;
  position: relative;
  top: 0;
  pointer-events: auto;
}
body:where(.smile) #sidemenu .link-wrap > * {
  transition: translate ease 0.2s;
}
@media (hover: hover) {
  body:where(.smile) #sidemenu .link-wrap:hover > * {
    translate: 0 -2px;
  }
}
body:where(.smile) #sidemenu .icon {
  background-color: white;
  border-radius: 50px;
  width: 100%;
  padding: 5px;
  max-width: 40px;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
}