@import url("common.css");
.page-visual.main {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 640px;
  padding: 0 var(--space-7) var(--space-20);
  color: var(--color-white);
  font-size: var(--font-size-4);
  font-weight: var(--font-weight-bold);
  background: url("../images/community/bg-main-visual-mo.svg") no-repeat center/cover;
}
.page-visual.main h2 {
  display: block;
  margin: 0 0 var(--space-6);
  padding: 0;
  font-size: var(--font-size-9);
}

.page-visual {
  background-image: url("../images/community/visual-top@2x.png");
}

.board-list .write-btn {
  display: block;
  width: 100%;
  margin-top: var(--space-2);
  text-align: center;
  line-height: 48px;
}
.collapse .collapse-title {flex: none; width: calc(100% - 60px);}

@media screen and (min-width: 768px) {
  .page-visual {
    background-image: url("../images/community/visual-top.png");
  }
  .board-list {
    position: relative;
  }
  .board-list .write-btn {
    width: auto;
    margin-top: 0;
    position: absolute;
    top: var(--space-16);
    right: 0;
  }
}
.study-in-life-banner {
  height: 240px;
  margin-top: var(--space-20);
  padding: var(--space-5);
  background: url("../images/community/bg-study-in-life-banner-mo.svg") right bottom/cover no-repeat;
}
.study-in-life-banner h3 {
  max-width: 260px;
  color: var(--font-white);
  line-height: 1.2;
}
.study-in-life-banner h3 span {
  color: #b1e7f4;
}

hr {
  margin-block: var(--space-10);
  height: 1px;
  border: 0;
  background-color: var(--border-light);
}

.counsel-wrap {
  margin-top: var(--space-10);
}
.counsel-wrap h4 {
  margin-top: var(--space-6);
  margin-bottom: var(--space-4);
}
.counsel-wrap .text-dots {
  position: relative;
  padding-left: var(--space-6);
  color: var(--font-basic);
}
.counsel-wrap .text-dots::before {
  content: "";
  position: absolute;
  top: 10px;
  left: var(--space-2);
  width: 4px;
  height: 4px;
  border-radius: 100%;
  background-color: var(--font-basic);
}

.counsel-time .time-list {
  border-top: 1px solid var(--border-darken);
}
.counsel-time li {
  padding: var(--space-4);
  border-bottom: 1px solid var(--border-light);
}
.counsel-time li .title {
  font-size: var(--font-size-4);
  font-weight: var(--font-weight-bold);
}
.counsel-time .times {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-4);
}
.counsel-time .times p {
  display: flex;
  align-items: center;
  gap: var(--space-1);
}
.counsel-time .times .icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  background-color: var(--bg-light-blue);
  color: var(--color-primary);
  border-radius: 100%;
}
.counsel-time .times .icon svg {
  width: 20px;
  height: 20px;
}

.agree-check {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
}

.scrollable {
  height: auto;
  max-height: 60dvh;
  margin-bottom: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--border-basic);
  overflow-y: auto;
  color: var(--font-basic);
  border-radius: var(--radius-1);
}
.scrollable.terms-box h4 {
  color: var(--font-darken);
}
.scrollable.terms-box h5 {
  margin-top: var(--space-10);
  color: var(--font-darken);
  margin-bottom: var(--space-8);
}
.scrollable.terms-box h6 {
  margin-block: var(--space-4);
  color: var(--font-basic);
}
.scrollable.terms-box li {
  margin-bottom: var(--space-3);
}
.scrollable.terms-box ol {
  margin-bottom: var(--space-8);
}
.scrollable.terms-box ol:last-child {
  margin-bottom: 0;
}
.scrollable.terms-box ol ol {
  margin-block: var(--space-4);
  padding-left: var(--space-4);
}
.scrollable.policy-box {
  color: var(--font-basic);
  margin-bottom: var(--space-8);
}
.scrollable.policy-box:last-child {
  margin-bottom: 0;
}
.scrollable.policy-box h6 {
  font-weight: var(--font-weight-regular);
  margin-top: var(--space-8);
  margin-bottom: var(--space-4);
  color: var(--font-darken);
}
.scrollable.policy-box h6.title {
  margin-top: 0;
  color: var(--font-basic);
}

