@charset "UTF-8";
.kowaza05 .wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 5em;
  border: 1px solid #777;
}
.kowaza05 .item {
  color: #fff;
  background: #777;
  padding: 0.5em 0.5em;
}

.kowaza06 .wrap {
  display: grid;
  justify-content: center;
  align-content: center;
  height: 5em;
  border: 1px solid #777;
}
.kowaza06 .item {
  color: #fff;
  background: #777;
  padding: 0.5em 0.5em;
}

.kowaza07 .wrap {
  position: relative;
  height: 5em;
  border: 1px solid #777;
}
.kowaza07 .item {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #fff;
  text-align: center;
  background: #777;
  padding: 0.5em 1em;
  transform: translate(-50%, -50%);
}

.kowaza08 .wrap {
  position: relative;
  height: 5em;
  border: 1px solid #777;
}
.kowaza08 .item {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 4em;
  height: 2.75em;
  color: #fff;
  text-align: center;
  background: #777;
  padding: 0.5em 0;
  margin: auto;
}

.kowaza09 .wrap {
  width: 100%;
  height: 5em;
}
.kowaza09 .inner {
  vertical-align: middle;
  text-align: center;
  border: 1px solid #777;
}
.kowaza09 .item {
  display: inline-block;
  color: #fff;
  text-align: center;
  background: #777;
  padding: 0.5em 1em;
}

.kowaza1x {
  line-height: 1.5;
}
.kowaza1x .list {
  background: #ddd;
  padding: 0.5em 0.5em;
}
.kowaza1x .text {
  color: var(--color-bk01);
  background: #fff;
  padding: 0.5em 0.5em;
  margin: 0.5em 0 0;
}
.kowaza1x .text:nth-of-type(1) {
  margin-top: 0;
}

.kowaza11_03 .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.kowaza11_03 .list {
  margin: 2% 0 0;
}
@media print, screen and (max-width: 767px) {
  .kowaza11_03 .list {
    width: 49%;
  }
  .kowaza11_03 .list:nth-of-type(-n+2) {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .kowaza11_03 .list {
    width: 32%;
  }
  .kowaza11_03 .list:nth-of-type(-n+3) {
    margin-top: 0;
  }
}

.kowaza11_01 .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.kowaza11_01 .list {
  margin: 2% 0 0 2%;
}
@media print, screen and (max-width: 767px) {
  .kowaza11_01 .list {
    width: 49%;
  }
  .kowaza11_01 .list:nth-of-type(-n+2) {
    margin-top: 0;
  }
  .kowaza11_01 .list:nth-of-type(2n+1) {
    margin-left: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .kowaza11_01 .list {
    width: 32%;
  }
  .kowaza11_01 .list:nth-of-type(-n+3) {
    margin-top: 0;
  }
  .kowaza11_01 .list:nth-of-type(3n+1) {
    margin-left: 0;
  }
}

.kowaza11_02 .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}
.kowaza11_02 .list {
  margin: 2% 0 0 2%;
}
@media print, screen and (max-width: 767px) {
  .kowaza11_02 .list {
    width: 49%;
  }
  .kowaza11_02 .list:nth-of-type(-n+2) {
    margin-top: 0;
  }
  .kowaza11_02 .list:nth-of-type(2n+1) {
    margin-left: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .kowaza11_02 .list {
    width: 32%;
  }
  .kowaza11_02 .list:nth-of-type(-n+3) {
    margin-top: 0;
  }
  .kowaza11_02 .list:nth-of-type(3n+1) {
    margin-left: 0;
  }
}

.kowaza11_04 .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  margin: -2% 0 0 -2%;
}
.kowaza11_04 .list {
  margin: 2% 0 0 2%;
}
@media print, screen and (max-width: 767px) {
  .kowaza11_04 .list {
    width: 48%;
  }
}
@media print, screen and (min-width: 768px) {
  .kowaza11_04 .list {
    width: 31.3333333333%;
  }
}

.kowaza12 {
  line-height: 1.5;
}
.kowaza12 .wrap {
  display: grid;
}
.kowaza12 .list {
  background: #ddd;
  padding: 0.5em 0.5em;
}
.kowaza12 .text {
  color: var(--color-bk01);
  background: #fff;
  padding: 0.5em 0.5em;
  margin: 0.5em 0 0;
}
.kowaza12 .text:nth-of-type(1) {
  margin-top: 0;
}
@media print, screen and (max-width: 767px) {
  .kowaza12 .wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 8px;
  }
}
@media print, screen and (min-width: 768px) {
  .kowaza12 .wrap {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px 14px;
  }
}

