@charset "utf-8";

/* login
============================================ */
body#login .place {
  padding: .5em;
  width: 100%;
}
body#login.osaka .place {
  background: var(--osaka);
}
body#login.nagoya .place {
  background: var(--nagoya);
}
body#login .place img {
  margin: auto;
  width: auto;
  height: 18px;
}
body#login .logo {
  margin-top: 46px;
  text-align: center;
}
body#login .logo > p {
  margin: 0 auto;
  width: 44%;
  max-width: 388px;
}
body#login .logo > p.landscape {
  width: 54%;
  max-width: 476px;
}
body#login .logo h1,
body#password .logo_wrap .ttl {
  margin-top: 1.2em;
  font-family: 'Zen Antique', serif;
  font-size: 1.625rem;
  font-weight: 400;
  letter-spacing: -.07em;
}
body#login.osaka .logo h1,
body#password.osaka .logo_wrap .ttl {
  color: var(--osaka);
}
body#login.nagoya .logo h1,
body#password.nagoya .logo_wrap .ttl {
  color: var(--nagoya);
}
body#login h2 {
  margin: 1em auto 24px;
  font-size: .875rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
body#login main > section {
  padding: 24px 5%;
  border-top: 1px solid var(--gray);
}
body#login .txt {
  font-size: .75rem;
  text-align: center;
}
body#login .txt em {
  color: var(--red);
  font-style: normal;
}
body#login .err,
body#password .err {
  color: var(--red);
}
body#login form {
  margin-top: 16px;
  text-align: center;
}
body#login .input_wrap {
  margin: 12px auto 0;
  padding: .5em 1em;
  width: 82%;
  max-width: 290px;
  background: #fff;
  border: 1px solid var(--gray);
  border-radius: 2em;
  position: relative;
}
body#login .input_wrap .ico {
  position: absolute;
  left: 1em;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
body#login .input_wrap .ico.mail {
  width: 18px;
  height: 13px;
}
body#login .input_wrap .ico.pass {
  margin-left: 1px;
  width: 16px;
  height: 20px;
}
body#login .input_wrap .ico svg {
  display: block;
}
body#login input {
  padding: 0 0 0 26px;
  width: 100%;
  font-size: 16px;
  border: none;
  background-color: #fff!important;
}
body#login input::placeholder {
  color: #C8C9CA;
}
body#login .input_wrap + .note {
  margin-top: .5em;
  color: var(--red);
  font-size: .625rem;
}
body#login .reset a {
  margin-top: 12px;
  color: #32B9FF;
  font-size: .75rem;
  text-align: center;
  text-decoration: none;
}
body#login button[type="submit"] {
  margin: 16px auto 0;
  padding: .5em .5em .6em;
  width: 42%;
  max-width: 150px;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1;
  background: var(--gray);
  border-radius: 8px;
}

/* password
============================================ */
body#password .logo_wrap {
  padding: 18px 0 8px;
}
body#password .logo_wrap .logo {
  margin: 0 auto;
  width: 30%;
}
body#password .logo_wrap .ttl {
  margin-top: .5em;
  text-align: center;
  line-height: 1;
}
body#password h1 {
  padding: .4em .5em .5em;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
body#password.osaka h1 {
  background: var(--osaka);
}
body#password.nagoya h1 {
  background: var(--nagoya);
}
body#password main > section {
  padding: 24px 5%;
}
body#password .txt {
  font-size: .875rem;
  text-align: center;
}
body#password .password_btn {
  margin-top: 2em;
  width: 100%;
}
body#password .password_btn a {
  padding: 1em;
  color: #fff;
  text-align: center;
  line-height: 1;
  text-decoration: none;
  background: var(--red);
  border-radius: 2px;
  display: block;
}
body#password .password_btn a img {
  margin-right: .5em;
  width: 1.2em;
  vertical-align: middle;
  display: inline-block;
}

/* top
============================================ */
/* head_bnr */
#top .head_bnr {
  width: 100%;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}
#osaka #top .head_bnr {
  border-bottom-color: var(--osaka);
}
#nagoya #top .head_bnr {
  border-bottom-color: var(--nagoya);
}

/* info */
#top .info_wrap {
  padding: 0 5%;
  display: flex;
  align-items: center;
  gap: 3.4vw;
  container-type: inline-size;
}
#top .info_wrap .photo {
  width: 20.5vw;
  min-width: 85px;
  height: auto!important;
  aspect-ratio: 6 / 9;
}
#top .info {
  min-width: 66.1vw;
  container-type: inline-size;
}
#top .info .gr {
  display: flex;
  gap: 1vw;
  gap: 1.6cqw;
}
#top .info .gr img {
  width: 42vw;
  width: 65.7cqw;
}
#top .info .gr img.place {
  width: auto;
  height: 3.6vw;
  height: 5.6cqw;
}
#top .info .event {
  margin-top: 6px;
  width: 21.5vw;
  width: 33.7cqw;
}
#top .info .event.summer {
  width: fit-content;
}
#top .info .event.summer img {
  height: 3.3vw;
  height: 5cqw;
}
#top .info .name_wrap {
  margin-top: 10px;
  font-size: 0;
  line-height: 1;
  vertical-align: bottom;
}
#top .info .name_wrap p {
  display: inline-block;
}
#top .info .bumon {
  margin-right: .5em;
  font-size: .6875rem;
  font-size: 4.4cqw;
}
#top .info .name {
  font-size: 1rem;
  font-size: 6.4cqw;
  font-weight: 700;
  line-height: 1.2;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
#top .info .name span {
  font-size: .675rem;
  font-size: 4.4cqw;
}
#top .info .senbatsu {
  margin-top: .7em;
  padding: .4em 1em .5em;
  color: #fff;
  font-size: .625rem;
  line-height: 1;
  border-radius: 2em;
  display: inline-block;
}
#osaka #top .info .senbatsu {
  background: #B71A39;
}
#nagoya #top .info .senbatsu {
  background: #376AB2;
}

@supports not (container-type: inline-size) {
  @media screen and (max-width: 363px) {
    #top .info .bumon {
      font-size: .625rem;
    }
  }
}

