@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&amp;display=swap");
html {
  font-size: 62.5%; }

body {
  background: #F5F5DC;
  color: var(--text-main-color);
  font-family: "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  word-wrap: break-word;
  letter-spacing: .03em;
  -webkit-text-size-adjust: 100%; }

.fs01 {
  font-size: var(--fs-middle); }
  @media all and (min-width: 600px) {
    .fs01 {
      font-size: var(--fs-xlarge); } }

.fs02 {
  font-size: var(--fs-middle); }

.ft03 {
  font-size: var(--fs-small); }

img {
  vertical-align: bottom; }

.red {
  color: var(--text-red-color); }

.blue {
  color: var(--text-blue-color); }

a:hover {
  text-decoration: none; }

strong {
  font-weight: bold; }

.igyousyu_color {
  background: linear-gradient(transparent 70%, rgba(50, 205, 50, 0.3) 70%); }

.content_color {
  background: linear-gradient(transparent 70%, rgba(138, 43, 226, 0.3) 70%); }

.ic_color {
  background: var(--igyousyu-color); }

.cc_color {
  background: var(--contents-color); }

.align_r {
  text-align: right; }

.align_c {
  text-align: center; }

.align_l {
  text-align: left; }

.indent-1em {
  text-indent: -1em;
  padding-left: 1em; }

/* brの仕様 */
.sm_br {
  display: block; }
  @media all and (min-width: 1000px) {
    .sm_br {
      display: none; } }

.tab_br {
  display: block; }
  @media all and (min-width: 600px) {
    .tab_br {
      display: none; } }

.tab_bl {
  display: none; }
  @media all and (min-width: 600px) {
    .tab_bl {
      display: block; } }

.img_pc {
  border-radius: 16px;
  display: none;
  vertical-align: top;
  width: 100%; }
  @media all and (min-width: 600px) {
    .img_pc {
      display: block; } }

.img_sp {
  display: block;
  vertical-align: top;
  width: 100%; }
  @media all and (min-width: 600px) {
    .img_sp {
      display: none; } }

.skewx01 {
  background: var(--main-color);
  color: #fff;
  display: inline-block;
  padding: 0 0 0 .5em;
  transform: skewX(-15deg); }

.marker_orange {
  background: linear-gradient(transparent 70%, rgba(254, 180, 113, 0.5) 70%); }

/* header */
.head {
  align-items: center;
  background: #F5F5DC;
  box-shadow: var(--box-shadow);
  display: flex;
  height: 80px;
  justify-content: space-between;
  left: 0;
  letter-spacing: 0;
  opacity: .9;
  padding: 0 .6em;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10; }
  @media all and (min-width: 1000px) {
    .head {
      display: block;
      height: auto;
      padding: 0; } }
  .head__ttl {
    display: inline-block;
    font-size: 1.3rem;
    line-height: 1.3; }
    @media all and (min-width: 600px) {
      .head__ttl {
        font-size: 1.7rem;
        font-weight: normal;
        padding: .5em 0; } }
    @media all and (min-width: 1000px) {
      .head__ttl {
        font-size: 2.2rem;
        font-weight: bold;
        min-height: 90px;
        display: block;
        margin: 0 auto;
        max-width: 1000px;
        padding-left: .5em; } }
    .head__ttl a {
      color: var(--text-main-color);
      text-decoration: none; }
    @media all and (min-width: 600px) {
      .head__ttl--sub {
        font-size: 1.4rem; } }
    @media all and (min-width: 1000px) {
      .head__ttl--sub {
        font-size: 1.6rem; } }

.tokyo_logo {
  height: 21px;
  vertical-align: middle; }
  @media all and (min-width: 600px) {
    .tokyo_logo {
      height: 36px; } }

#btn {
  background: var(--main-color);
  position: relative;
  width: 40px;
  height: 40px;
  transition: 0.3s; }
  @media all and (min-width: 1000px) {
    #btn {
      display: none; } }

.btn_top,
.btn_middle,
.btn_bottom {
  background: #fff;
  border-radius: 2px;
  content: "";
  display: block;
  position: absolute;
  height: 2px;
  width: 30px;
  left: 5px;
  top: 9px;
  transition: 0.3s; }

