@charset "UTF-8";

.area_img {
  width: 100%;
  padding-top: 20px;
  text-align: center;
  position: relative;
}

.area_img img {
  display: block;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.area_img .item_pre_registration {
  position: absolute;
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 880px) {
  .area_img {
    padding-bottom: 60px;
  }
  .area_img .item_pre_registration {
    bottom: 0;
  }
}

.list_area {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  margin-top: 25px;
}

.list_area .list_area_item a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 25px;
  border-radius: 5px;
  height: 100%;
  border: 5px solid #f2f2f2;
}
.list_area .list_area_item a p {
  margin-bottom: auto;
}
.list_area .list_area_item a .btn {
  margin-top: 15px;
  margin-right: 0;
  margin-bottom: 0;
}
.list_area .list_area_item:nth-child(1) {
  /* リンク無しタイプ 
  padding: 25px;
  border-radius: 5px;
  border: 5px solid #f2f2f2;*/
  color: var(--general);
  background-color: rgba(43, 65, 143, 0.1);
}
.list_area .list_area_item:nth-child(2) a {
  color: var(--ai);
  background: linear-gradient(43deg, #dae0fb 0%, #e5f2f7 55%, #fad9f2 100%);
}

.list_area .list_area_item:nth-child(3) a {
  color: var(--partners);
  background-color: rgba(183, 138, 0, 0.08);
}

.list_area .list_area_item:nth-child(4) a {
  color: var(--next);
  background-color: rgba(252, 232, 236, 0.3);
}

.list_area .list_area_item:nth-child(5) a {
  color: var(--global);
  background-color: rgba(96, 0, 213, 0.04);
}

.list_area .list_area_item:nth-child(6) a {
  color: var(--conf);
  background-color: #f8eeed;
}
.page_content .page_block .list_area .list_area_item h4 {
  margin-bottom: 5px;
  padding: 0;
  padding-left: 25px;
  line-height: 1.3;
  font-size: 20px;
  position: relative;
  background-color: transparent;
}

.list_area .list_area_item h4:before {
  content: "place";
  width: 20px;
  height: 20px;
  text-align: center;
  display: inline-block;
  line-height: 20px;
  position: absolute;
  left: 0;
  top: 0;
}

.list_area .list_area_item p {
  font-size: 14px;
}

@media screen and (max-width: 840px) {
  .list_area {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 640px) {
  .page_content .page_block .list_area .list_area_item h4 {
    font-size: 16px;
  }
  .list_area {
    grid-template-columns: 1fr;
  }
}

/* 外国語対応-------------------------------------------- */

.mBooth_langList {
  display: flex;
  gap: 3%;
  justify-content: flex-start;
  /* background: #dbedff; */
  padding: 10px;
  margin-bottom: 30px;
}

.mBooth_langList .flex {
  display: flex;
  align-items: center;
  font-weight: bold;
}

.mBooth_langList .flex dd {
  font-weight: bold;
  margin-left: 5px;
}

.mBooth_langList .flex dt img {
  max-width: 40px;
}

/* テーブル全体のスタイル */
.multilingual .tbstyle {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 5px;
  font-size: 1rem;
}

/* ヘッダー行のスタイル */
.multilingual .tbstyle thead th {
  background-color: #dbedff;
  padding: 10px;
  text-align: left;
  border-bottom: 2px solid #e4e4e4;
  border-right: 1px solid #ffffff;
  border-left: 1px solid #e4e4e4;
  font-size: 0.7rem;
  font-weight: bold;
  vertical-align: middle;
  /* width: 18%; */
}

.multilingual .tbstyle thead tr:nth-child(2n) {
  width: 15%;
}

/* データ行のスタイル */
.multilingual .tbstyle td,
.multilingual .tbstyle th {
  border-bottom: 1px solid #e4e4e4;
  /* border-right: 1px solid #e4e4e4; */
  padding: 10px;
  font-size: 0.8rem;
  text-align: left;
  vertical-align: middle;
  /* border-left: 1px solid #e4e4e4; */
}

.multilingual .tbstyle tbody tr:nth-child(odd) th,
.multilingual .tbstyle tbody tr:nth-child(odd) td {
  border-right: 2px solid #f2f2f2;
  border-left: 1px solid #e4e4e4;
}

.multilingual .tbstyle tbody tr:nth-child(even) {
  background-color: #f2f2f2;
  border-right: 2px solid #f2f2f2;
}

.multilingual .tbstyle tbody tr:nth-child(even) th,
.multilingual .tbstyle tbody tr:nth-child(even) td {
  border-right: 1px solid #ffffff;
  border-left: 1px solid #e4e4e4;
}

.multilingual .tbstyle tbody tr td:last-of-type {
  /* border-right: none; */
}

.multilingual .tbstyle th a {
  color: #3170a9;
}

/* Booth No.multilingual . 列のスタイル */
.multilingual .boothno {
  width: 10%;
  font-weight: bold;
}

/* Company Name 列のスタイル */
.multilingual .comname {
  width: 20%;
}

/* リンクのスタイル */
.multilingual .comname a {
  text-decoration: none;
  color: #007bff;
}

/* 言語アイコンのスタイル */
.multilingual .tbstyle img {
  width: 30px;
  margin-right: 5px;
}

.multilingual .tbstyle td img:last-of-type {
  margin-right: 0;
}

.multilingual tbody th {
  font-weight: bold;
}

.multilingual tbody td {
  text-align: center !important;
}

@media screen and (max-width: 850px) {
  .multilingual .tbstyle {
    min-width: 750px;
  }
}

@media screen and (max-width: 480px) {
  .mBooth_langList {
    gap: 1%;
    flex-wrap: wrap;
  }

  .mBooth_langList .flex {
    width: 49%;
    justify-content: flex-start;
  }

  .mBooth_langList .flex:last-child {
    margin-top: 5px;
  }
}

/* ex_event */

.ex_event .nav_anc ol {
  justify-content: center;
  align-items: center;
}
.ex_event .nav_anc ol li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 5px 28px 3px 12px;
  border: 1px solid #c2c7ef;
  background-color: #fff;
  border-radius: 100px;
  font-size: 1.15rem;
  position: relative;
  cursor: pointer;
}
.ex_event .nav_anc ol li:hover {
  border: 1px solid #c2c7ef;
  background-color: #ddd;
}
.ex_event .nav_anc ol li.active {
  border: 1px solid #000;
  background-color: #000;
  color: #fff;
}
.nav_anc li::after {
  content: "south";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-size: 14px;
}

.ex_event .page_block .page_block_title span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* background-color: black; */
  border-radius: 100px;
  color: #50248cff;
  font-size: 24px;
  width: 4em;
  height: 4em;
  border-bottom: 1px solid #000;
}