/* point */
#top .point_wrap {
  padding: 20px 5%;
  position: relative;
}
#osaka #top .point_wrap,
#osaka #top .point_wrap .point_list > dl > dd,
#osaka #top .point_wrap .point_list dd li.total div,
#osaka #top .point_wrap.actual > dl > dt::after {
  background: var(--osaka);
}
#nagoya #top .point_wrap,
#nagoya #top .point_wrap .point_list > dl > dd,
#nagoya #top .point_wrap .point_list dd li.total div,
#nagoya #top .point_wrap.actual > dl > dt::after {
  background: var(--nagoya);
}
#osaka #top .point_wrap .point_list dd li .status,
#osaka #top .news_wrap .news article .date {
  background: var(--pink);
}
#nagoya #top .point_wrap .point_list dd li .status,
#nagoya #top .news_wrap .news article .date {
  background: var(--blue);
}
#top .point_wrap .point_list dl {
  position: relative;
}
#top .point_wrap .point_list dl:nth-of-type(2) {
  margin-top: 20px;
}
#top .point_wrap .point_list dl.hide::after {
  content: '';
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .35);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#top .point_wrap .point_list > dl > dt {
  padding: .3em .5em .4em;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  position: relative;
}
#top .point_wrap .point_list > dl > dt::after {
  content: '';
  width: 12px;
  height: 9px;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  display: block;
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
}
#osaka #top .point_wrap .point_list > dl > dt,
#osaka #top .point_wrap .point_list > dl > dt::after,
#osaka #top .bnr_box .slick-dots li button  {
  background: #F09DC1;
}
#nagoya #top .point_wrap .point_list > dl > dt,
#nagoya #top .point_wrap .point_list > dl > dt::after,
#nagoya #top .bnr_box .slick-dots li button {
  background: #7DCCF3;
}
#top .point_wrap .point_list dd ol {
  background: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
#top .point_wrap .point_list dd li {
  padding: 10px;
  min-width: 0;
  background: #fff;
  border-bottom: 1px solid var(--osaka);
  display: flex;
  flex-direction: column;
  container-type: inline-size;
}
#nagoya #top .point_wrap .point_list dd li {
  border-bottom-color: var(--nagoya);
}
#top .point_wrap .point_list dd li:nth-of-type(odd) {
  border-right: 1px solid var(--osaka);
}
#nagoya #top .point_wrap .point_list dd li:nth-of-type(odd) {
  border-right-color: var(--nagoya);
}
 #top .point_wrap .point_list dd li .point_ttl {
  display: flex;
  align-items: center;
}
#top .point_wrap .point_list dd li .point_ttl p:not(.no) {
  font-size: 1rem;
  font-size: 9.8cqw;
  font-weight: 700;
  line-height: 1.2;
}
#top .point_wrap .point_list dd li .point_ttl p.kc {
  font-size: .75rem;
  font-size: 8.6cqw;
}
#top .point_wrap .point_list dd li .point_ttl .no {
  margin-right: 8px;
  margin-right: 5cqw;
  width: 40px;
  height: 40px;
  width: 25.8cqw;
  height: 25.8cqw;
  font-family: 'Poppins';
  font-size: 1.625rem;
  font-size: 16.7cqw;
  font-weight: 600;
  text-align: center;
  line-height: 37px;
  line-height: 23.8cqw;
  border-width: 2px;
  border-style: solid;
  border-radius: 50%;
  flex-shrink: 0;
}
#osaka #top .point_wrap .point_list dd li .point_ttl .no {
  color: var(--osaka);
  border-color: var(--osaka);
}
#nagoya #top .point_wrap .point_list dd li .point_ttl .no {
  color: var(--nagoya);
  border-color: var(--nagoya);
}
#top .point_wrap .point_list dd li .status {
  margin-top: .7em;
  padding: .5em;
  height: 100%;
  text-align: center;
  line-height: 1.5;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  container-type: inline-size;
}
#top .point_wrap .point_list dd li .status p {
  margin: auto;
  font-size: .875rem;
  font-size: 9.6cqw;
  line-height: 1.2;
}
#top .point_wrap .point_list dd li .status p.point {
  margin-top: .5em;
  padding-top: .5em;
  border-top: 1px solid var(--txt);
  display: flex;
  justify-content: center;
  align-items: center;
}
#top .point_wrap .point_list dd li .status p.point_wrap span:not(.point) {
  margin-right: .2em;
}
#top .point_wrap .point_list dd li .status span.point {
  margin-top: .1em;
  font-family: 'Poppins';
  font-size: 2rem;
  font-size: 23.7cqw;
  font-weight: 600;
  line-height: .7;
  display: inline-block;
}
#top .point_wrap .point_list dd li .status .btn {
  margin: auto auto 0;
  padding: .5em 0 6px;
}
#top .point_wrap .point_list dd li .status .btn a {
  padding: .4em 1em;
  color: #fff;
  line-height: 1;
  text-decoration: none;
  background: var(--osaka);
  box-shadow: 0 2px 0 0 #af000e;
  border-radius: 2em;
  display: block;
}
#nagoya #top .point_wrap .point_list dd li .status .btn a {
  background: var(--nagoya);
  box-shadow: 0 2px 0 0 #14658f;
}
#top .point_wrap .point_list dd li .point_box {
  margin-top: .7em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5%;
  container-type: inline-size;
}
#top .point_wrap .point_list dd li .point_box .rank {
  width: 40px;
  width: 25.8cqw;
  flex-shrink: 0;
}
#top .point_wrap .point_list dd li .point_box .point {
  font-family: 'Poppins';
  font-size: 2.625rem;
  font-size: 27cqw;
  font-weight: 600;
  line-height: .7;
}
#osaka #top .point_wrap .point_list dd li .point_box .point,
#osaka #top .point_wrap .point_list dd li.total dt,
#osaka #top .point_wrap .point_list dd li .status span.point {
  color: var(--osaka);
}
#nagoya #top .point_wrap .point_list dd li .point_box .point,
#nagoya #top .point_wrap .point_list dd li.total dt,
#nagoya #top .point_wrap .point_list dd li .status span.point {
  color: var(--nagoya);
}
#top .point_wrap .point_list dd li .point_box .point span {
  font-size: 60%;
}
#top .point_wrap .point_list dd li .max_point {
  margin-top: .3em;
  font-size: .75rem;
  font-size: 9cqw;
  text-align: center;
  line-height: 1;
}
#top .point_wrap .point_list dd li.total {
  margin-top: -1px;
  border-top: 1px solid var(--osaka);
  border-bottom: none;
  grid-column: 1 / -1;
}
#nagoya #top .point_wrap .point_list dd li.total {
  border-top-color: var(--nagoya);
}
#top .point_wrap .point_list dd li.total div {
  padding: 10px 20px;
  border-radius: 10px;
}
#top .point_wrap .point_list dd li.total dl {
  display: flex;
  align-items: center;
}
#top .point_wrap .point_list dd li.total dt {
  padding: .5em 1em;
  min-width: 10em;
  font-size: .93rem;
  font-size: 4.53cqw;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  background: #fff;
  flex-shrink: 0;
  position: relative;
}
#top .point_wrap .point_list dd li.total dt::after {
  content: '';
  width: 12px;
  height: 100%;
  background: #fff;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -11.5px;
}
#top .point_wrap .point_list dd li.total dd {
  margin-left: 22px;
  color: #fff;
  font-family: 'Poppins';
  font-size: 2.125rem;
  font-size: 9.94cqw;
  font-weight: 600;
  line-height: .9;
  display: flex;
  align-items: baseline;
}
#top .point_wrap .point_list dd li.total dd .rank {
  margin-right: 10px;
  margin-right: 2.65cqw;
  width: 40px;
  width: 10.64cqw;
}
#top .point_wrap .point_list dd li.total dd span {
  font-size: 60%;
}

