@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Murecho:wght@100..900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
.u-pdt0 {
  padding-top: 0 !important;
}

.u-pdt8 {
  padding-top: 8px !important;
}

.u-pdt16 {
  padding-top: 16px !important;
}

.u-pdt24 {
  padding-top: 24px !important;
}

.u-pdt32 {
  padding-top: 32px !important;
}

.u-pdt40 {
  padding-top: 40px !important;
}

.u-pdt50 {
  padding-top: 50px !important;
}

.u-pdb0 {
  padding-bottom: 0 !important;
}

.u-pdb8 {
  padding-bottom: 8px !important;
}

.u-pdb16 {
  padding-bottom: 16px !important;
}

.u-pdb24 {
  padding-bottom: 24px !important;
}

.u-pdb32 {
  padding-bottom: 32px !important;
}

.u-pdb40 {
  padding-bottom: 40px !important;
}

.u-pdb50 {
  padding-bottom: 50px !important;
}

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

.u-mgt8 {
  margin-top: 8px !important;
}

.u-mgt16 {
  margin-top: 16px !important;
}

.u-mgt24 {
  margin-top: 24px !important;
}

.u-mgt32 {
  margin-top: 32px !important;
}

.u-mgt40 {
  margin-top: 40px !important;
}

.u-mgt50 {
  margin-top: 50px !important;
}

.u-mgb0 {
  margin-bottom: 0 !important;
}

.u-mgb8 {
  margin-bottom: 8px !important;
}

.u-mgb16 {
  margin-bottom: 16px !important;
}

.u-mgb20 {
  margin-bottom: 20px !important;
}

.u-mgb30 {
  margin-bottom: 30px !important;
}

.u-mgb40 {
  margin-bottom: 40px !important;
}

.u-mgb50 {
  margin-bottom: 50px !important;
}

.u-hr {
  height: 1px;
  border: none;
  background-color: #CCCCCC;
}

.u-txt-bold {
  font-weight: bold;
}

.u-txt-center {
  text-align: center;
}

.u-txt-right {
  text-align: right;
}

.u-txt-red {
  color: #FF5757;
}

.u-txt-caution {
  display: block;
  color: #E60000;
}

.u-color-main {
  color: #00923C;
}

.u-vertical-center {
  place-content: center;
}

.u-nowrap {
  white-space: nowrap;
}

.u-border {
  border: 1px solid #D6D6D6;
  padding: 16px;
}

.u-break-word {
  word-break: break-word;
}

.u-caution {
  margin-top: 16px;
  display: flex;
  gap: 4px;
  font-size: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / (1440 - 375), 14px);
}

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

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

.u-sp-none {
  display: none;
}
@media screen and (min-width: 1024px) {
  .u-sp-none {
    display: block;
  }
}

