@charset "UTF-8";

/* ===================================
	File Name   : exhibit.css
	Description : Exhibit Page's Layout CSS
	Editor      : Bface Saeki
	Last Editor : Bface Otake
	
	Update Description :
  [2025/07/24] Foodex Frozen 構成変更
  [2025/07/18] Foodex Wine 構成変更
  [2025/07/18] オプションページ Foodex App項目追加
  [2025/07/15] SAKE JAPANページ作成
  [2025/07/02] 食×AIページ修正
  [2025/06/16] トレンドレポート、ハラール、物流ページ新規作成
  [2025/06/12] 特別企画削除
  [2025/05/21] pickup-startupページ作成
  [2025/05/15] pickup-aiページ作成
  [2025/04/21] カテゴリー内容変更
  [2025/03/06] 早期申込　背景色変更
  [2025/02/10] オプションページ　展示会アプリ広告追加
  [2024/12/04] 出展の流れ 赤丸調整
	[2024/12/04] FOODEX WINE調整
	[2024/04/08] 出展対象カラー調整
	[2023/05/24] pickupページスタイル修正
====================================== */

/*========== Style Contents ==========

	1. Share Elements
	2. Top Page
	3. Merit Page
    - Section [merit_advance] 
	4. Fee Page
    - Section [fee_preface]  
    - Section [fee_apply] 
    - Section [fee_deadline] 
    - Section [fee_charge] 
    - Section [fee_position] 
    - Section [fee_payment] 
    - Section [fee_cancel] 
	5. Flow Page
    - Div [flow_preface] 
    - Section [flow_schedule] 
    - Section [flow_apply] 
    - Section [flow_subsidy] 
	6. Target Page
    - Section [target_category] 
    - Section [target_layout] 
	7. Pickup Page
    - Section [pickup_intro] 
    - Detail Pages
	8. Option Page
    - Section [option_ads] 
    - Section [option_appli] 
    - Section [option_corner] 
    - Section [option_smart] 
    - Section [option_stock] 
    - Section [option_agent] 
    - Section [option_stock] 
    - Section [option_seminar] 
    - Section [option_web] 
    - Section [option_others] 
	9. Faq Exhibit Page
	10. Next Page
    - Section [next_outline] 
    - Section [next_fee] 
	11. FOODEX Frozen
    - Section [frozen_preface] 
    - Section [frozen_reason] 
    - Section [frozen_product] 
    - Section [frozen_merit] 
    - Section [frozen_seminor] 
	12. FOODEX WINE
    - Section [wine_intro] 
    - Section [wine_purpose] 
    - Section [wine_merit] 
    - Section [wine_seminor] 
	13. Food AI
    - Section [ai_vision] 
    - Section [ai_target] 
    - Section [ai_merit] 
    - Section [ai_contents] 
	14. Startup
    - Section [startup_innovation] 
    - Section [startup_merit] 
    - Section [startup_plan] 
	15. Trend Report
    - Div [trend_preface] 
    - Section [trend_about] 
    - Section [trend_now] 
  16. Halal
    - Section [halal_intro] 
    - Section [halal_voice] 
    - Section [halal_target] 
    - Section [halal_scale] 
  17. Logistic
    - Section [logistic_intro] 
    - Section [logistic_merit] 
    - Section [logistic_target] 
  18. SAKE JAPAN
    - Section [sake_merit]  
    - Section [sake_target]  
    - Section [sake_plan]  
    - Section [sake_cta]  

====================================== */



/*===== ■1. Share Elements =====*/
p.caution {
  margin: 0 20px;
  padding: 20px 0 10px;
  background: #fff;
  color: #c00;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1.4;
  text-align: center;
}


@media (max-width: 768px) {
  p.caution {
    margin: 0 2.67vw;
    padding: 2.67vw 1.34vw 1.34vw;
    font-size: 2.0rem;
  }
}



/*===== ■2. Top Page =====*/
#exhibit_top li#intro_next .cover span { background-image: url("../img/exhibit/img-visual-next.jpg");}
#exhibit_top li#intro_merit .cover span { background-image: url("../img/exhibit/img-visual-merit.jpg");}
#exhibit_top li#intro_flow .cover span { background-image: url("../img/exhibit/img-visual-flow.jpg");}
#exhibit_top li#intro_fee .cover span { background-image: url("../img/exhibit/img-visual-fee.jpg");}
#exhibit_top li#intro_target .cover span { background-image: url("../img/exhibit/img-visual-target.jpg");}
#exhibit_top li#intro_interview .cover span { background-image: url("../img/exhibit/img-visual-interview.jpg");}
#exhibit_top li#intro_report .cover span { background-image: url("../img/exhibit/img-visual-report.jpg");}
#exhibit_top li#intro_pickup .cover span { background-image: url("../img/exhibit/img-visual-pickup.jpg");}
#exhibit_top li#intro_option .cover span { background-image: url("../img/exhibit/img-visual-option.jpg");}
#exhibit_top li#intro_faq .cover span { background-image: url("../img/exhibit/img-visual-faq.jpg");}
#exhibit_top li#intro_virtual .cover span { background-image: url("../img/exhibit/img-visual-virtual.jpg");}


@media (max-width: 768px) {
  #top_exhibit { margin-top: 0;}
  
  #exhibit_top li#intro_merit { background-image: url("../img/exhibit/img-visual-merit.jpg");}
  #exhibit_top li#intro_flow { background-image: url("../img/exhibit/img-visual-flow.jpg");}
  #exhibit_top li#intro_fee { background-image: url("../img/exhibit/img-visual-fee.jpg");}
  #exhibit_top li#intro_target { background-image: url("../img/exhibit/img-visual-target.jpg");}
  #exhibit_top li#intro_target { background-image: url("../img/exhibit/img-visual-target.jpg");}
  #exhibit_top li#intro_interview { background-image: url("../img/exhibit/img-visual-interview.jpg");}
  #exhibit_top li#intro_report { background-image: url("../img/exhibit/img-visual-report.jpg");}
  #exhibit_top li#intro_pickup { background-image: url("../img/exhibit/img-visual-pickup.jpg");}
  #exhibit_top li#intro_option { background-image: url("../img/exhibit/img-visual-option.jpg");}
  #exhibit_top li#intro_faq { background-image: url("../img/exhibit/img-visual-faq.jpg");}
  #exhibit_top li#intro_virtual { background-image: url("../img/exhibit/img-visual-virtual.jpg");}
}



/*===== ■3. Merit Page =====*/
#exhibit_merit .tit_link { padding: 40px 0;}

#exhibit_merit .inner > p em {
  display: block;
  margin-bottom: 30px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}

#exhibit_merit figure {
  padding: 20px;
  background: rgba(255, 255, 255, .5);
}

#merit_buyer .table_scroll table th, 
#merit_buyer .table_scroll table td {
  text-align: left;
}

#merit_meet .graph img {
  width: 80%;
  max-width: 1000px;
}

#merit_meet .inner > p b.red {
  color: #c00;
  margin-bottom: 0;
}

#merit_appointment #outline h3 + p + figure img {
  max-width: 1200px;
}

#merit_meet .video_wrapper {
  position: relative;
  margin-bottom: 10px;
  height: 0;
  padding: calc(315 / 560 * 50%) 0 0;
}
  
#merit_meet .video_wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#merit_appointment .video_wrapper {
  position: relative;
  margin-bottom: 10px;
  height: 0;
  padding: calc(315 / 560 * 100%) 0 0;
}
  
#merit_appointment .video_wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#merit_appointment .single_image {
  width: 100%;
  max-width: 1200px;
  margin: auto;
}

#merit_appointment .single_image img {
  max-width: none;
}

#merit_appointment ul.number > li { counter-increment: num;}

#merit_appointment ul.number > li:not(:last-child) {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ccc;
}
#merit_appointment ul.number > li > em {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 1.8rem;
}

#merit_appointment ul.number > li > em::before {
  display: block;
  margin-right: 10px;
  padding: 5px 10px;
  border-radius: 3px;
  background: #333;
  color: #fff;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  content: "0" counter(num);
}

#merit_buyer #buyer-img {
  max-width: 100%;
}


@media (max-width: 768px) {
  #exhibit_merit .tit_link { padding: 5.34vw 0;}

  #exhibit_merit .inner > p em {
    margin-bottom: 4vw;
    font-size: 1.4rem;
    line-height: 1.6;
    text-align: left;
  }
  
  #exhibit_merit .inner > p em b { font-size: 1.4rem;}

  #exhibit_merit figure {
    padding: 2.67vw;
  }
  
  #exhibit_merit .graph img {
    max-width: 100%;
  }
  #merit_buyer .table_scroll {
    white-space: normal;
    overflow-x:initial;

  }
  #merit_meet .graph img {
    width: 100%;
  }
  #merit_meet .inner > p > em {
    font-size: 1.4rem;
    margin-bottom: 0;
  }  

  #merit_meet .video_wrapper  {
    margin-bottom: 5.34vw;
    padding: calc(315 / 560 * 100%) 0 0;
  }

  #merit_appointment .video_wrapper  {
    margin-bottom: 5.34vw;
    padding: calc(315 / 560 * 100%) 0 0;
  }
  
  #merit_appointment ul.number > li > em {
    font-size: 1.4rem;
  }

  #merit_appointment ul.number > li > em::before {
    font-size: 1.4rem;
  }
}



/*===== ■4. Fee Page =====*/
/* Section [fee_preface] */
#fee_preface p {
  margin: 60px 20px 0 20px;
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
}

@media (max-width: 768px) {
  #fee_preface p {
    margin-top: 6.67vw;
    padding-bottom: 4vw;
    text-align: left;
    font-size: 1.4rem;
  }
}

/* Section [fee_apply] */
#fee_apply p:first-of-type > span {
  display: block;
}
#fee_apply p:first-of-type { text-align: center;}

#fee_apply p:first-of-type a { margin: 10px auto;}

#fee_apply .inner b {
  display: block;
  margin: 10px 0;
  color: #d71518;
  font-weight: bold;
  font-size: 2.4rem;
}

#fee_apply .notice {
  text-align: center;
}

/* Section [fee_deadline] */
#fee_deadline .flex2 > * {
  width: calc(50% - 1px);
  margin-bottom: 10px;
}

#fee_deadline dt {
  padding: 15px 20px;
  background: #333;
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  letter-spacing: .05rem;
  text-align: center;
}

#fee_deadline dl:first-of-type dt { background: #d71518;}

#fee_deadline dd {
  padding: 20px;
  background: rgba(0, 0, 0, .05);
  font-size: 1.8rem;
  text-align: center;
}


/* Section [fee_charge] */
#fee_charge .list_labels {
  margin-bottom: 10px;
}
#fee_charge .list_labels li {
  background: rgba(0, 0, 0, .05);
}

#fee_charge > div > div:first-child {
  margin-bottom: 20px;
}

#fee_charge > div > div:first-child > ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 10px;
  margin-bottom: 20px;
}

#fee_charge > div > div:first-child > ul > li { 
  counter-increment: num;
}

#fee_charge > div > div:first-child > ul > li {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
}

#fee_charge > div > div:first-child > ul > li > em {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
  font-weight: bold;
  font-size: 1.8rem;
}

#fee_charge > div > div:first-child > ul > li > p {
  font-size: 1.4rem;
}

#fee_charge > div > div:first-child > ul > li > em::before {
  display: block;
  margin-right: 10px;
  padding: 5px 10px;
  border-radius: 3px;
  background: #333;
  color: #fff;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  content: "0" counter(num);
}

#fee_charge > div > div:first-child > figure {
  display: flex;
  justify-content: space-between;
}

#fee_charge > div > div:first-child > figure > span {
  display: block;
  width: calc(50% - 20px);
}

#fee_charge > div > div:first-child > figure > span > img {
  max-width: 100%;
}

#fee_charge > div li dl:not(:last-of-type) { margin-bottom: 20px;}

#fee_charge > div li dt {
  position: relative;
  margin-bottom: 10px;
  padding-left: 12px;
  font-weight: bold;
}
#fee_charge > div li dt::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #333;
  transform: translateY(-50%);
  content: "";
}

/* Section [fee_position] */
#fee_position .flex2 p { margin-bottom: 10px;}
#fee_position .flex2 p.notice { margin-bottom: 20px;}
#fee_position .list_labels li {
  background: rgba(0, 0, 0, .05);
}

#fee_position > div.inner > div > figure > img {
  max-width: 100%;
  height: auto;
  max-height: 385px;
  object-fit: cover;
}

/* Section [fee_payment] */
#fee_payment .inner > p:first-of-type {
  margin-bottom: 30px;
  text-align: center;
}

#fee_payment ul { margin-bottom: 10px;}

#fee_payment li {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 5px;
  text-align: center;
}
#fee_payment li::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 30px;
  height: 100%;
  background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, rgba(51,51,51,1) 50.01%) no-repeat top left/100% 51%,
    linear-gradient(to top left, rgba(255,255,255,0) 50%, rgba(51,51,51,1) 50.01%) no-repeat bottom right/100% 51%;
  content:"";
}
#fee_payment li:first-child::before {
  background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, rgba(215,21,24,1) 50.01%) no-repeat top left/100% 51%,
    linear-gradient(to top left, rgba(255,255,255,0) 50%, rgba(215,21,24,1) 50.01%) no-repeat bottom right/100% 51%;
}

#fee_payment li > * {
  width: 50%;
  padding: 15px;
  font-size: 1.8rem;
}

#fee_payment li em {
  background: #333;
  color: #fff;
  font-weight: bold;
}
#fee_payment li:first-child em { background: #d71518;}
#fee_payment li p { background: rgba(0, 0, 0, .05);}

/* Section [fee_cancel] */
#fee_cancel p {
  margin-bottom: 30px;
  text-align: center;
}

#fee_cancel p em {
  display: block;
  margin-bottom: 5px;
  color: #d71518;
  font-weight: bold;
  font-size: 2.0rem;
}

#fee_cancel .table_scroll { margin-bottom: 10px;}
#fee_cancel .table_scroll td { background: rgba(0, 0, 0, .05);}
#fee_cancel .table_scroll td:first-child { font-size: 1.6rem;}

#fee_cancel .table_scroll th,
#fee_cancel .table_scroll td {
  -webkit-text-size-adjust: 100%;
}
#fee_cancel .table_scroll td:last-child {
  color: #d71518;
  font-weight: bold;
}




@media (max-width: 768px) {
  /* Section [fee_apply] */
  #fee_apply .notice {
    text-align: left;
  }

  #fee_apply p:first-of-type > span {
    display: block;
    text-align: left;
  }

  #fee_apply p:first-of-type a { 
    margin: 4vw auto 0;
  }

  #fee_apply .inner b {
    margin: 2.67vw 0;
    font-size: 2.0rem;
  }

/* Section [fee_deadline] */
  #fee_deadline .flex2 { margin-bottom: 2.67vw;}
  #fee_deadline .flex2 > * {
    width: calc(100%);
    margin-bottom: 1.34vw;
  }

  #fee_deadline dt {
    padding: 2.67vw 4vw;
    font-size: 1.6rem;
  }

  #fee_deadline dd {
    padding: 2.67vw;
    font-size: 1.8rem;
  }

  /* Section [fee_charge] */
  #fee_charge .list_labels {
    margin-bottom: 2.67vw;
  }

  #fee_charge > div > div:first-child {
    margin-bottom: 5.34vw;
  }

#fee_charge > div > div:first-child > ul {
    grid-template-columns: 1fr;
    column-gap: 2.67vw;
    margin-bottom: 2.67vw;
}

#fee_charge > div > div:first-child > ul > li {
    margin-bottom: 2.67vw;
    padding-bottom: 2.67vw;
}

#fee_charge > div > div:first-child > ul > li > em {
    margin-bottom: 2.67vw;
    font-size: 1.6rem;
}

#fee_charge > div > div:first-child > ul > li > p {
  font-size: 1.2rem;
}

#fee_charge > div > div:first-child > ul > li > em::before {
  margin-right: 2.67vw;
  padding: 1.34vw 2.67vw;
  font-size: 1.6rem;
}

#fee_charge > div > div:first-child > figure {
  justify-content: center;
  flex-wrap: nowrap;
}

#fee_charge > div > div:first-child > figure > span {
  width: 100%;
}

#fee_charge > div > div:first-child > figure > span > img {
  max-width: 100%;
  height: 100%;
}

#fee_charge > div li dl:not(:last-of-type) { margin-bottom: 5.34vw;
}

  /* Section [fee_position] */
  #fee_position .flex2 figure { order: 2;}
  #fee_position .flex2 div { order: 1; margin-bottom: 4vw;}
  
  #fee_position .flex2 p,
  #fee_position .flex2 p.notice { margin-bottom: 2.67vw;}

  /* Section [fee_payment] */
  #fee_payment .inner > p:first-of-type { 
    margin-bottom: 4vw;
    text-align: left;
  }

  #fee_payment ul { margin-bottom: 2.67vw;}

  #fee_payment li {
    display: block;
    margin-bottom: 1.34vw;
  }
  #fee_payment li::before {
    display: none;
    position: absolute;
    top: 0;
    left: 50%;
    width: 30px;
    height: 100%;
    background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, rgba(51,51,51,1) 50.01%) no-repeat top left/100% 51%,
      linear-gradient(to top left, rgba(255,255,255,0) 50%, rgba(51,51,51,1) 50.01%) no-repeat bottom right/100% 51%;
    content:"";
  }
  #fee_payment li:first-child::before {
    background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, rgba(215,21,24,1) 50.01%) no-repeat top left/100% 51%,
      linear-gradient(to top left, rgba(255,255,255,0) 50%, rgba(215,21,24,1) 50.01%) no-repeat bottom right/100% 51%;
  }

  #fee_payment li > * {
    display: block;
    width: 100%;
    padding: 2.67vw 4vw;
    font-size: 1.6rem;
  }

  #fee_payment li p { font-size: 1.8rem;}

  /* Section [fee_cancel] */
  #fee_cancel p {
    margin-bottom: 4vw;
    text-align: left;
  }

  #fee_cancel p em {
    margin-bottom: 4vw;
    font-size: 1.6rem;
    text-align: center;
  }

  #fee_cancel .table_scroll { margin-bottom: 2.67vw;}

  #fee_cancel .table_scroll td { text-align: left;}

  #fee_cancel .table_scroll td:first-child { font-size: 1.4rem;}
}



/*===== ■5. Flow Page =====*/
 /* Div [flow_preface] */
 #flow_preface p {
  margin: 60px 20px 0 20px;
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
}

@media (max-width: 768px) {
  #flow_preface p {
    margin-top: 6.67vw;
    text-align: left;
    font-size: 1.4rem;
  }
}

/* Section [flow_schedule] */

#flow_schedule {
  background: rgba(0, 0, 0, .05);
}

#flow_schedule h2 {
  padding-bottom: 30px;
  margin-bottom: 0;
}

#flow_schedule .inner { 
  position: relative;
  padding: 20px 0;
}

#flow_schedule #pipe {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 0;
	width: 4px;
	height: calc(100% - 40px);
	background: #999;
}
#flow_schedule #pipe_inner {
	position: absolute;
	width: 4px;
	background: #333;
	content: "";
}

#flow_schedule .inner > div:not(#pipe) {
  position: relative;
  padding: 20px 20px 10px;
  background: rgba(255, 255, 255, .5);
}

#flow_schedule .inner > div:not(#pipe):first-of-type { 
  position: relative;
  margin-bottom: 10px;
}

#flow_schedule .inner > div b {
  position: absolute;
  top: 0;
  right: 10px;
  font-weight: 600;
  font-size: 6.0rem;
  color: #ccc;
}

#flow_schedule .inner dl {
  position: relative;
  margin-bottom: 25px;
  padding-left: 20px;
}

#flow_schedule .inner dl:last-of-type {
  margin-bottom: 20px;
}

#flow_schedule .inner dl.finish::before {
  position: absolute;
  left: 0;
  z-index: 2;
  width: 4px;
  height: calc(100% + 35px);
  background: #333;
  content: "";
}
#flow_schedule .inner > div:first-of-type dl:last-of-type.finish::before { height: calc(100% + 85px);}
#flow_schedule .inner > div + div dl:last-of-type.finish::before { height: calc(100% + 25px);}

#flow_schedule .inner dt {
  position: relative;
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 2.2rem;
}
#flow_schedule .inner dt::before {
  position: absolute;
  top: 50%;
  left: -23px;
  z-index: 2;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #333;
  transform: translateY(-50%);
  content: "";
}
#flow_schedule .inner .emphasis dt::before {
  left: -28px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 4px solid #333;
  background: #ebebeb;
}
#flow_schedule .inner .emphasis_red dt::before {
  left: -28px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 4px solid #d71518;
  background: #ebebeb;
}
#flow_schedule .inner .emphasis + .emphasis dt::before { border-color: #d71518;}

#flow_schedule .inner dd {
  margin-left: 20px;
  color: #555;
  font-size: 1.8rem;
}

#flow_schedule .inner dd em {
  display: inline-block;
  margin: 10px;
  padding: 10px;
  border-radius: 5px;
  background: #555;
  color: #fff;
  font-size: 2.0rem;
}

#flow_schedule .inner dd em span {
  margin-right: 10px;
  padding-right: 10px;
  border-right: 1px dotted #ccc;
  font-weight: bold;
  font-size: 2.0rem;
}