.btn_middle {
  top: 18px; }

.btn_bottom {
  top: 27px; }

.bt {
  top: 18px;
  transform: rotate(45deg); }

.bm {
  left: -40px;
  opacity: 0; }

.bb {
  top: 18px;
  transform: rotate(-45deg); }

.gnav {
  background: rgba(0, 0, 0, 0.9);
  position: absolute;
  top: 0;
  left: -70vw;
  width: 70vw;
  transition: 0.3s;
  min-height: 100vh; }
  @media all and (min-width: 1000px) {
    .gnav {
      background: var(--main-color);
      position: static;
      top: auto;
      left: auto;
      width: auto;
      min-height: auto; } }
  .gnav ul {
    font-size: 1.6rem; }
    @media all and (min-width: 1000px) {
      .gnav ul {
        display: flex;
        justify-content: space-around;
        margin: 0 auto;
        max-width: 1000px;
        width: 100%; } }
    .gnav ul li {
      font-size: 1.5rem;
      text-align: center; }
      .gnav ul li a {
        border-bottom: 1px solid #eee;
        color: #eee;
        display: block;
        padding: 1em 0.6em;
        text-decoration: none; }
        .gnav ul li a:hover {
          background: #111; }
        @media all and (min-width: 1000px) {
          .gnav ul li a {
            display: block;
            color: #fff;
            border: none;
            transition: .2s; }
            .gnav ul li a:hover {
              background: var(--main_b-color);
              color: var(--main-color); } }

.out {
  left: 0; }

.img-area {
  background-color: #e9f4fa;
  background-image: url(../../../../20240704204020im_/https_/contentcollabo.metro.tokyo.lg.jp/img/main_bg2024.html);
  background-size: cover;
  background-position: center center;
  margin-bottom: 1em;
  min-height: 10vh;
  padding-top: 80px;
  text-align: center; }
  @media all and (min-width: 1000px) {
    .img-area {
      margin-bottom: 2em;
      margin-top: 0px;
      padding-top: 142px;
      padding-bottom: 0px; } }
  .img-area__visual {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    text-align: right;
    padding: 4vh 0; }
  .img-area__info {
    background: rgba(120, 150, 180, 0.7);
    /* rgba(238, 111, 31, .7);   rgba(0, 80, 100, .7); */
    color: #fff; }
    .img-area__info-txt {
      padding: .6em .5em;
      font-size: 1.4rem; }
      @media all and (min-width: 1000px) {
        .img-area__info-txt {
          padding: .6em 1em;
          font-size: 2rem; } }

/* main */
#main-area {
  margin: 0 auto;
  padding: 0 1em;
  max-width: 1000px; }
  @media all and (min-width: 1000px) {
    #main-area {
      padding: 0; } }

.sec {
  background: #fff;
  border-radius: var(--cv8);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
  margin-bottom: 2em;
  padding: 20px; }
  @media all and (min-width: 1000px) {
    .sec {
      padding: 2em 2em 2.5em; } }
  .sec-head {
    border-bottom: 2px solid var(--main-color);
    font-weight: bold;
    margin-bottom: 1em; }
    .sec-head__ttl {
      border-radius: 0 var(--cv16) 0 0;
      display: inline-block;
      /*    font-size: var(--fs-large);*/
      /*    font-weight: normal;  2024 */
      padding: 0em 1em .4em;
      letter-spacing: .05em; }
      @media all and (min-width: 1000px) {
        .sec-head__ttl {
          font-size: var(--fs-xlarge); } }

.sec_innerbox {
  padding: .5em 0 1em; }
  @media all and (min-width: 1000px) {
    .sec_innerbox {
      padding: 1em; } }
  .sec_innerbox h2 {
    background: #eeeeee;
    border-left: 8px solid var(--main-color);
    font-weight: normal;
    margin-bottom: 1em;
    padding: .5em 1em;
    letter-spacing: .05em; }
    @media all and (min-width: 1000px) {
      .sec_innerbox h2 {
        font-size: var(--fs-large);
        margin-top: 1em; } }
  .sec_innerbox ul {
    list-style-type: disc;
    padding-left: 2em; }
    .sec_innerbox ul li {
      margin-bottom: .3em; }