.kowaza13 {
  line-height: 1.5;
}
.kowaza13 .list {
  float: left;
  background: #ddd;
  padding: 0.5em 0.5em;
  margin: 2% 0 0 2%;
}
.kowaza13 .text {
  color: var(--color-bk01);
  background: #fff;
  padding: 0.5em 0.5em;
  margin: 0.5em 0 0;
}
.kowaza13 .text:nth-of-type(1) {
  margin-top: 0;
}
@media print, screen and (max-width: 767px) {
  .kowaza13 .list {
    width: 49%;
  }
  .kowaza13 .list:nth-of-type(-n+2) {
    margin-top: 0;
  }
  .kowaza13 .list:nth-of-type(2n+1) {
    margin-left: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .kowaza13 .list {
    width: 32%;
  }
  .kowaza13 .list:nth-of-type(-n+3) {
    margin-top: 0;
  }
  .kowaza13 .list:nth-of-type(3n+1) {
    margin-left: 0;
  }
}

.kowaza14 .list {
  display: inline-block;
  vertical-align: top;
  background: #ddd;
  padding: 0.5em 0.5em;
  margin: 2% 0 0 2%;
}
.kowaza14 .text {
  color: var(--color-bk01);
  background: #fff;
  padding: 0.5em 0.5em;
  margin: 0.5em 0 0;
}
.kowaza14 .text:nth-of-type(1) {
  margin-top: 0;
}
@media print, screen and (max-width: 767px) {
  .kowaza14 .list {
    width: 49%;
  }
  .kowaza14 .list:nth-of-type(-n+2) {
    margin-top: 0;
  }
  .kowaza14 .list:nth-of-type(2n+1) {
    margin-left: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .kowaza14 .list {
    width: 32%;
  }
  .kowaza14 .list:nth-of-type(-n+3) {
    margin-top: 0;
  }
  .kowaza14 .list:nth-of-type(3n+1) {
    margin-left: 0;
  }
}

.kowaza15 .wrap {
  display: flex;
  flex-wrap: nowrap;
}
.kowaza15 .constant, .kowaza15 .variably {
  text-align: center;
  padding: 0.25em 0.25em;
  border-style: solid;
  border-width: 1px 1px;
  border-color: #777;
}
.kowaza15 .constant {
  flex-shrink: 0;
  color: var(--color-bk01);
  background: #ddd;
  padding: 0.25em 2em;
  margin: 0 10px 0 0;
}
.kowaza15 .variably {
  flex-grow: 1;
}

.kowaza16 .wrap {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-column-gap: 10px;
}
.kowaza16 .constant, .kowaza16 .variably {
  text-align: center;
  padding: 0.25em 0.25em;
  border: solid;
  border-width: 1px 1px;
  border-color: #777;
}
.kowaza16 .constant {
  color: var(--color-bk01);
  background: #ddd;
  padding: 0.25em 2em;
}

.kowaza21_box {
  padding: 75% 0 0;
}
.kowaza21_box01 {
  background-image: linear-gradient(to right, var(--color-mu06) 0%, var(--color-mu07) 100%);
}
.kowaza21_box02 {
  background-image: radial-gradient(circle, var(--color-mu06) 0%, var(--color-mu07) 100%);
}
.kowaza21_box03 {
  background-image: conic-gradient(var(--color-mu06) 0%, var(--color-mu07) 100%);
}
.kowaza21_box04 {
  background-image: linear-gradient(to right, var(--color-mu06) 50%, var(--color-mu07) 50%);
  background-image: linear-gradient(to right, var(--color-mu06) 0% 50%, var(--color-mu07) 50% 100%);
}
.kowaza21_box05 {
  background-image: radial-gradient(circle, var(--color-mu06) 50%, var(--color-mu07) 50%);
  background-image: radial-gradient(circle, var(--color-mu06) 0% 50%, var(--color-mu07) 50% 100%);
}
.kowaza21_box06 {
  background-image: conic-gradient(var(--color-mu06) 0% 50%, var(--color-mu07) 50% 100%);
}
.kowaza21_name {
  text-align: center;
  line-height: 1.25;
  margin: 0.25em 0 0;
}

.kowaza22_02 {
  height: 40px;
  background: repeating-linear-gradient(-45deg, transparent 0px, transparent 10px, var(--color-mu06) 10px, var(--color-mu06) 20px, var(--color-mu07) 20px, var(--color-mu07) 30px);
  background: repeating-linear-gradient(-45deg, transparent 0px 10px, var(--color-mu06) 10px 20px, var(--color-mu07) 20px 30px);
}

.kowaza22_03 {
  height: 40px;
  background-image: repeating-linear-gradient(90deg, var(--color-mu07) 0px, var(--color-mu07) 10px, transparent 10px, transparent 20px);
  background-image: repeating-linear-gradient(90deg, var(--color-mu07) 0px 10px, transparent 10px 20px);
  background-size: 100% 5px;
  background-repeat: repeat-x;
  background-position: bottom left;
}

.kowaza23_01 {
  height: 40px;
  background-image: radial-gradient(circle, var(--color-mu06) 5px, transparent 6px), radial-gradient(circle, var(--color-mu07) 5px, transparent 6px);
  background-position: 0 0, 14px 14px;
  background-size: 28px 28px;
}

.kowaza23_02 {
  height: 40px;
  background-image: radial-gradient(circle, var(--color-mu07) 3px, transparent 4px);
  background-size: 16px 8px;
  background-repeat: repeat-x;
  background-position: bottom left;
}

.kowaza24_01 {
  height: 40px;
  background-image: repeating-conic-gradient(from 0deg, var(--color-mu06) 0% 25%, var(--color-mu07) 25% 50%);
  background-size: 40px 40px;
  background-position: center center;
}

.kowaza24_02 {
  height: 40px;
  background-image: repeating-conic-gradient(from 0deg, var(--color-mu06) 0% 12.5%, var(--color-mu07) 12.5% 25%);
  background-size: 40px 40px;
  background-position: center center;
}

.kowaza25_box {
  padding: 100% 0 0;
}
.kowaza25_box01 {
  background-image: radial-gradient(circle, #fff 0% 40%, transparent 40.5% 100%), conic-gradient(var(--color-mu07) 0% 60%, var(--color-mu06) 60% 90%, #eee 90% 100%);
  border-radius: 50%;
}
.kowaza25_box02 {
  background-image: radial-gradient(circle at 50% 135%, var(--color-mu07) 0% 50%, transparent 50.2% 100%), radial-gradient(circle at 50% 20%, var(--color-mu07) 0% 15%, transparent 15.2% 100%), repeating-conic-gradient(from -3.6deg at 50% 20%, var(--color-mu07) 0% 2%, var(--color-mu06) 2.2% 4.8%, var(--color-mu07) 5%);
}
.kowaza25_box03 {
  background: linear-gradient(to right, var(--color-mu07) 0%, var(--color-mu06) 100%);
  clip-path: polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%);
}
.kowaza25_box04 {
  background: linear-gradient(to right, var(--color-mu07) 0%, var(--color-mu06) 100%);
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.kowaza25_name {
  text-align: center;
  line-height: 1.25;
  margin: 0.25em 0 0;
}

.kowaza26_01 {
  background: linear-gradient(transparent 60%, var(--color-mu06) 60%);
  padding: 0 0.5em;
}

.kowaza26_02 {
  background-image: linear-gradient(to right, var(--color-mu07) 0%, var(--color-mu06) 100%);
  background-repeat: no-repeat;
  background-size: 100% 40%;
  background-position: left bottom;
  padding: 0 0.5em;
}

.kowaza26_03 {
  text-emphasis: sesame var(--color-mu07);
}

.kowaza26_04 {
  text-emphasis: circle var(--color-mu07);
}

.kowaza31_01 {
  font-size: 40px;
  display: inline-block;
  vertical-align: top;
  font-weight: bold;
  line-height: 1;
  color: transparent;
  background-image: linear-gradient(to right, var(--color-mu07) 0%, var(--color-mu06) 100%);
  -webkit-background-clip: text;
          background-clip: text;
}
@media print, screen and (min-width: 768px) {
  .kowaza31_01 {
    font-size: 40px;
  }
}

.kowaza31_02 {
  height: 40px;
  background-image: linear-gradient(to right, var(--color-mu07) 0%, var(--color-mu06) 100%);
  -webkit-mask-image: url("../img/common/icon_star.svg");
          mask-image: url("../img/common/icon_star.svg");
  -webkit-mask-size: 20px;
          mask-size: 20px;
  -webkit-mask-repeat: repeat;
          mask-repeat: repeat;
  -webkit-mask-position: left top;
          mask-position: left top;
}

.kowaza31_03 {
  height: 40px;
  background-image: linear-gradient(to right, var(--color-mu07) 0%, var(--color-mu06) 100%);
  -webkit-mask-image: repeating-linear-gradient(-45deg, transparent 0px 10px, #fff 10px 20px);
          mask-image: repeating-linear-gradient(-45deg, transparent 0px 10px, #fff 10px 20px);
}

.kowaza32_box {
  padding: 100% 0 0;
}
.kowaza32_box01 {
  background: var(--color-mu07);
  clip-path: inset(0% 0% 0% 0% round 5%);
}
.kowaza32_box02 {
  background: var(--color-mu07);
  clip-path: circle(50% at 50% 50%);
}
.kowaza32_box03 {
  background: var(--color-mu07);
  clip-path: ellipse(25% 50% at 50% 50%);
}
.kowaza32_box04 {
  background: var(--color-mu07);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
.kowaza32_box05 {
  background: var(--color-mu07);
  clip-path: polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%);
}
.kowaza32_name {
  text-align: center;
  line-height: 1.25;
  margin: 0.25em 0 0;
}

.kowaza41_01 .ol-a {
  counter-reset: li-a 0;
  list-style: none;
  border-bottom: 1px solid #a675a5;
}
.kowaza41_01 .li-a {
  position: relative;
  padding: 0.5em 0 0.5em 1.25em;
  border-top: 1px solid #a675a5;
}
.kowaza41_01 .li-a::before {
  counter-increment: li-a 1;
  content: counter(li-a) ".";
  position: absolute;
  top: 0.5em;
  left: 0;
  color: #a675a5;
  font-weight: bold;
}
.kowaza41_01 .li-iroha {
  padding: 0.5em 0 0.5em 2em;
}
.kowaza41_01 .li-iroha::before {
  content: counter(li-a, hiragana-iroha) ".";
}
.kowaza41_01 .li-abc {
  padding: 0.5em 0 0.5em 2em;
}
.kowaza41_01 .li-abc::before {
  content: counter(li-a, lower-alpha) ".";
}
.kowaza41_01 .li-kanji {
  padding: 0.5em 0 0.5em 4em;
}
.kowaza41_01 .li-kanji::before {
  content: "第" counter(li-a, cjk-ideographic) "回";
}

.kowaza41_02 .ol-a {
  counter-reset: li-a 0;
  list-style: none;
  border-bottom: 1px solid #a675a5;
}
.kowaza41_02 .li-a {
  position: relative;
  padding: 0.5em 0 0.5em 1.25em;
  border-top: 1px solid #a675a5;
}
.kowaza41_02 .li-a::before {
  counter-increment: li-a 1;
  content: counters(li-a, "-") ".";
  position: absolute;
  top: 0.5em;
  left: 0;
  color: #a675a5;
  font-weight: bold;
}
.kowaza41_02 .li-a .ol-a {
  margin: 0.5em 0 0;
  border-bottom: 0;
}
.kowaza41_02 .li-a .li-a {
  padding-left: 2.5em;
}
.kowaza41_02 .li-a .li-a:nth-last-of-type(1) {
  padding-bottom: 0;
}
.kowaza41_02 .li-a .li-a .li-a {
  padding-left: 3.75em;
}

.kowaza41_03 .ol-a {
  counter-reset: li-a 0;
  list-style: none;
  border-bottom: 1px solid #a675a5;
}
.kowaza41_03 .li-a,
.kowaza41_03 .li-b,
.kowaza41_03 .li-c {
  position: relative;
  padding: 0.5em 0;
  border-top: 1px solid #a675a5;
}
.kowaza41_03 .li-a::before,
.kowaza41_03 .li-b::before,
.kowaza41_03 .li-c::before {
  position: absolute;
  top: 0.5em;
  color: #a675a5;
  font-weight: bold;
}
.kowaza41_03 .li-a {
  counter-reset: li-b 0;
  padding-left: 1.25em;
}
.kowaza41_03 .li-a::before {
  counter-increment: li-a 1;
  content: counter(li-a) ".";
  left: 0;
}
.kowaza41_03 .li-b {
  counter-reset: li-c 0;
  padding-left: 3.5em;
}
.kowaza41_03 .li-b::before {
  counter-increment: li-b 1;
  content: counter(li-a) "-" counter(li-b) ".";
  left: 1em;
}
.kowaza41_03 .li-c {
  padding-left: 5.75em;
}
.kowaza41_03 .li-c::before {
  counter-increment: li-c 1;
  content: counter(li-a) "-" counter(li-b) "-" counter(li-c) ".";
  left: 2em;
}

.kowaza51_01 .ol-a {
  display: flex;
  flex-direction: column;
  gap: 1em 0;
  counter-reset: li-a 0;
  list-style: none;
}
.kowaza51_01 .li-a {
  position: relative;
}
.kowaza51_01 .li-a::before {
  position: absolute;
  top: 0em;
  color: #a675a5;
  font-weight: bold;
}
.kowaza51_01 .li-a {
  padding-left: 1.25em;
}
.kowaza51_01 .li-a::before {
  counter-increment: li-a 1;
  content: counter(li-a) ".";
  left: 0;
}