#top .point_wrap.actual {
  margin-top: 10px;
  padding: 0;
}
#top .point_wrap.actual > dl > dt {
  padding: .55em 1em .7em;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  position: relative;
  cursor: pointer;
}
#top .point_wrap.actual > dl > dt::before,
#top .point_wrap.actual > dl > dt::after {
  content: '';
  margin: auto;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#top .point_wrap.actual > dl > dt::before {
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  right: 5vw;
}
#top .point_wrap.actual > dl > dt::after {
  margin-top: 1px;
  width: 12px;
  height: 10px;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  right: calc(5vw + 4px);
}
#top .point_wrap.actual > dl > dt.open::after {
  transform: translateY(calc(-50% + -2px)) rotate(180deg);
}
#top .point_wrap.actual > dl > dd {
  margin: 0 auto;
  padding-bottom: 20px;
  width: 90%;
}

@supports not (container-type: inline-size) {
  @media screen and (max-width: 363px) {
    #top .point_wrap .point_list dd li .point_ttl .no {
      width: 32px;
      height: 32px;
      font-size: 1.25rem;
      line-height: 28px;
    }
    #top .point_wrap .point_list dd li .point_ttl p:not(.no) {
      font-size: .8rem;
    }
    #top .point_wrap .point_list dd li .point_ttl p.kc {
      font-size: .66rem;
    }
    #top .point_wrap .point_list dd li .status p {
      font-size: .65rem;
    }
    #top .point_wrap .point_list dd li .status span.point {
      font-size: 1.625rem;
    }
    #top .point_wrap .point_list dd li .point_box .rank {
      width: 32px;
    }
    #top .point_wrap .point_list dd li .point_box .point {
      font-size: 2rem;
    }
    #top .point_wrap .point_list dd li.total div {
      padding: 10px 14px;
    }
    #top .point_wrap .point_list dd li.total dt {
      font-size: .75rem;
    }
    #top .point_wrap .point_list dd li.total dd {
      margin-left: 18px;
      font-size: 1.75rem;
    }
    #top .point_wrap .point_list dd li.total dd .rank {
      margin-right: 6px;
      width: 30px;
    }
  }
}

/* bnr_box */
#top .bnr_box {
  margin-top: 40px;
}
#top .bnr_box p {
  margin: 0 10px;
  border-radius: 8px;
  overflow: hidden;
}
#top .bnr_box .slick-dots {
  margin-top: 10px;
  font-size: 0;
  text-align: center;
}
#top .bnr_box .slick-dots li {
  margin: 0 4px;
  display: inline-block;
}
#top .bnr_box .slick-dots li button {
  margin: 0;
  padding: 0;
  width: 8px;
  height: 8px;
  outline: none;
  border-radius: 50%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
}
#osaka #top .bnr_box .slick-dots .slick-active button {
  background: var(--osaka);
}
#nagoya #top .bnr_box .slick-dots .slick-active button {
  background: var(--nagoya);
}

/* ticket */
#top .ticket_box {
  margin: 40px auto 0;
  padding: 10px 12px;
  width: 90%;
  border-width: 2px;
  border-style: solid;
  border-radius: 15px;
  position: relative;
}
#osaka #top .ticket_box {
  background: var(--pink);
  border-color: #E64290;
}
#nagoya #top .ticket_box {
  background: var(--blue);
  border-color: #00AAEA;
}
#top .ticket_box h2 {
  width: 20vw;
  max-width: 80px;
  text-indent: -200%;
  aspect-ratio: 160 / 67;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: -12px;
  left: 14px;
}
#osaka #top .ticket_box h2 {
  background-image: url(../cast_img/ticket_ttl_osaka.png);
}
#nagoya #top .ticket_box h2 {
  background-image: url(../cast_img/ticket_ttl_nagoya.png);
}
#top .ticket_box h3 {
  font-size: .75rem;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
#top .ticket_box > div {
  margin-top: .7em;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
}
#top .ticket_box > div p a {
  text-indent: -200%;
  aspect-ratio: 202 / 79;
  display: block;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