.form-downloads {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: var(--space-7);
}
.form-downloads .item {
  display: flex;
  flex-direction: column;
  padding: var(--space-4);
  padding-top: var(--space-6);
  border: 1px solid var(--border-light);
}
.form-downloads .item:hover {
  border-color: var(--border-darken);
}
.form-downloads .item img {
  width: 60px;
  height: 60px;
}
.form-downloads .item p {
  margin-top: var(--space-4);
  font-size: var(--font-size-4);
  font-weight: var(--font-weight-bold);
  word-break: break-all;
}
.form-downloads .item .button {
  margin-top: var(--space-7);
  margin-left: auto;
}

.uploaded-files {
  margin-top: var(--space-10);
  border-top: 1px solid var(--border-darken);
}
.uploaded-files .item {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  padding: var(--space-4);
  border-bottom: 1px solid var(--border-light);
}
.uploaded-files .item a {
  text-decoration: underline;
}
.uploaded-files .divider-dates {
  display: flex;
  gap: var(--space-2);
  color: var(--font-basic);
}
.uploaded-files .divider-dates .title {
  position: relative;
  padding-right: var(--space-2);
  color: var(--font-darken);
}
.uploaded-files .divider-dates .title::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(50%);
  width: 1px;
  height: 12px;
  background-color: var(--border-light);
}

.short-forms {
  display: flex;
  gap: var(--space-6);
  max-width: 100%;
  overflow-x: auto;
  -ms-overflow-style: none;
}
.short-forms::-webkit-scrollbar {
  display: none;
}
.short-forms .short-form-item {
  position: relative;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 236px;
  height: 418px;
  border-radius: var(--radius-2);
  overflow: hidden;
}
.short-forms .player {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
}

.quick-more-lists {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.quick-more-lists a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
  padding: var(--space-4);
  border: 1px solid var(--border-light);
}
.quick-more-lists a .icon {
  flex-shrink: 0;
}

.video-box.youtube {
  aspect-ratio: 205/98;
}
.video-box.youtube iframe {
  width: 100%;
  height: 100%;
}

.card-item-body .image-box {height: 174px; max-height: 174px;}
.card-item-body .image-box img {width: 100%; max-width: 100%; height: 100%;}

.board-supporter .card-item {cursor: pointer;}