#flow_schedule .inner dd strong {
  display: block;
  color: #d71518;
  font-weight: bold;
  font-size: 4rem;
}

#flow_schedule .inner ul { margin-top: 15px;}

#flow_schedule .inner li {
  margin-top: 5px;
  padding-left: 1.2rem;
  font-size: 1.4rem;
  text-indent: -1.2rem;
}

/* Section [flow_apply] */
#flow_apply {
  padding-top: 140px;
  margin-top: -140px;
}

#flow_apply > div > div > p {
  margin-bottom: 20px;
  text-align: center;
}

#flow_apply > div > div h3 {
  margin-bottom: 20px;
}

#flow_apply > div > div h3:last-of-type {
  margin-top: 30px;
}

#flow_apply > div > div > ul.list_labels li {
  background: rgba(0, 0, 0, .05);
}

#flow_apply .flex2 > div { margin-bottom: 10px;}

#flow_apply .kome-list {
  text-indent: -1em;
   padding-left: 1em;
}
#flow_apply .kome-list li {
  margin-bottom: 10px;
}

#flow_apply ol { 
  padding: 0 0 20px;
  margin-bottom: 30px;
}

#flow_apply ol > li {
  display: flex;
  flex-wrap: wrap;
  counter-increment: step;
}
#flow_apply ol > li:not(:last-child) {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ccc;
}

#flow_apply ol > li::before {
  display: block;
  width: 60px;
  padding: 10px;
  border-radius: 3px;
  background: #333;
  color: #fff;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  content: "step0" counter(step);
}

#flow_apply ol > li > div {
  flex: 1;
  margin: 5px 0 5px 10px;
  font-size: 1.8rem;
}

#flow_apply ol > li > div em,
#flow_apply ol > li > div b {
  color: #d71518;
  font-weight: bold;
  font-size: 1.8rem;
}

#flow_apply ol > li > div em { display: block;}

#flow_apply ol > li > div ul { margin-top: 10px;}

#flow_apply ol > li > div li {
  margin-bottom: 10px;
  padding-left: 1.2rem;
  color: #d71518;
  font-weight: bold;
  font-size: 1.4rem;
  text-indent: -1.2rem;
}

#flow_apply ol > li > div p {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dotted #ccc;
  font-size: 1.4rem;
  line-height: 1.4;
}

#flow_apply ol > li > div p span {
  display: block;
  margin: 5px 0;
}

#flow_apply ol > li > div p span b {
  color: #000;
  font-weight: 600;
}

#flow_apply ol + a { margin: 0 20px;}

#flow_apply h2 + div {
  padding-bottom: 0;
}

#flow_apply div > dl {
  width: auto;
  margin: 0 auto;
  padding: 0;
  border: 1px solid #d71518;
  text-align: center;
}

#flow_apply div > dl dt {
  margin-bottom: 10px;
  color: #d71518;
  font-weight: bold;
  font-size: 2.0rem;
}

#flow_apply div > dl dt.tit_fill {
  background-color: #d71518;
  color: #fff;
}

#flow_apply div > dl dd {
  padding: 0 10px 10px;
}



/* Section [flow_subsidy] */
#flow_subsidy .tit_lines {
  margin-bottom: 20px;
}
#flow_subsidy h4.tit_fill {
  margin-bottom: 0;
}
#flow_subsidy .inner > p:first-of-type {
  margin-bottom: 20px;
  text-align: center;
}

#flow_subsidy ul { 
  margin-bottom: 10px;
  padding: 20px 0;
  background: #ddd;
}

#flow_subsidy li {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: calc(50% - 40px);
  margin: 0 20px;
}

#flow_subsidy li div {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 10px;
  border-radius: 5px;
  background: rgba(255, 255, 255, .5);
}

#flow_subsidy li div > span {
  display: flex;
  align-items: center;
}

#flow_subsidy li div > span em {
  width: 80px;
  margin-right: 10px;
  padding: 10px;
  border-radius: 5px;
  background: #333;
  color: #fff;
  text-align: center;
}
#flow_subsidy li div > p {
  font-size: 1.4rem;
}

#flow_subsidy li p {
  width: 100%;
  margin-top: 5px;
}


@media (max-width: 768px) {
  /* Section [flow_schedule] */
  #flow_schedule h2 {
    padding-bottom: 5.33vw;
  }
  #flow_schedule #pipe {
    position: absolute;
    top: 2.67vw;
    left: 8vw;
    width: 1.07vw;
    height: calc(100% - 8vw);
  }
  #flow_schedule #pipe_inner { width: 1.07vw;}

  #flow_schedule .inner {
    padding: 0 2.67vw 4vw;
  }

  #flow_schedule .inner > div:not(#pipe) {
    padding: 5.34vw;
  }
  #flow_schedule .inner > div:not(#pipe):first-of-type { margin-bottom: 1.34vw;}

  #flow_schedule .inner > div b {
    right: 1.34vw;
    font-size: 4.0rem;
  }

  #flow_schedule .inner dl {
    margin-bottom: 4vw;
    padding-left: 4vw;
  }

  #flow_schedule .inner dl.finish::before {
    width: 1.07vw;
    height: calc(100% + 8vw);
  }
  #flow_schedule .inner > div:first-of-type dl:last-of-type.finish::before { height: calc(100% + 13.34vw);}
  #flow_schedule .inner > div + div dl:last-of-type.finish::before { height: calc(100% + 4vw);}
  
  #flow_schedule .inner dt {
    margin-bottom: 2.67vw;
    font-size: 2.0rem;
  }
  #flow_schedule .inner dt::before {
    left: calc(-4vw + -.8vw);
    width: 2.67vw;
    height: 2.67vw;
  }
  #flow_schedule .inner .emphasis dt::before {
    left: calc(-4vw + -1.87vw);
    width: 2.67vw;
    height: 2.67vw;
    border: 1.07vw solid #333;
  }

  #flow_schedule .inner dd {
    margin-left: 2.67vw;
    font-size: 1.6rem;
  }

  #flow_schedule .inner dd em {
    display: block;
    margin: 0 0 1.34vw;
    padding: 1.34vw 2.67vw;
    border-radius: 3px;
    font-size: 1.8rem;
  }

  #flow_schedule .inner dd em span {
    margin-right: 2.67vw;
    padding-right: 2.67vw;
    font-size: 1.6rem;
  }

  #flow_schedule .inner dd strong { font-size: 2.6rem;}

  #flow_schedule .inner ul { margin-top: 2.67vw;}

  #flow_schedule .inner li {
    margin-top: 1.34vw;
    font-size: 1.2rem;
  }

  #flow_schedule .inner .emphasis_red dt::before {
    left: -23px;
  }

  /* Section [flow_apply] */
  #flow_apply {
    padding-top: 4vw;
    margin-top: -4vw;
  }

  #flow_apply div > dl:last-child {
    text-align: left;
  }

  #flow_apply > div > div > p {
    text-align: left;
  }
  #flow_apply .flex2 > div { margin-bottom: 4vw;}
  #flow_apply .flex2 > div:first-of-type { margin-bottom: 8vw;}

  #flow_apply ol { 
    padding: 0 2.67vw 2.67vw;
    margin-bottom: 2.67vw;
  }

  #flow_apply .flex2 > div:last-of-type ol { padding: 0 2.67vw;}

  #flow_apply ol > li { display: block;}
  #flow_apply ol > li:not(:last-child) {
    margin-bottom: 4vw;
    padding-bottom: 2.67vw;
  }

  #flow_apply ol > li::before {
    display: inline-block;
    width: auto;
    padding: 1.34vw 2.67vw;
    border-radius: 5px;
    font-size: 1.6rem;
  }

  #flow_apply ol > li > div {
    margin: 1.34vw;
    font-size: 1.6rem;
  }

  #flow_apply ol > li > div em,
  #flow_apply ol > li > div b { font-size: 1.6rem;}

  #flow_apply ol > li > div ul { margin-top: 1.34vw;}

  #flow_apply ol > li > div li {
    margin-bottom: 2.67vw;
    font-size: 1.2rem;
    line-height: 1.4;
  }

  #flow_apply ol > li > div p {
    margin-top: 2.67vw;
    padding-top: 0;
    border-top: none;
    font-size: 1.4rem;
  }

  #flow_apply ol + a { margin: 0 2.67vw;}
  
  #flow_apply h2 + div {
    padding-bottom: 4vw;
  }

  #flow_apply .flex2 > dl {
    width: calc(100% - 5.34vw);
    margin: 0 2.67vw 5.34vw;
    padding: 2.67vw;
    text-align: left;
  }

  #flow_apply .flex2 > dl dt {
    margin-bottom: 2.67vw;
    font-size: 1.8rem;
    text-align: center;
  }
  
  #flow_apply div > dl {
    margin-bottom: 0;
  }

  /* Section [flow_subsidy] */
  #flow_subsidy .inner > p:first-of-type { 
    margin-bottom: 5.34vw;
    text-align: left;
  }

  #flow_subsidy ul { 
    margin-bottom: 2.67vw;
    padding-top: 2.67vw;
  }

  #flow_subsidy li {
    width: calc(100% - 5.34vw);
    margin: 0 2.67vw 2.67vw;
  }

  #flow_subsidy li div {
    padding: 1.34vw;
  }

  #flow_subsidy li div span em {
    width: auto;
    margin-right: 1.34vw;
    padding: 1.34vw;
    font-size: 1.2rem;
  }

  #flow_subsidy li div > p {
    padding-top: 1.34vw;
    font-size: 1.2rem;
  }

  #flow_subsidy li p {
    width: auto;
    margin-top: 0;
  }
}


/*===== ■6. Target Page =====*/
#target_preface  p {
  margin: 60px 20px 0 20px;
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
}

@media (max-width: 768px) {
  #target_preface  p {
    margin-top: 6.67vw;
    text-align: left;
    font-size: 1.4rem;
  }
}

#exhibit_target section .inner > p em {
  display: block;
  margin-bottom: 20px;
  color: #333333;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.4;
  text-align: center;
}

.soon_content {
  position: relative;
}

.soon_content > p:first-child {
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: 2.2rem;
  color: #fff;
  z-index: 3;
}

.soon_content::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 2;
}
/* Section [target_category] */
#target_category > div.inner {
  margin-bottom: 60px;
}

#target_category > div.inner > p:first-child {
  text-align: center;
  margin-bottom: 50px;
}

#target_category > div.inner > p > em {
  margin-bottom: 0;
}

#target_category > div.inner > div.flex2 + p {
  margin-top: 10px;
  font-size: 1.4rem;
}

#target_category > div.inner > h3 {
  margin-bottom: 20px;
}

#target_category > div.inner > div.flex2 > dl {
  margin-bottom: 20px;
}

#target_category > div.inner > div.flex2 > dl > dt em {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  margin-bottom: 10px;
  background: #666;
  color: #fff;
  font-weight: 600;
  font-size: 2.0rem;
}

#target_category > div.inner > div.flex2 > dl > dt em:not(.new) {
  padding: 10px;
}

#target_category > div.inner > div.flex2 > dl > dt em.new::before {
  padding: 10px;
  margin-right: 10px;
  color: #d71518;
  font-size: 2.0rem;
  content: "NEW";
  background: rgba(255, 255, 255, .5);
}

#target_category > div.inner > div.flex2 > dl > dd {
  display: flex;
  gap: 20px;
}

#target_category > div.inner > div.flex2 > dl > dd > figure {
  width: 30%;
}

#target_category > div.inner > div.flex2 > dl > dd > figure img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
}

#target_category > div.inner > div.flex2 > dl > dd p {
  width: 70%;
}

#target_category dl#cat_abroad > dt > em > b,
#target_category dl#cat_overseas > dt > em > b,
#target_category dl#cat_startup > dt > em > b {
  display: block;
  padding-right: 10px;
  color: #fff;
  font-weight: 600;
  font-size: 2.0rem;
}

#target_category dl#cat_abroad > dt > em > span,
#target_category dl#cat_overseas > dt > em > span,
#target_category dl#cat_startup > dt > em > span {
  display: block;
  padding: 5px;
  max-width: 460px;
  background: #fff;
  border-radius: 5px;
  color: #333333;
  font-size: 1.6rem;
}

#target_category dl#cat_sake > dt > em > b {
  display: block;
  padding-right: 10px;
  color: #fff;
  font-weight: 600;
  font-size: 2.0rem;
}

#target_category dl#cat_sake > dt > em > span {
  display: block;
  padding: 5px;
  max-width: 460px;
  background: #fff;
  border-radius: 5px;
  color: #333333;
  font-size: 1.6rem;
}

#target_category dl#cat_sake dt em { background: #0a1b5e;}

#target_category dl#cat_ai dt em { background: #dfa669;}
#target_category dl#cat_logistic dt em { background: #e5815c;}
#target_category dl#cat_processed dt em { background: #a6839c;}
#target_category dl#cat_seasoning dt em { background: #e57f12;}
#target_category dl#cat_sweets dt em { background: #da5f7c;}
#target_category dl#cat_tech dt em { background: #6c4b93;}
#target_category dl#cat_safety dt em { background: #e89574;}
#target_category dl#cat_info dt em { background: #8795c6;}
#target_category dl#cat_enter dt em { background: #9295c9;}
#target_category dl#cat_abroad dt em { background: #9295c9;}
#target_category dl#cat_halal dt em { background: #84add7;}
#target_category dl#cat_world dt em { background: #b896c0;}
#target_category dl#cat_organic dt em { background: #88bd6a;}
#target_category dl#cat_replacement dt em { background: #0e9578;}
#target_category dl#cat_healthcare dt em { background: #5aac35;}
#target_category dl#cat_drink dt em { background: #b65693;}
#target_category dl#cat_wine dt em { background: #974b70;}
#target_category dl#cat_overseas dt em { background: #9295c9;}
#target_category dl#cat_support dt em { background: #a5bf7c;}
#target_category dl#cat_daily dt em { background: #85c293;}
#target_category dl#cat_japan dt em { background: #dc5355;}
#target_category dl#cat_exhibition dt em { background: #dda8bd;}
#target_category dl#cat_agriculture dt em { background: #056e6f;}
#target_category dl#cat_livestock dt em { background: #8f3f23;}
#target_category dl#cat_fisheries dt em { background: #0b68ae;}
#target_category dl#cat_startup dt em { background: #004098;}

#frozen_area { margin-bottom: 40px;}

#frozen_area p {
  margin: 20px 0;
  color: #00a0e9;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
}

#frozen_area ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 20px;
  column-gap: 20px;
}

#frozen_area ul li {
  background: rgba(0, 0, 0, .05);
  border-left: 5px solid #00a0e9;
}

#frozen_area ul + div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 20px;
  column-gap: 20px;
}

#frozen_area ul + div > dl > dt {
  position: relative;
  padding: 10px 0;
  margin: 0 0 10px 0;
  background: #c7e5f5;
  height: auto;
  color: #1e95d4;
  font-weight: 600;
  font-size: 2.0rem;
}

#frozen_area ul + div > dl > dd {
  margin: 0 0 10px 0;
}

#frozen_area ul + div > dl > dt:not(.new) {
  padding: 10px;
}

#frozen_area ul + div > dl > dt.new::before {
  padding: 10px;
  margin-right: 10px;
  color: #d71518;
  font-size: 2.0rem;
  content: "NEW";
  background: rgba(255, 255, 255, .5);
}

#frozen_area > div > div:last-of-type {
  display: flex;
  gap: 10px;
  padding-top: 10px;
  margin-bottom: 20px;
  height: 100%;
}

#frozen_area > div > div:last-of-type figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#target_category > div.inner > div.flex2 > dl#cat_ai  > dd p {
  width: auto;
}

#target_category > div.inner > div.flex2 > dl#cat_ai  > dd p + p {
  margin: 10px 0;
  font-weight: 600;
}

#target_category > div.inner > div.flex2 > dl#cat_ai  > dd div {
  width: 70%;
}

#target_category > div.inner > div.flex2 > dl#cat_ai  > dd > div > a {
  margin-top: 10px;
}

#target_category dl#cat_startup p > span {
  font-size: 1.4rem;
}

#target_category > div.inner > div.flex2 > dl#cat_startup  > dd > p > a {
  margin-top: 10px;
}

#target_category > div.inner > div.flex2 > dl#cat_logistic  > dd p {
  margin: 0 0 10px;
  font-weight: 600;
}

#target_category > div.inner > div.flex2 > dl#cat_logistic  > dd div {
  width: 70%;
}

#target_category > div.inner > div.flex2 > dl#cat_logistic  > dd > div > a {
  margin-top: 10px;
}

#target_category dl#cat_wine p a {
  margin-top: 10px;
  padding: 15px;
}

#target_category dl#cat_halal p a {
  margin-top: 10px;
  padding: 15px;
}


@media (max-width: 768px) {
  #target_category > div.inner {margin-bottom: 6.67vw;}
  
  #target_category > div.inner > div.flex2 + p {
    margin-top: 2.67vw;
    font-size: 1.2rem;
  }
  
  #target_category > div.inner > h3 { margin-bottom: 5.34vw;}
  
  #target_category > div.inner > div.flex2 > dl {margin-bottom: 5.34vw;}
  
  #target_category > div.inner > div.flex2 > dl > dt em {
    margin-bottom: 2.67vw;
    font-size: 1.6rem;
    line-height: 1;
  }
  
  #target_category > div.inner > div.flex2 > dl > dt em:not(.new) {padding: 4vw 2.67vw;}
  
  #target_category > div.inner > div.flex2 > dl > dt em.new::before {
    padding: 2.67vw;
    margin-right: 2.67vw;
    font-size: 1.6rem;
  }

  #target_category dl#cat_abroad > dt > em > b,
  #target_category dl#cat_overseas > dt > em > b,
  #target_category dl#cat_startup > dt > em > b {
    padding-right: 2.67vw;
    font-size: 1.6rem;
  }
  
  #target_category > div.inner > div.flex2 > dl > dd {
    flex-direction: column;
    gap: 2.67vw;
  }
  
  #target_category > div.inner > div.flex2 > dl > dd > figure { width: 100%;}
  #target_category > div.inner > div.flex2 > dl > dd p {width: 100%;}

  #target_category dl#cat_abroad > dt > em {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  #target_category dl#cat_abroad > dt > em > b {
    padding-right: 2.67vw;
    font-size: 1.6rem;
  }
  
  #target_category dl#cat_abroad > dt > em > span {
    margin-top: 1.34vw;
    padding: 2.67vw;
    max-width: 100%;
    font-size: 1.2rem;
  }

  #target_category dl#cat_sake > dt > em > b {
    padding-right: 2.67vw;
    font-size: 1.6rem;
  }
  
  #frozen_area {margin-bottom: 5.34vw;}
  #frozen_area p {margin: 2.67vw 0;}
  
  #frozen_area ul {
    grid-template-columns: 1fr;
    margin-bottom: 2.67vw;
    column-gap: 2.67vw;
  }
  
  #frozen_area ul + div {
    grid-template-columns: 1fr;
    margin-bottom: 2.67vw;
    column-gap: 2.67vw;
  }
  
  #frozen_area ul + div > dl > dt {
    padding: 1.34vw 0;
    margin: 0 0 1.34vw 0;
    font-size: 1.6rem;
  }
  
  #frozen_area ul + div > dl > dd { margin: 0 0 1.34vw 0;}
  #frozen_area ul + div > dl > dt:not(.new) {padding: 1.34vw;}
  
  #frozen_area ul + div > dl > dt.new::before {
    padding: 1.34vw;
    margin-right: 1.34vw;
    font-size: 1.6rem;
  }
  
  #frozen_area > div > div:last-of-type {
    display: flex;
    gap: 1.34vw;
    padding-top: 1.34vw;
    margin-bottom: 2.67vw;
  }
  
  #target_category > div.inner > div.flex2 > dl#cat_ai  > dd p + p {margin: 2.67vw 0 1.34vw;}
  #target_category > div.inner > div.flex2 > dl#cat_ai  > dd div {width: 100%;}
  #target_category > div.inner > div.flex2 > dl#cat_ai  > dd > div > a {margin-top: 2.67vw;}
  #target_category > div.inner > div.flex2 > dl#cat_startup  > dd > p > a {margin-top: 2.67vw;}
  #target_category > div.inner > div.flex2 > dl#cat_logistic  > dd p {margin: 0 0 2.67vw;}
  #target_category > div.inner > div.flex2 > dl#cat_logistic  > dd div {width: 100%;}
  #target_category > div.inner > div.flex2 > dl#cat_logistic  > dd > div > a {margin-top: 2.67vw;}
  #target_category dl#cat_wine p a {
    margin-top: 2.67vw;
    padding: 4vw;
  }
  #target_category dl#cat_halal p a {
    margin-top: 2.67vw;
    padding: 4vw;
  }
}

/* Section [target_layout] */
#target_layout .inner > p.notice:last-of-type { margin-bottom: 20px;}

#target_layout ul {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

#target_layout li {
  display: flex;
  align-items: center;
  margin: 0 10px;
  vertical-align: middle;
}

#target_layout li span {
  margin-right: 10px;
  padding: 5px 10px;
  border-radius: 5px;
  background: #666;
  color: #fff;
  font-size: 1.4rem;
}

#target_layout li b {
  margin-right: 2px;
  color: #d71518;
  font-weight: bold;
  font-size: 2.4rem;
}