.ex_event .page_block ul .item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.ex_event .page_block {
  display: none;
}

.ex_event .page_block.show {
  display: block;
}

.ex_event .list_event {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

@media screen and (max-width: 640px) {
  .ex_event .list_event {
    grid-template-columns: 1fr;
  }
}

.ex_event .list_event .event_item {
  background-color: #fff;
  padding: 30px;
  padding-top: 60px;
  box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.3);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ex_event .list_event .event_item::after {
  font-family: "LINESeedJP", sans-serif;
  content: "イベント開催 出展者情報";
  display: block;
  color: #e4318c;
  position: absolute;
  top: 35px;
  left: 60px;
  font-weight: 700;
}
.en.ex_event .list_event .event_item::after {
  content: "Events Exhibitor Information";
}

.ex_event .list_event .event_item::before {
  content: "festival";
  position: absolute;
  top: 25px;
  left: 30px;
  color: #e4318c;
  font-size: 25px;
}
.ex_event .list_event .event_item h5.event_title {
  margin-top: 0.5em;
}

.ex_event .list_event .event_item figure.images_event {
  margin: 10px 0;
  padding: 0;
  line-height: 1;
  max-height: 250px;
  position: relative;
  overflow: hidden;
}
.ex_event .list_event .event_item figure.images_event img {
  height: 100%;
  object-fit: contain;
}

.ex_event .list_event .event_item h5.event_title::before,
.ex_event .list_event .event_item h5.event_title::after {
  background-color: #e4318c;
}
.ex_event .list_event .event_item .event_description {
  display: flex;
  flex-direction: column;
  margin-top: 0.5em;
  margin-bottom: auto;
}
.ex_event .list_event .event_item .event_description .time {
  margin-top: 0em;
  order: 2;
}
.ex_event .list_event .event_item .event_description .day {
  order: 1;
  display: flex;
  align-items: center;
}
.ex_event .list_event .event_item .event_description .day li {
  background-color: #e9e9e9;
  border-radius: 7px;
  padding: 2px 6px;
  margin-right: 5px;
}
.ex_event .list_event .event_item .event_description .description {
  order: 3;
  margin-top: 0.5em;
  font-size: 83%;
}
.ex_event .list_event .event_item .event_description .time,
.ex_event .list_event .event_item .event_description .day {
  position: relative;
  padding-left: 4em;
  font-size: 18px;
  min-height: 1em;
}
.ex_event .list_event .event_item .event_description .time::before,
.ex_event .list_event .event_item .event_description .day::before {
  font-family: "LINESeedJP", sans-serif;
  content: "開催時間";
  display: inline-block;
  position: absolute;
  top: 2px;
  left: 0px;
  font-size: 14px;
  font-weight: bold;
  font-weight: 700;
}
.ex_event .list_event .event_item .event_description .day::before {
  content: "開催日";
}
.en.ex_event .list_event .event_item .event_description .time::before,
.en.ex_event .list_event .event_item .event_description .day::before {
  content: "time";
}
.en.ex_event .list_event .event_item .event_description .day::before {
  content: "date";
}

.ex_event .list_event .event_item .event_exhibitor {
  margin-top: 5px;
}
.ex_event .list_event .event_item .event_booth {
  text-align: right;
  font-weight: 700;
  font-size: 83%;
  margin-top: 0.5em;
}
.ex_event .list_event .event_item .event_booth span {
  font-size: 125%;
  background-color: #000;
  color: #fff;
  padding-left: 5px;
  padding-right: 5px;
}
.ex_event .list_event .event_item .btn {
  margin-top: 1em;
}

/* CEATEC for Students-------------------------------------------- */
/* 共通 */

/* カウンターの初期化 */
body.for_students {
  counter-reset: column-counter;
}

.for_students .page_content .page_block h4 {
  margin: 30px 0;
  background-color: #6a75a1;
  color: #fff;
  margin-left: auto;
}

.for_students .list_dod li {
  list-style: none;
    text-indent: -1em;
    padding-left: 1.8em;
  margin-left: 0;
}

.for_students .list_dod li:not(:first-child) {
  margin-top: 15px;
}

.for_students .list_dod li .material-symbols-outlined {
  font-size: 1.5em;
  vertical-align: bottom;
  margin-right: 0.3em;
}

.hl {
  font-weight: 700;
  color: #e4318c;
  text-decoration: none;
  background-image: linear-gradient(180deg, transparent 60%, #fff59d 0%);
  background-size: 100% 1.2em;
  background-repeat: no-repeat;
  background-position: 0 70%;
  font-size: 1.65em;
  margin: 0 5px;
}

.for_students .page_block_title {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0;
  counter-increment: column-counter;
  color: #50248c;
  background: #fff;
  font-size: 40px;
  border-bottom: 3px solid;
  border-image: linear-gradient(90deg, #06289c 0%, #6151aa 20%, #7f5eaf 100%) 1;
  line-height: 1.7;
  border-radius: 0;
  margin: 1.3em 0 0.7em;
}

.for_students .column-number {
  position: absolute;
  left: 0;
  width: 110px;
  height: 56px;
  background: linear-gradient(90deg, #06289c 0%, #6151aa 60%, #7f5eaf 100%);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 8px 16px;
  color: #fff;
  font-weight: bold;
  font-size: 48px;
  z-index: 2;
  /* 四角形+三角形の形状を作成 */
  clip-path: polygon(0 0, 100px 0, 140px 50%, 100px 100%, 0 100%);
}

/* 三角形の疑似要素は不要になるため削除 */
.for_students .column-number::after {
  display: none;
}

/* テキスト部分の調整 */
.for_students .title-text {
  display: inline-block;
  font-weight: bold;
  padding-left: 150px;
}

/* カードリンク */
.card_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  transition: transform .3s;
}

.card:hover { 
  transform: translateY(-4px); 
}

.card > a, .card > object {
  display: flex;
  flex-direction: column;
  /* height: 100%; */
  text-decoration: none;
  color: inherit;
  padding: 24px;
}

.for_students .close{
  pointer-events: none;
  opacity: 0.3;
}

.card .ttl {
  font-weight: 700;
  margin-bottom: 8px;
  font-size: 1.2em;
}

.card p { 
  flex: 1 1 auto;  
}

.text_small {
  font-size: .8em;
}

.text_sub {
  font-size: .7em;
}

.for_students .sp_only {
  display: none;
}

.for_students .col2 figure {
  width: 24%;
}


/* ======= inner_nav 共通レイアウト ======= */
.inner_nav ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3列×2段 */
  gap: 10px 10px;
  list-style: none;
  padding: 0;
  margin: 2em 0 3em;
}

/* ======= カードリンク（画像） ======= */
.inner_nav .card_link a {
  display: block;
  height: 100%;
  border-radius: 20px;
  font-weight: 700;
  text-decoration: none;
  /*color: #fff;*/
  background: var(--bg) center / cover no-repeat;
  position: relative;
  overflow: hidden;
  transition: transform .3s;
  border: 7px solid #e0e0e0;
}
.inner_nav .card_link a:hover { 
  transform: translateY(-4px); 
}

/* ======= テキストリンク =======
.nav_link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    padding: 20px 40px;
    position: relative;
    transition: all 400ms ease;
    font-weight: 700;
    border-bottom: 1px solid #0c1a49;
}

.nav_link::after {
    font-family: 'Material Icons Round';
    content: "arrow_right_alt";
    display: inline-flex;
    vertical-align: middle;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size: 16px;
    transition: all 400ms ease;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
} */

/* ======= ダウンロードボタン ======= */
.for_students .c_btn{
  display:block;
  width:100%;
  max-width:500px;
  margin-left:auto;
  margin-right:auto;
  margin-top: 20px;
  padding:30px 20px;
  font-weight:700;
  position:relative;
  text-align:center;
  text-decoration:none;
  color:#0c1a49;
  border:1px solid #0c1a49;
  background-color:transparent;
  transition:all 400ms ease;
  box-shadow:none;
}

.for_students .c_btn::after {
  font-family: 'Material Icons Round';
  content: "arrow_right_alt";
  display: inline-flex;
  vertical-align: middle;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-size: 16px;
  transition: all 400ms ease;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
}

.c_btn.download_btn:before {
  font-family: 'Material Icons Round';
  color: inherit;
  content: '\e2c4';
  display: inline-flex;
  vertical-align: middle;
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-size: 16px;
  transition: all 400ms ease;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
}

.for_students .c_btn.download_btn::after {
  display: none;
}

/* ダウンロード不可（COMING SOON / CLOSE） */
#sec01_howto .download_btn {
  display: flex;
  justify-content: space-between;
  padding-right: 20px;
  text-decoration: none;
  border: 2px solid #3b4469;
  border-radius: 10px;
}
/* 
#sec01_howto .download_btn.close, .for_students .c_btn.students_btn {
    pointer-events: none;
    opacity: 0.3;
} */

/* #sec01_howto */

#sec01_howto.page_block .col2 {
  display: flex;
  padding: 0px 3%;
  justify-content: space-between;
}

