/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Reset CSS
# Variables
# Base
# Utilities
# Buttons
# Block
# Content
# Carousel
# Button list
# Events
# Information
# Profiles
# Contact
# Section
# Block
# Footer
# TAB Utilities
# TAB Base
# TAB Buttons
# TAB Header
# TAB Content
# TAB Slider
# Tab Events
# TAB Block
# TAB Contact
# TAB Section
# TAB Profile
# TAB Footer
# PC Button 
# PC Header
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Reset CSS
--------------------------------------------------------------*/

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  font-size: 16px;
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role="list"],
ol[role="list"] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

/*--------------------------------------------------------------
# Variables
--------------------------------------------------------------*/

:root {
  /*----------COLORS-------------*/

  --primary-color: #B31D05;
  --primary-color-accent: #ea5d22;
  --primary-color-darker: #d11c00;
  --gradient-green-color-right: linear-gradient(to right, #28ae57, #f6ed09);
  --gradient-blue-color: linear-gradient(to bottom, #9cc4df, #078bd5);
  --gradient-blue-color-left: linear-gradient(to left, #9cc4df, #078bd5);
  --gradient-blue-color-right: linear-gradient(to right, #9cc4df, #078bd5);
  --gradient-red-color: linear-gradient(to bottom, #f6b8a6, #ea5d22);
  --gradient-red-color-left: linear-gradient(to left, #f2977c, #ea5d22);
  --gradient-red-color-reverse: linear-gradient(to top, #f6b8a6, #ea5d22);
  --ipa-blue: #004974;
  --ipa-blue-darker: #022d47;
  --ipa-black: #000000;
  --ipa-gray: #7f7f7f;
  --ipa-light-silver: #d6d6d6;
  --ipa-green: #28ae57;
  --ipa-darkgreen: #006724;
  --ipa-darkgreenhover: #004919;
  --ipa-gainsboro: #dddddd;
  --ipa-platinum: #e4e4e4;
  /*--ipa-cultured: #f4f4f4;*/
  --ipa-cultured: #F5F5F5;
  --ipa-ghost-white: #f9f9f9;
  --ipa-report: #0a5a56; /* #15aca6 */
  --page-bg: #ffffff;
  --border-color: var(--ipa-cultured);
  --about:#c24714;
  --event: #026DA9;
  --exhi: #39845d;
  --spe: #c23b7b;
  --spe-point:#ED87B6;
  --ws: #9E4400;
  --contact: #B84A84;
  --report: #7356BF;
  /*----------fonts-------------*/
  --heading-font: "Alexandria", sans-serif;
  --body-font: "Zen Kaku Gothic Antique", sans-serif;

  --base-font-size: 1rem;
  --base-line-height: 1.75rem;
  --base-font-weight: 500;

  --sp-base-font-size: 0.875rem;
  --base-line-height: 1.5rem;
  --base-font-weight: 500;

  --h1-size: 4rem;
  --h1-line-height: normal;
  --h1-weight: 700;

  --h2-size: 1.25rem;
  --h2-line-height: normal;
  --h2-weight: 500;

  /*--sp-h1-size: 2rem;*/
  --sp-h1-size: 3rem;
  --sp-h1-line-height: 2.4375rem;
  --sp-h1-weight: 700;

  --sp-h2-size: 1rem;
  --sp-h2-line-height: normal;
  --sp-h2-weight: bold;

  /*----------break points-------------*/
  --mobile: 0px;
  --tablet: 768px;
  --desktop: 1024px;
  --pc: 1200px;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

html {
  font-family: var(--body-font);
  font-size: var(--base-font-size);
  line-height: var(--sp-base-line-height);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--body-font);
  font-size: var(--base-font-size);
  line-height: var(--base-line-height);
  background-color: var(--page-bg);
  color: var(--ipa-black);
  padding: 0;
  margin: 0;
}

main {
  font-family: var(--body-font);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--heading-font);
  margin: 0;
  font-weight: var(--h1-weight);
}

h1 {
  font-size: 2rem;
  line-height: 1.2;
}

h2 {
  font-size: 1.75rem;
  line-height: 1.3;
}

h3 {
  font-size: 1.5rem;
}

p {
  margin-bottom: 1.5rem;
}

a {
  text-decoration: none;
  color: inherit;
  /* transition: color 0.3s ease-in-out; */
}

a:hover,
a:focus {
  color: #3498db;
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

picture {
  display: block;
}

input,
textarea,
button,
select {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  border: 1px solid var(--border-color);
  padding: 0.5rem;
  background-color: #fff;
}

input:focus,
textarea:focus,
button:focus,
select:focus {
  outline: none;
  border-color: var(--primary-color);
}

button {
  font-family: var(--body-font);
  font-size: 1.25rem;
  line-height: normal;
  cursor: pointer;
  background-color: var(--gradient-red-color);
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 5px;
}

button:hover {
  background-color: #2980b9;
}

.no-margin {
  margin: 0 !important;
}
.no-margin-top {
  margin-top: 0;
}

.list-style-none {
  list-style: none;
  padding: 0;
}

.flex {
  display: flex;
}

.flex-column {
  flex-direction: column;
}

.justify-center {
  justify-content: center;
}

.align-center {
  align-items: center;
}

.grid {
  display: grid;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, 1fr);
}

.grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.back-to-top {
  z-index: 1;
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  display: none;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  cursor: pointer;
}

.back-to-top:hover,
.back-to-top:focus {
  text-decoration: none;
  color: inherit;
  opacity: 0.7;
  outline: none;
}
.back-to-top-wrap {
  position: relative;
  width: 2.75rem;
  height: 2.75rem;
}

.back-to-top-wrap img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

a:focus,
button:focus {
  outline: 3px solid var(--primary-color);
}

blockquote {
  border-left: 4px solid var(--primary-color);
  padding-left: 1rem;
  margin-left: 0;
  font-style: italic;
}

code {
  font-family: "Courier New", Courier, monospace;
  background-color: #f1f1f1;
  padding: 0.25rem;
  border-radius: 4px;
}

pre code {
  display: block;
  padding: 1rem;
  background-color: #f1f1f1;
  border-radius: 4px;
  overflow-x: auto;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

.h1 {
  font-size: var(--sp-h1-size);
  font-weight: var(--sp-h1-weight);
  line-height: var(--sp-h1-line-height);
}

.container {
  margin: 0 auto;
  max-width: 1360px;
  padding: 0 1.5rem;
}

.container-md {
  max-width: 920px;
}

.container-report {
  max-width: 922px;
  background-color: #ffffff;
}

.logo {
  padding: 0 2.5rem !important;
}

.grid-styles {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.absolutecenter {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.absoluteverticalcenter {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}

.absoluteHorizontalcenter {
  position: absolute;
  top: auto;
  left: 50%;
  transform: translate(-50%, -50%);
}

.text-link {
  color: var(--primary-color);
}

.text-link:hover,
.text-link:focus,
.text-link:visited {
  color: var(--primary-color);
  text-decoration: underline;
}

.link-text {
  /* font-size: 1rem;
  line-height: 1.5rem; */
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: bold;
  margin-top: 0.625rem;
  display: block;
}

.pause-play-btn {
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
}
.pause-play-btn:hover {
  background: transparent;
  opacity: 0.5;
}
.pause-play-btn img {
  width: 1.25rem;
  height: 1.25rem;
}

.pause-play-btn .icon-play {
  display: none;
}

.pause-play-btn.paused .icon-play {
  display: block;
}

.pause-play-btn.paused .icon-paused {
  display: none;
}

.forSp {
  display: block;
}
.forPc {
  display: none;
}
/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/

.btn {
  padding: 0.75rem 1.25rem;
  font-family: var(--body-font);
  display: block;
  font-size: 1.25rem;
  line-height: 1.8125rem;
  background: var(--primary-color);
  color: #ffffff;
  font-weight: bold;
  text-align: center;
  border-radius: 0.3125rem;
}

.btn p {
  font-size: 1.25rem;
  margin: 0;
}

.btn span {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.125rem;
}

.btn:hover {
  color: inherit;
  text-decoration: none;
  color: #ffffff;
  background-color: var(--primary-color-darker);
}

.btn:focus {
  color: inherit;
  text-decoration: none;
  color: #ffffff;
  background-color: var(--primary-color);
}

.btn-green {
  background: var(--gradient-green-color-right);
}

.btn-green-plain {
  /*background: var(--ipa-darkgreen);*/
  background: var(--event);
}

.btn-green-plain:hover,
.btn-green-plain:focus,
.btn-green-plain:active {
  /*background: var(--ipa-darkgreenhover);*/
  background:#01578b;
}

.btn-simple {
  background: var(--ipa-black);
  padding: 0.625rem 1.25rem;
  display: flex;
  gap: 0.625rem;
  align-items: center;
  color: #ffffff;
  font-size: 0.75rem;
  line-height: 1.0625rem;
  font-weight: bold;
}

.btn-simple img {
  width: 0.75rem;
  height: 0.75rem;
}

.btn-simple:hover,
.btn-simple:focus {
  background: var(--ipa-black);
  opacity: 0.8;
}

.btn-grad-primary-accent {
  background: var(--gradient-red-color-left);
}

.btn-blue-grad-rev {
  background: var(--ipa-blue);
  background: var(--spe-point);
}

.btn-blue-grad-rev:hover,
.btn-blue-grad-rev:focus,
.btn-blue-grad-rev:active {
  /*background: var(--ipa-blue-darker);*/
  background: #C96A97;
}
.btn-large {
  padding: 1.25rem;
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: bold;
  text-align: center;
}

.btn-large span {
  display: block;
  font-size: 0.75rem;
  line-height: 1.63rem;
  font-weight: bold;
}

.btn-medium {
  padding: 0.625rem 2rem;
  font-size: 1rem;
  line-height: 1.4375rem;
  font-weight: bold;
  text-align: center;
}

.btn-sm {
  padding: 0.625rem 2rem;
  font-size: 1rem;
  line-height: 1.4375rem;
}

.btn-xs {
  padding: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.0625rem;
}

.btn-smd {
  font-size: 1rem;
  line-height: 1.4375rem;
  font-weight: bold;
}

.bubble {
  position: absolute;
  right: 0;
  top: 1.2rem;
  display: block;
  width: 107px;
  height: 21px;
  border-radius: 3.125rem;
  background: var(--ipa-gray);
  color: #ffffff;
  text-transform: uppercase;
  font-weight: bold;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1.3rem;
}

.bubble::after {
  display: none;
  content: "";
  position: absolute;
  bottom: -16px;
  left: 32px;
  border-width: 9px;
  border-style: solid;
  border-color: var(--ipa-gray) transparent transparent transparent;
}

body.menu-active {
  height: 100vh;
  overflow: hidden;
  /* position: fixed;
  width: 100%; */
}

.hidden {
  display: none !important;
}

.temp-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  image-rendering: -webkit-optimize-contrast;
}

/*--------------------------------------------------------------
# header
--------------------------------------------------------------*/

.header-inner {
  flex-wrap: wrap;
  padding: 0 1.5rem;
}

.header-menu-inner {
  min-height: 38rem;
  padding-bottom: 3rem;
  /*display: flex;*/
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
}

.header-menus-wrap {
  overflow: auto;
  display: none;
  width: 100%;
  z-index: 2;
  background-color: #ffffff;
}

.header-menus-wrap.active {
  display: block;
  height: 85vh;
}

.header-main {
  padding: 1.25rem 0;
  background-color: #ffffff;
}

.header-main.fixed {
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  z-index: 1000;
}

.header-logo img {
  width: 6.6875rem;
  height: 1.625rem;
}

.header-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.header-mobile-menu {
  padding-right: 0;
}

.header-mobile-menu,
.header-mobile-menu:hover{
  background: none;
  outline: none;
}

.header-mobile-menu:focus {
  background: none;
}

.header-mobile-menu .header-menu-close {
  display: none;
}

.header-mobile-menu.active .header-menu-close {
  display: block;
}

.header-mobile-menu .header-menu-hamburger {
  display: block;
}

.header-mobile-menu.active .header-menu-hamburger {
  display: none;
}

.header-action {
  margin-bottom: auto;
  margin-top: auto;
}

.header-action .btn {
  line-height: 1.15;
}

.header-action .btn span {
  font-size: 1.25rem;
  line-height: 1.8125rem;
}

.menu-item {
  position: relative;
}

/* .menu-item .bubble {
  display: none;
} */

.menu-item a {
  display: block;
  padding: 1.25rem 0;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4375rem;
  border-bottom: 1px solid #e4e4e4;
}
.menu-item-disabled a {
  pointer-events: none;
}

.menu-item a:hover{
  outline: none;
  color: inherit;
  text-decoration: none;
}
.menu-item a:focus {
  color: inherit;
  text-decoration: none;
}

.menu-item{
 margin:0.5rem;
}

/*--------------------------------------------------------------
# Slider
--------------------------------------------------------------*/
.slider {
  overflow: hidden;
}
.slider-item {
  /* width: 60.25rem; */
  /* width: 15%; */
  /* width: 51.22vw; */
  width: 100vw;
}

.slider-item:first-child {
  /* width: 65.5rem; */
  /* width: 54.79vw; */
  width: 95vw;
  /* width: 15%; */
}

.slider-item:nth-child(2) {
  width: 95vw;
}

/* .slider-item:last-child .slider-img-wrap {
  padding-right: 0;
} */

.slider-item .slider-img-wrap {
  padding: 0 0.625rem 0 0;
}

.slider-item:last-child .slider-img-wrap {
  padding: 0 0 0 0;
}

.slick-track {
  background: #ffffff;
}

/* .slider-item:nth-child(2) {
  width: 38% !important;
} */

/* .slider-item.slick-current:nth-child(2) {
  width: auto !important;
} */

.slider-img-wrap {
  position: relative;
  width: 100%;
  /* height: 34.75rem; */
  /* height: 65.75rem; */
  overflow: hidden;
  /* padding: 0 1.25rem 0 0; */
  /* height: 29vw; */
  height: 50.39vw;
}

.slider-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slider-controls {
  gap: 0.75rem;
  display: none;
}

.slider-controls-mobile {
  display: flex;
}

.slider-control {
  cursor: pointer;
}

.slider-control img {
  width: 20px;
  height: 16px;
}

.slider-prev img {
  transform: rotate(-180deg);
}

.slider-control.disabled {
  opacity: 0.3;
}

.slider-bottom {
  padding: 1.25rem 0;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  justify-content: right;
  padding-right: 1.25rem;
  background-color: #ffffff;
}

.slide-box {
  display: flex;
}

.slide-numbers {
  display: none;
}

.slide-number {
  margin-top: 0;
  margin-bottom: 0.3125rem;
  font-size: 1rem;
  font-weight: 500;
}

.slide-numbers-mobile {
  display: block;
  margin-right: auto;
  margin-left: 24px;
}

.slide-numbers-mobile .slide-number {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.0625rem;
}

.slide-box-item {
  width: 1.875rem;
  height: 0.125rem;
  background-color: #d6d6d6;
}

.slide-box-item.active {
  background-color: var(--primary-color);
}

.slider-lower {
  padding: 1.25rem 0;
  display: flex;
  justify-content: center;
  flex-direction: column-reverse;
}

.slider-lower-btn {
  max-width: none;
}

.slider-lower-action {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  padding: 0 1.5rem;
}

.slider-lower-text {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

.slider-lower-text p {
  line-height: 1.3;
  margin-bottom: 0;
  margin-top: 0;
}
/*--------------------------------------------------------------
# Block
--------------------------------------------------------------*/

.block-about {
  margin-bottom: 3.75rem;
}

.block-video-wrap {
  float: none;
  clear: both;
  width: 100%;
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0;
}

.block-video-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.block-glass {
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 500;
  padding: 1.25rem;
}

.block-glass p {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.glass {
  background: rgba(255, 255, 255, 0.5); /* Semi-transparent white */
  backdrop-filter: blur(10px); /* Blurry background */
  -webkit-backdrop-filter: blur(10px); /* For Safari */
  border: 2px solid rgba(255, 255, 255, 0.5);
  /* box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);  */
}

.block-glass-solid {
  background: #ffffff;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
.content-inner {
  padding: 1.25rem;
  border: 1px solid #e4e4e4;
  margin-bottom: 2.5rem;
}
.content-text p {
  margin-top: 0;
  margin-bottom: 0;
}
.content-media {
  padding: 1.5rem 0;
}

.content-media-1-center {
  display: flex;
  justify-content: center;
}

.content-media-1-center > * {
  width: 100%;
}

.content-text {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.content-text + .content-inner-subtitle {
  margin-top: 2rem;
}

.content-inner-subtitle {
  font-family: var(--body-font);
  margin-bottom: 1.5rem;
  font-size: 1rem;
  padding: 0.5rem 1.25rem;
  background: var(--ipa-report);
  color: #ffffff;
  line-height: 1.4375rem;
}

.content-inner-title {
  margin-bottom: 2rem;
  font-size: 1.5rem;
  font-weight: 700;
}

.content-media-2-cols > * {
  margin-bottom: 0.625rem;
}

/*--------------------------------------------------------------
# Carousel
--------------------------------------------------------------*/
.carousel-nav-thumbnails {
  position: relative;
  padding-top: 0.625rem;
  padding-bottom: 1.25rem;
}

.carousel-nav-thumbnails .slick-current {
  position: relative;
}
.carousel-nav-thumbnails .slick-current:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 3px solid var(--primary-color);
  pointer-events: none;
}

.informaion-carousel-top {
  position: relative;
}

.carousel-nav-thumbnails .slick-track {
  display: flex;
  justify-content: space-between;
}

.carousel-nav-item {
  margin-right: 0.625rem;
  width: 3.5625rem;
  cursor: pointer;
}
.carousel-nav-item:last-child {
  margin-right: 0;
}

.carousel-control {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--primary-color-accent);
  border-radius: 3px;
  height: 1.75rem;
  width: 1.75rem;
  cursor: pointer;
}

.carousel-control img {
  width: 10px;
  height: 10px;
}

.carousel-control:hover {
  opacity: 0.7;
}

.carousel-prev img {
  transform: rotate(-180deg);
}

.carousel-prev {
  left: -1rem;
}

.carousel-next {
  right: -1rem;
}

/*--------------------------------------------------------------
# Button list
--------------------------------------------------------------*/

.button-list-items {
  display: flex;
  flex-wrap: wrap;
  gap: 4%;
  list-style: none;
  padding: 0;
  margin-bottom: 1.25rem;
}

.button-list-item {
  flex: 0 0 calc(100% / 6);
  margin-bottom: 0.625rem;
}

.button-list-action {
  display: flex;
  height: 2.25rem;
  justify-content: center;
  align-items: center;
  background-color: #757575;
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: bold;
  border-radius: 3px;
  padding: 0;
  width: 100%;
}

.button-list-action:disabled {
  opacity: 0.4;
  pointer-events: none;
}

.button-list-icon {
  display: block;
  width: 0.6875rem;
  height: 0.75rem;
}

.button-list-action:focus,
.button-list-action.active {
  text-decoration: none;
  color: #ffffff;
  background-color: var(--primary-color);
}

.button-list-action.active {
  /*background-color: var(--primary-color) !important;*/
  background-color: var(--exhi) !important;
}

.button-list-item a:focus, 
.button-list-item button:focus {
    outline: 3px solid var(--exhi);
}

.button-list-action:hover {
  background-color: #454545;
}

.button-list-title {
  font-family: var(--body-font);
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
  line-height: 1.4375rem;
  font-weight: bold;
  color: #ffffff;
  background: var(--ipa-black);
  text-align: center;
  margin: 0;
}

.button-list-description {
  font-size: 0.875rem;
  line-height: 1.25rem;
  padding: 0.75rem 1.25rem;
  text-align: center;
  font-weight: 500;
  color: var(--ipa-black);
  background: var(--ipa-platinum);
  margin: 0 0 1.25rem;
}

.button-list-content {
  display: flex;
  justify-content: space-between;
  gap: 0.625rem;
}

.button-list-left {
  flex: 1;
}

.button-list-right {
  flex: 1;
}

.button-list-info-item {
  display: flex;
  justify-content: space-between;
  gap: 0.625rem;
  padding-bottom: 0.625rem;
  margin-bottom: 0.625rem;
  border-bottom: 1px solid var(--ipa-light-silver);
}

.button-list-info-item-left {
  flex: 1;
}

.button-list-info-item-right {
  flex: 1;
}

.button-list-info {
  margin: 0;
  color: #000000;
  font-size: 0.625rem;
  padding: 0.25rem 0.625rem;
  background-color: #ffffff;
  border: 1px solid #d6d6d6;
  text-align: center;
  display: inline-block;
  line-height: 0.875rem;
  font-weight: bold;
}

.button-list-badge {
  text-transform: uppercase;
}

.button-list-text {
  font-size: 0.875rem;
  line-height: 1.25rem;
  margin: 0 0 0.375rem;
  font-weight: bold;
}

.button-list-label {
  font-size: 0.875rem;
  line-height: 1.25rem;
  margin: 0 0 0.625rem;
  padding: 0.25rem 1.25rem;
  font-weight: bold;
  line-height: 1.4375rem;
  background-color: var(--ipa-platinum);
  text-align: center;
}

.button-list-link-wrap {
  text-align: right;
}

.button-list-link {
  /*display: inline-flex;*/
  gap: 0.625rem;
  color: var(--primary-color);
  align-items: center;
  justify-content: flex-end;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
}

.button-list-link:hover,
.button-list-link:focus {
  color: var(--primary-color);
}

.button-list-desc {
  font-size: 0.875rem;
  line-height: 1.25rem;
  margin: 0 0 0.375rem;
}

.button-list-company {
  font-size: 0.875rem;
  font-weight: normal;
  color: #000000;
  margin-top: 0;
  margin-bottom: 0.625rem;
}

.button-list {
  padding: 0.625rem;
  border: 1px solid var(--ipa-cultured);
}

.button-list-info-item-content-wrap {
  display: none;
}

.button-list-info-item-content-wrap.active {
  display: block;
}

/*--------------------------------------------------------------
# Events
--------------------------------------------------------------*/

.event-title {
  position: relative;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.5);
  margin-bottom: 0.625rem;
  font-family: var(--body-font);
  font-size: 1rem;
  line-height: 1.4375rem;
  padding: 0.635rem 1.25rem;
}

.event-title:before {
  content: "";
  display: block;
  /*background: var(--ipa-green);*/
  background: var(--event);
  width: 0.1875rem;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}

.events-list {
  padding: 2.5rem 1.25rem;
}

.event-body {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4375rem;
}

.event-text {
  font-size: 0.875rem;
  line-height: 1.5rem;
  margin-bottom: 0;
}

.event-item {
  padding-bottom: 1.5rem;
}

.event-item:last-child {
  padding-bottom: 0;
}

.event-item:last-child {
  padding-bottom: 0;
}

.event-action {
  margin-top: 0.625rem;
}

.event-videos-title {
  margin-bottom: 0.625rem;
  font-size: 1rem;
  line-height: 1.4375rem;
  font-weight: bold;
  /*color: var(--ipa-darkgreen);*/
  color: var(--event);
}

.event-video-item {
  display: block;
  position: relative;
  border-radius: 0.3125rem;
  margin-bottom: 0.625rem;
  padding: 1.25rem 2.125rem 1.25rem 1.25rem;
  background-color: var(--ipa-cultured);
      
  text-align: center;
}

.event-video-item:hover,
.event-video-item:focus {
  color: inherit;
  text-decoration: none;
  opacity: 0.8;
}

.event-video-item:last-child {
  margin-bottom: 0;
}

.event-details {
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.25rem;
}

.event-details p {
  margin: 0;
}

.event-video-icon {
  position: absolute;
  right: 1.25rem;
}

.event-videos-brand {
  min-width: 31.5%;
  margin-bottom: 0;
}

.event-videos-brand img {
  height: 16px;
  margin: 0 auto;
  display: block;
}

.event-details {
  flex: 1;
}

.event-text-sm {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

/*--------------------------------------------------------------
# Information
--------------------------------------------------------------*/

.information-map-title {
  padding: 0.75rem 1.25rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-family: var(--body-font);
  font-weight: bold;
  text-align: center;
  background: var(--primary-color);
  color: #ffffff;
}

.information-action {
  padding-bottom: 1.25rem;
}

.information-action .btn {
  margin: 0 auto;
}

.information-map-body {
  margin-bottom: 1.25rem;
  background: var(--ipa-gainsboro);
  position: relative;
  /* height: 11.5rem; */
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.information-map-body p {
  margin: 0;
  font-weight: bold;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.information-map-action {
  position: absolute;
  right: 0.625rem;
  bottom: 0.625rem;
}

/*--------------------------------------------------------------
# Profiles
--------------------------------------------------------------*/

.profiles {
  margin-bottom: 2.5rem;
  padding: 1.25rem;
}

.profiles-info {
  margin-bottom: 0;
}

.profile-bar {
  margin-bottom: 1.25rem;
  color: white;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.625rem;
  /*background: var(--ipa-blue);*/
  background: var(--spe);
  align-items: center;
  padding: 0.75rem 1.25rem;
  gap: 0.625rem;
}

.profile-bar h2 {
  flex: 1;
  margin: 0;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.625rem;
}

.profile-bar-2nd {
  margin-bottom: 1.25rem;
}

.profile-actions {
  margin-left: auto;
  display: flex;
}

.profile-name {
  font-family: var(--body-font);
  padding-bottom: 0.625rem;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4375rem;
}

.profile-image-wrap {
  margin-bottom: 0.625rem;
  position: relative;
}

.profile-image {
  object-fit: cover;
  object-position: right;
  width: 100%;
  height: 100%;
}

.profile-desc {
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 0.875rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.profile-longdesc {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 500;
}

.profile-exhibitors .profile-item {
  cursor: pointer;
}

.profile-item {
  margin-bottom: 1.25rem;
  padding: 0.625rem;
  text-align: center;
  /*background-color: rgba(255, 255, 255, 0.5);*/
  background-color:#ffffff;
}

/* .profile-item .btn {
  pointer-events: none;
} */

.profile-list.layout-grid {
  display: flex;
  gap: 0.625rem;
  flex-wrap: wrap;
}

.profile-list.layout-grid .profile-longdesc {
  display: none;
}

.profile-list.layout-list .profile-desc {
  display: none;
}

.profile-list.layout-list .btn {
  display: none;
}

.profile-list.layout-grid .profile-item {
  width: calc((100% - 0.625rem) / 2);
}

.profile-list.layout-grid .profile-image-wrap {
  width: 100%;
  height: 33.43.87vw;
  margin-left: auto;
  margin-right: auto;
}

.profile-list.layout-list .profile-item {
  margin-bottom: 0;
  display: flex;
  gap: 1.25rem;
  background-color: #ffffff;
  border-bottom: 2px solid var(--ipa-cultured);
}

.profile-list.layout-list .profile-image-wrap {
  width: 5rem;
  height: 5rem;
}

.profile-list.layout-list .profile-item {
  text-align: left;
}

.profile-list.layout-list .profile-desc {
  font-weight: bold;
}

.profile-list.layout-list .profile-body {
  flex: 1;
}

.profile-list,
.profile-list.layout-list,
.profile-list.layout-grid {
  display: none;
}

.profile-list.layout-list.active {
  display: block;
}

.profile-list.layout-grid.active {
  display: flex;
  flex-wrap: wrap;
}

body .profile-list.profile-speaker-list {
  display: flex;
  flex-wrap: wrap;
}

.profiles-speaker {
  margin-bottom: 1.25rem;
}

.profiles-speaker .profile-name {
  padding-bottom: 0;
}

.profiles-speaker .profile-item {
  margin-bottom: 0;
}

.profile-button {
  opacity: 1;
  cursor: pointer;
}

.profile-list-button .button-list-active {
  display: none;
}

.profile-list-button.active .button-list-active {
  display: block;
}

.profile-list-button.active .button-list-inactive {
  display: none;
}

/*  */

.profile-grid-button .button-grid-active {
  display: none;
}

.profile-grid-button.active .button-grid-active {
  display: block;
}

.profile-grid-button.active .button-grid-inactive {
  display: none;
}

.profile-grid-button {
  opacity: 0.9;
}

.profile-grid-button.active {
  opacity: 1;
}

.profile-foot-note {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.25rem;
  text-align: left;
  margin-bottom: 0;
}

.profile-pagination {
  margin-top: 0.625rem;
  display: flex;
  gap: 0.625rem;
  align-items: center;
  justify-content: center;
  list-style: none;
  padding: 0;
  font-size: 0.75rem;
  font-weight: bold;
  font-family: var(--heading-font);
  display: none;
}

.profile-page {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #ffffff;
  cursor: pointer;
}

.profile-page img {
  width: 1.25rem;
  height: 1rem;
}

.profile-page:hover,
.profile-page:focus {
  background-color: var(--ipa-black);
  color: #ffffff;
  text-decoration: none;
}

.profile-prev:hover img,
.profile-prev:focus img,
.profile-next:hover img,
.profile-next:focus img {
  filter: invert(1);
}

.profile-prev.disabled,
.profile-next.disabled {
  pointer-events: none;
  opacity: 0.5;
}

.profile-page.active {
  background: var(--ipa-black);
  color: #ffffff;
}

.profile-prev img {
  transform: rotate(180deg);
}

.profile-info {
  display: flex;
  align-items: center;
  border-bottom: 2px solid #ffffff;
  gap: 0.625rem;
  background: rgba(250, 250, 250, 0.5);
}

.profile-info-title {
  font-family: var(--body-font);
  width: 31.5%;
  height: 4.25rem;
  padding: 0.625rem;
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.25rem;
  margin: 0;
}

.profile-info-text {
  font-size: 0.875rem;
  font-weight: bold;
  flex: 1;
  margin: 0;
}

.profile-info-title,
.profile-info-text {
  display: flex;
  align-items: flex-start;
  padding: 0.625rem;
  height: 4.25rem;
}

.profile-table .time,
.profile-table .contents {
  text-align: left;
}
.profile-table .time {
  vertical-align: top;
}

.profile-table .contents {
  font-weight: 500;
}

.profile-table tbody tr {
  background: #ffffff;
}

.profile-table tbody tr br.line-for-sp {
  display: none;
}

.profile-block-list {
  padding: 1.25rem;
  background: #ffffff;
}

.profile-block {
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--ipa-platinum);
}

.profile-block:last-child {
  border: 0;
  margin: 0;
  padding: 0;
}

.profile-block-title {
  margin-bottom: 0.625rem;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.4375rem;
}

.profile-block-text {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5rem;
}

.profile-modal-outer,
.profile-modal-outer-map {
  display: none;
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
}

.profile-modal-inner {
  visibility: hidden;
  padding: 1.25rem;
  background-color: #ffffff;
  width: 95%;
  max-width: 57.0625rem;
}

.profile-modal-inner-map {
  padding: 1.25rem;
  background-color: #ffffff;
  width: 95%;
  max-width: 84%;
}

.profile-modal-body {
  display: flex;
  flex-wrap: wrap;
  gap: 4%;
  margin-bottom: 1.25rem;
}

.profile-modal-sp {
  display: block;
}

.profile-modal-pc {
  display: none;
}

.profile-modal-left {
  width: 33.56%;
}

.profile-modal-content {
  width: 62%;
}

.profile-modal-close,
.profile-modal-close-map {
  position: absolute;
  top: 1.875rem;
  right: 1.875rem;
  display: flex;
  gap: 0.625rem;
  font-size: 0.75rem;
  line-height: 1.0625rem;
  color: black;
  font-weight: 500;
  align-items: center;
}

.profile-modal-close img,
.profile-modal-close-map img {
  filter: brightness(0);
  width: 0.75rem;
  height: 0.75rem;
}

.profile-modal-close:hover,
.profile-modal-close-map:hover {
  color: #2b2b2b;
}

.profile-modal-subtitle {
  margin: 0;
  font-size: 0.625rem;
  line-height: 0.875rem;
  font-weight: 500;
}

.profile-modal-title {
  font-size: 1rem;
  line-height: 1.4375rem;
  font-weight: bold;
  margin: 0 0 0;
}

.profile-modal-label {
  margin-top: 0;
  margin-bottom: 0.125rem;
  color: black;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 700;
}

.profile-modal-text {
  margin: 0;
}

.profile-modal-section {
  margin-bottom: 1.25rem;
}

.profile-modal-text {
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 500;
}

.profile-modal-slide {
  padding-bottom: 2.375rem;
}

.profile-modal-slide .slick-arrow.slick-disabled {
  opacity: 0.3;
}

.profile-modal-slide .slick-prev,
.profile-modal-slide .slick-next {
  position: absolute;
  top: auto;
  right: 0;
  left: auto;
  bottom: -1.5rem;
  z-index: 1;
  width: 3rem;
  height: 3rem;
}

.profile-modal-slide .slick-prev {
  bottom: 0;
  right: 3.25rem;
}

.profile-modal-slide .slick-prev:before,
.profile-modal-slide .slick-next:before {
  display: none;
}
.profile-modal-slide .slick-prev:after,
.profile-modal-slide .slick-next:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: block;
  background-image: url("../img/right-arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.25rem;
  height: 1rem;
}

.profile-modal-slide .slick-prev {
  transform: rotate(-180deg);
}

.profile-modal-slide .slick-prev:focus,
.profile-modal-slide .slick-next:focus {
  outline: 3px solid var(--primary-color);
}

.profile-slide-num {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  transform: translateY(-2rem);
}

.profile-table-notes {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: bold;
  text-align: center;
}

.profile-table-notes p {
  margin-top: 1.25rem;
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/

.contact-action {
  margin-bottom: 1.25rem;
  width: 100%;
  /* height: 5.0375rem; */
  /* background-image: url("../img/contact_ email.svg");
  background-size: contain;
  background-repeat: no-repeat; */
}

.contact-action a {
  border-radius: 0;
}

.contact-heading {
  font-family: var(--body-font);
  padding-bottom: 1.25rem;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.8125rem;
}

.contact-section-content {
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.contact-section-content ul {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.contact-section-content p {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.contact-section-content-last {
  margin-bottom: 0;
}

.contact-section-content h5 {
  font-family: var(--body-font);
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4375rem;
  margin: 0 0 0.625rem;
}

.contact-section-title {
  margin-bottom: 0.625rem;
  font-size: 1.1875rem;
  font-weight: bold;
  color: #ffffff;
  line-height: 1.6875rem;
  background-color: var(--ipa-black);
  padding: 0.625rem 1.25rem;
}

.contact-wrapper {
  background: #ffffff;
}

/*--------------------------------------------------------------
# Section
--------------------------------------------------------------*/

.section {
  padding: 2.5rem 0;
}

.section-title {
  margin-bottom: 1.25rem;
  /*padding-left: 0.75rem;*/
  position: relative;
}




.section-report.container-report {
  padding-top: 2.5rem;
}

.section-report-wrap {
  background-image: url("../img/report/report-text.svg");
  background-size: 11.8rem;
  background-position: 0.5% 1rem;
  background-repeat: no-repeat;
}

/*
.section-report .section-title:before {
  background: var(--ipa-report);
}*/

.blue-left-line:before {
  background: var(--gradient-blue-color);
}

.primary-grad-left-line:before {
  background: var(--gradient-red-color);
}

.section-title span {
  display: block;
  padding-bottom: 0.75rem;
  font-family: var(--body-font);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.0625rem;
}

.section-contact {
  padding-bottom: 0;
}

.section-about {
  /*padding-bottom: 0;*/
}

.section-about-events-wrap {

  background-color: #e6ecf0;
}

.section-exhibitors {
  padding-bottom: 2.5rem;
  /*background-image: url("../img/vector-bg.webp"),
    url("../img/exhibitors-bg-bottom.webp");*/
  background-size: 155vw, 157vw;
  /*background-position: -7% top, -15.5rem 103%;*/
  background-position: left 0% top 0% !important;
  /*background-repeat: no-repeat;*/
  background-repeat: repeat-y; 
  background-color: #e6ecf0;
}

.section-events {
  /*background-image: url("../img/information-bg.webp");*/
  /*background-size: 90vw;
  background-position: left 100%;
  background-repeat: no-repeat;
  background-color: transparent;*/
}

.section-contact {
  /*background-color: #ffffff;*/
}

/* Temporary starts */
.section-information {
 /*background-color: #ffffff;*/
  background-color: #e6ecf0;
  background-position: right 0% top 0% !important;
  background-repeat: repeat-y; 
}

.section-contact{
 /*background-color: #e6ecf0;*/
  /*background-position: right 0% top 0% !important;
  background-repeat: no-repeat;*/
  padding-bottom: 2.5rem;
}

/* .section-information .section-content {
  display: none;
} */

.information-coming-soon-wrap {
  text-align: center;
}
.information-coming-soon-wrap img {
  display: inline-block;
}

.section.section-information-temp {
  padding: 0;
}
/* Temporary ends*/

/*title*/
.about_title{
 width: fit-content;
 padding: 0.5rem 1.5rem;
 position:relative;
 display:inline-block;
}

.about_title:before,
.about_title:after{
 position:absolute;
 content:'';
 width:100px;
 height:50px;
 display:inline-block;
}

.about_title:before{
 border-left:solid 4px var(--about);
 border-top:solid 4px var(--about);
 top:0;
 left: 0;
}
.about_title:after{
 border-right:solid 4px var(--about);
 border-bottom:solid 4px var(--about);
 bottom:0;
 right: 0;
}


.eve_title{
 width: fit-content;
 padding: 0.5rem 1.5rem;
 position:relative;
 display:inline-block;
}

.eve_title:before,
.eve_title:after{
 position:absolute;
 content:'';
 width:100px;
 height:50px;
 display:inline-block;
}

.eve_title:before{
 border-left:solid 4px var(--event);
 border-top:solid 4px var(--event);
 top:0;
 left: 0;
}

.eve_title:after{
 border-right:solid 4px var(--event);
 border-bottom:solid 4px var(--event);
 bottom:0;
 right: 0;
}


.conta_title{
 width: fit-content;
 padding: 0.5rem 1.5rem;
 position:relative;
 display:inline-block;
}

.conta_title:before,
.conta_title:after{
 position:absolute;
 content:'';
 width:100px;
 height:50px;
 display:inline-block;
}

.conta_title:before{
 border-left:solid 4px var(--contact);
 border-top:solid 4px var(--contact);
 top:0;
 left: 0;
}
.conta_title:after{
 border-right:solid 4px var(--contact);
 border-bottom:solid 4px var(--contact);
 bottom:0;
 right: 0;
}

.exhibi_title{
 width: fit-content;
 padding: 0.5rem 1.5rem;
 position:relative;
 display:inline-block;
}

.exhibi_title:before,
.exhibi_title:after{
 position:absolute;
 content:'';
 width:100px;
 height:50px;
 display:inline-block;
}

.exhibi_title:before{
 border-left:solid 4px var(--exhi);
 border-top:solid 4px var(--exhi);
 top:0;
 left: 0;
}
.exhibi_title:after{
 border-right:solid 4px var(--exhi);
 border-bottom:solid 4px var(--exhi);
 bottom:0;
 right: 0;
}

.stage_title{
 width: fit-content;
 padding: 0.5rem 1.5rem;
 position:relative;
 display:inline-block;
}

.stage_title:before,
.stage_title:after{
 position:absolute;
 content:'';
 width:100px;
 height:50px;
 display:inline-block;
}

.stage_title:before{
 border-left:solid 4px var(--spe);
 border-top:solid 4px var(--spe);
 top:0;
 left: 0;
}
.stage_title:after{
 border-right:solid 4px var(--spe);
 border-bottom:solid 4px var(--spe);
 bottom:0;
 right: 0;
}

.ws_title{
 width: fit-content;
 padding: 0.5rem 1.5rem;
 position:relative;
 display:inline-block;
}

.ws_title:before,
.ws_title:after{
 position:absolute;
 content:'';
 width:100px;
 height:50px;
 display:inline-block;
}

.ws_title:before{
 border-left:solid 4px var(--ws);
 border-top:solid 4px var(--ws);
 top:0;
 left: 0;
}
.ws_title:after{
 border-right:solid 4px var(--ws);
 border-bottom:solid 4px var(--ws);
 bottom:0;
 right: 0;
}


.exhibi_title_h2 {
  position: relative;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.5);
  margin-bottom: 0.625rem;
  font-family: var(--body-font);
  font-size: 1.5rem;
  line-height: 1.4375rem;
  padding: 0.635rem 1.25rem;
}

.exhibi_title_h2:before {
    content: "";
    display: block;
    background: var(--exhi);
    width: 0.1875rem;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
}

.ws_title_h2 {
  position: relative;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.5);
  margin-bottom: 0.625rem;
  font-family: var(--body-font);
  font-size: 1.5rem;
  line-height: 1.4375rem;
  padding: 0.635rem 1.25rem;
}

.ws_title_h2:before {
    content: "";
    display: block;
    background: var(--ws);
    width: 0.1875rem;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
}

.st_title_h2 {
  position: relative;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.5);
  margin-bottom: 0.625rem;
  font-family: var(--body-font);
  font-size: 1.5rem;
  line-height: 1.4375rem;
  padding: 0.635rem 1.25rem;
}

.st_title_h2:before {
    content: "";
    display: block;
    background: var(--spe);
    width: 0.1875rem;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
}


/*
.title_event,
.title_e_sub{
    width: fit-content;
    background-color: var(--event);
    color: #F9FAFB;
    padding: 0.2rem;
}
*/
/*
.title_exhi,
.title_exhi_sub{
    width: fit-content;
    background-color: var(--exhi);
    color: #FAF7F2;
    padding: 0.2rem;
}

.title_speakers,
.title_s_sub{
    width: fit-content;
    background-color: var(--spe);
    color: #F4F7FF;
    padding: 0.2rem;
}

.title_contact,
.title_contact_sub{
    width: fit-content;
    background-color: var(--contact);
    color: #F4F7FF;
    padding: 0.2rem;
}
*/

/*--------------------------------------------------------------
# Button
--------------------------------------------------------------*/

.button-register {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #e6400c;
  color: #FFFDF9;
  padding: 14px 26px;
  border-radius: 8px;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  min-width: 200px;
  justify-content: center;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease-in-out;
}

.entry_btn_area a {
  display: block;
  align-items: center;
  gap: 8px;
  background: #B33209;
  color: #FFFDF9;
  padding: 14px 26px;
  border-radius: 8px;
  font-size: 1.25rem;
  font-weight: 600;
  text-decoration: none;
  min-width: 200px;
  justify-content: center;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease-in-out;
}

/* ホバー状態（色だけに頼らない変化） */
.entry_btn_area a:hover {
  box-shadow: 0 1px 6px 1px rgba(0, 0, 0, 0.2);
  transform: scale(1.02);
}

/* アクティブ（押下） */
.entry_btn_area a:active {
 box-shadow: 0 2px 3px 1px rgba(0, 0, 0, 50%) inset;
  transition-duration: 0.05s;
  transform: scale(0.99);
}

/* フォーカス（キーボード操作） */
.entry_btn_area a:focus-visible {
  outline: 3px solid #000;
  outline-offset: 4px;
}

/* モバイル対応（タップ領域） */
.entry_btn_area a {
  min-height: 44px;
}

.entry_btn_area a:hover{
    outline: none;
    color:#FFFDF9;
}


.entry_btn_area a:focus-visible{
    outline: 3px solid var(--primary-color);
    color:#FFFDF9;
}

.entry_btn_area{
 text-align: center;
 margin:2.25rem 0;
}


.floating_btn{
 z-index: 1;
 position: fixed;
 bottom:0.2rem;
 right: 0.2rem;
}

.floating_btn .entry_btn_area{
 margin: 0;
}

.back-to-top-wrap i{
 font-size: 44px;
 color:#0055aa;
 -webkit-text-stroke: 12px #e6ecf0;
    text-stroke: 12px #e6ecf0;
    paint-order: stroke;
}

/*--------------------------------------------------------------
# Report
--------------------------------------------------------------*/

.report_title {
    width: fit-content;
    padding: 0.5rem 1.5rem;
    position: relative;
    display: inline-block;
}

.report_title:before {
    border-left: solid 4px var(--report);
    border-top: solid 4px var(--report);
    top: 0;
    left: 0;
}

.report_title:after {
    border-right: solid 4px var(--report);
    border-bottom: solid 4px var(--report);
    bottom: 0;
    right: 0;
}



.report_title:before,
.report_title:after {
    position: absolute;
    content: '';
    width: 100px;
    height: 50px;
    display: inline-block;
}


.bg_report{
 background-color: #F4F0FFB3;
}


.repo_h2 {
    border-left: 0.875rem solid var(--report);
    padding-left: 0.5rem;
    margin-bottom: 2rem;
    text-wrap: wrap;
}

.map_h3,
.repo_h3{
 font-size: 1.5rem;
    line-height: 1.5;
    margin-bottom: 2rem;
    margin-top: 3rem;
    padding-bottom: 0.2rem;
    background-color: white;
    width: fit-content;

    border-bottom: 3px solid var(--report);
    padding: 0.5rem 0.5rem 0.2rem 0.5rem;
}


.repo_ul{
 list-style: none;  /* 点を消す */
  padding: 0;        /* 左側の余白を詰める */
  margin: 0;
}

ul.repo_ul li {
    margin: 2rem 0;
}

.repo_section{
 margin-bottom: 4rem;
}

.entry_btn_area.repo_btn a{
 display: block;
    align-items: center;
    gap: 8px;
    background: #B33209;
    color: #FFFDF9;
    padding: 2rem;
    border-radius: 8px;
    font-size: 1.25rem;
    font-weight: 600;
    text-decoration: none;
    min-width: 200px;
    justify-content: center;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease-in-out;

}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

.footer-main {
  /*margin-top: 2.5rem;*/
  font-family: var(--body-font);
  padding: 2.5rem 1.5rem 5rem;
  background-color: var(--ipa-black);
  color: #ffffff;
}

.footer-info p {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.0625rem;
  margin-top: 0;
  margin-bottom: 0;
}

.footer-img-wrap {
  margin-bottom: 1.25rem;
  width: 5rem;
  height: 2.6875rem;
  position: relative;
}
.footer-img {
  object-fit: contain;
}

.button-list-tags {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}




@media (max-width: 520px) {
  .information-map-action {
    display: none;
  }
}

@media (max-width: 992px) {
  .profile-table thead {
    display: none;
  }
  .profile-table {
    display: block;
    border-collapse: collapse;
    border: 1px solid var(--ipa-platinum);
  }

  .profile-table tbody tr {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .profile-modal-close,
  .profile-modal-close-map {
    position: static;
    margin-left: auto;
    margin-right: 0;
    justify-content: end;
    margin-bottom: 3px;
  }

  .profile-table tbody td {
    padding: 0.625rem;
    border-top: 1px solid var(--ipa-platinum);
    border-bottom: 1px solid var(--ipa-platinum);
  }
  .profile-table .time {
    background-color: #f9f9f9;
    min-width: 9.5rem;
    border-right: 1px solid var(--ipa-platinum);
    font-weight: 700;
  }
  .profile-table tbody {
    display: block;
    width: 100%;
  }
  .profile-table tbody tr br.line-for-sp {
    display: block;
  }
  .profile-table tbody td {
    font-size: 0.875rem;
    line-height: 1.5rem;
    font-weight: 500;
  }
}

@media (min-width: 768px) {
  .forSp {
    display: none;
  }
  .forPc {
    display: block;
  }
}

@media (min-width: 992px) {
  html {
    font-size: var(--base-font-size);
    line-height: var(--base-line-height);
  }

  body {
    font-family: var(--sp-base-font-size);
    line-height: var(--sp-base-line-height);
  }

  .h2 {
    font-size: var(--h1-size);
    font-weight: var(--h1-weight);
    line-height: var(--h1-line-height);
  }

  /*--------------------------------------------------------------
  # TAB Utilities
  --------------------------------------------------------------*/
  .back-to-top {
    /*bottom: 5.4375rem;*/
    bottom: 6rem;
    right: 1.25rem;
  }

  .container {
    padding: 0 2.5rem;
  }

  .bubble {
    font-family: var(--body-font);
    top: -1.6563rem;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 85px;
    height: 23px;
    font-size: 0.625rem;
    border-radius: 1.375rem;
    padding: 0.125rem 0.4375rem 0.5rem 0.5rem;
    line-height: 0.9675rem;
  }

  .bubble::after {
    display: block;
  }

  .link-text {
    /* font-size: 1.25rem;
    line-height: 1.75rem; */
    font-size: 1rem;
    line-height: 1.75rem;
  }

  /*--------------------------------------------------------------
  # TAB Buttons
  --------------------------------------------------------------*/
  .btn {
    padding: 1rem 2.5rem;
  }

  .btn-sm {
    padding: 0.625rem 2rem;
    /*max-width: 12rem;*/
    width: fit-content;
  }

  .btn-smd {
    padding: 0.625rem;
    font-size: 1.25rem;
    line-height: 1.8125rem;
    max-width: 9rem;
  }

  .btn-simple {
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .btn-medium {
    max-width: 18.75rem;
    padding: 1.5313rem;
    font-size: 1.25rem;
    line-height: 1.8125rem;
  }

  .btn-grey {
    background: #757575;
  }

  .btn-grey:hover {
    background: #454545;
    opacity: 1;
  }

  .btn-large {
    padding: 2rem;
    font-size: 3rem;
    line-height: 4.375rem;
  }

  .btn-large span {
    display: block;
    font-size: 1.25rem;
    line-height: 1.8125rem;
  }

  /*--------------------------------------------------------------
  # TAB Header
  --------------------------------------------------------------*/

  .header-action {
    margin-bottom: 0;
  }

  .header-action .btn span {
    font-size: 1.25rem;
    line-height: 1.8125rem;
  }

  .header-main {
    padding: 1.25rem 1.5rem;
  }

  .header-logo img {
    width: 4.625rem;
    height: 5rem;
  }

  .header-menus-wrap {
    overflow: unset;
    background: transparent;
  }

  .header-menu-inner {
    padding-bottom: 0;
    min-height: fit-content;
    flex: 1;
    gap: 1rem;
    height: auto;
    flex-direction: row;
    justify-content: unset;
  }

  .header-menus-wrap.active {
    height: auto;
    width: auto;
  }

  .header-menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
    font-size: 1rem;
    font-weight: bold;
  }

  .header-menu a:hover {
    color: var(--primary-color);
    text-decoration: none;
  }

  .header-menus-wrap {
    display: flex !important;
  }

  .header-menus-wrap.active {
    height: auto;
    width: auto;
  }

  .header-inner {
    padding: 0;
    gap: 1rem;
    flex-wrap: nowrap;
  }

  .header-mobile-menu {
    display: none;
  }

  .menu-item a {
    border: 0;
    padding: 0;
  }

  .menu-item-disabled {
    display: block;
  }

  /*--------------------------------------------------------------
   # TAB Content
  --------------------------------------------------------------*/
  .content-inner {
    padding: 2.5rem;
    margin-bottom: 6.25rem;
  }
  .content-media-2-cols {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1.25rem;
    row-gap: 1.5rem;
  }

  .content-media-2-cols > * {
    width: 48.6%;
  }

  .content-media-1-center > * {
    max-width: 25rem;
  }

  .content-inner-title {
    font-size: 2.25rem;
  }

  .content-inner-subtitle {
    font-size: 1.25rem;
    padding: 0.625rem 1.25rem;
    line-height: 29px;
  }

  .content-text {
    font-size: 1rem;
    line-height: 1.75rem;
  }

  /*--------------------------------------------------------------
  # TAB Slider
  --------------------------------------------------------------*/

  .slider-item {
    width: 50.22vw;
  }

  .slider-item:first-child {
    width: 54.79vw;
  }

  .slider-item:nth-child(2) {
    width: 50.22vw;
  }

  .slider-item .slider-img-wrap {
    padding: 0 1.25rem 0 0;
  }

  .slider-img-wrap {
    height: 29vw;
  }

  .slider-controls {
    display: flex;
  }

  .slide-numbers {
    display: block;
  }

  .slide-numbers-mobile {
    display: none;
  }

  .slider-controls-mobile {
    display: none;
  }

  .slide-box-item {
    width: 2.8125rem;
    height: 0.3125rem;
    background-color: #d6d6d6;
  }

  .slider-bottom {
    margin-left: auto;
  }

  .slider-lower {
    flex-direction: row;
  }

  .slider-lower-btn {
    width: 21.75rem;
  }

  .slider-lower-text {
    margin-top: 0.625rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1;
  }

  .slider-lower-action {
    margin-right: -239px;
    width: auto;
    padding: 0;
  }

  /*--------------------------------------------------------------
  # Button List
  --------------------------------------------------------------*/

  .button-list {
    padding: 0.625rem;
    border: 3px solid var(--ipa-cultured);
  }

  .button-list-title {
    padding: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.8125rem;
  }

  .button-list-description {
    font-size: 1rem;
    line-height: 1.4375rem;
    padding: 0.75rem;
    text-align: center;
  }

  .button-list-tags {
    display: flex;
    gap: 0.625rem;
    align-items: center;
    flex-direction: row;
  }

  .button-list-description br {
    display: none;
  }

  .button-list-action {
    height: 3.6875rem;
    font-size: 1.5rem;
    line-height: 2.1875rem;
  }

  .button-list-items {
    gap: 2%;
    margin-bottom: 1rem;
  }

  .button-list-item {
    flex: 1;
    width: auto;
    margin-bottom: 0;
  }

  .button-list-left {
    flex: auto;
    max-width: 15.75rem;
  }

  .button-list-info-item-left {
    max-width: 15.75rem;
  }

  .button-list-content {
    gap: 1.25rem;
  }

  .button-list-text {
    font-size: 1rem;
    line-height: 1.4375rem;
    margin: 0 0 0.1875rem;
  }

  .button-list-label {
    margin: 0 0 2rem;
    font-size: 1rem;
    line-height: 1.4375rem;
    padding: 0.75rem 1.25rem;
  }

  .button-list-info {
    font-size: 0.75rem;
    line-height: 1.0625rem;
  }

  .button-list-desc {
    font-size: 1rem;
    line-height: 1.4375rem;
    margin: 0 0 0.75rem;
  }

  .button-list-link {
    gap: 0.625rem;
    font-size: 1rem;
    line-height: 1.4375rem;
  }

  .button-list-info-item {
    gap: 1.25rem;
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
  }

  /*--------------------------------------------------------------
  # Tab Events
  --------------------------------------------------------------*/

  .events-list {
    /*padding: 3.75rem;*/
    padding: 1.5rem;
  }

  .event-title {
    margin-bottom: 1.25rem;
    font-size: 1.5rem;
    line-height: 2.1875rem;
  }

  .event-title:before {
    width: 0.25rem;
  }

    .about_title_h2 {
    margin-bottom: 1.25rem;
    font-size: 1.5rem;
    line-height: 2.1875rem;
  }

  .about_title_h2:before {
    width: 0.25rem;
  }


  .event-text {
    font-size: 1rem;
    line-height: 1.4375rem;
  }

  .event-item {
    padding-bottom: 3.75rem;
  }

  .event-videos-title {
    font-size: 1.5rem;
    line-height: 2.1875rem;
  }

  .event-video-icon {
    right: 3rem;
  }

  .event-videos-brand {
    margin-bottom: 0;
  }

  .event-videos-brand img {
    height: auto;
    margin: 0 auto;
    display: block;
  }

  .event-video-item {
    height: 5.625rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    border-radius: 0.3125rem;
    margin-bottom: 0.625rem;
    padding: 0.75rem 4.5rem 0.75rem 2.5rem;
    background-color: var(--ipa-cultured);
  }

  .event-videos-list-spread {
    display: flex;
    gap: 1.5%;
  }

  .event-videos-list-spread .event-video-item {
    flex: 1;
    justify-content: center;
    margin: 0;
  }

  /*--------------------------------------------------------------
  # TAB Carousel
  --------------------------------------------------------------*/
  .carousel-control {
    height: 3.75rem;
    width: 3.75rem;
  }

  .carousel-control img {
    width: 20px;
    height: 16px;
  }

  .carousel-prev {
    left: -2rem;
  }

  .carousel-next {
    right: -2rem;
  }

  .carousel-nav-thumbnails {
    padding-top: 1.25rem;
    padding-bottom: 2.5rem;
  }

  .carousel-nav-item {
    margin-right: 1.25rem;
    width: 9.5rem;
  }
  /*--------------------------------------------------------------
  # TAB Block
  --------------------------------------------------------------*/

  .block-glass {
    margin-bottom: 3.75rem;
    font-size: 1rem;
    line-height: 1.75rem;
    /*padding: 3.75rem;*/
    padding: 1.5rem;
  }

  .block-glass p {
    margin-bottom: 1.875rem;
  }

  /*--------------------------------------------------------------
  # TAB Contact
  --------------------------------------------------------------*/

  .contact-action {
    margin-bottom: 2.5rem;
    /* height: 10.6875rem; */
  }

  .contact-wrapper {
    padding: 3.75rem;
    border: 1px solid var(--ipa-platinum);
  }

  .contact-heading {
    padding-bottom: 2.5rem;
    font-size: 2rem;
    line-height: 2.875rem;
  }

  .contact-section-title {
    margin-bottom: 1.25rem;
    font-size: 1rem;
    line-height: 1.4375rem;
    padding: 0.375rem 1.25rem;
  }

  .contact-section-content {
    line-height: 1.25rem;
  }

  .contact-section-content ul {
    font-size: 0.875rem;
    line-height: 1.5rem;
  }

  .contact-section-content h5 {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  /*--------------------------------------------------------------
  # TAB Section
  --------------------------------------------------------------*/

  .section {
    padding: 0 0 6.25rem 0;
  }

  .section-title {
    margin-bottom: 2.5rem;
    /*padding-left: 1.25rem;*/
  }

  /*
  .section-title:before {
    width: 0.4375rem;
  }
*/
  .section-title span {
    /*font-size: 1.25rem;*/
    font-size:2rem;
    font-weight: bold;
    line-height: 1.8125rem;
  }

  .section-title br {
    display: none;
  }

  .section-exhibitors {
    padding-bottom: 3.75rem;
  }
  .section-information {
    /*background-image: url("../img/Exhibition.svg");*/
    /*background-size: 9rem;*/
    background-size: 89rem;
    background-position: 4% 3rem;
    /*background-repeat: no-repeat;*/
    background-repeat: repeat-y; 
  }

  
.section-contact{
 background-size: 89rem;
}

  .section-about {
    /*padding-top: 6.25rem;*/
    padding-bottom: 3.75rem;
    /*background-image: url("../img/about-text.svg");*/
   
    background-repeat: no-repeat;
  }

  .section-events {
    /*background-image: url("../img/event-txt.webp"), url("../img/event-bg.webp");
    background-image: url("../img/event-txt-svg.svg"),
      url("../img/event-bg.svg");*/
    padding-top: 0;
    background-size: 12.5rem, 88rem;
    background-position: 97% 10rem, -29rem 100%;
  }


  .section-exhibitors {
    padding-bottom: 3.75rem;
    /*background-size: 195px, 89rem, 73rem;*/
    background-size: 89rem;
    /*background-image: url("../img/exhibitors-text-bg.webp"),
      url("../img/vector-bg.webp"), url("../img/event-bg.webp");
    background-image: url("../img/exhibitors-text-bg-svg.svg"),
      url("../img/vector-bg-svg.svg"), url("../img/event-bg.svg");*/
    background-position: 97% 40px, 50vw 0%, -17rem 100%;
  }

  .section-report.container-report {
    padding-top: 6.25rem;
  }

  /*--------------------------------------------------------------
  # Tab Information
  --------------------------------------------------------------*/

  .information-map-title {
    padding: 2rem;
    font-size: 2rem;
    line-height: 2rem;
  }
  .information-map-body {
    margin-bottom: 2.5rem;
    height: 29.5rem;
  }

  .information-map-body p {
    font-size: 1.25rem;
    line-height: 1.8125rem;
  }

  .information-action {
    padding-bottom: 2.5rem;
  }

  /*--------------------------------------------------------------
  # TAB Profile
  --------------------------------------------------------------*/
  .profiles {
    padding: 2.5rem;
  }

  .profiles-info {
    padding: 3.75rem;
  }

  .profile-item {
    padding: 1.25rem;
  }

  .profile-bar {
    margin-bottom: 1.25rem;
    font-size: 1.5rem;
    line-height: 2.1875rem;
    padding: 1rem 1.25rem;
    gap: 0.625rem;
  }

  .profile-bar h2 {
    font-size: 1.5rem;
    line-height: 2.1875rem;
  }

  .profile-info {
    background: #ffffff;
    border-bottom: 2px solid var(--ipa-platinum);
  }

  .profile-info-title {
    width: 31.5%;
    height: 5rem;
    padding: 1.25rem 1.25rem;
    font-size: 1.25rem;
    line-height: 1.8125rem;
    margin: 0;
  }

  .profile-info-title,
  .profile-info-text {
    align-items: center;
    padding: 1.25rem;
    height: 5rem;
  }

  .profile-bar-2nd {
    margin-bottom: 2.5rem;
  }

  .profile-image-wrap {
    margin-bottom: 1.25rem;
  }

  .profile-name {
    padding-bottom: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.8125rem;
  }

  .profile-desc {
    font-size: 0.8125rem;
    line-height: 1.1875rem;
  }

  .profile-longdesc {
    overflow: visible;
    display: block;
    -webkit-box-orient: unset;
    -webkit-line-clamp: unset;
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.1875rem;
    font-weight: bold;
  }

  .profile-pagination {
    margin-top: 2.5rem;
    gap: 1.25rem;
    font-size: 1rem;
  }

  .profile-page {
    width: 3rem;
    height: 3rem;
  }

  .profile-list.layout-grid .profile-image-wrap {
    width: 12.5rem;
    height: 13.3125rem;
  }

  .profile-list.layout-grid {
    gap: 1.67%;
  }

  .profile-list.layout-grid .profile-item {
    width: 32.22%;
  }

  .profile-list.layout-list .profile-name {
    padding-bottom: 1.25rem;
  }

  .profile-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1rem;
    line-height: 1.4375rem;
    font-weight: bold;
  }

  .profiles-speaker {
    margin-bottom: 2.5rem;
  }

  .profile-table th,
  .profile-table td {
    border: 2px solid var(--ipa-platinum);
    padding: 1.25rem;
    text-align: center;
  }

  .profile-table th {
    padding: 0.5rem;
  }

  .profile-table thead {
    background: gainsboro;
    display: table-header-group;
  }

  .profile-table .stage {
    max-width: 16rem;
  }

  .profile-table .time {
    border-left: 0;
    min-width: 11.5rem;
  }

  .profile-table .time,
  .profile-table .contents {
    line-height: 1.25rem;
  }

  .profile-table .stage {
    border-right: 0;
  }

  .profile-block-title {
    font-size: 1.25rem;
    line-height: 1.8125rem;
  }

  .profile-block {
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .profile-block-text {
    font-size: 1rem;
    line-height: 1.4375rem;
  }

  .profile-modal-inner,
  .profile-modal-inner-map {
    width: 100%;
    padding: 3.75rem 3.75rem 3.75rem;
  }

  .profile-modal-sp {
    display: none;
  }

  .profile-modal-pc {
    display: block;
  }

  .layout-grid + .profile-foot-note {
    margin-left: 1rem;
  }

  .profile-modal-item {
    padding-bottom: 2.5rem;
  }

  .profile-modal-pc .profile-modal-section:last-child {
    margin-bottom: 0;
  }

  .profile-modal-subtitle {
    font-size: 0.75rem;
    line-height: 1.0625rem;
  }

  .profile-modal-title {
    font-size: 1.25rem;
    line-height: 1.8125rem;
    margin: 0 0 2rem;
  }

  .profile-modal-body {
    margin-bottom: 0;
    gap: 4%;
  }

  .profile-modal-text {
    line-height: 1.25rem;
  }

  .profile-modal-left {
    width: 28.38%;
  }

  .profile-modal-content {
    width: 67.6%;
  }

  .profile-modal-section {
    margin-bottom: 1.25rem;
  }

  .profile-modal-section-last {
    margin-bottom: 2.5rem;
  }

  .profile-modal-slide {
    padding-bottom: 0;
  }

  .profile-modal-slide .slick-prev,
  .profile-modal-slide .slick-next {
    bottom: -4.5rem;
  }

  .profile-modal-slide .slick-prev {
    bottom: -3rem;
    right: 4.25rem;
  }

  .profile-slide-num {
    transform: translateY(0.8rem);
  }

  .profile-table-notes p {
    margin-top: 2.5rem;
  }

  .profile-modal-img-wrap {
    height: 15rem;
  }

  .profile-modal-img-wrap img {
    object-fit: cover;
    height: 100%;
    width: 100%;
  }

  .profile-modal-close img,
  .profile-modal-close-map img {
    width: 1.125rem;
    height: 1.125rem;
  }

  /*--------------------------------------------------------------
  # TAB Footer
  --------------------------------------------------------------*/

  .footer-main {
    padding: 2.5rem;
  }

  .footer-info p {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25rem;
  }

  .footer-main {
    margin-top: 0;
    padding: 2.5rem 1.5rem;
  }
}

@media (min-width: 1280px) {
  /*--------------------------------------------------------------
  # PC Button 
  --------------------------------------------------------------*/

  .btn-xs {
    padding: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  /*--------------------------------------------------------------
  # PC Header
  --------------------------------------------------------------*/

  .header-menu {
    gap: 1.25rem;
  }

  .header-menus-wrap {
    gap: 2.5rem;
  }

  .header-inner {
    gap: 2.5rem;
  }
  .header-main {
    padding: 1.3125rem 2.56rem;
  }
}



 /*--------------------------------------------------------------
  # 2026
  --------------------------------------------------------------*/
  .header-menus-wrap { display:none; }
.header-menus-wrap:target { display:block; }

.font_120{
 font-size: 120%;
}

.font_110{
 font-size: 110%;
}



.font_b{
 font-weight: bold;
}


.fv_area img{
 width: 100%;
}
.about_title_h2 {
  position: relative;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.5);
  margin-bottom: 0.625rem;
  font-family: var(--body-font);
  font-size: 1.5rem;
  line-height: 1.8rem;
  padding: 0.635rem 1.25rem;
  text-wrap: wrap;

}

.about_title_h2:before {
  content: "";
  display: block;
  background: var(--about);
  width: 0.1875rem;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}


.event_catch{
 font-size:1.5rem;
 font-weight: bold;
 line-height: 1.5;
 text-align: center;
 margin-bottom: 2rem;

 position: relative;
 padding-bottom: 0.2rem;
 border-bottom: 3px solid var(--event);
 background-color: white;
}

.event_catch:before {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) skew(-25deg);
    height: 20px;
    width: 10px;
    border-right: 3px solid var(--event);
    background-color: white;
    content: "";
}

.exhi_sta_link{
 margin-top:0.625rem;
}

.exhi_sta_link a{
 display: block;
 color: #ffffff;
}

.exhi_link{
 background-color: var(--exhi);
}

.exhi_link:hover,
.exhi_link:focus-visible{
 background-color: #256334;
}

.sta_link{
 background-color: var(--spe);
}

.sta_link:hover,
.sta_link:focus-visible{
 background-color: #8e285a;
}

.ws_link{
 background-color: var(--ws);
}

.ws_link:hover,
.ws_link:focus-visible{
 background-color: #8F3E00;
}



.box {
    position: relative;
    padding: 0.5rem 2rem 2rem 3.5rem;
    border-radius: 50%;
    background-color: rgb(232, 60, 60);
    box-shadow: 1rem -2rem rgb(232, 60, 60);
}
.box p {
    line-height: 1.5;
}



.box1{
    position: relative;
    padding: 0rem 1rem 1rem 2rem;
    border-radius: 50%;
    background-color: #006CFF;
    box-shadow: 1rem -1.5rem #006CFF;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
}

.box2{
    position: relative;
    padding: 0rem 1rem 1rem 2rem;
    border-radius: 50%;
    background-color: #D60036;
    box-shadow: 1rem -1.5rem #D60036;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
}

.box2{
    position: relative;
    padding: 0rem 1rem 1rem 2rem;
    border-radius: 50%;
    background-color: #D60036;
    box-shadow: 1rem -1.5rem #D60036;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
}

.box3{
    position: relative;
    padding: 0rem 1rem 1rem 2rem;
    border-radius: 50%;
    background-color: #24A600;
    box-shadow: 1rem -1.5rem #24A600;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
}

.tour_area {
    margin: 4rem 0;
}

.ai_tour{
 font-size:1.2rem;
 font-weight: bold;
 font-family: var(--heading-font);
 color:#72508e;
}

.enta_tour{
 font-size:1.2rem;
 font-weight: bold;
 font-family: var(--heading-font);
 color:#af4484;
}

.nani_tour{
 font-size:1.2rem;
 font-weight: bold;
 font-family: var(--heading-font);
 color:#c2003c;
}

.exhi_link.btn,
.sta_link.btn,
.ws_link.btn{
 padding: 0.625rem 1rem;
 font-size: 1rem;
 line-height: 1.4375rem;
}

.footer-info img {
    height: 1rem;
    padding-left: 0.1rem;
    padding-top: 0.1rem;
}

.fixed01.time_th{
 text-align: center;
}

a#back-to-top:focus-visible {
    outline: 3px solid var(--primary-color) !important;
}


li.menu-item.menu-close.sp.sp_closebtn {
    text-align: center;
    margin-top: 1rem;
}

button.menu-close-btn {
    font-size: 1rem;
    background-color: #525252;
}


.block-video {
    margin-bottom: 1.5rem;
}

li.f_menu_item{
 list-style: none;
 width: fit-content;
}

li.menu-item.f_menu_item {
    margin: 1rem 0;
}


.news_li{
 display: flex;
  border-bottom:1.5px solid #B33209;
  padding:0.5rem 0.25rem;
}

ul.news_ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

span.news_day {
    font-weight: bold;
    padding-right: 1rem;
}

.news_area{
 border:solid 4px #B33209;
 padding:0.5rem 1rem 1rem 1rem;
 background-color: #ffffff;
}

.wrap_news_area{
 padding-top: 2rem;
}

.flow_btn{

      border: 3px solid #e6ecf0;
}

.margin_top_1_5rem{
 margin-top:1.5rem;
}

.bg_image_area{
 background-image: url(../img/bg_img.png);
         background-size: 100vw auto;
 background-color: #e6ecf0;
}

.footer_link ul {
    padding-left: 0;
}

span.title_about,
span.title_event,
span.title_contact,
span.title_exhi,
span.title_speakers {
    display: block;
    font-size: var(--sp-h1-size)!important;
    font-weight: var(--sp-h1-weight);
    line-height: var(--sp-h1-line-height);
    font-family: var(--heading-font);
}


h1.mitou_h1 {
    padding: 6.25rem 0;
    font-size: 3.5rem;
}


.time_table td,
.time_table th{
 vertical-align:top;
}


.h4_st{
 padding: 0.5rem 0.5rem 0.2rem 0.5rem;
}


.m_top{
 margin-top:4rem;
}


.st_p {
    padding: 1rem;
    background-color: #ffffff;
}

.pf_name{
 font-size:1.5rem;
 font-weight: bold;
 line-height: 1.2;
}


.ex_bar{
 background-color: var(--exhi);
}


.ex_bar h2{
 text-align: start;
}


/* 普段は画面外に隠す（アクセシビリティを維持した隠し方） */
.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: #000;
  color: #fff;
  padding: 10px 20px;
  z-index: 1000;
  text-decoration: none;
  transition: top 0.2s;
}

/* Tabキーでフォーカスが当たった時だけ表示する */
.skip-link:focus {
  top: 0;
}

/********/
.pick_up_area{
 color: #ffffff;
 font-weight: bold;
}


.pick_flex p{
 margin:0;
}


.ex_pick {
    padding: 2rem;
    background-color: var(--exhi);
    border-radius: 50px 0;
}

.pr_pick {
 margin-top: 2rem;
    padding: 2rem;
    background-color: var(--spe);
    border-radius: 50px 0;
}

.ws_pick {
 margin-top: 2rem;
    padding: 2rem;
    background-color: var(--ws);
    border-radius: 50px 0;
}

h2.pick_h2 {
    margin-bottom: 2rem;
}

.pick_link {
    background-color: #ffffff;
    color: var(--exhi);
    padding: 0.625rem 1rem;
    font-size: 1rem;
    display: inline-block;
    border-radius: 10px;
    margin-top: 2rem;
}

.pick_st_link {
    background-color: #ffffff;
    color: var(--spe);
    padding: 0.625rem 1rem;
    font-size: 1rem;
    display: inline-block;
    border-radius: 10px;
    margin-top: 2rem;
}

.pick_ws_link {
    background-color: #ffffff;
    color: var(--ws);
    padding: 0.625rem 1rem;
    font-size: 1rem;
    display: inline-block;
    border-radius: 10px;
    margin-top: 2rem;
}

.pick_link:hover{
 background-color: var(--exhi);
 color: #ffffff;
 border:4px solid #ffffff;

}

.pick_st_link:hover{
 background-color: var(--spe);
 color: #ffffff;
 border:4px solid #ffffff;

}


.pick_ws_link:hover{
 background-color: var(--ws);
 color: #ffffff;
 border:4px solid #ffffff;

}

.m_t_25{
 margin-top: 2.5rem;
}

 .mobile{
  display: none;
 }

.yt_area{
 margin-top:2rem;
}

.menu-item.ipamenu.sanka a{
 font-size:0.875rem;
}

.header-menu .sanka a:hover {
        color: #ffffff;
        text-decoration: none;
    }


ul.menu2 {
    list-style-type: none;
}

ul.menu2 li.menu-item.ipamenu.sanka {
    padding: 0;
}

ul.menu2 .entry_btn_area a {
  display: block;
  margin-left: auto; /* 左側のマージンを自動で埋めて右に寄せる */
  width: fit-content; /* コンテンツの幅に合わせる */
  padding: 1rem;
}


ul.menu2 .entry_btn_area {
    margin: 0;
}

ul.menu2 {
    padding-left: 0;
    margin-bottom: 0;
}

.entry_btn_area a{
 min-width: 50px;
 padding:0.2rem 0.5rem;
}

@media (max-width: 991px) {
  .back-to-top {
    bottom: 6rem;
    right: 1rem;
   }

   .live_link{
  display: block;
  margin-top:1rem;
 }


 .sp_bottom_btn a{
  font-size:0.875rem;
 }

 li.menu-item.f_menu_item {
    margin: 1rem 0;
 }

 li.menu-item.f_menu_item a {
    padding: 0;
    border-bottom:0;
}

 .floating_btn {
    z-index: 1;
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100vw;
}

 .entry_btn_area a {
     padding: 8px 0px;
 }


 h1.mitou_h1 {
    padding-top: 2.5rem;
 }

 li.menu-item.menu-close.sp.sp_closebtn {
  display: block;
  padding-bottom:2rem ;
 }


ul.menu2 .entry_btn_area a {
    display: block;
    margin-left: 0;
    margin: 0 auto;
    width: fit-content;
    padding: 1rem;
}

}



@media (min-width: 769px) {
 .pc{
  display: block;
 }
 .sp{
  display: none;
 }

 .exhi_sta_link{
   display: flex;
 }

 .tour_area{
 display: flex;
    align-items: center;
    justify-content: space-between;
}

 .tour_area div{
  width: 28%;
 }

 .exhi_link.btn,
 .ws_link.btn{
 margin-left:2rem;
 }

 li.menu-item.ipamenu {
    padding-top: 1.4rem;
}

.pick_flex {
    display: flex;
}


.pick_text{
 width: 65%;
}

.pick_img{
 width: 35%;
}

.section .m_sub_s_top{
 margin-top:2.5rem;
}

.menu-item {
    margin: 0 0.1rem;
}

    .header-menu {
        justify-content: end;
    }

    /*  .header-inner {
    align-items: flex-start;
  }*/

  .repo_img {
    width: 50%;
}

.repo_img_2mai{
 display: flex;
 justify-content: space-between;
}

.repo_img_2mai img{
 display: block;
 width: 49%;
}


}

@media (max-width: 768px) {
 .pc{
  display: none;
 }
 .sp{
  display: block;
 }

 .section-contact,
 .section-information {
    background-size: 120vw;
 }

 .section-title span {
    font-size: 1.2rem;
    padding-top: 0.5rem;
    font-weight: bold;
}

 .event_catch{
 font-size:1.2rem;
 }

 .sta_link.btn,
 .exhi_link.btn,
 .ws_link.btn {
    margin-bottom: 2rem;
 }

 .contact-wrapper {
    padding: 1rem;
 }

 .box1,.box2,.box3 {
    margin: 3rem 1rem;
 }

 .tour_area p {
    margin-bottom: 1rem;
    font-size:1.2rem;
 }

 .entry_btn_area a {
    font-size: 1rem;
 }

 .bg_image_area{
  background-size: 100vw auto;
 }

 .footer-main {
    /* margin-top: 2.5rem; */
    font-family: var(--body-font);
    padding: 2.5rem 1.5rem 10rem;
   }
   h1.mitou_h1 {
    font-size: 1.5rem;
        line-height: 1;
    overflow-wrap: break-word;
 }

   .pf_name {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.2;
}


.ex_pick {
    padding: 1rem  1rem 1.5rem 1rem;
    background-color: var(--exhi);
    border-radius: 20px 0;
}

.pr_pick {
 margin-top: 2rem;
 padding: 1rem  1rem 1.5rem 1rem;
    background-color: var(--spe);
    border-radius: 20px 0;
}

.ws_pick {
 margin-top: 2rem;
 padding: 1rem  1rem 1.5rem 1rem;
    background-color: var(--ws);
    border-radius: 20px 0;
}


h2.pick_h2 {
    margin-bottom: 1rem;
}

.pick_flex p {
    margin: 1rem 0 0 0;
}

h2.repo_h2 {
    font-size: 1.3rem;
    margin-bottom: 1rem;
}

.repo_section {
    margin-bottom: 2rem;
}

.repo_h3 {
    font-size: 1.2rem;
   }



}


@media (max-width: 443px) {
 h1.mitou_h1 {
    padding: 2rem 0 0 0;
    font-size: 1rem;
        line-height: 1;
    overflow-wrap: break-word;
 }

 body{
  overflow-wrap: break-word;
  word-break: break-all;
 }

 .mobile{
  display: block;
 }

 .mb_font_80{
 font-size: 80%;
}

}