.block_border {
  background: #f8f8f8;
  /*  border: 1px solid #ccc;*/
  margin-bottom: 1em;
  margin-top: 1em;
  padding: 1.6rem; }
  .block_border_c {
    border: 2px solid var(--contents-color); }
  .block_border_i {
    border: 2px solid var(--igyousyu-color); }
  .block_border_ttl_c {
    margin: .5em 0 1em;
    padding: .6em 1em;
    text-align: center;
    background: var(--contents_b-color);
    position: relative;
    font-size: var(--fs-middle);
    /*    @include pc {
        font-size: 2.2rem;
        }*/ }
    .block_border_ttl_c::before {
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      margin-left: -15px;
      border: 15px solid transparent;
      border-top: 15px solid var(--contents_b-color); }
  .block_border_ttl_i {
    margin: .5em 0 1em;
    padding: .6em 1em;
    text-align: center;
    background: var(--igyousyu_b-color);
    position: relative;
    font-size: var(--fs-middle);
    /*    @include pc {
        font-size: 2.2rem;
        }*/ }
    .block_border_ttl_i::before {
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      margin-left: -15px;
      border: 15px solid transparent;
      border-top: 15px solid var(--igyousyu_b-color); }
  .block_border_ttl_style {
    font-size: var(--fs-middle);
    background: none;
    font-weight: bold; }
    @media all and (min-width: 1000px) {
      .block_border_ttl_style {
        font-size: 3.2rem; } }
  .block_border_txt {
    padding: 1em;
    background: #fff;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.5) inset; }
    @media all and (min-width: 1000px) {
      .block_border_txt {
        margin: 2em; } }
  .block_border ul {
    list-style-type: disc;
    padding-left: 2em;
    padding-right: 1em;
    font-size: 1.4rem; }
    .block_border ul li {
      /*      margin-bottom: .4em;
            border-bottom: 1px dotted #ccc;
            padding-bottom: .5em;*/
      padding-bottom: .3em; }

.entry_btn {
  margin: 2em auto;
  text-align: center;
  width: 85%; }
  .entry_btn a {
    background: var(--entry-btn-color);
    display: block;
    color: #fff;
    padding: 1.2em 1em;
    text-decoration: none;
    transition: .2s;
    border-radius: var(--cv8);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); }
    @media all and (min-width: 600px) {
      .entry_btn a {
        border-radius: 100vh; } }
    @media all and (min-width: 1000px) {
      .entry_btn a {
        font-size: var(--fs-middle); }
        .entry_btn a:hover {
          opacity: .8;
          letter-spacing: .1em;
          box-shadow: none; } }
  .entry_btn--desc {
    background-color: #E60000;
    padding: 0.2em 1em 0.3em;
    display: inline-block;
    margin: .5em 1em 0;
    border-radius: var(--cv8);
    font-size: 1.4rem; }

.entry_btn_content a {
  background: var(--contents-color);
  /*    border-radius: var(--cv8);*/ }

.entry_btn_igyousyu a {
  background: var(--igyousyu-color);
  /*    border-radius: var(--cv8);*/ }

.entry_btn_seminar a {
  background: var(--seminar-color);
  /*    border-radius: var(--cv8);*/ }

.entry_btn_off {
  background: #c0c0c0;
  color: #fff;
  display: block;
  font-size: var(--fs-middle);
  margin: 1.6em auto;
  padding: 1.2em 1em;
  text-align: center;
  width: 85%;
  border-radius: var(--cv8); }
  @media all and (min-width: 600px) {
    .entry_btn_off {
      border-radius: 100vh; } }

.entry_btn.disabled {
  background-color: none;   /* ボタン背景なし（親）ー */
  border-color: #bfbfbf;
  pointer-events: none;      /* クリック不可 */
}

.entry_btn.disabled a {
  background-color: #bfbfbf;   /* 完全グレー */
  color: #666;
  display: block;
  border-radius: 999px;        /* 今まで通り丸く */
  cursor: not-allowed;
}

/* #news */
#news .news_tbl th {
  border-bottom: 1px dotted #ccc;
  padding: .6em;
  text-align: left;
  max-width: 200px;
  vertical-align: top; }