.u-border-dot {
  width: 94%;
  padding-bottom: 20px;
  margin-top: 60px;
  height: 3px;
  position: relative;
  margin-inline: auto;
  display: block;
  background-image: radial-gradient(circle, #000000 2px, transparent 2px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 8px 4px;
}
@media screen and (min-width: 1025px) {
  .u-border-dot {
    margin-top: 120px;
    padding-bottom: 40px;
  }
}

.u-fadein {
  opacity: 0;
  visibility: hidden;
  /*追加*/
  transition: all 1s;
  transform: translateY(80px);
}
@media screen and (min-width: 1025px) {
  .u-fadein {
    transform: translateY(150px);
  }
}
.u-fadein.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.c-sec__ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.c-sec__ttl-ico {
  max-width: 60px;
}
@media screen and (min-width: 1025px) {
  .c-sec__ttl-ico {
    max-width: 100px;
  }
}

.c-sec__ttl-main {
  font-size: clamp(38px, 38px + (62 - 38) * (100vw - 375px) / (1440 - 375), 62px);
  color: #00923C;
  font-weight: 600;
}

.c-sec__ttl-sub {
  font-size: clamp(22px, 22px + (34 - 22) * (100vw - 375px) / (1440 - 375), 34px);
  font-weight: 600;
  margin-top: 18px;
  text-align: center;
}

.c-sec__01-inner {
  padding-right: 10px;
  padding-left: 10px;
  width: 100%;
  margin-inline: auto;
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (width >= 1025px) {
  .c-sec__01-inner {
    padding-left: 0;
    padding-right: 0;
    max-width: 1200px;
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.c-sec__02 {
  background-color: #edf3b2;
  padding: 40px 10px;
}
@media screen and (width >= 1025px) {
  .c-sec__02 {
    padding: 60px 0;
  }
}

.c-sec__02-inner {
  background-color: #fff;
  max-width: 1300px;
  width: 100%;
  margin-inline: auto;
  padding: 40px 10px;
  border-radius: 10px;
}
@media screen and (width >= 1025px) {
  .c-sec__02-inner {
    padding: 40px 10px;
  }
}

.c-btn {
  margin-inline: auto;
  margin-top: 30px;
  max-width: 720px;
}
@media screen and (min-width: 1025px) {
  .c-btn {
    margin-top: 80px;
  }
}
.c-btn a {
  font-size: clamp(18px, 18px + (38 - 18) * (100vw - 375px) / (1440 - 375), 38px);
  background: #C4D600;
  border: 2px solid #262626;
  border-radius: 80px;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  padding: 16px 10px;
  transition: all 0.3s;
}
@media screen and (min-width: 1025px) {
  .c-btn a {
    border: 3px solid #262626;
    padding: 26px 10px;
  }
}
.c-btn a svg {
  width: 10px;
  transition: all 0.3s;
}
@media screen and (min-width: 1025px) {
  .c-btn a svg {
    width: 20px;
  }
}
@media (any-hover: hover) {
  .c-btn a:hover svg {
    transform: translateX(3px);
    animation: fuwafuwayoko 1s linear infinite;
  }
  @keyframes fuwafuwayoko {
    0% {
      transform: translateX(0);
    }
    50% {
      transform: translateX(8px);
    }
    100% {
      transform: translateX(0);
    }
  }
}
.c-btn.small {
  width: 100%;
  max-width: 280px;
  margin-inline: 0;
  margin-top: 0;
}
.c-btn.small a {
  padding: 5px 10px 10px;
  border: 1px solid #262626;
}
@media screen and (min-width: 1025px) {
  .c-btn.small a {
    border: 2px solid #262626;
    padding: 5px 10px 10px;
  }
}
@media (any-hover: hover) {
  .c-btn.small a:hover {
    letter-spacing: 0.06em;
    background: #b0c000;
  }
}

.c-page-top {
  position: fixed;
  bottom: 5px;
  right: 5px;
  z-index: 100;
  width: 90%;
  max-width: 60px;
}
@media screen and (min-width: 1025px) {
  .c-page-top {
    bottom: 20px;
    right: 20px;
    width: 90%;
    max-width: 130px;
  }
}
.c-page-top a {
  display: block;
  width: 100%;
}
.c-page-top img {
  display: block;
  width: 100%;
}

.c-list-indent {
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .c-list-indent {
    margin-top: 24px;
  }
}
.c-list-indent li {
  margin-top: 4px;
  display: flex;
  flex-wrap: nowrap;
}
.c-list-indent li span {
  margin-right: 8px;
}
.c-list-indent li p {
  width: 100%;
}
.c-list-indent.disc li {
  position: relative;
  padding-left: 16px;
}
@media screen and (min-width: 1025px) {
  .c-list-indent.disc li {
    padding-left: 22px;
  }
}
.c-list-indent.disc li::before {
  content: "";
  background: #000;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  position: absolute;
  top: 8px;
  left: 0;
}
@media screen and (min-width: 1025px) {
  .c-list-indent.disc li::before {
    width: 14px;
    height: 14px;
  }
}

.c-list-caution {
  margin-top: 16px;
  display: inline-block;
  margin: 16px auto 0;
}
@media screen and (min-width: 769px) {
  .c-list-caution {
    margin-top: 24px;
  }
}
.c-list-caution p {
  display: flex;
  font-size: clamp(11px, 11px + (13 - 11) * (100vw - 375px) / (1440 - 375), 13px);
}
.c-list-caution p .c-list-caution__head {
  margin-right: 10px;
}
.c-list-caution.center {
  width: 100%;
}
.c-list-caution.center li {
  justify-content: center;
}

.l-main__body {
  padding-bottom: 0;
  position: relative;
}

.l-main__contents {
  font-family: "Murecho", sans-serif;
  display: block;
  color: #212121;
  font-weight: 450;
}
.l-main__contents h1 {
  margin: 0;
  font-size: 100%;
  font-weight: normal;
}
.l-main__contents img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
.l-main__contents {
  /* Document */
  /* ============================================ */
  /**
  * 1. Correct the line height in all browsers.
  * 2. Prevent adjustments of font size after orientation changes in iOS.
  * 3. Remove gray overlay on links for iOS.
  */
  /* Vertical rhythm */
  /* ============================================ */
}
.l-main__contents p,
.l-main__contents table,
.l-main__contents blockquote,
.l-main__contents address,
.l-main__contents pre,
.l-main__contents iframe,
.l-main__contents form,
.l-main__contents figure,
.l-main__contents dl {
  margin: 0;
}
.l-main__contents {
  /* Headings */
  /* ============================================ */
  /* Lists (enumeration) */
  /* ============================================ */
}
.l-main__contents ul,
.l-main__contents ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-main__contents {
  /* Lists (definition) */
  /* ============================================ */
}
.l-main__contents dd {
  margin-left: 0;
}
.l-main__contents {
  /* Grouping content */
  /* ============================================ */
  /**
  * 1. Add the correct box sizing in Firefox.
  * 2. Show the overflow in Edge and IE.
  */
  /**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
  /* Text-level semantics */
  /* ============================================ */
  /**
  * Remove the gray background on active links in IE 10.
  */
  /**
  * 1. Remove the bottom border in Chrome 57-
  * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
  */
  /**
  * Add the correct font weight in Chrome, Edge, and Safari.
  */
  /**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
  /**
  * Add the correct font size in all browsers.
  */
  /**
  * Prevent `sub` and `sup` elements from affecting the line height in
  * all browsers.
  */
  /* Replaced content */
  /* ============================================ */
  /**
  * Prevent vertical alignment issues.
  */
  /* Forms */
  /* ============================================ */
  /**
  * Reset form fields to make them styleable.
  * 1. Make form elements stylable across systems iOS especially.
  * 2. Inherit text-transform from parent.
  */
  /**
  * Correct cursors for clickable elements.
  */
  /**
  * Improve outlines for Firefox and unify style with input elements & buttons.
  */
  /**
  * Remove padding
  */
  /**
  * Reset to invisible
  */
  /**
  * Add the correct vertical alignment in Chrome, Firefox, and Opera.
  */
  /**
  * Remove the default vertical scrollbar in IE 10+.
  */
  /**
  * Correct the cursor style of increment and decrement buttons in Chrome.
  */
  /**
  * Correct the outline style in Safari.
  */
  /**
  * Remove the inner padding in Chrome and Safari on macOS.
  */
  /**
  * 1. Correct the inability to style clickable types in iOS and Safari.
  * 2. Fix font inheritance.
  */
  /**
  * Fix appearance for Firefox
  */
  /**
  * Clickable labels
  */
  /* Interactive */
  /* ============================================ */
  /*
  * Add the correct display in Edge, IE 10+, and Firefox.
  */
  /* Tables */
  /* ============================================ */
  /**
  1. Correct table border color inheritance in all Chrome and Safari.
  */
}
.l-main__contents td,
.l-main__contents th {
  vertical-align: top;
  padding: 0;
}
.l-main__contents th {
  text-align: left;
  font-weight: bold;
}

.p-mv img {
  width: 100%;
}

.p-connection .p-connection__wrap {
  position: relative;
  padding: 50px 0 20px;
  max-width: 800px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (width >= 1025px) {
  .p-connection .p-connection__wrap {
    padding: 20px 0;
    max-width: 1200px;
  }
}
.p-connection .p-connection__wrap .p-connection__ttl {
  position: relative;
}
.p-connection .p-connection__wrap .p-connection__ttl .p-connection__ttl-text {
  max-width: 310px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (width >= 480px) {
  .p-connection .p-connection__wrap .p-connection__ttl .p-connection__ttl-text {
    max-width: 380px;
  }
}
@media screen and (width >= 1025px) {
  .p-connection .p-connection__wrap .p-connection__ttl .p-connection__ttl-text {
    max-width: 531px;
  }
}
.p-connection .p-connection__wrap .p-connection__ttl .p-connection__ttl-deco {
  position: absolute;
  max-width: 32px;
  width: 100%;
  top: 16px;
  right: 0px;
}
@media screen and (width >= 1025px) {
  .p-connection .p-connection__wrap .p-connection__ttl .p-connection__ttl-deco {
    max-width: 70px;
    width: 100%;
    top: -20px;
    right: 200px;
  }
}
.p-connection .p-connection__wrap .p-connection__box {
  width: 100%;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #dbf0fc;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (width >= 1025px) {
  .p-connection .p-connection__wrap .p-connection__box {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
.p-connection .p-connection__wrap .p-connection__box p {
  font-size: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / (1440 - 375), 16px);
  padding: 16px;
  font-weight: 450;
}
@media screen and (width >= 1025px) {
  .p-connection .p-connection__wrap .p-connection__box p {
    max-width: 340px;
    padding: 0 40px;
  }
}
.p-connection .p-connection__wrap .p-connection__box img {
  max-width: auto;
}
@media screen and (width >= 1025px) {
  .p-connection .p-connection__wrap .p-connection__box img {
    max-width: 740px;
  }
}
.p-connection .p-connection__wrap .p-connection__deco-left {
  position: absolute;
  max-width: 40px;
  top: 0;
  left: 0;
}
@media screen and (width >= 1025px) {
  .p-connection .p-connection__wrap .p-connection__deco-left {
    max-width: 104px;
  }
}
.p-connection .p-connection__wrap .p-connection__deco-right {
  position: absolute;
  max-width: 40px;
  bottom: 0;
  right: 0;
}
@media screen and (width >= 1025px) {
  .p-connection .p-connection__wrap .p-connection__deco-right {
    max-width: 104px;
  }
}

.p-map .p-map__ttl img {
  max-width: 800px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (width >= 1025px) {
  .p-map .p-map__ttl img {
    max-width: 1080px;
  }
}
.p-map .p-map__ttl .p-map__ttl-sp {
  max-width: 330px;
  margin-bottom: 16px;
}
@media screen and (width >= 480px) {
  .p-map .p-map__ttl .p-map__ttl-sp {
    max-width: 460px;
  }
}
.p-map .p-map__point {
  background-color: #fff3ec;
  padding: 40px 10px;
  border-top: 2px solid #ff6e60;
  margin-top: 24px;
}
@media screen and (width >= 1025px) {
  .p-map .p-map__point {
    padding: 40px;
    margin-top: 40px;
    max-width: 1200px;
    width: 100%;
    margin-inline: auto;
  }
}
.p-map .p-map__point .p-map__point-ttl {
  max-width: 400px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (width >= 1025px) {
  .p-map .p-map__point .p-map__point-ttl {
    max-width: 760px;
  }
}
.p-map .p-map__point .p-map__point-list-box {
  display: flex;
  flex-direction: column;
  gap: 0px;
  margin-top: 24px;
}
@media screen and (width >= 1025px) {
  .p-map .p-map__point .p-map__point-list-box {
    flex-direction: row;
    gap: 40px;
  }
}
.p-map .p-map__point .p-map__point-list-box .p-map__point-list {
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (width >= 1025px) {
  .p-map .p-map__point .p-map__point-list-box .p-map__point-list {
    width: 50%;
  }
}
.p-map .p-map__point .p-map__point-list-box .p-map__point-list li {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-map .p-map__point .p-map__point-list-box .p-map__point-list li p span {
  font-weight: 700;
}
.p-map .p-map__point .p-map__point-contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-top: 24px;
}
@media screen and (width >= 1025px) {
  .p-map .p-map__point .p-map__point-contact {
    flex-direction: row;
    gap: 32px;
  }
}
.p-map .p-map__point .p-map__point-contact .p-map__point-contact-box {
  border: 1px solid #000;
  width: auto;
  padding: 16px;
  height: -moz-fit-content;
  height: fit-content;
  font-weight: 700;
}
@media screen and (width >= 1025px) {
  .p-map .p-map__point .p-map__point-contact .p-map__point-contact-box {
    width: 27%;
    padding: 24px 40px;
  }
}
.p-map .p-map__point .p-map__point-contact .p-map__point-contact-address div {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (width >= 1025px) {
  .p-map .p-map__point .p-map__point-contact .p-map__point-contact-address div {
    flex-direction: row;
  }
}

.p-link {
  color: #0d4ead !important;
  transition: all 0.3s ease;
}

.p-link:hover {
  color: #000000 !important;
  border-bottom-color: #000000;
}

.p-course {
  background-color: #cfebfb;
  padding: 40px 10px;
}
@media screen and (width >= 1160px) {
  .p-course {
    padding: 60px 0;
  }
}
.p-course .p-course__time {
  background-color: #e9f0f6;
  margin-top: 40px;
  padding: 16px 16px;
}
.p-course .p-course__time img {
  max-width: 260px;
}
.p-course .p-course__ttl {
  max-width: 460px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (width >= 1025px) {
  .p-course .p-course__ttl {
    max-width: 710px;
  }
}
.p-course .p-course__box {
  position: relative;
}
.p-course .p-course__box .p-course__box-ttl {
  max-width: 140px;
  width: 100%;
  margin-inline: auto;
  margin-top: 32px;
  margin-bottom: 24px;
}
@media screen and (width >= 1025px) {
  .p-course .p-course__box .p-course__box-ttl {
    max-width: 170px;
  }
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-ttl.ttl-day2 {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
  }
}
.p-course .p-course__box .p-course__box-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-list {
    gap: 0;
  }
}
.p-course .p-course__box .p-course__box-list li {
  width: auto;
  flex-direction: column;
  display: flex;
  position: relative;
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-list li {
    flex-direction: row;
    width: 1160px;
    margin-inline: auto;
  }
}
.p-course .p-course__box .p-course__box-list li .p-course__box-spot-num img {
  height: 60px;
  margin-bottom: 8px;
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-list li .p-course__box-spot-num img {
    width: 150px;
    height: auto;
    margin-bottom: 0;
  }
}
.p-course .p-course__box .p-course__box-list li .p-course__box-spot-num.odd img {
  height: 60px;
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-list li .p-course__box-spot-num.odd img {
    width: 200px;
    height: auto;
  }
}
.p-course .p-course__box .p-course__box-list li .p-course__box-cont {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-list li .p-course__box-cont {
    flex-direction: row;
  }
  .p-course .p-course__box .p-course__box-list li .p-course__box-cont.cont-odd {
    margin-left: -20px;
  }
  .p-course .p-course__box .p-course__box-list li .p-course__box-cont.cont-even {
    margin-left: 14px;
  }
}
.p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-text {
  width: 100%;
  font-size: 14px;
  max-width: 500px;
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-text {
    width: 490px;
  }
}
.p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-text .p-course__box-cont-ttl {
  color: #236ea7;
  font-size: 23px;
}
.p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-text .p-course__box-cont-ttl span {
  font-size: 16px;
}
.p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-text .p-course__box-cont-ttl.ttl-day2 {
  color: #0d9bec;
}
.p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-text p {
  margin-top: 8px;
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-text p {
    margin-top: 20px;
  }
}
.p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-text dl {
  background-color: #f9f7e4;
  padding: 12px 16px;
  margin-top: 20px;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 0px;
}
.p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-text dl dt {
  width: 100%;
}
.p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-text dl dd {
  width: 100%;
  overflow-wrap: anywhere;
  word-break: break-all;
}
.p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-img.img-w-s {
  width: 100%;
  max-width: 400px;
  height: auto;
  margin-inline: auto;
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-img.img-w-s {
    width: 330px;
    height: -moz-fit-content;
    height: fit-content;
  }
}
.p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-img.img-w-l {
  width: 100%;
  max-width: 440px;
  height: 100%;
  margin-inline: auto;
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-img.img-w-l {
    width: 440px;
    height: -moz-fit-content;
    height: fit-content;
  }
}
.p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-img.img-w-g {
  width: 100%;
  max-width: 440px;
  height: auto;
  margin-inline: auto;
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-list li .p-course__box-cont .p-course__box-cont-img.img-w-g {
    width: 485px;
    height: -moz-fit-content;
    height: fit-content;
  }
}
.p-course .p-course__box .p-course__box-list li .p-course__deco_01 {
  position: absolute;
  width: clamp(150px, 150px + (220 - 150) * (100vw - 375px) / (1440 - 375), 220px);
  bottom: 320px;
  right: 0px;
}
@media screen and (width >= 769px) {
  .p-course .p-course__box .p-course__box-list li .p-course__deco_01 {
    bottom: 230px;
    right: 0px;
  }
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-list li .p-course__deco_01 {
    bottom: 30px;
    right: 530px;
  }
}
.p-course .p-course__box .p-course__box-list li .p-course__deco_02 {
  position: absolute;
  width: clamp(60px, 60px + (95 - 60) * (100vw - 375px) / (1440 - 375), 95px);
  bottom: -80px;
  right: 0px;
}
@media screen and (width >= 769px) {
  .p-course .p-course__box .p-course__box-list li .p-course__deco_02 {
    bottom: -100px;
    right: 0px;
  }
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-list li .p-course__deco_02 {
    bottom: 10px;
    right: 20px;
  }
}
.p-course .p-course__box .p-course__box-list li .p-course__deco_03 {
  position: absolute;
  width: clamp(70px, 70px + (130 - 70) * (100vw - 375px) / (1440 - 375), 130px);
  bottom: -80px;
  right: 0px;
}
@media screen and (width >= 1160px) {
  .p-course .p-course__box .p-course__box-list li .p-course__deco_03 {
    bottom: 10px;
    right: 20px;
  }
}
.p-course .p-course__box .p-course__box-list li .p-course__deco_04 {
  position: absolute;
  width: clamp(150px, 150px + (220 - 150) * (100vw - 375px) / (1440 - 375), 220px);
  top: 10px;
  right: 0px;
}
@media screen and (width >= 769px) {
  .p-course .p-course__box .p-course__box-list li .p-course__deco_04 {
    top: -30px;
    right: 530px;
  }
}

.l-one-column {
  margin-bottom: 40px;
}
@media screen and (width >= 1025px) {
  .l-one-column {
    margin-bottom: 80px;
  }
}

.p-course__movie .p-course__movie-wrap {
  max-width: 500px;
  width: 100%;
  margin-inline: auto;
  padding: 40px 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: center;
}
@media screen and (width >= 1025px) {
  .p-course__movie .p-course__movie-wrap {
    flex-direction: row;
    gap: 24px;
    max-width: 1000px;
    padding: 60px 0;
  }
}
.p-course__movie .p-course__movie-wrap .p-course__movie-cont {
  width: 100%;
  margin-inline: auto;
}
.p-course__movie .p-course__movie-wrap .p-course__movie-cont iframe {
  width: 100%;
  aspect-ratio: 16/9;
}