/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
:root, :host {
  --color-cyan-300: oklch(86.5% 0.127 207.078);
  --color-white: #fff;
  --spacing: 0.25rem;
  --font-weight-normal: 400;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
}
.menu_lecture a {
  pointer-events: none;
  cursor: default;
  background: url('../images/icon_m-lectureg.png');
  color: #b6b6b6 !important;
}
.menu_lecture a::before {
  display: none !important;
}
.tab-lecture a {
  pointer-events: none;
  cursor: default;
  background: #e0e1e3 !important;
  color: #9ca0a7 !important;
  border: solid 1px #b6b6b6 !important;
}
@media screen and (max-width: 767px) {
  .tab-lecture a {
    background: #f9f9fa !important;
    color: #e0e1e3 !important;
    border: solid 1px #ededef !important;
  }
}
: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-font-weight {
  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;
}
@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-font-weight: 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;
  }
}
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;
}
.relative {
  position: relative;
}
.z-10 {
  z-index: 10;
}
.-m-px\! {
  margin: -1px !important;
}
.m-0 {
  margin: calc(var(--spacing) * 0);
}
.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-8 {
  margin-block: calc(var(--spacing) * 8);
}
.-mt-\[1\.25em\]\! {
  margin-top: calc(1.25em * -1) !important;
}
.-mt-\[1em\]\! {
  margin-top: calc(1em * -1) !important;
}
.mt-0\! {
  margin-top: calc(var(--spacing) * 0) !important;
}
.mt-1 {
  margin-top: calc(var(--spacing) * 1);
}
.mt-1\! {
  margin-top: calc(var(--spacing) * 1) !important;
}
.mt-2 {
  margin-top: calc(var(--spacing) * 2);
}
.mt-3 {
  margin-top: calc(var(--spacing) * 3);
}
.mt-3\! {
  margin-top: calc(var(--spacing) * 3) !important;
}
.mt-4 {
  margin-top: calc(var(--spacing) * 4);
}
.mt-8 {
  margin-top: calc(var(--spacing) * 8);
}
.mt-8\! {
  margin-top: calc(var(--spacing) * 8) !important;
}
.mr-4 {
  margin-right: calc(var(--spacing) * 4);
}
.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-3 {
  margin-bottom: calc(var(--spacing) * 3);
}
.mb-4\! {
  margin-bottom: calc(var(--spacing) * 4) !important;
}
.-ml-\[1\.375em\] {
  margin-left: calc(1.375em * -1);
}
.box-content {
  box-sizing: content-box;
}
.block {
  display: block;
}
.contents {
  display: contents;
}
.flex {
  display: flex;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.size-0 {
  width: calc(var(--spacing) * 0);
  height: calc(var(--spacing) * 0);
}
.h-0 {
  height: calc(var(--spacing) * 0);
}
.h-\[110px\]\! {
  height: 110px !important;
}
.h-\[320px\]\! {
  height: 320px !important;
}
.h-\[340px\]\! {
  height: 340px !important;
}
.w-0 {
  width: calc(var(--spacing) * 0);
}
.w-\[300px\] {
  width: 300px;
}
.w-fit {
  width: fit-content;
}
.w-full {
  width: 100%;
}
.max-w-1\/3 {
  max-width: calc(1 / 3 * 100%);
}
.max-w-\[80px\]\! {
  max-width: 80px !important;
}
.max-w-\[100px\]\! {
  max-width: 100px !important;
}
.max-w-\[150px\] {
  max-width: 150px;
}
.max-w-\[160px\]\! {
  max-width: 160px !important;
}
.max-w-\[240px\] {
  max-width: 240px;
}
.max-w-\[260px\]\! {
  max-width: 260px !important;
}
.flex-1 {
  flex: 1;
}
.items-center {
  align-items: center;
}
.items-start {
  align-items: flex-start;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.gap-1 {
  gap: calc(var(--spacing) * 1);
}
.gap-2 {
  gap: calc(var(--spacing) * 2);
}
.gap-3 {
  gap: calc(var(--spacing) * 3);
}
.gap-4 {
  gap: calc(var(--spacing) * 4);
}
.space-y-3 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.self-center {
  align-self: center;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: var(--radius-2xl);
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}
.rounded-xl {
  border-radius: var(--radius-xl);
}
.rounded-t-xl {
  border-top-left-radius: var(--radius-xl);
  border-top-right-radius: var(--radius-xl);
}
.rounded-b-xl {
  border-bottom-right-radius: var(--radius-xl);
  border-bottom-left-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-0\! {
  border-style: var(--tw-border-style) !important;
  border-width: 0px !important;
}
.border-x-\[10px\] {
  border-inline-style: var(--tw-border-style);
  border-inline-width: 10px;
}
.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-t-3 {
  border-top-style: var(--tw-border-style);
  border-top-width: 3px;
}
.border-t-\[12px\] {
  border-top-style: var(--tw-border-style);
  border-top-width: 12px;
}
.border-t-\[14px\] {
  border-top-style: var(--tw-border-style);
  border-top-width: 14px;
}
.border-r-\[24px\] {
  border-right-style: var(--tw-border-style);
  border-right-width: 24px;
}
.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-l-\[24px\] {
  border-left-style: var(--tw-border-style);
  border-left-width: 24px;
}
.border-dashed {
  --tw-border-style: dashed;
  border-style: dashed;
}
.border-\[\#6DBC8B\] {
  border-color: #6DBC8B;
}
.border-\[\#9F3788\] {
  border-color: #9F3788;
}
.border-\[\#50B959\] {
  border-color: #50B959;
}
.border-\[\#25914E\] {
  border-color: #25914E;
}
.border-\[\#A5000A\] {
  border-color: #A5000A;
}
.border-\[\#BBDFB5\] {
  border-color: #BBDFB5;
}
.border-\[\#DD0042\] {
  border-color: #DD0042;
}
.border-\[\#E96D83\] {
  border-color: #E96D83;
}
.border-x-transparent {
  border-inline-color: transparent;
}
.border-t-\[\#17755E\] {
  border-top-color: #17755E;
}
.border-t-current {
  border-top-color: currentcolor;
}
.border-r-transparent {
  border-right-color: transparent;
}
.border-l-transparent {
  border-left-color: transparent;
}
.bg-\[\#3BA726\] {
  background-color: #3BA726;
}
.bg-\[\#3F8729\] {
  background-color: #3F8729;
}
.bg-\[\#4A0E76\] {
  background-color: #4A0E76;
}
.bg-\[\#5B0F14\]\! {
  background-color: #5B0F14 !important;
}
.bg-\[\#7BC4C5\] {
  background-color: #7BC4C5;
}
.bg-\[\#8D548F\] {
  background-color: #8D548F;
}
.bg-\[\#30A96E\] {
  background-color: #30A96E;
}
.bg-\[\#32A03A\] {
  background-color: #32A03A;
}
.bg-\[\#65AEA9\] {
  background-color: #65AEA9;
}
.bg-\[\#131A31\] {
  background-color: #131A31;
}
.bg-\[\#17755E\] {
  background-color: #17755E;
}
.bg-\[\#25914E\] {
  background-color: #25914E;
}
.bg-\[\#723674\] {
  background-color: #723674;
}
.bg-\[\#A5000A\] {
  background-color: #A5000A;
}
.bg-\[\#A9002E\] {
  background-color: #A9002E;
}
.bg-\[\#B3DEE7\] {
  background-color: #B3DEE7;
}
.bg-\[\#B49400\] {
  background-color: #B49400;
}
.bg-\[\#BCDDA1\] {
  background-color: #BCDDA1;
}
.bg-\[\#C6CFE4\] {
  background-color: #C6CFE4;
}
.bg-\[\#D4ECCF\] {
  background-color: #D4ECCF;
}
.bg-\[\#D7E0F0\] {
  background-color: #D7E0F0;
}
.bg-\[\#D68936\] {
  background-color: #D68936;
}
.bg-\[\#DAEBCC\] {
  background-color: #DAEBCC;
}
.bg-\[\#DE1D2C\] {
  background-color: #DE1D2C;
}
.bg-\[\#E0F2FC\] {
  background-color: #E0F2FC;
}
.bg-\[\#E4F3FC\] {
  background-color: #E4F3FC;
}
.bg-\[\#E6F2E7\] {
  background-color: #E6F2E7;
}
.bg-\[\#E7F1B7\] {
  background-color: #E7F1B7;
}
.bg-\[\#E96D83\] {
  background-color: #E96D83;
}
.bg-\[\#E66166\] {
  background-color: #E66166;
}
.bg-\[\#EBBB21\]\! {
  background-color: #EBBB21 !important;
}
.bg-\[\#EFE4F0\] {
  background-color: #EFE4F0;
}
.bg-\[\#F6DDEB\] {
  background-color: #F6DDEB;
}
.bg-\[\#FAE2A8\] {
  background-color: #FAE2A8;
}
.bg-\[\#FBEDF4\] {
  background-color: #FBEDF4;
}
.bg-\[\#FCEDDF\] {
  background-color: #FCEDDF;
}
.bg-\[\#FFFBDD\] {
  background-color: #FFFBDD;
}
.bg-cyan-300 {
  background-color: var(--color-cyan-300);
}
.bg-transparent {
  background-color: transparent;
}
.bg-white {
  background-color: var(--color-white);
}
.bg-white\! {
  background-color: var(--color-white) !important;
}
.bg-white\/50 {
  background-color: color-mix(in srgb, #fff 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 50%, transparent);
  }
}
.p-0 {
  padding: calc(var(--spacing) * 0);
}
.p-0\! {
  padding: calc(var(--spacing) * 0) !important;
}
.p-2 {
  padding: calc(var(--spacing) * 2);
}
.p-2\! {
  padding: calc(var(--spacing) * 2) !important;
}
.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);
}
.py-0 {
  padding-block: calc(var(--spacing) * 0);
}
.py-1 {
  padding-block: calc(var(--spacing) * 1);
}
.py-1\.5 {
  padding-block: calc(var(--spacing) * 1.5);
}
.py-2 {
  padding-block: calc(var(--spacing) * 2);
}
.py-3 {
  padding-block: calc(var(--spacing) * 3);
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-\[0\.875em\] {
  font-size: 0.875em;
}
.text-\[1\.5em\] {
  font-size: 1.5em;
}
.text-\[1\.5em\]\! {
  font-size: 1.5em !important;
}
.text-\[1\.25em\] {
  font-size: 1.25em;
}
.text-\[1\.25em\]\! {
  font-size: 1.25em !important;
}
.text-\[1\.75em\] {
  font-size: 1.75em;
}
.text-\[1\.125em\] {
  font-size: 1.125em;
}
.text-\[1em\]\! {
  font-size: 1em !important;
}
.text-\[2em\] {
  font-size: 2em;
}
.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);
}
.font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.text-nowrap {
  text-wrap: nowrap;
}
.text-\[\#1E8C5D\] {
  color: #1E8C5D;
}
.text-\[\#1E7377\] {
  color: #1E7377;
}
.text-\[\#1F7377\] {
  color: #1F7377;
}
.text-\[\#3BA726\] {
  color: #3BA726;
}
.text-\[\#8D548F\] {
  color: #8D548F;
}
.text-\[\#32A03A\] {
  color: #32A03A;
}
.text-\[\#55A76E\] {
  color: #55A76E;
}
.text-\[\#65AEA9\] {
  color: #65AEA9;
}
.text-\[\#223B91\] {
  color: #223B91;
}
.text-\[\#427DC3\] {
  color: #427DC3;
}
.text-\[\#496CB2\] {
  color: #496CB2;
}
.text-\[\#578F55\] {
  color: #578F55;
}
.text-\[\#815F14\] {
  color: #815F14;
}
.text-\[\#2353A4\] {
  color: #2353A4;
}
.text-\[\#17755E\] {
  color: #17755E;
}
.text-\[\#72441C\] {
  color: #72441C;
}
.text-\[\#723674\] {
  color: #723674;
}
.text-\[\#A5000A\] {
  color: #A5000A;
}
.text-\[\#AB478F\] {
  color: #AB478F;
}
.text-\[\#DC0011\] {
  color: #DC0011;
}
.text-\[\#DC0044\] {
  color: #DC0044;
}
.text-\[\#DD0042\] {
  color: #DD0042;
}
.text-\[\#E1301D\] {
  color: #E1301D;
}
.text-\[\#E5576F\] {
  color: #E5576F;
}
.text-\[\#E65500\] {
  color: #E65500;
}
.text-\[\#E65503\] {
  color: #E65503;
}
.text-\[\#E66166\] {
  color: #E66166;
}
.text-\[\#EA6F29\] {
  color: #EA6F29;
}
.text-inherit {
  color: inherit;
}
.text-white {
  color: var(--color-white);
}
.underline {
  text-decoration-line: underline;
}
.decoration-\[\#DCC1DC\] {
  text-decoration-color: #DCC1DC;
}
.decoration-2 {
  text-decoration-thickness: 2px;
}
.opacity-30 {
  opacity: 30%;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px 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);
}
.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-\[\#DE1D2C\] {
  --fukidashi-bg: #DE1D2C;
}
.fukidashi-\[\#EE8600\] {
  --fukidashi-bg: #EE8600;
}
.fukidashi-\[\#FCC800\] {
  --fukidashi-bg: #FCC800;
}
.fukidashi-\[\#FFF1B6\] {
  --fukidashi-bg: #FFF1B6;
}
.fukidashi-\[\#FFF100\] {
  --fukidashi-bg: #FFF100;
}
.ribon-\[\#1D4B9D\] {
  --ribon-bg: #1D4B9D;
}
.ribon-\[\#7B418F\] {
  --ribon-bg: #7B418F;
}
.ribon-\[\#76B91F\] {
  --ribon-bg: #76B91F;
}
.ribon-\[\#E270A6\] {
  --ribon-bg: #E270A6;
}
.text-outline-\[\#815F14\] {
  --text-outline-color: #815F14;
}
.text-outline-\[\#EE8600\] {
  --text-outline-color: #EE8600;
}
.text-outline-\[\#FFF200\] {
  --text-outline-color: #FFF200;
}
.\*\*\:m-0\! {
  :is(& *) {
    margin: calc(var(--spacing) * 0) !important;
  }
}
.md\:flex {
  @media (width >= 768px) {
    display: flex;
  }
}
.md\:-rotate-90 {
  @media (width >= 768px) {
    rotate: calc(90deg * -1);
  }
}
.md\:flex-col {
  @media (width >= 768px) {
    flex-direction: column;
  }
}
.md\:px-2 {
  @media (width >= 768px) {
    padding-inline: calc(var(--spacing) * 2);
  }
}
.md\:py-0 {
  @media (width >= 768px) {
    padding-block: calc(var(--spacing) * 0);
  }
}
.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;
}
