:root {
  --font-ratio: 1;
  --root-font-size: 16;
  --font-size-pc: 16;
  --font-size-sp: 16;
  --primary: #F5D81F;
  --primary-2: #B59F0F;
  --orange: #FF7B23;
  --white: #fff;
  --black: #333;
  --gray-1: #36404B;
  --gray-2: #F0F3F5;
  --gray-3: #7A8CA0;
  --rainbow: linear-gradient(90deg, #d1655c 0%, #d0655b 12.54%, #e7b641 19.24%, #e7b641 33.88%, #e5b440 46.44%, #a1c666 52.73%, #a1c666 64.85%, #a1c666 79.07%, #7e9fd0 84.11%, #80a2d2 100%);
}

@media (max-width:1600px) {
  :root {
  --font-ratio: 1
  }
}

@media (max-width:1588px) {
  :root {
  --font-ratio: 0.993
  }
}

@media (max-width:1576px) {
  :root {
  --font-ratio: 0.985
  }
}

@media (max-width:1564px) {
  :root {
  --font-ratio: 0.978
  }
}

@media (max-width:1552px) {
  :root {
  --font-ratio: 0.97
  }
}

@media (max-width:1540px) {
  :root {
  --font-ratio: 0.963
  }
}

@media (max-width:1528px) {
  :root {
  --font-ratio: 0.955
  }
}

@media (max-width:1516px) {
  :root {
  --font-ratio: 0.948
  }
}

@media (max-width:1504px) {
  :root {
  --font-ratio: 0.94
  }
}

@media (max-width:1492px) {
  :root {
  --font-ratio: 0.933
  }
}

@media (max-width:1480px) {
  :root {
  --font-ratio: 0.925
  }
}

@media (max-width:1468px) {
  :root {
  --font-ratio: 0.918
  }
}

@media (max-width:1456px) {
  :root {
  --font-ratio: 0.91
  }
}

@media (max-width:1444px) {
  :root {
  --font-ratio: 0.903
  }
}

@media (max-width:1432px) {
  :root {
  --font-ratio: 0.895
  }
}

@media (max-width:1420px) {
  :root {
  --font-ratio: 0.888
  }
}

@media (max-width:1408px) {
  :root {
  --font-ratio: 0.88
  }
}

@media (max-width:1396px) {
  :root {
  --font-ratio: 0.873
  }
}

@media (max-width:1384px) {
  :root {
  --font-ratio: 0.865
  }
}

@media (max-width:1372px) {
  :root {
  --font-ratio: 0.858
  }
}

@media (max-width:1360px) {
  :root {
  --font-ratio: 0.85
  }
}

@media (max-width:1348px) {
  :root {
  --font-ratio: 0.843
  }
}

@media (max-width:1336px) {
  :root {
  --font-ratio: 0.835
  }
}

@media (max-width:1324px) {
  :root {
  --font-ratio: 0.828
  }
}

@media (max-width:1312px) {
  :root {
  --font-ratio: 0.82
  }
}

@media (max-width:1300px) {
  :root {
  --font-ratio: 0.813
  }
}

@media (max-width:1288px) {
  :root {
  --font-ratio: 0.805
  }
}

@media (max-width:1276px) {
  :root {
  --font-ratio: 0.798
  }
}

@media (max-width:1264px) {
  :root {
  --font-ratio: 0.79
  }
}

@media (max-width:1252px) {
  :root {
  --font-ratio: 0.783
  }
}

@media (max-width:1240px) {
  :root {
  --font-ratio: 0.775
  }
}

@media (max-width:576px) {
  :root {
  --body-font-size: calc(var(--font-size-sp) / var(--root-font-size) * var(--font-ratio) * 1rem);
  --font-ratio: 1.536
  }
}

@media (max-width:575px) {
  :root {
  --font-ratio: 1.532
  }
}

@media (max-width:565px) {
  :root {
  --font-ratio: 1.505
  }
}

@media (max-width:555px) {
  :root {
  --font-ratio: 1.479
  }
}

@media (max-width:545px) {
  :root {
  --font-ratio: 1.452
  }
}

@media (max-width:535px) {
  :root {
  --font-ratio: 1.426
  }
}

@media (max-width:525px) {
  :root {
  --font-ratio: 1.399
  }
}

@media (max-width:515px) {
  :root {
  --font-ratio: 1.372
  }
}

@media (max-width:505px) {
  :root {
  --font-ratio: 1.346
  }
}

@media (max-width:495px) {
  :root {
  --font-ratio: 1.319
  }
}

@media (max-width:485px) {
  :root {
  --font-ratio: 1.293
  }
}

@media (max-width:475px) {
  :root {
  --font-ratio: 1.266
  }
}

@media (max-width:465px) {
  :root {
  --font-ratio: 1.239
  }
}

@media (max-width:455px) {
  :root {
  --font-ratio: 1.213
  }
}

@media (max-width:445px) {
  :root {
  --font-ratio: 1.186
  }
}

@media (max-width:435px) {
  :root {
  --font-ratio: 1.16
  }
}

@media (max-width:425px) {
  :root {
  --font-ratio: 1.133
  }
}

@media (max-width:415px) {
  :root {
  --font-ratio: 1.106
  }
}

@media (max-width:405px) {
  :root {
  --font-ratio: 1.08
  }
}

@media (max-width:395px) {
  :root {
  --font-ratio: 1.053
  }
}

@media (max-width:385px) {
  :root {
  --font-ratio: 1.027
  }
}

@media (max-width:375px) {
  :root {
  --font-ratio: 1
  }
}

@media (max-width:365px) {
  :root {
  --font-ratio: 0.973
  }
}

@media (max-width:355px) {
  :root {
  --font-ratio: 0.947
  }
}

@media (max-width:345px) {
  :root {
  --font-ratio: 0.92
  }
}

@media (max-width:335px) {
  :root {
  --font-ratio: 0.894
  }
}

@media (max-width:325px) {
  :root {
  --font-ratio: 0.867
  }
}

@media (max-width:315px) {
  :root {
  --font-ratio: 0.84
  }
}

.wrapper {
  font-size: calc(16px * var(--font-ratio));
  line-height: 1.8;
}

@media (max-width:576px) {
  .wrapper {
    font-size: 14px;
  }
}

/*----------------------------------------------------------------
	共通レイアウト
----------------------------------------------------------------*/
.l-section-inr{
  padding-top: calc(104px * var(--font-ratio));
  padding-bottom: calc(104px * var(--font-ratio));
  max-width: 1024px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width:576px) {
  .l-section-inr{
    padding-top: calc(64px * var(--font-ratio));
    padding-bottom: calc(64px * var(--font-ratio));
  }
}

/*----------------------------------------------------------------
	共通パーツ
----------------------------------------------------------------*/
.anchor-point::before{
  content: "";
  display: block;
  padding-top: 80px;
  margin-top: -80px;
}

.p-heading-h2{
  font-size: calc(24px * var(--font-ratio));
  font-weight: 600;
  color: var(--primary);
}

.p-btn,
.p-btn-cta{
  display: block;
  position: relative;
  border-radius: 4px;
  line-height: 1em;
  cursor: pointer;
  padding: 12px 46px 12px 20px;
  z-index: 1;
  box-sizing: border-box;
  font-size: calc(16px * var(--font-ratio));
  font-weight: 600;
  width: calc(288px * var(--font-ratio));
  color: #094C97;
  border: 1px solid #094C97;
  background: #e5f5fd;
}
.p-btn-cta{
  color: #fff;
  border: 1px solid #ff7b23;
  background: #ff7b23;
  box-shadow: 0px 3px 6px rgba(51,51,51,0.15);
}
.p-btn::after,
.p-btn-cta::after {
  content: '';
  width: 7px;
  height: 7px;
  display: block;
  border-top: solid 2px #094C97;
  border-right: solid 2px #094C97;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 12px;
  margin: auto;
}
.p-btn-cta::after {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}

.p-btn::before,
.p-btn-cta::before {
  width: 100%;
  height: 100%;
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: opacity 300ms;
  border-radius: 4px;
  background: #fff;
}
.p-btn-cta::before {
  background: linear-gradient(135deg, #ff7b23 0%, #f34b4b 100%);
}

.p-btn:hover::before,
.p-btn-cta:hover::before {opacity: 0;}

.p-btn-small{
  width: calc(215px * var(--font-ratio));
}

@media (max-width:576px) {
  .p-heading-h2{
    font-size: 24px;
  }

  .p-btn,
  .p-btn-cta{
    text-align: center;
    padding: 12px 10px 12px 0px;
    font-size: 14px;
  }
}

.p-link{
  color: #094C97;
  font-weight: 600;
  position: relative;
  padding-right: 10px;
  border-bottom: 1px solid #094c97;
}
.p-link::after{
  content: '';
  width: 7px;
  height: 7px;
  display: block;
  border-top: solid 2px #094c97;
  border-right: solid 2px #094c97;
  transform: rotate(45deg);
  position: absolute;
  bottom: calc(1em / 2);
  right: 0;
  transition: all 0.3s ease;
}
.p-link:hover {
  border-bottom: 1px solid transparent;
}
.p-link:hover::after{
  right: -0.5em;
}

.p-list-asterisk > li{
  position: relative;
  padding-left: 1.1em;
  counter-increment: cnt;
  font-size: calc(12px * var(--font-ratio));
}
.p-list-asterisk > li::before{
  position: absolute;
  top: 0;
  left: 0;
  width: 1.3em;
  height: 1.3em;
}
.p-list-asterisk > li {
  padding-left: 1.1em;
}
.p-list-asterisk > li::before {
  content: "※";
}

.p-fz-10{font-size: 10px;}
.p-fz-12{font-size: calc(12px * var(--font-ratio));}
.p-fz-14{font-size: calc(14px * var(--font-ratio));}
.p-fz-16{font-size: calc(16px * var(--font-ratio));}
.p-fz-18{font-size: calc(18px * var(--font-ratio));}
.p-fz-24{font-size: calc(24px * var(--font-ratio));}
.p-fz-32{font-size: calc(32px * var(--font-ratio));}
.p-fz-37{font-size: calc(37px * var(--font-ratio));}
.p-fz-61{font-size: calc(61px * var(--font-ratio));}

@media (max-width:576px) {
  .p-fz-14{font-size: 12px;}
  .p-fz-18{font-size: 14px;}
  .p-fz-24{font-size: 16px;}
  .p-fz-37{font-size: 17px;}
  .p-fz-61{font-size: 28px;}
}

.p-mt-4{margin-top: 4px;}
.p-mt-8{margin-top: 8px;}
.p-mt-16{margin-top: 16px;}
.p-mt-24{margin-top: 24px;}
.p-mt-32{margin-top: 32px;}
.p-mt-40{margin-top: 40px;}
.p-mt-64{margin-top: 64px;}
.p-mt-82{margin-top: 82px;}

.p-mr-4{margin-right: 4px;}
.p-mr-8{margin-right: 8px;}
.p-mr-16{margin-right: calc(16px * var(--font-ratio));}
.p-mr-24{margin-right: calc(24px * var(--font-ratio));}
.p-mr-32{margin-right: calc(32px * var(--font-ratio));}
.p-mr-40{margin-right: calc(40px * var(--font-ratio));}

@media (max-width:576px) {
  .p-mt-24{margin-top: 16px;}
  .p-mt-32{margin-top: 16px;}
  .p-mt-40{margin-top: 16px;}
}

.p-fw-400{font-weight: 400;}
.p-fw-600{font-weight: 600;}
.p-fw-900{font-weight: 900;}

.p-color-primary{color:var(--primary);}
.p-color-primary-2{color:var(--primary-2);}
.p-color-orange{color:var(--orange);}
.p-color-black{color:var(--black);}
.p-color-white{color:var(--white);}
.p-color-gray{color:var(--gray-3);}

.p-align-r{text-align: right;}
.p-align-c{text-align: center;}

/*----------------------------------------------------------------
	header
----------------------------------------------------------------*/
.header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  /* overflow: hidden; */
  background: rgba(255,255,255,0.6);
}
.header::before{
  content: '';
  backdrop-filter: blur(12px);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.header-inr{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: calc(17px * var(--font-ratio));
  min-width: 1010px;
}

.header-logo img{
  width: calc(396px * var(--font-ratio));
  height: auto;
}

.header-menu{
  border: none;
  position: relative;
  z-index: 10;
  display: none;
  width: calc(36px * var(--font-ratio));
  height: calc(34px * var(--font-ratio));
  cursor: pointer;
  background: url(../images/icon_menu.svg) no-repeat 0 0/100%;
  background-size: cover;
  transition: background-color .2s
}

.header .p-btn-cta::after{
  transform: rotate(135deg);
}

@media (max-width:1024px) {
  .header{
    background: var(--white);
  }

  .header-inr{
    min-width: auto;
  }

  .header-menu{
    display: block;
  }

  .is_open .header-menu{
    background-position: 100%;
  }
}

@media (max-width:576px) {
  .header-inr{
    margin-top: calc(6px * var(--font-ratio));
    margin-bottom: calc(6px * var(--font-ratio));
  }

  .header-logo img{
    width: calc(240px * var(--font-ratio));
  }

  .header-menu {
    width: calc(18px * var(--font-ratio));
    height: calc(17px * var(--font-ratio))
  }
}


/*----------------------------------------------------------------
	navigation
----------------------------------------------------------------*/
.navigation{
  display: flex;
  align-items: center;
}

.navigation-list{
  display: flex;
  margin-right: calc(42px * var(--font-ratio));
}

.navigation-list li{
  margin: 0 calc(32px * var(--font-ratio));
}

.navigation-list li a{
  position: relative;
  padding: 13px 0;
  font-weight: bold;
  font-size: calc(20px * var(--font-ratio));
}
.navigation-list li a::after{
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgb(209,101,92);
  background: var(--rainbow);
  opacity: 0;
  transition: opacity 300ms;
}
.navigation-list li a.is-active::after,
.navigation-list li a:hover::after{
  opacity: 1;
}

@media (max-width:1024px) {
  .navigation{
    position: absolute;
    top: calc(46px * var(--font-ratio));
    left: 0;
    width: 100%;
    background: var(--white);
    z-index: -1;
    transform: translateY(-150%);
  }
  .navigation-inr{
    width: 100%;
    padding: 10px 0;
  }
  .navigation-list{
    display: block;
    margin-right: 0;
  }
  .navigation-list li{
    text-align: center;
  }
  .navigation-list li a{
    font-size: 14px;
  }
  .navigation-link{
    display: none;
  }

  .is_open .navigation{
    transform: translateY(0%);
  }
}


/*----------------------------------------------------------------
	mainvisual
----------------------------------------------------------------*/
.mainvisual{
  padding-top: calc(64px * var(--font-ratio));
  padding-bottom: calc(72px * var(--font-ratio));
  margin-top: calc(95px * var(--font-ratio));
  background: var(--gray-2);
  position: relative;
}
.mainvisual::after{
  content: "";
  display: block;
  width: 100%;
  height: 7px;
  background: rgb(209,101,92);
  background: var(--rainbow);
  position: absolute;
  bottom: 0;
  left: 0;
}

.mainvisual-inr{
  max-width: 1264px;
  width: 90%;
  margin: 0 auto;
}

.mainvisual-column{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.mainvisual-heading img{
  width: calc(614px * var(--font-ratio));
  height: auto;
}

.mainvisual-lead img{
  width: calc(802px * var(--font-ratio));
  height: auto;
}

.mainvisual-image{
  width: calc(416px * var(--font-ratio));
}
.mainvisual-image img{
  width: 100%;
  height: auto;
}

@media (max-width:820px) {
  .mainvisual-heading img{
    width: calc(420px * var(--font-ratio));
  }

  .mainvisual-lead img{
    width: calc(420px * var(--font-ratio));
  }

  .mainvisual-image{
    width: calc(260px * var(--font-ratio));
  }
}

@media (max-width:576px) {
  .mainvisual{
    padding: 16px 0;
    margin-top: calc(46px * var(--font-ratio));
  }

  .mainvisual-heading img{
    width: calc(200px * var(--font-ratio));
  }

  .mainvisual-lead img{
    width: calc(200px * var(--font-ratio));
  }

  .mainvisual-image{
    width: calc(120px * var(--font-ratio));
  }
}


/*----------------------------------------------------------------
	schedule
----------------------------------------------------------------*/
.schedule{
  background: var(--primary);
}

.schedule-inr{
  padding: 12px 0;
  width: 90%;
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}

.schedule-badge{
  margin-right: calc(28px * var(--font-ratio));
}

@media (max-width:1024px) {
}

@media (max-width:576px) {
  .schedule-inr{
    padding: 8px 0;
  }

  .schedule-badge{
    margin-right: calc(14px * var(--font-ratio));
  }
  .schedule-badge img{
    width: calc(50px * var(--font-ratio));
  }
  
  .schedule dt.p-fz-24{font-size: 12px;}
  .schedule dd .p-fz-24{font-size: 11px;}
  .schedule .p-mr-24{margin-right: 13px;}
}


/*----------------------------------------------------------------
	about
----------------------------------------------------------------*/
.about{
  background: var(--black);
  color: var(--white);
}

.about-column{
  display: flex;
}

.about-heading{
  margin-right: calc(114px * var(--font-ratio));
}

@media (max-width:820px) {
  .about-column{
    display: block;
  }

  .about-heading{
    margin-right: 0;
    margin-bottom: 16px;
  }
}

.profile{
  position: relative;
  background: #fff url(../images/bg_dot.svg);
  border-radius: 4px;
  color: var(--black);
  padding: 16px 24px;
}

.profile-iner{
  display: flex;
  justify-content: space-between;
}

.profile-heading{
  display: flex;
  align-items: center;
}

.profile-image{
  position: absolute;
  top: 16px;
  right: 24px;
}

.profile-image img{
  width: calc(184px * var(--font-ratio));
  height: auto;
}

@media (max-width:576px) {
  .profile-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .profile-heading{
    display: block;
  }

  .profile-image{
    position: static;
  }

  .profile-image img{
    width: calc(104px * var(--font-ratio));
  }
}

/*----------------------------------------------------------------
	seminar
----------------------------------------------------------------*/
.seminar{
  background: var(--gray-2);
}

.seminar-inr{
  padding-bottom: 0;
}

.seminar-list{
  width: 100%;
}

.seminar-list li{
  display: flex;
}
.seminar-col1{ width: calc(100px * var(--font-ratio));}
.seminar-col2{ width: calc(523px * var(--font-ratio));}
.seminar-col3{ width: calc(278px * var(--font-ratio));}
.seminar-col4{ width: calc(123px * var(--font-ratio));}

.seminar-list-header p{
  padding: 3px 16px;
}

.seminar-list-body{
  margin-bottom: 16px;
  background: var(--white);
  border-radius: 4px;
}

.seminar-list-body-inr{
  display: flex;
  justify-content: space-between;
}

.seminar-number{
  background: var(--black);
  color: var(--white);
  text-align: center;
  padding: 20px 0;
  border-radius: 4px 0 0 4px;
}

.seminar-heading,
.seminar-detail{
  margin-top: 20px;
  margin-bottom: 20px;
  padding-left: 16px;
  padding-right: 16px;
}

.seminar-heading{
  display: flex;
  align-items: center;
}

.seminar-detail{
  border-left: 1px dotted var(--gray-3);
}

.seminar-detail dt{
  display: none;
}


@media (max-width:768px) {
  .seminar-list-header{
    display: none !important;
  }

  .seminar-col2,
  .seminar-col3,
  .seminar-col4{ width: 100%;}

  .seminar-number{
    width: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }

  .seminar-heading{
    display: block;
    margin: 0;
    padding: 8px 16px;
  }

  .seminar-list-body-inr{
    display: block;
    width: 80%;
    padding-bottom: 8px;
  }

  .seminar-detail{
    display: flex;
    margin-top: 3px;
    margin-bottom: 0;
  }

  .seminar-detail dt{
    margin-right: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background: #fff url(../images/bg_dot.svg);
    width: calc(56px * var(--font-ratio));
    font-size: 12px;
    font-weight: 600;
  }

}

/*----------------------------------------------------------------
	program
----------------------------------------------------------------*/
.program{
  background: var(--gray-2);
}

.program-inr{
  padding-top: calc(82px * var(--font-ratio));
}

.program-list-col{
  margin-bottom: 24px;
}

.program-list li{
  background: var(--white);
  border-radius: 4px;
}

.program-list-num{
  position: relative;
  background: var(--gray-1);
  color: var(--white);
  border-radius: 4px 4px 0 0;
  padding: 8px 24px 15px;
}

.program-list-num::after{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 7px;
  background: rgb(209,101,92);
  background: var(--rainbow);
}

.program-list-inr{
  padding: 24px;
}

.program-list-header{
  display: flex;
  justify-content: space-between;
}

.program-list-heading{
  width: calc(413px * var(--font-ratio));
}

.program-list-text{
  width: calc(540px * var(--font-ratio));
}

.program-list-detail{
  display: flex;
  flex-wrap: wrap;
}

.program-list-detail > li{
  display: flex;
  margin-bottom: 8px;
}

.program-list-detail > li:nth-child(1),
.program-list-detail > li:nth-child(4){ width: 100%;}
.program-list-detail > li:nth-child(2),
.program-list-detail > li:nth-child(3){ width: 50%;}

.program-list-detail li:last-child{
  margin-bottom: 0;
}

.program-list-detail h4{
  background: #fff url(../images/bg_dot.svg);
  font-weight: 600;
  width: calc(128px * var(--font-ratio));
  display: flex;
  align-items: center;
  justify-content: center;
}

.program-list-detail-main{
  padding: 0 16px;
}

.program-list-link-btn{
  display: flex;
  align-items: flex-end;
}

.program-list-link{
  display: flex;
  justify-content: space-between;
  align-self: flex-end;
  width: calc(850px * var(--font-ratio));
}

.program-list-link-textlink{
  display: flex;
  align-items: flex-end;
}

[data-page='1'] .program-list-col:nth-child(n + 4) {
  display: none;
}
[data-page='2'] .releasenote-card:nth-child(n + 7) {
  display: none;
}
[data-page='3'] .releasenote-card:nth-child(n + 10) {
  display: none;
}
[data-page='4'] .releasenote-card:nth-child(n + 13) {
  display: none;
}

.moreBtn{
  margin-top: 20px;
  text-align: center;
  /* cursor: pointer; */
  /* display: none; */
}

.has_more .moreBtn{
  display: block;
}

@media (max-width:820px) {
  .program-list li{
    margin-right: 0;
  }

  .program-list li:last-child{
    margin-bottom: 0;
  }

  .program-list-inr{
    padding: 16px;
  }

  .program-list-link{
    display: block;
    width: calc(700px * var(--font-ratio));
  }

  .program-list-link-textlink{
    margin-top: 8px;
    display: block;
    text-align: right;
  }

  .program-list-link-btn{
    justify-content: space-between;
  }
  
  .moreBtn img{
    width: 93px;
    height: auto;
  }
}

@media (max-width:576px) {
  .program-list-header{
    display: block;
  }

  .program-list-heading,
  .program-list-text{
    width: 100%;
  }

  .program-list-detail{
    display: block;
    margin-top: 16px;
  }

  .program-list-detail > li:nth-child(2),
  .program-list-detail > li:nth-child(3){
    width: 100%;
  }

  .program-list-detail h4{
    width: calc(57px * var(--font-ratio));
  }

  .program-list-detail-main,
  .program-list-link{
    width: calc(250px * var(--font-ratio));
  }

  .program-list-detail-main{
    padding: 0 8px;
  }

  .program-list-link-btn{
    display: block;
  }

  .program-list-link-btn li{
    margin-bottom: 8px;
  }

  .program-list-link-btn li:last-child{
    margin-bottom: 0px;
  }

  .p-btn, .p-btn-cta{
    width: 100%;
  }
}


/*----------------------------------------------------------------
	textbook
----------------------------------------------------------------*/
.textbook-column{
  padding: calc(24px * var(--font-ratio)) calc(50px * var(--font-ratio));
  background: #fff url(../images/bg_dot.svg); 
}

.textbook-column-inr{
  padding-left: calc(345px * var(--font-ratio));
  position: relative;
}

.textbook-image{
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.textbook-image img{
  width: calc(300px * var(--font-ratio));
  height: auto;
}

@media (max-width:576px) {
  .textbook-column{
    padding: calc(24px * var(--font-ratio)) calc(16px * var(--font-ratio));
  }

  .textbook-column-inr{
    padding-left: 0;
  }

  .textbook-image{
    position: static;
    transform: translateY(0);
    text-align: center;
    margin-top: 4px;
  }

  .textbook-image img{
    width: calc(216px * var(--font-ratio));
  }
}


/*----------------------------------------------------------------
	archive
----------------------------------------------------------------*/
.archive{
  background: var(--black);
  color: var(--white);
  text-align: center;
}

.archive-movie{
  width: 513px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

@media (max-width:576px) {
  .archive-movie{
    width: 264px;
  }
  .archive-movie iframe{
    width: 100%;
    height: auto;
  }
}

/*----------------------------------------------------------------
	cta
----------------------------------------------------------------*/
.cta-inr{
  margin: 0 16px;
  padding-top: 24px;
  padding-bottom: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cta .p-btn-cta::after{
  transform: rotate(315deg);
  top: 5px;
}

@media (max-width:576px) {
  .cta-inr{
    padding-top: 16px;
    padding-bottom: 32px;
    display: block;
  }

  .cta-logo img{
    width: calc(240px * var(--font-ratio));
    height: auto;
  }

  .cta-btn{
    margin-top: 16px;
  }

  .cta-btn a{
    width: 100%;
  }
}
