.left {
  text-align: left !important;
}

.center {
  text-align: center !important;
}

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




.u-mt0 {
  margin-top: 0 !important;
}

.u-mt1 {
  margin-top: 1em !important;
}

.u-mt20 {
  margin-top: clamp(20px, 4vw, 40px) !important;
}

.u-mt40 {
  margin-top: clamp(40px, 8vw, 80px) !important;
}

.u-mt60 {
  margin-top: clamp(60px, 12vw, 100px) !important;
}

.u-mt80 {
  margin-top: clamp(80px, 16vw, 120px) !important;
}

.u-mt100 {
  margin-top: clamp(100px, 20vw, 140px) !important;
}

.u-mt--section {
  margin-top: 0;
  background-color: #32e640;
  border: 3px solid #32e640;
}

.u-mt--section+.u-mt--section {
  margin-top: 2.857em;
}

@media screen and (min-width: 600px) {
  .u-mt--section+.u-mt--section {
    margin-top: 3.5em;
  }
}

@media screen and (min-width: 1025px) {
  .u-mt--section+.u-mt--section {
    margin-top: 4.44em;
  }
}

.u-noshow--pc {
  display: block;
}

@media screen and (min-width: 1025px) {
  .u-noshow--pc {
    display: none;
  }
}


.u-flex--row {
  display: flex;
  flex-wrap: wrap;
}

.u-flex--row>* {
  flex: 0 1 100%;
}

.u-flex--row.--gap {
  gap: 40px;
}

@media screen and (min-width: 600px) {
  .u-flex--row {
    flex-wrap: nowrap;
  }

  .u-flex--row>* {
    flex: 0 1 50%;
  }
}

div.u-txt {
  margin-top: 1.5em;
  line-height: 1.9;
}

p.u-txt {
  margin-top: 1.5em;
  line-height: 1.9;
}

div.u-txt>p+p {
  margin-top: 1.5em;
  line-height: 1.9;
}

.u-head--2 {
  font-weight: bold;
  font-size: 1.28em !important;
}

.u-head--3 {
  font-weight: bold;
  font-size: 1.71em !important;
  margin: 1em 0;
}

.u-head--4 {
  font-weight: bold;
  font-size: 2.28em !important;
}

.u-head--5 {
  font-weight: bold;
  font-size: 3.42em !important;
}

@media screen and (min-width: 600px) {
  .u-head--2 {
    font-weight: bold;
    font-size: 1.33em !important;
  }

  .u-head--3 {
    font-weight: bold;
    font-size: 1.77em !important;
  }

  .u-head--4 {
    font-weight: bold;
    font-size: 2.66em !important;
  }

  .u-head--5 {
    font-weight: bold;
    font-size: 3.55em !important;
  }
}

.u-table {
  width: 100%;
  margin-top: 40px;
}

.u-table th,
.u-table td {
  display: block;
  padding: 1.5em 0.8em;
}

.u-table th {
  background-color: var(--silver);
}

.u-table td {
  background-color: #fff;
}

@media screen and (min-width:599px) {
  .u-table {}

  .u-table tr:not(:last-child) {
    border-bottom: 1px solid var(--main);
  }

  .u-table th,
  .u-table td {
    display: table-cell;
    padding: 1em;
  }

  .u-table th {
    width: 20%;
    text-align: center;
    vertical-align: middle;
  }
}

.u-aspct43 {
  aspect-ratio: 4/3;
  object-fit: cover;
}


.sankaku {
  display: block;
  background-color: var(--yellow);
  width: 50px;
  height: 40px;
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
  position: absolute;
}

.shikaku {
  display: block;
  background-color: var(--green);
  width: 40px;
  height: 40px;
  position: absolute;
}

.maru {
  display: block;
  background-color: var(--blue);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: absolute;
}

.hanen {
  display: block;
  background-color: var(--red);
  width: 100px;
  height: 50px;
  border-radius: 50% / 100% 100% 0 0;
  position: absolute;
}


.sentaku {
  background: var(--blue);
  color: white;
}

.sentaku2 {
  background: var(--blue);
  color: white;
}