#sec01_howto.page_block .col2 p {
  width: 67%;
  padding: 1% 0;
}

.for_students .before_visit_area,
.for_students .on_day_area {
  padding: 0px 3%;
}

/* #sec01_howto.page_block .col2 figure {
  width: 40%;
  padding: 0 7%;
} */

.for_students #sec01_howto .c_btn span {
  display: block;
  font-size: .8rem;
}

.for_students #sec01_howto .c_btn span.main-text {
  font-size: 1.2rem;

}

.for_students .c_btn.students_btn {
  margin-bottom: 30px;
  max-width: 600px;
  padding: 0;
  border: none;
}

#sec01_howto .download_btn {
  display: flex;
  justify-content: space-between;
}

.download_btn .btn-content {
  text-align: left;
  padding-left: 7%;
  font-weight: bold;
}

.download_btn .btn-icon {
  margin: 0;
  line-height: 0;
}

.for_students .c_btn.download_btn figure {
  width: 30%;
}

.for_students #sec01_howto .check_list {
  display: flex;
  gap: 25px;
  justify-content: center;
  margin: 20px 0px 30px;
  flex-wrap: wrap;
}

.for_students #sec01_howto .check_list li {
  width: 22%;
  text-align: center;
}

.for_students #sec01_howto .check_list p {
  font-size: 1.1rem;
}

