@charset "UTF-8";
/* mixinを読み込む
  各scssファイルはmixinを読み込むことで、mixinを使用できる
*/
.schedule {
  margin-bottom: clamp(62.64px, 7.64vw, 195.56px);
}
@media screen and (max-width: 767px) {
  .schedule {
    margin-bottom: 26.6vw;
  }
}
.schedule__lead {
  margin-bottom: clamp(41px, 5vw, 128px);
}
@media screen and (max-width: 767px) {
  .schedule__lead {
    margin-bottom: 14.9vw;
  }
}
.schedule__lead h2 {
  text-align: center;
  color: #2242b4;
  font-size: clamp(19.93px, 2.43vw, 62.22px);
  font-weight: 700;
  letter-spacing: 0.0857142857em;
  margin-bottom: clamp(13.67px, 1.67vw, 42.67px);
}
@media screen and (max-width: 767px) {
  .schedule__lead h2 {
    font-size: 6.6vw;
    letter-spacing: 0.12em;
    margin-bottom: 6.4vw;
  }
}
.schedule__lead p {
  text-align: center;
  line-height: 1.625;
}
.schedule .flow {
  margin-bottom: clamp(91.11px, 11.11vw, 284.44px);
}
@media screen and (max-width: 767px) {
  .schedule .flow {
    margin-bottom: 26.6vw;
  }
}
.schedule .flow__container {
  max-width: clamp(689.03px, 84.03vw, 2151.11px);
  margin-left: auto;
  margin-right: auto;
  background: #f1f3f7;
  border-radius: clamp(5.69px, 0.69vw, 17.78px);
}
@media (max-width: clamp(689.03px, 84.03vw, 2151.11px)) {
  .schedule .flow__container {
    padding: 0 clamp(11.39px, 1.39vw, 35.56px);
  }
}
@media screen and (max-width: 767px) {
  .schedule .flow__container {
    max-width: 100%;
    padding-inline: 5.8vw;
  }
}
@media screen and (max-width: 767px) {
  .schedule .flow__container {
    border-radius: 0;
    background: none;
  }
}
.schedule .flow__inner {
  display: flex;
  flex-direction: row;
  column-gap: clamp(74.03px, 9.03vw, 231.11px);
  padding: clamp(41px, 5vw, 128px) 0 clamp(59.79px, 7.29vw, 186.67px);
}
@media screen and (max-width: 767px) {
  .schedule .flow__inner {
    background: #f1f3f7;
    padding: 10.6vw 0;
    border-radius: 2.6vw;
  }
}
.schedule .flow__text {
  max-width: clamp(296.11px, 36.11vw, 924.44px);
}
@media screen and (max-width: 767px) {
  .schedule .flow__text {
    max-width: 100%;
  }
}
.schedule .flow__text h3 {
  background: #0068b7;
  color: #fff;
  font-size: clamp(11.39px, 1.39vw, 35.56px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  padding: clamp(6.83px, 0.83vw, 21.33px) clamp(54.1px, 6.6vw, 168.89px) clamp(6.83px, 0.83vw, 21.33px) clamp(39.86px, 4.86vw, 124.44px);
  width: fit-content;
  margin-bottom: clamp(27.33px, 3.33vw, 85.33px);
  border-radius: 0 0 clamp(2.85px, 0.35vw, 8.89px) clamp(2.85px, 0.35vw, 8.89px);
}
@media screen and (max-width: 767px) {
  .schedule .flow__text h3 {
    font-size: 4.8vw;
    padding: 2.6vw 10.6vw;
    border-radius: 0 0 1.3vw 1.3vw;
    margin-bottom: 8.5vw;
  }
}
.schedule .flow__text__content {
  display: flex;
  flex-direction: column;
  row-gap: clamp(30.75px, 3.75vw, 96px);
  position: relative;
  margin-left: clamp(68.33px, 8.33vw, 213.33px);
}
@media screen and (max-width: 767px) {
  .schedule .flow__text__content {
    row-gap: 10.6vw;
    margin-left: 10.6vw;
  }
}
.schedule .flow__text__content:after {
  content: "";
  width: 0.2vw;
  height: 49.3vw;
  background: #c2d1db;
  position: absolute;
  top: 1.9vw;
  left: -4vw;
  z-index: 0;
  min-height: 406px;
}
@media screen and (max-width: 767px) {
  .schedule .flow__text__content:after {
    min-height: auto;
    width: 0.8vw;
    height: 346.6vw;
    top: 4.2vw;
    left: -7vw;
  }
}
.schedule .flow__text__content__item:last-of-type p {
  margin-bottom: 0;
}
.schedule .flow__text__content__item__head {
  position: relative;
}
.schedule .flow__text__content__item__head:before {
  content: "";
  display: inline-block;
  width: 1vw;
  height: auto;
  aspect-ratio: 1;
  background: #0068b7;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -4.4vw;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  .schedule .flow__text__content__item__head:before {
    width: 2.6vw;
    left: -7.8vw;
  }
}
.schedule .flow__text__content__item__head:after {
  content: "";
  display: inline-block;
  width: 3.9vw;
  height: 0.3vw;
  background: #0068b7;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: -1.9vw;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  .schedule .flow__text__content__item__head:after {
    width: 12.8vw;
    height: 1vw;
    left: 1vw;
  }
}
.schedule .flow__text__content__item h4 {
  background: #fff;
  color: #0068b7;
  font-size: clamp(10.25px, 1.25vw, 32px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1111111111em;
  padding: clamp(5.69px, 0.69vw, 17.78px) clamp(21.64px, 2.64vw, 67.56px);
  width: fit-content;
  border-radius: clamp(2.85px, 0.35vw, 8.89px);
  margin-bottom: clamp(9.11px, 1.11vw, 28.44px);
  position: relative;
  z-index: 200;
}
@media screen and (max-width: 767px) {
  .schedule .flow__text__content__item h4 {
    font-size: 4.2vw;
    line-height: 1.315;
    padding: 2.6vw 3.4vw;
    border-radius: 1vw;
    margin-bottom: 4.2vw;
  }
}
.schedule .flow__text__content__item p {
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  .schedule .flow__text__content__item p {
    margin-bottom: 10.6vw;
  }
}
@media screen and (max-width: 767px) {
  .schedule .flow__text__content__item img {
    padding-right: 5.3vw;
  }
}
.schedule .flow__text__content__item:first-of-type img {
  position: absolute;
  top: clamp(-102.5px, -12.5vw, -320px);
  left: clamp(268.21px, 32.71vw, 837.33px);
  min-width: clamp(269.92px, 32.92vw, 842.67px);
}
@media screen and (max-width: 767px) {
  .schedule .flow__text__content__item:first-of-type img {
    position: static;
    min-width: 100%;
  }
}
.schedule .flow__text__content__item:nth-of-type(2) img {
  position: absolute;
  top: clamp(130.97px, 15.97vw, 408.89px);
  left: clamp(305.22px, 37.22vw, 952.89px);
  min-width: clamp(315.47px, 38.47vw, 984.89px);
}
@media screen and (max-width: 767px) {
  .schedule .flow__text__content__item:nth-of-type(2) img {
    position: static;
    min-width: 100%;
  }
}
.schedule .flow__text__content__item:nth-of-type(3) img {
  position: absolute;
  top: clamp(341.67px, 41.67vw, 1066.67px);
  left: clamp(257.39px, 31.39vw, 803.56px);
  min-width: clamp(307.5px, 37.5vw, 960px);
}
@media screen and (max-width: 767px) {
  .schedule .flow__text__content__item:nth-of-type(3) img {
    position: static;
    min-width: 100%;
  }
}
.schedule .a_week {
  margin-bottom: clamp(91.11px, 11.11vw, 284.44px);
}
@media screen and (max-width: 767px) {
  .schedule .a_week {
    margin-bottom: 26.6vw;
  }
}
.schedule .a_week__container {
  max-width: clamp(689.03px, 84.03vw, 2151.11px);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: clamp(689.03px, 84.03vw, 2151.11px)) {
  .schedule .a_week__container {
    padding: 0 clamp(11.39px, 1.39vw, 35.56px);
  }
}
@media screen and (max-width: 767px) {
  .schedule .a_week__container {
    max-width: 100%;
    padding-inline: 5.8vw;
  }
}
@media screen and (max-width: 767px) {
  .schedule .a_week__container {
    padding: 0 2.6vw;
  }
}
.schedule .a_week__header {
  margin-bottom: clamp(41px, 5vw, 128px);
}
@media screen and (max-width: 767px) {
  .schedule .a_week__header {
    margin-bottom: 12.8vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .schedule .a_week__header {
    padding: 0 3.2vw;
  }
}
.schedule .a_week__header h2 {
  text-align: center;
  color: #2242b4;
  font-size: clamp(19.93px, 2.43vw, 62.22px);
  font-weight: 700;
  letter-spacing: 0.0857142857em;
  margin-bottom: clamp(13.67px, 1.67vw, 42.67px);
}
@media screen and (max-width: 767px) {
  .schedule .a_week__header h2 {
    font-size: 6.6vw;
    letter-spacing: 0.12em;
    margin-bottom: 6.4vw;
  }
}
.schedule .a_week__header p {
  text-align: center;
  line-height: 1.625;
}
.schedule .a_week__content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(31.89px, 3.89vw, 99.56px);
  margin-bottom: clamp(22.78px, 2.78vw, 71.11px);
}
@media screen and (max-width: 767px) {
  .schedule .a_week__content {
    grid-template-columns: 1fr;
    row-gap: 8.5vw;
    margin-bottom: 8.5vw;
  }
}
.schedule .a_week__content__item h3 {
  font-size: clamp(11.39px, 1.39vw, 35.56px);
  font-weight: 700;
  letter-spacing: 0.15em;
  margin-bottom: clamp(13.67px, 1.67vw, 42.67px);
  width: fit-content;
  margin-inline: auto;
}
.schedule .a_week__content__item h3 span {
  line-height: 1;
  display: inline-block;
  border-bottom: clamp(2.28px, 0.28vw, 7.11px) solid #f4b213;
}
@media screen and (max-width: 767px) {
  .schedule .a_week__content__item h3 span {
    border-bottom-width: 0.8vw;
  }
}
@media screen and (max-width: 767px) {
  .schedule .a_week__content__item h3 {
    font-size: 4.2vw;
    letter-spacing: 0.125em;
    margin-bottom: 4.2vw;
  }
}
.schedule .a_week__content__item img {
  width: 100%;
}
.schedule .a_week__notes {
  text-align: center;
  color: #778188;
}
@media screen and (max-width: 767px) {
  .schedule .a_week__notes {
    font-size: 4vw;
  }
}
.schedule .faq__container {
  max-width: clamp(706.11px, 86.11vw, 2204.44px);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: clamp(706.11px, 86.11vw, 2204.44px)) {
  .schedule .faq__container {
    padding: 0 clamp(11.39px, 1.39vw, 35.56px);
  }
}
@media screen and (max-width: 767px) {
  .schedule .faq__container {
    max-width: 100%;
    padding-inline: 5.8vw;
  }
}
.schedule .faq h2 {
  display: flex;
  flex-direction: row;
  align-items: center;
  column-gap: clamp(7.97px, 0.97vw, 24.89px);
  font-size: clamp(14.24px, 1.74vw, 44.44px);
  font-weight: 700;
  letter-spacing: 0.12em;
  margin-bottom: clamp(30.75px, 3.75vw, 96px);
}
@media screen and (max-width: 767px) {
  .schedule .faq h2 {
    font-size: 4.8vw;
    letter-spacing: 0.1111111111em;
  }
}
.schedule .faq h2:before {
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2219%22%20height%3D%2219%22%20viewBox%3D%220%200%2019%2019%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%229.5%22%20cy%3D%229.5%22%20r%3D%229.5%22%20fill%3D%22%23328FF3%22%2F%3E%3Ccircle%20cx%3D%229.5%22%20cy%3D%229.5%22%20r%3D%223.5625%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E") no-repeat;
  background-size: contain;
  display: block;
  width: clamp(10.82px, 1.32vw, 33.78px);
  height: auto;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .schedule .faq h2:before {
    width: 3.4vw;
  }
}
@media screen and (max-width: 767px) {
  .schedule .faq h2 {
    margin-bottom: 10.6vw;
  }
}
.schedule .faq__content {
  padding: 0 clamp(9.11px, 1.11vw, 28.44px);
  display: flex;
  flex-direction: column;
  row-gap: clamp(18.22px, 2.22vw, 56.89px);
}
@media screen and (max-width: 767px) {
  .schedule .faq__content {
    padding: 0;
    row-gap: 8.5vw;
  }
}
.schedule .faq__content__item h3 {
  display: flex;
  flex-direction: row;
  align-items: center;
  column-gap: clamp(9.11px, 1.11vw, 28.44px);
  background: #0068b7;
  color: #fff;
  font-size: clamp(10.25px, 1.25vw, 32px);
  font-weight: 700;
  letter-spacing: 0.1666666667em;
  border-radius: clamp(5.69px, 0.69vw, 17.78px) clamp(5.69px, 0.69vw, 17.78px) 0 0;
  padding: clamp(10.25px, 1.25vw, 32px) clamp(18.22px, 2.22vw, 56.89px);
}
@media screen and (max-width: 767px) {
  .schedule .faq__content__item h3 {
    column-gap: 2.1vw;
    font-size: 4.8vw;
    padding: 4.8vw 4.2vw;
    border-radius: 2.6vw 2.6vw 0 0;
  }
}
.schedule .faq__content__item h3:before {
  content: "";
  display: inline-block;
  min-width: clamp(23.35px, 2.85vw, 72.89px);
  height: auto;
  aspect-ratio: 1;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2241%22%20height%3D%2240%22%20viewBox%3D%220%200%2041%2040%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cellipse%20cx%3D%2220.1333%22%20cy%3D%2220%22%20rx%3D%2220.1333%22%20ry%3D%2220%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M26.9142%2020.2799C26.9142%2021.4244%2026.7773%2022.4741%2026.5034%2023.429C26.2366%2024.3769%2025.8224%2025.1984%2025.2606%2025.8936C24.6989%2026.5887%2023.9862%2027.1328%2023.1226%2027.526L26.8299%2031.6652H22.6486L19.826%2028.2106C19.7769%2028.2106%2019.7347%2028.2106%2019.6996%2028.2106C19.6645%2028.2106%2019.6259%2028.2106%2019.5838%2028.2106C18.3269%2028.2106%2017.2386%2028.0246%2016.3188%2027.6524C15.399%2027.2733%2014.6371%2026.7326%2014.0333%2026.0305C13.4365%2025.3283%2012.9906%2024.4893%2012.6957%2023.5133C12.4008%2022.5373%2012.2533%2021.4525%2012.2533%2020.2588C12.2533%2018.6649%2012.5131%2017.2782%2013.0327%2016.0986C13.5593%2014.912%2014.3668%2013.9921%2015.4551%2013.3391C16.5435%2012.6861%2017.9267%2012.3596%2019.6048%2012.3596C21.2759%2012.3596%2022.6486%2012.6861%2023.7229%2013.3391C24.8042%2013.9921%2025.6047%2014.912%2026.1243%2016.0986C26.6509%2017.2852%2026.9142%2018.679%2026.9142%2020.2799ZM15.6763%2020.2799C15.6763%2021.3542%2015.8097%2022.281%2016.0765%2023.0604C16.3504%2023.8327%2016.7752%2024.4296%2017.3509%2024.8509C17.9267%2025.2651%2018.671%2025.4723%2019.5838%2025.4723C20.5106%2025.4723%2021.2619%2025.2651%2021.8377%2024.8509C22.4134%2024.4296%2022.8312%2023.8327%2023.091%2023.0604C23.3578%2022.281%2023.4912%2021.3542%2023.4912%2020.2799C23.4912%2018.6649%2023.1893%2017.394%2022.5854%2016.4672C21.9816%2015.5404%2020.9881%2015.077%2019.6048%2015.077C18.685%2015.077%2017.9337%2015.2876%2017.3509%2015.7089C16.7752%2016.1232%2016.3504%2016.72%2016.0765%2017.4994C15.8097%2018.2717%2015.6763%2019.1986%2015.6763%2020.2799Z%22%20fill%3D%22%230068B7%22%2F%3E%3C%2Fsvg%3E") no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .schedule .faq__content__item h3:before {
    min-width: 11.3vw;
  }
}
.schedule .faq__content__item p {
  line-height: 1.75;
  padding: clamp(27.33px, 3.33vw, 85.33px) clamp(48.4px, 5.9vw, 151.11px);
  background: #f1f3f7;
  border-radius: 0 0 clamp(5.69px, 0.69vw, 17.78px) clamp(5.69px, 0.69vw, 17.78px);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .schedule .faq__content__item p {
    padding: 6.4vw 4.2vw;
    border-radius: 0 0 2.6vw 2.6vw;
  }
}
@media screen and (max-width: 767px) {
  .schedule .faq__content__item:last-of-type h3 {
    align-items: flex-start;
  }
}