.etc {
  background: #BFBFBF;
  color: white;
}

.spe {
  background: var(--yellow);
  color: black;
}

.way1 .sentaku {
  background: var(--yellow);
  color: var(--main);
}

.way2 .sentaku {
  background: var(--blue);
  color: white;
}

.way3 .sentaku {
  background: var(--red);
  color: white;
}

.way4 .sentaku {
  background: var(--green);
  color: white;
}

.way6 .ippan {
  background: #59b8e3;
  color: white;
}




.schedule-table {}

.schedule-table--wrapper {
  margin-top: 40px;
}

.schedule-table__table {
  width: 100%;
  background-color: #fff;
  ;
}

.schedule-table__table th {
  background-color: var(--silver);
  padding: 1em 1.5em;
  text-align: left;
  display: block;
  font-weight: 400;
}

.schedule-table__table td {
  /* border-bottom: 1px solid var(--black); */
  /* border-bottom: 1px solid var(--blue); */
  padding: 1em 1.5em;
  display: block;
}

@media screen and (min-width: 600px) {
  .schedule-table {}

  .schedule-table__table {
    width: 100%;
  }

  .schedule-table__table th {
    border-bottom: 1px solid #fff;
    padding: 1em 1.5em;
    display: table-cell;
    vertical-align: middle;
  }

  .schedule-table__table td {
    border-bottom: 1px solid #fff;
    padding: 1em 1.5em;
    display: table-cell;
  }
}