#target_layout figure {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(255, 255, 255, .5);
}

#target_layout figure img {
  max-width: 100%;
}



@media (max-width: 768px) {
  #exhibit_target section .inner > p em {
    margin-bottom: 2.67vw;
    font-size: 1.4rem;
    line-height: 1.6;
    text-align: left;
  }
  
  #exhibit_target section .inner > p:not(:last-child) { 
    margin-bottom: 5.34vw;
    text-indent: 0;
  }
  
  .soon_content > p:first-child {
    font-size: 1.6rem;
    left: 25%;
    transform: translate(-25%,-25%);
  }
  
  /* スマホ Section [target_category] */
  


  
  /* Section [target_layout] */
  #target_layout ul {
    display: block;
    margin-bottom: 4vw;
  }

  #target_layout li { margin: 0 ;}
  #target_layout li:not(:last-child) { margin: 0 0 1.34vw;}

  #target_layout li span {
    margin-right: 1.34vw;
    padding: 1.34vw 2.67vw;
    font-size: 1.2rem;
  }

  #target_layout li b {
    margin-right: 0;
    font-size: 2.2rem;
  }
  
  #target_layout figure {
    padding: 2.67vw;
  }
}


/*===== ■7. Pickup Page =====*/
#exhibit_pickup #visual { background-image: url("../img/exhibit/img-visual-pickup.jpg");}

.appeal {
  width: 100%;
  margin-bottom: 10px;
  text-align: center;
}
.appeal em {
  display: inline-block;
  width: auto;
  padding: 5px 10px;
  border-radius: 5px;
  background: #d71518;
  color: #fff;
  font-size: 2rem;
}

/* pickup common style */
.pickup_detail .video_wrapper iframe {aspect-ratio:16 / 9;width:100%;height:100%;}

.pickup_detail [id$="_intro"] {
  margin: 0 20px;
  padding: 20px;
  background: #fff;
}

/* pickup-stockbreeding */
#stockbreeding_rush .list_dots {
  width: fit-content;
  margin: 0 auto 20px;
}
#stockbreeding_rush .inner > .list_dots:first-of-type + figure {
  width: fit-content;
  margin: 0 auto 20px;
}

/* pickup-substitut */
#substitute_intro .flex2 > div > figure {
  width: fit-content;
  margin: 0 auto;
}

/* pickup-wine */
#wine_about img {max-width: 80%;}

#wine_merit > div.inner > div.flex4 > section {
  padding: 0;
  width: calc(25% - 15px);
}

#wine_merit figcaption span {font-weight: normal;}

#wine_buyers p b {
  font-size: 6rem;
  font-weight:600;
}

#wine_buyers figure {
  display: flex;
  flex-direction: column-reverse;
}

#wine_buyers figure > figcaption {
  margin-top: 10px;
  font-size: 1.4rem;
}

#wine_buyers img {max-width: 100%;}

#wine_buyers > div.inner > div.flex3:nth-of-type(2) > div {
  display: flex;
  flex-direction: column;
}

#wine_buyers > div.inner > div.flex3:nth-of-type(2) > div > ul {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

#wine_buyers #wine_buyers_slider ul {
  padding: 0;
  width: 100%;
  background: transparent;
}

#wine_buyers #wine_buyers_slider ul > div.slick-list {margin: 0 -5px; }

#wine_buyers #wine_buyers_slider ul li.slick-slide {margin: 5px;}

#wine_merit > div.inner > div.flex4 > section {margin-bottom: 0;}

@media (max-width: 768px) {
  .pickup_detail [id$="_intro"] {
    margin: 0 2.67vw;
    padding: 2.67vw;
  }

  .appeal em {font-size: 1.6rem;}
  
  #frozen_future .video_wrapper:first-of-type iframe { width: 100%;}
  
  #wine_about img {max-width: 100%;}

  #wine_merit > div.inner > div.flex4 > section {
    width: 100%;
  }

  #wine_merit ul { margin-bottom: 0;}
  
  #wine_merit .flex4 section {
    padding: 0;
    margin-bottom: 2.67vw;
  }

  #wine_merit .flex4 + p {text-align: center;}

  #wine_buyers > div.inner > div.flex3:nth-of-type(2) > div {width: 100%;}

  #wine_buyers p {text-align: center;}

  #wine_buyers p b {font-size: 4rem;}
  
  #wine_buyers figure > figcaption {
    margin-top: 2.67vw;
    font-size: 1.2rem;
  }
  
  #wine_buyers #wine_buyers_slider ul li.slick-slide { margin: 1.33vw;}

  #wine_buyers #wine_buyers_slider ul > div.slick-list {margin: 0 -1.33vw;}

  #wine_buyers #wine_buyers_slider ul {margin: 0;}
}


/*===== ■8. Option Page =====*/
#option_preface  p {
  margin: 60px 20px 0 20px;
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
}

@media (max-width: 768px) {
  #option_preface {
    margin: 0;
    max-width: 100%;
  }

  #option_preface  p {
    margin-top: 6.67vw;
    text-align: left;
    font-size: 1.4rem;
  }
}

#exhibit_option .tit_fill {
  padding: 15px 10px;
  font-size: 1.8rem;
}


#exhibit_option section .inner:not(:last-of-type) {
  margin-bottom: 30px;
  padding-bottom: 0;
}

#exhibit_option section .flex2.inner {
  align-items: flex-start;
}

#exhibit_option section .flex2.inner div { 
  padding: 0;
}

#exhibit_option section .flex2.inner div > section {
  padding: 0;
}

#exhibit_option section .flex2.inner div > p { 
  text-align: left;
  margin-bottom: 10px;
}

#exhibit_option section .inner div > p em.inner-catchcopy,
#exhibit_option section .flex2.inner div > p em {
  display: block;
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.4;
  text-align: center;
}

#exhibit_option section .label { margin-bottom: 10px;}

#exhibit_option section .label li {
  display: inline-block;
  margin: 0 10px 10px 0;
  padding: 5px 10px;
  border-radius: 5px;
  background: #d71518;
  color: #fff;
}

#exhibit_option section .list_labels,
#exhibit_option section .table_scroll { margin-bottom: 20px;}

#exhibit_option section .list_labels li {
  background: rgba(0, 0, 0, .05);
}

#exhibit_option section .table_scroll th { background: #666;}

#exhibit_option section .table_scroll th span { font-size: 1.4rem;}

#exhibit_option section .table_scroll td { 
  background: rgba(0, 0, 0, .05);
  font-size: 2.0rem;
}
#exhibit_option section .table_scroll td.total { 
  font-size: 1.4rem;
}
#exhibit_option section .table_scroll td.total em {
  font-weight: bold;
  font-size: 2.2rem;
}
#exhibit_option section .table_scroll td.total em b {
  display: inline-block;
  margin: 5px;
  color: #d71518;
  font-size: 2.4rem;
}

#exhibit_option section .table_scroll.min * { font-size: 1.6rem;}

#exhibit_option section .table_scroll.min th,
#exhibit_option section .table_scroll.min td { 
  padding: 10px 5px; word-break: normal;
}

#exhibit_option section .table_scroll.min td {
  background: rgba(0, 0, 0, .05);
}

#exhibit_option section .list_labels em {
  display: block;
  font-weight: bold;
}

#exhibit_option section .list_labels p {
  font-size: 1.4rem;
}

#exhibit_option section .list_labels p { font-size: 1.4rem;}

#exhibit_option section figure {
  background: rgba(255, 255, 255, .5);
}

#exhibit_option section figure * { font-size: 1.4rem;}

#exhibit_option section figure > img { 
  width: 100%;
}

#exhibit_option section figure > img + * { margin-top: 20px;}

#exhibit_option section figure h3.tit_fill {
  margin-bottom: 10px;
  padding: 10px;
  font-size: 1.6rem;
}

#exhibit_option section figure h3 + * { margin: 0 10px;}

#exhibit_option section .boxlink { margin: 30px auto 10px;}
#exhibit_option #option_smart .boxlink { margin: 0 auto 10px;}

/* Section [option_ads] */
#option_ads {
  overflow: hidden;
}

#option_ads > h2 em {
  display: inline-block;
  position: relative;
  font-size: 5.0rem;
}

#option_ads h2 span.balloon_large {
  position: absolute;
	top: 1rem;
	right: -2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 2rem;
	background: linear-gradient(to top, #e58100, #ffd800 80%, #ffef98);
	box-shadow: 0 0.2rem 0 0 rgba(0, 0, 0, .1);
	border-radius: 100%;
	text-align: center;
	transform: translateX(calc(100% - 1rem)) translateY(-50%);
}

#option_ads h2 span.balloon_large b {
	position: relative;
	color: #fff;
	font-size: 1.4rem;
	text-shadow: 0 .2rem 0  rgba(76, 36, 0, .25), 0 0 .5rem rgba(178, 83, 0, .5);
	z-index: 1;
}

#option_ads h2 span.balloon_large u {
	display: block;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.6;
	text-decoration: none;
}

#option_ads h2 span.balloon_large b i {
	display: block;
	margin: .25rem 0;
	font-weight: bold;
	font-size: 1.6rem;
}
#option_ads h2 span.balloon_large > i {
	position: absolute;
	top: 70%;
	left: 0;
	z-index: -1;
	width: 2rem;
	height: 3rem;
	background: linear-gradient(to bottom, #eea000, #ea9101 80%, #e88d00);
	clip-path: polygon(0 100%, 65% 0, 100% 65%);
	transform: translateY(-50%);
	content: "";
}
#option_ads h2 span.balloon_large::before {
	position: absolute;
	top: .1rem;
	left: 0.1rem;
	width: calc(100% - .2rem);
	height: calc(100% - .3rem);
	background: linear-gradient(to top, rgba(255, 255, 255, .6) , transparent, rgba(255, 255, 255, .6) );
	border-radius: 100%;
	mix-blend-mode: screen;
	content: "";
}
#option_ads h2 span.balloon_large::after {
	position: absolute;
	top: .2rem;
	left: .2rem;
	width: calc(100% - .4rem);
	height: calc(100% - .5rem);
	background: linear-gradient(to top, #e68600, #fed500);
	box-shadow: inset 0 0.1rem 0 0 #f8cb06;
	border-radius: 100%;
	content: "";
}

#option_ads .inner > p:first-child {
	margin-bottom: 15px;
	text-align: center;
  font-weight: bold;
  font-size: 2rem;
}

#option_ads .inner > p:first-child > span { 
  font-size: 2.2rem;
  text-decoration: underline;
}

#option_ads .inner > div:first-of-type {
  margin-bottom: 30px;
}

#option_ads .inner > div > dl {
  display: grid;
  grid-template-columns: auto auto auto auto;
  align-items: center;
  justify-content: center;
  grid-column-gap: 1rem;
  margin-bottom: 1.5rem;
}

#option_ads .inner > div > dl > dt {
  min-width: 10rem;
  padding: 1rem;
  border: 1px solid #fff;
  background: #333;
  color: #fff;
  text-align: center;
}

#option_ads .inner > div > dl > dd:first-of-type {
  margin-right: 3rem;
  line-height: 1.2;
}

#option_ads .inner > div:nth-of-type(2) > .table_scroll {
  margin-bottom: 10px;
}

#option_ads .inner > div:nth-of-type(2) { padding: 0;}
#option_ads .inner > div:nth-of-type(2) > .table_scroll {
  display: block;
}

#option_ads .inner table > tbody > tr > th,
#option_ads .inner table > tbody > tr > td {
  line-height: 1.5;
  font-size: 16px;
}

#option_ads .inner table > tbody > tr > th {
  font-size: 18px;
  font-weight: bold;
  background: #666;
  color: #fff;
}

#option_ads .inner table > tbody > tr > td {
  vertical-align: top;
}

#option_ads .inner table > tbody > tr > td > span {
  display: block;
	max-width: 21.5rem;
	margin: 0 auto;
}
#option_ads .inner table > tbody > tr > td > span > img  {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

#option_ads .inner table > tbody > tr:first-child > td:not(:last-child) > span > img {
  border: 0.5px solid #000;
}

#option_ads .inner table > tbody > tr:first-child > td:nth-child(3) > span {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#option_ads .inner table > tbody > tr > td > ul {
  padding: 15px 20px;
}

#option_ads .inner table > tbody > tr > td > ul > li {
  padding-bottom: 5px;
  list-style: disc;
  text-align: left;
}

#option_ads .inner table small {
  display: block;
  padding-top: 5px;
  font-weight: 300;
  font-size: 14px;
}

#option_ads .inner div.table_scroll + div {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto 1fr;
	grid-gap: 1rem;
}
#option_ads .inner div.table_scroll + div sup { font-size: 1.4rem;}
#option_ads .inner div.table_scroll + div li {
	margin-left: 1em;
	font-size: 1.4rem;
	list-style: disc;
}

#option_ads .inner div.table_scroll td {
  background: rgba(0, 0, 0, .05);
  text-align: left;
}

#option_ads .inner div.table_scroll td b {
  font-weight: bold;
}

#option_ads .inner div.table_scroll td > p {
  text-align: left;
}


@media (max-width: 768px) {
  #option_ads {
    margin: 0;
    max-width: 100%;
  }

  #option_ads > h2 em {
    font-size: 2.8rem;
  }

  #option_ads h2 span.balloon_large {
    position: relative;
    top: 0;
    right: 0;
    width: fit-content;
    border-radius: 2rem;
    margin: 0 auto 3rem;
    padding: 1rem 2rem;
    transform: none;
  }

	#option_ads h2 span.balloon_large b {
		font-size: 1.2rem;
	}

  #option_ads h2 span.balloon_large u {
    font-size: 1.4rem;
  }
  
	#option_ads h2 span.balloon_large b i {
		font-size: 2.4rem;
	}
	#option_ads h2 span.balloon_large > i {
		top: calc(100% - .1rem);
		left: 50%;
		width: 1.5rem;
		height: 1.5rem;
		background: linear-gradient(to bottom, #e88d00, #e88d00 80%, #e88d00);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		transform: translateX(-50%);
    z-index: 3;
	}

	#option_ads h2 span.balloon_large::before,
	#option_ads h2 span.balloon_large::after {
    border-radius: 2rem;
  }
	
	#option_ads .inner > p:first-child { 
    margin-bottom: 4vw;
    text-align: center;
    font-size: 1.6rem;
  }
  #option_ads .inner > p:first-child > span { 
    font-size: 1.4rem;
  }
	
  #option_ads .inner > div:first-of-type {
    margin-bottom: 4vw;
  }
  
  #option_ads .inner > div > dl {
    grid-template-columns: auto 1fr;
    align-items: stretch;
    grid-gap: 1rem 0;
    margin-bottom: 1.5rem;
  }
  
  #option_ads .inner > div > dl > dt {
    place-content: center;
    min-width: 15rem;
    padding: 1.5rem;
  }

  #option_ads .inner > div > dl > dd {
    padding: 1.5rem;
    background: #ebebeb;
  }

  #option_ads .inner > div > dl > dd:first-of-type {
    margin-right: 0;
  }
    


  #option_ads .inner > div:nth-of-type(2) > .table_scroll {
    margin-bottom: 1.34vw;
  }
	
	#option_ads .inner div.table_scroll + div li:not(:last-child) { margin-bottom: 2.67vw;}

  #option_ads .inner table > tbody > tr > td > ul > li {
    padding-bottom: 1.34vw;
  }
}

/* Section [option_appli] */
#option_appli  {
  overflow: hidden;
}
#option_appli > h2 em {
  display: inline-block;
  position: relative;
  font-size: 5.0rem;
}

#option_appli h2 span.balloon_large {
  position: absolute;
	top: 1rem;
	right: -2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 2rem;
	background: linear-gradient(to top, #e58100, #ffd800 80%, #ffef98);
	box-shadow: 0 0.2rem 0 0 rgba(0, 0, 0, .1);
	border-radius: 100%;
	text-align: center;
	transform: translateX(calc(100% - 1rem)) translateY(-50%);
}

#option_appli h2 span.balloon_large b {
	position: relative;
	color: #fff;
	font-size: 1.4rem;
	text-shadow: 0 .2rem 0  rgba(76, 36, 0, .25), 0 0 .5rem rgba(178, 83, 0, .5);
	z-index: 1;
}

#option_appli h2 span.balloon_large u {
	display: block;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.6;
	text-decoration: none;
}

#option_appli h2 span.balloon_large b i {
	display: block;
	margin: .25rem 0;
	font-weight: bold;
	font-size: 1.6rem;
}
#option_appli h2 span.balloon_large > i {
	position: absolute;
	top: 70%;
	left: 0;
	z-index: -1;
	width: 2rem;
	height: 3rem;
	background: linear-gradient(to bottom, #eea000, #ea9101 80%, #e88d00);
	clip-path: polygon(0 100%, 65% 0, 100% 65%);
	transform: translateY(-50%);
	content: "";
}
#option_appli h2 span.balloon_large::before {
	position: absolute;
	top: .1rem;
	left: 0.1rem;
	width: calc(100% - .2rem);
	height: calc(100% - .3rem);
	background: linear-gradient(to top, rgba(255, 255, 255, .6) , transparent, rgba(255, 255, 255, .6) );
	border-radius: 100%;
	mix-blend-mode: screen;
	content: "";
}
#option_appli h2 span.balloon_large::after {
	position: absolute;
	top: .2rem;
	left: .2rem;
	width: calc(100% - .4rem);
	height: calc(100% - .5rem);
	background: linear-gradient(to top, #e68600, #fed500);
	box-shadow: inset 0 0.1rem 0 0 #f8cb06;
	border-radius: 100%;
	content: "";
}
#option_appli div.inner > p {
  margin-bottom: 15px;
	text-align: center;
  font-weight: bold;
  font-size: 2rem;
}

#option_appli div.flex {
  display: flex;
  gap: 20px;
  margin-top: 30px;
  padding: 10px;
  background: #ebebeb;
}
#option_appli div.flex > div {
  flex: 1;
  order: 2;
}
#option_appli div.flex > div > h3 {
  display: block;
  margin-bottom: 1rem;
  padding: .8rem 1rem;
  background-color: #666;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
#option_appli div.flex > div > h3 + .list_dots { padding: 0 1rem 1.5rem;}
#option_appli div.flex > div dl {
  background: #fff;
  margin-bottom: 1rem;
}

#option_appli div.flex > div dl.box_price {
  display: flex;
	width: 100%;
}
#option_appli div.flex > div dl.box_price dt {
  display: flex;
	align-items: center;
  justify-content: center;
	width: 20rem;
  padding: 2.5rem 1.5rem;
  background-color: #333;
  color: #fff;
	font-size: 1.8rem;
}
#option_appli div.flex > div dl.box_price dt > span {
	font-size: 1.6rem;
}
#option_appli div.flex > div dl.box_price dd {
	flex-grow: 1;
  display: flex;
	align-items: baseline;
  justify-content: center;
  padding: 2rem 1rem;
  border: .1rem solid currentColor;
	font-size: 2.2rem;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
}
#option_appli div.flex > div dl.box_price dd span {
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}
#option_appli div.flex figure {
	flex:none;
	width: 20rem;
	margin: 0 auto;
}


@media (max-width: 768px) {
  #option_appli {
    margin: 0;
    max-width: 100%;
  }

  #option_appli > h2 em {font-size: 2.8rem;}

  #option_appli h2 span.balloon_large {
    position: relative;
    top: 0;
    right: 0;
    width: fit-content;
    border-radius: 2rem;
    margin: 0 auto 3rem;
    padding: 1rem 2rem;
    transform: none;
  }

	#option_appli h2 span.balloon_large b {
		font-size: 1.4rem;
	}

  #option_appli h2 span.balloon_large u {
    font-size: 1.8rem;
  }
  
	#option_appli h2 span.balloon_large b i {
		font-size: 2.4rem;
	}
	#option_appli h2 span.balloon_large > i {
		top: calc(100% - .1rem);
		left: 50%;
		width: 1.5rem;
		height: 1.5rem;
		background: linear-gradient(to bottom, #e88d00, #e88d00 80%, #e88d00);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		transform: translateX(-50%);
    z-index: 3;
	}
	#option_appli h2 span.balloon_large::before,
	#option_appli h2 span.balloon_large::after {
    border-radius: 2rem;
  }
  #exhibit_option #option_appli div.inner > p {
    margin-bottom: 4vw;
    text-align: center;
    font-size: 1.6rem;
  }
  #option_appli div.flex {
    flex-direction: column;
  }
  #option_appli div.flex > div dl.box_price {
    width: 100%;
  }
  #option_appli div.flex > div dl.box_price dt {
    flex-direction: column;
		width: auto;
		padding: 4vw 2.67vw;
		font-size: 1.6rem;
  }
  #option_appli div.flex > div dl.box_price dt > span {
    display: inline-block;
    font-size: 1.4rem;
  }
  #option_appli div.flex > div dl.box_price dd {
		padding: 4vw 2.67vw;
		border-width: .2rem;
		font-size: 2rem;
  }
  #option_appli div.flex > div dl.box_price dd span {
    font-size: 1.4rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
  }
  #option_appli div.flex > figure {
		max-width: 15rem;
	}
}

/* Section [option_corner] */
#option_corner > div.flex3 > section {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin-bottom: 0;
}

#option_corner > div.flex3 > section > h3 {
  display: flex;
  flex-direction: column;
}