#osaka #top .ticket_box .yosen a {
  background-image: url(../cast_img/btn_yosen_osaka.png);
}
#osaka #top .ticket_box .final a {
  background-image: url(../cast_img/btn_final_osaka.png);
}
#osaka #top .ticket_box .vote a {
  background-image: url(../cast_img/btn_vote_osaka.png);
}
#nagoya #top .ticket_box .yosen a {
  background-image: url(../cast_img/btn_yosen_nagoya.png);
}
#nagoya #top .ticket_box .final a {
  background-image: url(../cast_img/btn_final_nagoya.png);
}
#nagoya #top .ticket_box .vote a {
  background-image: url(../cast_img/btn_vote_nagoya.png);
}
#top .ticket_box .hide_txt {
  margin: 0;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 1rem;
  text-align: center;
  line-height: 1.2;
  background: rgba(0, 0, 0, .35);
  border-radius: 13px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
}

/* top_bnr */
#top .top_bnr {
  margin: 40px auto 0;
  width: 90%;
}
#top .top_bnr > p:not(:first-child) {
  margin-top: 20px;
}

/* news */
#top .top_content {
  margin-top: 40px;
}
#top .top_content h2 {
  margin-bottom: 20px;
  padding: .5em 1em .4em;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}
#osaka #top .top_content h2 {
  background: var(--osaka);
}
#nagoya #top .top_content h2 {
  background: var(--nagoya);
}
#top .top_content h2::before {
  content: '';
  margin-right: .5em;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: inline-block;
}
#top .news_wrap h2::before {
  margin-top: -3px;
  width: 21px;
  aspect-ratio: 7 / 8;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.96 49.59"><g><path d="M17.47 6.66c-.04-.92-.12-1.78-.11-2.64.01-2.41 1.85-3.88 3.92-4.01.88-.06 1.73.11 2.5.56 1.21.71 1.89 1.76 1.92 3.18.01.94-.04 1.88-.06 2.86.31.1.65.2.98.32 2.87 1.01 5.26 2.66 7.02 5.17 1.34 1.92 2.11 4.06 2.46 6.37.2 1.31.19 2.62.18 3.94-.01 1.47-.03 2.94.06 4.4.14 2.2.71 4.3 1.82 6.23 1.16 2.03 2.76 3.61 4.8 4.79v3.54c-.22.01-.44.03-.66.03h-6.33c-4.2 0-8.4.01-12.6.01H.11C-.02 41-.06 38.8.04 37.95c.62-.43 1.23-.83 1.82-1.27 1.07-.79 1.94-1.78 2.63-2.92 1.45-2.4 2.25-5 2.33-7.81.04-1.26.01-2.52 0-3.78 0-1.49 0-2.98.29-4.44.83-4.16 3.08-7.34 6.71-9.53 1.02-.61 2.12-1.06 3.26-1.4.13-.04.25-.08.37-.13ZM14.19 43.29h14.64c-.15 2.4-2.45 6.01-6.94 6.29-3.48.21-7.01-2.15-7.7-6.29" fill="%23fff"/></g></svg>');
}
#top .news_wrap .news {
  margin: 0 auto;
  width: 90%;
  max-height: 9em;
  overflow-y: scroll;
}
#top .news_wrap .news article:not(:first-of-type) {
  margin-top: 1em;
}
#top .news_wrap .news article .date {
  margin-bottom: .5em;
  padding: .5em 1em;
  width: fit-content;
  font-family: 'Poppins';
  font-size: .625rem;
  font-weight: 600;
  text-align: center;
  line-height: .7;
  border-radius: 2em;
  display: block;
}
#top .news_wrap .news article .news_ttl {
  font-size: .75rem;
}
#top .news_wrap .news article a {
  text-decoration: none;
}

/* reserve */
#top .reserve_wrap h2::before {
  margin-top: -3px;
  width: 28px;
  aspect-ratio: 8 / 7;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 58.21 51.12"><g><path d="M5 51.12h48.21c2.76 0 5-2.24 5-5V9.96c0-2.76-2.24-5-5-5h-5.58c-.4 0-.73.33-.73.73v3.44c0 1.52-1.11 2.88-2.62 3.02-1.74.17-3.2-1.2-3.2-2.9V5.69c0-.4-.33-.73-.73-.73h-22.5c-.4 0-.73.33-.73.73v3.44c0 1.52-1.11 2.88-2.62 3.02-1.74.17-3.2-1.2-3.2-2.9V5.69c0-.4-.33-.73-.73-.73H4.99a5 5 0 0 0-4.99 5v36.16c0 2.76 2.24 5 5 5m-2.09-31.9H55.3v26.9c0 1.15-.94 2.09-2.09 2.09H5c-1.15 0-2.09-.94-2.09-2.09zm9.85-9.97V1.46c0-.8.65-1.46 1.46-1.46s1.46.65 1.46 1.46v7.8c0 .8-.65 1.46-1.46 1.46s-1.46-.65-1.46-1.46Zm29.78 0V1.46C42.54.66 43.19 0 44 0s1.46.65 1.46 1.46v7.8c0 .8-.65 1.46-1.46 1.46s-1.46-.65-1.46-1.46Z" fill="%23fff"/><path d="M24.63 43.39c-.51 0-1.02-.2-1.41-.59l-7.69-7.69c-.78-.78-.78-2.05 0-2.83s2.05-.78 2.83 0l6.28 6.28 15.23-15.23c.78-.78 2.05-.78 2.83 0s.78 2.05 0 2.83L26.06 42.8c-.39.39-.9.59-1.41.59Z" fill="%23fff"/></g></svg>');
}
#top .content_menu {
  margin: 0 auto;
  width: 90%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.5vw;
}
#top .content_menu > div {
  order: 1;
  position: relative;
}
#top .content_menu > div a {
  text-indent: -400%;
  aspect-ratio: 1 / 1;
  border-radius: 15px;
  display: block;
  overflow: hidden;
  position: relative;
}
#top .content_menu > div a::before {
  content: '';
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
#osaka #top .content_menu > div a {
  background-color: var(--pink);
}
#nagoya #top .content_menu > div a {
  background-color: var(--blue);
}
#osaka #top .content_menu .orientation a::before {
  background-image: url(../cast_img/menu_orientation_osaka.png);
}
#osaka #top .content_menu .reha a::before {
  background-image: url(../cast_img/menu_reha_osaka.png);
}
#osaka #top .content_menu .photo a::before {
  background-image: url(../cast_img/menu_photo_osaka.png);
}
#osaka #top .content_menu .lesson a::before {
  background-image: url(../cast_img/menu_lesson_osaka.png);
}
#nagoya #top .content_menu .orientation a::before {
  background-image: url(../cast_img/menu_orientation_nagoya.png);
}
#nagoya #top .content_menu .reha a::before {
  background-image: url(../cast_img/menu_reha_nagoya.png);
}
#nagoya #top .content_menu .photo a::before {
  background-image: url(../cast_img/menu_photo_nagoya.png);
}
#nagoya #top .content_menu .lesson a::before {
  background-image: url(../cast_img/menu_lesson_nagoya.png);
}

