@charset "utf-8";
@import url("common_setting.css");/*共通の項目の読み込み（:root・アニメーションなど）*/

/* ---------- COMMON ---------- */
html { color: var(--cl-bk); font-size: 62.5%; font-feature-settings: "palt"; scroll-behavior: smooth; }
@media screen and (max-width: 801px) { html { font-size: calc(100vw / 800 * 10); } }
@media screen and (max-width: 401px) { html { font-size: calc(100vw / 400 * 10); } }
html[lang="ja"] { font-family: var(--font-ja); font-display: swap; font-weight: 500; }
htm[lang="en"] { font-family: var(--font-en); font-display: swap; }
@media screen and (min-width: 801px), print { 
  body { min-width: 1400px; } 
  .sp { display: none; }
}
@media screen and (max-width: 801px) {
  .pc { display: none; }
}
/* scrollbar */
body::-webkit-scrollbar { width: 10px; height: 6px; }
body::-webkit-scrollbar-track { background-color: rgba(255, 255, 255, 1); }
body::-webkit-scrollbar-thumb { background-color: #ccc; width: 10px; height: 6px; }

ul { list-style-type: none; margin-block-start: initial; margin-block-end: initial; padding-inline-start: initial; }
ol { margin-block-start: initial; margin-block-end: initial; padding-inline-start: 0; }
small { font-size: 60%; }
address { font-style: normal; }

/*:focus時にデフォルトで表示されるアウトラインを消す*/
*:focus { border: none; outline: none; }
a[data-id] { cursor: pointer; }
a[href=""], a[href=""]:has(img) { pointer-events: none; }
a { color: var(--cl-bk); text-decoration: none; }
p > a { color: var(--cl-bk); text-decoration: underline; }
@media (hover:hover) {
  /*画像を持っているリンクの:hover時の動き*/
  a:has(img) > img { transition: opacity linear 0.3s; }
  a:has(img):hover > img { opacity: 0.5; }
  p > a:hover { text-decoration: none; }/*本文中のインラインリンク*/
}
a:has(img):focus-within > img { opacity: 0.5; }
p > a:focus-within { text-decoration: none; }
@media screen and (min-width: 801px), print {
  a[href^="tel:"] { text-decoration: none; color: var(--cl-bk); pointer-events: none; }
}
@media screen and (max-width: 801px) {
  a[href^="tel:"] { color: var(--ac); }
}

/* ---------- HEADER ---------- */
header#header { background-color: transparent; display: -webkit-box; display: -ms-flexbox; display: flex; /*-ms-flex-wrap: wrap; flex-wrap: wrap;*/ -webkit-box-align: center; -ms-flex-align: center; align-items: center; position: absolute; top: 0; width: 100%; z-index: var(--z-front-m); transition: background ease 0.3s; }
header#header.sticky { position: sticky; position: -webkit-sticky; background-color: #fff; }
#page header#header { background-color: #fff; box-shadow: 0 0 15px rgba(0, 0, 0, 0.3); }
body.clip { overflow: hidden; }
@media screen and (min-width: 801px), print {
  header#header { padding: 27px 48px 15px; min-width: 1400px; }
  #logo { display: block; width: 57px; height: 55px; }
}
@media screen and (max-width: 801px) {
  header#header { padding: 0 4%; height: 85px; }
  #logo { display: block; width: min(6vw, 48px); height: min(6vw, 48px); }
}
/*languages*/
#languages { border: 1px solid #ccc; color: #ccc; font-size: 1.2rem; padding: 6px; margin-left: 16px; }
@media screen and (max-width: 801px) {
  #languages { display: none; }
  #header.open #languages { display: block; }
}
ul.bogo-language-switcher li { list-style: none outside none; cursor: pointer; }
ul.bogo-language-switcher .current { display: none; }
.bogoflags, .bogoflags-before::before { display: inline-block; width: 16px; height: 11px; background-image: none; background-color: transparent; border: none; padding: 0; margin: 0; vertical-align: top; }
.bogoflags-us::before { content: url("../img/common/us.png"); }
.bogoflags-jp::before { content: url("../img/common/jp.png"); }

/* ---------- HEADER: NAVIGATION ---------- */
nav#gnav { color: var(--cl-bk); text-decoration: none; }
a.startup { background-color: #ebaf47; color: #fff; }
a.foodtech { background-color: #95bc4c; color: #fff; }
a.keihanna { background-color: #ff8d8e; color: #fff; }
a.booth-tour { background-color: #3966eb; color: #fff; }

a.btn--only { display: inline-block; border: 1px solid var(--cl-bk); border-radius: 16px; font-size: 14px; padding: 6px 18px; transition: background linear 0.3s; margin: 6px; }
a.btn--only.current { background-color: var(--cl-bk); color: #fff; }
a.btn--youtube { display: block; width: 113px; height: 23px; }
@media (hover:hover) {
  a.btn--only:hover { background-color: var(--cl-bk); color: #fff; }
  a.startup:hover { background-color: #f0e122; color: var(--cl-bk); }
  a.foodtech:hover { background-color: #029e96; }
  a.keihanna:hover { background-color: #ff8d8e; }
}
a.startup:focus-within { background-color: #f0e122; color: var(--cl-bk); }
a.foodtech:focus-within { background-color: #029e96; }
a.btn--only[href=""], a.btn--only[href=""]:focus-within { opacity: 0.3; }/*リンクが空の時*/

ul.gnavs li a, ul.gnavs li > span { display: block; padding: 6px 15px 6px 22px; cursor: pointer;}/*子要素も共通*/
ul.gnavs li.gnav__item:has(ul.gnav__childs) > a::after,
ul.gnavs li.gnav__item:has(ul.gnav__childs) > span::after { content: ''; display: inline-block; background: url(../img/common/icon_arrow.svg) center right no-repeat; background-size: 16px 16px; vertical-align: middle; width: 17px; height: 17px; margin-left: 4px; }/*サブナビを持ってるときアイコン表示*/
ul.gnavs li.gnav__item a[href=""], ul.gnavs li span.no-link { opacity: 0.3; pointer-events: none; }/*リンクが空の時*/

@media screen and (min-width: 801px), print {
  button.gnav__btn, ul.gnavs li.gnav__item.contact { display: none; }/* PC hide */
  
  nav#gnav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 1.5rem; font-weight: 700; line-height: 1.5rem; margin-inline-start: auto; }
  ul.gnavs { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  ul.gnavs li { position: relative; }
  ul.gnavs > li:not(:nth-last-child(2))::before { content: ''; display: block; height: 80%; width: 1px; background-color: var(--cl-bk); transform: rotate(25deg) translateY(-50%); position: absolute; right: 0; top: 50%; }/*slash*/

  /*hover*/
  ul.gnavs li.gnav__item::after { content: ''; display: block; width: 0%; height: 1px; background-color: var(--cl-bk); transition: all linear 0.2s; margin: 4px auto 0; }
  ul.gnavs li.gnav__item.current::after { width: 80%; }
  @media (hover:hover) {
    ul.gnavs li.gnav__item:hover::after { width: 80%; }
    ul.gnavs li.gnav__item:has(a[href=""]):hover::after { width: 0%; }/*リンクが空の時*/
  }
  ul.gnavs li.gnav__item:focus-within::after { width: 80%; }
  ul.gnavs li.gnav__item:has(a[href=""]):focus-within::after { width: 0%; }/*リンクが空の時*/
  
  /*240903 PCでイベント非表示*/
  ul.gnavs > li.gnav__item:nth-child(4) { display: none; }
  
  /* navigation child */
  ul.gnav__childs { background-color: rgba(0, 0, 0, 0.8);  width: 240px; padding: 10px; position: absolute; top: 56px; left: 0; transition: all ease 0.3s; z-index: -1; visibility: hidden; opacity: 0; }
  ul.gnav__childs::before { content: ''; display: block; width: 0; height: 0; border-top: 12px solid transparent; border-right: 12px solid transparent; border-bottom: 12px solid rgba(0, 0, 0, 0.8); border-left: 12px solid transparent; position: absolute; top: -24px; left: 20%; }
  ul.gnavs li.gnav__item:has(ul.gnav__childs):hover ul.gnav__childs,
  ul.gnavs li.gnav__item:has(ul.gnav__childs):focus-within ul.gnav__childs { visibility: visible; opacity: 1; }
  ul.gnavs li.gnav__item:has(span.no-link):hover ul.gnav__childs { transform: translateY(-100px); visibility: hidden; opacity: 0; }
}
@media screen and (max-width: 801px) {
  /* button */
  button.gnav__btn { background: none; border: none; outline: none; margin-left: auto; width: min(6vw, 48px); height: min(6vw, 48px); cursor: pointer; position: relative; }
  button.gnav__btn > span { display: block; width: 100%; height: 2px; background-color: var(--cl-bk); position: absolute; left: 0; transition: all ease-in-out 0.2s; }
  button.gnav__btn > span:first-child { top: 20%; }
  button.gnav__btn > span:nth-child(2) { top: 50%; transfor: translateY(-50%); }
  button.gnav__btn > span:nth-child(3) { top: 80%; }
  /* open */
  header#header.open { background-color: #fff; }
  header#header.open button.gnav__btn > span:first-child { top: 50%; transform: rotate(45deg); }
  header#header.open button.gnav__btn > span:nth-child(2) { top: 50%; transform: translateY(-50%) translateX(100%); opacity: 0; }
  header#header.open button.gnav__btn > span:nth-child(3) { top: 50%; transform: rotate(-45deg);}
  
  nav#gnav { background-color: #fff; border-top: 1px solid #c6c7c8; width: 100%; height: 100vh; position: fixed; top: 85px; left: 0; right: 0; transform: translateX(100%); transition: all ease-in-out 0.3s; visibility: hidden; opacity: 0; }
  header#header.open nav#gnav { height: calc(100% - 85px); transform: translateX(0%); overflow-y: auto; visibility: visible; opacity: 1; }
  /* scrollbar */
  header#header.open nav#gnav::-webkit-scrollbar { width: 6px; }
  header#header.open nav#gnav::-webkit-scrollbar-track { background-color: rgba(255, 255, 255, 1); }
  header#header.open nav#gnav::-webkit-scrollbar-thumb { background-color: #eee; width: 6px; }
  header#header.open #logo { visibility: visible; }

  ul.gnavs { font-size: 2rem; margin-bottom: 5%; }
  ul.gnavs > li { border-bottom: 1px solid #c6c7c8; }
  ul.gnavs li.gnav__item.current > a { background: var(--gradation); color: #fff; }
  
  /*240903 PCでイベント非表示*/
  ul.gnavs > li.gnav__item:nth-child(4) > span { display: none; }
  
  .gnav__childs { border-top: 1px solid #c6c7c8 }
  .gnav__childs .gnav__child { margin: 2%; }
  
  nav#gnav a.btn--only { display: block; font-size: 1.8rem; text-align: center; border-radius: 32px; padding-left: 24px; padding-right: 24px; width: 90%; margin-inline: auto; }
}
@media screen and (max-width: 401px) {
  #logo,
  button.gnav__btn { width: 12vw; height: 12vw; }
}

ul.sns { display: flex; column-gap: 20px; align-items: center; }
a.btn--x { display: block; width: 20px; height: 20px; }
@media screen and (min-width: 801px), print {
  nav#gnav ul.sns { display: none; }
}
@media screen and (max-width: 801px) {
  nav#gnav ul.sns { margin: 16px auto 0; width: 90%; }
}

@media screen and (min-width: 801px), print {
  /* ---------- ASIDE: BOOKMARKER ---------- */
  .bookmarker {  display: block; width: 260px; position: fixed; right: 0; top: 100px; z-index: var(--z-front-m); }
  .bookmarkers {}
  /*.bookmark__item { transform: translateX(185px); transition: transform linear 0.2s; }*/
  .bookmark__item > a {}
  @media (hover:hover) {
    /*.bookmark__item:hover { transform: translateX(2px); opacity: 1; }*/
    .bookmark__item:hover img { opacity: 0.8; }
  }
  /*.bookmark__item:focus-within { transform: translateX(2px); opacity: 1; }*/
}
@media screen and (max-width: 801px) {
  .bookmarker { display: none; }/* SP hide */
}

/* ---------- CONTAINER ---------- */
body#page { background: linear-gradient(to right, rgba(255,255,255,1) 60%, rgba(204,204,204,0.3) 100%); }
body#page main#container { padding-top: min(35vw, 210px); padding-bottom: min(20vw, 120px); animation: opacityAnm forwards 0.5s; }
body#page.access main#container { padding-bottom: 0; }
@keyframes opacityAnm {
  from { opacity: 0; }
  to { opacity: 1; }
}

article.content p { font-size: 1.6rem; line-height: 1.7; }
article.content:not(:last-child) { margin-bottom: min(15vw, 80px); }
@media screen and (min-width: 801px), print {
  .inner { width: var(--width); margin-inline: auto; }
}
@media screen and (max-width: 801px) {
  .inner { max-width: var(--width); margin-inline: auto; padding-inline: 6.25%; }
}

/* ---------- FOOTER ---------- */
footer#footer { background-color: #f1f1f1; color: #202124; font-size: 1.6rem; line-height: 1.5; padding-top: 64px; padding-bottom: 64px; }
ul.footer__event__banners { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 40px; }
ul.footer__event__banners li { padding: 1%; }
@media screen and (min-width: 801px), print {
  ul.footer__event__banners > li { width: 33%; }
}
@media screen and (max-width: 801px) {
  ul.footer__event__banners > li { width: 50%; }
}
@media screen and (max-width: 401px) {
  ul.footer__event__banners > li { width: 100%; }
}

dl.footer__details { margin-bottom: 2rem; }
dl.footer__details div:not(:last-child) { margin-bottom: 2rem; }
dl.footer__details dt { font-size: 1.7rem; font-weight: 700; text-align: center; margin-bottom: 8px; }
dl.footer__details dd { font-size: 1.4rem; }

ul.footer__btns { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-size: 1.4rem; margin-bottom: 2rem; }
ul.footer__btns li { border: 1px solid var(--cl-bk); margin: 0.5%; }
ul.footer__btns li a { display: block; color: var(--cl-bk); padding: 6px 12px; }
@media (hover:hover) {
  ul.footer__btns li { transition: all linear 0.2s; }
  ul.footer__btns li:hover { background-color: var(--cl-bk); color: #fff; }
  ul.footer__btns li:hover a { color: #fff; }
  /*空リンクの時*/
  ul.footer__btns li:has(a[href=""]):hover, ul.footer__btns li:has(a[href=""]):hover a { color: var(--cl-bk); }
  ul.footer__btns li:has(a[href=""]):hover { background-color: transparent;  }
}
ul.footer__btns li:focus-within { background-color: var(--cl-bk); color: #fff; }
ul.footer__btns li:focus-within a { color: #fff; }
/*空リンクの時*/
ul.footer__btns li:has(a[href=""]):focus-within, ul.footer__btns li:has(a[href=""]):focus-within a { color: var(--cl-bk); pointer-events: none; }
ul.footer__btns li:has(a[href=""]):focus-within { background-color: transparent; }

footer#footer address { font-style: normal; text-align: center; }
footer#footer address strong { display: block; }

small.copyright { display: block; font-size: 1.3rem; text-align: center; margin-top: 4rem;}

/* ---------- PARTS ---------- */
.notes { font-size: 1.3rem!important; text-indent: -1rem; padding-left: 2rem; }
.notes::before { content: ''; display: inline-block; vertical-align: baseline; margin-right: 6px; }
html:lang(ja) .notes::before { content: '※'; }
html:lang(en) .notes::before { content: '*'; }

.ttl > small { display: block; font-size: min(1.6rem, 2.2rem); font-weight: normal; margin-top: min(1vw, 2rem); }
.ttl small::before,
.ttl small::after { content: ''; display: inline-block; vertical-align: text-bottom; }
.ttl small::before { content: '['; margin-right: 6px; }
.ttl small::after { content: ']'; margin-left: 6px; }

.ttl--br { border-bottom: 1px solid var(--cl-bk); font-size: 3rem; font-weight: 500; letter-spacing: 0.4rem; line-height: 3rem; padding-bottom: 2.4rem; margin-bottom: 2.4rem; }
.ttl--square { font-size: 2.2rem; margin-bottom: 2.4rem; }
.ttl--square::before { content: '■'; display: inline-block; margin-right: 6px; vertical-align: text-bottom; }
.ttl--obi { color: #fff; font-size: 2.4rem; text-align: center; letter-spacing: 0.2rem; background: var(--gradation-ksce); padding: 12px; margin-bottom: 3.2rem; }
.ttl--normal { font-size: 2.6rem; margin-bottom: 2.6rem; }

ul.btns--reserved li { background-color: transparent; border: 2px solid #fff; border-radius: 48px; font-size: min(5vw, 2.6rem); letter-spacing: 0.3rem; line-height: min(5vw, 2.6rem); text-align: center;  }
ul.btns--reserved li a { display: block; color: #fff; padding: 4% 6%; }
ul.btns--reserved li:has(a[href=""]) { background-color: #ccc; pointer-events: none; }/*空リンクの時*/
ul.btns--reserved li small { font-size: 70%; letter-spacing: 0; display: inline-block; vertical-align: text-bottom; margin-left: 6px; }
ul.btns--reserved li.btn--exhibition { background-color: #0000c4; }
ul.btns--reserved li.btn--sponsorship { background-color: #b400ff; }
ul.btns--reserved li.btn--sponsorship--food { background-color: #8cc11f; }
ul.btns--reserved li.btn--exhibition--food { background-color: #00903a; }
ul.btns--reserved li.btn--starup { background-color: #eea33b; }
/*240822追加 来場事前登録ボタン */
ul.btns--reserved li.btn--reserve { background-color: #0000c4; }
ul.btns--reserved li.btn--reserve span::before { content: ''; display: inline-block; vertical-align: middle; width: 64px; height: 51px; background: url("../img/common/icon_reserved.svg") center center no-repeat; background-size: contain; margin-right: 16px; }

@media screen and (min-width: 801px), print { 
  ul.btns--reserved { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 4%; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: relative; margin-bottom: -11px; z-index: 9; }
  ul.btns--reserved li { min-width: 477px; }
}
@media screen and (max-width: 801px) {
  ul.btns--reserved { padding-inline: 4%; }
  ul.btns--reserved li:not(:last-child) { margin-bottom: 2%; }
  #kv ul.btns--reserved { order: 4; width: 100%; }
  ul.btns--reserved li.btn--reserve span::before { width: 44px; height: 32px; }
}
@media (hover:hover) {
  ul.btns--reserved li { transition: all ease 0.3s; }
  ul.btns--reserved li:hover { background-color: var(--cl-bk); color: #fff; }
}
ul.btns--reserved li:focus-within { background-color: var(--cl-bk); color: #fff; }

a.btn--reserved { display: inline-block; background-image: var(--gradation-ksce); background-size: 200% 200%; background-position: 0% 0%; border: 1px solid #aeaeae; border-radius: 32px; color: #fff; font-size: 2.6rem; letter-spacing: 0.2rem; line-height: 1.2;  padding: 6px min(6vw, 58px) 8px; }
a.btn--reserved > small { display: inline-block; margin-left: 6px; margin-top: 6px; }
/* foodtech */
.foodtech .ttl--obi { background-image: var(--gradation-foodteth); }
.foodtech a.btn--reserved { background-image: var(--gradation-foodteth); }
a.btn--reserved[href=""],
.foodtech a.btn--reserved[href=""] { background-image: none; background-color: #ccc; pointer-events: none; }/*リンクが空だったら*/
@media (hover:hover) {
  a.btn--reserved { transition: background ease 0.3s; }
  a.btn--reserved:hover { background-position: 100% 100%; }
}
a.btn--reserved:focus-within { background-position: 100% 100%; }

/* text */
.txt--center { text-align: center; }
.txt--right { text-align: right; }
.txt--left { text-align: left; }

.text { display: inline; }

.fsA { font-size: 1.8rem; line-height: 1.7; }
.fsB { font-size: 1.8rem; line-height: 2; }
.fsC { font-size: 1.6rem; line-height: 1.7; }
.yen { color: #e95656; font-size: 3rem; padding: 0 0.5%; }

/* list */
dl.dl--style01 {}
dl.dl--style01 > div:not(:last-child) { margin-bottom: 60px; }
dl.dl--style01 dt, dl.dl--style01 dd {}
dl.dl--style01 dt { background-color: #717071; color: #fff; font-size: 1.5rem; text-align: center; padding: 10px; }
dl.dl--style01 dd { font-size: 1.7rem; }
@media screen and (min-width: 801px), print {
  dl.dl--style01 > div { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; gap: 2%; }
  dl.dl--style01 dt { width: 13%; }
  dl.dl--style01 dd { width: 85%; }
}
@media screen and (max-width: 801px) {
  dl.dl--style01 dt { margin-bottom: 10px; }
}

dl.dl--style02 { font-size: 1.6rem; }
dl.dl--style02 div:not(:last-child) { margin-bottom: 24px; }
dl.dl--style02 dt { display: inline-block; background-color: #333; color: #fff; padding: 6px 12px; margin: 0.5%; }
dl.dl--style02 dd { margin: 0.5%; }

ul.list--disc { list-style-type: disc; margin-left: 2rem; }
ul.list--disc li {}

.list--square {}
.list--square li::before { content: '■'; display: inline-block; color: #f5b32c; text-indent: -1.7rem; }
.list--square li { margin-left: 1.7rem; }
.list--square li:not(:last-child) { margin-bottom: 8px; }

/* gridbox */
@media screen and (min-width: 801px), print {
  .gridbox { display: grid; display: -ms-grid; }
  .gridbox.col2 { grid-template-columns: repeat(2, 48%); -ms-grid-columns: repeat(2, 48%); column-gap: 4%; }
  .gridbox.col2 .grid__item, .gridbox.col2 li { margin-bottom: 4%; }
  .gridbox.col3 { grid-template-columns: repeat(3, 32%); -ms-grid-columns: repeat(3, 32%); column-gap: 2%; }
  .gridbox.col3 .grid__item, .gridbox.col3 li { margin-bottom: 2%; }
  .gridbox.col4 { grid-template-columns: repeat(4, 23%); -ms-grid-columns: repeat(3, 32%); column-gap: 2%; }
  .gridbox.col4 .grid__item, .gridbox.col4 li { margin-bottom: 2%; }
  .grid__item {}
}
@media screen and (max-width: 801px) {
  .grid__item:not(:last-child) { margin-bottom: 6%; }
}

/* margin */
.mgbA { margin-bottom: 16px; }
.mgbB { margin-bottom: min(3vw, 32px); }
.mgbC { margin-bottom: min(5vw, 48px); }
.mgbD { margin-bottom: min(7vw, 64px); }

/* color */
.cl--red { color: red; }
.cl--bk { color: var(--cl-bk); }

figure figcaption { font-size: 1.4rem; text-align: right; color: #ccc; padding: 0.5%; }

/*～のお申し込みはこちら*/
.reserved__box { text-align: center; margin-top: 40px; }
.reserved__box > h3 { font-size: 2rem; background: url("../img/common/icon_arrow.svg") bottom center no-repeat; background-size: 24px 24px; margin-bottom: 2.4rem; padding-bottom: 40px; }

/* ---------- SLICK ---------- */
.slick-dots { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 1.5%; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: 32px; }
.slick-dots > li > button { display: block; background-color: rgba(0, 0, 0, 1); opacity: 0.3; border: 0; outline: 0; border-radius: 50%; height: 10px; width: 10px; text-indent: -999px; overflow: hidden; }
.slick-dots > li.slick-active button { opacity: 1; }

button.slick-arrow { position: absolute; top: 50%; z-index: var(--z-front-m); display: block; width: 12px; height: 14px; outline: none; background-color: transparent; border: 0; text-indent: -999px; overflow: hidden; cursor: pointer; }
button.slick-arrow.slick-prev { left: 0; border-top: 2px solid #fff; border-left: 2px solid #fff; transform: translateY(-50%) rotate(-45deg); }
button.slick-arrow.slick-next { right: 0; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: translateY(-50%) rotate(45deg);  }

/* ---------- ANIMATION ---------- */
.fadeup { opacity: 0; }
.UP { animation: fadeUP 0.5s forwards; }
@keyframes fadeUP {
  from { opacity: 0; transform: translateY(60px); }
  to { opacity: 1; transform: translateY(0); }
}
.UP:first-child { animation-delay: 0s; }
.UP:nth-child(2) { animation-delay: 0.3s; }
.UP:nth-child(3) { animation-delay: 0.5s; }
.UP:nth-child(4){ animation-delay: 0.7s; }
.UP:nth-child(5) { animation-delay: 1s; }
.UP:nth-child(6) { animation-delay: 1.2s; }
.UP:nth-child(7) { animation-delay: 1.5s; }
.UP:nth-child(8) { animation-delay: 1.8s; }
.UP:nth-child(9) { animation-delay: 2.1s; }
.UP:nth-child(10) { animation-delay: 2.4s; }

.slide-l { opacity: 0; }
.slideL { animation: showText 1s forwards; }
@keyframes showText {
  from { opacity: 0; transform: translateX(-50px); }
  to { opacity: 1; transform: translateX(0px); }
}
.slideL:first-child { animation-delay: 0s; }
.slideL:nth-child(2) { animation-delay: 0.2s; }
.slideL:nth-child(3) { animation-delay: 0.4s; }
.slideL:nth-child(4) { animation-delay: 0.6s; }
.slideL:nth-child(5) { animation-delay: 0.8s; }
.slideL:nth-child(6) { animation-delay: 1s; }
.slideL:nth-child(7) { animation-delay: 1.2s; }
.slideL:nth-child(8) { animation-delay: 1.4s; }
.slideL:nth-child(9) { animation-delay: 1.6s; }
.slideL:nth-child(10) { animation-delay: 1.8s; }
.slideL:nth-child(11) { animation-delay: 2s; }

/* ---------- OUTLINE ---------- */
dl.outline__detail { font-size: 1.7rem; }
dl.outline__detail > div:not(:last-child) { margin-bottom: 48px; }
dl.outline__detail dt { font-weight: 700; margin-bottom: 18px; }
dl.outline__detail > div > dt::before,
dl.outline__detail > dt::before { content: ''; display: inline-block; width: min(15vw, 62px); height: 8px; background: var(--gradation-re); border-radius: 6px; margin-right: min(6vw, 32px); }
@media screen and (min-width: 801px), print {
  dl.outline__detail > div { margin-left: 94px; }
  dl.outline__detail > div > dt,
  dl.outline__detail > dt { margin-left: -94px; }
}

.startupfes .ttl--detail01::before,
.startupfes dl.outline__detail dt::before { background: linear-gradient(to right, #eea33b 0%, #f0e122 100%); }
.foodtech .ttl--detail01::before,
.foodtech dl.outline__detail dt::before { background: linear-gradient(to right, #8dc21f 0%, #00a199 100%); }

/* ---------- FORM ---------- */
form { font-size: 1.6rem; }
div.form { background-color: #fff; box-shadow: 0 0 7px rgba(0, 0, 0, 0.5); color: #333; font-size: 1.7rem; max-width: 840px; margin-inline: auto; padding: min(5vw, 32px); }
div.form input[type="text"], div.form input[type="url"], div.form textarea, div.form input[type="email"] { background-color: #f1f1f1; font-size: 1.6rem; padding: 10px; border: none; border-radius: 8px; width: 100%; }
div.form input[type="submit"] { font-size: 1.8rem; background-color: var(--cl-bk); border: none; border: 1px solid var(--cl-bk); border-radius: 8px; color: #fff; display: block; outline: none; padding: 16px 48px; margin-inline: auto; margin-top: 16px; cursor: pointer; }
@media (hover:hover) {
  div.form input[type="submit"] { transition: all ease 0.3s; }
  div.form input[type="submit"]:hover { background-color: #fff; border: 1px solid var(--cl-bk); color: var(--cl-bk); }
}
/*Outline*/
div.form input[type="text"]:outline, div.form input[type="url"]:outline, input[type="email"]:outline, div.form textarea:outline { border: 2px solid #88D9E6; }
div.form input[type="submit"]:focus-within { background-color: #fff; border: 1px solid var(--cl-bk); color: var(--cl-bk); }
dl.form__list:not(:last-child) { margin-bottom: 60px; }
dl.form__list div { margin-bottom: 24px; }
dl.form__list div:last-child { margin-bottom: 0; }
dl.form__list dt { font-size: 1.8rem; font-weight: bold; margin-bottom: 8px; }
dl.form__list dt label { display: block; }
dl.form__list dt label > small { color: var(--ac); float: right; font-size: 1.5rem; }
dl.form__list dd {}
span.important { display: inline-block; font-size: 1.4rem; background-color: red; border-radius: 4px; color: #fff; padding: 4px 8px; vertical-align: middle; margin: 1%; }

@media screen and (max-width: 801px) {
  dl.form__list dt label > small { display: block; float: none; }
}
/*Message*/
.grecaptcha-badge { width: 70px!important; left: 0; right: auto!important; }
.wpcf7 form.sent .wpcf7-response-output { font-size: 1.8rem; background-color: var(--ac); border: none; border-radius: 6px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); color: #fff; margin-top: 20px; padding: 24px; position: relative; z-index: 1; }
.wpcf7 form.sent .wpcf7-response-output::before { content: ''; display: block; border-top: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 10px solid var(--ac); border-left: 10px solid transparent; width: 0; height: 0; position: absolute; top: -20px; left: 0; right: 0; margin: auto; z-index: 1; }

.vr_banner { display: block; max-width: 1100px; margin-inline: auto; }