/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
:root, :host {
  --color-green-700: oklch(52.7% 0.154 150.069);
  --color-cyan-700: oklch(52% 0.105 223.128);
  --color-sky-300: oklch(82.8% 0.111 230.318);
  --color-white: #fff;
  --spacing: 0.25rem;
  --font-weight-normal: 400;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --tracking-wider: 0.05em;
  --leading-tight: 1.25;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --radius-3xl: 1.5rem;
}
:root {
  --box-padding: 16px;
  --box-margin: 16px;
  --box-rounded: 8px;
  --highlight: #fef9a8;
  --fukidashi-size: 8px;
  --fukidashi-border-size: 2px;
  --fukidashi-bg: #fff;
}
.scroll-hint-icon {
  transform: scale(0.9) translate3d(-50%, -50%, 0);
  transform-origin: center;
  top: 50% !important;
  left: 50% !important;
}
.scroll-hint-icon-wrap .scroll-hint-icon:before {
  animation-iteration-count: 1 !important;
}
.scroll-hint-icon-wrap .scroll-hint-icon:after {
  transition-delay: 1.2s !important;
}
main a.tel-link {
  display: inline;
}
.inline-indent {
  text-indent: -1em;
  margin-left: 1em;
}
.AB-wrap {
  margin-top: 0.5em;
}
.AB-wrap .AB-btn-wrap {
  margin-bottom: 0.8em;
}
.AB-wrap .AB-btn-wrap li {
  margin: 0;
}
dl.dl-list:not(#\#) dt {
  margin-bottom: 0;
}
dl.dl-list:not(#\#) dd {
  margin-top: 0;
}
ul.ul-list:not(#\#) li {
  margin-top: 0;
  margin-bottom: 0;
}
.qr a {
  display: inline-block;
  margin-top: 0.25em;
}
.qr a + a {
  margin-left: 0.5em;
}
.shisei-content {
  background-color: #003f99 !important;
  .shisei-box {
    background-color: #e0f2fc !important;
  }
  .shisei-box-title {
    width: calc(100% - 2em);
    padding-right: 2em;
    position: relative;
    z-index: 1;
    color: white !important;
  }
  .shisei-box-title::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    transform: skewX(-15deg);
    width: calc(100%);
    transform-origin: top right;
    border-end-end-radius: 0.5em;
    background-color: #003f99;
  }
}
.note {
  background-color: var(--note-bg, #fff) !important;
  background-image: linear-gradient(
            90deg,
            transparent 0%,
            transparent 50%,
            var(--note-bg, #fff) 50%,
            var(--note-bg, #fff) 100%
        ),
        linear-gradient(180deg, #ccc 1px, transparent 1px);
  background-size: 3px 100%,
        100% 1.5em;
  line-height: 1.5em;
  padding-bottom: 1px;
}
.note-underline {
  background-color: var(--note-bg, #fff) !important;
  background-image: linear-gradient(
            90deg,
            transparent 0%,
            transparent 50%,
            var(--note-bg, #fff) 50%,
            var(--note-bg, #fff) 100%
        ),
        linear-gradient(180deg, transparent calc(100% - 1px), #ccc calc(100% - 1px));
  background-size: 3px 100%,
        100% 100%;
  background-repeat: repeat-x, no-repeat;
  line-height: 1.5em;
  padding-bottom: 1px;
}
.manga-series .manga-content {
  background-color: #f7bb75 !important;
}
.manga-series .manga-content > .tp-box {
  background-color: #fafad9 !important;
}
.manga-series .manga-content .note {
  background-color: #fafad9 !important;
  background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fafad9 50%, #fafad9 100%),
        linear-gradient(180deg, #ccc 1px, transparent 1px);
  background-size: 3px 100%,
        100% 1.5em;
  line-height: 1.5em;
  padding-bottom: 1px;
}
.cou2 {
  margin-bottom: 1em;
  padding: 8px;
  font-weight: bold;
  background: #bdfcfd;
  border: solid 1px #29c8cd;
  border-radius: 10px;
}
.footer_inner #footmark {
  display: block;
  margin: 15px auto 0;
  padding-bottom: 8px;
  width: 48px;
  height: auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer_inner #footmark {
    margin-top: 10px;
    padding-bottom: 3px;
    width: 44px;
    height: auto;
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
.ward table {
  width: 100%;
}
.ward table th {
  font-weight: bold;
  text-align: center;
  background: #ffffff;
}
.ward table thead th {
  background: #b1c668;
}
.ward table td {
  font-size: 1.4rem;
}
.ward table tr.even td {
  background-color: #dce89d;
}
.ward_footer {
  font-size: 1.4rem;
  overflow: hidden;
}
.ward_footer .wf-media {
  position: relative;
  z-index: 1;
  display: block;
  margin: 0 0 0.5em 0.5em !important;
  width: 45%;
  max-width: 200px;
  float: right;
  font-size: 1.4rem;
  text-align: center;
}
.ward_footer .wf-media img {
  margin-bottom: 4px;
  width: 100%;
}
.pic50 {
  margin: 1.1428em auto !important;
  font-size: 1.4rem;
  text-align: center;
}
.pic50 img {
  margin: 0 auto;
  margin-bottom: 4px;
  width: 50%;
}
.shisei-content {
  background-color: #003f99 !important;
}
.shisei-box {
  background-color: #e0f2fc !important;
}
.shisei-box-title {
  position: relative;
  z-index: 1;
  color: white !important;
}
.shisei-box-title::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  transform: skewX(-15deg);
  width: calc(100%);
  transform-origin: top right;
  border-end-end-radius: 0.5em;
  background-color: #003f99;
}
:root {
  --ribon-bg: #e01d2b;
  --ribon-size: 35px;
  --ribon-diff-size: 15px;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
  *, ::before, ::after, ::backdrop {
    --tw-space-y-reverse: 0;
    --tw-border-style: solid;
    --tw-leading: initial;
    --tw-font-weight: initial;
    --tw-tracking: initial;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-color: initial;
    --tw-shadow-alpha: 100%;
    --tw-inset-shadow: 0 0 #0000;
    --tw-inset-shadow-color: initial;
    --tw-inset-shadow-alpha: 100%;
    --tw-ring-color: initial;
    --tw-ring-shadow: 0 0 #0000;
    --tw-inset-ring-color: initial;
    --tw-inset-ring-shadow: 0 0 #0000;
    --tw-ring-inset: initial;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-blur: initial;
    --tw-brightness: initial;
    --tw-contrast: initial;
    --tw-grayscale: initial;
    --tw-hue-rotate: initial;
    --tw-invert: initial;
    --tw-opacity: initial;
    --tw-saturate: initial;
    --tw-sepia: initial;
    --tw-drop-shadow: initial;
    --tw-drop-shadow-color: initial;
    --tw-drop-shadow-alpha: 100%;
    --tw-drop-shadow-size: initial;
  }
}
small {
  display: inline-block;
}
hr {
  margin-top: 0.6em;
  height: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
}
hr.hr-dotted {
  border-style: dotted;
}
hr.hr-dashed {
  border-style: dashed;
}
dt {
  margin-top: 0.7rem;
  margin-bottom: 6px;
}
dd {
  margin-top: 3px;
}
sub,
    sup {
  vertical-align: baseline;
  position: relative;
  font-size: 75%;
  line-height: 0;
}
sub {
  top: 0.25em;
}
sup {
  top: -0.25em;
}
#special img,
    #topics img {
  max-width: 100%;
  height: auto;
}
#special .AB-wrap img,
    #topics .AB-wrap img {
  max-width: none;
}
#special h4,
    #topics h4 {
  font-size: 1.125em;
}
#special h5,
    #special h6,
    #topics h5,
    #topics h6 {
  font-size: 1em;
}
#topics section:not(:first-child),
    #topics section + hr:not(:first-child) {
  margin-top: 1.6em;
}
#topics .topics-content {
  background-color: #dbad7c;
  padding: 4px;
}
#topics .topics-content > .tp-box:not(:first-child) {
  margin-top: 4px;
}
#topics .topics-content > .tp-box:not(:last-child) {
  margin-bottom: 4px;
}
#topics ul li:not(:first-child) {
  margin-top: 0.3em;
}
#topics .hr-tp-dashed {
  background: none;
  border: 0;
  border-bottom: 2px dashed #dbad7c;
}
#topics h4 {
  margin-top: 0.8em;
  margin-bottom: 0.1em;
}
#topics h5 {
  margin-top: 0.8em;
  margin-bottom: 0.1em;
}
#topics h6 {
  margin-top: 0.6em;
  margin-bottom: 0.1em;
}
#kokuraminami .tb_left,
    #kokuraminami .tb_right {
  width: auto;
  height: 310px;
}
#kokuraminami table th {
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  background: #d1e7c3;
}
#kokuraminami table th.bobd {
  border-top-width: 2.5px;
  border-right-width: 2.5px;
  border-left-width: 2.5px;
}
#kokuraminami table td {
  font-size: 1.4rem;
}
#kokuraminami table td.bobd {
  border-right-width: 2.5px;
  border-bottom-width: 2.5px;
  border-left-width: 2.5px;
}
#kokuraminami .ward_btext {
  min-height: 200px;
}
@media screen and (min-width: 768px) {
  #kokuraminami .ward_eye img {
    width: 200px;
  }
}
#yahatanishi table.kenko-table {
  width: 100%;
}
#yahatanishi table.kenko-table thead th {
  white-space: nowrap;
  background-color: #3e66ac;
  color: white;
}
#yahatanishi table.kenko-table tbody th {
  font-weight: normal;
}
#yahatanishi table.kenko-table th {
  text-align: left;
}
#yahatanishi table.kenko-table td {
  text-align: center;
}
#yahatanishi table.kenko-table td.td-mark {
  background-color: mark;
}
#yahatahigashi .tb_left,
    #yahatahigashi .tb_right {
  width: auto;
  height: 110px;
}
#yahatahigashi .tb {
  width: 100%;
  height: auto;
}
#yahatahigashi .yahata_mid {
  margin-bottom: 0;
  color: #2f5831;
}
#yahatahigashi .higashi_box {
  margin-top: 1.2em;
  padding: 12px;
  background: #fad1b1;
  border-radius: 10px;
}
#yahatahigashi .higashi_box h4 {
  margin-bottom: 0;
  color: #ea5405;
}
#yahatahigashi .higashi_box li {
  margin-top: 0.2em;
}
#tobata .tb_left,
    #tobata .tb_right {
  width: auto;
  height: 288.5px;
}
#tobata table th,
    #tobata table td {
  font-size: 1.4rem;
}
#tobata table thead th {
  white-space: nowrap;
  background: #0068b7;
  color: #ffffff;
}
#tobata table tbody th {
  white-space: nowrap;
}
#tobata table tbody td:nth-of-type(2) {
  white-space: nowrap;
}
#tobata table tbody td {
  background: #ffffff;
}
#tobata .tobata_box {
  margin-top: 1.2em;
  padding: 12px;
  background: #cbda95;
  border-radius: 10px;
}
#tobata .tobata_box h4 {
  margin: 0;
  padding: 3px 8px;
  font-size: 1.7rem;
  background: #fff100;
  color: #009944;
  border-radius: 6px;
}
#tobata .info_contents {
  background: #fadce9;
}
#special {
  padding: 0;
  background-size: 100% auto;
}
#special .special-block {
  padding: 12px;
  background-size: 100% auto;
}
#special .special-block #special_title {
  position: relative;
  margin: 0;
}
.tp-title {
  padding: 2px 8px;
}
.tp-info-box {
  margin-top: var(--box-margin);
  padding: 10px 12px;
  background: var(--highlight) !important;
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(
            in hsl,
            var(--highlight) 88%,
            white
        ) !important;
  }
  border-radius: calc(var(--box-rounded) * 0.875);
}
.tp-info-box dt:first-child {
  margin-top: 0;
}
.box {
  position: relative;
  padding: var(--box-padding);
  overflow: hidden;
  background-color: white;
  & > h3,
        & > h4,
        & > h5,
        & > h6 {
    margin-top: 0.75em;
    margin-bottom: 0.375em;
  }
  & > *:first-child:not(#\#) {
    margin-top: 0;
  }
  & > *:last-child:not(#\#) {
    margin-bottom: 0;
  }
  .box {
    padding: calc(var(--box-padding) * 0.9);
  }
}
.box-title {
  font-size: 1.1em;
  font-weight: bold;
}
.box-header {
  padding: 6px 12px;
}
.box-content {
  padding: 12px;
}
.box:not(:first-child) {
  margin-top: var(--box-margin);
}
.box:not(:last-child) {
  margin-bottom: var(--box-margin);
}
.accordion-content > .box:not(:first-child) {
  margin-top: 8px;
}
.accordion-content > .box:not(:last-child) {
  margin-bottom: 8px;
}
.cell-border {
  border-collapse: collapse;
  & th,
        & td {
    border: 1px solid var(--cell-border, #ccc);
  }
}
.banzai {
  position: relative;
  display: inline-block;
  padding: 0 1em;
  line-height: 1;
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.banzai.banzai-center {
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.banzai::before,
    .banzai::after {
  position: absolute;
  bottom: 0;
  content: '';
  width: 1px;
  height: 130%;
  min-height: 2rem;
  transform-origin: center bottom;
}
.banzai::before {
  left: 0.5em;
  border-left: 2px solid currentColor;
  transform: rotate(-35deg);
}
.banzai::after {
  right: 0.5em;
  border-right: 2px solid currentColor;
  transform: rotate(35deg);
}
.banzai .banzai::before {
  left: 0;
  height: 110%;
  transform: rotate(-20deg);
}
.banzai .banzai::after {
  right: 0;
  height: 110%;
  transform: rotate(20deg);
}
.fukidashi-1 {
  --fukidashi-border-size: 1px;
}
.fukidashi-mini {
  --fukidashi-size: 6px;
}
.fukidashi {
  display: block;
  background: var(--fukidashi-bg);
  position: relative;
  padding: 0.25em 0.75em;
  margin: 0;
}
.fukidashi > * {
  margin: 0 !important;
}
.fukidashi::before,
    .fukidashi::after {
  position: absolute;
  left: 35%;
  height: 0;
  width: 0;
  border: solid transparent;
  content: '';
}
.fukidashi::before {
  top: 100%;
  margin-left: calc(var(--fukidashi-size) * -1);
  border-color: transparent;
  border-top-color: var(--fukidashi-bg);
  border-right-color: var(--fukidashi-bg);
  border-width: var(--fukidashi-size);
}
.fukidashi-outline::after {
  top: calc(100% - var(--fukidashi-border-size) + 1px);
  margin-left: calc((var(--fukidashi-size) - var(--fukidashi-border-size)) * -1);
  border-color: transparent;
  border-top-color: var(--fukidashi-bg);
  border-right-color: var(--fukidashi-bg);
  border-width: calc(var(--fukidashi-size) - var(--fukidashi-border-size));
}
.fukidashi-reverse::before,
    .fukidashi-reverse::after {
  transform: scale(-1, 1);
}
.fukidashi-top::before,
    .fukidashi-top::after {
  top: inherit;
  bottom: 100%;
  transform: scale(1, -1);
}
.fukidashi-top.fukidashi-outline::after {
  bottom: calc(100% - var(--fukidashi-border-size) + 1px);
}
.fukidashi-top-left::before,
    .fukidashi-top-left::after {
  top: inherit;
  bottom: 100%;
  transform: scale(1, -1);
  left: 15%;
}
.fukidashi-top-left.fukidashi-outline::after {
  bottom: calc(100% - var(--fukidashi-border-size) + 1px);
}
.fukidashi-top-center::before,
    .fukidashi-top-center::after {
  top: inherit;
  bottom: 100%;
  transform: scale(1, -1);
  left: 50%;
}
.fukidashi-top-center.fukidashi-outline::after {
  bottom: calc(100% - var(--fukidashi-border-size) + 1px);
}
.fukidashi-top-right::before,
    .fukidashi-top-right::after {
  top: inherit;
  bottom: 100%;
  transform: scale(1, -1);
  left: 85%;
}
.fukidashi-top-right.fukidashi-outline::after {
  bottom: calc(100% - var(--fukidashi-border-size) + 1px);
}
.fukidashi-left::before,
    .fukidashi-left::after {
  transform: scale(1, 0.75) translate3d(0, -65%, 0);
  top: 50%;
  left: inherit;
  right: 100%;
}
.fukidashi-left.fukidashi-outline::after {
  right: calc(100% - var(--fukidashi-border-size) + 1px);
  margin-left: 0;
}
.fukidashi-left-top::before,
    .fukidashi-left-top::after {
  transform: scale(1, 0.75) translate3d(0, -65%, 0);
  left: inherit;
  right: 100%;
  top: 25%;
}
.fukidashi-left-top.fukidashi-outline::after {
  right: calc(100% - var(--fukidashi-border-size) + 1px);
  margin-left: 0;
}
.fukidashi-left-bottom::before,
    .fukidashi-left-bottom::after {
  transform: scale(1, 0.75) translate3d(0, -65%, 0);
  left: inherit;
  right: 100%;
  top: 75%;
}
.fukidashi-left-bottom.fukidashi-outline::after {
  right: calc(100% - var(--fukidashi-border-size) + 1px);
  margin-left: 0;
}
.fukidashi-center::before,
    .fukidashi-center::after {
  left: 50%;
}
.fukidashi-right::before,
    .fukidashi-right::after {
  transform: scale(-1, 0.75) translate3d(0, -65%, 0);
  top: 50%;
  left: 100%;
  right: inherit;
}
.fukidashi-right::before {
  margin-left: 0;
  margin-right: calc(var(--fukidashi-size) * -1);
}
.fukidashi-right.fukidashi-outline::after {
  left: calc(100% - var(--fukidashi-border-size) + 1px);
  margin-left: 0;
  margin-right: calc((var(--fukidashi-size) - var(--fukidashi-border-size)) * -1);
}
.fukidashi-right-top::before,
    .fukidashi-right-top::after {
  transform: scale(-1, 0.75) translate3d(0, -65%, 0);
  left: 100%;
  right: inherit;
  top: 25%;
}
.fukidashi-right-top.fukidashi-outline::after {
  left: calc(100% - var(--fukidashi-border-size) + 1px);
  margin-left: 0;
  margin-right: calc((var(--fukidashi-size) - var(--fukidashi-border-size)) * -1);
}
.fukidashi-right-bottom::before,
    .fukidashi-right-bottom::after {
  transform: scale(-1, 0.75) translate3d(0, -65%, 0);
  left: 100%;
  right: inherit;
  top: 75%;
}
.fukidashi-right-bottom.fukidashi-outline::after {
  left: calc(100% - var(--fukidashi-border-size) + 1px);
  margin-left: 0;
  margin-right: calc((var(--fukidashi-size) - var(--fukidashi-border-size)) * -1);
}
.ribon {
  display: block;
  position: relative;
  z-index: 0;
  margin-left: calc(var(--ribon-size) - var(--ribon-diff-size));
  margin-right: calc(var(--ribon-size) - var(--ribon-diff-size));
  text-align: center;
  box-sizing: border-box;
  &:before {
    content: '';
    position: absolute;
    width: var(--ribon-size);
    height: 100%;
    bottom: calc(var(--ribon-diff-size) * -1);
    left: calc((var(--ribon-size) - var(--ribon-diff-size)) * -1);
    z-index: -2;
    background: var(--ribon-bg);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--ribon-bg), black 10%);
    }
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 50% 50%);
  }
  &:after {
    content: '';
    position: absolute;
    width: var(--ribon-size);
    height: 100%;
    bottom: calc(var(--ribon-diff-size) * -1);
    right: calc((var(--ribon-size) - var(--ribon-diff-size)) * -1);
    z-index: -2;
    background: var(--ribon-bg);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--ribon-bg), black 10%);
    }
    clip-path: polygon(0% 0%, 100% 0%, 50% 50%, 100% 100%, 0% 100%);
  }
  > *:first-child {
    display: block;
    position: relative;
    margin: 0;
    padding: 6px 8px;
    color: #fff;
    background: var(--ribon-bg);
  }
  > *:first-child:before {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid var(--ribon-diff-size) transparent;
    border-right: solid var(--ribon-diff-size)
                var(--ribon-bg);
    @supports (color: color-mix(in lab, red, red)) {
      border-right: solid var(--ribon-diff-size)
                color-mix(in srgb, var(--ribon-bg), black 20%);
    }
  }
  > *:first-child:after {
    position: absolute;
    content: '';
    top: 100%;
    right: 0;
    border: none;
    border-bottom: solid var(--ribon-diff-size) transparent;
    border-left: solid var(--ribon-diff-size) var(--ribon-bg);
    @supports (color: color-mix(in lab, red, red)) {
      border-left: solid var(--ribon-diff-size) color-mix(in srgb, var(--ribon-bg), black 20%);
    }
  }
}
.ribon-l {
  display: block;
  position: relative;
  z-index: 0;
  margin-left: calc(var(--ribon-size));
  box-sizing: border-box;
  background: var(--ribon-bg);
  width: fit-content;
  &:before {
    content: '';
    position: absolute;
    width: var(--ribon-size);
    height: 100%;
    bottom: 0;
    right: calc(100% - 1px);
    z-index: -2;
    background: var(--ribon-bg);
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 50% 50%);
  }
}
.ribon-r {
  display: block;
  position: relative;
  z-index: 0;
  margin-right: calc(var(--ribon-size));
  box-sizing: border-box;
  background: var(--ribon-bg);
  width: fit-content;
  &:after {
    content: '';
    position: absolute;
    width: var(--ribon-size);
    height: 100%;
    bottom: 0;
    left: calc(100% - 1px);
    z-index: -2;
    background: var(--ribon-bg);
    clip-path: polygon(0% 0%, 100% 0%, 50% 50%, 100% 100%, 0% 100%);
  }
}
.alignright {
  position: relative;
  z-index: 1;
  display: block;
  margin: 0 0 0.5em 0.5em;
  width: 45%;
  max-width: 160px;
  float: right;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.3;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.end {
  inset-inline-end: var(--spacing);
}
.top-0 {
  top: calc(var(--spacing) * 0);
}
.left-0 {
  left: calc(var(--spacing) * 0);
}
.z-10 {
  z-index: 10;
}
.m-0\! {
  margin: calc(var(--spacing) * 0) !important;
}
.mx-auto {
  margin-inline: auto;
}
.mx-auto\! {
  margin-inline: auto !important;
}
.my-0\! {
  margin-block: calc(var(--spacing) * 0) !important;
}
.my-2 {
  margin-block: calc(var(--spacing) * 2);
}
.my-4 {
  margin-block: calc(var(--spacing) * 4);
}
.my-6 {
  margin-block: calc(var(--spacing) * 6);
}
.my-8 {
  margin-block: calc(var(--spacing) * 8);
}
.mt-0\! {
  margin-top: calc(var(--spacing) * 0) !important;
}
.mt-2 {
  margin-top: calc(var(--spacing) * 2);
}
.mt-2\! {
  margin-top: calc(var(--spacing) * 2) !important;
}
.mt-4 {
  margin-top: calc(var(--spacing) * 4);
}
.mt-4\! {
  margin-top: calc(var(--spacing) * 4) !important;
}
.mt-5 {
  margin-top: calc(var(--spacing) * 5);
}
.mt-6\! {
  margin-top: calc(var(--spacing) * 6) !important;
}
.mt-8\! {
  margin-top: calc(var(--spacing) * 8) !important;
}
.-mb-8\! {
  margin-bottom: calc(var(--spacing) * -8) !important;
}
.mb-0 {
  margin-bottom: calc(var(--spacing) * 0);
}
.mb-0\! {
  margin-bottom: calc(var(--spacing) * 0) !important;
}
.mb-1 {
  margin-bottom: calc(var(--spacing) * 1);
}
.mb-1\! {
  margin-bottom: calc(var(--spacing) * 1) !important;
}
.mb-2\! {
  margin-bottom: calc(var(--spacing) * 2) !important;
}
.mb-3 {
  margin-bottom: calc(var(--spacing) * 3);
}
.mb-3\! {
  margin-bottom: calc(var(--spacing) * 3) !important;
}
.mb-5\! {
  margin-bottom: calc(var(--spacing) * 5) !important;
}
.block {
  display: block;
}
.contents {
  display: contents;
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.inline-block {
  display: inline-block;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.h-\[350px\]\! {
  height: 350px !important;
}
.h-\[430px\]\! {
  height: 430px !important;
}
.w-1\/3 {
  width: calc(1 / 3 * 100%);
}
.w-1\/4 {
  width: calc(1 / 4 * 100%);
}
.w-\[47\.6\%\] {
  width: 47.6%;
}
.w-\[52\.4\%\] {
  width: 52.4%;
}
.w-\[53\%\] {
  width: 53%;
}
.w-\[65\%\] {
  width: 65%;
}
.w-\[80px\] {
  width: 80px;
}
.w-\[100px\] {
  width: 100px;
}
.w-\[130px\] {
  width: 130px;
}
.w-fit {
  width: fit-content;
}
.w-full {
  width: 100%;
}
.max-w-\[100px\]\! {
  max-width: 100px !important;
}
.max-w-\[150px\] {
  max-width: 150px;
}
.max-w-\[150px\]\! {
  max-width: 150px !important;
}
.max-w-\[200px\] {
  max-width: 200px;
}
.max-w-\[280px\] {
  max-width: 280px;
}
.max-w-\[300px\] {
  max-width: 300px;
}
.max-w-\[400px\]\! {
  max-width: 400px !important;
}
.max-w-\[480px\] {
  max-width: 480px;
}
.max-w-\[520px\] {
  max-width: 520px;
}
.flex-1 {
  flex: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.items-center {
  align-items: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.gap-3 {
  gap: calc(var(--spacing) * 3);
}
.gap-4 {
  gap: calc(var(--spacing) * 4);
}
.gap-8 {
  gap: calc(var(--spacing) * 8);
}
.space-y-4 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.self-center {
  align-self: center;
}
.overflow-hidden {
  overflow: hidden;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: var(--radius-2xl);
}
.rounded-3xl {
  border-radius: var(--radius-3xl);
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}
.rounded-xl {
  border-radius: var(--radius-xl);
}
.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-0 {
  border-style: var(--tw-border-style);
  border-width: 0px;
}
.border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.border-t-2 {
  border-top-style: var(--tw-border-style);
  border-top-width: 2px;
}
.border-b {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
}
.border-b-3 {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 3px;
}
.border-dashed {
  --tw-border-style: dashed;
  border-style: dashed;
}
.border-\[\#73BAA7\] {
  border-color: #73BAA7;
}
.border-\[\#99d6f1\] {
  border-color: #99d6f1;
}
.border-\[\#25914E\] {
  border-color: #25914E;
}
.border-\[\#987335\] {
  border-color: #987335;
}
.border-\[\#C6AA5A\] {
  border-color: #C6AA5A;
}
.border-\[\#E3D4BA\] {
  border-color: #E3D4BA;
}
.border-\[\#EDC84A\] {
  border-color: #EDC84A;
}
.border-\[\#b5d459\] {
  border-color: #b5d459;
}
.border-\[\#f3bad4\] {
  border-color: #f3bad4;
}
.border-\[\#f5e65a\] {
  border-color: #f5e65a;
}
.border-\[\#fcd68c\] {
  border-color: #fcd68c;
}
.border-white {
  border-color: var(--color-white);
}
.bg-\[\#2C63AF\] {
  background-color: #2C63AF;
}
.bg-\[\#51ADA4\] {
  background-color: #51ADA4;
}
.bg-\[\#0060AC\] {
  background-color: #0060AC;
}
.bg-\[\#73BAA7\] {
  background-color: #73BAA7;
}
.bg-\[\#74B347\] {
  background-color: #74B347;
}
.bg-\[\#367DC7\] {
  background-color: #367DC7;
}
.bg-\[\#488F55\] {
  background-color: #488F55;
}
.bg-\[\#987335\] {
  background-color: #987335;
}
.bg-\[\#A02C28\] {
  background-color: #A02C28;
}
.bg-\[\#A6C96B\] {
  background-color: #A6C96B;
}
.bg-\[\#C8803F\] {
  background-color: #C8803F;
}
.bg-\[\#CBDCF0\] {
  background-color: #CBDCF0;
}
.bg-\[\#CFB99F\] {
  background-color: #CFB99F;
}
.bg-\[\#D7543D\] {
  background-color: #D7543D;
}
.bg-\[\#D54728\] {
  background-color: #D54728;
}
.bg-\[\#DAE8C7\] {
  background-color: #DAE8C7;
}
.bg-\[\#DDCEBF\] {
  background-color: #DDCEBF;
}
.bg-\[\#E3F1FB\] {
  background-color: #E3F1FB;
}
.bg-\[\#E6F0E3\] {
  background-color: #E6F0E3;
}
.bg-\[\#E7F3EB\] {
  background-color: #E7F3EB;
}
.bg-\[\#E9EAF3\] {
  background-color: #E9EAF3;
}
.bg-\[\#EAAE8F\] {
  background-color: #EAAE8F;
}
.bg-\[\#ECAE31\] {
  background-color: #ECAE31;
}
.bg-\[\#EDE8D8\] {
  background-color: #EDE8D8;
}
.bg-\[\#F0E7D6\] {
  background-color: #F0E7D6;
}
.bg-\[\#F0F3E9\] {
  background-color: #F0F3E9;
}
.bg-\[\#F9EC94\] {
  background-color: #F9EC94;
}
.bg-\[\#FAF1E9\] {
  background-color: #FAF1E9;
}
.bg-\[\#FBEEDB\] {
  background-color: #FBEEDB;
}
.bg-\[\#FCC800\] {
  background-color: #FCC800;
}
.bg-\[\#FCF3D9\] {
  background-color: #FCF3D9;
}
.bg-\[\#FDF9EF\] {
  background-color: #FDF9EF;
}
.bg-\[\#FFFDDE\] {
  background-color: #FFFDDE;
}
.bg-sky-300 {
  background-color: var(--color-sky-300);
}
.bg-transparent {
  background-color: transparent;
}
.bg-white {
  background-color: var(--color-white);
}
.p-0 {
  padding: calc(var(--spacing) * 0);
}
.p-2 {
  padding: calc(var(--spacing) * 2);
}
.p-3 {
  padding: calc(var(--spacing) * 3);
}
.p-4 {
  padding: calc(var(--spacing) * 4);
}
.px-2 {
  padding-inline: calc(var(--spacing) * 2);
}
.px-3 {
  padding-inline: calc(var(--spacing) * 3);
}
.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.px-5 {
  padding-inline: calc(var(--spacing) * 5);
}
.px-6 {
  padding-inline: calc(var(--spacing) * 6);
}
.px-6\! {
  padding-inline: calc(var(--spacing) * 6) !important;
}
.py-1 {
  padding-block: calc(var(--spacing) * 1);
}
.py-2 {
  padding-block: calc(var(--spacing) * 2);
}
.pt-3 {
  padding-top: calc(var(--spacing) * 3);
}
.pt-12 {
  padding-top: calc(var(--spacing) * 12);
}
.pb-0\! {
  padding-bottom: calc(var(--spacing) * 0) !important;
}
.text-center {
  text-align: center;
}
.text-\[0\.7em\] {
  font-size: 0.7em;
}
.text-\[1\.3em\] {
  font-size: 1.3em;
}
.text-\[1\.5em\] {
  font-size: 1.5em;
}
.text-\[1\.5em\]\! {
  font-size: 1.5em !important;
}
.text-\[1\.12em\] {
  font-size: 1.12em;
}
.text-\[1\.25em\] {
  font-size: 1.25em;
}
.text-\[1\.25em\]\! {
  font-size: 1.25em !important;
}
.text-\[1\.75em\]\! {
  font-size: 1.75em !important;
}
.text-\[1\.125em\] {
  font-size: 1.125em;
}
.text-\[1\.125em\]\! {
  font-size: 1.125em !important;
}
.text-\[1em\] {
  font-size: 1em;
}
.text-\[2em\]\! {
  font-size: 2em !important;
}
.text-\[4em\] {
  font-size: 4em;
}
.text-\[clamp\(1\.75rem\,7vw\,3rem\)\] {
  font-size: clamp(1.75rem, 7vw, 3rem);
}
.text-\[clamp\(1rem\,3\.5vw\,1\.5rem\)\] {
  font-size: clamp(1rem, 3.5vw, 1.5rem);
}
.text-\[clamp\(2rem\,9vw\,3\.75rem\)\] {
  font-size: clamp(2rem, 9vw, 3.75rem);
}
.leading-\[1\.15\] {
  --tw-leading: 1.15;
  line-height: 1.15;
}
.leading-tight {
  --tw-leading: var(--leading-tight);
  line-height: var(--leading-tight);
}
.font-bold {
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}
.font-normal {
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
}
.tracking-wider {
  --tw-tracking: var(--tracking-wider);
  letter-spacing: var(--tracking-wider);
}
.text-\[\#3C3C3C\] {
  color: #3C3C3C;
}
.text-\[\#4EA4D2\] {
  color: #4EA4D2;
}
.text-\[\#5B3A16\]\! {
  color: #5B3A16 !important;
}
.text-\[\#6AA573\] {
  color: #6AA573;
}
.text-\[\#8E1D22\] {
  color: #8E1D22;
}
.text-\[\#40BFF1\] {
  color: #40BFF1;
}
.text-\[\#51ADA4\] {
  color: #51ADA4;
}
.text-\[\#0060AC\] {
  color: #0060AC;
}
.text-\[\#66A3D8\] {
  color: #66A3D8;
}
.text-\[\#73BAA7\] {
  color: #73BAA7;
}
.text-\[\#74B347\] {
  color: #74B347;
}
.text-\[\#80B846\] {
  color: #80B846;
}
.text-\[\#282F89\] {
  color: #282F89;
}
.text-\[\#367DC7\] {
  color: #367DC7;
}
.text-\[\#578F55\] {
  color: #578F55;
}
.text-\[\#96692B\] {
  color: #96692B;
}
.text-\[\#333333\] {
  color: #333333;
}
.text-\[\#946231\] {
  color: #946231;
}
.text-\[\#987335\] {
  color: #987335;
}
.text-\[\#AA7833\] {
  color: #AA7833;
}
.text-\[\#C76825\] {
  color: #C76825;
}
.text-\[\#D7543D\] {
  color: #D7543D;
}
.text-\[\#D54728\] {
  color: #D54728;
}
.text-\[\#DB6A2A\] {
  color: #DB6A2A;
}
.text-\[\#E1896B\] {
  color: #E1896B;
}
.text-\[\#E4922E\] {
  color: #E4922E;
}
.text-\[\#E08654\] {
  color: #E08654;
}
.text-\[\#EE848B\] {
  color: #EE848B;
}
.text-\[\#F8DB62\] {
  color: #F8DB62;
}
.text-\[\#FCC800\] {
  color: #FCC800;
}
.text-cyan-700 {
  color: var(--color-cyan-700);
}
.text-white {
  color: var(--color-white);
}
.opacity-30 {
  opacity: 30%;
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.drop-shadow-\[2px_3px_0_rgba\(0\,0\,0\,0\.2\)\] {
  --tw-drop-shadow-size: drop-shadow(2px 3px 0 var(--tw-drop-shadow-color, rgba(0,0,0,0.2)));
  --tw-drop-shadow: var(--tw-drop-shadow-size);
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.text-outline {
  --text-outline-r: 3px;
  --text-outline-color: white;
  text-shadow: calc(var(--text-outline-r) * 1) calc(var(--text-outline-r) * 0) 0 var(--text-outline-color),
        calc(var(--text-outline-r) * 0.945) calc(var(--text-outline-r) * 0.327) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.786) calc(var(--text-outline-r) * 0.618) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.54) calc(var(--text-outline-r) * 0.841) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.235) calc(var(--text-outline-r) * 0.972) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.096) calc(var(--text-outline-r) * 0.995) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.416) calc(var(--text-outline-r) * 0.909) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.691) calc(var(--text-outline-r) * 0.723) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.889) calc(var(--text-outline-r) * 0.457) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.99) calc(var(--text-outline-r) * 0.141) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.982) calc(var(--text-outline-r) * -0.191) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.865) calc(var(--text-outline-r) * -0.501) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.654) calc(var(--text-outline-r) * -0.757) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.37) calc(var(--text-outline-r) * -0.929) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.046) calc(var(--text-outline-r) * -0.999) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.284) calc(var(--text-outline-r) * -0.959) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.582) calc(var(--text-outline-r) * -0.813) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.816) calc(var(--text-outline-r) * -0.578) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.96) calc(var(--text-outline-r) * -0.279) 0
            var(--text-outline-color);
}
.fukidashi-\[\#D8ECFA\] {
  --fukidashi-bg: #D8ECFA;
}
.fukidashi-\[\#E3F1FB\] {
  --fukidashi-bg: #E3F1FB;
}
.fukidashi-\[\#F8DB62\] {
  --fukidashi-bg: #F8DB62;
}
.ribon-\[\#CBA85C\] {
  --ribon-bg: #CBA85C;
}
.text-outline-green-700 {
  --text-outline-color: var(--color-green-700);
}
.text-stroke-\[3px\] {
  --text-outline-r: 3px;
}
.text-stroke-\[4px\] {
  --text-outline-r: 4px;
}
.md\:grid-cols-2 {
  @media (width >= 768px) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.md\:text-stroke-\[5px\] {
  @media (width >= 768px) {
    --text-outline-r: 5px;
  }
}
.md\:text-stroke-\[6px\] {
  @media (width >= 768px) {
    --text-outline-r: 6px;
  }
}
.pagetop {
  z-index: 100;
}
.font-unique,
    .font-gi {
  font-family: 'M PLUS 1p', sans-serif;
}
.js-scrollable {
  overflow: hidden !important;
  overflow-x: auto !important;
}
.clearfix::after {
  content: '';
  display: inline-block;
  clear: both;
}
.alignleft img,
    .alignright img {
  width: 100%;
  margin-bottom: 4px;
}