.box-coupon-outer {padding: 60px 60px 32px 60px; display: flex; flex-wrap: wrap; background-color: #f0faff; border-radius: 20px;}
.coupon-movie {flex:none; width: calc(50% - 25px); margin-right: 50px; margin-bottom: 28px; position: relative; display: inline-flex; background-color: #fff; border-radius: 20px; overflow: hidden; box-shadow: 2px 4px 4px rgba(142, 144, 172, 0.1);}
.coupon-movie:nth-of-type(2n) {margin-right: 0;}
.coupon-movie.disabled .cp-pin{background: linear-gradient(93deg, #eee 0%, #f8f8f8 49%, #eee 100%);}
.coupon-movie::before {flex:none; position: absolute; top: 50%; right: -55px; content: ''; width: auto; height: 40px; display: block; flex:none; width: 160px; background: url(/public/v3/images/common/logo-white.svg) no-repeat center; background-size: auto 100%; transform: rotate(-90deg) translateX(10%); z-index: 1;}
.coupon-movie::after {flex:none; content: ''; display: block; flex:none; width: 50px; background: #006BCE; background-size: cover; border-top-right-radius: 20px; border-bottom-right-radius: 20px;}

.coupon-movie .inner-coupon {display: flex; flex-direction: column; padding: 28px; flex:none; width: calc(100% - 50px);}
.coupon-movie .cp-title {display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-bottom: 14px;}
.coupon-movie .cp-title .box-right {display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; margin-bottom: 6px;}
.coupon-movie .cp-title .title {font-size: 20px; font-weight: 700; margin-right: 20px; margin-bottom: 6px;}
.coupon-movie .cp-title .ox-group {gap: 0;}
.coupon-movie .cp-title .ox-group .ox {margin-right: 12px; gap: 0; align-items: center;}
.coupon-movie .cp-title .ox-group .ox input[type=radio] {margin-right: 4px; width: 16px; height: 16px; margin-top: 0;}
.coupon-movie .btn-coupon-download {display: block; flex:none; margin-left: 8px;}
.coupon-movie .btn-coupon-download button {font-size: 16px; color: #0E2B5E; font-weight: 700;}
.coupon-movie .btn-coupon-download button svg {width: 18px; height: 18px;}
.coupon-movie .btn-coupon-download button:hover {color: var(--color-primary);}
.coupon-movie .btn-coupon-download button:disabled {color: #999;}

.coupon-movie .cp-pin {display: flex; justify-content: space-between; align-items: center; min-height: 27px; margin-bottom: 12px;}
.coupon-movie .pin-num {font-size: 18px; color: #000; margin-right: 20px;}

.coupon-movie .box-btn {display: flex; align-items: center;}
.coupon-movie .box-btn > span {margin-right: 12px;}
.coupon-movie .box-btn > span:last-of-type {margin-right: 0;}
.coupon-movie .btn-coupon-copy {display: block;}
.coupon-movie .btn-coupon-copy button {display: block; font-size: 13px; font-weight: 500; background-color: #eeeeee; padding: 6px 12px; border-radius: 16px;}
.coupon-movie .btn-coupon-copy button:hover {color:#fff; background-color: var(--color-primary);}
.coupon-movie .btn-coupon-qr {display: block;}
.coupon-movie .btn-coupon-qr:hover {opacity: 0.7;}
.coupon-movie .btn-coupon-qr button {display: block; width: 24px; height: 24px; background: url(../images/common/icon-qr.svg) no-repeat center; background-size: cover;} /* Sources : iconfinder */

.coupon-movie .box-date {margin-top: auto; padding-top: 4px;}
.coupon-movie .cp-date {display: flex; flex-wrap: wrap; align-items: center; margin-top: 4px;}
.coupon-movie .cp-date * {font-size: 14px; color: #666;}
.coupon-movie .cp-date .title {margin-right: 12px;}
.coupon-movie .cp-date .bar {margin: 0 4px;}
.coupon-movie .cp-date .date {min-width: 30px; text-align: center;}
.coupon-movie .skip {font-size: 0; letter-spacing: 0; position: absolute; left: -99999px;}

.box-qr-code {display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px 0;}
.box-qr-code .img-qr {width: 120px; height: 120px; margin-bottom: 28px;}
.box-qr-code .img-qr img {width: 100%; max-width: 100%; height: 100%;}

.box-qr-code .info-qr > .date {display: flex; flex-wrap: wrap;}
.box-qr-code .info-qr > .date > span:first-of-type {margin-right: 4px;}
.box-qr-code .pin-num {font-size: 18px; font-weight: 500; text-align: center;}
.box-qr-code .date {margin-top: 8px; font-size: 14px;}

.dl-type1 {display: flex; align-items: center; margin-bottom: 32px;}
.dl-type1 dt {position: relative; flex:none; margin-right: 32px; display: flex; align-items: center; justify-content: center; width: 110px; height: 110px; background-color: #fff; border-radius: 100%; font-size: 20px; font-weight: 600;}
.dl-type1 dt > span {position: absolute; left: 0px; right: 0; top: 50%; transform: translateY(-50%); margin: 0 auto; display: flex; align-items: center; justify-content: center; width: 100px; height: 100px;  z-index: 1; border-radius: 100%; color: #fff;}
.dl-type1 dd {flex:1;}
.dl-type1.num01 dt {border:1px solid #3e6bb3;}
.dl-type1.num02 dt {border:1px solid #284F8D;}
.dl-type1.num03 dt {border:1px solid #082552;}
.dl-type1.num01 dt > span {background-color: #3e6bb3;}
.dl-type1.num02 dt > span {background-color: #284F8D;}
.dl-type1.num03 dt > span {background-color: #082552;}
.dl-type1 li {margin-bottom: 8px;}
.dl-type1 li:last-of-type {margin-bottom: 0;}

.line-box.type1 {display: flex; align-items: stretch; margin-bottom: 20px;}
.line-box.type1 dt {flex:none; display: flex; align-items: center; justify-self: center; width: 100px; height: auto; margin-right: 40px; border-right: 1px solid #eee;}
.line-box.type1 dt span {font-weight: 600; color: #0d2469;}
.line-box.type1 dd {flex:1;}
.line-box.type1 dd .title {display: block; font-size: 20px; font-weight: 600; margin-bottom: 12px; color: #21409a;}
.line-box.type1 dd li {margin-bottom: 8px;}
.line-box.type1 dd li:last-of-type {margin-bottom: 0px;}

.item.megabox03 h4 {margin-bottom: 12px;}
.item.megabox03 .line-box.type1 + h4 {margin-top: 40px;}

@media screen and (min-width: 768px) {
  .page-visual.main {
    justify-content: center;
    align-items: center;
    height: 500px;
    padding: 0;
    font-size: var(--font-size-6);
    text-align: center;
    background: url("../images/community/bg-main-visual.svg") no-repeat center/cover;
  }
  .page-visual.main h2 {
    margin: 0 0 var(--space-15);
    font-size: var(--font-size-11);
  }
  .page-title {
    margin-bottom: 0;
  }
  .study-in-life-banner {
    display: flex;
    align-items: center;
    padding-inline: 88px;
    background-image: url("../images/community/bg-study-in-life-banner.svg");
  }
  .study-in-life-banner h3 {
    max-width: 100%;
    font-size: var(--font-size-8);
  }
  .counsel-wrap h4 {
    margin-top: var(--space-10);
  }
  .counsel-wrap .counsel-time .times {
    flex-direction: row;
    gap: var(--space-4);
  }
  .agree-check {
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: var(--space-4);
  }
  .scrollable {
    max-height: 473px;
    padding: var(--space-8);
  }
  .page-buttons {
    justify-content: flex-end;
  }
  .page-buttons .button {
    flex: inherit;
  }
  .form-downloads {
    flex-direction: row;
    margin-bottom: var(--space-10);
  }
  .form-downloads .item {
    flex: 1 1;
    padding: var(--space-10);
    padding-bottom: var(--space-6);
  }
  .uploaded-files .item {
    flex-direction: row;
    justify-content: space-between;
    padding: var(--space-6);
  }
  .quick-more-lists a {
    padding: var(--space-4);
  }


  .card-item-body .image-box {height: 174px;}
  .card-item-body .image-box img {width: 100%; max-width: 100%; height: 100%;}
}

@media screen and (max-width: 1024px) {
  .box-coupon-outer {padding: 40px 40px 12px 40px;}
  .coupon-movie {width: calc(50% - 16px); margin-right: 32px;}
  .coupon-movie .cp-title .box-right {justify-content: flex-start; width: 100%; margin-top: 8px;}
  .coupon-movie .btn-coupon-download {margin-left: auto;}
  .coupon-movie .cp-pin {flex-wrap: wrap;}
}
@media screen and (max-width: 768px) {
  .box-coupon-outer {padding: 8px 8px 0 8px; flex-direction: column;}
  .coupon-movie .inner-coupon {width: 100%; padding: 20px 16px;}
  .coupon-movie {width: 100%; margin: 0 0 12px 0; flex-direction: column;}
  .coupon-movie:last-of-type {margin-bottom: 8px;}
  .coupon-movie::before {top: inherit; bottom: 10px; right: 0px; left: 0px; margin: 0 auto; transform: none; height: 32px;}
  .coupon-movie::after {width: 100%; height: 50px; border-radius: 0;}

  .coupon-movie .cp-title .title {font-size: 18px;}
  .coupon-movie .cp-title .ox-group .ox label {font-size: 14px;}

  .coupon-movie .pin-num {font-size: 14px; letter-spacing: -0.4px; margin-right: 4px;}
  .coupon-movie .box-btn > span {margin-right: 8px;}
  .coupon-movie .btn-coupon-qr button {width: 20px; height: 20px;}
  .coupon-movie .btn-coupon-copy button {font-size: 12px;}
  .coupon-movie .cp-date * {font-size: 13px;}

  .dl-type1 {flex-direction: column;}
  .dl-type1 dt {margin: 0 0 20px 0;}

  .line-box.type1 {flex-direction: column;}
  .line-box.type1 dt {border-radius: 0; font-size: 12px;}
  .line-box.type1 dd .title {font-size: 16px;}
}