.for_students .pic_list{
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  margin: 20px 0 0;
}

.for_students .pic_list li{
  width: 25%;
}



/* おすすめのセッション */
.for_students .page_content h5 {
  font-size: 23px;
  padding-bottom: 3px;
}

.recommend_area {
  background: #fffad9;
  padding: 3%;
  margin-top: 20px;
}


.for_students .link_text {
  color: #000;
}

.for_students .link_text::after {
  display: none;
}

.for_students .recommend_area .link_title .star {
  font-size: 42px;
}

.for_students .material-icons-outlined {
  font-size: 1.5em;
  margin-bottom: 4px;
  vertical-align: middle;
  margin-right: .3em;
}


/* 見出しは横幅いっぱい */
.for_students .page_content .page_block .recommend_area h4 {
  width: 100%;
  margin: 0 0 20px;
  font-weight: 700;
  color: #e7b200;
  background: unset;
  padding: unset;
  font-size: 34px;
  line-height: 1;
}

.recommend_area .c_btn.link_btn {
  background: #e7b200;
  padding: 20px 30px 20px 20px;
  border: none;
  color: #fff;
  font-size: 1rem;
}

/* セッション帯：場所 & 時間 */
.session_meta{
  display:flex;
  align-items:center;
  font-size:.9rem;
  width: 45%;
}