#option_corner > div.flex3 > section  > div > p {
  margin-bottom: 10px;
}

#option_corner > div > div > section img {
  max-width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 768px) {
  #option_corner > div.flex3 > section {
    margin-bottom: 5.34vw;
  }
}

/* Section [option_smart] */
#option_smart > div > p:first-of-type {
  text-align: center;
}

#option_smart .list_dots {
  margin-top: 20px;
}

#option_smart .list_labels li em {
  display: block;
  font-weight: bold;
}

#option_smart .list_labels li > div,
#option_smart .list_labels li > p:not(.notice) {margin-top: 10px;}

#option_smart .list_labels li *:not(em) { font-size: 1.4rem;}

#option_smart .list_labels li dt {
  padding: 10px;
  background: #666;
  color: #fff;
  font-weight: bold;
}

#option_smart .list_labels li dd {
  margin-bottom: 1px;
  padding: 5px 10px;
  background: #fff;
}
#option_smart .tit_lines {
  margin-bottom: 20px;
  font-size: 2.0rem;
}

#option_smart span img {
  max-height: 350px;
}

#option_smart ul.list_labels + .tit_fill {
  margin-bottom: 0;
}

#option_smart .tit_fill:last-of-type + p {
  background: rgba(0, 0, 0, .05);
  padding: 10px;
}

/* Section [option_agent] */
#exhibit_option #option_agent .inner:not(:last-of-type) {
  margin-bottom: 50px;
}

#option_agent .flex2 {align-items: flex-start;}

#option_agent h4 > span {
  display: contents;
  font-size: 1.4rem;
}

#exhibit_option #option_agent .inner > p {
  margin-bottom: 30px;
}


/* Section [option_stock] */

/* Section [option_seminar] */

#option_seminar > section {
  padding: 0 ;
}

#option_seminar > section.inner > div.inner {
  padding: 0;
}

#option_seminar > section.inner > div.inner img {
  max-width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: center;
}

/* Section [option_web] */
#option_web .table_scroll td:not(.total) { 
  background: rgba(0, 0, 0, .05);
  font-size: 1.6rem;
} 
#option_web .table_scroll td:not(.total) span {
  display: block;
  font-size: 1.4rem;
} 

#option_web > div > section {
  padding: 0;
}

/* Section [option_others] */
#option_others > div.inner > div.flex2 > section {
  padding: 0;
}

#option_others section:nth-last-child(-n+2) { margin-bottom: 0;}

#option_others h4.tit_lines { margin-bottom: 15px;}
#option_others .table_scroll td:not(.total) { font-size: 1.6rem;}
#option_others > .inner > section { margin-bottom: 30px;}
#option_others > .inner > div > section > div.inner { padding: 0;}
#option_others dl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 20px;
}

#option_others dl dt {
  padding: 10px;
  background: #000;
  color: #fff;
}

#option_others section img {
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

#option_others #ad_hole table tbody tr:first-of-type td:nth-child(2) {
  text-align: left;
}

#option_others #ad_hole table tbody tr:first-of-type td span:first-of-type {
  display: block;
  padding-bottom: 5px;
}

@media (max-width: 768px) {
  #exhibit_option .tit_fill {
    margin-bottom: 2.67vw;
    padding: 4vw 2.67vw;
    font-size: 1.6rem;
  }

  #exhibit_option section .tit_fill span {
    display: block;
    margin-top: .67vw;
    font-size: 1.2rem;
  }
  #exhibit_option section .inner > p { 
    margin: 0 0 2.67vw;
    text-align: left;
  }
  #exhibit_option section section {
    margin-bottom: 5.34vw;
  }
  
  #exhibit_option section .flex2 > div  { order: 2;}
  #exhibit_option section .flex2 > figure {
    order: 1;
    margin-bottom: 5.34vw;
    padding: 2.67vw;
  }
  
  #exhibit_option section .flex2 > figure .list_dots > li::before { top: .8vw;}

  #exhibit_option section .flex2.inner div > p { margin-bottom: 2.67vw;}

  #exhibit_option section .inner div > p em.inner-catchcopy,
  #exhibit_option section .flex2.inner div > p em {
    margin-bottom: 4vw;
    font-size: 1.6rem;
    line-height: 1.6;
  }

  #exhibit_option section .label { margin-bottom: 0;}

  #exhibit_option section .label li {
    margin: 0 1.34vw 1.34vw 0;
    padding: 1.34vw 2.67vw;
  }

  #exhibit_option section .list_labels p {
    font-size: 1.2rem;
  }
  
  #exhibit_option section .list_labels,
  #exhibit_option section .table_scroll { margin-bottom: 2.67vw;}

  #exhibit_option section .table_scroll th span { font-size: 1.2rem;}

  #exhibit_option section .table_scroll td { font-size: 1.4rem;}
  #exhibit_option section .table_scroll td.total { font-size: 1.2rem;}
  #exhibit_option section .table_scroll td.total em { font-size: 1.6rem;}
  #exhibit_option section .table_scroll td.total em b {
    margin: 1.34vw;
    font-size: 1.8rem;
  }
  
  #exhibit_option section .table_scroll.min * { font-size: 1.2rem;}
  
  #exhibit_option section .table_scroll.min th,
  #exhibit_option section .table_scroll.min td { padding: 2.67vw;}
  
  #exhibit_option section figure { padding: 2.67vw 0 0;}

  #exhibit_option section figure * { font-size: 1.2rem;}

  #exhibit_option section figure > img + * { margin-top: 5.34vw;}
  
  #exhibit_option section figure h3.tit_fill {
    margin-bottom: 2.67vw;
    padding: 2.67vw;
    font-size: 1.4rem;
  }
  
  #exhibit_option section figure > ul li { margin-bottom: 1.34vw;}

  #exhibit_option section figure h3 { margin-bottom: 2.67vw;}

  #exhibit_option section figure h3 + * { margin: 0;}
  
  #exhibit_option section figure h3 + ul { padding: 0 1.34vw ;}

  #exhibit_option section .boxlink { margin: 5.34vw auto 2.67vw;}

  /* Section [option_corner] */
  #option_corner > div > div > section img {
    height: auto;
  }

  /* Section [option_smart] */
  #option_smart .list_labels li > div,
  #option_smart .list_labels li > p:not(.notice) { margin-top: 1.34vw;}

  #option_smart .list_labels li *:not(em) { font-size: 1.2rem;}

  #option_smart .list_labels li dt { padding: 2.67vw;}

  #option_smart .list_labels li dd { padding: 1.34vw 2.67vw;}

  #option_smart .tit_lines {
    margin-top: 8vw;
    font-size: 1.6rem;
  }
  
  /* Section [option_agent] */
  #option_agent .flex2 > dl > dd {margin-bottom: 4vw;}
  
  #exhibit_option #option_agent .inner:not(:last-of-type) {
    margin-bottom: 5.34vw;
  }
  
  #option_agent  h4 + .flex2 > div {order: 1;}
  
  #option_agent h4 + .flex2 > img {order: 2;}
  
  #option_agent h4 + .flex2 > div {margin-bottom: 2.67vw;}
  
  #option_agent .flex2 > img {order: 2;}

  #option_agent dt > span {font-size: 1.2rem;}

  #exhibit_option #option_agent .inner > p {margin-bottom: 4vw;}
  
  #exhibit_option  .flex2 > * {width: 100%;}

  /* Section [option_stock] */

  /* Section [option_seminar] */
  #option_seminar .flex2.inner div:not(:last-of-type) { margin-bottom: 4vw;}

  #option_seminar > section.inner > div.inner img {
    max-width: 100%;
    height: auto;
  }


  /* Section [option_web] */

  /* Section [option_others] */
  #option_others h4.tit_lines { margin-bottom: 4vw;}
  
  #option_others > .inner > section { margin-bottom: 2.67vw;}

  #option_others dl {
    align-items: center;
    justify-content: flex-start;
    gap: 2.67vw;
  }
  
  #option_others dl dt {
    padding: 2.67vw;
    background: #000;
    color: #fff;
    text-align: center;
  }
}



/*===== ■9. Faq Exhibit Page =====*/

#visitor_faq p {
  margin: 60px 20px 0 20px;
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
}

#visitor_faq section dl:not(:last-of-type){
  margin-bottom: 15px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ccc;
}

#visitor_faq section dt {
  display: flex;
  align-items: baseline;
  color: #666;
}

#visitor_faq section dd {
  display: flex;
  align-items: baseline;
}

#visitor_faq section dl i {
  width: 4.5rem;
  font-weight: bold;
  font-size: 4rem;
  text-align: center;
}

#visitor_faq section dd i { color: #d71518;}

#visitor_faq section dd div,
#visitor_faq section dd div *:not(.notice) { font-size: 1.8rem;}

#visitor_faq section dd ul.ul-top-mr {
  margin-top: 10px;
}
#visitor_faq section dd ul.ul-top-mr li {
  margin-bottom: 10px;
  text-indent: -1.5em;
  padding-left: 1.5em;
  line-height: 1.5;
}

#visitor_faq section dd ul.ul-top-mr li em {
  color: #000;
  font-weight: bold;
}

#visitor_faq section dd ul.list_dots {
  margin-top: 5px;
}

#visitor_faq section dd ul.list_dots + p{
  margin: 10px;
}

#visitor_faq section dt span,
#visitor_faq section dd div { flex: 1;}

#visitor_faq section dd div em {
  color: #d71518;
  font-weight: bold;
}

#visitor_faq section dd div .notice { margin-top: 10px;}

#visitor_faq #question04 .list_dots {margin: 10px 0 10px 0;}


@media (max-width: 768px) {
  #visitor_faq p {
    margin-top: 6.67vw;
    text-align: left;
    font-size: 1.4rem;
  }
  
  #visitor_faq section dl:not(:last-of-type){
    margin-bottom: 4vw;
    padding-bottom: 5.34vw;
  }

  #visitor_faq section dl i {
    width: 3.5rem;
    font-size: 3rem;
  }

  #visitor_faq section dd div,
  #visitor_faq section dd div *:not(.notice) { font-size: 1.4rem;}
  
  #visitor_faq section dd ul.ul-top-mr {
  margin-top: 2.67vw;
}

  #visitor_faq section dd div .notice { margin-top: 2.67vw;}
  
  #visitor_faq #question04 .list_dots {margin: 1.34vw 0 1.34vw 0;}
}




/*===== ■10. Next Page =====*/
/* Section [next_outline] */
#next_outline table {
  table-layout: fixed;
}
#next_outline th {
  width: 10%; 
}

#next_outline td {
  width: 40%;
}

#next_outline #registration_fee ul {
  display: flex;
  flex-wrap: wrap;
  
}

#next_outline #registration_fee li {
  width: 20%;
  margin: 10px;
}

/* Section [next_fee] */
#next_fee .flex2 { margin-bottom: 30px;}

#next_fee .flex2 > div > ul > li { counter-increment: num;}

#next_feee .flex2 > div > ul > li:not(:last-child) {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ccc;
}

#next_fee .flex2 > div > ul > li > em {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 1.8rem;
}

#next_fee .flex2 > div > ul > li > em::before {
  display: block;
  margin-right: 10px;
  padding: 5px 10px;
  border-radius: 3px;
  background: #333;
  color: #fff;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  content: "0" counter(num);
}

#next_fee .flex2 li dl:not(:last-of-type) { margin-bottom: 20px;}

#next_fee .flex2 li dt {
  position: relative;
  margin-bottom: 10px;
  padding-left: 12px;
  font-weight: bold;
}
#next_fee .flex2 li dt::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #333;
  transform: translateY(-50%);
  content: "";
}

#next_fee .flex2 li dd { margin-left: 12px;}

#next_fee .flex2 li dd ul.notice {
  padding: 10px;
  background: rgba(255, 255, 255, .5);
}

#next_fee .flex2 li dd ul.notice { margin-top: 10px;}
#next_fee .flex2 li dd li { line-height: 1.4;}

#next_fee .flex2 > div > ul > li:not(:last-child) {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ccc;
}

#next_fee h3.tit_fill:first-of-type {
  background: #c00;
}

#next_fee h3.tit_fill em {
  display: block;
  margin-top: 5px;
  font-size: 1.4rem;
  line-height: 1;
}

#next_fee .table_scroll td:last-child {
  color: #d71518;
  font-weight: bold;
  font-size: 2.2rem;
}

#next_fee .table_scroll {
  margin-bottom: 10px;
}

#next_fee .notice {
  margin-bottom: 30px;
}

#next_fee .notice li:not(:last-child) {
  margin-bottom: 5px;
}

@media (max-width: 768px) {
  /* Section [next_outline] */
  #next_outline th {
    width: 100%; 
  }

  #next_outline td {
    width: 100%;
  }

  #next_outline #registration_fee li {
    width: 20%;
    margin: 1.34vw;
  }
  
  #next_outline tr:first-child th:nth-of-type(2)::before {
    content: none;
  }
  /* Section [next_fee] */
  #next_fee .flex2 {
    margin-bottom: 5.34vw;
    flex-direction: column;
  }
  #next_fee .flex2 > figure {
    order: 2;
  }
  #next_fee .flex2 > figure > img { width: 50%;}
  
  #next_fee .flex2 > div {
    order: 1;
    margin-bottom: 4vw;
  }

  #next_fee .flex2 > div > ul > li:not(:last-child) {
    margin-bottom: 4vw;
    padding-bottom: 2.67vw;
  }

  #next_fee .flex2 > div > ul > li > em {
    margin-bottom: 2.67vw;
    font-size: 1.6rem;
  }

  #next_fee .flex2 > div > ul > li > em::before {
    margin-right: 1.34vw;
    padding: 1.34vw 2.67vw;
    font-size: 1.4rem;
    letter-spacing: .05rem;
  }

  #next_fee .flex2 li dl:not(:last-of-type) { margin-bottom: 4vw;}

  #next_fee .flex2 li dt {
    margin-bottom: 2.67vw;
    padding-left: 3.2vw;
  }
  #next_fee .flex2 li dt::before {
    width: 1.6vw;
    height: 1.6vw;
  }

  #next_fee .flex2 li dd { margin-left: 3.2vw;}

  #next_fee .flex2 li dd ul.notice { padding: 2.67vw;}

  #next_fee .flex2 li dd ul.notice { margin-top: 2.67vw;}

  #next_fee h4.tit_fill em {
    margin-top: 1.34vw;
    font-size: 1.2rem;
  }
  
  #next_fee .flex2 figure:last-of-type {
    margin-bottom: 0;
  }
  
  #next_fee .notice {
    margin-bottom: 2.67vw;
  }
  
  #next_fee .notice li:not(:last-child) {
      margin-bottom: 0.80vw;
  }


}


/* safety */
#safety_intro {
  padding: 30px 20px;
  background: #fff;
}
#safety_intro figure:first-of-type {margin-bottom: 10px;
}
#safety_intro p {
  margin-bottom: 10px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

#safety_target figure  {
  margin-bottom: 20px;
}

#safety_target dl {
  margin-bottom: 20px;
  padding: 10px;
  background: rgba(255, 255, 255, .5);
}

#safety_target dt {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  padding: 10px;
  background: #666;
  color: #fff;
  font-weight: 600;
  font-size: 1.8rem;
}
#safety_target dt span:first-child {
  width: 25px;
}

#safety_target dt span:last-child {
  display: inline-block;
  margin-left: 10px;
}

#safety_target dd { margin: 0 10px;}

#safety_target dl[class$="notice"] dt{
  margin-bottom: 10px;
  background: none;
  color: #d71518;
  font-weight: bold;
  font-size: 2.0rem;
}

@media (max-width: 768px) {
  #safety_intro {
    margin: 0 2.67vw;
    padding: 2.67vw;
  }
  #safety_intro figure:first-of-type {margin-bottom: 1.34vw;
  }
  #safety_intro p {
    margin-bottom: 1.34vw;
    font-size: 1.6rem;
  }

  #safety_target figure  {
    margin-bottom: 2.67vw;
  }
  
  #safety_target dl {
    margin-bottom: 1.34vw;
    padding: 2.67vw;
  }

  #safety_target dt {
    margin-bottom: 2.67vw;
    padding: 2.67vw;
    font-size: 1.6rem;
    text-align: center;
  }
  #safety_target dt span { margin-left: 0;}

  #safety_target dd { margin: 0 2.67vw;}

  #safety_target dl[class$="notice"] dt{
    margin-bottom: 1.34vw;
    font-size: 1.6rem;
  }
}


/*===== ■11. FOODEX Frozen =====*/
/* Pickup Frozen */
#zone_frozen_hero {
  display: flex;
  justify-content: center;
}

#zone_frozen_hero img {
  width: 6000px;
  max-width: 100%;
}

#zone_frozen {
  position: relative;
  background: url(../img/exhibit/pickup/bg-frozen.jpg) no-repeat bottom center / cover;
  background-attachment: fixed;
  padding-bottom: 100px;
}

#zone_frozen #breadcrumbs {
  margin-top: 5px;
  padding-top: 20px;
}

#zone_frozen .fade_in_contents {
  opacity: 0;
  transform: translateY(-50px);
  transition: opacity 1s ease, transform 0.5s ease;
}

#zone_frozen .fade_in_contents.visible {
  opacity: 1;
  transform: translate(0px, 0%);
}

#zone_frozen .img_scale {
  transform: scale(1.2);
  opacity: 0;
  transition: all 0.7s ease-in-out 0.5s;
}

#zone_frozen .img_scale.visible {
  transform: scale(1);
  opacity: 1;
}

#zone_frozen .wrapper_limit {
  width: 85%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0;
}

#zone_frozen h2 {
  color: #00a0e9;
  padding: 40px 0 15px;
  line-height: 1.1;
  text-align: center;
  font-size: clamp(4.5rem, 4.88vw, 5rem);
  font-weight: 700;
}

#zone_frozen h2 b {
  display: block;
  margin-top: 10px;
  font-weight: bold;
  font-size: 2.2rem;
}

#zone_frozen .boxlink_frozen {
  display: inline-block;
  position: relative;
  padding: 10px 30px;
  border-radius: 30px;
  background: #00a0e9;
  transition: 0.5s ease-in;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
  font-weight: 600;
  font-size: 1.8rem;
  z-index: 1;
  &::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
    opacity: 0;
    background: inherit;
    background-size: 380%;
    animation: gradient 6s ease-in-out infinite;
    transition: opacity 0.5s ease-in-out;
  }
  &:hover {
		transform: scale(1.1);
  }
}

/* frozen_intro */
#frozen_intro > p {
  margin: 60px auto 30px;
  line-height: 1.2;
  font-size: 2.8rem;
  font-weight: 400;
  text-align: center;
}

#frozen_intro > p > em {
  display: block;
  padding-bottom: 20px;
  color: #00a0e9;
  font-weight: 600;
  font-size: clamp(5rem, 7.32vw, 7.5rem);
}

#frozen_intro #frozen_intro_items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  padding: 40px 0;
}

#frozen_intro #frozen_intro_items > div {
  display: flex;
  position: relative;
  border-radius: 60px;
  margin-bottom: 25px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

#frozen_intro #frozen_intro_items > div:first-child {
  background: url(../img/exhibit/pickup/img-frozen-reason_bg_01.jpg) no-repeat center center;
  background-size: cover;
}

#frozen_intro #frozen_intro_items > div:nth-child(2) {
  background: url(../img/exhibit/pickup/img-frozen-reason_bg_02.jpg) no-repeat center center;
  background-size: cover;
}

#frozen_intro #frozen_intro_items > div:nth-child(3) {
  background: url(../img/exhibit/pickup/img-frozen-reason_bg_03.jpg) no-repeat left center;
  background-size: cover;
}

#frozen_intro #frozen_intro_items > div:last-child {
  background: url(../img/exhibit/pickup/img-frozen-reason_bg_04.jpg) no-repeat center center;
  background-size: cover;
}

#frozen_intro #frozen_intro_items > div::after {
  position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
    background: rgb(19, 7, 0);
    opacity: 0.5;
    border-radius: 60px;
    overflow: hidden;
    z-index: 2;
}

#frozen_intro #frozen_intro_items > div > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: #fff;
  z-index: 3;
  padding: 60px 10px;
}

#frozen_intro #frozen_intro_items > div > div > span {
  display: block;
  margin-bottom: 10px;
  text-align: center;
}

#frozen_intro #frozen_intro_items > div > div > span > img {
  width: 55px;
  height: 60px;
}

#frozen_intro #frozen_intro_items > div > div > p {
  line-height: 1.2;
  text-align: center;
  font-size: clamp(2rem, 2.53vw,  2.6rem);
}


#frozen_intro #frozen_intro_items + div > p {
  margin: 40px auto 15px;
  line-height: 1.2;
  font-size: 2.8rem;
  font-weight: 400;
  text-align: center;
}

#frozen_intro #frozen_intro_items + div > p > span {
  padding-left: 10px;
  color: #d71518;
  font-size: 2.8rem;
  font-weight: 600;
}

#frozen_intro #frozen_intro_items + div > div {
  padding: 40px 0;
}

#frozen_intro #frozen_intro_items + div > div > section {
  padding: 0;
  margin-bottom: 0;
}

#frozen_intro #frozen_intro_items + div > div > section > h3 {
  margin: 0 auto 15px;
  padding: 10px;
  max-width: 960px;
  background: #c7e5f5;
  color: #2150a2;
  font-weight: 600;
  font-size: clamp(2.8rem, 2.92vw,  3rem);
  text-align: center;
}

