.fs-2em {
  font-size: 2em;
}

.fs-2_2em {
  font-size: 2.2em;
}

.fs-2_3em {
  font-size: 2.3em;
}

.with-brackets {
  margin: 0 -.5em;
}

.bullet {
  margin: 0 -.25em;
}

.apply-btn-txt {
  font-size: 2.5em;
  font-weight: 700;
  text-align: center;
}

.apply-btn-txt:before {
  content: "＼";
  display: inline-block;
  transform: scaleX(.5);
}

.apply-btn-txt:after {
  content: "／";
  display: inline-block;
  transform: scaleX(.5);
}

.apply-btn {
  align-items: center;
  background-color: #d60a0a;
  border-radius: 10px;
  box-shadow: 3px 4px 0 0 #6d0c06;
  color: #fff;
  display: flex;
  font-size: 3em;
  height: 70px;
  justify-content: center;
  margin: 0 auto;
  transition: box-shadow .2s, filter .3s, transform .2s;
  width: 650px;
}

.apply-btn:hover {
  box-shadow: 3px 0 0 0 #6d0c06;
  filter: brightness(1.1);
  transform: translateY(4px);
}

.wrapper {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
  margin: 0 auto;
  max-width: 1920px;
  min-width: 1080px;
  overflow: hidden;
  width: 100%;
}

#main {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 10px;
}

.main-hdr {
  background: #00266e;
  padding-bottom: 40px;
  position: relative;
}

.main-hdr::after {
  background: url(../img/bg_hdr_pc.png) no-repeat center bottom / 1920px auto;
  bottom: 1px;
  content: "";
  display: block;
  height: 78px;
  position: absolute;
  transform: translateY(100%);
  width: 100%;
  z-index: 2;
}

.main-hdr-benefits {
  margin-top: clamp(-50px, calc(-6.54762vw + 75.8px), 5px);
  text-align: center;
}

.main-hdr-benefits-txt {
  color: #fff;
  font-size: 4.5em;
  font-weight: 700;
  line-height: 1.22;
}

.main-hdr-benefits-txt .col-yellow {
  color: #ffe108;
}

.main-hdr-benefits-img {
  margin-top: 30px;
  width: auto;
}

.main-hdr .apply-btn-txt {
  color: #fff;
}

.main-hdr .apply-btn-wrapper {
  margin-top: 35px;
}

.section-ttl {
  font-size: inherit;
  line-height: 1.4;
  position: relative;
  text-align: center;
  z-index: 1;
}

.section-ttl-main {
  display: block;
  font-size: 5em;
  font-weight: 700;
}

.section-ttl-sub {
  display: block;
  font-size: 1.8em;
  font-weight: 500;
}

.section-catch {
  font-size: 2.8em;
  font-weight: 700;
  line-height: 1.42857;
  text-align: center;
}

.section-txt {
  font-size: 1.8em;
  letter-spacing: -.01em;
  line-height: 1.66;
}

.about-ctr {
  background: url(../img/bg_about_pc.png) no-repeat center top / 1920px auto;
  min-height: 1032px;
  padding-top: 78px;
  position: relative;
  z-index: 1;
}

.about-content {
  position: relative;
  z-index: 2;
}

.about-ctr .section-ttl {
  margin-top: 45px;
}

.about-ctr .section-catch {
  margin-top: 50px;
}

.about-ctr .section-txt {
  margin: 60px auto 0;
  width: 595px;
}