.session_meta .place {
  flex: 1 1 auto;
  background: #0f1a4a;
  color: #fff;
  padding: 12px 12px;
  font-weight: 700;
  min-width: 0;
  text-align: center;
}

.session_meta .date {
  flex: 0 0 auto;
  background: #ffeb03;
  color: #000;
  padding: 12px 12px;
  font-weight: 700;
  white-space: nowrap;
}

.link_text .name{
  font-weight:700;
  font-size:1.1rem;
}

.link_text span {
  display: block;
}

.session_header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
}



/* 左：h5 */
.session_title{
  display: inline-block;
  margin:0;
  padding:5px 12px;
  background: #ead929;
  color:#fff;
  font-size:1.5em;
  width: 55%;
  font-weight: bold;
}

.for_students .page_content h5::after{
  display: none;
}

.session_body {
  display: flex;
  gap: 30px;
  margin-bottom: 30px;
}

.main_img{
  width: 55%;
  margin:0;

}
.main_img img{
  width:100%; 
  height:auto; 
  display:block; 
}

/* スピーカー */
.speaker_list{ 
  flex:1 1 0; 
  display:flex; 
  flex-direction:column; 
  gap:20px; 
}

.speaker{ 
  display:flex; 
  justify-content:space-between; 
  align-items:flex-start; 
  gap:16px; 
}