/* decoration */
.decoration {
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.decoration-bar {
  background-color: #f4f4f4;
  width: 50%;
  height: 400vh;
  position: absolute;
  top: -100px;
  left: -60%;
  transform: rotate(10deg);
  z-index: -1;
}

.deco01 {
  top: 5%;
  left: -5%;
  transform: scale(3);
  background-color: var(--yellow);
  z-index: -1;
  transition: 1s;
}

.deco01.active {
  transform: scale(4) rotate(-45deg);
}

.deco02 {
  top: 20%;
  left: -30%;
  transform: scale(10);
  background-color: var(--red);
  z-index: -1;
  transition: 1s;
}

.deco02.active {
  background-color: var(--blue);
}

.deco03 {
  top: 50%;
  left: -5%;
  transform: scale(4);
  background-color: var(--green);
  z-index: -1;
  transition: 1s;
}

.deco03.active {
  transform: scale(4) rotate(90deg);
}

.deco04 {
  bottom: 20%;
  left: 5%;
  transform: scale(8);
  background-color: var(--blue);
  z-index: -1;
  transition: 1s;
}

.deco04.active {
  transform: scale(8) rotate(90deg);
}

.deco05 {
  top: 1%;
  right: -5%;
  transform: scale(3);
  background-color: var(--green);
  z-index: -1;
  transition: 1s;
}

.deco05.active {
  transform: scale(3) rotate(90deg);
}

.deco06 {
  top: 15%;
  right: -20%;
  transform: scale(5) rotate(90deg);
  background-color: var(--blue);
  z-index: -1;
  transition: 1s;
}

.deco06.active {
  transform: scale(5) rotate(0deg);
}

.deco07 {
  top: 40%;
  right: 5%;
  transform: scale(4) rotate(0deg);
  background-color: var(--red);
  z-index: -1;
  transition: 1s;
  transform-origin: bottom center;
}

.deco07.active {
  transform: scale(4) rotate(-180deg);
}

.deco08 {
  bottom: 30%;
  right: 5%;
  transform: scale(8);
  background-color: var(--yellow);
  z-index: -1;
  transition: 1s;
}

.deco08.active {
  background-color: var(--blue);
}

.deco09 {
  top: 15%;
  left: 5%;
  transform: scale(2);
  background-color: var(--blue);
  z-index: 0;
}

@media screen and (min-width: 600px) {
  .decoration-bar {
    background-color: #f4f4f4;
    width: 50%;
    height: 400vh;
    position: absolute;
    top: -100px;
    left: -25%;
    transform: rotate(10deg);
    z-index: -1;
  }

  .deco01 {
    top: 5%;
    left: 5%;
    transform: scale(3);
    background-color: var(--yellow);
    z-index: -1;
    background-color: #52ACFF;
    background-image: linear-gradient(180deg, #52ACFF 25%, #FFE32C 100%);
  }

  .deco02 {
    top: 20%;
    left: 0%;
    transform: scale(10);
    background-color: var(--red);
    background-color: #52ACFF;
    background-image: linear-gradient(180deg, #52ACFF 25%, #FFE32C 100%);
    z-index: -1;
  }

  .deco03 {
    top: 50%;
    left: 5%;
    transform: scale(4);
    background-color: var(--green);
    background-color: #52ACFF;
    background-image: linear-gradient(180deg, #52ACFF 25%, #FFE32C 100%);
    z-index: -1;
  }

  .deco04 {
    bottom: 20%;
    left: 5%;
    transform: scale(8);
    background-color: var(--blue);
    background-color: #52ACFF;
    background-image: linear-gradient(180deg, #52ACFF 25%, #FFE32C 100%);
    z-index: -1;
  }

  .deco05 {
    top: 1%;
    right: 5%;
    transform: scale(3);
    background-color: var(--green);
    background-color: #52ACFF;
    background-image: linear-gradient(180deg, #52ACFF 25%, #FFE32C 100%);
    z-index: -1;
  }

  .deco06 {
    top: 15%;
    right: 0%;
    transform: scale(5) rotate(90deg);
    background-color: var(--blue);
    background-color: #52ACFF;
    background-image: linear-gradient(180deg, #52ACFF 25%, #FFE32C 100%);
    z-index: -1;
  }

  .deco07 {
    top: 40%;
    right: 5%;
    transform: scale(4);
    background-color: var(--red);
    background-color: #52ACFF;
    background-image: linear-gradient(180deg, #52ACFF 25%, #FFE32C 100%);
    z-index: -1;
  }

  .deco08 {
    bottom: 30%;
    right: 5%;
    transform: scale(8);
    background-color: var(--yellow);
    background-color: #52ACFF;
    background-image: linear-gradient(180deg, #52ACFF 25%, #FFE32C 100%);
    z-index: -1;
  }

  .deco09 {
    top: 15%;
    left: 5%;
    transform: scale(2);
    background-color: var(--blue);
    background-color: #52ACFF;
    background-image: linear-gradient(180deg, #52ACFF 25%, #FFE32C 100%);
    z-index: 0;
  }
}

@media screen and (min-width: 1025px) {
  .decoration-bar {
    background-color: #f4f4f4;
    width: 50%;
    height: 400vh;
    position: absolute;
    top: -100px;
    left: -25%;
    transform: rotate(10deg);
    z-index: -1;
  }

  .deco01 {
    top: 5%;
    left: 5%;
    transform: scale(3);
    background-color: var(--yellow);
    z-index: -1;
  }

  .deco02 {
    top: 20%;
    left: 0%;
    transform: scale(10);
    background-color: var(--red);
    z-index: -1;
  }

  .deco03 {
    top: 50%;
    left: 5%;
    transform: scale(4);
    background-color: var(--green);
    z-index: -1;
  }

  .deco04 {
    bottom: 20%;
    left: 0%;
    transform: scale(8);
    background-color: var(--blue);
    z-index: -1;
  }

  .deco05 {
    top: 1%;
    right: 5%;
    transform: scale(3);
    background-color: var(--green);
    z-index: -1;
  }

  .deco06 {
    top: 15%;
    right: 0%;
    transform: scale(5) rotate(90deg);
    background-color: var(--blue);
    z-index: -1;
  }

  .deco07 {
    top: 40%;
    right: 5%;
    transform: scale(4);
    background-color: var(--red);
    z-index: -1;
  }

  .deco08 {
    bottom: 30%;
    right: 0;
    transform: scale(8);
    background-color: var(--yellow);
    z-index: -1;
  }

  .deco09 {
    top: 15%;
    left: 5%;
    transform: scale(2);
    background-color: var(--blue);
    z-index: 0;
  }
}

a {
  color: var(--blue);
  text-decoration: underline;
}