#news .news_tbl td {
  border-bottom: 1px dotted #ccc;
  padding: .6em;
  width: 99%; }
#news .news_tbl tr:last-child > * {
  border-bottom: none; }

/* #overview */
.ov_box24__item {
  border: 1px solid var(--main-color);
  margin-bottom: 1em; }
  .ov_box24__item-ttl {
    background: var(--main-color);
    border-bottom: 4px solid var(--main_b-color);
    color: #fff;
    font-size: var(--fs-middle);
    padding: .5em;
    text-align: center; }
    @media all and (min-width: 1000px) {
      .ov_box24__item-ttl {
        text-align: left;
        font-size: var(--fs-xlarge);
        padding: .5em 1em; } }
  @media all and (min-width: 600px) {
    .ov_box24__item-txt {
      display: flex;
      justify-content: space-between; } }
  .ov_box24__item-txt-date {
    padding: 1em; }
    .ov_box24__item-txt-date p {
      margin-bottom: 1em; }
    @media all and (min-width: 600px) {
      .ov_box24__item-txt-date {
        width: calc(100% -350px); } }
  @media all and (min-width: 600px) {
    .ov_box24__item-txt-img {
      width: 350px; } }
  @media all and (min-width: 1000px) {
    .ov_box24__item-txt-img {
      width: 350px; } }
  .ov_box24__item-info {
    font-size: var(--fs-small);
    background: #f8f8f8;
    padding: 1em; }
.ov_box24__bottom {
  margin-top: 1em;
  margin-bottom: 1em;
  background-color: #fffff3;
  padding: 1em 2em;
  font-size: 1.4rem;
  border-top: 1px dotted #ddd;
  border-bottom: 1px dotted #ddd; }

.ov_box {
  margin: 1em 0; }
  .ov_box__item {
    background: #eee;
    margin-bottom: 1em; }
    .ov_box__item--ttl {
      background: var(--main_b-color);
      color: #fff;
      padding: .6em .5em;
      text-align: center; }
  @media all and (min-width: 600px) {
    .ov_box {
      display: flex;
      justify-content: space-between; }
      .ov_box__item {
        width: 49.5%; } }

/* igyousyu-list */
.list-tbl {
  border: 1px solid #ccc;
  width: 100%; }
  .list-tbl tr:nth-child(odd) td {
    background: var(--igyousyu_b-color); }
  .list-tbl td {
    border: 1px solid #ccc; }
    .list-tbl td a {
      display: block;
      padding: 1em;
      transition: .2s; }
      .list-tbl td a:hover {
        border-left: 10px solid #ccc;
        letter-spacing: .1em; }

/* contents-list */
#contents-list .list-tbl tr:nth-child(odd) td {
  background: var(--contents_b-color); }

.list-blank {
  background: #ddd;
  text-align: center; }
  .list-blank p {
    color: #666;
    font-size: var(--fs-middle);
    padding: 4em 1em; }
  .list-blank__cc {
    border-left: 10px solid var(--contents-color); }
  .list-blank__ic {
    border-left: 10px solid var(--igyousyu-color); }

/* seminar */
.seminar_label {
  margin-bottom: .6em; }
  .seminar_label span {
    background: #ddd;
    display: inline-block;
    font-size: 1.3rem;
    margin-right: .6em;
    padding: .6em; }
  .seminar_label .ic_label {
    background: var(--igyousyu_b-color);
    border-left: 5px solid var(--igyousyu-color); }
  .seminar_label .cc_label {
    background: var(--contents_b-color);
    border-left: 5px solid var(--contents-color); }
  .seminar_label .cmn_label {
    background: var(--main-color);
    border-left: 5px solid var(--sub-color); }

.seminar_ttl {
  border-bottom: 1px dotted #ccc;
  font-weight: bold;
  margin-bottom: 1em;
  padding: 0 1em .5em; }
  @media all and (min-width: 600px) {
    .seminar_ttl {
      font-size: var(--fs-large); } }

@media all and (min-width: 600px) {
  .seminar_box {
    display: flex;
    flex-shrink: 0; } }
.seminar_box__item-left {
  margin-bottom: 1em;
  text-align: center;
  width: 100%; }
  @media all and (min-width: 600px) {
    .seminar_box__item-left {
      min-width: 150px;
      max-width: 150px;
      margin-right: 1.6em;
      width: 20%; } }
.seminar_box__item-right {
  font-size: var(--fs-small); }
  @media all and (min-width: 600px) {
    .seminar_box__item-right {
      max-width: 1000px; } }
  .seminar_box__item-right--koshi {
    margin-bottom: 1em;
    text-align: center; }
    @media all and (min-width: 600px) {
      .seminar_box__item-right--koshi {
        font-size: var(--fs-middle);
        text-align: left; } }

.seminar_prof {
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
  width: 100%;
  max-width: 300px; }
  @media all and (min-width: 600px) {
    .seminar_prof {
      max-width: 150px; } }

/* recommended */
#recommend .sec_innerbox img {
  width: 100%;
  min-width: 100%; }