.about-decorations {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.about-decorations-img {
  position: absolute;
  width: auto;
  z-index: 1;
}

.about-decorations-img.decoration-1 {
  left: clamp(0px, calc(35.71429vw - 385.7143px), 300px);
  top: 109px;
  width: clamp(300px, calc(9.52381vw + 197.1429px), 380px);
}

.about-decorations-img.decoration-2 {
  right: clamp(0px, calc(35.71429vw - 385.7143px), 300px);
  top: 227px;
  width: clamp(268px, calc(8.57143vw + 175.4286px), 340px);
}

.about-decorations-img.decoration-3 {
  bottom: 68px;
  left: clamp(80px, calc(35.71429vw - 305.7143px), 380px);
  width: clamp(228px, calc(7.2619vw + 149.5714px), 289px);
}

.about-decorations-img.decoration-4 {
  bottom: 110px;
  right: clamp(80px, calc(35.71429vw - 305.7143px), 380px);
  width: clamp(221px, calc(7.02381vw + 145.9429px), 280px);
}

.about-decorations-img::after {
  background: no-repeat center / 100% auto;
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
}

.about-decorations-img.decoration-1::after {
  background-image: url(../img/img_about-1_decoration_pc.png);
  height: 91.3157%;
  left: -21.315%;
  top: 35.26%;
  width: 87.89%;
}

.about-decorations-img.decoration-2::after {
  background-image: url(../img/img_about-2_decoration_pc.png);
  height: 70.8823%;
  right: -25%;
  top: 14.7058%;
  width: 74.1176%;
}

.about-decorations-img.decoration-3::after {
  background-image: url(../img/img_about-3_decoration_pc.png);
  height: 94.1176%;
  left: -34.9480%;
  top: 25.7577%;
  width: 107.9584%;
}

.about-decorations-img.decoration-4::after {
  background-image: url(../img/img_about-4_decoration_pc.png);
  height: 101%;
  right: -31.0714%;
  top: 18.9285%;
  width: 109.2857%;
}

.program-ctr {
  background-color: #fff9d8;
  margin-top: -258px;
  padding: 150px 0 10px;
  position: relative;
}

.program-ctr .section-catch {
  margin-top: 40px;
}

.program-article-wrapper {
  margin-top: 60px;
  position: relative;
}

.program-article-wrapper::before,
.program-article-wrapper::after {
  content: "";
  display: block;
  position: absolute;
}

.program-article-wrapper::before {
  background: url(../img/img_program_decoration-1_pc.png) no-repeat center / 100% auto;
  height: 610px;
  left: clamp(-333px, calc(39.64286vw - 761.1429px), 0px);
  top: -115px;
  width: 333px;
}

.program-article-wrapper::after {
  background: url(../img/img_program_decoration-2_pc.png) no-repeat center / 100% auto;
  height: 610px;
  right: clamp(-395px, calc(47.02381vw - 903.8571px), 0px);
  top: 500px;
  width: 395px;
}

.program-article {
  align-items: center;
  display: flex;
  height: 500px;
  margin: 0 auto;
  position: relative;
  width: 1000px;
}

.program-article:not(:first-of-type) {
  margin-top: 80px;
}

.program-article.swimming {
  --program-col: #039;
  --program-img: url(../img/img_program_article-swimming_pc.jpg);
}

.program-article.phyisical-education {
  --program-col: #6a2;
  --program-img: url(../img/img_program_article-phyisical-education_pc.jpg);
}

.program-article.kids-dance {
  --program-col: #e78;
  --program-img: url(../img/img_program_article-kids-dance_pc.jpg);
}

.program-article::after {
  background: var(--program-img) no-repeat center / 100% auto;
  border-radius: 50px;
  content: "";
  display: block;
  height: 500px;
  position: absolute;
  top: 0;
  width: 720px;
  z-index: 0;
}

.program-article:nth-of-type(odd)::after {
  right: 0;
}

.program-article:nth-of-type(even)::after {
  left: 0;
}

.program-article-content {
  background-color: var(--program-col);
  border-radius: 50%;
  color: #fff;
  height: 420px;
  padding-top: 40px;
  position: relative;
  text-align: center;
  width: 420px;
  z-index: 1;
}

.program-article:nth-of-type(odd) .program-article-content {
  margin: 0 auto 0 0;
}

.program-article:nth-of-type(even) .program-article-content {
  margin: 0 0 0 auto;
}

.program-article-ttl {
  font-size: 4.9em;
  font-weight: 700;
  letter-spacing: -.02em;
}

.kids-dance .program-article-ttl {
  letter-spacing: -.1em;
}

.program-article-ttl-sub {
  font-size: .6em;
}

.program-article-txt {
  font-size: 1.8em;
  font-weight: 400;
  letter-spacing: -.01em;
  line-height: 1.22;
  margin: 0 auto;
  text-align: left;
  width: 365px;
}

.program-article-learnings {
  margin-top: 20px;
}

.program-article-fukidashi {
  background-color: #fff2aa;
  border-radius: 15px;
  color: var(--program-col);
  font-size: 2em;
  font-weight: 700;
  height: 30px;
  letter-spacing: -.01em;
  margin: 0 auto;
  position: relative;
  width: 180px;
}

.program-article-fukidashi::after {
  background-color: #fff2aa;
  content: "";
  display: block;
  height: 12px;
  left: 50%;
  position: absolute;
  top: 100%;
  transform: translate(-50%, -50%) scaleX(.766) rotate(45deg);
  width: 12px;
  z-index: -1;
}

.program-article-list {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 22px;
}

.program-article-list-item {
  align-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 20px;
  color: var(--program-col);
  display: flex;
  flex-wrap: wrap;
  font-weight: 900;
  height: 80px;
  justify-content: center;
  width: 90px;
}

.program-article-list-item span {
  display: block;
  letter-spacing: -.05em;
  line-height: 1.2;
}

.program-ctr .apply-btn-wrapper {
  margin-top: 120px;
}

.outline-ctr {
  background-color: #e5f7f9;
  margin-top: -170px;
  padding: 295px 0 80px;
  position: relative;
}

.outline-ctr::before {
  background: url(../img/bg_program_pc.png) no-repeat center bottom / 1920px auto;
  content: "";
  display: block;
  height: 265px;
  position: absolute;
  top: -1px;
  width: 100%;
  z-index: 0;
}

.outline-ctr .section-ttl-main {
  letter-spacing: .2em;
}

.outline-list {
  background-color: #fff;
  border: 1px solid #000;
  box-shadow: 4px 5px 0 0 #000;
  font-size: 2.5em;
  font-weight: 500;
  margin: 35px auto 0;
  padding: 52px 30px;
  width: 1000px;
}

.outline-list-wrapper,
.outline-list-dtl-list-wrapper {
  align-items: center;
  display: flex;
}

.outline-list-wrapper {
  gap: 25px;
  min-height: 80px;
}

.outline-list-item {
  align-items: center;
  border: 1px solid #000;
  display: flex;
  flex-shrink: 0;
  height: 40px;
  justify-content: center;
  line-height: 1;
  width: 180px;
}

.outline-list-dtl {
  letter-spacing: -.01em;
  line-height: 1;
  white-space: nowrap;
}

.outline-list-dtl-annotation {
  font-size: .8em;
}

.outline-list-dtl-list-wrapper {
  gap: 1em;
}

.outline-list-dtl-list-item,
.outline-list-dtl-list-dtl {
  line-height: 1.2;
}

.outline-ctr .apply-btn-wrapper {
  margin-top: 100px;
}

.apply-btn-wrapper {
  position: relative;
  z-index: 10;
}

.howto-ctr {
  background-color: #fff9d8;
  margin-top: -10px;
  padding: 60px 0 115px;
  position: relative;
}

.howto-ctr::before {
  background: url(../img/bg_howto_pc.png) no-repeat center top / 1920px auto;
  content: "";
  display: block;
  height: 264px;
  position: absolute;
  top: -1px;
  width: 100%;
}

.howto-ctr .section-ttl-main {
  letter-spacing: .1em;
}

.howto-list {
  display: grid;
  grid-template-columns: repeat(4, 235px);
  justify-content: space-between;
  margin: 80px auto 0;
  width: 998px;
}

.howto-list-item {
  background-color: #fff;
  border: 1px solid #000;
  box-shadow: 4px 5px 0 0 #000;
  padding-bottom: 10px;
  position: relative;
}

.howto-list-item:not(:last-of-type)::after {
  background: url(../img/img_howto_arrow_pc.png) no-repeat center / 100% auto;
  bottom: 30px;
  content: "";
  display: block;
  height: 60px;
  position: absolute;
  right: -11px;
  transform: translateX(50%);
  width: 60px;
  z-index: 1;
}



.howto-list-item-ttl {
  align-items: center;
  background-color: #f3df49;
  display: flex;
  font-size: 1.6em;
  height: 30px;
  justify-content: center;
  margin: 0 auto;
  position: relative;
  text-align: center;
  width: 100px;
}

.howto-list-item-ttl-txt {
  align-items: baseline;
  display: flex;
}

.howto-list-item-ttl::before,
.howto-list-item-ttl::after {
  background-color: #f3df49;
  border-radius: 0 0 8px 8px;
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  width: 30px;
  z-index: -1;
}

.howto-list-item-ttl::before {
  left: -15px;
  transform: skewX(30deg);
}

.howto-list-item-ttl::after {
  right: -15px;
  transform: skewX(-30deg);
}

.howto-list-item-ttl .num {
  font-size: 1.5em;
  font-weight: 500;
  margin-left: .1em;
}

.howto-list-item-txt {
  align-items: center;
  display: flex;
  font-size: 1.8em;
  letter-spacing: -.01em;
  line-height: 1.388;
  margin: 6px auto 0;
  min-height: 45px;
  text-align: center;
  width: 94%;
}

.howto-list-item-txt-wrapper {
  position: relative;
}

.howto-list-item-txt a {
  text-decoration: underline;
  text-underline-offset: .15em;
}

.howto-list-item-txt-wrapper .annotation-num {
  bottom: 0;
  font-size: .66em;
  position: absolute;
  right: 0;
  transform: translateY(100%);
}

.howto-list-item-img {
  font-weight: 500;
  height: 104px;
  margin: 15px auto 0;
  width: 188px;
}

.howto-annotation-list {
  margin: 20px auto 0;
  width: fit-content;
}

.howto-annotation-list-item {
  font-size: 1.6em;
  letter-spacing: -.01em;
  width: fit-content;
}

.howto-ctr .apply-btn-wrapper {
  margin-top: 90px;
}