.speaker .link_text{ 
  flex:1 1 0; 
  margin:0; 
}

.speaker_img{ 
  flex:0 0 120px;
  margin:0; 
}
.speaker_img img{ 
  width:100%; 
  height:auto; 
  display:block; 
}

@media (max-width:1050px) {

  .session_title {
    width: 100%;
    padding: 12px 12px;
  }

  .session_meta {
    width: 100%;
  }

.session_header {
  display: block;
  text-align: center;
}

.session_meta .date {
  width: 50%;

}

.session_meta .place {
  width: 60%;
  text-align: center;
}

.main_img {
  width: 50%;
}

}



/* #sec02_howto */
.for_students #sec02_howto .composition{
  display:flex;
  gap:30px;
  align-items:flex-start;
  justify-content: space-between;
  padding: 0px 3%;
}

.for_students #sec02_howto .composition p{
  flex:1 1 0;
  margin:0;
}

.for_students #sec02_howto .composition_img{
  flex: 0 0 20%;
  margin:0;
}

.for_students #sec02_howto .composition_img img{
  width:100%;
  height:auto;
  display:block;
}


/* #sec03_howto */

.for_students #sec03_howto .col2 {
  display: flex;
  padding: 0px 3%;
  justify-content: space-between;
  gap: 30px;
}

.for_students #sec03_howto .text_area {
  flex: 1 1 0;
  margin: 0;
}

.for_students #sec03_howto .col2 figure {
  flex: 0 0 30%;
  margin:0;
}

.for_students #sec03_howto .col2 figure img{
  width:100%;
  height:auto;
  display:block;
}

/* #sec04_howto */
.for_students #sec04_howto .c_btn {
  width: 100%;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  padding: 10px 30px 10px 20px;
  background: #fff;
  border: 1px solid #e0e0e0;
  color: #333;
  font-size: 1em;
}


li.card .text12 {
  padding: 0 22px;
  border-radius: 15px;
}

li.card.color_next {
  color: #e46c88;
  border: 1px solid #e46c88;
  background-color: rgb(250, 235, 239);
}

li.card.color_next .text12 {
  color: #fff;
  background: #e46c88;
}

li.coler_partners{
  color: #f9b700;
  border: 1px solid #f9b700;
  background-color: rgb(250, 249, 235);
  padding: 24px;
}

li.coler_partners .text12{
  color: #fff;
  background: #f9b700;
}

li.coler_ex{
  color: #303030;
  background-color: rgb(232 231 231 / 30%);
}

li.coler_ex .text12{
  color: #fff;
  background: #303030;
}

/* #sec05_howto */
#sec05_howto .col2{
  display:flex;
  gap:0;
  align-items:flex-start;
  justify-content: space-between;
  padding: 0px 3%;
}

#sec05_howto .col2 .list_dod {
  width: 67%
}

.for_students .inner_content{
  padding: 10px 3%;
}

.for_students .inner_content2 {
  padding: 10px 3% 0 3%;
}

.for_students .num_list li:before {
  background: #7f5eaf;
}

.for_students .btn{
  background: linear-gradient(90deg, #06289c 0%, #6151aa 60%, #7f5eaf 100%);
}

.for_students .inner_section{
  margin-top: 1.2em;
}

/* #sec06_howto */
#sec06_howto .col2{
  display:flex;
  gap:30px;
  align-items:flex-start;
  justify-content: space-between;
  padding: 0px 3%;
}