#frozen_intro #frozen_intro_items + div > div > section img {
  margin: 0 auto;
  max-width: 960px;
  padding: 20px;
  background: rgba(236, 236, 236, 0.6);
}

#frozen_intro #frozen_intro_items + div > div > section > p.notice {
  margin-top: 10px;
  max-width: 960px;
  text-align: right;
}

#frozen_intro #frozen_intro_items + div + div {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
  margin: 40px 0;
}

#frozen_intro #frozen_intro_items + div + div  > a {
  display: block;
}


/* frozen_scale */
#frozen_scale h2 em {
  position: relative;
  display: inline-block;
  color: #00a0e9;
  padding: 40px 0 15px;
  line-height: 1.1;
  text-align: center;
  font-size: clamp(4.5rem, 4.88vw, 5rem);
  font-weight: 700;
}

#frozen_scale  h2 em > b {
  display: block;
  margin-top: 10px;
  font-weight: bold;
  font-size: 2.2rem;
}

#frozen_scale  h2 em > span.balloon_large {
  position: absolute;
	top: 1rem;
	right: -2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 2rem;
	background: #d71518;
	box-shadow: 0 0.2rem 0 0 rgba(0, 0, 0, .1);
	border-radius: 100%;
	text-align: center;
	transform: translateX(calc(100% - 1rem)) translateY(-50%);
}

#frozen_scale  h2 em > span.balloon_large > b {
  position: relative;
  margin: 0;
  color: #fff;
  font-size: 2.8rem;
	text-shadow: 0 .2rem 0  rgba(76, 36, 0, .25), 0 0 .5rem rgba(178, 83, 0, .5);
  z-index: 1;
}

#frozen_scale  h2 em > span.balloon_large > i {
  display: block;
	margin: .25rem 0;
	font-weight: bold;
	font-size: 1.6rem;
}

#frozen_scale  h2 em > span.balloon_large > i {
  position: absolute;
	top: 70%;
	left: 0;
	z-index: -1;
	width: 2rem;
	height: 3rem;
	background: #d71518;
	clip-path: polygon(0 100%, 65% 0, 100% 65%);
	transform: translateY(-50%);
	content: "";
}

#frozen_scale  h2 em > span.balloon_large::before {
  position: absolute;
	top: .1rem;
	left: 0.1rem;
	width: calc(100% - .2rem);
	height: calc(100% - .3rem);
	background: linear-gradient(to top, rgba(255, 255, 255, .6) , transparent, rgba(255, 255, 255, .6) );
	border-radius: 100%;
	mix-blend-mode: screen;
	content: "";
}

#frozen_scale  h2 em > span.balloon_large::after {
  position: absolute;
	top: .2rem;
	left: .2rem;
	width: calc(100% - .4rem);
	height: calc(100% - .5rem);
	background: #d71518;
	box-shadow: inset 0 0.1rem 0 0 #d71518;;
	border-radius: 100%;
	content: "";
}

#frozen_scale  h2 + div { 
  position: relative;
  padding: 10px 30px;
  margin: 40px auto 0;
  width: 240px;
  border-radius: 5px;
  text-align: center;
  background: #2150a2;
  color: #fff;
  font-size: 3rem;
}

#frozen_scale  h2 + div::before  { 
  content: "";
  position: absolute;
  bottom: -18px;
  right: 43%;
  transform: translateX(-45%);
  border: 10px solid transparent;
  border-top: 10px solid #2150a2;
}

#frozen_scale > dl {
  margin: 40px 0 15px;
}

#frozen_scale > dl > dt {
  text-align: center;
  font-size: 2.6rem;
}

#frozen_scale > dl > dd {
  text-align: center;
  font-size: 2.6rem;
}

#frozen_scale > dl > dd > span {
  padding-left: 10px;
  color: #d71518;
  font-size: 6rem;
  font-weight:700;
}

#frozen_scale figure {
  padding: 40px 0;
}

#frozen_scale figure img {
  margin: 0 auto;
  padding: 20px;
  max-width: 960px;
  background: rgba(236, 236, 236, 0.6);
}

/* frozen_product */
#frozen_product ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 50px;
  margin: 40px 0;
}

#frozen_product ul li {
  position: relative;
  height: 385px;
  box-shadow: 5px 5px 20px rgba(19,7,0,0.55);
  border-radius: 200px;
  overflow: hidden;
  transform: scale(1);
  transition: all 0.4s ease-in-out;
}

#frozen_product ul li:hover {
  transform: scale(1.2);
}

#frozen_product ul li > div {
  display: flex;
  position: relative;
  border-radius: 200px;
  margin-bottom: 25px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

#frozen_product ul li > div::after {
  display: block;
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: rgb(19, 7, 0);
  opacity: 0.5;
  border-radius: 60px;
  overflow: hidden;
  z-index: 2;
  content: "";
}

#frozen_product ul li:first-of-type > div {
  background: url(../img/exhibit/pickup/img-frozen-product02.jpg) no-repeat right center;
  background-size: cover;
}

#frozen_product ul li:nth-child(2) > div {
  background: url(../img/exhibit/pickup/img-frozen-product03.jpg) no-repeat left center;
  background-size: cover;
}

#frozen_product ul li:nth-child(3) > div {
  background: url(../img/exhibit/pickup/img-frozen-product01.jpg) no-repeat center center;
  background-size: cover;
}

#frozen_product ul li:nth-child(4) > div {
  background: url(../img/exhibit/pickup/img-frozen-product05.jpg) no-repeat left center;
  background-size: cover;
}

#frozen_product ul li:last-child > div {
  background: url(../img/exhibit/pickup/img-frozen-product04.jpg) no-repeat left center;
  background-size: cover;
}

#frozen_product ul li p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: clamp(2rem, 2.34vw, 2.4rem);
  z-index: 3;
  transition: all 0.4s ease-in-out;
}

#frozen_product ul li p > span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0 10px;
  width: 100%;
  transition: all 0.4s ease-in-out;
  font-size: clamp(2rem, 2.34vw, 2.4rem);
  font-weight: 700;
  opacity: 1;
}

#frozen_product ul li p > b {
  position: absolute;
  top: -20px;
  right: 0;
  display: block;
  padding: 10px 15px 10px 10px;
  background: #d71518;
  color: #fff;
  font-size: clamp(2rem, 2.34vw, 2.4rem);
}

#frozen_product ul li p em {
  display: block;
  padding: 0 10px;
  width: 100%;
  transition: all 0.4s ease-in-out;
  font-size: clamp(2rem, 2.34vw, 2.4rem);
  font-weight: 700;
  opacity: 0;
}

#frozen_product ul li > div:hover > p span,
#frozen_product ul li > div:hover > p b {
  opacity: 0;
}

#frozen_product ul li > div:hover > p em {
  opacity: 1;
}

/* frozen_merit */
#frozen_merit #frozen_merit_items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  padding: 40px 0;
}

#frozen_merit #frozen_merit_items > div {
  display: flex;
  position: relative;
  border-radius: 60px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

#frozen_merit #frozen_merit_items > div:first-child {
  background: url(../img/exhibit/pickup/img-frozen-merit_bg01.jpg) no-repeat center center;
  background-size: cover;
}

#frozen_merit #frozen_merit_items > div:nth-child(2) {
  background: url(../img/exhibit/pickup/img-frozen-merit_bg02.jpg) no-repeat center center;
  background-size: cover;
}

#frozen_merit #frozen_merit_items > div:nth-child(3) {
  background: url(../img/exhibit/pickup/img-frozen-merit_bg03.jpg) no-repeat center center;
  background-size: cover;
}

#frozen_merit #frozen_merit_items > div:last-child {
  background: url(../img/exhibit/pickup/img-frozen-product.jpg) no-repeat center center;
  background-size: cover;
}

#frozen_merit #frozen_merit_items > div::after {
  position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
    background: rgb(19, 7, 0);
    opacity: 0.5;
    border-radius: 60px;
    overflow: hidden;
    z-index: 2;
}

#frozen_merit #frozen_merit_items > div > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: #fff;
  z-index: 3;
  padding: 60px 10px;
}

#frozen_merit #frozen_merit_items > div > div > span {
  display: block;
  margin-bottom: 10px;
  text-align: center;
}

#frozen_merit #frozen_merit_items > div > div > span > img {
  width: 90px;
  height: auto;
}

#frozen_merit #frozen_merit_items > div > div > p {
  line-height: 1.2;
  text-align: center;
  font-size: clamp(2rem, 2.53vw, 2.6rem);
}

#frozen_merit #frozen_merit_items > div > div > p > span {
  display: block;
  font-size: clamp(2.2rem, 3.32vw, 3.4rem);
  font-weight: 700;
}

#frozen_merit #frozen_merit_items + div {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
  margin: 40px 0;
}

#frozen_merit #frozen_merit_items + div > a {
  display: block;
}


/* frozen_future */
#frozen_future > figure {
  padding: 40px 0 15px;
}

#frozen_future > figure + p {
  padding: 40px 0;
  line-height: 1.2;
  font-size: 2.8rem;
  font-weight: 400;
  text-align: center;
}

#frozen_future > h3 {
  margin: 40px 0 15px;
  padding: 10px;
  background: #c7e5f5;
  color: #2150a2;
  font-weight: 600;
  font-size: 3rem;
  text-align: center;
}

#frozen_future > div:first-of-type {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 30px;
  padding: 0 0 40px;
}

#frozen_future > div:first-of-type > div {
  position: relative;
}

#frozen_future > div:first-of-type > div > figure {
  display: flex;
  position: relative;
  max-height: 240px;
  border-radius: 30px;
  overflow: hidden;
}

#frozen_future > div:first-of-type > div > figure::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(180deg, transparent 45.5%, #000000 106.5%);
  content: '';
}

#frozen_future > div:first-of-type > div > figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 3 / 2;
}

#frozen_future > div:first-of-type > div > p {
  position: absolute;
  bottom: 10%;
  left: 5%;
  padding-right: 10px;
  color: #fff;
  font-weight: bold;
  font-size: clamp(2rem, 2.14vw, 2.2rem);
  text-align: left;
  line-height: 1.2;
  z-index: 3;
}


#frozen_future > div:first-of-type + div > h3 {
  margin: 40px 0 15px;
  padding: 10px;
  background: #c7e5f5;
  color: #2150a2;
  font-weight: 600;
  font-size: clamp(2.8rem, 2.92vw, 3rem);
  text-align: center;
}

#frozen_future > div:first-of-type + div > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 40px;
}

#frozen_future > div:first-of-type + div > div > figure img {
  border-radius: 30px;
  object-fit: cover;
}


#frozen_future > div:nth-of-type(3) {
  display: flex;
  gap: 30px;
}

#frozen_future > div:nth-of-type(3) dl {
  margin-bottom: 40px;
  width: calc(50% - 20px);
}

#frozen_future > div:nth-of-type(3) dl dt {
  margin: 40px 0 15px;
  padding: 10px;
  background: #c7e5f5;
  color: #2150a2;
  font-weight: 600;
  font-size: clamp(2.8rem, 2.92vw, 3rem);
  text-align: center;
}

#frozen_future > div:nth-of-type(3) dl dd > ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 10px;
  row-gap: 10px;
}

#frozen_future > div:nth-of-type(3) dl dd > ul > li {
  padding: 10px 10px 10px 15px;
  border-bottom: 1px solid #00a0e9;
  background: #fff;
  font-size: 2rem;
}

#frozen_future > div:nth-of-type(3) + h3 {
  margin: 40px 0 15px;
  padding: 10px;
  background: #c7e5f5;
  color: #2150a2;
  font-weight: 600;
  font-size: clamp(2.8rem, 2.92vw, 3rem);
  text-align: center;
}

#frozen_future > div:nth-of-type(4) {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 40px;
}

#frozen_future .video_wrapper iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}

#frozen_future .video_wrapper iframe + p {
  margin-top: 10px;
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
}


@media (max-width: 768px) {
  #zone_frozen .wrapper_limit {
    padding: 0;
  }
  
  #zone_frozen { padding-bottom: 10.67vw;}
  #zone_frozen_hero {margin-top: -2.67vw;}

  #zone_frozen .img_scale {
    transform: none;
    opacity: 1;
    transition: none;
  }
  
  #zone_frozen .img_scale.visible {
    transform: none;
    opacity: 1;
  }

  #zone_frozen #breadcrumbs {
    margin-top: 1.34vw;
    padding-top: 5.34vw;
  }

  #zone_frozen h2 {
    padding: 5.34vw 0 2.67vw;
    font-size: 2.8rem;
  }

  #zone_frozen h2 b {
    margin-top: 1.33vw;
    font-size: 1.8rem;
  }

  #zone_frozen h2.fade_in_contents {
    opacity: 1;
    transition: none;
    transform: none;
  }
  
  #zone_frozen .boxlink_frozen {
    padding: 1.33vw 4vw;
    font-size: 1.6rem;
  }

  #zone_frozen h2.fade_in_contents.visible {
    opacity: 1;
    transition: none;
  }

  #zone_frozen .fade_in_contents {
    transform: translateY(-50px);
    transition: opacity 0.5s ease, transform 0.5s ease;
  }
  /* frozen_intro */
    #frozen_intro > p.fade_in_contents.visible {
      opacity: 1;
      transition: none;
    }  
  
    #frozen_intro > p {
      margin: 5.34vw 0 2.67vw;
      font-size: 1.8rem;
      text-align: left;
    }
    
    #frozen_intro > p > em {
      padding-bottom: 2.67vw;
      font-size: 2.8rem;
      text-align: center;
    }
    
    #frozen_intro #frozen_intro_items {
      grid-template-columns: 1fr;
      gap: 4vw;
      padding: 5.34vw 0;
    }
    
    #frozen_intro #frozen_intro_items > div {
      border-radius: 8vw;
      margin-bottom: 4.27vw;
    }
    
    #frozen_intro #frozen_intro_items > div::after {
      border-radius: 8vw;
    }
    
    #frozen_intro #frozen_intro_items > div > div {
      padding: 6.67vw 2.67vw;
    }
    
    #frozen_intro #frozen_intro_items > div > div > span {
      margin-bottom: 2.67vw;
    }
    
    #frozen_intro #frozen_intro_items > div > div > p {
      font-size: 2rem;
    }

    #frozen_intro #frozen_intro_items + div > p.fade_in_contents.visible {
      opacity: 1;
      transition: none;
    }
    
    #frozen_intro #frozen_intro_items + div > p {
      margin: 5.34vw auto 2.67vw;
      font-size: 1.8rem;
      text-align: left;
    }
    
    #frozen_intro #frozen_intro_items + div > div {
      padding: 5.34vw 0;
    }
    
    #frozen_intro #frozen_intro_items + div > div > section {
      width: 100%;
    }
    
    #frozen_intro #frozen_intro_items + div > div > section > h3 {
      margin-bottom: 2.67vw;
      padding: 2.67vw;
      font-size: 2rem;
    }

    #frozen_intro #frozen_intro_items > div:nth-child(3) {
      background: url(../img/exhibit/pickup/img-frozen-reason_bg_03.jpg) no-repeat center top;
      background-size: cover;
    }

    #frozen_intro #frozen_intro_items + div > p > span {
      padding-left: 1.34vw;
      font-size: 1.8rem;
    }

    #frozen_intro #frozen_intro_items + div + div {
      flex-direction: column;
      margin: 5.34vw 0;
      gap: 2.67vw;
    }

    /* frozen_scale */

    #frozen_scale h2 em {
      padding: 5.34vw 0 2.67vw;
      font-size: 2.8rem;
    }

    #frozen_scale  h2 em > b {
      margin-top: 1.33vw;
      font-size: 1.8rem;
    }
    
    #frozen_scale  h2 em > span.balloon_large {
      position: relative;
      top: 0;
      right: 0;
      width: fit-content;
      border-radius: 2rem;
      margin: 0 auto 3rem;
      padding: 2.67vw 10.67vw;
      transform: none;
    }

    #frozen_scale  h2 em > span.balloon_large > b {
      font-size: 1.6rem;
    }

    #frozen_scale  h2 em > span.balloon_large > i {
      font-size: 2.4rem;
    }

    #frozen_scale  h2 em > span.balloon_large > i {
      top: calc(100% - 1rem);
      left: 50%;
      width: 30px;
      height: 30px;
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      transform: translateX(-50%);
      z-index: 3;
    }

    #frozen_scale  h2 em > span.balloon_large::before,
    #frozen_scale  h2 em > span.balloon_large::after {
      border-radius: 2rem;
    }

    #frozen_scale > div.fade_in_contents.visible {
      opacity: 1;
      transition: none;
    }

    #frozen_scale > div > dl {
      margin: 5.34vw 0 2.67vw;
    }

    #frozen_scale > dl > dt {
      font-size: 1.8rem;
    }
    
    #frozen_scale > dl > dd {
      font-size: 1.8rem;
    }
    
    #frozen_scale > dl > dd > span {
      padding-left: 2.67vw;
      font-size: 3rem;
    }
    
    #frozen_scale figure {
      padding: 5.34vw 0;
    }

    #frozen_scale figure img.img_scale.visible {
      transform: translate(0px, 0%);
      opacity: 1;
    }
    
    #frozen_scale  h2 + div { 
      padding: 2.67vw;
      margin: 5.34vw auto 1.34vw;
      width: 300px;
      font-size: 1.8rem;
    }
    
    /* frozen_product */
    
    #frozen_product ul {
      grid-template-columns: 1fr;
      gap: 4vw;
      margin: 5.34vw 0;
    }
    
    #frozen_product ul li {
      width: 100%;
      height: auto;
      border-radius: 8vw;
      transform: none;
      transition: none;
    }
    
    #frozen_product ul li:hover {
      transform: none;
    }
    
    #frozen_product ul li > div {
      border-radius: 8vw;
      margin-bottom: 4.27vw;
    }
    
    #frozen_product ul li > div::after {
      border-radius: 8vw;
    }
    
    #frozen_product ul li p {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      position: static;
      transform: none;
      padding: 6.67vw 2.67vw;
      font-size: 2rem;
      transition: none;
    }
    
    #frozen_product ul li p > span {
      position: static;
      transform: none;
      padding: 0 1.34vw 2.67vw;
      transition: none;
      font-size: 2.4rem;
    }
    
    #frozen_product ul li p em {
      padding: 0 2.67vw;
      transition: none;
      font-size: 2rem;
      font-weight: 400;
      opacity: 1;
    }
    
    #frozen_product ul li p > b {
      top: 10px;
      padding: 1.34vw 2.67vw 1.34vw 1.34vw;
      font-size: 2rem;
    }

    #frozen_product ul li > div:hover > p span,
    #frozen_product ul li > div:hover > p b {
      opacity: 1;
    }
    
    /* frozen_merit */
    #frozen_merit #frozen_merit_items {
      grid-template-columns: 1fr;
      gap: 4vw;
      padding: 4.27vw 0;
    }
    
    #frozen_merit #frozen_merit_items > div {
      border-radius: 8vw;
      margin-bottom: 4.27vw;
    }
    
    #frozen_merit #frozen_merit_items > div::after {
      border-radius: 8vw;
    }
    
    #frozen_merit #frozen_merit_items > div > div {
      padding: 6.67vw 2.67vw;
    }
    
    #frozen_merit #frozen_merit_items > div > div > span {
      display: block;
      margin-bottom: 2.67vw;
      text-align: center;
    }
    
    #frozen_merit #frozen_merit_items > div > div > span > img {
      width: 55px;
      height: 60px;
    }
    
    #frozen_merit #frozen_merit_items > div > div > p {
      font-size: 2rem;
    }
    
    #frozen_merit #frozen_merit_items > div > div > p > span {
      font-size: 2.4rem;
    }
    
    #frozen_merit #frozen_merit_items + div {
      flex-direction: column;
      margin: 5.34vw 0;
      gap: 2.67vw;
    }
    
    /* frozen_future */
    #frozen_future > figure {
      padding: 40px 0 15px;
    }

    #frozen_future > figure + p.fade_in_contents.visible {
      opacity: 1;
      transition: none;
    }
    
    #frozen_future > figure + p {
      padding: 5.34vw 0 2.67vw;
      font-size: 1.8rem;
      text-align: left;
    }
    
    #frozen_future > h3 {
      margin: 5.34vw 0 2.67vw;
      padding: 1.34vw;
      font-size: 2rem;
    }
    
    #frozen_future > div:first-of-type {
      grid-template-columns: 1fr;
      grid-template-rows: 1fr;
      gap: 4vw;
      padding: 0 0 4.27vw;
    }
    
    #frozen_future > div:first-of-type > div > figure {
      max-height: 200px;
      border-radius: 8vw;
    }
    
    #frozen_future > div:first-of-type > div > figure img {
      width: 100%;
      height: auto;
      object-fit: cover;
    }
    
    #frozen_future > div:first-of-type > div > p {
      padding-right: 1.34vw;
      font-size: 2rem;
    }
    
    #frozen_future > div:first-of-type + div > h3 {
      margin: 5.34vw 0 2.67vw;
      padding: 1.34vw;
      font-size: 2rem;
    }
    
    #frozen_future > div:first-of-type + div > div {
      grid-template-columns: 1fr;
      gap: 4vw;
      margin-bottom: 4.27vw;
    }
    
    #frozen_future > div:first-of-type + div > div > figure img {
      border-radius: 8vw;
      object-fit: cover;
    }
    
    #frozen_future > div:nth-of-type(3) {
      flex-direction: column;
      gap: 4vw;
    }

    #frozen_future > div:nth-of-type(3) + h3 {
      margin: 5.34vw 0 2.67vw;
      padding: 1.34vw;
      font-size: 2rem;
    }
    
    #frozen_future > div:nth-of-type(3) dl {
      margin-bottom: 5.34vw;
      width: 100%;
    }
    
    #frozen_future > div:nth-of-type(3) dl dt {
      margin: 5.34vw 0 2.67vw;
      padding: 1.34vw;
      font-size: 2rem;
    }
    
    #frozen_future > div:nth-of-type(3) dl dd > ul {
      grid-template-columns: 1fr;
      column-gap: 1.34vw;
      row-gap: 1.34vw;
    }
    
    #frozen_future > div:nth-of-type(3) dl dd > ul > li {
      padding: 1.34vw;
      border-bottom: 1px solid #00a0e9;
      font-size: 1.8rem;
    }
    
    #frozen_future > div:nth-of-type(4) {
      grid-template-columns: 1fr;
      gap: 4vw;
      margin: 0 0 4.27vw;
    }
    
    #frozen_future > figure + p .pc {
      display: none;
    }
}