#top .content_menu .hide {
  order: 2;
}
#top .content_menu .hide a,
#top .content_menu :has(.uranai_number) a {
  pointer-events: none
}
#top .content_menu > div .hide_txt {
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: .75rem;
  font-size: 3vw;
  text-align: center;
  line-height: 1.5;
  background: rgba(0, 0, 0, .35);
  border-radius: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
}

/* apply */
#top .apply_wrap h2::before {
  margin-top: -5px;
  width: 23px;
  aspect-ratio: 1 / 1;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 47.73 47.73"><g><path d="m47.37 10.27-4.05 4.05c-.48.48-1.27.48-1.75 0l-8.16-8.15c-.48-.48-.48-1.27 0-1.75L37.46.36c.48-.48 1.27-.48 1.75 0l8.16 8.15c.48.48.48 1.27 0 1.75ZM.75 37.49 0 46.39c-.06.76.57 1.4 1.34 1.34l8.9-.74c.29-.02.57-.15.77-.36L38.94 18.7c.48-.48.48-1.27 0-1.75L30.78 8.8c-.48-.48-1.27-.48-1.75 0L1.1 36.72c-.21.21-.33.48-.36.77Z" fill="%23fff"/></g></svg>');
}
#osaka #top .content_menu .profile a::before {
  background-image: url(../cast_img/menu_profile_osaka.png);
}
#osaka #top .content_menu .pair a::before {
  background-image: url(../cast_img/menu_pair_osaka.png);
}
#osaka #top .content_menu .production a::before {
  background-image: url(../cast_img/menu_production_osaka.png);
}
#osaka #top .content_menu .sns a::before {
  background-image: url(../cast_img/menu_sns_osaka.png);
}
#osaka #top .content_menu .uranai a::before {
  background-image: url(../cast_img/menu_uranai_osaka.png);
}
#osaka #top .content_menu .profile_production a::before {
  background-image: url(../cast_img/menu_profile_production_osaka.png);
}
#nagoya #top .content_menu .profile a::before {
  background-image: url(../cast_img/menu_profile_nagoya.png);
}
#nagoya #top .content_menu .pair a::before {
  background-image: url(../cast_img/menu_pair_nagoya.png);
}
#nagoya #top .content_menu .production a::before {
  background-image: url(../cast_img/menu_production_nagoya.png);
}
#nagoya #top .content_menu .sns a::before {
  background-image: url(../cast_img/menu_sns_nagoya.png);
}
#nagoya #top .content_menu .uranai a::before {
  background-image: url(../cast_img/menu_uranai_nagoya.png);
}
#nagoya #top .content_menu .profile_production a::before {
  background-image: url(../cast_img/menu_profile_production_nagoya.png);
}
#top .content_menu .uranai:has(.uranai_number) a::before {
  opacity: .15;
}
#top .content_menu > div .uranai_number {
  width: 100%;
  height: 100%;
  font-size: .75rem;
  font-size: 3.75vw;
  text-align: center;
  font-weight: 700;
  line-height: 1.2;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
#top .content_menu > div .uranai_number span {
  margin-top: .05em;
  font-family: 'Poppins';
  font-size: 30px;
  font-size: 9.375vw;
  font-weight: 600;
  line-height: .9;
  display: inline-block;
}
#osaka #top .content_menu > div .uranai_number span {
  color: var(--osaka);
}
#nagoya #top .content_menu > div .uranai_number span {
  color: var(--nagoya);
}

/* movie */
#top .movie_wrap h2::before {
  margin-top: -4px;
  width: 32px;
  aspect-ratio: 1.475 / 1;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 65.58 44.65"><g><path d="M58.58 0H7C3.13 0 0 3.13 0 7v30.65c0 3.87 3.13 7 7 7h51.58c3.87 0 7-3.13 7-7V7c0-3.87-3.13-7-7-7M27.67 31.19V13.46l15.35 8.86-15.35 8.86Z" fill="%23fff"/></g></svg>');
}
#osaka #top .content_menu .access a::before {
  background-image: url(../cast_img/menu_access_osaka.png);
}
#nagoya #top .content_menu .access a::before {
  background-image: url(../cast_img/menu_access_nagoya.png);
}

@media screen and (max-width: 336px) {
  #top .content_menu > div .hide_txt p {
    transform: scale(.85);
  }
}

/* uranai_point
============================================ */
#uranai_point > section {
  width: 100%!important;
}

/* reha
============================================ */
#osaka #reha button[type="submit"] {
  background: var(--osaka);
}
#nagoya #reha button[type="submit"] {
  background: var(--nagoya);
}
#reha > section > p {
  font-size: .625rem;
}
#reha button[type="submit"] {
  margin: 32px auto 0;
  padding: 1em 3em 1.1em;
  color: #fff;
  font-size: .8rem;
  font-weight: 700;
  line-height: 1;
  border-radius: 2em;
  display: block;
  cursor: pointer;
}