#sec06_howto .col2 p{
  width: 64%
}


/* 見出しアイコン共通スタイル */
.for_students .page_content .page_block h4.before_visit,
.for_students .page_content .page_block h4.on_day,
.for_students .page_content .page_block h4.school,
.for_students .page_content .page_block h4.apply {
  position: relative;
  padding-left: 4.5%; /* アイコン分のスペース */
  margin-left: 60px;
}

.for_students .page_content .page_block h4.before_visit::before,
.for_students .page_content .page_block h4.on_day::before,
.for_students .page_content .page_block h4.school::before,
.for_students .page_content .page_block h4.apply::before {
  content: "";
  position: absolute;
  left: -60px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}

/* 来場前の虫眼鏡アイコン */
.for_students .page_content .page_block h4.before_visit::before {
  background-image: url('../../ja/exhibition/images/how_to_walk/search_icon.webp');
  width: 100px;
  height: 100px;
}

/* 当日・来場後のカレンダーアイコン */
.for_students .page_content .page_block h4.on_day::before {
  background-image: url('../../ja/exhibition/images/how_to_walk/walk_icon.webp');
  width: 100px;
  height: 100px;
}

/* 学校団体見学の学校アイコン */
.for_students .page_content .page_block h4.school::before {
  background-image: url('../../ja/exhibition/images/how_to_walk/school_icon.webp');
  width: 100px;
  height: 100px;
}

/* 申込方法/入場方法の申込アイコン */
.for_students .page_content .page_block h4.apply::before {
  background-image: url('../../ja/exhibition/images/how_to_walk/apply_icon.webp');
  width: 100px;
  height: 100px;
}



/* タブレット用 */
@media (max-width: 850px) {
  .for_students .column-number {
    width: 90px;
    height: 60px;
    font-size: 45px;
    clip-path: polygon(0 0, 95px 0, 130px 50%, 95px 100%, 0 100%);
    padding: 6px 20px;
    line-height: 1.5;
  }

  .for_students .page_block_title{
    font-size: 30px;
    line-height: 2.2;
  }

  .for_students .title-text {
    padding-left: 140px;
  }


  .for_students .page_content .page_block h4.before_visit, 
  .for_students .page_content .page_block h4.on_day,
  .for_students .page_content .page_block h4.school,
  .for_students .page_content .page_block h4.apply {
    padding-left: 50px;
  }

}

/* スマホ縦並び */
@media (max-width:640px){
  .for_students .page_block_title {
    font-size: 36px;
    line-height: 1.9;
}

#sec03_howto .page_block_title,
#sec04_howto .page_block_title {
  flex-direction: column;
  align-items: flex-start;
}

#sec03_howto .title-text,
#sec04_howto .title-text {
  padding-left: 0;
  margin-top: 70px;
  /* margin-left: -60px; */
  font-size: 32px;
}

.for_students #sec03_howto .col2 {
  display: block;
}

.for_students #sec03_howto .col2 figure {
  width: 100%;
  margin-top: 20px;
}

  .for_students .page_content .page_block .recommend_area h4 {
    font-size: 1.8em;
  }

  .session_meta {
    display: block;
    font-size: 1.2em;
  }

  .session_meta .date,
  .session_meta .place {
    width: 100%;
  }

  .session_body{ 
    flex-direction:column; 
  }
  .main_img{ 
    width:100%; 
    font-size: 1.2em;
  }
  .speaker_img{ 
    width:60%; 
  }

  .for_students .pic_list li{
    width: 50%;
  }

  .for_students #sec01_howto .check_list li {
    width: 44%;
  }

  #sec01_howto.page_block .col2 {
    display: block;
    padding: 0;
  }

  #sec01_howto.page_block .col2 p {
    width: 100%;
  }

  .for_students #sec02_howto .composition{
    flex-direction:column;
  }
  .for_students #sec02_howto .composition_img{
    flex:0 0 auto;
    width: 40%;
    margin: 0 auto;
  }


  #sec05_howto .col2 {
    display: block;
  }


  .for_students .col2 figure {
    width: 50%;
    margin: 20px auto;
  }


  #sec05_howto .col2 .list_dod {
    width: 100%;
  }

  #sec05_howto .inner_content .btn {
    width: 100%;
    max-width: none;
    text-align: center;
    padding: 8px 15px 8px 15px;
  }


  #sec06_howto .col2 {
    display: block;
  }

  #sec06_howto .col2 p {
    width: 100%;
  }

}