/*===== ■12. FOODEX WINE =====*/
/* Pickup WINE */
#zone_wine_hero {
  display: flex;
  justify-content: center;
}

#zone_wine_hero img {
  width: 6000px;
  max-width: 100%;
}

#zone_wine {
  position: relative;
  background: url(../img/exhibit/pickup/bg-wine.jpg) no-repeat bottom center / cover;
  background-attachment: fixed;
  padding-bottom: 100px;
}

#zone_wine #breadcrumbs {
  margin-top: 5px;
  padding-top: 20px;
}

#zone_wine .fade_in_contents {
  opacity: 0;
  transform: translateY(-50px);
  transition: opacity 1s ease, transform 0.5s ease;
}

#zone_wine .fade_in_contents.visible {
  opacity: 1;
  transform: translate(0px, 0%);
}

#zone_wine .img_scale {
  transform: scale(1.2);
  opacity: 0;
  transition: all 0.7s ease-in-out 0.5s;
}

#zone_wine .img_scale.visible {
  transform: scale(1);
  opacity: 1;
}

#zone_wine .wrapper_limit {
  width: 85%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0;
}

#zone_wine h2 {
  color: #f4b328;
  padding: 40px 0 15px;
  line-height: 1.1;
  text-align: center;
  font-size: 5rem;
  font-weight: 400;
}

#zone_wine h2 b {
  display: block;
  margin-top: 10px;
  font-weight: bold;
  font-size: 2.2rem;
}

#zone_wine .boxlink_wine {
  display: inline-block;
  position: relative;
  padding: 10px 30px;
  border-radius: 30px;
  background: #f4b328;
  transition: 0.5s ease-in;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
  font-weight: 600;
  font-size: 1.8rem;
  z-index: 1;
  &::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
    opacity: 0;
    background: inherit;
    background-size: 380%;
    animation: gradient 6s ease-in-out infinite;
    transition: opacity 0.5s ease-in-out;
  }
  &:hover {
		transform: scale(1.1);
  }
}

/* wine_intro */
#wine_intro > p {
  margin-top: 60px;
  color: #d71518;
  font-weight: 600;
  font-size: 7.5rem;
  line-height: 1.2;
  text-align: center;
}

#wine_intro span#wine_intro_movie {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}

#wine_intro span#wine_intro_movie iframe {
  aspect-ratio:16 / 9;
  width:50%;
  max-width: 640px;
  height:100%;
}

#wine_intro > div {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 30px;
  padding: 40px 0;
}

#wine_intro > div + div {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
}

#wine_intro > div > div p {
  margin-bottom: 20px;
  line-height: 1.2;
  font-size: 2.8rem;
  font-weight: 400;
}

#wine_intro > div > div p:last-of-type {
  color: #f4b328;
}

#wine_intro > div figure {
  display: flex;
}

#wine_intro > div figure img {
  width: 80%;
  margin: 0 auto;
  border-radius: 30px;
  object-fit: cover;
  /*aspect-ratio: 261 / 200;*/
}

/* wine_map */
#wine_map > p {
  margin: 40px auto 30px;
  line-height: 1.2;
  font-size: 2.8rem;
  font-weight: 400;
  text-align: center;
}

#wine_map > figure {
  margin-bottom: 40px;
}

#wine_map > figure img {
  max-width: 100%;
}


/* wine_merit */
#wine_merit #wine_merit_items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin: 40px 0;
}

#wine_merit #wine_merit_items > div {
  display: flex;
  position: relative;
  border-radius: 60px;
  margin-bottom: 25px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

#wine_merit #wine_merit_items > div:first-child {
  background: url(../img/exhibit/pickup/img-wine-intro04.jpg) no-repeat center center;
  background-size: cover;
}

#wine_merit #wine_merit_items > div:nth-child(2) {
  background: url(../img/exhibit/pickup/img-wine-intro02.jpg) no-repeat center center;
  background-size: cover;
}

#wine_merit #wine_merit_items > div:nth-child(3) {
  background: url(../img/exhibit/pickup/img-wine-intro03.jpg) no-repeat center center;
  background-size: cover;
}

#wine_merit #wine_merit_items > div:last-child {
  background: url(../img/exhibit/pickup/img-wine-intro05.jpg) no-repeat center center;
  background-size: cover;
}

#wine_merit #wine_merit_items > div::after {
  position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
    background: rgb(19, 7, 0);
    opacity: 0.5;
    border-radius: 60px;
    overflow: hidden;
    z-index: 2;
}

#wine_merit #wine_merit_items > div > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: #fff;
  z-index: 3;
  padding: 60px 10px;
}

#wine_merit #wine_merit_items > div > div > span {
  display: block;
  margin-bottom: 10px;
  text-align: center;
}

#wine_merit #wine_merit_items > div > div > span > img {
  width: 55px;
  height: 60px;
}


#wine_merit #wine_merit_items > div > div > em {
  display: block;
  margin-bottom: 10px;
  padding: 0 10px;
  width: 100%;
  text-align: center;
  line-height: 1;
  font-weight: 700;
  font-size: 8rem;
  box-sizing:border-box;
  overflow-wrap:break-word;
}

#wine_merit #wine_merit_items > div > div > em > span {
  font-size: 3rem;
}

#wine_merit #wine_merit_items > div > div > em > b {
  padding-left: 5px;
  font-size: 8rem;
}

#wine_merit #wine_merit_items > div > div > p {
  line-height: 1.2;
  text-align: center;
  font-size: 2.6rem;
}

/* wine_discover */
#wine_discover > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  padding: 40px 0;
}

#wine_discover > div > p {
  margin-bottom: 20px;
  line-height: 1.2;
  font-size: 2.8rem;
}

#wine_discover > div > figure {
  display: flex;
}

#wine_discover > div > figure img {
  width: 80%;
  margin: 0 auto;
  border-radius: 30px;
  object-fit: cover;
  aspect-ratio: 261 / 200;
}

#wine_discover #wine_discover_item {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 30px;
}

#wine_discover #wine_discover_item > div {
  display: flex;
  position: relative;
  border-radius: 60px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  grid-column: 3 / 5;
  z-index: 1;
}

#wine_discover #wine_discover_item  > div:last-child {
  background: url(../img/exhibit/pickup/img-wine-discover02.jpg) no-repeat center center;
}

#wine_discover #wine_discover_item > div::after {
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: block;
  content: "";
  background: rgb(19, 7, 0);
  opacity: 0.5;
  border-radius: 60px;
  overflow: hidden;
  z-index: 2;
}

#wine_discover #wine_discover_item  > div > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: #fff;
  padding: 20px 10px;
  z-index: 3;
}

#wine_discover #wine_discover_item  > div > div > span {
  display: block;
  margin-bottom: 10px;
  text-align: center;
}

#wine_discover #wine_discover_item  > div > div > span > img {
  width: 50px;
  height: auto;
}

#wine_discover #wine_discover_item  > div > div > em {
    display: block;
    margin-bottom: 10px;
    padding: 0 10px;
    width: 100%;
    text-align: center;
    line-height: 1;
    font-weight: 700;
    font-size: 6rem;
    box-sizing: border-box;
    overflow-wrap: break-word;
}

#wine_discover #wine_discover_item  > div > div > em > span {
  font-size: 3rem;
}

#wine_discover #wine_discover_item  > div > div > em > b {
  padding-left: 5px;
  font-weight: 700;
  font-size: 6rem;
}

#wine_discover #wine_discover_item  > div > div > p {
  line-height: 1.2;
  text-align: center;
  font-size: 2.6rem;
}

#wine_discover #wine_discover_item + div {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
}

#wine_discover #wine_discover_images {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 30px;
  padding-bottom: 40px;
}

#wine_discover #wine_discover_images > figure:first-child {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}

#wine_discover #wine_discover_images > figure:nth-child(2) {
  grid-column: 3 / 5;
  grid-row: 1 / 2;
}

#wine_discover #wine_discover_images > figure:nth-child(3) {
  grid-column: 5 / 7;
  grid-row: 1 / 2;
}

#wine_discover #wine_discover_images > figure:nth-child(4) {
  grid-column: 2 / 4;
  grid-row: 2 / 3;
}

#wine_discover #wine_discover_images > figure:last-child {
  grid-column: 4 / 6;
  grid-row: 2 / 3;
}

#wine_discover #wine_discover_images > figure img {
  max-width: 436px;
  margin: 0 auto;
  width: 100%;
}


#wine_discover #wine_discover_images + div {
  display: grid;
  grid-template-columns: repeat(2,calc(50% - 30px));
  gap: 30px;
  margin-bottom: 20px;
  padding: 0;
}

#wine_discover #wine_discover_images + div > figure:first-child img {
  display: flex;
  justify-content: flex-start;
  margin: 0 0 0 auto;
  max-width: 436px;
  width: 100%;
}

#wine_discover #wine_discover_images + div > figure:nth-child(2) img {
  display: flex;
  justify-content: flex-start;
  margin: 0 auto 0 0;
  max-width: 436px;
  width: 100%;
}

/* wine_buyers */
#wine_buyers #wine_buyers_items {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 30px;
  margin: 40px 0;
}

#wine_buyers #wine_buyers_items > div {
  display: flex;
  position: relative;
  border-radius: 60px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

#wine_buyers #wine_buyers_items > div:first-child {
  background: url(../img/exhibit/pickup/img-wine-intro02.jpg) no-repeat center center;
  background-size: cover;
}

#wine_buyers #wine_buyers_items > div:nth-child(2) {
  background: url(../img/exhibit/pickup/img-wine-intro03.jpg) no-repeat center center;
  background-size: cover;
}

#wine_buyers #wine_buyers_items > div:last-child {
  background: url(../img/exhibit/pickup/img-wine-intro01.jpg) no-repeat center center;
  background-size: cover;
}

#wine_buyers #wine_buyers_items > div::after {
  position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
    background: rgb(19, 7, 0);
    opacity: 0.5;
    border-radius: 60px;
    overflow: hidden;
    z-index: 2;
}

#wine_buyers #wine_buyers_items > div > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: #fff;
  z-index: 3;
  padding: 20px 10px;
}

#wine_buyers #wine_buyers_items > div > div > span {
  display: block;
  margin-bottom: 10px;
  text-align: center;
}

#wine_buyers #wine_buyers_items > div > div > span > img {
  width: 50px;
  height: auto;
}

#wine_buyers #wine_buyers_items > div > div > em {
  display: block;
  margin-bottom: 10px;
  padding: 0 10px;
  width: 100%;
  text-align: center;
  line-height: 1;
  font-weight: 700;
  font-size: 6rem;
  box-sizing:border-box;
  overflow-wrap:break-word;
}

#wine_buyers #wine_buyers_items > div > div > em > span {
  font-size: 3rem;
}

#wine_buyers #wine_buyers_items > div > div > em > b {
  padding-left: 5px;
  font-size: 6rem;
}

#wine_buyers #wine_buyers_items > div > div > p {
  line-height: 1.2;
  text-align: center;
  font-size: 2.6rem;
}

/* wine_list */
#wine_list > p {
  margin: 40px auto 30px;
  line-height: 1.2;
  font-size: 2.8rem;
  font-weight: 400;
  text-align: center;
}

#wine_list > p > b {
  color: #d71518;
  font-size: 2.8rem;
  font-weight: 600;
}
#wine_list > div {
  padding: 40px 0;
}
#wine_list > div > table {
  margin-bottom: 60px;
  border: solid 2px #f0db8c;
  border-collapse: separate;
  table-layout: fixed;

}
#wine_list > div > table tr th {
  padding: 10px;
  border: solid 2px #F2F2F2;
  text-align: center;
  background: #B18732;
  color: #fff;
  font-weight: 600;
  font-size: 3rem;
  text-align: center;
}

#wine_list > div > table tr td {
  padding: 5px 0;
  border: solid 2px #F2F2F2;
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  background: #fff;
}

#wine_list > div > table tr td:nth-child(2n) {
  border-left: solid 2px #f0db8c;
}

#wine_list > div > table tr:nth-child(2),
#wine_list > div > table tr:nth-child(4),
#wine_list > div > table tr:nth-child(6),
#wine_list > div > table tr:nth-child(8),
#wine_list > div > table tr:nth-child(10),
#wine_list > div > table tr:nth-child(12)
 {
  color: #B18732;
}

#wine_list > div > table + p {
  margin: 40px auto 30px;
  line-height: 1.2;
  font-size: 2.8rem;
  font-weight: 400;
  text-align: center;
}

#wine_list > div > div {
  display: flex;
  justify-content: center;
  padding: 40px 0 0;
}


/* wine_scenes */
#wine_scenes h2 + div {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 30px;
  margin: 40px 0 10px;
}

#wine_scenes h2 + div > figure > img {
  border-radius: 30px;
  object-fit: cover;
}

#wine_scenes #wine_scenes_slider ul li img {border-radius: 30px;}

#wine_scenes #wine_scenes_slider ul {
  padding: 0;
  width: 100%;
  background: transparent;
}

#wine_scenes #wine_scenes_slider ul > div.slick-list {margin: 0 -10px; }

#wine_scenes #wine_scenes_slider ul li.slick-slide {margin: 10px;}


@media (max-width: 1024px) {
  #zone_wine .boxlink_wine {
    padding: 1.33vw 4vw;
    font-size: 1.6rem;
  }

  #zone_wine h2 {font-size: 4.5rem;}

  /* wine_intro */
  #wine_intro  span#wine_intro_movie { margin: 5.86vw 0;}

  #wine_intro  span#wine_intro_movie iframe {width: 100%;}

  #wine_intro > p {font-size: 5rem;}

  /* wine_merit */
  #wine_merit #wine_merit_items > div > div {padding: 5.86vw 0;}
  #wine_merit #wine_merit_items > div > div > em {
    padding: 0;
    font-size: 7rem;
  }

  #wine_merit #wine_merit_items > div > div > p { font-size: 2rem;}
  #wine_merit #wine_merit_items > div > div > em > span {
    font-size: 2rem;
  }

  /* wine_discover */
  #wine_discover #wine_discover_item > div > div > em {
    padding: 0;
    font-size: 4rem;
  }
  
  #wine_discover #wine_discover_item > div > div > em > span {
    font-size: 2rem;
  }

    #wine_discover #wine_discover_item > div > div > p {
    font-size: 2rem;
  }

  /* wine_buyers */
  #wine_buyers #wine_buyers_items > div > div > em {
    padding: 0;
    font-size: 4rem;
  }
  #wine_buyers #wine_buyers_items > div > div > p {
    font-size: 2rem;
  }
  #wine_list > div > table tr th {
    font-size: 2.8rem;
  }
}

@media (max-width: 768px) {
  #zone_wine .wrapper_limit {
    padding: 0;
}
  #zone_wine { padding-bottom: 10.67vw;}

  #zone_wine_hero {margin-top: -2.67vw;}

  #zone_wine .img_scale {
    transform: none;
    opacity: 1;
    transition: none;
  }
  
  #zone_wine .img_scale.visible {
    transform: none;
    opacity: 1;
  }

  #zone_wine #breadcrumbs {
    margin-top: 1.34vw;
    padding-top: 5.34vw;
  }

  #zone_wine h2 {
    padding: 5.34vw 0 2.67vw;
    font-size: 2.8rem;
  }

  #zone_wine h2 b {
    margin-top: 1.33vw;
    font-size: 1.8rem;
  }

  #zone_wine h2.fade_in_contents {
    opacity: 1;
    transition: none;
    transform: none;
  }

  #zone_wine h2.fade_in_contents.visible {
    opacity: 1;
    transition: none;
  }

  #zone_wine .fade_in_contents {
    transform: translateY(-50px);
    transition: opacity 0.5s ease, transform 0.5s ease;
  }

  /* wine_intro */
  #wine_intro > p {
    margin-top: 6.67vw;
    font-size: 2.8rem;
  }

  #wine_intro span#wine_intro_movie { margin: 5.34vw 0;}

  #wine_intro > div {
    grid-template-columns: 1fr;
    gap: 4vw;
    padding: 5.34vw 0;
  }
  
  #wine_intro > div + div {
    flex-direction: column;
    gap: 2.67vw;
  }
  
  #wine_intro > div > div p {
    margin-bottom: 0;
    font-size: 1.8rem;
  }

  #wine_intro .fade_in_contents {
    opacity: 1;
    transition: none;
    transform: none;
  }
  
  #wine_intro .fade_in_contents.visible {
    opacity: 1;
    transition: none;
  }

  /* wine_map */
  #wine_map > p { 
    margin: 5.34vw 0 2.67vw;
    padding: 0;
    text-align: left;
    font-size: 1.8rem;
  }

  #wine_map > figure {margin-bottom: 5.34vw;}

  #wine_map .fade_in_contents {
    opacity: 1;
    transition: none;
    transform: none;
  }
  
  #wine_map .fade_in_contents.visible {
    opacity: 1;
    transition: none;
  }

  /* wine_merit */
  #wine_merit #wine_merit_items { 
    grid-template-columns: 1fr;
    gap: 4vw;
    margin: 5.34vw 0;
  }
  
  #wine_merit #wine_merit_items > div {
    border-radius: 8vw;
    margin-bottom: 4.27vw;
  }

  #wine_merit #wine_merit_items > div::after {border-radius: 8vw;}
  #wine_merit #wine_merit_items > div > div {padding: 5.34vw 2.67vw;}

  #wine_merit #wine_merit_items > div > div > span {margin-bottom: 2.67vw;}

  #wine_merit #wine_merit_items > div > div > em { margin-bottom: 2.67vw; }

  /* wine_discover */
  #wine_discover > div { 
    grid-template-columns: 1fr;
    gap: 4vw;
    padding: 5.34vw 0;
  }

  #wine_discover > div:first-of-type.fade_in_contents {
    opacity: 1;
    transition: none;
    transform: none;
  }
  
  #wine_discover > div:first-of-type.fade_in_contents.visible {
    opacity: 1;
    transition: none;
  }
  
  #wine_discover > div > p {
    margin-bottom: 0;
    font-size: 1.8rem;
  }
  
  #wine_discover #wine_discover_item {
    grid-template-columns: 1fr;
    gap: 0;
  }
  
  #wine_discover #wine_discover_item > div {border-radius: 8vw;}
  #wine_discover #wine_discover_item > div::after {border-radius: 8vw;}
  
  #wine_discover #wine_discover_item  > div > div {padding: 5.34vw 2.67vw;}
  
  #wine_discover #wine_discover_item  > div > div > span {margin-bottom: 2.67vw;}
  
  #wine_discover #wine_discover_item  > div > div > em {
    margin-bottom: 2.67vw;
    font-size: 7rem;
  }

  #wine_discover #wine_discover_item + div {
    flex-direction: column;
    gap: 2.67vw;
  }

  #wine_discover #wine_discover_images {
    display: block;
    padding-bottom: 5.34vw;
  }

  #wine_discover #wine_discover_images > figure:not(:last-child) {
    margin-bottom: 4vw;
  }

  #wine_discover #wine_discover_images > figure img {
    border-radius: 8vw;
  }

  /* wine_buyers */
  #wine_buyers #wine_buyers_items {
    grid-template-columns: 1fr;
    gap: 4vw;
    margin: 5.34vw 0;
  }
  #wine_buyers #wine_buyers_items > div {
    border-radius: 8vw;
    margin-bottom: 4.27vw;
  }
  #wine_buyers #wine_buyers_items > div::after {border-radius: 8vw;}
  #wine_buyers #wine_buyers_items > div > div {padding: 5.34vw 2.67vw;}

  #wine_buyers #wine_buyers_items > div > div > span {margin-bottom: 2.67vw;}
  #wine_buyers #wine_buyers_items > div > div > em { 
    margin-bottom: 2.67vw;
    font-size: 7rem;
  }
  /* wine_list */

  #wine_list > p {
    margin: 5.34vw 0 2.67vw;
    padding: 0;
    text-align: left;
    font-size: 1.8rem;
  }

  #wine_list > p b {
    font-size: 1.8rem;
  }

  #wine_list > div {
    padding: 5.34vw 0 0;
  }

  #wine_list > div > table {
    margin-bottom: 5.34vw;
  }
  
  #wine_list > div > table tr th {
    padding: 1.34vw;
    vertical-align: middle;
    font-size: 2rem;
  }

  #wine_list > div > table tr td {
    padding: 1.34vw;
    vertical-align: middle;
    font-size: 1.6rem;
    text-align: left;
  }

  #wine_list > div > table tr td:nth-child(2n) {
    border-left: solid 2px #F2F2F2;
  }

  #wine_list > div > table + p {
    margin: 0;
    padding: 5.34vw 0;
    text-align: left;
    font-size: 1.8rem;
  }
  
  #wine_list > div > div {
    padding: 5.34vw 0;
  }

  /* wine_scenes */
  #wine_scenes h2 + div {
    grid-template-columns: 1fr;
    gap: 4vw;
    margin: 5.34vw 0;
  }

  #wine_scenes h2 + div > figure > img {border-radius: 8vw;}
  
  #wine_scenes #wine_scenes_slider ul li img { border-radius: 4vw;}

  #wine_scenes #wine_scenes_slider ul { margin: 0; }
  
  #wine_scenes #wine_scenes_slider ul > div.slick-list { margin: -2.67vw; }
  
  #wine_scenes #wine_scenes_slider ul li.slick-slide {margin: 2.67vw;}
}