/* patch
============================================ */
#patch .txt,
#patch .btn_wrap > p {
  font-size: .75rem;
  text-align: center;
}
#patch .btn_wrap {
  margin-top: 1em;
}
#patch .btn_wrap button[type="button"] {
  margin: 0 auto;
  padding: 1em 2em 1.1em;
  width: 17em;
  color: #fff;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1;
  border-radius: 2em;
  display: block;
  cursor: pointer;
}
#patch .btn_wrap button[type="button"]:not(:first-of-type) {
  margin-top: 24px;
}
#osaka #patch .btn_wrap button[type="button"] {
  background: var(--osaka);
}
#nagoya #patch .btn_wrap button[type="button"] {
  background: var(--nagoya);
}
#patch .btn_wrap > p {
  margin-top: 1em;
}
#osaka #patch .btn_wrap > p {
  color: var(--osaka);
}
#nagoya #patch .btn_wrap > p {
  color: var(--nagoya);
}

/* re-challenge_point
============================================ */
#re-challenge_point > section {
  padding: 32px 0;
}
#re-challenge_point > section h1 {
  color: var(--osaka);
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}
#re-challenge_point.nagoya > section h1 {
  color: var(--nagoya);
}
#re-challenge_point > section h1 span {
  font-size: 130%;
}
#re-challenge_point > section h2 {
  margin: 1em auto 56px!important;
  width: fit-content;
  min-width: 70%;
  font-size: .875rem!important;
  font-weight: 500!important;
}
#re-challenge_point.nagoya > section h2 {
  background: var(--nagoya)!important;
}
#re-challenge_point > section > p {
  font-size: .875rem;
  text-align: center;
}
#osaka #re-challenge_point > section > p a {
  color: var(--osaka);
}
#nagoya #re-challenge_point > section > p a {
  color: var(--nagoya);
}
#re-challenge_point > section button {
  margin: 56px auto 0;
  padding: 1em;
  width: 54%;
  color: #fff;
  line-height: 1;
  background: #000;
  border-radius: 2em;
  outline: none;
  display: block;
}
#re-challenge_point > section .logo {
  margin: 0 auto;
  width: 45%;
}
#re-challenge_point.completion > section h1 {
  margin: .7em auto 2em;
  font-size: 1.125rem;
  line-height: 1.2;
}
#re-challenge_point.completion > section h1 span {
  color: var(--txt);
  font-size: 100%;
}
#re-challenge_point.completion > section > p {
  text-align: left;
}

@media (max-width: 379px) {
  #re-challenge_point.completion > section h1 {
    font-size: .94rem;
  }
}

/* senbatsu
============================================ */
#senbatsu .content_ttl_wrap {
  margin-bottom: 30px;
  padding: .6em .5em 1em;
  width: 100%;
  color: #fff;
  font-weight: 700;
}
#osaka #senbatsu .content_ttl_wrap,
#osaka #senbatsu .senbatsu_list li figure .point,
#osaka #senbatsu .senbatsu_list li figure .point::before {
  background: var(--osaka);
}
#nagoya #senbatsu .content_ttl_wrap,
#nagoya #senbatsu .senbatsu_list li figure .point,
#nagoya #senbatsu .senbatsu_list li figure .point::before {
  background: var(--nagoya);
}
#senbatsu .content_ttl_wrap h1 {
  display: flex;
  justify-content: center;
  align-items: center;
}
#senbatsu .content_ttl_wrap h1 span:not(.top10) {
  font-size: 1rem;
  text-align: right;
  line-height: 1.2;
}
#senbatsu .content_ttl_wrap h1 .top10 {
  margin: -.1em 0 0 .2em;
  font-size: 132%;
}
#senbatsu .content_ttl_wrap > p {
  margin: .5em auto 0;
  padding: .2em 1.2em .3em;
  width: fit-content;
  font-size: .875rem;
  line-height: 1;
  background: #fff;
  border-radius: 2em;
}
#osaka #senbatsu .content_ttl_wrap > p {
  color: var(--osaka);
}
#nagoya #senbatsu .content_ttl_wrap > p {
  color: var(--nagoya);
}
#senbatsu form {
  margin-bottom: 60px;
  text-align: center;
}
#senbatsu .senbatsu_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#senbatsu .senbatsu_list li {
  margin-bottom: 35px;
  padding: 0 10px;
  width: 33.3333%;
  width: calc(100% / 3);
  position: relative;
}
#senbatsu .senbatsu_list li.rank01 {
  margin-bottom: 50px;
  width: 100%;
}
#senbatsu .senbatsu_list li.rank02,
#senbatsu .senbatsu_list li.rank03,
#senbatsu .senbatsu_list li.rank04,
#senbatsu .senbatsu_list li.rank05 {
  width: 50%;
}
#senbatsu .senbatsu_list li .ico {
  width: 44px;
  position: absolute;
  top: -20px;
  left: -5px;
  z-index: 1;
}
#senbatsu .senbatsu_list li.rank01 .ico {
  width: 100px;
  top: -45px;
  left: 5px;
}
#senbatsu .senbatsu_list li.rank02 .ico,
#senbatsu .senbatsu_list li.rank03 .ico,
#senbatsu .senbatsu_list li.rank04 .ico,
#senbatsu .senbatsu_list li.rank05 .ico {
  width: 50px;
  top: -22px;
  left: -7px;
}
#senbatsu .senbatsu_list li figure .img {
  position: relative;
}
#senbatsu .senbatsu_list li figure .point {
  padding: .2em;
  color: #fff;
  font-size: .625rem;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  right: 0;
  bottom: 0;
}
#senbatsu .senbatsu_list li figure .point::before {
  content: '';
  width: 1em;
  height: 100%;
  clip-path: polygon(0 100%,100% 0,100% 100%);
  display: block;
  position: absolute;
  top: 0;
  left: -1em;
}
#senbatsu .senbatsu_list li figure .point span {
  font-size: 200%;
}
#senbatsu .senbatsu_list li.rank01 figure .point {
  font-size: 1.375rem;
}
#senbatsu .senbatsu_list li.rank02 figure .point,
#senbatsu .senbatsu_list li.rank03 figure .point,
#senbatsu .senbatsu_list li.rank04 figure .point,
#senbatsu .senbatsu_list li.rank05 figure .point {
  font-size: .875rem;
}
#senbatsu .senbatsu_list li figcaption {
  margin-top: .5em;
  font-size: .75rem;
  text-align: center;
  line-height: 1.2;
}
#senbatsu .senbatsu_list li.rank01 figcaption {
  font-size: 1.25rem;
}
#senbatsu .senbatsu_list li.rank02 figcaption,
#senbatsu .senbatsu_list li.rank03 figcaption,
#senbatsu .senbatsu_list li.rank04 figcaption,
#senbatsu .senbatsu_list li.rank05 figcaption {
  font-size: 1rem;
}