/* modelcase */
.modelcase_box {
  margin-top: 2em; }
  @media all and (min-width: 1000px) {
    .modelcase_box {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; } }
  .modelcase_box-item {
    background-color: #efefef;
    padding: 1em;
    margin-top: 1em;
    border-top: 2px dotted var(--main-color);
    border-bottom: 2px dotted var(--main-color); }
    @media all and (min-width: 1000px) {
      .modelcase_box-item {
        width: 49%;
        max-width: 442px; } }
    .modelcase_box-item dt {
      text-align: center; }
      .modelcase_box-item dt img {
        max-width: 100%; }
    .modelcase_box-item dd {
      font-size: 1.4rem;
      margin-top: 1.5em; }

.foot {
  background: var(--main-color);
  color: #fff;
  font-size: var(--fs-xsmall);
  padding: 1em 0;
  text-align: center; }
  @media all and (min-width: 1000px) {
    .foot {
      padding: 2em 0 2.6em; } }
  .foot__privacy a {
    color: #fff; }

#backtotop {
  border-radius: 50%;
  font-size: 5rem;
  line-height: 1;
  position: fixed;
  right: 0.6em;
  bottom: 0.6em;
  z-index: 100; }
  #backtotop a {
    color: var(--main_b-color); }

#privacy p {
  margin-bottom: 1em; }
  
.schedule-wrapper iframe{
  width:100%;
  height:800px;
  border:none;
}
.schedule-sp{ display:none; }
.schedule-sp img{ width:100%; height:auto; display:block; }

@media (max-width: 768px){
  .schedule-pc{ display:none; }
  .schedule-sp{ display:block; }
}

/* main上部ボタン横並び */
.main-top-btns{
  display: flex;
  gap: 16px;
  margin: 20px auto;
  max-width: 1100px;   /* mainの幅に合わせて調整 */
  padding: 0 16px;
}

/* 既存 entry_btn を横並び用に */
.main-top-btns .entry_btn{
  flex: 1;
  margin: 0;          /* 既存のmarginを打ち消す */
}

/* SPでは縦にしたい場合（任意） */
@media (max-width: 768px){
  .main-top-btns{
    flex-direction: column;
  }
}

/* ===== 動画エリア ===== */
/* 動画：中央寄せ＋画面内に収める */
.video-wrap{
  width: 100%;
  max-width: 800px;   /* PCでの上限。好みで 800〜1000 くらい */
  margin: 16px auto 0;
}

.video-player{
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

/* SPは少し余白をつけて見やすく */
@media (max-width: 768px){
  .video-wrap{
    max-width: 100%;
    padding: 0 12px;
  }
}

/* ===== アンケートエリア ===== */
.survey-area{
  margin-top: 32px;
  text-align: center;
}

.survey-text{
  font-size: 2.05rem;
  font-weight: 700;
  margin-bottom: 16px;
}

/* ボタン中央寄せ */
.survey-btn-wrap{
  display: flex;
  justify-content: center;
}

/* ボタン本体 */
.survey-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 14px 32px;
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  background-color: #ff7a7a; /* 東京都系ブルー */
  border-radius: 9999px;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease;
}

/* hover */
.survey-btn:hover{
  background-color: #004f8c;
  transform: translateY(-2px);
}

/* SP微調整 */
@media (max-width: 768px){
  .survey-btn{
    width: 100%;
    max-width: 320px;
    justify-content: center;
  }
}