/*===== ■13. Food AI =====*/
/* ai_vision */
#ai_vision > div.inner > p:first-child {
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
}

#ai_vision > div.inner > p:nth-child(2),
#ai_vision > div.inner > p:last-child {
  line-height: 1.8;
  text-align: center;
}

#ai_vision > div.inner > p:nth-child(2) {
  margin-bottom: 20px;
}

#ai_vision > div.inner > p:last-child {
  margin-bottom: 30px;
}

#ai_vision > div.inner > p > b {
  color: #d71518;
  font-weight: 700;
}

/* ai_taeget */
#ai_target > div.inner > div.flex2 {margin-bottom: 40px;}

#ai_target h3.tit_fill {margin-bottom: 0;}

#ai_target ul.list_dots {
  margin-bottom: 20px;
  padding : 15px;
  background: rgba(0, 0, 0, .05);
}

#ai_target ul.list_labels > li {background: rgba(0, 0, 0, .05);}

/* ai_merit */
#ai_merit > div.inner > dl {
  position: relative;
  margin: 0 0 20px 35px;
  padding: 20px 20px 20px 60px;
  background: rgba(0, 0, 0, .05);
  z-index: 1;
}

#ai_merit > div.inner > dl::before {
  content: "";
  display: inline-block;
  position: absolute;
  background: #d71518;
  /*background: linear-gradient(150deg, rgba(222, 67, 67, 0.44), rgba(216, 59, 59, 1) 36%, rgba(170, 0, 0, 1) 68%, rgba(162, 0, 0, 1) 90%);*/
  width: 70px;
  height: 70px;
  left: -35px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.29);
  z-index: 2;
}

#ai_merit > div.inner > dl::after {
  position: absolute;
  left: -28px;
  top: 50%;
  transform: translateY(-50%);
  width: 55px;
  height: 55px;
  content: "";
  z-index: 3;
}

#ai_merit > div.inner > dl:first-child::after {
  background: url(../img/exhibit/pickup/icon-ai-merit04.svg) no-repeat center center;
}

#ai_merit > div.inner > dl:nth-child(2)::after {
  background: url(../img/exhibit/pickup/icon-ai-merit01.svg) no-repeat center center;
}

#ai_merit > div.inner > dl:nth-child(3)::after {
  background: url(../img/exhibit/pickup/icon-ai-merit03.svg) no-repeat center center;
}

#ai_merit > div.inner > dl:nth-child(4)::after {
  background: url(../img/exhibit/pickup/icon-ai-merit02.svg) no-repeat center center;
}

#ai_merit > div.inner > dl dt {
  position: relative;
  margin-bottom: 10px;
  color: #d71518;
  font-weight: 700;
  font-size: 1.8rem;
}


/* ai_contents */
#ai_contents {margin-bottom: 40px;}

#ai_contents > div.inner {padding-bottom: 10px;}

#ai_contents > div.inner > ul > li {
  margin-bottom: 10px;
  padding: 10px;
  background: #fcf2f2;
  font-weight: 600;
  counter-increment: num;
}

#ai_contents > div.inner > ul > li > em {
    display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 5px;
  font-weight: 700;
  font-size: 1.8rem;
}

#ai_contents > div.inner > ul > li > em::before {
    display: block;
  margin-right: 10px;
  padding: 5px 10px;
  border-radius: 3px;
  background: #d71518;
  color: #fff;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  content: "0" counter(num);
}

#ai_contents > div.inner > ul > li > p {
  font-size: 1.4rem;
  font-weight: 500;
}

#ai_contents + div {
  display: flex;
  gap : 20px;
  margin: 0 auto;
  padding: 20px;
}

@media (max-width: 768px) {
  /* ai_vision */
  #ai_vision > div.inner > p:first-child {
    margin-bottom: 4vw;
    font-size: 1.6rem;
  }

  #ai_vision > div.inner > p:nth-child(2),
  #ai_vision > div.inner > p:last-child {
    margin-bottom: 4vw;
    line-height: 1.6;
    text-align: left;
  }
  
  #ai_vision > div.inner > p:nth-child(2) {
    margin-bottom: 4vw;
  }
  
  #ai_vision > div.inner > p:last-child {
    margin-bottom: 0;
  }

  /* ai_taeget */
  #ai_target > div.inner > div.flex2 {
    margin-bottom: 10.67vw;
  }

  #ai_target > div.inner > div.flex2:last-of-type {
    margin-bottom: 0;
  }

  #ai_target > div.inner > div.flex2 > div {
    margin-bottom: 8vw;
  }
  
  #ai_target ul.list_dots {
    margin-bottom: 5.34vw;
    padding : 4vw;
  }

  /* ai_merit */
  #ai_merit > div.inner > dl {
    margin: 13.34vw 0 5.34vw;
    padding: 13.33vw 5.34vw 5.34vw 5.34vw;
  }
  
  #ai_merit > div.inner > dl::before {
    left: 50%;
    top: -35px;
    transform: translateY(0);
    transform: translateX(-50%);
  }
  
  #ai_merit > div.inner > dl::after {
    top: -28px;
    left: 50%;
    transform: translateY(0);
    transform: translateX(-50%);
  }
  #ai_merit > div.inner > dl dt {
    margin-bottom: 2.67vw;
    font-size: 1.6rem;
  }

  /*  #ai_contents */
  #ai_contents > div.inner > ul > li {
    margin-bottom: 2.67vw;
    padding: 2.67vw;
  }
  
  #ai_contents > div.inner > ul > li > em {
    margin-bottom: 1.34vw;
  }
  
  #ai_contents > div.inner > ul > li > em::before {
    margin-right: 2.67vw;
    padding: 1.34vw 2.67vw;
  }

  #ai_contents > div.inner {padding-bottom: 2.67vw;}

  #ai_contents {margin-bottom: 5.34vw}

  #ai_contents + div {
    flex-direction: column;
    gap : 2.67vw;
    padding: 0 5.34vw;
  }

  #ai_contents + div > a {
    display: block;
    width: 100%;
  }
}



/*===== ■14. Startup =====*/
/* startup_innovation */
#startup_innovation p {
  margin-bottom: 30px;
  text-align: center;
}


@media (max-width: 768px) {
  #startup_innovation > div.inner > div.flex3 {
    gap: 2.67vw;
    flex-wrap: nowrap;
  }
  
  #startup_innovation p {
    margin-bottom: 5.34vw;
    text-align: left;
  }
}


/* startup_merit */
#startup_merit > div.inner > div.flex2 {
  margin-bottom: 40px;
}
#startup_merit > div.inner > div.flex2 > dl {
  margin-bottom: 20px;
}

#startup_merit > div.inner > div.flex2 > dl > dt em {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  margin-bottom: 10px;
  background: #666;
  color: #fff;
  font-weight: 600;
  font-size: 2.0rem;
}

#startup_merit > div.inner > div.flex2 > dl > dt em:not(.new) {
  padding: 10px;
}

#startup_merit > div.inner > div.flex2 > dl > dt em.new::before {
  padding: 10px;
  margin-right: 10px;
  color: #d71518;
  font-size: 2.0rem;
  content: "NEW";
  background: rgba(255, 255, 255, .5);
}

#startup_merit > div.inner > div.flex2 > dl > dd {
  display: flex;
  gap: 20px;
}

#startup_merit > div.inner > div.flex2 > dl > dd > figure {
  width: 30%;
}

#startup_merit > div.inner > div.flex2 > dl > dd > figure img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
}

#startup_merit > div.inner > div.flex2 > dl > dd p {
  width: 70%;
}

#startup_merit dl#cat_ai dt em { background: #dfa669;}
#startup_merit dl#cat_logistic dt em { background: #e5815c;}
#startup_merit dl#cat_tech dt em { background: #6c4b93;}
#startup_merit dl#cat_safety dt em { background: #e89574;}
#startup_merit dl#cat_material dt em { background: #d71518;}



#startup_merit #startup_target {
  margin-bottom: 40px;
  padding: 0;
}

#startup_merit #startup_exhibit {
  padding: 0;
}

#startup_merit #startup_target ul li {
  background: rgba(0, 0, 0, .05);
  border-left: solid 5px #333;
}

#startup_merit #startup_target ul li:nth-child(-n + 2) {
  border-left: solid 5px #d71518;
  color: #d71518;
  font-weight: 700;
}

#startup_merit #startup_target ul li:nth-child(-n + 2)::before {
  background: #d71518;
}

#startup_merit #startup_exhibit ul {
  margin-bottom: 40px;
}

#startup_merit #startup_exhibit ul li {
  margin-bottom: 10px;
  padding: 10px;
  background: #fcf2f2;
  font-weight: 600;
  counter-increment: num;
}

#startup_merit #startup_exhibit ul li > em {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 5px;
  font-weight: bold;
  font-size: 1.8rem;
}

#startup_merit #startup_exhibit ul li > p {
  font-size: 1.4rem;
  font-weight: 500;
}

#startup_merit #startup_exhibit ul li > em::before {
  display: block;
  margin-right: 10px;
  padding: 5px 10px;
  border-radius: 3px;
  background: #d71518;
  color: #fff;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  content: "0" counter(num);
}

#startup_merit #startup_exhibit > ul + p > em {
  display: block;
  margin-bottom: 5px;
  color: #d71518;
  font-weight: bold;
  font-size: 2.2rem;
  text-align: center;
}

#startup_merit #startup_exhibit > p:last-of-type {
  margin-bottom: 25px;
  text-align: center;
  font-weight: bold;
  font-size: 2.2rem;
}

#startup_merit #startup_exhibit > p:last-of-type > span {
  padding: 0 0 0 5px;
  color: #d71518;
  font-weight: bold;
  font-size: 2.2rem;
}

#startup_merit #startup_exhibit > div.table_scroll tr td {
  background: rgba(26, 16, 16, 0.05);
}

#startup_merit #startup_exhibit > div.table_scroll tr td:last-child {
  font-weight: bold;
  font-size: 2.0rem;
}

#startup_merit #startup_exhibit > div.table_scroll tr td > span {
  font-weight: 300;
  font-size: 1.4rem;
}

@media (max-width: 768px) {
  #startup_merit > div.inner > div.flex2 {
    margin-bottom: 8vw;
  }

  #startup_merit > div.inner > div.flex2 > dl {
    margin-bottom: 5.34vw;
  }

  #startup_merit > div.inner > div.flex2 > dl:last-child {
    margin-bottom: 0;
  }
  
  #startup_merit > div.inner > div.flex2 > dl > dt em {
    margin-bottom: 2.67vw;
    font-size: 1.6rem;
    line-height: 1;
  }
  
  #startup_merit > div.inner > div.flex2 > dl > dt em:not(.new) {
    padding: 4vw 2.67vw;
  }
  
  #startup_merit > div.inner > div.flex2 > dl > dt em.new::before {
    padding: 2.67vw;
    margin-right: 2.67vw;
    font-size: 1.6rem;
  }
  
  #startup_merit > div.inner > div.flex2 > dl > dd {
    flex-direction: column;
    gap: 2.67vw;
  }
  
  #startup_merit > div.inner > div.flex2 > dl > dd > figure {
    width: 100%;
  }
  
  #startup_merit > div.inner > div.flex2 > dl > dd p {
    width: 100%;
  }

  #startup_merit #startup_exhibit ul {
    margin-bottom: 5.34vw;
  }
  
  #startup_merit #startup_exhibit ul li {
    margin-bottom: 2.67vw;
    padding: 2.67vw;
  }
  
  #startup_merit #startup_exhibit ul li > em {
    align-items: flex-start;
    margin-bottom: 2.67vw;
    font-size: 1.6rem;
  }
  
  #startup_merit #startup_exhibit ul li>em::before {
    margin-right: 2.67vw;
    padding: 1.34vw 2.67vw;
    font-size: 1.6rem;
    line-height: 1;
  }
  
  #startup_merit #startup_exhibit > ul + p > em {
    margin-bottom: 1.34vw;
    font-size: 1.6rem;
  }
  
  #startup_merit #startup_exhibit > p:last-of-type {
    margin-bottom: 5.34vw;
    font-size: 1.6rem;
  }
  
  #startup_merit #startup_exhibit > p:last-of-type > span {
    padding: 0 0 0 1.34vw;
    font-size: 1.6rem;
  }
  
  #startup_merit #startup_exhibit > div.table_scroll tr td:last-child {
    font-size: 1.6rem;
  }
  
  #startup_merit #startup_exhibit > div.table_scroll tr td > span {
    font-size: 1.4rem;
  }
}


/* startup_plan */
#startup_plan > div.inner > div.flex2 {
  margin-bottom: 30px;
}

#startup_plan > div.inner > div.flex2 + section {
  padding: 0;
}
#startup_plan > div.inner > div.flex2 > section > ul.list_labels li {
  background: rgba(0, 0, 0, .05);
}

#startup_plan > div.inner > div.flex2 > section > ul.list_labels li em {
  display: block;
  font-weight: bold;
}

#startup_plan > div.inner > div.flex2 > section > ul.list_labels li p {
  margin-top: 10px;
}

#startup_plan > div.inner > div.flex2 > section > ul.list_labels li > ul.list_dots {
  margin-top: 10px;
}

#startup_plan > div.inner > div.flex2 > section > ul.list_labels li > ul.list_dots li {
  background: transparent;
}

#startup_plan > div.inner > div.flex2 > section + figure > img {
  width: 100%;
  max-width: 100%;
}

#startup_plan > div.inner > div.flex2 + section > h3 > span {
  font-size: 1.4rem;
}

#startup_plan > div.inner > div.flex2 + section > div.flex3 {
  position: relative;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 40px;
}

#startup_plan > div.inner > div.flex2 + section > div.flex3::after {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  border-top: 15px solid #333;
  border-bottom: 0;
  content: "";
}

#startup_plan > div.inner > div.flex2 + section > div.flex3 > dl {
  display: flex;
  flex-direction: column;
  position: relative;
}

#startup_plan > div.inner > div.flex2 + section > div.flex3 > dl > dt {
  padding: 15px 20px;
  background: #666;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  word-break: break-all;
}

#startup_plan > div.inner > div.flex2 + section > div > dl > dd {
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex-wrap: wrap;
    padding: 15px 20px;
    height: 100%;
    background: rgba(0, 0, 0, .05);
    text-align: center;
    vertical-align: middle;
    word-break: break-all;
    font-size: 2.4rem;
    font-weight: bold;
}
#startup_plan > div.inner > div.flex2 + section > div > dl > dd > span {
  display: block;
  font-size: 1.4rem;
}

#startup_plan > div.inner > div.flex2 + section > div > dl > dd > b {
  color: #d71518;
  font-size: 2.2rem;
  font-weight: bold;
  
}

#startup_plan > div.inner > div.flex2 + section > div > dl:first-child::before,
#startup_plan > div.inner > div.flex2 + section > div > dl:first-child::after {
  display: inline-block;
  position: absolute;
  top: 48%;
  transform: translateY(-48%);
  right: -20px;
  width: 3px;
  height: 20px;
  background-color: #333;
    content: '';
}

#startup_plan > div.inner > div.flex2 + section > div > dl:first-child::after  {
  top: 40%;
  transform: translateY(-40%);
  transform: rotate(90deg);
}


#startup_plan > div.inner > div.flex2 + section > div > dl:nth-child(2):before,
#startup_plan > div.inner > div.flex2 + section > div > dl:nth-child(2)::after {
  top: 40%;
  transform: translateY(-50%);
  right: -20px;
  content: '';
  display: inline-block;
  position: absolute;
  width: 3px;
  height: 20px;
  background-color: #333;
  transform: rotate(90deg);
}

#startup_plan > div.inner > div.flex2 + section > div > dl:nth-child(2)::after  {
  top: 45%;
}

#startup_plan > div.inner > div.flex2 + section > div.flex3 + dl {
  margin: 60px auto 30px;
  max-width: 640px;
}

#startup_plan > div.inner > div.flex2 + section > div.flex3 + dl > dt {
  padding: 15px 20px;
  background: #d71518;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  word-break: break-all;
}
#startup_plan > div.inner > div.flex2 + section > div.flex3 + dl > dd {
  text-align: center;
  background: rgba(0, 0, 0, .05);
}

#startup_plan > div.inner > div.flex2 + section > div.flex3 + dl > dd:first-of-type  {
  padding: 20px 20px 0;
  color: #d71518;
  font-size: 2.4rem;
  font-weight: bold;
}

#startup_plan > div.inner > div.flex2 + section > div.flex3 + dl > dd:last-of-type {
  padding: 0 20px 20px;
  font-size: 1.8rem;
  font-weight: bold;
}

#startup_plan > div.inner > div.flex2 + section > div.flex3 + dl > dd:last-of-type > span {
  font-size: 1.4rem;
}


@media (max-width: 768px) {
  #startup_plan > div.inner > div.flex2 {
    margin-bottom: 8vw;
  }

  #startup_plan > div.inner > div.flex2 > section > ul.list_labels li em {
    font-size: 1.4rem;
  }

  #startup_plan > div.inner > div.flex2 > section > ul.list_labels {
    margin-bottom: 5.34vw;
  }

  #startup_plan > div.inner > div.flex2 > section > ul.list_labels li p {
    margin-top: 2.67vw;
  }
  
  #startup_plan > div.inner > div.flex2 > section > ul.list_labels li > ul.list_dots {
    margin-top: 2.67vw;
  }

  #startup_plan > div.inner > div.flex2 + section > h3 > span {
    font-size: 1.2rem;
  }

  #startup_plan > div.inner > div.flex2 + section > div.flex3 {
    flex-direction: column;
    flex-wrap: wrap;
    gap: 10.67vw;
  }
  #startup_plan section {
    padding: 0;
  }

  #startup_plan > div.inner > div.flex2 + section > div.flex3 > dl {
    width: 100%;
  }

  #startup_plan > div.inner > div.flex2 + section > div.flex3 > dl > dt {
    padding: 4vw 5.34vw;
    font-size: 1.4rem;
  }

  #startup_plan > div.inner > div.flex2 + section > div > dl > dd {
    padding: 4vw 5.34vw;
    height: auto;
    font-size: 1.8rem;
  }

  #startup_plan > div.inner > div.flex2 + section > div > dl > dd > span {
    font-size: 1.2rem;
  }
  #startup_plan > div.inner > div.flex2 + section > div > dl > dd > b {
    font-size: 1.8rem;
  }

  #startup_plan > div.inner > div.flex2 + section > div > dl:first-child::before,
  #startup_plan > div.inner > div.flex2 + section > div > dl:first-child::after {
    display: inline-block;
    position: absolute;
    top: auto;
    bottom: -40px;
    right: 50%;
  }

  #startup_plan > div.inner > div.flex2 + section > div > dl:first-child::after  {
    top: auto;
    bottom: -30px;
    transform: rotate(90deg);
  }
  #startup_plan > div.inner > div.flex2 + section > div > dl:nth-child(2):before,
  #startup_plan > div.inner > div.flex2 + section > div > dl:nth-child(2)::after {
    top: auto;
    bottom: -30px;
    right: 51%;
    transform: rotate(0);
  }
  #startup_plan > div.inner > div.flex2 + section > div > dl:nth-child(2)::after  {
    top: auto;
    bottom: -30px;
    right: 49%;
  }
  
  #startup_plan > div.inner > div.flex2 + section > div.flex3 + dl {
    margin: 16vw auto 8vw;
    max-width: 100%;
  }

  #startup_plan > div.inner > div.flex2 + section > div.flex3 + dl > dt {
    padding: 4vw 5.34vw;
    font-size: 1.4rem;
  }
  
  #startup_plan > div.inner > div.flex2 + section > div.flex3 + dl > dd:first-of-type  {
    padding: 5.34vw 5.34vw 0;
    font-size: 1.8rem;
  }
  
  #startup_plan > div.inner > div.flex2 + section > div.flex3 + dl > dd:last-of-type {
    padding: 0 5.34vw 5.34vw;
    font-size: 1.6rem;
  }
}