#senbatsu.grandprix .content_ttl_wrap h1 {
  font-size: 1.25rem;
}
#senbatsu.grandprix .senbatsu_list li .ico {
  padding-bottom: 3px;
  color: #fff;
  font-size: .5rem;
  text-align: center;
  line-height: 1;
  aspect-ratio: 22 / 17;
  background-image: url(../cast_img/ico_rank_3.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  align-items: flex-end;
  position: absolute;
  top: -20px;
  left: -5px;
}
#senbatsu.grandprix .senbatsu_list li .ico span {
  margin-right: .05em;
  font-family: 'Poppins';
  font-size: .875rem;
  font-weight: 700;
  line-height: .8;
}
#senbatsu.grandprix .senbatsu_list li.rank01 .ico,
#senbatsu.grandprix .senbatsu_list li.rank02 .ico,
#senbatsu.grandprix .senbatsu_list li.rank03 .ico {
  font-size: 0;
  aspect-ratio: 519 / 641;
}
#senbatsu.grandprix .senbatsu_list li.rank01 .ico {
  width: 84px;
  background-image: url(../cast_img/ico_grandprix.png);
  top: -40px;
  left: 15px;
}
#senbatsu.grandprix .senbatsu_list li.rank02 .ico,
#senbatsu.grandprix .senbatsu_list li.rank03 .ico {
  width: 60px;
  background-image: url(../cast_img/ico_runnersup.png);
  top: -30px;
  left: 0;
}
#senbatsu.grandprix .senbatsu_list li.rank01 .ico span,
#senbatsu.grandprix .senbatsu_list li.rank02 .ico span,
#senbatsu.grandprix .senbatsu_list li.rank03 .ico span {
  display: none;
}
#senbatsu.grandprix .senbatsu_list li.rank04 .ico span,
#senbatsu.grandprix .senbatsu_list li.rank05 .ico span {
  font-size: 1.25rem;
}
#senbatsu.grandprix .senbatsu_list li figcaption .btn {
  margin: .5em auto 0;
  max-width: 130px;
  background-color: var(--osaka);
  border-radius: 4px;
}
#nagoya #senbatsu.grandprix .senbatsu_list li figcaption .btn {
  background-color: var(--nagoya);
}
#senbatsu.grandprix .senbatsu_list li.rank01 figcaption {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .5em;
}
#senbatsu.grandprix .senbatsu_list li.rank01 figcaption .btn {
  margin-top: 0;
}

/* ouen_point
============================================ */
#ouen_point,
#online_point {
  padding-bottom: 60px!important;
}
body:not(#login):not(#password) main#ouen_point > section,
body:not(#login):not(#password) main#lesson_point > section,
body:not(#login):not(#password) main#online_point > section,
body:not(#login):not(#password) main#portrait > section,
body:not(#login):not(#password) main#friend_point > section {
  width: 100%;
}
@media screen and (max-width: 405px) {
  main#ouen_point .content_ttl span {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 382px) {
  main#ouen_point .content_ttl span {
    font-size: 1.15rem;
  }
}
@media screen and (max-width: 371px) {
  main#ouen_point .content_ttl {
    font-size: .625rem;
  }
  main#ouen_point .content_ttl span {
    font-size: 1rem;
  }
}

/* lesson_point
============================================ */
#lesson_point {
  padding-bottom: 50px!important;
}

/* online_point
============================================ */
@media screen and (max-width: 410px) {
  main#online_point .content_ttl span {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 389px) {
  main#online_point .content_ttl span {
    font-size: 1.12rem;
  }
}
@media screen and (max-width: 371px) {
  main#online_point .content_ttl {
    font-size: .625rem;
  }
  main#online_point .content_ttl span {
    font-size: .97rem;
  }
}

/* kce_guidance
============================================ */
#kce_guidance .logo {
  margin: 0 auto;
  padding: 36px 5% 24px;
  width: 58%;
}
#kce_guidance h1 {
  padding: .5em;
  color: #fff;
  font-size: 1.25rem;
  text-align: center;
  line-height: 1;
  background: #e60012;
  margin-bottom: 54px;
}
#kce_guidance dt {
  margin-bottom: 1em;
  font-size: .875rem;
  font-weight: 700;
  text-align: center;
}
#kce_guidance .select_box {
  margin: 0 auto;
  width: 85%;
  border-radius: 2px;
  box-shadow: 0 0 5px rgba(0, 0, 0, .3);
  position: relative;
}
#kce_guidance .select_box::before {
  content: '';
  width: 25px;
  height: 25px;
  background: url(../cast_img/kce_guidance/select.png) no-repeat center;
  background-size: contain;
  border-radius: 2px;
  position: absolute;
  top: 50%;
  right: .5em;
  transform: translateY(-50%);
  pointer-events: none;
}
#kce_guidance .select_box select {
  padding: 1em calc(1em + 25px) 1em 1em;
  width: 100%;
  border: none;
  border-radius: 2px;
  -webkit-appearance: none;
  appearance: none;
}
#kce_guidance form button {
  margin: 48px auto 0;
  padding: 0;
  width: 90%;
  text-align: center;
  background: none;
  display: block;
}
#kce_guidance .txt {
  font-size: .75rem;
  text-align: center;
}
#kce_guidance .txt em {
  color: #e60012;
  font-style: normal;
}
#kce_guidance form .txt {
  margin-top: 48px;
}
#kce_guidance .note {
  margin: 52px auto 0;
  padding-left: 1em;
  text-indent: -1em;
  width: fit-content;
  font-size: .625rem;
}