/* スマホ用 */
@media (max-width: 480px) {
  .for_students .sp_only {
    display: block;
  }

  .inner_nav ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 0px 5px;
  }

  .inner_nav .card_link a {
    border: 3px solid #e0e0e0;
  }

  #sec03_howto .page_block_title,
  #sec04_howto .page_block_title {
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.5;
  }

  #sec03_howto .title-text, #sec04_howto .title-text {
    margin: 10px 0;
    margin-left: 0;
    font-size: 24px;
  }

  /* .for_students .page_block_title .column-number,
  .for_students .page_block_title .title-text {
    display: block;
  } */

  .for_students .page_block_title {
    font-size: 27px;
    padding: 0;
    margin: 1em  0 0.6em;
    border-bottom: 2px solid;
    line-height: 1;
  }

  .for_students .page_content .page_block h4 {
    margin: 20px 0;
  }

  .for_students .column-number {
    position: relative;
    width: 60px;
    height: 40px;
    font-size: 30px;
    padding: 6px 12px;
    clip-path: polygon(0 0, 60px 0, 80px 50%, 60px 100%, 0 100%);
  }

  .for_students .title-text {
    padding-left: 5px;
  }

  .for_students .c_btn {
    padding: 10px 20px 10px 10px;
  }

  .for_students #sec01_howto .check_list {
    gap: 0;
  }

  .for_students .page_content .page_block h4.before_visit::before,
  .for_students .page_content .page_block h4.on_day::before,
  .for_students .page_content .page_block h4.school::before,
  .for_students .page_content .page_block h4.apply::before {
    width: 73px;
    height: 73px;
  }

  .for_students .page_content .page_block h4.before_visit, 
  .for_students .page_content .page_block h4.on_day,
  .for_students .page_content .page_block h4.school,
  .for_students .page_content .page_block h4.apply {
    padding-left: 20px;
  }

  .for_students .on_day_area .c_btn::after{
    font-size:0;
  }

  .for_students .before_visit_txt {
    text-indent: -0.7em;
    padding-left: 1em;
    margin-left: 0;
  }

  .for_students #sec01_howto .check_list p {
    font-size: .9rem;
  }


  .for_students .page_content .page_block .recommend_area h4 {
    font-size: 1.7rem;
  }

  .session_meta {
    display: block;
    text-align: center;
  }

  .session_meta .date,
  .session_meta .place {
    width: 100%;
    text-align: center;
  }

  .hl {
    font-size: 1.3em;
  }

  .card_list {
    display: block;
  }

  .card_list li {
    margin-bottom: 10px;
  }

  .card_list li:nth-child(5),
  .card_list li:nth-child(6) {
    margin-bottom: 0;
  }

  .for_students .page_block {
    padding: 0;
  }

  .speaker {
    flex-direction: row;
  }

  .download_btn .btn-content {
    padding-left: 12%;
  }

  .for_students #sec01_howto .c_btn span.main-text {
    font-size: 1.5rem;
  }

  .for_students #sec01_howto .c_btn span {
    font-size: 1rem;
  }

  .for_students #sec01_howto .check_list {
    margin: 20px 0px 0px;
  }

  .for_students #sec01_howto .check_list li {
    width: 64%;
    padding-bottom: 20px;
  }

  .for_students .list_dod li {
    text-indent: none;
    margin-left: 0px;
  }

}