/*===== ■15. Trend Report =====*/
#exhibit_trend img {
  border: 1px solid rgba(0, 0, 0, 0.15) ;
}
/* trend_preface */
#trend_preface p:first-child {
  margin: 60px 20px 20px;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
}

#trend_preface p + p {
    padding: 0 20px;
  line-height: 1.8;
  text-align: center;
}

#trend_preface p + p > b {
  color: #d71518;
  font-weight: 700;
}

/* trend_about */
#trend_about div.inner { padding-bottom: 10px;}

/* trend_now */
#trend_now div.inner { padding-bottom: 10px;}
#trend_now {margin-bottom: 40px;}

#trend_now + div { 
  margin: 0 30px 40px;
  text-align: center;
}

#trend_now + div ul {
  display: inline-block;
  margin: 30px auto 0;
  max-width: 1480px;
  text-align: left;
}

#trend_now + div ul li {
  padding-left: 1.2rem;
  font-size: 1.4rem;
  text-indent: -1.2rem;
}

#trend_now + div + p {text-align: center;}


@media (max-width: 768px) {
  #trend_preface p:first-child {
    margin: 6.67vw 2.67vw 4vw;
    padding: 0 2.67vw;
    font-size: 1.5rem;
    text-align: left;
  }

  #trend_preface p + p {
    margin: 0 2.67vw 2.67vw;
    padding: 0 2.67vw;
    line-height: 1.6;
    text-align: left;
  }

  /* trend_about */
  #trend_about div.inner { padding-bottom: 2.67vw;}
  #trend_about div.wrapper_limit { display: block;}
  #trend_about div.wrapper_limit figure { width: 100%;}
  #trend_about div.wrapper_limit figure:not(:last-child) { margin-bottom: 2rem;}

  /* trend_now */
  #trend_now div.inner {padding-bottom: 2.67vw;}
  #trend_now div.wrapper_limit { display: block;}
  #trend_now div.wrapper_limit figure { width: 100%;}
  #trend_now div.wrapper_limit figure:not(:last-child) { margin-bottom: 2rem;}
  #trend_now {margin-bottom: 5.34vw;}
  #trend_now + div { margin: 0 8vw 10.67vw;}
  #trend_now + div ul {margin: 8vw auto 0;}
  #trend_now + div ul li {font-size: 1.2rem;}
}

/*===== ■16. Halal =====*/
/* halal_intro */
#halal_intro p {
  margin-bottom: 30px;
  text-align: center;
}

#halal_intro p + div {
  display: flex;
  justify-content: center;
  gap: 5rem;
}

#halal_intro p + div > figure:last-child img {
  width: auto;
  max-width: 40rem;
}

/* halal_voice */
#halal_voice dl {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}

#halal_voice dl dt.tit_fill {
  padding: 20px 10px;
  margin-bottom: 0;
}

#halal_voice dl dt.tit_fill > em {
  display: block;
  width: 100%;
  font-weight: 600;
  font-size: 1.8rem;
}

#halal_voice dl dt.tit_fill > span {
  display: inline-block;
  margin-top: 10px;
  padding: 10px;
  background: #fff;
  color: #333;
}

#halal_voice dl dd {
  flex-grow: 1;
  padding: 10px;
  background: rgba(0, 0, 0, .05);
}

#halal_voice div + p {
  display: block;
  line-height: 1.4;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 600;
}

#halal_voice dl dd b {
  color: #d71518;
  font-weight: 700;
}

/* halal_target */
#halal_target div.inner {text-align: center;}

/* halal_scale */
#halal_scale {margin-bottom: 30px;}
#halal_scale h3.tit_fill {
  margin-bottom: 0;
  padding: 20px 10px;
  border: 2px solid #fff;
  border-bottom: none;
}

#halal_scale div.flex2 {margin-bottom: 30px;}
#halal_scale .table_scroll table thead th {background: #666;}
#halal_scale .table_scroll table tbody tr.pickup td {
  background: rgba(255, 0, 0, .1);
}
#halal_scale .table_scroll table tbody td {background: rgba(0, 0, 0, .05);}
#halal_scale .table_scroll table tbody td:nth-child(2) {text-align: left;}

#halal_scale .table_scroll table tbody tr:first-child td,
#halal_scale .table_scroll table tbody tr:nth-child(2) td,
#halal_scale .table_scroll table tbody tr:nth-child(3) td {
  font-weight: bold;
  font-size: 2.4rem;
}

#halal_scale .table_scroll table tbody tr:first-child td {
  color: #d71518;
}

#halal_scale .table_scroll table tbody tr:first-child td:nth-child(1),
#halal_scale .table_scroll table tbody tr:nth-child(2) td:nth-child(1),
#halal_scale .table_scroll table tbody tr:nth-child(3) td:nth-child(1)  {
  position: relative;
  padding: 25px 10px;
}

#halal_scale .table_scroll table tbody tr:first-child td:nth-child(1)::before,
#halal_scale .table_scroll table tbody tr:nth-child(2) td:nth-child(1)::before,
#halal_scale .table_scroll table tbody tr:nth-child(3) td:nth-child(1)::before  {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: inline-block;
  width: 60px;
  height: 60px;
}

#halal_scale .table_scroll table tbody tr:first-child td:nth-child(1)::before {
  background: url('../img/exhibit/pickup/icon-haral01.svg') no-repeat center center / cover;
}

#halal_scale .table_scroll table tbody tr:nth-child(2) td:nth-child(1)::before {
  background: url('../img/exhibit/pickup/icon-haral02.svg') no-repeat center center / cover;
}

#halal_scale .table_scroll table tbody tr:nth-child(3) td:nth-child(1)::before {
  background: url('../img/exhibit/pickup/icon-haral03.svg') no-repeat center center / cover;
}

@media (max-width: 768px) { 
  /* halal_intro */
  #halal_intro p {
    margin-bottom: 5.34vw;
    text-align: left;
  }

  #halal_intro p + div {
    flex-direction: column;
    gap: 5.34vw;
  }
  
  #halal_intro p + div > figure:last-child img {
    width: 100%;
    max-width: 100%;
  }

  /* halal_voice */
  #halal_voice dl {margin-bottom: 5.34vw;}

  #halal_voice dl dt.tit_fill {padding: 5.34vw 2.67vw;}
  #halal_voice dl dt.tit_fill > em {
    padding-bottom: 2.67vw;
    font-size: 1.6rem;
  }
  #halal_voice dl dt.tit_fill > span {
    margin-top: 0;
    padding: 2.67vw;
  }
  #halal_voice dl dd {
    display: block;
    padding: 2.67vw;
    background: rgba(0, 0, 0, .05);
  }
  #halal_voice div + p {font-size: 2rem;}
  
  /* halal_scale */
  #halal_scale {margin-bottom: 8vw;}
  #halal_scale div.flex2 {
    gap: 5.34vw;
    margin-bottom: 5.34vw;
  }
  #halal_scale div.flex3 {
    gap: 2.67vw;
  }
  #halal_scale h3.tit_fill {padding: 5.34vw 1.34vw;}
  #halal_scale .table_scroll table tbody tr:first-child td,
  #halal_scale .table_scroll table tbody tr:nth-child(2) td,
  #halal_scale .table_scroll table tbody tr:nth-child(3) td {
    font-size: 1.8rem;
  }
  #halal_scale .table_scroll table tbody tr:first-child td:nth-child(1),
  #halal_scale .table_scroll table tbody tr:nth-child(2) td:nth-child(1),
  #halal_scale .table_scroll table tbody tr:nth-child(3) td:nth-child(1)  {
    padding: 2.67vw 1.34vw;
  }
  #halal_scale .table_scroll table tbody tr:first-child td:nth-child(1)::before,
  #halal_scale .table_scroll table tbody tr:nth-child(2) td:nth-child(1)::before,
  #halal_scale .table_scroll table tbody tr:nth-child(3) td:nth-child(1)::before {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
  }
  #halal_scale + div {
    padding: 0 5.34vw;
  }
}

/*===== ■17. Logistic =====*/
/* logistic_intro */
#logistic_intro p {
  margin-bottom: 2rem;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
}

/* logistic_merit  */
#logistic_merit dl dt.tit_fill {
  display: flex;
  position: relative;
  padding-left: 55px;
  margin-bottom: 0;
}

#logistic_merit dl dt.tit_fill > span {
  position: absolute;
  top: 50%;
  left: -5px;
  transform: translateY(-50%);
}

#logistic_merit dl dt.tit_fill::before {
  position: absolute;
  background: #d71518;
  left: -15px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  width: 6rem;
  height: 6rem;
  content: "";
}

#logistic_merit dl dt.tit_fill > span > img {
  width: 4rem;
  height: 4rem;
}

#logistic_merit dl dd > figure > img {
  margin-bottom: 2rem;
}

#logistic_merit dl dd > figure > figcaption {
  font-size: 2rem;
  text-align: center;
}

#logistic_merit dl dd > figure > figcaption > b {
  color: #d71518;
  font-weight: bold;
  font-size: 2.4rem;
}

/* logistic_target */
#logistic_target ul.list_labels li {
  background: rgba(0, 0, 0, .05);
}

@media (max-width: 768px) { 
  /* logistic_intro */
  #logistic_intro p {
    margin-bottom: 1.4rem;
    font-size: 1.6rem;
    text-align: left;
  }

  /* logistic_merit  */
  #logistic_merit dl:not(:last-child) {
    margin-bottom: 5.34vw;
  }
  #logistic_merit dl dt.tit_fill {
    padding-left: 14.67vw;
  }
  #logistic_merit dl dt.tit_fill > span {left: 0;}
  #logistic_merit dl dt.tit_fill::before {
    left: -1rem;
    width: 5.5rem;
    height: 5.5rem;
  }
  #logistic_merit dl dt.tit_fill > span > img {
    width: 3.5rem;
    height: 3.5rem;
  }
  #logistic_merit dl dd > figure > img {
    margin-bottom: 2.67vw;
    max-width: 100%;
  }
  #logistic_merit dl dd > figure > figcaption {
    font-size: 1.6rem;
  }
  #logistic_merit dl dd > figure > figcaption > b {
    font-size: 2rem;
  }
}



/*===== ■18. SAKE JAPAN =====*/
#pickup_sake h3 {
  padding: 15px 10px;
  font-size: 1.8rem;
}
#sake_preface p {
  margin: 60px 20px 0 20px;
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
}

/* sake_merit */
#sake_merit > div.inner > p:first-child {
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
}

#sake_merit > div.inner > p:nth-child(2) {
  margin-bottom: 20px;
  line-height: 1.8;
  text-align: center;
}

#sake_merit > div.inner > p > b {
  color: #d71518;
  font-weight: 700;
}
#sake_merit > div.inner > section.inner div.flex2 {
  padding-bottom: 0;
}

#sake_merit > div.inner > section.inner > div.flex2 > div:first-child .table_scroll th {
  background: #666;
}

#sake_merit > div.inner > section.inner > div.flex2 > div:first-child .table_scroll td {
  background: rgba(0, 0, 0, .05)
}

#sake_merit > div.inner > section.inner > div.flex2 > div:first-child .table_scroll td em {
  font-weight: bold;
  font-size: 2.2rem;
}

#sake_merit > div.inner > section.inner > div.flex2 > div:first-child .table_scroll td em > b {
  display: inline-block;
  margin: 5px;
  color: #d71518;
  font-size: 2.4rem;
}

#sake_merit > div.inner > section.inner figure img {
  max-width: 100%;
}

#sake_merit > div.inner > section.inner > div.flex2 > div.table_scroll th {
  background: #666;
}

#sake_merit > div.inner > section.inner > div.flex2 > div.table_scroll td {
  background: rgba(0, 0, 0, .05)
}

/* sake_target */
#sake_target > div.inner > p {
  text-align: center;
}

#sake_target > div.inner h3 {
  margin-bottom: 0;
}
#sake_target > div.inner h3 + p {
  padding: 20px;
  background: rgba(0, 0, 0, .05);
  font-size: 1.8rem;
  text-align: center;
}

#sake_target > div.inner h3 + p em {
  display: block;
  padding-bottom: 5px;
  color: #d71518;
  font-size: 2rem;
  font-weight: bold;
}



/* sake_plan */
#sake_plan > div.inner p {
  margin-bottom: 30px;
  text-align: center;
}

#sake_plan > div.inner > div.flex2 {
  margin-bottom: 20px;
}

#sake_plan > div.inner > div.flex2 > section {
  padding: 0;
}

#sake_plan > div.inner section ul.list_labels li {
  background: rgba(0, 0, 0, .05);
}

#sake_plan > div.inner section ul.list_labels li > em {
  display: block;
  font-weight: bold;
}

#sake_plan > div.inner section  ul.list_dots {
  margin-top: 10px;
}

#sake_plan > div.inner section ul.list_dots > li {
  background: transparent;
}

#sake_plan > div.inner figure > img {
  max-width: 100%;
}

#sake_plan > div.inner > div.flex4 {
  margin-bottom: 20px;
}

#sake_plan > div.inner > div.flex4 > figure img {
  object-fit: cover;
  max-height: 200px;
  aspect-ratio: 16 / 9;
}

#sake_plan > div.inner > section {
  padding: 0;
}

#sake_plan > div.inner > section > div.flex3 {
  position: relative;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 40px;
}

#sake_plan > div.inner > section > div.flex3::after {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  border-top: 15px solid #333;
  border-bottom: 0;
  content: "";
}

#sake_plan > div.inner > section > div.flex3 > dl {
  display: flex;
  flex-direction: column;
  position: relative;
}

#sake_plan > div.inner > section > div.flex3 > dl > dt {
  padding: 15px 20px;
  background: #666;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  word-break: break-all;
}

#sake_plan > div.inner > section > div.flex3 > dl > dd {
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex-wrap: wrap;
    padding: 15px 20px;
    height: 100%;
    background: rgba(0, 0, 0, .05);
    text-align: center;
    vertical-align: middle;
    word-break: break-all;
    font-size: 2.4rem;
    font-weight: bold;
}

#sake_plan > div.inner > section > div.flex3 > dl > dd > span {
  display: block;
  font-size: 1.4rem;
}

#sake_plan > div.inner > section > div.flex3 > dl > dd > b {
  color: #d71518;
  font-size: 2.2rem;
  font-weight: bold;
}

#sake_plan > div.inner > section > div.flex3 > dl:first-child::before,
#sake_plan > div.inner > section > div.flex3 > dl:first-child::after {
  display: inline-block;
  position: absolute;
  top: 48%;
  transform: translateY(-48%);
  right: -20px;
  width: 3px;
  height: 20px;
  background-color: #333;
    content: '';
}

#sake_plan > div.inner > section > div.flex3 > dl:first-child::after  {
  top: 40%;
  transform: translateY(-40%);
  transform: rotate(90deg);
}

#sake_plan > div.inner > section > div.flex3 > dl:nth-child(2):before,
#sake_plan > div.inner > section > div.flex3 > dl:nth-child(2)::after {
  top: 40%;
  transform: translateY(-50%);
  right: -20px;
  content: '';
  display: inline-block;
  position: absolute;
  width: 3px;
  height: 20px;
  background-color: #333;
  transform: rotate(90deg);
}

#sake_plan > div.inner > section > div.flex3 > dl:nth-child(2)::after  {
  top: 45%;
}

#sake_plan > div.inner > section > div.flex3 + dl {
  margin: 60px auto 30px;
  max-width: 640px;
}

#sake_plan > div.inner > section > div.flex3 + dl > dt {
  padding: 15px 20px;
  background: #d71518;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  word-break: break-all;
}

#sake_plan > div.inner > section > div.flex3 + dl > dd {
    background: rgba(0, 0, 0, .05);
    text-align: center;
}

#sake_plan > div.inner > section > div.flex3 + dl > dd:first-of-type{
  padding: 20px 20px 0;
  color: #d71518;
  font-size: 2.4rem;
  font-weight: bold;
}

#sake_plan > div.inner > section > div.flex3 + dl > dd:last-of-type {
  padding: 0 20px 20px;
  font-size: 1.8rem;
  font-weight: bold;
}

/* sake_cta */
#sake_cta {
  padding: 0 20px;
}

@media (max-width: 768px) {
  #pickup_sake h3 {
    margin-bottom: 2.67vw;
    padding: 4vw 2.67vw;
    font-size: 1.6rem;
  }

  #sake_preface p {
    margin-top: 6.67vw;
    padding-bottom: 4vw;
    text-align: left;
    font-size: 1.4rem;
  }

  #sake_merit > div.inner > p:first-child {
    margin-bottom: 4vw;
    font-size: 1.6rem;
  }
  
  #sake_merit > div.inner > p:nth-child(2) {
    margin-bottom: 8vw;
    line-height: 1.6;
    text-align: left;
  }

  #sake_merit > div.inner > section.inner {
    padding: 0;
  }

  #sake_merit > div.inner > section.inner > div.flex2 {
    padding: 0;
  }

  #sake_merit > div.inner > section.inner .table_scroll {
    margin-bottom: 0;
  }
  
  #sake_merit > div.inner > section.inner > div.flex2 > div:first-child .table_scroll th {
    padding: 4vw 5.34vw;
    background: #666;
    font-size: 1.4rem;
  }
  
  #sake_merit > div.inner > section.inner > div.flex2 > div:first-child .table_scroll td em {
    font-size: 1.6rem;
  }
  
  #sake_merit > div.inner > section.inner > div.flex2 > div:first-child .table_scroll td em > b {
    margin: 1.34vw;
    font-size: 1.8rem;
  }
  #sake_merit > div.inner > section.inner figure {
    margin-bottom: 2.67vw;
  }
  
  #sake_target > div.inner > p {
    margin-bottom: 4vw;
    text-align: left;
    font-size: 1.4rem;
  }
  
  #sake_target > div.inner h3 + p {
    padding: 2.67vw;
    font-size: 1.4rem;
    text-align: left;
  }
  
  #sake_target > div.inner h3 + p em {
    padding-bottom: 1.34vw;
    font-size: 1.6rem;
  }

  #sake_plan > div.inner p {
    margin-bottom: 8vw;
    line-height: 1.6;
    text-align: left;
  }
  
  #sake_plan > div.inner > div.flex2 {
    margin-bottom: 2.67vw;
  }

  #sake_plan > div.inner > div.flex4 > figure {
    margin-bottom: 1.34vw;

  }

  #sake_plan > div.inner > div.flex2 > section {
    margin-bottom: 2.67vw;
  }
  
  #sake_plan > div.inner section  ul.list_dots {
    margin-top: 1.34vw;
  }
  
  #sake_plan > div.inner > div.flex4 {
    margin-bottom: 2.67vw;
  }
  
  #sake_plan > div.inner > section > div.flex3 {
    flex-direction: column;
    flex-wrap: wrap;
    gap: 10.67vw;
  }
  
  #sake_plan > div.inner > section > div.flex3 > dl {
    width: 100%;
  }
  
  #sake_plan > div.inner > section > div.flex3 > dl > dt {
    padding: 4vw 5.34vw;
    font-size: 1.4rem;
  }
  
  #sake_plan > div.inner > section > div.flex3 > dl > dd {
    padding: 4vw 5.34vw;
    height: auto;
    font-size: 1.8rem;
  }
  
  #sake_plan > div.inner > section > div.flex3 > dl > dd > span {
    font-size: 1.2rem;
  }
  
  #sake_plan > div.inner > section > div.flex3 > dl > dd > b {
    font-size: 1.8rem;
  }
  
  #sake_plan > div.inner > section > div.flex3 > dl:first-child::before,
  #sake_plan > div.inner > section > div.flex3 > dl:first-child::after {
    display: inline-block;
    position: absolute;
    top: auto;
    bottom: -40px;
    right: 50%;
  }
  
  #sake_plan > div.inner > section > div.flex3 > dl:first-child::after {
    top: auto;
    bottom: -30px;
    transform: rotate(90deg);
  }
  
  #sake_plan > div.inner > section > div.flex3 > dl:nth-child(2):before,
  #sake_plan > div.inner > section > div.flex3 > dl:nth-child(2)::after {
    top: auto;
    bottom: -30px;
    right: 51%;
    transform: rotate(0);
  }
  
  #sake_plan > div.inner > section > div.flex3 > dl:nth-child(2)::after {
    top: auto;
    bottom: -30px;
    right: 49%;
  }
  
  #sake_plan > div.inner > section > div.flex3 + dl {
    margin: 16vw auto 8vw;
    max-width: 100%;
  }
  
  #sake_plan > div.inner > section > div.flex3 + dl > dt {
    padding: 4vw 5.34vw;
    font-size: 1.4rem;
  }
  
  #sake_plan > div.inner > section > div.flex3 + dl > dd {
    background: rgba(0, 0, 0, .05);
    text-align: center;
  }
  
  #sake_plan > div.inner > section > div.flex3 + dl > dd:first-of-type{
    padding: 5.34vw 5.34vw 0;
    font-size: 1.8rem;
  }
  
  #sake_plan > div.inner > section > div.flex3 + dl > dd:last-of-type {
    padding: 0 5.34vw 5.34vw;
    font-size: 1.6rem;
  }
  
  #sake_cta {padding: 0 5.34vw;}
  
  #sake_cta > a {width: 100%;}
  #sake_cta > a:first-child {margin-bottom: 2.67vw;}
}