#kce_guidance.completion h1 {
  margin-bottom: 0;
  padding: 0;
  font-size: 1.125rem;
  color: var(--txt);
  line-height: 1.5;
  background: none;
}
#kce_guidance .finish {
  margin: 1em auto 0;
  padding-bottom: .5em;
  width: fit-content;
  font-size: .75rem;
  text-align: center;
  line-height: 1;
  border-bottom: 1px solid var(--txt);
}
#kce_guidance.completion .txt {
  margin-top: 40px;
}
#kce_guidance.completion section > dl {
  margin: 46px auto 0;
  width: 90%;
  border: 1px solid var(--txt);
}
#kce_guidance.completion section > dl > dt {
  margin-bottom: 0;
  padding: .5em .5em .7em;
  color: #fff;
  line-height: 1;
  background: var(--txt);
}
#kce_guidance.completion section > dl > dd {
  padding: 1em;
  font-size: .75rem;
  text-align: center;
}
#kce_guidance.completion dd dl {
  margin-top: 1.5em;
}
#kce_guidance.completion dd dt {
  margin: 0 auto .5em;
  padding: .2em .5em .35em;
  width: 15em;
  font-size: .75rem;
  line-height: 1;
  border: 1px solid var(--txt);
}
#kce_guidance .meeting {
  margin-top: 48px;
  color: #e60012;
  font-size: .75rem;
  text-align: center;
}

/* photo
============================================ */
#photo .txt {
  margin-bottom: 1em;
  font-size: .875rem;
}
#photo .txt em {
  color: var(--red);
  font-weight: 700;
  font-style: normal;
}
#photo form dt,
#photo form dd {
  font-size: .875rem;
  line-height: 1.5;
}
#photo form select {
  width: 100%;
}
#photo form .calendar a {
  text-decoration: none;
}
#photo form .calendar ul {
	font-size: 0;
}
#photo form .calendar li {
  margin: 0;
  width: 65%;
  font-size: 1rem;
  text-align: center;
  display: inline-block;
  float: none;
}
#photo form .calendar li.prev {
  width: 15%;
  text-align: left;
}
#photo form .calendar li.next {
  width: 15%;
  text-align: right;
}
#photo form .calendar table {
  margin: .5em auto 1em;
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
#photo form .calendar th,
#photo form .calendar td {
  margin: 0;
  width: auto;
  font-size: .875rem;
  text-align: center;
  border: 1px solid #e7e7e7;
  display: table-cell;
}
#photo form .calendar th {
  padding: 5px;
  background: #747474;
  color: #fff;
}
#photo form .calendar .sat {
  background: #4880dd;
}
#photo form .calendar .sun {
  background: var(--red);
}
#photo form .calendar td {
  height: 36px;
  background: #e9e9e9;
  vertical-align: middle;
}
#photo form .calendar td a {
	display: block;
}
#photo form .calendar td.prev,
#photo form .calendar td.prev a {
  color: #a9a9a9;
}
#photo form .calendar .active {
	background:#fff;
}
#photo form .calendar td.select {
  color: #fff;
  background: var(--red);
}
#photo form .calendar td.select a {
  color: #fff;
}

/* profile
============================================ */
#profile .txt {
  margin-bottom: 1em;
  font-size: .875rem;
}
#profile form dt,
#profile form dd {
  font-size: .875rem;
  line-height: 1.5;
}
#profile form dt .note {
  padding-left: 1em;
  text-indent: -1em;
  color: var(--red);
  font-size: 80%;
}
#profile form input,
#profile form textarea {
  width: 100%;
}
#profile form input:focus {
  border-color: var(--red);
}
#profile form input.gakunen {
  width: 3em;
}
#profile form input.password,
#profile form input.postal,
#profile form input.height,
#profile form input.bust,
#profile form input.waist,
#profile form input.hip,
#profile form input.shoe {
  width: 5em;
}
#profile form input[type=checkbox] + label {
  margin-left: .5em;
  padding: 0 0 0 24px;
  position: relative;
  display: inline-block;
  cursor: pointer;
}
#profile form input[type=checkbox] + label:before {
	content: '';
	margin-top: -9px;
	width: 18px;
	height: 18px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 3px;
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
}
#profile form input[type=checkbox]:checked + label:after {
	content: '';
	margin-top: -8px;
	width: 16px;
	height: 8px;
	border-left: 4px solid #111;
	border-bottom: 4px solid #111;
	position: absolute;
	top: 50%;
	left: 3px;
	display: block;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* orientation_movie
============================================ */
#orientation_movie .txt {
  margin-top: 1em;
  font-size: .875rem;
  text-align: center;
  line-height: 1.5;
}
#orientation_movie .movie_box {
  aspect-ratio: 1018 / 720;
}

/* orientation
============================================ */
#orientation .txt {
  margin-top: 1em;
  font-size: .875rem;
  text-align: center;
  line-height: 1.5;
}
#orientation .txt .ico {
  margin-left: .2em;
  width: 1em;
  vertical-align: middle;
  display: inline-block;
}

/* lesson
============================================ */
#lesson .txt {
  margin-bottom: 1em;
  font-size: .875rem;
  text-align: center;
}
#lesson form dt,
#lesson form dd {
  font-size: .875rem;
  line-height: 1.5;
}
#lesson form select {
  width: 100%;
}

/* contract
============================================ */
#contract .txt {
  font-size: .875rem;
}
#contract .btn_wrap {
  margin-top: 2em;
}
#contract .btn_wrap > p:not(:first-of-type) {
  margin-top: 1.5em;
}
#contract .btn {
  width: 100%;
}
#contract .btn a {
  padding: 1.2em 1em 1.4em;
  color: #fff;
  font-size: .875rem;
  text-align: center;
  line-height: 1;
  text-decoration: none;
  background: var(--osaka);
  display: block;
}
#nagoya #contract .btn a {
  background: var(--nagoya);
}