@charset "UTF-8";
/* Scss Document */
/* Reset CSS
---------------------------------------------------*/
@import url("https://fonts.googleapis.com/earlyaccess/notosansjp.css");
@import url("https://fonts.googleapis.com/css?family=Open+Sans");

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* hr {
  display: none;
} */

address,
em {
  font-style: normal;
}

img {
  vertical-align: bottom;
}



/* Fonts
---------------------------------------------------*/
body {
  font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
}

/* clearfix
---------------------------------------------------*/
.clearfix:after {
  content: '';
  display: block;
  clear: both;
  height: 0;
}

#global_link {
  position: relative;
  top: -9px;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 53px;
  padding: 5px 0;
  box-sizing: border-box;
}

@media screen and (max-width: 580px) {
  #global_link {
    position: fixed;
    background-color: #1a1a1a;
    width: 100%;
  }
}

#global_link a {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 10px !important;
  background: none !important;
  color: #ccc !important;
  text-decoration: none !important;
}

#global_link a:hover {
  color: #fff !important;
}

#global_link ul {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  max-width: 1200px;
  margin: 0 auto !important;
  padding: 0 !important;
  background: none !important;
}

@media screen and (max-width: 580px) {
  #global_link ul {
    display: inline-block !important;
    padding: 2em 0 0 0 !important;
    width: 100%;
  }
}

#global_link li {
  width: auto !important;
  height: auto !important;
  margin: 0 8px !important;
  padding: 0 !important;
  background: none !important;
  letter-spacing: 0.05em;
  font-size: 0.8em;
}

@media screen and (max-width: 580px) {
  #global_link li {
    width: auto !important;
    height: auto !important;
    margin: 0 8px !important;
    padding: 10px 0 !important;
    background: none !important;
    letter-spacing: 0.05em;
    font-size: 1.2em;
    border-bottom: 1px solid #fff;
  }
}

#global_link li:first-child {
  padding: 0 10px;
  letter-spacing: 0 !important;
}

@media screen and (max-width: 580px) {
  #global_link li:first-child {
    padding: 10px 0 !important;
  }
}

#global_link li:nth-of-type(2) {
  margin-left: auto !important;
}

@media screen and (max-width: 580px) {
  #global_link li:nth-of-type(2) {
    margin-left: 8px !important;
  }
}

#global_link li:last-of-type {
  margin-right: 10px !important;
}

#global_link li:not(:first-child) a {
  display: inline-block !important;
  position: relative;
  padding: 0 0 0 10px !important;
}

#global_link li:first-child a img {
  width: auto;
  height: 30px;
}

#global_link li:first-child a:hover img {
  opacity: 0.7;
}

#global_link li:not(:first-child) a:before {
  position: absolute;
  left: 0;
  top: 50%;
  border: 4px solid transparent;
  border-left: 5px solid #ccc;
  transform: translateY(-50%);
  content: '';
}

/* Scss Document */
/* 記述例
p {
  @include font-size(12);
}*/
/* 記述例
@include media(sp) {
	background-color: green;
}*/
html {
  font-size: 16px;
}

body {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  font-weight: 400;
  color: #0D0D1B;
  line-height: 1.5;
}

img {
  max-width: 100%;
  height: auto;
}

*,
*::after {
  box-sizing: border-box;
}

.l-inner {
  min-width: 320px;
  max-width: 2000px;
  width: 100%;
  margin: 0 auto;
}

.l-inner:after {
  content: "";
  clear: both;
  display: block;
}

.footer_inner {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

#sidenavi {
  position: fixed;
  right: 0;
  bottom: 20%;
  z-index: 10;
  border-radius: 15px 0 0 15px;
  overflow: hidden;
  z-index: 9999;
}

@media screen and (max-width: 600px) {
  #sidenavi {
    display: none;
  }
}

/* #sidenavi li:first-child a {
  background: rgba(204, 0, 0, .9);
} */
#sidenavi li a {
  width: 110px;
  /* height: 65px; */
  background: #1a1a1a;
  display: table-cell;
  vertical-align: middle;
  padding: 8px 3px;
  box-sizing: border-box;
  font-size: .85em;
  line-height: 1.4;
  text-decoration: none;
  color: #fff;
  border-bottom: 1px solid #fff;
  text-align: center;
  letter-spacing: 0 !important;
}

#sidenavi li i {
  font-size: 1.4em;
  display: block;
  margin: 0 auto 5px;
}

#sidenavi .red_b a {
  background: rgba(204, 0, 0, .9);
}

#sidenavi .blue_b a {
  background: #0066cc;
}

/* Scss Document */
a {
  text-decoration: none;
  color: #333;
}

#news_list a {
  color: #333;
}

.nolink a,
.nolink-bg a {
  pointer-events: none;
  cursor: default;
}

.nolink a {
  opacity: 0.5;
}

.nolink-bg {
  background-color: #cccccc !important;
}

.nolink2 a {
  pointer-events: none;
  cursor: default;
}

.title1 {
  text-align: center;
  margin-bottom: 30px;
}

.title1__head {
  display: inline-block;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  color: #1a1a1a;
  position: relative;
  padding-left: 10px;
  padding-right: 10px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .title1__head {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

.title1__head:before {
  content: "";
  width: 100%;
  height: 8px;
  position: absolute;
  bottom: 2px;
  left: 0px;
  background-color: rgba(254, 163, 68, 0.7);
  z-index: -1;
}

.title2 {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 40px;
}

.title2:after {
  content: "";
  display: block;
  width: 100px;
  height: 1px;
  background-color: #0D0D1B;
  margin: 20px auto 0;
}

.title3 {
  color: white;
  font-size: 20px;
  font-size: 1.25rem;
  text-align: center;
  background-color: #1a1a1a;
  padding: 6px 0;
}

.title4 {
  font-weight: 400;
  font-size: 20px;
  font-size: 1.25rem;
  border-left: 5px solid #0D0D1B;
  border-bottom: 1px solid #0D0D1B;
  padding-left: 10px;
}

.title5 {
  text-align: center;
  font-size: 50px;
  color: #243359;
  text-shadow: 0 0 12px white, 0 0 20px white;
  font-weight: 700;
  font-family: "游ゴシック体", sans-serif;
}

.title6 {
  text-align: center;
  font-size: 22px;
  color: #243359;
  font-weight: 600;
  text-shadow: 0 0 10px white, 0 0 15px white;
  font-family: "游ゴシック体", "ヒラギノ角ゴシック", "メイリオ", sans-serif;
}



.title-main {
  text-align: center;
  padding: 50px 0 50px;
}

@media screen and (max-width: 768px) {
  .title-main {
    padding: 30px 0 30px;
  }
}

.title-main__head {
  display: inline-block;
  font-size: 34px;
  font-size: 2.125rem;
  font-weight: 400;
  position: relative;
  padding-left: 10px;
  padding-right: 10px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .title-main__head {
    font-size: 28px;
    font-size: 1.75rem;
  }
}

.title-main__head:before {
  content: "";
  width: 100%;
  height: 8px;
  position: absolute;
  bottom: 7px;
  left: 0px;
  background-color: rgba(52, 52, 105, 0.5);
  z-index: -1;
}

#plant .title-main__head:before {
  background-color: rgba(78, 93, 157, 0.5);
}

#water .title-main__head:before {
  background-color: rgba(0, 143, 212, 0.5);
}

#energy .title-main__head:before {
  background-color: rgba(222, 108, 39, 0.5);
}

#security .title-main__head:before {
  background-color: rgba(0, 147, 68, 0.5);
}

.title-main__head__new {
  color: #E02634;
  font-size: 26px;
  font-size: 1.625rem;
  position: absolute;
  top: -25px;
  left: -20px;
  transform: rotate(-15deg);
}

.title-main__head br {
  display: none;
}

@media screen and (max-width: 768px) {
  .title-main__head br {
    display: inline-block;
  }
}

/* 
- Name: megamenu.js - style.css
- Version: 1.0
- Latest update: 29.01.2016.
- Author: Mario Loncarek
- Author web site: http://marioloncarek.com
*/
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
megamenu.js STYLE STARTS HERE
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Screen style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.menu-container {
  width: 100%;
  margin: 0 auto;
}

.menu-mobile {
  display: none;
  padding: 20px;
  background-color: #1a1a1a;
  color: white;
}

@media screen and (max-width: 768px) {
  .menu-mobile {
    display: block;
  }
}

.menu-mobile:after {
  content: url(../img/icon_menu.png);
  width: 32px;
  height: 32px;
  padding: 0;
  float: right;
  position: relative;
  top: 50%;
  transform: translateY(-15%);
}

.menu-dropdown-icon:before {
  content: url(../img/icon_arrow_down.png);
  width: 32px;
  height: 32px;
  display: none;
  cursor: pointer;
  float: right;
  padding-top: 10px;
  padding-right: 20px;
}

@media screen and (max-width: 768px) {
  .menu-dropdown-icon:before {
    display: block;
  }
}

.menu>ul {
  position: relative;
  width: 100%;
  max-width: 1200px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  /* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .menu>ul {
    display: none;
    flex-flow: column;
  }

  .menu>ul.show-on-mobile {
    display: block;
  }
}

.menu>ul:before {
  content: "";
  display: table;
}

.menu>ul:after {
  content: "";
  display: table;
  clear: both;
}

.menu>ul>li {
  background: #0D0D1B;
  width: calc(100% / 5);
  transition: 0.3s ease;
  /* display: flex; */
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .menu>ul>li {
    width: 100%;
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .menu>ul>li br {
    display: none;
  }
}

.menu>ul>li a {
  display: block;
  padding: 7px 0;
  color: white;
  font-weight: 600;
  text-align: center;
  width: 100%;
  font-size: 1.4em;
}

@media screen and (max-width: 768px) {
  .menu>ul>li a {
    text-align: left;
    padding: 5px 10px;
  }
}


.menu>ul>li p {
  display: block;
  padding: 10px 0;
  color: white;
  font-weight: 500;
  text-align: center;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .menu>ul>li p {
    text-align: left;
    padding: 15px 10px;
  }
}

.menu>ul>li {
  background-color: #1a1a1a;
}

.menu>ul>li>ul {
  display: none;
  position: absolute;
  top: 40px;
  left: 0;
  width: 100%;
  background: #1a1a1a;
  padding: 10px 1%;
  z-index: 99;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .menu>ul>li>ul {
    position: relative;
    top: 0;
    padding: 20px;
  }

  .menu>ul>li>ul.normal-sub {
    width: 100%;
  }
}

.menu>ul>li>ul:before {
  content: "";
  display: table;
}

.menu>ul>li>ul:after {
  content: "";
  display: table;
  clear: both;
}

.menu>ul>li>ul>li {
  float: left;
  width: calc(100% / 4);
}

@media screen and (max-width: 768px) {
  .menu>ul>li>ul>li {
    float: none;
    width: 100%;
  }
}

.menu>ul>li>ul>li a {
  display: block;
  width: 90%;
  text-align: left;
  padding-left: 2em;
  box-sizing: border-box;
  display: block;
}

.menu>ul>li>ul>li a:before {
  margin: 0 0.5em 0 -1.5em;
  content: '\f0da';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

.menu>ul>li>ul>li>ul {
  display: block;
  margin: 10px 0 0;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .menu>ul>li>ul>li>ul {
    position: relative;
  }
}

.menu>ul>li>ul>li>ul:before {
  content: "";
  display: table;
}

.menu>ul>li>ul>li>ul:after {
  content: "";
  display: table;
  clear: both;
}

.menu>ul>li>ul>li>ul>li {
  float: left;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .menu>ul>li>ul>li>ul>li {
    float: none;
  }
}

.menu>ul>li>ul>li>ul>li a {
  border: 0;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  position: relative;
  display: inline-block;
}

.menu>ul>li>ul>li>ul>li a::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #1a1a1a;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}

.menu>ul>li>ul>li>ul>li a:hover::after {
  transform: scale(1, 1);
}

.menu>ul>li>ul>li>ul>li a:after {
  background: white;
}

.menu>ul>li>ul.normal-sub>li {
  float: left;
  width: 32.6666%;
  border: none;
}

@media screen and (max-width: 768px) {
  .menu>ul>li>ul.normal-sub>li {
    width: 100%;
  }
}


/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  /* height: 100%; */
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px;
}

.slick-prev:before {
  content: "←";
}

[dir="rtl"] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}

[dir="rtl"] .slick-next {
  left: -25px;
  right: auto;
}

.slick-next:before {
  content: "→";
}

[dir="rtl"] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}


header {
  background: #fff;
  /* display: flex; */
  /* padding: 0px 20px; */
  /* position: fixed; */
  justify-content: space-between;
  width: 100%;
  z-index: 99;
}


.headInfo--inner {
  display: flex;
  flex-flow: wrap;
  align-items: center;
  min-height: 100px;
  padding: 1em 0 0.5em;
  /* height: 100%; */
  /* justify-content: space-evenly; */
  justify-content: space-between;
}

@media screen and (max-width: 792px) {
  .headInfo--inner {
    justify-content: center;
  }
}

@media screen and (max-width: 580px) {
  .headInfo--inner {
    margin-top: 2em;
  }
}

.headInfo__logo {
  text-align: center;
}

@media screen and (max-width: 1088px) {
  .headInfo__logo {
    width: 100%;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 768px) {
  .headInfo__logo {
    margin-right: 15px;
    margin-left: 15px;
    margin-bottom: 5px;
  }
}

/* .headInfo__logo img {
  width: 300px;
} */
.headInfo__date {
  line-height: 1.4;
  margin: 0 15px;
  font-weight: 600;
  min-width: 350px;
  letter-spacing: -0.5px;
}

@media screen and (max-width: 792px) {
  .headInfo__date {
    line-height: 1.8;
    font-size: 0.85em;
    margin: 10px 0;
  }
}

@media screen and (max-width: 792px) {
  .headInfo__date:nth-of-type(2) {
    margin-top: 20px;
  }
}

@media screen and (max-width: 421px) {
  .headInfo__date {
    line-height: 1.8;
    font-size: 0.7em;
  }
}

.header_place {
  line-height: 0.8;
}

.fa,
.far,
.fas {
  font-family: "Font Awesome 5 Free";
}

.f06em {
  font-size: 0.6em;
}

.headInfo__date span a {
  display: inline-block;
  background-color: #1a1a1a;
  font-size: 14px;
  font-size: 0.875rem;
  color: white;
  padding: 0px 15px;
  margin-left: 10px;
  transition: opacity 0.3s ease;
}

.headInfo__date span a:hover {
  opacity: 0.5;
}

.headInfo__jma {
  margin-left: auto;
  margin-right: 30px;
}

@media screen and (max-width: 768px) {
  .headInfo__jma {
    display: none;
  }
}

.headInfo__jma li a {
  display: inline-block;
  border-radius: 2px;
  padding: 2px 6px;
  width: 9em;
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 1.8;
}

.headInfo__jma li:nth-child(1) {
  margin-bottom: 5px;
}

.headInfo__jma li:nth-child(1) a {
  background: #0093cf;
  color: #fff;
}

.headInfo__jma li:nth-child(2) a {
  border: 1px solid #0093cf;
  background: #fff;
  color: #0093cf;
}

.headInfo__btn {
  /* width: 300px; */
  display: flex;
  flex-flow: row wrap;
  padding-left: 50px;
}

@media screen and (max-width: 768px) {
  .headInfo__btn {
    width: 100%;
    margin-top: 5px;
    padding-left: 0px;
  }
}

.headInfo__btn li {
  width: 180px;
  display: flex;
  align-items: center;
  transition: opacity 0.3s ease;
  padding: 10px;
}

.headInfo__btn li:hover {
  opacity: 0.5;
}

@media screen and (max-width: 821px) {
  .headInfo__btn li {
    width: calc(100% / 4);
  }
}

@media screen and (max-width: 768px) {
  .headInfo__btn li {
    width: calc(100% / 3.1);
  }
}

.headInfo__btn li a {
  display: block;
  width: 100%;
  color: white;
  text-align: center;
  font-weight: 600;
}

@media screen and (max-width: 768px) {
  .headInfo__btn li a {
    font-size: 16px;
    font-size: 1rem;
  }
}

.headInfo__btn li:nth-child(1) {
  background: #1a1a1a;
}

/* .headInfo__btn li:nth-child(1) a {
  padding: 10px 10px 15px;
} */
.headInfo__btn li:nth-child(2) {
  background-color: #dd551a;
  margin-left: 5px;
}

.headInfo__btn li:nth-child(3) {
  background-color: #1a1a1a;
  margin-left: 5px;
}

.headInfo__btn li img {
  width: 20px;
  padding-bottom: 5px;
}

@media screen and (max-width: 768px) {
  .headInfo__btn li img {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .headInfo__btn li br {
    display: none;
  }
}

nav {
  background-color: #1a1a1a;
}

/* .keyVisual {
  width: 100%;
  height: 400px;
  overflow: hidden;
  position: relative;
} */
.keyVisual {
  width: 100%;
  /* height: 400px; */
  overflow: hidden;
  position: relative;
  margin-top: 0px;
  /* top: 10.8em; */
}

@media screen and (max-width: 540px) {
  .keyVisual {
    width: 100%;
    /* height: 310px; */
    overflow: hidden;
    position: relative;
    margin-top: 0px;
    /* top: 16.5em; */
  }
}

@media screen and (max-width: 414px) {
  .keyVisual {
    width: 100%;
    /* height: 310px; */
    overflow: hidden;
    position: relative;
    margin-top: 0px;
    /* top: 8.8em; */
  }
}

.keyVisual video {
  width: 100%;
  margin-top: 5em;
}

@media screen and (max-width: 540px) {
  .keyVisual video {
    width: 100%;
    margin-top: 0em;
  }
}

.keyVisual__slider img {
  /* height: 60vh;
  margin: auto;
  max-height: 100%; */
  max-width: 100%;
  object-fit: cover;
  width: 100%;
}

.keyVisual__slider img {
  /* height: 60vh;
  margin: auto;
  max-height: 100%; */
  max-width: 100%;
  object-fit: cover;
  width: 100%;
}

.pc_slider {
  display: inline;
}

@media screen and (max-width: 580px) {
  .pc_slider {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }
}

.mob_slider {
  display: none;
}

@media screen and (max-width: 580px) {
  .mob_slider {
    display: inline;
  }
}

.keyVisual__pop1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #dd551a;
  font-weight: 800;
  line-height: 1.3;
  font-size: 28px;
  font-size: 1.65rem;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 20px 15px;
  vertical-align: top;
  width: 1000px;
  letter-spacing: -0.4px;
}

@media screen and (max-width: 768px) {
  .keyVisual__pop1 {
    width: 100%;
    font-size: 22px;
    font-size: 1.1rem;
    padding: 20px;
    display: inline-block;
  }

  /* .keyVisual__pop1 br {
    display: none;
  } */
}

.keyVisual__pop1 img {
  width: 80%;
}

.keyVisual__pop1 .btn-flat-border {
  width: 50%;
  font-size: 0.8em;
}

@media screen and (max-width: 768px) {
  .keyVisual__pop1 .btn-flat-border {
    font-size: 0.8em;
    width: 100%;

  }
}

.keyVisual__pop2 {
  width: 600px;
  position: absolute;
  top: 50%;
  left: 75%;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
  .keyVisual__pop2 {
    width: 100%;
    display: inline-block;
  }
}

.keyVisual__pop2 li+li {
  margin-top: 20px;
}

.keyVisual__pop2 a:hover {
  opacity: 0.8;
}

.information {
  background: white;
}

.information--inner {
  max-width: 900px;
  display: flex;
  flex-flow: row;
  align-items: center;
  padding: 20px;
}

.information--inner:before {
  content: "";
  display: block;
  width: 0;
  min-height: 100px;
}

@media screen and (max-width: 768px) {
  .information--inner {
    width: 100%;
    flex-flow: column;
  }

  .information--inner:before {
    min-height: 0;
  }
}

.information__title {
  width: 20%;
  padding-right: 4em;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .information__title {
    width: 100%;
    text-align: center;
    padding-right: 0;
    padding-bottom: 1em;
  }
}

.information__body {
  padding-left: 4em;
  border-left: 1px solid #0D0D1B;
}

@media screen and (max-width: 768px) {
  .information__body {
    padding-left: 0;
    padding-right: 0;
    border-left: none;
  }
}

.information__body dt {
  clear: both;
  float: left;
  width: 7em;
}

@media screen and (max-width: 768px) {
  .information__body dt {
    float: none;
  }
}

.information__body dd {
  margin-left: 7em;
}

@media screen and (max-width: 768px) {
  .information__body dd {
    margin-left: 0;
    margin-bottom: 1em;
  }
}

.information__body dd a {
  position: relative;
  display: inline-block;
}

.information__body dd a::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #1a1a1a;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}

.information__body dd a:hover::after {
  transform: scale(1, 1);
}

.contact {
  background: white;
  padding: 50px 0 50px;
}

@media screen and (max-width: 768px) {
  .contact {
    padding: 30px 0 30px;
  }
}

.contact--inner {
  max-width: 800px;
}

.contact__document {
  display: flex;
  flex-flow: row nowrap;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.8;
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .contact__document {
    flex-flow: column;
  }
}

.contact__document ul {
  width: 50%;
  padding-left: 18px;
}

@media screen and (max-width: 768px) {
  .contact__document ul {
    width: 100%;
    padding-left: 50px;
    margin-bottom: 20px;
  }
}

.contact__document ul li {
  position: relative;
}

.contact__document ul li:after {
  display: block;
  content: '';
  position: absolute;
  top: .5em;
  left: -1em;
  width: 8px;
  height: 3px;
  border-left: 2px solid #0D0D1B;
  border-bottom: 2px solid #0D0D1B;
  transform: rotate(-45deg);
}

.contact__document figure {
  width: 50%;
  text-align: right;
}

@media screen and (max-width: 768px) {
  .contact__document figure {
    width: 100%;
    text-align: center;
  }
}

.contact__btn {
  margin: 0 10px 40px;
}

.contact__btn a {
  display: block;
  width: 100%;
  color: white;
  background: #E02634;
  padding: 25px 0;
  text-align: center;
  font-size: 24px;
  font-size: 1.5rem;
  border-radius: 10px;
  transition: opacity 0.3s ease;
}

.contact__btn a:hover {
  opacity: 0.5;
}

.contact__box {
  max-width: 100%;
  margin: 0 10px;
  background: white;
  border: 1px solid #1a1a1a;
}

.contact__box__title {
  background: #1a1a1a;
  text-align: center;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 400;
  color: white;
  padding: 10px 0;
}

.contact__box__address {
  display: flex;
  flex-flow: row nowrap;
}

@media screen and (max-width: 768px) {
  .contact__box__address {
    flex-flow: column;
  }
}

.contact__box__address dl {
  width: 50%;
  padding: 40px 0 0 50px;
}

@media screen and (max-width: 768px) {
  .contact__box__address dl {
    width: 100%;
    padding: 20px;
  }
}

.contact__box__address dl dt:nth-of-type(2) {
  margin-bottom: 5px;
}

.contact__box__address dl dd.contact--tel {
  font-size: 20px;
  font-size: 1.25rem;
  margin-bottom: 15px;
}

.contact__box__address dl dd.contact--tel span a {
  font-size: 36px;
  font-size: 2.25rem;
  color: darkorange;
}

.contact__box__address dl dd.contact--jma-address {
  font-size: 13px;
  font-size: 0.8125rem;
}

.contact__box__address dl dd.contact--jma-address a {
  display: inline-block;
  margin-bottom: 10px;
  transition: opacity 0.3s ease;
}

.contact__box__address dl dd.contact--jma-address a:hover {
  opacity: 0.5;
}

.contact__box__address figure {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .contact__box__address figure {
    display: none;
  }
}

.contact__box__address figure img {
  width: 100%;
}

.footer {
  background-color: #fff;
  color: white;
}

.footer_logo {
  margin-bottom: 10px;
}

.footer--inner {
  max-width: 900px;
  display: flex;
  flex-flow: row wrap;
}

@media screen and (max-width: 768px) {
  .footer--inner {
    flex-flow: column;
    padding-left: 20px;
  }
}

.footer--inner>div {
  width: calc(100% / 4);
  padding: 0px 0 50px;
}

@media screen and (max-width: 768px) {
  .footer--inner>div {
    padding: 0px 0 30px;
  }
}

@media screen and (max-width: 768px) {
  .footer--inner>div {
    width: 100%;
  }
}

.footer--inner>div a {
  color: white;
  background: url(../img/icon_arrow_right.png) no-repeat left center;
  padding-left: 20px;
}

.footer--inner>div>ul>li {
  margin-top: 30px;
}

.footer--inner>div>ul>li:first-child {
  margin-top: 0;
}

.footer--inner>div>ul>li>a {
  font-size: 18px;
  font-size: 1.125rem;
}

.footer--inner>div>ul>li>dl dt a {
  font-size: 18px;
  font-size: 1.125rem;
}

.footer--inner>div>ul>li>dl dd {
  margin-top: 10px;
}

.footer--inner>div>ul>li>dl dd ul li {
  margin-top: 3px;
}

.footer--inner>div>ul>li>dl dd ul li a {
  font-size: 14px;
  font-size: 0.875rem;
  transition: opacity 0.3s ease;
}

.footer--inner>div>ul>li>dl dd ul li a:hover {
  opacity: 0.5;
}

.footer__logo {
  /* text-align: center; */
  margin-bottom: 10px;
}

.footer__logo img {
  width: 100px;
}

.footer__copyright {
  text-align: center;
  font-size: 12px;
  font-size: 0.75rem;
}

@media screen and (max-width: 769px) {
  .spOnly {
    display: none !important;
  }
}

.footer_main {
  font-size: 1.4em;
}

@media screen and (max-width: 769px) {
  .footer_main {
    font-size: 1.1em;
  }
}

#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
}

#page-top a {
  display: block;
  width: 70px;
}

@media screen and (max-width: 768px) {
  #page-top a {
    width: 45px;
  }
}

#page-top a:hover {
  opacity: 0.5;
}

.page-top-link {
  text-align: right;
  padding-top: 20px;
  padding-bottom: 20px;
}

.page-top-link a {
  display: inline-block;
  background-color: #1a1a1a;
  color: white;
  padding: 3px 15px 3px 35px;
  position: relative;
}

.page-top-link a i {
  position: absolute;
  top: 5px;
  left: 5px;
}

body .table-style {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #008FD4;
  background-color: white;
}

body .table-style tr {
  border-bottom: 1px solid #008FD4;
}

body .table-style tr td {
  border-left: 1px solid #008FD4;
  padding: 20px;
}

body .table-style tr .table-style__title {
  font-size: 20px;
  font-size: 1.25rem;
}

body .table-style tr .table-style__category {
  background-color: rgba(0, 143, 212, 0.2);
}

body .table-style tr .table-style__red {
  color: #E02634;
  font-style: italic;
}

body .table-style th {
  padding: 20px;
  background-color: rgba(0, 143, 212, 0.2);
}




.wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1200px;
  margin: 50px auto 0;
}

@media screen and (max-width: 1024px) {
  .wrapper {
    max-width: 600px;
    padding: 20px;
  }
}

/* .wrapper div {
  width: 46.5%;
} */
.wrapper div .information {
  max-width: 550px;
  width: 100%;
}

.top_information {
  max-width: 550px;
  /* width: 46.5%; */
  margin: 25px 10px 40px;
}

.wid {
  max-width: 100% !important;
}

.top_information ul {
  overflow: auto;
  margin: 0 10px;
  max-height: 320px;
}

.top_information li {
  display: flex;
  align-content: flex-start;
  margin-bottom: 15px;
  padding-bottom: 12px;
  border-bottom: 1px dotted #ccc;
}

.top_information li time {
  min-width: 90px;
}

.top_information li.new time::before {
  display: block;
  color: #c00;
  line-height: 1;
  content: 'NEW';
}

.top_information li div b {
  display: inline-block;
  min-width: 120px;
  margin-bottom: 5px;
  margin-left: 20px;
  padding: 3px 5px;
  border-radius: 4px;
  color: #fff;
  line-height: 1;
  text-align: center;
  font-size: 1.0em;
}

.top_information li div b.info {
  background: #1a1a1a;
}

.top_information li div b.press {
  background: #73a808;
}

/* .top_information li div p {
  width: 450px;
} */
.top_information li div a {
  margin-left: 20px;
}


@media screen and (max-width:640px) {
  .top_information {
    max-width: none;
    width: auto;
    margin: 25px 5px 30px;
    /* padding-top: 5em; */
  }
}

@media screen and (max-width:414px) {
  .top_information {
    padding-top: 0em;
  }

  .top_information ul {
    max-height: 260px;
  }

  .top_information li {
    display: block;
    margin-bottom: 10px;
    padding-bottom: 5px;
  }

  .top_information li time {
    min-width: 80px;
    font-size: 1.1rem;
  }

  .top_information li div {
    display: inline;
  }

  .top_information li div b {
    display: inline-block;
    min-width: 100px;
    margin-bottom: 0;
    font-size: 1.0rem;
  }

  .top_information li div p a {
    display: block;
    padding: 10px 0;
  }
}

.information_topic {
  font-size: 26px;
  margin: 2em 0 1.5em;
  text-align: center;
  font-weight: bold;
}

.top_banners {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.top_banners>div {
  max-width: 560px;
  width: 46.5%;
  margin: 0 10px;
}


.top_banners ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.top_banners ul:after {
  content: "";
  display: block;
  width: 160px;
}

.top_banners li {
  overflow: hidden;
  max-width: 160px;
  margin-bottom: 5px;
  border-bottom: 0px
}

@media screen and (max-width:640px) {
  #top_information {
    max-width: none;
    width: auto;
    margin: 25px 5px 30px;
  }

  #top_information ul {
    max-height: 260px;
  }

  #top_information li {
    display: block;
    margin-bottom: 10px;
    padding-bottom: 5px;
  }

  #top_information li time {
    min-width: 80px;
    font-size: 1.1rem;
  }

  #top_information li div {
    display: inline;
  }

  #top_information li div b {
    display: inline-block;
    min-width: 100px;
    margin-bottom: 0;
    font-size: 1.0rem;
  }

  #top_information li div p a {
    display: block;
    padding: 10px 0;
  }
}

.em12 {
  margin-top: 12em !important;
}

@media screen and (max-width:768px) {
  .em12 {
    margin-top: 17em !important;
  }
}

@media screen and (max-width:414px) {
  .em12 {
    margin-top: 12em !important;
  }
}

.top_em11 {
  padding-top: 11em;
}

@media screen and (max-width:768px) {
  .top_em11 {
    padding-top: 17em !important;
  }
}


.mt0 {
  margin-top: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.mt150 {
  margin-top: 150px !important;
}

.pt240 {
  padding-top: 240px !important;
}

.left_side {
  text-align: left;
  margin-left: 30px;
}

.right_side {
  text-align: right;
  margin-right: 30px;
}

.footer_width {
  max-width: 1200px;
  margin: 0 auto;
}

.top_inline_img {
  width: 23%;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .top_inline_img {
    display: none;
  }
}

.top_inline_img2 {
  width: 23%;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .top_inline_img2 {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .top_inline_img3 {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .top_inline_img3 {
    width: 100%;
    display: inline-block;
  }
}

.top_inline_p {
  width: 45%;
  display: inline-block;
  vertical-align: top;
  margin: 0 15px;
  font-size: 90%;
  line-height: 50px;
}

@media screen and (max-width: 768px) {
  .top_inline_p {
    width: 100%;
  }
}

.top_inline_p span {
  font-size: 50%;
}

.wrapper>div {
  width: 46.5%;
}

@media screen and (max-width: 768px) {
  .wrapper>div {
    width: 100%;
  }
}

a:hover {
  opacity: 0.5 !important;
  transition: 0.2s !important;
}

.top_stage {
  justify-content: space-between;
  max-width: 1000px;
  margin: 0 auto;
}

/* #interview h1 {
  margin: 0 auto;
  padding: 70px 30px;
  border-bottom: 1px dotted #999;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1.3;
  font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
  text-align: center;
}
#interview h1 span {
  font-size: 1.8rem;
  vertical-align: middle;
} */
@media screen and (max-width: 540px) {
  #interview h1 span {
    font-size: 1rem;
  }
}

#interview iframe {
  width: 100%;
  max-width: 600px;
  height: 300px;
}

@media screen and (max-width: 600px) {
  #interview iframe {
    min-height: 250px;
    height: 100%;
  }
}

.webiner_top h1 {
  margin: 0 auto;
  padding: 20px 30px 10px !important;
  border-bottom: 0px !important;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1.3;
  font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
  text-align: center;
  color: #dd551a !important;
  background-color: rgba(255, 255, 255, 0.95) !important;
}

#interview h2 span:first-of-type {
  margin: 0 25px 0 15px;
  padding: 20px 0;
  color: #333;
  font-weight: bold;
  font-size: 2em;
  line-height: 1.2;
  font-family: 'Noto Sans Japanese';
}

/* @media screen and (max-width: 768px) {
  #interview h2 span:first-of-type {
    display: block;
    margin: 0;
    padding: 2.67vw;
    background: #333;
    color: #fff;
    font-size: 1.6rem;
} */
#interview h2 span:last-of-type {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: flex-end;
  width: 150px;
  margin-left: auto;
  padding: 0 20px;
  background: #999;
  color: #fff;
}

#interview h2 span:last-of-type:before {
  position: absolute;
  top: 0;
  left: -25px;
  width: 50px;
  height: 100%;
  background: #999;
  transform: skewX(-25deg);
  content: '';
}

@media screen and (max-width: 768px) {
  #interview h2 span:last-of-type {
    display: none;
  }
}

#interview h2 b {
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: bold;
  font-size: 1em;
  line-height: 1.2;
  word-break: break-all;
  text-align: right;
}

#interview .interview_name_1 {
  background: #999;
  padding: 2px 5px;
  color: #fff;
  font-weight: bold;
  margin-bottom: 5px;
}

#interview .interview_comment {
  font-weight: bold;
  margin: 5px 0px;
  font-size: 1em;
  padding-bottom: 5px;
  border-bottom: #999 dotted 1px;
  letter-spacing: -1px;
}

#interview .interview_comment span {
  font-weight: normal;
}

#interview .interview_name_2 {
  font-weight: bold;
  font-size: 1.1em;
}

#interview .interview_representative {
  font-weight: bold;
  margin-left: 10px;
}

#interview .interview_representative span {
  margin-bottom: -10px;
  font-weight: normal;
}

#interview .interview_box {
  margin-bottom: 50px;
}

#interview .interview_box {
  background: #ebebeb;
  padding: 10px;
  height: calc(100% - 10px);
}

#interview .interview_box a {
  text-align: center;
}

#interview .interview_box img {
  margin-bottom: 10px;
}

#interview dd {
  margin-left: 10px;
  font-size: 1.0em;
}

#interview dd dl {
  margin-bottom: 10px;
}

#interview dd dt.zimukyoku {
  background: #ebebeb;
}

#interview dd dt {
  display: inline-block;
  min-width: 54px;
  margin: 5px 10px 5px 0;
  padding: 5px;
  border-radius: 5px;
  border-left: none;
  background: #d2eaf9;
  font-size: 0.9em;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

#interview dt {
  font-size: 1.2em;
  margin: 30px 0 10px;
  padding-left: 15px;
  border-left: #ccc 5px solid;
  font-weight: bold;
}

#interview dd>p {
  margin-bottom: 20px;
}

.interview_title_sub {
  justify-content: space-between;
  max-width: 1200px;
  margin: 50px auto 0;
}

@media screen and (max-width: 1024px) {
  .interview_title_sub {
    max-width: 800px;
  }
}

.interview_title_sub h3 {
  font-size: 1.6em;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .flex_none {
    display: none
  }
}

#interview .inner>p {
  margin: 25px 0 10px 30px;
}

#interview a {
  margin: 30px auto;
  /* width: 50%; */
}

a.box:not(.soon) {
  display: block;
  overflow: hidden;
  outline: none;
  position: relative;
  padding: 22px 10px;
  color: #333;
  font-size: 1.6rem;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: all .5s;
}

a.box:before,
a.box:after {
  position: absolute;
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  transition: all .5s;
}

a.box i.icon_arrow {
  position: absolute;
  top: 50%;
  left: 0;
  border: 8px solid transparent;
  border-left: 8px solid currentColor;
  transform: translateY(-50%);
  content: '';
}

[class^="icon_"],
[class*=" icon_"] {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-top: 5px;
  font-size: 10px;
  color: #0D0D1B;
}

a.box:not(.soon):after {
  right: 0;
  bottom: 0;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
}

a.box:before,
a.box:after {
  position: absolute;
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  transition: all .5s;
}

a.box:before {
  top: 0;
  left: 0;
  border-top: 1px solid #333;
  border-left: 1px solid #333;
}

a.box:before,
a.box:after {
  position: absolute;
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  transition: all .5s;
}

a.box:not(.soon):hover {
  background-color: #333;
  color: #fff;
  transition: all .7s;
  opacity: 1.0 !important;
}

#interview dd>span {
  font-weight: bold;
}

#interview dt.interviewee02 {
  background: #d8f9d2;
}



#interview .inner>p {
  margin: 25px 0 10px 30px;
}

.link_block {
  width: 100%;
}

.interview_box a:hover {
  opacity: 0.5 !important;
  transition: 0.2s !important;
}

.image_center {
  text-align: center;
  margin: 20px 0;
}

.image_center img {
  max-width: 100%;
  height: auto;
}

.about_sruare a {
  font-size: 24px;
  font-weight: bold;
  text-decoration: none;
  color: #000;
}


.tx_left {
  text-align: left;
}

.tx_center {
  text-align: center;
}

.tx_right {
  text-align: right;
}

.mini_moji {
  font-size: 0.8em;
}



.big_moji {
  font-size: 1.4em;
}

.white_bg {
  background: #fff;
  padding: 0px 20px 20px 20px;
}

/* .outline_show {
  margin-top: 50px;
} */
.outline_show img {
  margin-top: 30px;
  width: 600px;
}

.outline_show ul {
  margin-left: 1.5em;
}

.outline_show ul li {
  font-size: 1.3em;
  font-weight: 600;
  line-height: 1.2em;
  margin-top: 10px;
  letter-spacing: -1px;
}

.outline_show ul li span {
  font-size: 0.8em;
  font-weight: 300;
}

.outline_show h2 {
  font-size: 1.4em;
  font-weight: 600;
  background-color: #fff !important;
  letter-spacing: -1px;
  display: block !important;
  text-align: center;
}

@media screen and (max-width: 414px) {
  .outline_show h2 {
    text-align: left;
  }
}

.outline_show .outline_subtitle_1 {
  color: #475499;
}

.outline_show .outline_subtitle_2 {
  color: #1a1a1a;
}

.outline_show .outline_subtitle_3 {
  color: #df5f43;
}

.outline_show .outline_subtitle_4 {
  color: #de6a08;
}

.outline_show .outline_subtitle_5 {
  color: #0086d1;
}

.outline_show .outline_subtitle_6 {
  color: #1a1a1a;
}

.outline_show .outline_subtitle_7 {
  color: #8a62a1;
}

.outline_show h3 {
  background-color: #dd551a;
  color: #fff;
  font-weight: 600;
  padding: 3px 10px;
  margin-top: 20px;
}

.outline_p {
  padding: 0 20px;
}

.button_out {
  pointer-events: none;
}

#interview table {
  margin: 20px auto 0;
  border: 1px solid #0D0D1B;
  width: 100%;
}

#interview table th {
  width: 15%;
  padding: 10px;
  border: 1px solid #0D0D1B;
  vertical-align: middle;
  color: #fff;
  background: #999;
}

@media screen and (max-width: 540px) {
  #interview table th {
    width: 100%;
    display: inline-block;
  }
}

/* #interview .top_stage th {
  width: 15%;
  padding: 10px;
  border: 1px solid #0D0D1B;
  vertical-align: middle;
  font-weight: 300;
  color:#0D0D1B;
  background: #fff;
}
@media screen and (max-width: 540px) {
  #interview .top_stage th {
    width: 100%;
    display: inline-block;
  }
} */

#interview table td {
  width: 60%;
  padding: 10px 10px 10px 20px;
  border: 1px solid #0D0D1B;
}

@media screen and (max-width: 540px) {
  #interview table td {
    width: 100%;
    display: inline-block;
  }
}

#interview .top_stage td {
  width: 40%;
  vertical-align: middle;
  background: #fff;
}

@media screen and (max-width: 540px) {
  #interview .top_stage td {
    width: 100%;
    display: inline-block;
  }
}

.btn-flat-border {
  display: inline-block;
  padding: 1em 2em;
  text-decoration: none;
  background: #ffa600;
  color: white;
  border: solid 2px #ffa600;
  border-radius: 3px;
  transition: .2s;
  text-align: center;
  width: 50%;
  font-size: 1.6em;
}

@media screen and (max-width: 768px) {
  .btn-flat-border {
    width: 100%;
  }
}

.btn-flat-border2 {
  display: inline-block;
  padding: 1em 2em;
  text-decoration: none;
  background: #0aa7e6;
  color: white;
  border: solid 2px #0aa7e6;
  border-radius: 3px;
  transition: .2s;
  text-align: center;
  width: 50%;
  font-size: 1.6em;
}

@media screen and (max-width: 768px) {
  .btn-flat-border2 {
    width: 100%;
  }
}

h1 .btn-flat-border {
  display: inline-block;
  padding: 0.5em 1em;
  text-decoration: none;
  background: #ffa600;
  color: white;
  border: solid 2px #ffa600;
  border-radius: 3px;
  transition: .2s;
  text-align: center;
  width: 80%;
  font-size: 0.75em;
  font-weight: 300;
  letter-spacing: 0.8px;
}

.btn-flat-border:hover {
  color: #ffa600;
  background-color: #fff;
  border: solid 2px #ffa600;
  border-radius: 3px;
}

.exhibit_inline {
  width: 48%;
  display: inline-block;
  vertical-align: top;
}

@media screen and (max-width: 414px) {
  .exhibit_inline {
    width: 100%;
    text-align: center;
  }
}

.exhibit_box p span {
  padding: 3px 5px;
  background: #ffff00;
}

.exhibit_inline h2 {
  color: #fff;
  background: #0D0D1B !important;
  padding: 5px 10px;
  margin-bottom: 10px;
}

.exhibit_box h2 {
  font-size: 1.6em;
  background: #fff !important;
  margin-bottom: 20px;
  padding-left: 3em;
  text-indent: -3em;
}

.margin_auto {
  margin: 0 auto;
}

.transportation_flex {
  /* display: flex; */
}

.transportation_inline {
  padding: 15px;
  border: 2px solid #333;
  background: #1a1a1a;
  color: #fff;
  margin: 4px;
  width: 24%;
  display: inline-block;
  text-align: center;
  border-radius: 15px;
  font-weight: 600;
  font-size: 1.5em;
}

@media screen and (max-width: 1024px) {
  .transportation_inline {
    width: 48%;
  }
}

@media screen and (max-width: 414px) {
  .transportation_inline {
    width: 100%;
    margin: 5px 0px;
  }
}

.top_stage .topic_sentence {
  width: 80%;
  margin: 0 auto;
}

.topic_sentence {
  font-size: 1.4em;
}

.topic_sentence span {
  padding: 0px 5px;
  background: #ffff00;
  font-weight: 600;
}

.transportation_title {
  font-size: 4rem !important;
}

@media screen and (max-width: 540px) {
  .transportation_title {
    font-size: 2rem !important;
  }
}

.download_box {
  border: 1px solid #333;
  vertical-align: middle;
  display: table-cell;
}

.download_box img {
  vertical-align: middle;
}

#download .information_topic {
  border-bottom: solid 3px #1a1a1a;
  position: relative;
  font-size: 1.4em;
  margin-bottom: 30px;
  padding-top: 15px;
  color: #1a1a1a;
  width: 100%;
  background: #fff;
}

#download table {
  border: 0px;
  border-spacing: 20px 0;
  border-collapse: separate;
}

#download table tr {
  border: 0px;
}

@media screen and (max-width: 540px) {
  #download table tr {
    display: inline-block;
    width: 100%;
  }
}

#download table th {
  background: #fff;
  width: 50%;
  border: 1px solid #333;
}

#download table td {
  background: #fff;
  border: 0px;
  text-align: center;
  padding: 20px 30px;
  width: 40%;
}

@media screen and (max-width: 540px) {
  #download table td {
    display: inline-block;
    width: 100%;
  }
}

#download .dotted {
  border-bottom: 1px dotted #333;
  padding: 0 20px;
}

.water_table table th {
  color: #fff;
  background: #1a1a1a;
  padding: 10px;
}

.water_table table tr {
  color: #333;
  background: #daf2e8;
  padding: 5px;
  letter-spacing: -1px;
  border: 1px solid #1a1a1a;
}

.water_table table tr:nth-of-type(even) {
  color: #333;
  background: #fff;
  padding: 5px;
  letter-spacing: -1px;
  border: 1px solid #1a1a1a;
}

.water_table table td {
  border: 1px solid #1a1a1a;
  vertical-align: middle;
  text-align: left;
  padding: 3px;
  font-size: 0.9em;
  width: 35%;
}

.water_schdule {
  width: 50%;
  text-align: center;
  margin: 0 auto;
}

.water_schdule_title h2 {
  color: #fff;
  background: #1a1a1a;
  width: 100%;
  padding: 10px 5px;
}

.water_schdule_box {
  padding: 10px;
  border: 3px solid #daf2e8;
  border-radius: 10px;
  margin: 10px 0;
}

.water_schdule_topic {
  margin-top: 5px;
  padding: 5px;
  background: #1a1a1a;
  color: #fff;
}

.water_schdule_arart {
  padding: 5px;
  background: #ff0000;
  color: #fff;
}

.water_schdule_button {
  margin: 0 auto;
  text-align: center;
}

.footer_width p span {
  padding: 3px 5px;
  color: #fff;
  background: #1a1a1a;
}

.base_width {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .base_width {
    width: 90%;
  }
}

.inline_flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.inline_flex img {
  margin: 5px 10px;
}

/* .main_title {
  margin: 0 auto;
  padding: 50px 0 30px;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1.3;
  font-family: 'Noto Sans Japanese';
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .main_title {
    font-size: 1.8em;
    padding: 60px 0 0px;
  }
} */
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  margin-top: 20px;
  border-top: 1px solid #1a1a1a;
  border-bottom: 1px solid #1a1a1a;
}

table tr th {
  border: 1px solid #5e5e5e;
  padding: 2px 0px;
  background-color: #1a1a1a;
  color: #fff;
  vertical-align: middle;
  width: 25%;
  min-width: 120px;
}

table td {
  border: 1px solid #1a1a1a;
  background-color: #fff;
  padding: 10px;
  vertical-align: middle;
}

.inline_2 {
  display: inline-block;
  width: 28%;
  vertical-align: middle;
}

.toparea {
  top: 15em;
  position: relative;
}

.exhibit_box_area {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.exhibit_flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.exhibit_box_area .exhibit_box {
  width: 48%;
  border: 4px solid #dd551a;
  margin: 0px 5px 10px;
  border-radius: 10px;
}

@media screen and (max-width: 768px) {
  .exhibit_box_area .exhibit_box {
    width: 100% !important;
  }
}

.exhibit_box_area .exhibit_box h3 {
  font-size: 1.6em;
  color: #fff;
  background-color: #dd551a;
  padding: 10px;
  line-height: 1em;
  letter-spacing: -0.8px;
}

.exhibit_box_area .exhibit_box h3 .new {
  color: #0D0D1B;
  background-color: #ffee00;
  padding: 3px 6px;
  margin-left: 10px;
  border-radius: 10px;
  font-size: 0.7em;
  vertical-align: top;
}

.exhibit_box_area .exhibit_box h3 .mini_moji {
  font-size: 0.6em !important;
  letter-spacing: -0.8px;
}

.exhibit_box_area .exhibit_box h4 {
  font-size: 1.2em;
  color: #fff;
  background-color: #dd551a;
  padding: 5px 10px;
}

.exhibit_box_area .exhibit_box ul {
  display: inline-block;
  width: 48%;
  padding: 10px;
  vertical-align: top;
  letter-spacing: -0.7px;
}

.exhibit_box_area .exhibit_box ul li span {
  color: #dd551a;
}

.exhibit_box img {
  width: 48%;
  padding: 5px 2px;
}

@media screen and (max-width: 768px) {
  .exhibit_box img {
    width: 100%;
    text-align: center;
  }
}

.exhibit_box_area .exhibit_box:nth-of-type(1) {
  width: 48%;
  border: 4px solid #a47230;
  margin: 0px 5px 10px;
  border-radius: 10px;
}

.exhibit_box_area .exhibit_box:nth-of-type(2) {
  width: 48%;
  border: 4px solid #d92f27;
  margin: 0px 5px 10px;
  border-radius: 10px;
}

.exhibit_box_area .exhibit_box:nth-of-type(3) {
  width: 48%;
  border: 4px solid #172a88;
  margin: 0px 5px 10px;
  border-radius: 10px;
}

.exhibit_box_area .exhibit_box:nth-of-type(4) {
  width: 48%;
  border: 4px solid #eca016;
  margin: 0px 5px 10px;
  border-radius: 10px;
}

.exhibit_box_area .exhibit_box:nth-of-type(5) {
  width: 48%;
  border: 4px solid #27afd2;
  margin: 0px 5px 10px;
  border-radius: 10px;
}

.exhibit_box_area .exhibit_box:nth-of-type(6) {
  width: 48%;
  border: 4px solid #1398a0;
  margin: 0px 5px 10px;
  border-radius: 10px;
}

.exhibit_box_area .exhibit_box:nth-of-type(7) {
  width: 48%;
  border: 4px solid #0c753f;
  margin: 0px 5px 10px;
  border-radius: 10px;
}

.exhibit_box_area .exhibit_box:nth-of-type(8) {
  width: 48%;
  border: 4px solid #8fc31f;
  margin: 0px 5px 10px;
  border-radius: 10px;
}

.exhibit_box_area .exhibit_box .type1 h3 {
  font-size: 1.6em;
  color: #fff;
  background-color: #a47230;
  padding: 10px;
  line-height: 1em;
  letter-spacing: -0.8px;
}

.exhibit_box_area .exhibit_box .type1 h4 {
  font-size: 1.2em;
  color: #fff;
  background-color: #a47230;
  padding: 5px 10px;
}

.exhibit_box_area .exhibit_box .type1 ul li span {
  color: #a47230;
}

.exhibit_box_area .exhibit_box .type2 h3 {
  font-size: 1.6em;
  color: #fff;
  background-color: #d92f27;
  padding: 10px;
  line-height: 1em;
  letter-spacing: -0.8px;
}

.exhibit_box_area .exhibit_box .type2 h4 {
  font-size: 1.2em;
  color: #fff;
  background-color: #d92f27;
  padding: 5px 10px;
}

.exhibit_box_area .exhibit_box .type2 ul li span {
  color: #d92f27;
}

.exhibit_box_area .exhibit_box .type3 h3 {
  font-size: 1.6em;
  color: #fff;
  background-color: #172a88;
  padding: 10px;
  line-height: 1em;
  letter-spacing: -0.8px;
}

.exhibit_box_area .exhibit_box .type3 h4 {
  font-size: 1.2em;
  color: #fff;
  background-color: #172a88;
  padding: 5px 10px;
}

.exhibit_box_area .exhibit_box .type3 ul li span {
  color: #172a88;
}

.exhibit_box_area .exhibit_box .type4 h3 {
  font-size: 1.6em;
  color: #fff;
  background-color: #eca016;
  padding: 10px;
  line-height: 1em;
  letter-spacing: -0.8px;
}

.exhibit_box_area .exhibit_box .type4 h4 {
  font-size: 1.2em;
  color: #fff;
  background-color: #eca016;
  padding: 5px 10px;
}

.exhibit_box_area .exhibit_box .type4 ul li span {
  color: #eca016;
}

.exhibit_box_area .exhibit_box .type5 h3 {
  font-size: 1.6em;
  color: #fff;
  background-color: #27afd2;
  padding: 10px;
  line-height: 1em;
  letter-spacing: -0.8px;
}

.exhibit_box_area .exhibit_box .type5 h4 {
  font-size: 1.2em;
  color: #fff;
  background-color: #27afd2;
  padding: 5px 10px;
}

.exhibit_box_area .exhibit_box .type5 ul li span {
  color: #27afd2;
}

.exhibit_box_area .exhibit_box .type6 h3 {
  font-size: 1.6em;
  color: #fff;
  background-color: #1398a0;
  padding: 10px;
  line-height: 1em;
  letter-spacing: -0.8px;
}

.exhibit_box_area .exhibit_box .type6 h4 {
  font-size: 1.2em;
  color: #fff;
  background-color: #1398a0;
  padding: 5px 10px;
}

.exhibit_box_area .exhibit_box .type6 ul li span {
  color: #1398a0;
}

.exhibit_box_area .exhibit_box .type7 h3 {
  font-size: 1.6em;
  color: #fff;
  background-color: #0c753f;
  padding: 10px;
  line-height: 1em;
  letter-spacing: -0.8px;
}

.exhibit_box_area .exhibit_box .type7 h4 {
  font-size: 1.2em;
  color: #fff;
  background-color: #0c753f;
  padding: 5px 10px;
}

.exhibit_box_area .exhibit_box .type7 ul li span {
  color: #0c753f;
}

.exhibit_box_area .exhibit_box .type8 h3 {
  font-size: 1.6em;
  color: #fff;
  background-color: #8fc31f;
  padding: 10px;
  line-height: 1em;
  letter-spacing: -0.8px;
}

.exhibit_box_area .exhibit_box .type8 h4 {
  font-size: 1.2em;
  color: #fff;
  background-color: #8fc31f;
  padding: 5px 10px;
}

.exhibit_box_area .exhibit_box .type8 ul li span {
  color: #8fc31f;
}



.food__visit__subUnit {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

@media screen and (max-width: 414px) {
  .food__visit__subUnit {
    display: inline-block;
  }
}

.food__visit__define2 {
  width: 48%;
  font-size: 0.8em;
  padding: 0 10px;
}

@media screen and (max-width: 414px) {
  .food__visit__define2 {
    width: 100%;
  }
}

.food__visit__define2 dt {
  clear: left;
  float: left;
  width: 18em;
  letter-spacing: -0.8px;
  width: 100%;
  border-bottom: 1px solid #eee;
}

@media screen and (max-width: 414px) {
  .food__visit__define2 dt {
    width: 100%;
  }
}

.food__visit__define2__title {
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
  color: #e32b37;
}


.application_area table tr {
  border: 1px solid #1a1a1a;
}

.application_area table tr td {
  border-top: 5px solid #c5c5c5;
  border-bottom: 5px solid #c5c5c5;
  border-left: 5px solid #c5c5c5;
  border-right: 5px solid #c5c5c5;
}

.ver_mid {
  vertical-align: middle;
  text-align: center;
}


.application_area .application_time_box_area {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
}

.application_area .topic_moji {
  font-size: 1.4em;
  padding-left: 5px;
}

.application_area .application_time_box_area .application_time_box {
  max-width: 200px;
  min-width: 150px;
  border: 3px solid #dd551a;
  margin: 5px;
  min-height: 170px;
}

#hkd .application_area .application_time_box_area .application_time_box {
  max-width: 200px;
  min-width: 150px;
  border: 3px solid #1a1a1a;
  margin: 5px;
  min-height: 170px;
}

.application_area .application_time_box_area .application_time_box h4 {
  text-align: center;
  color: #fff;
  background-color: #dd551a;
  padding: 5px;
}

#hkd .application_area .application_time_box_area .application_time_box h4 {
  text-align: center;
  color: #fff;
  background-color: #1a1a1a;
  padding: 5px;
}

.application_area .application_time_box_area .application_time_box h5 {
  text-align: center;
  padding: 2.5px 5px;
}

.application_area .application_time_box_area .application_time_box p {
  padding: 0 5px 5px;
  max-width: 160px;
}


.application_cost_area table {
  margin: 0;
}

.application_cost_area table tr {
  border: 1px solid #1a1a1a;
  text-align: center;
}

.application_cost_area table tr th {
  border: 1px solid #1a1a1a;
  background-color: #F5A25D;
}

@media screen and (max-width: 414px) {
  .application_cost_area table tr th {
    font-size: 0.8em;
  }
}

#kyushu .application_cost_area table tr th {
  border: 1px solid #dd551a;
  background-color: #ec7f51;
}

@media screen and (max-width: 414px) {
  #kyushu .application_cost_area table tr th {
    font-size: 0.8em;
  }
}

.application_cost_area table tr td {
  border: 1px solid #1a1a1a;
}

@media screen and (max-width: 414px) {
  .application_cost_area table tr td {
    font-size: 0.8em;
  }
}

.template_inline {
  display: inline-block;
  width: 48%;
  vertical-align: top;
}

@media screen and (max-width: 414px) {
  .template_inline {
    width: 100%;
  }
}

.template_inline_m {
  display: inline-block;
  width: 48%;
  vertical-align: middle;
}

@media screen and (max-width: 414px) {
  .template_inline_m {
    width: 100%;
  }
}

.option_title {
  font-size: 1.2em;
  padding: 5px 10px;
  color: #fff;
  background-color: #1a1a1a;
  text-align: center;
}

.option_title .new {
  color: #0D0D1B;
  background-color: #fff;
  padding: 2px 10px;
  margin-left: 10px;
  border-radius: 10px;
}

#kyushu .option_title {
  font-size: 1.2em;
  padding: 5px 10px;
  color: #fff;
  background-color: #ec7f51;
  text-align: center;
}

.mg_auto {
  margin: 0 auto;
  display: inline-block;
}

.option_table .option_table_main {
  border: none;
}

.option_table .option_table_main tr {
  border: none;
}

.option_table .option_table_main tr th {
  border: none !important;
  color: #fff;
  padding: 3px 10px;
  background-color: #fff !important;
  vertical-align: top;
}

@media screen and (max-width: 414px) {
  .option_table .option_table_main tr th {
    width: 100%;
    display: inline-block;
  }
}

.option_table .option_table_main tr th p {
  background-color: #238e3a;
  border-radius: 15px;
  padding: 5px;
}

.option_table .option_table_main tr td {
  border: none;
  text-align: left;
}

@media screen and (max-width: 414px) {
  .option_table .option_table_main tr td {
    width: 100%;
    display: inline-block;
  }
}

.option_table .option_table_sub table {
  margin: 0;
}

.option_table .option_table_sub table tr {
  border: 1px solid #1a1a1a !important;
  text-align: center !important;
}

.option_table .option_table_sub table tr th {
  border: 1px solid #1a1a1a !important;
  background-color: #facfd2 !important;
  color: #0D0D1B !important;
}

.option_table .option_table_sub table tr td {
  border: 1px solid #1a1a1a !important;
  text-align: center !important;
}

#kyushu .option_table .option_table_sub table tr th {
  border: 1px solid #dd551a !important;
  background-color: #ec7f51 !important;
  color: #0D0D1B !important;
}

#kyushu .option_table .option_table_sub table tr td {
  border: 1px solid #dd551a !important;
  text-align: center !important;
}

.osusume_box_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.osusume_box {
  max-width: 250px;
  margin: 10px;
}

.osusume_box span {
  font-size: 0.9em;
}

/* @media screen and (max-width: 963px) {
  .telnumber {
    display: none!important;
  }
}
@media screen and (max-width: 820px) {
  .header_none {
    display: none!important;
  }
}
@media screen and (min-width: 820px) {
  .header_open {
    display: none!important;
  }
}
@media screen and (max-width: 819px) {
  .header_open {
    display: inline!important;
  }
} */

.packageplan a {
  text-align: center;
  padding: 20px;
  border: 1px solid #a5a5a5;
  display: block;
  max-width: 350px;
  margin: 20px auto;
}

.red_color {
  color: #c00;
}

.blue_color {
  color: #1a1a1a;
}

.btn_flex {
  display: flex;
  flex-wrap: wrap;
}

.btn_flex_2 {
  display: flex;
  flex-wrap: wrap;
}

.btn_flex_2 .btn {
  max-width: 1000px !important;
  min-width: 995px !important;
}

.btn_flex_2 .btn a {
  padding: 10px;
  color: #fff;
  background-color: #dd551a;
  border: 2px solid #dd551a;
  min-width: 500px;
  width: 100%;
  display: block;
  font-weight: 600;
}

.top_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.top_area .sub_area {
  margin: 0 10px;
  width: 47%;
}

@media screen and (max-width: 686px) {
  .top_area .sub_area {
    width: 100%;
  }
}

.top_area .btn {
  margin: 0px auto 0;
  max-width: 490px;
  border: 2px solid #fff;

  padding: 10px;
  color: #fff;
  background-color: #dd551a;
  border: 2px solid #dd551a;
  /* min-width: 500px; */
  width: 100%;
  max-width: 500px;
  display: block;
}

.top_area .btn a {
  color: #fff;
}

@media screen and (max-width: 500px) {
  .top_area .btn a {
    min-width: 0px;
    width: 100%;
  }
}

.top_area .btn a:hover {
  color: #dd551a;
  background-color: #fff;
  border: 2px solid #dd551a;
  opacity: 1 !important;
}

.dld {
  display: inline-block;
  width: 48%;
  margin-bottom: 30px;
  vertical-align: top;
}

#logo {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
}

#logo #dlbtn p {
  margin-left: 20px;
}

@media screen and (min-width: 769px) {
  #top_news .title_area {
    width: 20%;
    float: left;
  }
}

@media screen and (max-width: 768px) {
  .top_wrap {
    padding: 40px 0;
  }
}

#top_news .title_area h3 {
  text-align: left;
  font-size: 26px;
  /* margin: 2em 0 1.5em; */
  text-align: center;
  font-weight: bold;
}

.c_agro,
.site_color {
  color: #1a1a1a;
}

.f16em {
  font-size: 1.6em;
}

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-thumb {
  background-color: #E0E0E0;
  border-radius: 10px;
  box-shadow: none;
}

::-webkit-scrollbar-track {
  background: white;
  border: none;
  border-radius: 10px;
  box-shadow: inset 0 0 2px #777;
}

@media screen and (min-width: 769px) {
  #top_news .text_area {
    width: 80%;
    float: right;
    overflow-y: auto;
    max-height: 160px;
  }
}

@media screen and (max-width: 768px) {
  #top_news .text_area {
    overflow-y: auto;
    max-height: 190px;
  }
}

@media screen and (min-width: 769px) {
  #news_list dt {
    float: left;
    width: 120px;
    clear: both;
    padding-top: 10px;
  }
}

@media screen and (min-width: 769px) {
  #news_list dd {
    padding: 10px 20px 10px 130px;
    display: block;
  }
}

.list_border {
  border-bottom: 1px solid #ccc;
  margin-right: 1.5em;
  padding-bottom: 6px;
}

.red {
  color: #c00 !important;
}

.f08em {
  font-size: 0.8em;
}

.cat {
  font-size: .8em;
  background: #1a1a1a;
  color: #fff;
  padding: 2px 1em;
  margin-right: 5px;
  border-radius: 5px;
}

.clearfix:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: " ";
  font-size: 0;
}

.inner {
  width: 1400px;
  max-width: 100%;
  display: flex;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .inner {
    padding: 0 10px;
    display: block;
  }
}

.banner_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

.banner_flex img {
  margin: 0 1em;
  width: 500px;
}

@media screen and (max-width: 1064px) {
  .banner_flex div:nth-of-type(2) {
    margin: 1em 1em 0;
  }
}

.bg_yellow {
  background: #cacaca;
}

.w960 {
  width: 960px !important;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
}

.lp_exhibit_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.lp_exhibit_flex p {
  /* background-color: #fff;
  padding: 10px; */
  border-radius: 10px;
}

.lp_exhibit_flex p img {
  width: 100%;
  max-width: 250px;
}

@media screen and (min-width: 500px) {
  .bottom_links {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    display: flex;
  }
}

#lp_outline h3 {
  font-size: 26px;
  margin: 0em 0 1.5em;
  text-align: center;
  font-weight: bold;
  padding-top: 40px;
}

#lp_exhibit h3 {
  font-size: 26px;
  margin: 0em 0 1.5em;
  text-align: center;
  font-weight: bold;
  padding-top: 40px;
}

#lp_attend h3 {
  font-size: 26px;
  margin: 0em 0 1.5em;
  text-align: center;
  font-weight: bold;
  padding-top: 40px;
}

.lp_outline_inline h4 {
  font-weight: bold;
  margin-top: 2em;
  margin-bottom: 0.8em;
  font-size: 1.3em;
}

.lp_exhibit_flex .lp_outline_inline:nth-of-type(2) {
  padding: 20px;
  margin: 20px 0em;
  min-width: 400px;
  max-width: 550px;
  width: 100%;
  border-left: 1px solid #717071;
}

@media screen and (max-width: 1100px) {
  .lp_exhibit_flex .lp_outline_inline:nth-of-type(2) {
    border-left: 0px;
    margin: 0;
  }
}

#lp_outline .lp_exhibit_flex .lp_outline_inline:nth-of-type(1) p {
  padding: 10px;
  background: #fff;
  border: 2px solid #818181;
  margin: 20px;
  font-weight: 300 !important;
}

#lp_outline .lp_exhibit_flex .lp_outline_inline:nth-of-type(2) p {
  padding: 10px;
  background: #fff;
  border: 2px solid #1a1a1a;
  margin: 20px;
  font-weight: 300 !important;
}

#lp_attend .lp_exhibit_flex .lp_outline_inline:nth-of-type(1) p {
  padding: 10px;
  background: #fff;
  margin: 20px;
  font-weight: 300 !important;
}

#lp_attend .lp_exhibit_flex .lp_outline_inline:nth-of-type(2) p {
  padding: 10px;
  background: #fff;
  margin: 20px;
  font-weight: 300 !important;
}

#lp_exhibit .lp_exhibit_flex .lp_outline_inline:nth-of-type(1) p {
  padding: 10px;
  background: #fff;
  border: 2px solid #717071;
  margin: 20px;
  font-weight: 600;
}

.lp_exhibit_flex .lp_outline_inline:nth-of-type(1) h4 {
  padding: 5px 1em;
  color: #fff;
  background: #717071;
}

.lp_exhibit_flex .lp_outline_inline:nth-of-type(1) p a {
  color: #fff;
  font-weight: 600;
}

.lp_exhibit_flex .lp_outline_inline:nth-of-type(1) {
  padding: 20px;
  margin: 20px 0em;
  min-width: 400px;
  max-width: 550px;
  width: 100%;
}

@media screen and (max-width: 1100px) {
  .lp_exhibit_flex .lp_outline_inline:nth-of-type(1) {
    border-right: 0px;
    margin: 0;
  }
}

#lp_exhibit .lp_exhibit_flex .lp_outline_inline:nth-of-type(2) p {
  padding: 10px;
  background: #fff;
  border: 2px solid #1a1a1a;
  margin: 20px;
  font-weight: 600;
}

.lp_exhibit_flex .lp_outline_inline:nth-of-type(2) h4 {
  padding: 5px 1em;
  color: #fff;
  background: #1a1a1a;
}

.lp_exhibit_flex .lp_outline_inline:nth-of-type(2) p a {
  color: #fff;
  font-weight: 600;
}

@media screen and (min-width: 500px) {
  .bottom_links {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    display: flex;
  }
}

.bottom_links li {
  width: 100%;
  box-sizing: border-box;
}

.bottom_links li a {
  border-radius: 5px;
  text-align: center;
  font-weight: bold;
  display: block;
  background: #fedc01;
  padding: 15px 10px;
  font-size: 1.2em;
  padding: 10px;
}

.bottom_links li a:hover,
.site_fi .bottom_links li a:hover {
  background: #1a1a1a;
  text-decoration: none;
  color: #fedc01;
  opacity: 1.0 !important;
}

.mini_header_sub {
  font-size: .8em;
  background: #1a1a1a;
  color: #fff;
  padding: 1px 1em;
  margin-right: 5px;
  border-radius: 5px;
}

.flex_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.flex_list img {
  margin: 0.5em;
}

.bottom_wrap {
  /* background: #f5eed7; */
  padding-top: 50px;
  padding-bottom: 50px;
  margin-top: 20px;
}

#footer {
  padding: 30px 0;
  color: #fff;
  background-color: #1a1a1a;
}

#footer ul {
  width: 40%;
  float: left;
  padding-right: 1em;
  box-sizing: border-box;
}

@media screen and (max-width: 782px) {
  #footer ul {
    width: 100%;
  }
}

#footer ul li {
  margin-bottom: 0.5em;
  padding-left: 1em;
  box-sizing: border-box;
}

#footer ul li a {
  color: #fff;
  font-size: 1.2em;
  padding-left: 1.5em;
  box-sizing: border-box;
  display: block;
}

#footer ul li a:before {
  margin: 0 0.5em 0 0;
  content: '\f0da';
  font-family: 'Font Awesome 5 Free';
  color: #717071;
  font-weight: 900;
  margin-left: -1em;
}

#foot_bar {
  line-height: 50px;
  background: #1a1a1a;
  color: #fff;
}

#foot_bar p {
  margin-bottom: 0;
  text-align: center;
  font-size: 0.9em;
  line-height: 1.2em;
  padding: 10px;
}

.footer_contact {
  background: #f1f1f1;
  text-align: center;
  padding: 30px 0 10px;
}

.footer_contact p {
  color: #333;
  padding-bottom: 1em;
}

.b {
  font-weight: bold !important;
}

.f14em {
  font-size: 1.4em;
}

@media screen and (min-width: 769px) {
  .w1050 {
    width: 1050px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 10px;
  }
}

.w1200 {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.tokyo_img_area {
  border: 2px solid #717071;
}

.kyushu_img_area {
  border: 2px solid #1a1a1a;
  margin-bottom: 20px;
}

.kyushu_img_area h3,
.tokyo_img_area h3 {
  font-size: 26px;
  margin-bottom: 10px;
  text-align: center;
  font-weight: bold;
  text-align: center;
}

.img_area_memo {
  max-width: 500px;
  text-align: center;
  margin: 0 auto;
}

.img_area_memo p {
  display: inline-block;
  text-align: left;
}

#outline {
  width: 100%;
  max-width: 940px;
  margin: 4em auto;
}

.contents h3 {
  font-size: 26px;
  text-align: center;
  font-weight: bold;
}

.contents h3:before {
  content: '\f4d8';
  color: #717071;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  padding-right: 5px;
  opacity: .4;
}

.top_msg_img {
  width: 30%;
  max-width: 140px;
  float: right;
  margin-left: 1em;
}

.gnav_wrap {
  background: #1a1a1a;
  box-shadow: 0px 9px 3px -3px rgb(0 0 0 / 10%);
}

#list table {
  width: 100%;
}

#list #outline_table_k table {
  max-width: 1050px;
}

#list table tr {
  border-bottom: 1px solid #9f9f9f;
}

#list table tr:nth-child(1) {
  border-top: 1px solid #9f9f9f;
}

#list table th {
  border: 0px;
  background: #f5eed7;
  padding: 5px;
}

#list table td {
  border: 0px;
  padding: 0.5em;
  vertical-align: middle;
}

#outline_table h3 {
  font-size: 26px;
  text-align: center;
  font-weight: bold;
}

#outline_table .table_outline th {
  background: #f1f1f1;
  min-width: 6em;
  color: #fff;
  font-weight: normal;
  padding: 1em 0.5em;
  border: 1px solid #ccc;
}

#outline_table .table_outline td {
  background: #fff;
  border: 1px solid #ccc;
  vertical-align: middle;
}

#merit_kyushu h3 {
  font-size: 26px;
  text-align: center;
  font-weight: bold;
}

.w50_l img,
.w50_r img {
  margin: 1em;
}

@media screen and (min-width: 769px) {
  .w50_l {
    width: 50%;
    float: left;
  }
}

@media screen and (min-width: 769px) {
  .w50_r {
    width: 50%;
    float: right;
  }
}

.btn a {
  padding: 0.5em;
  color: #fff !important;
  background: #717071;
  border-radius: 5px;
  width: 600px;
  max-width: 95%;
  text-align: center;
  margin: 20px auto 30px;
  display: block;
  box-sizing: border-box;
}

.btn a:hover,
.btn_l a:hover {
  color: #333 !important;
  background: #ccc;
  text-decoration: none;
  opacity: 1;
  transition: 0.2s;
}

.f12em {
  font-size: 1.2em;
}

#list .table_n {
  width: 12%;
  vertical-align: middle;
}

#list .table_img {
  width: 9%;
  vertical-align: middle;
}

#list table tr:nth-child(1) {
  border-top: 1px solid #9f9f9f;
}

#list table tr {
  border-bottom: 1px solid #9f9f9f;
  vertical-align: middle;
}

.flex_img {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}



#attend {
  width: 100%;
  max-width: 1200px;
  margin: 4em auto;
}



#exhibition .gm {
  width: 100%;
  margin: 4em auto;
}

#exhibition #title_area.title_exhibition {
  position: relative;
  height: 280px;
}

#exhibition #title_area {
  height: 160px;
  background: url(../../common/img/bg_title.jpg);
  background-size: cover;
  color: #fff;
}

#exhibition #title_area .inner {
  height: 100%;
  display: table;
}

#exhibition #title_area .title_wrap {
  display: table-cell;
  vertical-align: middle;
  padding: 0 5px;
}

#exhibition #title_area .inner .title_wrap h2 {
  line-height: 2;
  color: #000;
  text-align: center;
  font-size: 28px;
  font-weight: 300;
}

#exhibition #title_area.title_exhibition h2 img {
  max-height: 60px;
  z-index: 10;
}

@media screen and (min-width: 769px) {
  .catch {
    text-align: center;
  }
}

h4.sec_title {
  background: #f1f1f1;
  padding: 0.5em 1em;
}

#exhibition section .catch {
  font-size: 2em;
}

#exhibition h5 {
  font-size: 1.15em;
}

.line_yellow {
  background: linear-gradient(transparent 60%, #fff999 60%);
}

#exhibition #gm .c {
  color: #dd6b66 !important;
  font-weight: 600;
}

#exhibition #gm .bg_c {
  background: #dd6b66 !important;
  color: #fff;
  font-size: 1.3em;
}

#exhibition #livestock .c {
  color: #528736 !important;
  font-weight: 600;
}

#exhibition #livestock .bg_c {
  background: #528736 !important;
  color: #fff;
  font-size: 1.3em;
}

#exhibition #product .c {
  color: #009944 !important;
  font-weight: 600;
}

#exhibition #product .bg_c {
  background: #009944 !important;
  color: #fff;
  font-size: 1.3em;
}

#exhibition #veg .c {
  color: #F39800 !important;
  font-weight: 600;
}

#exhibition #veg .bg_c {
  background: #F39800 !important;
  color: #fff;
  font-size: 1.3em;
}

#exhibition #smart .c {
  color: #036eb8 !important;
  font-weight: 600;
}

#exhibition #smart .bg_c {
  background: #036eb8 !important;
  color: #fff;
  font-size: 1.3em;
}

#exhibition #process .c {
  color: #E60040 !important;
  font-weight: 600;
}

#exhibition #process .bg_c {
  background: #E60040 !important;
  color: #fff;
  font-size: 1.3em;
}

#exhibition #wsw .c {
  color: #126736 !important;
  font-weight: 600;
}

#exhibition #wsw .bg_c {
  background: #126736 !important;
  color: #fff;
  font-size: 1.3em;
}



#cost {
  width: 100%;
  max-width: 1200px;
  margin: 4em auto;
}

.w800 {
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
}

.w1000 {
  width: 1000px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

#cost .outline_box {
  border: 5px solid #717071;
  background-color: #FFF;
  color: #717071;
  padding: 15px;
}

#cost .outline_box_flex {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

.h_400 img {
  height: 410px;
}

#cost .outline_box_l {
  border: 5px solid #717071;
  background-color: #FFF;
  color: #717071;
  padding: 15px;
}

#cost .schedule .schedule_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#cost .schedule .schedule_area dl {
  border: 2px solid #717071;
  background-color: #FFF;
  color: #717071;
  padding: 0 0 5px 0;
  width: 18%;
}

#cost .schedule .schedule_area dl dt {
  border: 2px solid #717071;
  background-color: #717071;
  color: #FFF;
  text-align: center;
  font-weight: 600;
}

#cost .schedule .schedule_area dl dd {
  text-align: center;
  padding: 10px;
  vertical-align: middle;
}

.table_mask {
  position: relative;
  margin: 0;
}

.caption {
  background: rgba(0, 0, 0, .4);
  font-family: "sans-serif";
  font-size: 1.2em;
  color: #ffff00;
  height: 10.6em;
  left: auto;
  line-height: 9;
  overflow: hidden;
  padding: 0.5em;
  position: absolute;
  text-align: center;
  text-shadow: 1px 1px 1px rgb(255 255 255 / 20%);
  top: 5%;
  white-space: nowrap;
  width: 100%;
  font-weight: 600;
}

.caption.caption_semi {
  height: 35em;
  line-height: 34;
}

@media screen and (max-width: 768px) {
  .caption.caption_semi {
    height: 57em;
    line-height: 56;
  }
}

.booth table {
  width: 100%;
  max-width: 100% !important;
}

.booth table tr th {
  background: #f5eed7;
  text-align: center;
}

.width50 {
  width: 50%;
}

#cost th,
#cost td {
  padding: 1em 0.5em;
  border: 1px solid #ccc;
}

#cost .booth table tr td {
  text-align: center;
}

#cost .booth_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.bg_c_booth {
  background: #717071 !important;
  color: #fff;
  padding: 10px;
  text-align: center;
}

.bg_c_booth span {
  padding: 3px 5px;
  background: #fff;
  color: #ff0000;
  margin-left: 1em;
}

#cost h4 {
  font-weight: bold;
  margin-top: 2em;
  margin-bottom: 0.8em;
  font-size: 1.3em;
}

.smartDl_item {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin: 0 10px;
  padding: 10px;
  border: 1px solid #eee;
  text-align: center;
  overflow: hidden;
}

.booth dl {
  clear: both;
  margin: 10px 0;
  overflow: auto;
}

.booth dl dt {
  color: #FFF;
  background-color: #999;
  font-weight: bold;
  text-align: center;
  float: left;
  margin-right: 10px;
  border-radius: 10px;
  line-height: 1.3em;
  padding: 4px 0px;
  min-width: 200px;
}

.booth dl dd {
  color: #25282a;
  float: left;
  line-height: 1.5em;
  letter-spacing: -0.5px;
}

.rightline {
  margin-right: 14%;
}

h1 {
  font-size: 2em;
  line-height: 1.6;
  font-weight: bold;
}

.bg_red {
  background: #c00;
  color: #fff;
  padding: 0 0.5em;
}

#press h2 {
  font-weight: bold;
  margin-top: 2em;
  margin-bottom: 0.8em;
  font-size: 1.3em;
}

#list .table_logo {
  /* width: 200px; */
  text-align: center;
}

.fa-external-link-alt {
  font-size: .9em;
  margin-left: 0.5em;
}

.letter-space {
  letter-spacing: -0.8px;
}


#seminar {
  width: 100%;
  max-width: 1200px;
  margin: 4em auto;
}

#seminar table {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10px;
}

#seminar table tr th {
  color: #fff;
  padding: 5px 0;
  background-color: #717071;
  /* border: 1px solid #e4e3e3; */
}

#seminar table tr th {
  min-width: 60px !important;
}

#seminar table tr .time {
  width: 12% !important;
  text-align: center;
  vertical-align: middle;
}

#seminar table tr td {
  width: 44%;
  border: 1px solid #999;
}

#seminar .seminar_img img {
  float: right;
  width: 100px;
}

#seminar .program2024 table tr th {
  width: 5% !important;
  border: 1px solid #999;
}

#seminar .program2024 table tr .time {
  width: 5% !important;
  text-align: center;
  vertical-align: middle;
}

#seminar .program2024 h3 {
  font-size: 1.1em;
  text-align: left;
  margin-top: 10px;
}

#seminar .program2024 h2 {
  margin-top: 10px;
}

.visit #seminar {
  width: 100%;
  max-width: 1000px;
  margin: 4em auto;
}

.visit #seminar table {
  border: none;
}

@media screen and (max-width: 820px) {
  .visit #seminar table {
    width: 100%;
    min-width: 0px;
  }
}

.visit #seminar table tr th {
  width: 30%;
}

@media screen and (max-width: 820px) {
  .visit #seminar table tr th {
    width: 100%;
    display: inline-block;
  }
}

.visit #seminar table tr td {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  text-align: left;
}

@media screen and (max-width: 820px) {
  .visit #seminar table tr td {
    padding: 0.5em !important;
  }
}

.visit #seminar table .seminar__box img {
  width: 100%;
  min-width: 100px;
}

.visit #seminar table .seminar__box p span {
  font-size: 1.2em;
  font-weight: bold;
  margin-right: 0.5em;
}

.visit .toshiken tr td p:nth-of-type(1) {
  font-size: 1.1em;
  font-weight: bold;
  background-color: #eaedf5;
}

.visit .disaster tr td p:nth-of-type(1) {
  font-size: 1.1em;
  font-weight: bold;
  background-color: #eee7c4;
}

.visit .energy tr td p:nth-of-type(1) {
  font-size: 1.1em;
  font-weight: bold;
  background-color: #e2db91;
}

.visit .infr tr td p:nth-of-type(1) {
  font-size: 1.1em;
  font-weight: bold;
  background-color: #dfc6b5;
}

@media screen and (max-width: 686px) {
  .visit #lp_list table tr td {
    width: 100% !important;
    display: inline-block;
    padding: 0.5em 0 !important;
  }
}

.visit table tr td p {
  padding: 0 0.5em;
}

.visit #lp_list h3:nth-of-type(1) {
  color: #fff;
  background-color: #063a76;
  padding: 0.2em 0.4em;
}

.visit #lp_list h3:nth-of-type(2) {
  background-color: #f9cf00;
  padding: 0.2em 0.4em;
}

.visit #lp_list h3:nth-of-type(3) {
  background-color: #c9bb23;
  padding: 0.2em 0.4em;
}

.visit #lp_list h3:nth-of-type(4) {
  background-color: #eeb18e;
  padding: 0.2em 0.4em;
}

.visit #lp_list table {
  border: 0px;
}

.visit #lp_list table tr td {
  width: 50%;
  text-align: left;
  vertical-align: top;
  border: 0px;
}

.visit #lp_list table tr td:nth-of-type(1) {
  padding: 0 10px 0 0;
}

.visit #lp_list table tr td:nth-of-type(2) {
  padding: 0 0 0 10px;
}

.visit #seminar table h4 {
  font-size: 1.2em;
}

.visit #event h3 strong {
  color: #fff;
  background: rgba(204, 0, 0, .9);
  padding: 0.2em 0.4em;
  margin-right: 0.5em;
  display: inline-block;
}

.visit #event h3 span {
  font-size: 0.7em;
}

.visit #event h4 span {
  color: #fff;
  background: #1a1a1a;
  padding: 0.2em 3.0em;
  font-size: 1.2em;
}

.visit #event article {
  margin-top: 20px;
}

.visit #event article table tr th {
  width: 50%;
}

.visit #event article p {
  text-align: left;
}

.visit #event .event__box {
  background-color: #fff;
  border: 3px solid #fff100;
  border-radius: 10px;
  padding: 1em;
}

.visit h3 {
  font-size: 1.4em;
  margin-top: 20px;
}

.visit #kitchen .kitchen__area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
}

@media screen and (max-width: 980px) {
  .visit #kitchen .kitchen__area {
    justify-content: center;
  }
}

@media screen and (max-width: 450px) {
  .visit #kitchen p {
    text-align: left !important;
  }
}

.visit #kitchen .kitchen__area .kitchen__box {
  color: #fff;
  background-color: #222;
}

@media screen and (max-width: 980px) {
  .visit #kitchen .kitchen__area .kitchen__box:nth-of-type(2) {
    margin-top: 20px;
  }
}

.visit #kitchen .kitchen__area .kitchen__box h3 {
  margin: 0 !important;
}

.visit #access table tr th:nth-of-type(1) {
  width: 5% !important;
  min-width: 60px;
}

.visit #access table tr td:nth-of-type(2) {
  border-right: 0px;
}

.visit #access table tr td:nth-of-type(3) {
  border-right: 0px;
  border-left: 0px;
}

.visit #access table tr td:nth-of-type(4) {
  border-right: 0px;
  border-left: 0px;
}

.visit #access table tr td:nth-of-type(5) {
  border-left: 0px;
}

.btn_red {
  width: 100%;
  max-width: 300px;
  min-width: 200px;
  text-align: center;
  background: #717071;
  color: #fff;
  padding: 1px;
  border-radius: 10px;
  font-size: 0.8em;
  margin-top: 5px;
}

.btn_blue {
  width: 100%;
  max-width: 300px;
  min-width: 200px;
  text-align: center;
  background: #222;
  color: #fff;
  padding: 1px;
  border-radius: 10px;
  font-size: 0.8em;
}

.btn_purple {
  width: 100%;
  max-width: 300px;
  min-width: 200px;
  text-align: center;
  background: #fff100;
  color: #222;
  padding: 1px;
  border-radius: 10px;
  font-size: 0.8em;
  font-weight: bold;
  margin-top: 5px;
}

.btn_gray a {
  padding: 0.5em;
  color: #fff !important;
  background: #717071;
  border-radius: 5px;
  width: 600px;
  max-width: 95%;
  text-align: center;
  margin: 20px auto 30px;
  display: block;
  box-sizing: border-box;
}

.btn_gray a:hover {
  color: #fff !important;
  background: #222;
  transition: 0.2s;
  opacity: 1 !important;
}


#attend_zone {
  width: 100%;
  margin: 0 auto;
}

.header_list {
  margin: 30px 0 50px;
  background: #f5eed7;
  padding: 22px 20px 15px;
}

.header_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  align-items: center;
}

.arrow_u {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  /* margin-left: 2em; */
  color: #333 !important;
  font-weight: 600;
  font-size: 1.2em;
  text-decoration: none;
}

.arrow_u:before {
  content: "\f078";
  font-family: FontAwesome;
  font-size: 1.0em;
  margin-right: 0.3em;
  color: #717071;
}

.atdTitle span {
  display: inline-block;
  color: #fff !important;
  background: rgba(204, 0, 0, .9);
  padding: 0.4em 1em 0.2em 1em;
  color: #fff;
}

.attend_box {
  margin-bottom: 10px;
  border: 2px solid #717071;
}

.attend_box p {
  padding: 20px 0;
  width: 100%;
  font-size: 1.2em;
  color: #717071;
  font-weight: bold;
  text-align: center;
}

#attend_zone .attend_inline {
  display: inline-block;
  width: 48%;
  vertical-align: middle;
}

#attend_zone dl dt {
  font-size: 1.1em;
  font-weight: bold;
  border-left: 5px solid #717071;
  padding-left: 5px;
  margin-bottom: 5px;
}

#attend_zone dl dd {
  margin-left: 10px;
  margin-bottom: 15px;
}

.visit_textbox {
  background-color: #fff;
  padding: 20px;
}

.contents_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.contents_flex div {
  margin: 0 30px 20px;
  max-width: 250px;
}

#lp_outline table {
  border: none;
}

#lp_outline table tr th {
  border: none;
  color: #fff;
  padding: 2px 15px;
  background-color: #333;
  vertical-align: middle;
}

#lp_outline table tr td {
  border: none;
  padding: 8px 15px;
  background-color: #fff;
  vertical-align: middle;
}

#lp_outline .lp_outline_inline:nth-of-type(1) .box_btn a {
  padding: 10px;
  background: #fff;
  margin: 20px;
  font-weight: 600;
  border-radius: 10px;
}

#lp_outline .lp_outline_inline:nth-of-type(2) .box_btn a {
  padding: 10px;
  background: #fff;
  margin: 20px;
  font-weight: 600;
  border-radius: 10px;
}

#lp_attend .lp_exhibit_flex .attend_flexbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  text-align: left;
}

#lp_attend .lp_exhibit_flex .lp_outline_inline:nth-of-type(1) p {
  padding: 10px;
  background: #fff;
  border: 2px solid #818181;
  margin: 20px;
  font-weight: 300 !important;
}

#lp_attend .lp_exhibit_flex .lp_outline_inline:nth-of-type(2) p {
  padding: 10px;
  background: #fff;
  border: 2px solid #1a1a1a;
  margin: 20px;
  font-weight: 300 !important;
}

#lp_connection .lp_exhibit_flex .connection_flexbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: left;
}

#lp_connection .lp_exhibit_flex .connection_flexbox img {
  margin: 5px;
}

.lp_exhibit_flex li a div img {
  width: 250px;
  margin-bottom: 5px;
}

.lp_exhibit_flex li a div span {
  color: #1a1a1a;
  background-color: #fff;
  border: 1px solid #1a1a1a;
  padding: 0 5px;
  font-weight: 600;
}

.lp_exhibit_flex li a div .banner_venue {
  margin-top: 5px;
}


.top_header {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.top_header .top_header_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 940px) {
  .top_header .top_header_flex {
    justify-content: center;
    margin: 10px 0;
  }
}

@media screen and (max-width: 580px) {
  .top_header .top_header_flex {
    margin: 50px 0 20px 0;
  }
}

.top_header .top_header_flex .logo_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 10px 0;
}

.top_header .logo_flex .txt {
  background: #222;
  color: #fff;
  font-weight: 700;
  font-size: 0.5em;
  padding: 0 8px;
  white-space: nowrap;
  margin-right: 2%;
}

.top_header .top_header_flex .logo_flex a {
  height: 34px;
  max-width: 150px;
}

.top_header .top_header_flex .header_links_wrap {
  display: flex;
}

.top_header .top_header_flex .header_links_wrap .header_links {
  padding: 0 5px;
}

.top_header .top_header_flex .header_links_wrap .header_links a {
  background: #222;
  padding: 5px 10px;
}

.lp_btn {
  display: block;
  /* max-width: 300px; */
  text-decoration: none;
  outline: none;
  padding: 15px 10px;
  background: #c00;
  color: #fff;
  font-size: 1.1em;
  text-align: center;
  border: 2px solid #c00;
  margin: 15px auto;
  transition: all .5s;
  font-weight: 600;
  border-radius: 12px;
  line-height: 1.5em;
}

.lp_btn:hover {
  color: #c00 !important;
  background: #fff;
  border: 2px solid #c00;
  opacity: 1.0 !important;
}

.lp_logo_banner ul li {
  background-color: #fff;
  padding: 10px;
  margin: 0.5em;
  min-width: 250px;
  border: 2px solid #1a1a1a;
  box-shadow: 4px 4px 3px -1px #777777;
}

.lp_logo_banner_2 ul li {
  background-color: #fff;
  padding: 10px;
  margin: 0.5em;
  height: 90px;
  min-width: 370px;
  border: 2px solid #1a1a1a;
  box-shadow: 4px 4px 3px -1px #777777;
}

.lp_logo_banner_2 .lp_exhibit_flex img {
  margin: 0.5em;
}

@media (max-width: 600px) {
  .lp_logo_banner_2 .lp_exhibit_flex img {
    max-width: 300px;
  }
}

.main_title {
  width: 100%;
  font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 5.0rem;
  color: #717071;
  display: block;
  line-height: 1;
  text-align: center;
}

@media (max-width: 500px) {
  .main_title {
    font-size: 3.0rem;
  }
}

.sub_title_thin {
  font-size: 1.4em;
  line-height: 1.4em;
}

.sub_title_thin span {
  border-bottom: 1px solid #999;
  position: relative;
}


.sub_title {
  font-size: 1.4em;
  line-height: 1.4em;
}

.sub_title span {
  border-bottom: solid 3px #1a1a1a;
  position: relative;
}


.sub_sub_title {
  font-size: 1.2em;
}

#lp_report table {
  width: 100%;
  table-layout: fixed;
}

.venue_inline {
  display: inline-block;
  width: 25%;
  vertical-align: middle;
}

.forum_img {
  margin-top: 20px;
}

.main_contents_flex {
  display: flex;
  flex-wrap: wrap;
}

.main_contents_flex div ul {
  display: flex;
  flex-wrap: wrap;
  padding: 10px 0px 0 20px;
}

.main_contents_flex .target_box {
  width: 100%;
  max-width: 580px;
  margin: 0 auto;
}

.main_contents_flex .target_box ul li {
  font-size: 1.2em;
  margin: 3px 0.4em;
  background-color: #dadada;
  padding: 0 5px;
}

.border_b_w {
  border-bottom: 1px solid #fff;
}

.simultaneous_img img {
  padding: 10px;
}

.follow_nav.active {
  opacity: 1;
  visibility: visible;
}

.follow_nav {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
  z-index: 2000;
}

.header_inner {
  box-sizing: content-box;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2%;
}

.local_nav_top ul {
  display: flex;
  justify-content: center;
}

.local_nav_top li:not(:last-child) {
  margin-right: 5px;
}

.local_nav_top a {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 1em;
  line-height: 1.4;
  background: #222;
  text-decoration: none;
  padding: 14px 4px;
  height: 100%;
  transition: all .3s ease-out;
  border-radius: 0 0 15px 15px;
}

@media screen and (max-width: 580px) {
  .local_nav_top a {
    display: none;
  }
}

.top_bg_img {
  /* background: url(../img/bg_main_img.jpg) no-repeat center center; */
  min-height: 640px;
  /* border-bottom-right-radius: 2000px 300px;
  border-bottom-left-radius: 2000px 300px;
  background-repeat: no-repeat; */
}

.top_main_flex p {
  padding: 10px 5px;
  background-color: #222;
  width: 100%;
  max-width: 240px;
  max-width: 360px;
  margin: 3px 10px;
  border: #222 4px solid;
  font-weight: 600;
  font-size: 1.2em;
}

.top_main_flex p:nth-of-type(1) {
  padding: 10px 5px;
  background-color: #c00;
  width: 100%;
  margin: 3px 10px;
  border: #750101 4px solid;
  font-weight: 600;
  font-size: 1.2em;
}

.top_main_flex p:nth-of-type(2) {
  padding: 10px 5px;
  /* background-color: #0066cc; */
  background-color: #c00;
  width: 100%;
  margin: 3px 10px;
  /* border: #003972 4px solid; */
  border: #750101 4px solid;
  font-weight: 600;
  font-size: 1.2em;
}

.top_main_flex .guide_btn {
  padding: 10px 5px;
  background-color: #222 !important;
  width: 100%;
  max-width: 720px !important;
  margin: 3px 10px;
  border: #222 4px solid !important;
  font-weight: 600;
  font-size: 1.2em;
}

@media (max-width: 739px) {
  .top_main_flex .guide_btn {
    max-width: 350px !important;
  }
}

.top_main_flex p a {
  color: #fff;
  display: block;
}

.top_main_area {
  width: 100%;
  overflow: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.button_wid {
  width: 100%;
  /* max-width: 800px; */
  max-width: 1140px;
  margin: 0 auto;
}

.top_main_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
}

.header_links_wrap {
  z-index: 100;
}

.header_links_wrap a {
  color: #fff;
}

.sub_header_links_list_01 {
  display: flex;
  align-items: flex-start;
  margin: 14px 0 0;
  line-height: 1.2;
}

.sub_header_links_list_02 {
  margin: 10px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.sub_header_links_list_02 a {
  background-size: 10px;
  text-decoration: none;
  font-size: 1em;
  padding: 4px 10px;
  display: inline-block;
  min-width: 220px;
}

@media (min-width: 768.1px) {
  .sub_header_links_list_01 li:not(:last-child) {
    position: relative;
    border-right: 1px solid #fff;
  }
}

@media (max-width: 768.1px) {
  .sub_header_links_list_01 li:not(:last-child) {
    margin-right: 1em;
  }
}

@media (min-width: 768.1px) {
  .sub_header_links_list_01 a {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    padding: 0 10px;
  }
}

.header_top {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: none;
}

.header_kyushu .header_top {
  background-color: #222222;
}

/* 2026開催概要用 */
.exhibition_outline_table_large {
  border-collapse: initial;
  border-spacing: 2px;
  width: 90%;
  max-width: 1600px;
  margin: 0 auto;
}


@media (max-width: 580.1px) {
  .exhibition_outline_table_large {
    position: relative;
  }
}

.exhibition_outline_table_large th {
  background: rgba(255, 255, 255, 0.9);
  border-left: 5px solid #1a1a1a;
  font-weight: 400;
  text-align: center;
  padding: 28px;
  white-space: nowrap;
  vertical-align: middle;
  font-size: 1.5em;
}

@media (max-width: 580.1px) {
  .exhibition_outline_table_large th {
    display: flex;
    width: 100%;
    justify-content: center;
  }
}

.exhibition_outline_table_large td {
  background: rgba(255, 255, 255, 0.7);
  padding: 28px;
  font-size: 1.8em;
  line-height: 2;
}

@media (max-width: 580.1px) {
  .exhibition_outline_table_large td {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    text-align: left;
  }
}



/* それ以外の表 */
.exhibition_outline_table {
  border-collapse: initial;
  border-spacing: 2px;
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
}



/* .exhibition_outline_table img {
  max-width: 80%;
  height: auto;
  display: block;
  margin: 0 auto;
} */


@media (max-width: 580.1px) {
  .exhibition_outline_table {
    position: relative;
  }
}

.exhibition_outline_table th {
  background: rgba(255, 255, 255, 0.9);
  border-left: 5px solid #1a1a1a;
  font-weight: 400;
  text-align: center;
  padding: 20px;
  white-space: nowrap;
  vertical-align: middle;
}

@media (max-width: 580.1px) {
  .exhibition_outline_table th {
    display: flex;
    width: 100%;
    justify-content: center;
  }
}


.exhibition_outline_table td {
  background: rgba(255, 255, 255, 0.7);
  padding: 20px;
}

@media (max-width: 580.1px) {
  .exhibition_outline_table td {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    text-align: left;
  }
}

.exhibition_flow_dl_flow {
  display: flex;
  max-width: 1000px;
  margin: 0 auto 20px;
  justify-content: space-around;
}

@media (max-width: 768px) {
  .exhibition_flow_dl_flow {
    display: block;
    margin: 0 auto 20px;
  }
}

.exhibition_flow_dl {
  display: flex;
  max-width: 1000px;
  margin: 0 auto 20px;
  justify-content: space-around;
  align-items: center;
}

@media (max-width: 768px) {
  .exhibition_flow_dl {
    display: block;
    margin: 0 auto 20px;
  }
}

.exhibition_flow_dl_flow dt {
  background: #FFA500;
  color: #fff;
  font-weight: 700;
  font-size: 1.2em;
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 326px;
  position: relative;
}

@media (max-width: 768px) {
  .exhibition_flow_dl_flow dt {
    width: 100%;
    width: 100%;
    padding: 10px;
  }
}

.exhibition_flow_dl_flow dt::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -12px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #222 transparent transparent transparent;
  border-width: 12px 12px 0 12px;
}

.exhibition_flow_dl_last dt::after {
  display: none;
}

.exhibition_flow_dl_flow dd {
  background: #fff;
  border: 1px solid #222;
  padding: 20px 40px;
  flex: 1;
  text-align: left;
}

@media (max-width: 768px) {
  .exhibition_flow_dl_flow dd {
    width: 100%;
    padding: 10px;
    flex: auto;
    position: relative;
  }
}

@media (max-width: 768px) {
  .exhibition_flow_dl_flow dd::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -12px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #222 transparent transparent transparent;
    border-width: 12px 12px 0 12px;
  }
}

@media (max-width: 768px) {
  .exhibition_flow_dl_last dd::after {
    display: none;
  }
}

.exhibition_flow_dl_flow dd h3 {
  font-size: 1.2em;
  font-weight: 700;
}

.exhibition_application_box {
  border: 1px solid #222;
  padding: 15px;
  background-color: #fff;
}

.application_area {
  border-collapse: initial;
  border-spacing: 2px;
  max-width: 800px;
  margin: 0 auto;
}

em {
  color: #cc0000e6;
  font-weight: 700;
}

.sec_sub_ttl_03 {
  display: inline-block;
  background: #cc0000e6;
  color: #fff;
  font-size: 1.1em;
  font-weight: 700;
  padding: 0 10px;
  margin-bottom: 20px;
}

#price table {
  width: 100%;
  border-spacing: 2px;
  border: 0px;
}

#price table tr th {
  background: #222;
  color: #fff;
  font-weight: 700;
  text-align: center;
  font-size: 1.1em;
  padding: 20px;
  vertical-align: middle;
  border: 1px solid #333;
}

@media (max-width: 768px) {
  .cmn_table_01 tr th {
    display: block;
    width: 100%;
    text-align: left !important;
  }
}

@media (max-width: 768px) {
  .cmn_table_01 .cmn_second th {
    margin-top: 1em;
  }
}

#price table tr td {
  background: #fff;
  font-size: 1.1em;
  text-align: center;
  padding: 20px;
  vertical-align: middle;
  border: 1px solid #333;
}

@media (max-width: 768px) {
  .cmn_table_01 tr td {
    display: block;
    width: 100%;
    padding: 10px;
  }
}

.article_area {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  padding: 0 10px;
}

@media (max-width: 980px) {
  .article_area {
    padding: 0;
  }
}

@media (max-width: 768px) {
  .article_area img {
    margin: 1em 0;
    width: 100%;
  }
}

.cmn_table_01 th {
  width: 50%;
  text-align: left;
}

.bg_option {
  background-color: #f0f0f0;
  padding: 50px 0;
}

.bg_option_2 {
  background-color: #bdbdbd;
  padding: 50px 0;
}

.cmn_table_price th {
  border: 1px solid #cc0000e6;
  background: #cc0000e6;
  color: #fff;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
}

.cmn_table_price td {
  border: 1px solid #cc0000e6;
  background: #fff;
}

/*PCでは無効（改行しない）*/
.sma {
  display: none;
}

/*スマートフォンでは有効（改行する）*/
@media screen and (max-width: 700px) {
  .sma {
    display: block;
  }

  .sma_inline {
    display: inline;
  }
}

/* スマホのみマージン */
@media screen and (max-width: 768px) {
  .mt5_mb {
    margin-top: 5px !important;
  }

  .mt10_mb {
    margin-top: 10px !important;
  }

  .mt20_mb {
    margin-top: 10px !important;
  }

  .mb10_mb {
    margin-top: 10px !important;
  }

  .mb20_mb {
    margin-top: 10px !important;
  }
}


.middle_border {
  border-bottom: 1px solid #333;
}

@media screen and (max-width:405px) {
  .overflow {
    overflow-x: scroll;
  }
}

.no_border:nth-of-type(1) {
  border: 0px !important;
}

.gray_out a {
  color: #aaaaaa !important;
  pointer-events: none;
}

.download_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  border-bottom: 1px solid #333;
  padding-bottom: 30px;
}

.download_flex input {
  width: 100%;
  padding: 5px;
  background: #fff;
  border: 1px solid #ddd;
}

.border_box img {
  border: 1px solid #000;
}

#document article {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}

#document article div {
  margin: 10px;
  width: 250px;
}

#document article div img {
  border: 1px solid #777;
  box-shadow: 0px 0px 10px -5px #777;
}

#document h2 {
  font-size: 1.4em;
  color: #fff;
  background-color: #000;
  padding: 10px;
}

#document h3 {
  font-size: 1.2em;
}

#seminar table {
  width: 100%;
  min-width: 800px;
}

#seminar .speaker {
  display: flex;
  align-items: flex-end;
  margin-top: 1em;
}

@media screen and (max-width:800px) {
  #seminar .speaker {
    display: inline-block;
  }
}

#seminar table .speaker p {
  flex: 1;
  font-size: 1.4rem;
}

#seminar table .speaker figure {
  width: 7.5em;
  margin-right: 1rem;
}

#seminar table .speaker em {
  font-size: 1.2em;
  color: #000 !important;
}

#seminar table td .home {
  padding: 0.2rem 1rem;
  border: 0.1rem solid #000;
  color: #000;
  margin-top: 10px;
  font-size: 0.9em;
  display: inline-block;
}

#seminar table td .number {
  padding: 0.2rem 1rem;
  color: #fff;
  background-color: #000;
  margin-right: 0.5em;
}

@media screen and (max-width:800px) {
  #seminar .overflow_table {
    overflow-x: auto;
    width: 100%;
  }
}

/* ヘッダーのナビ部分 */
.header__nav {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  transform: translateX(100%);
  background-color: #1a1a1a;
  /*ハンバーガーメニュークリック時のナビゲーションメニュー背景色*/
  transition: ease .4s;
  /*ハンバーガーメニュークリック時のナビゲーションメニュー出現を遅延*/
}

@media screen and (min-width: 580.1px) {
  .header__nav {
    position: static;
    transform: initial;
    background-color: inherit;
    height: inherit;
    justify-content: end;
    width: 100%;
    padding-top: 1em;
    background-color: #1a1a1a;
  }
}

/* ハンバーガーメニュー */
.header__hamburger {
  width: 48px;
  height: 100%;
  position: absolute;
  right: 0;
}

.hamburger {
  background-color: transparent;
  /*buttonタグデフォルトスタイルを打ち消し*/
  border-color: transparent;
  /*buttonタグデフォルトスタイルを打ち消し*/
  z-index: 9999;
}

@media screen and (min-width: 580.1px) {
  .hamburger {
    display: none;
  }
}

/* ハンバーガーメニューの線 */
.hamburger span {
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: relative;
  transition: ease .4s;
  /*ハンバーガーメニュークリック時の三本線の動きを遅延*/
  display: block;
}

.hamburger span:nth-child(1) {
  top: 0;
}

.hamburger span:nth-child(2) {
  margin: 8px 0;
}

.hamburger span:nth-child(3) {
  top: 0;
}

/* ハンバーガーメニュークリック後のスタイル */
.header__nav.active {
  transform: translateX(0);
}

.hamburger.active span:nth-child(1) {
  top: 5px;
  transform: rotate(45deg);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  top: -13px;
  transform: rotate(-45deg);
}

.header__inner .mob_menu {
  display: none;
}

@media screen and (max-width: 580.1px) {
  .header__inner .mob_menu {
    display: block;
  }
}


#animate_delay dl:nth-of-type(2) {
  animation-delay: 0.4s;
}

#animate_delay dl:nth-of-type(3) {
  animation-delay: 0.6s;
}

#animate_delay dl:nth-of-type(4) {
  animation-delay: 0.7s;
}

#animate_delay dl:nth-of-type(5) {
  animation-delay: 0.9s;
}

#animate_delay dl:nth-of-type(6) {
  animation-delay: 1.1s;
}

#animate_delay dl:nth-of-type(7) {
  animation-delay: 1.3s;
}

#animate_delay dl:nth-of-type(8) {
  animation-delay: 1.5s;
}


.visit_underline {
  border-bottom: 1px solid #1a1a1a;
  padding-bottom: 10px;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

#seminar .overflow_table .tourism {
  padding: 0.2rem 1rem;
  color: #fff;
  background-color: #666;
  border-radius: 5px;
  font-size: 1.1em;
}

#seminar .overflow_table .city {
  padding: 0.2rem 1rem;
  color: #fff;
  background-color: #063a76;
  border-radius: 5px;
  font-size: 1.1em;
}

/* バス */

.busflex {
  display: flex;
  justify-content: space-between;
}

.bus_2com_innar {
  width: 48%;
}

.busflex th {
  background-color: gray;
}

.busflex tbody {
  border-left: 1px solid #333;
  border-right: 1px solid #333;
}

.busflex tr {
  border-bottom: 1px solid #333;
}

.busflex tr:nth-child(1) {
  border-top: 1px solid #333;
}

.bussec h3 {
  color: white;
  font-size: 18px;
  text-align: center;
  background-color: gray;
  padding: 6px 0;
  margin-bottom: 20px;
}

.busdate {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
  color: #c72e20;
}

#bus .busflex th {
  background-color: gray !important;
  padding: 0 !important;
  width: auto !important;
  color: #0D0D1B;
  font-weight: bold;
}

#bus .busflex td {
  text-align: left;
}



@media screen and (max-width: 768px) {
  .busflex {
    flex-direction: column;
  }

  .bus_2com_innar {
    width: 100%;
    margin-bottom: 20px;
  }

  .bus_2com_innar:nth-child(2) {
    margin-bottom: 0;
  }
}

.relative {
  position: relative !important;
}

.grayout {
  background: rgba(0, 0, 0, .4);
  font-family: "sans-serif";
  font-size: 2em;
  color: #ffff00;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  text-shadow: 1px 1px 1px rgb(255 255 255 / 20%);
  font-weight: 600;
}

/* キャンペーン */

.unline-yellow {
  background: linear-gradient(transparent 60%, #ff0 0%);
}

.f12em {
  font-size: 1.2em;
}

.f16em {
  font-size: 1.6em;
}

.lh16 {
  line-height: 1.6 !important;
}

.bgc_beige {
  background-color: #ffeaeb;
}

.camp_content {
  padding: 10px 20px;
  box-sizing: border-box;
  max-width: 980px;
  text-align: center;
  margin: 0 auto;
  margin-top: 20px;
}

.content_2 {
  max-width: 980px;
  text-align: center;
  margin: 0 auto;
  margin-top: 30px;
}

.heading01 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 26px;
  text-align: center;
}

.heading01::before,
.heading01::after {
  content: '';
  width: 3px;
  height: 40px;
  background-color: #ed3737;
}

.heading01::before {
  margin-right: 30px;
  transform: rotate(-35deg);
}

.heading01::after {
  margin-left: 30px;
  transform: rotate(35deg);
}

.midashi.sub {
  font-size: 18px;
  margin: 10px 0;
  font-weight: bold;
}

.pink_arrow {
  color: #EF858C;
  font-size: 24px;
}

.campfigure img {
  max-width: 500px;
}


.main_title.camptitle {
  margin: 0 auto;
  padding: 50px 0 30px;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1.3;
  letter-spacing: 0.05em;
  text-align: center;
}

.camp_sec .step_box .inner {
  flex-direction: column;
}

.sub_header_links_list_02 a {
  min-width: 100px;
}

.venue_sec ul.movibox {
  width: 100%;
  margin: 0px auto;
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}

.venue_sec .movibox li {
  width: 48%;
}

@media screen and (max-width: 768px) {
  .venue_sec .movibox {
    flex-direction: column;
  }

  .venue_sec .movibox li {
    width: 100% !important;
  }
}

.ann_table tr>*:empty {
  background-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #999 50%, #999 calc(50% + 0.5px), transparent calc(50% + 1px));
}

.report_sptitle {
  font-size: 1.8em;
  color: rgba(204, 0, 0, .9);
  font-weight: 700;
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .report_sptitle {
    font-size: 1.5em;
  }
}

.hkd_list#lp_list h3:nth-of-type(1) {
  color: #fff;
  background-color: #063a76;
  padding: 0.2em 0.4em;
  font-size: 1.4em;
}

.hkd_list#lp_list h3:nth-of-type(2) {
  background-color: #f9cf00;
  padding: 0.2em 0.4em;
  font-size: 1.4em;
}

.hkd_list#lp_list h3:nth-of-type(3) {
  background-color: #c9bb23;
  padding: 0.2em 0.4em;
  font-size: 1.4em;
}

.hkd_list#lp_list h3:nth-of-type(4) {
  background-color: #eeb180;
  padding: 0.2em 0.4em;
  font-size: 1.4em;
}

.hkd_list#lp_list table {
  border: none;
}

.hkd_list#lp_list table tr td:nth-of-type(1) {
  padding: 0 10px 0 0;
}

.hkd_list#lp_list table tr td:nth-of-type(2) {
  padding: 0 0 0 10px;
}

.hkd_list#lp_list table tr td {
  width: 50%;
  text-align: left;
  vertical-align: top;
  border: 0px;
  padding: 0;
}

.hkd_list#lp_list tr td p:nth-of-type(1) {
  font-size: 1.1em;
  font-weight: bold;
  background-color: #eaedf5;
}

.hkd_list#lp_list table tr td p {
  padding: 0 0.5em;
}


.hkd_list#lp_list .disaster tr td p:nth-of-type(1) {
  font-size: 1.1em;
  font-weight: bold;
  background-color: #eee7c4;
}

.hkd_list#lp_list .energy tr td p:nth-of-type(1) {
  font-size: 1.1em;
  font-weight: bold;
  background-color: #e2db91;
}

.hkd_list#lp_list .infr tr td p:nth-of-type(1) {
  font-size: 1.1em;
  font-weight: bold;
  background-color: #ffebcd;
}

/* htd インタビュー */
.interview_flex {
  display: flex;
  max-width: 1000px;
  margin: 0 auto;
  justify-content: space-between;
}

.interview_flex .if_cover {
  width: 100%;
  aspect-ratio: 560 / 315;
}

.int_box {
  width: 45%;
}

@media screen and (max-width: 768px) {
  .int_box {
    width: 100%;
  }

  .interview_flex .int_box:nth-of-type(2) {
    margin-top: 20px;
  }

  .interview_flex {
    width: 80%;
    margin: 0 auto;
    flex-direction: column;
  }
}


/* 横にはみ出し修正 */
body {
  overflow-x: hidden;
}

#package {
  padding-top: 50px;
  margin-top: -50px;
}

.top_main_flex p:nth-of-type(3) {
  padding: 10px 5px;
  background-color: #808080;
  width: 100%;
  margin: 3px 10px;
  font-weight: 600;
  font-size: 1.2em;
}

.application_area .nolink a {
  background-color: #7d7d7d;
  border: 2px solid #333333;
}

/* 団体入場のお知らせ */
.announce_top {
  padding: 170px 0;
  text-align: center;
  position: relative;
}

.announce_top::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(../img/announce/announce_top_bnr.jpg);
  background-size: cover;
  opacity: 0.1;
  z-index: 0;
  background-position: center;
}

.announce_top_inner {
  position: relative;
  z-index: 1;
}

#announce h1,
#announce h2,
#announce h3,
#announce h4 {
  font-weight: bold;
}

#announce h2 {
  font-size: 1.4em;
}

.ann_sec_inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 50px;
}

.ann_flex_1 {
  display: flex;
  padding-right: 20px;
}

.flex_item_2 {
  width: 50%;
}

.ann_sec_2 {
  background-color: #ffd1003b;
}

#announce .ann_sec_2 h2 {
  font-size: 2.4em;
}

.head-border {
  position: relative;
  display: inline-block;
  padding: 0 55px;
}

.head-border:before,
.head-border:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 50px;
  height: 5px;
  background-color: #666;
}

.head-border:before {
  left: -10px;
}

.head-border:after {
  right: -10px;
}

.bold {
  font-weight: bold;
}


.ann_flow dd {
  width: 70%;
  padding-top: 40px;
}

.ann_flow {
  border: 3px solid #6b90db;
}

.ann_flow>li {
  padding: 30px;
}

.ann_flow_outer {
  background-color: #fff;
}

.ann_flow>li:not(:last-child) {
  border-bottom: 3px solid #6b90db;
  position: relative;
}

.ann_flow>li:not(:last-child)::before,
.ann_flow>li:not(:last-child)::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 15%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.ann_flow>li:not(:last-child)::before {
  border-width: 22px;
  border-top-color: #6b90db;
}

.ann_flow>li:not(:last-child)::after {
  border-width: 18px;
  border-top-color: #fff;
}

.ann_flow>li dl {
  margin: 0;
  display: flex;
  /* align-items: center; */
}

.ann_flow>li dl dt {
  font-size: 20px;
  font-weight: 600;
  color: #0066cc;
  flex-basis: 250px;
  /* 固定幅に変更 */
  margin-right: 20px;
  text-align: center;
}

.ann_flow>li dl dt div {
  margin-top: 10px;
}

.ann_flow>li dl dt img {
  width: 70px;
}

.ann_flow>li dl dt .icon {
  font-size: 12px;
  color: #fff;
  background: #6b90db;
  background: -moz-linear-gradient(left, rgba(107, 144, 219, 1) 0%, rgba(102, 213, 233, 1) 100%);
  background: -webkit-linear-gradient(left, rgba(107, 144, 219, 1) 0%, rgba(102, 213, 233, 1) 100%);
  background: linear-gradient(to right, rgba(107, 144, 219, 1) 0%, rgba(102, 213, 233, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#6b90db', endColorstr='#66d5e9', GradientType=1);
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
}




.ann_sec_contact_box {
  /* 2025 */
  /* border: 3px solid #6b90db; */
  border: 3px solid #db6b6b;
  padding: 30px 20px;
  max-width: 800px;
  box-sizing: border-box;
  margin: 0 auto;
  /* 2025 */
  /* background-color: #f0f0f0; */
  background-color: #ffe85d69;
}

.contact_address {
  font-size: 1.3em;
}

.contact_contents {
  font-size: 1.2em;
}


@media screen and (max-width: 768px) {
  .ann_flex_1 {
    flex-direction: column;
  }

  .ann_sec_2 h2 {
    font-size: 2em;
  }

  .ann_flow>li dl {
    flex-direction: column;
  }

  .ann_flow dd {
    width: 100%;
    padding-top: 40px;
  }

  .ann_flow>li dl dt {
    flex-basis: auto;
  }

  #announce h1 {
    font-size: 1.8em;
    padding: 0 20px;
  }

  .ann_flex_1 {
    padding: 0;
  }

  .ann_sec_inner {
    padding: 50px 20px;
  }

  .announce_top {
    padding: 100px 0;
  }

  .ann_sec_1 .ann_sec_inner {
    padding-top: 0;
  }

  #announce .ann_sec_2 h2 {
    font-size: 1.4em;
  }

  #announce .lp_btn {
    padding: 15px 5px;
  }

  #news_list dd a {
    display: block;
  }

  #news_list dd {
    margin-bottom: 5px;
  }

  .lp_btn .mini_moji {
    font-size: 0.6em;
  }
}

.ann_sec_2 p .red_color {
  font-size: 1.4em;
}

.toshiken tr:nth-of-type(n+2) td {
  padding-top: 10px !important;
}

.disaster tr:nth-of-type(n+2) td {
  padding-top: 10px !important;
}

.energy tr:nth-of-type(n+2) td {
  padding-top: 10px !important;
}

.infr tr:nth-of-type(n+2) td {
  padding-top: 10px !important;
}

.indent_text {
  position: relative;
  padding-left: 17px;
}

.indent_text span {
  position: absolute;
  left: 0;
  top: 0;
}

.sub_sub_title .mini_moji {
  display: inline-block;
  margin-left: 5px;
}

/* 20250527に編集。次のアップ時に確認 （早期出展申込み期限に「終了しました」と記載した件）*/

/* .end_flow {
  position: relative;
}

.end_flow::after {
  content: "ー 終了しました ー";
  height: 100%;
  width: calc(100% - 326px);
  top: 0;
  right: 0;
  background-color: rgba(128, 128, 128, 0.8);
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #ffff00;
  font-size: 1.2em;
}

@media screen and (max-width: 768px) {
  .end_flow::after {
    width: 100%;
  }
} */

/* 「20250527に編集。」ここまで */

/* 2026 */
.ann_flow_outer_end {
  position: relative;
}

.ann_flow_outer_end::after {
  content: "ー終了しましたー";
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, .4);
  top: 0;
  left: 0;
  color: #ffff00;
  font-size: 1.2em;
  font-weight: bold;
}

.flow_k_2026 .exhibition_flow_dl_flow dt,
.outline_k_2026#lp_outline table tr th,
.price_k_2026#price table tr th,
.option_k_2026#option table tr th,
.report_k_2026 table tr th {
  background-color: #1C2D59;
}

.option_k_2026#option .cmn_table_price tr th {
  background: #cc0000e6;
}

.k_2026 .main_title {
  color: #243359;
}

.k_2026 h3 .site_color {
  color: #243359;
}

.k_2026 .cat {
  background-color: #243359;
}

.k_2026.bg_yellow,
.k_2026 .bg_option_2 {
  background-color: #ced3e0;
}

.relay_flex {
  display: flex;
  justify-content: space-between;
  max-width: 780px;
}

.profile {
  padding: 20px;
  border: 1px solid #063a76;
  border-radius: 10px;
  margin-top: 20px;
  background-color: #f3f8ff;
}

.profile_title {
  font-weight: bold;
  display: inline-block;
  margin-bottom: 5px;
}

#seminar .program2025 h3 {
  font-size: 1.2em;
  text-align: left;
  margin-top: 10px;
}

#seminar .program2025 h2 {
  margin-top: 10px;
}

#seminar .program2025 table tr .time {
  width: 5% !important;
  text-align: center;
  vertical-align: middle;
  background-color: #f1f1f1;
}

#seminar .program2025 table h3 {
  color: #063a76;
}

.program2025 {
  padding: 0 20px;
}

.semi_speaker_flex {
  display: flex;
}

.semi_speaker_flex .speaker:nth-of-type(1) {
  margin-right: 36px;
}

.sp_semi {
  padding: 15px;
  background-color: #facfd2;
}

.sp_semi .sp_semi_title {
  font-size: 26px;
  color: #E02634;
}

#seminar .seminer-contents .number:nth-of-type(2) {
  background-color: #ffab35;
}

@media screen and (max-width: 768px) {
  #seminar .program2025 table {
    min-width: 335px;
  }

  .profile {
    padding: 20px 10px;
  }

  .semi_speaker_flex {
    flex-direction: column;
  }
}

.visit_cont #seminar {
  margin-bottom: 0;
}

.visit_cont,
.visit_acces_bus,
#visit_target {
  margin-top: -54px;
  padding-top: 54px;
}

.information_topic {
  border-bottom: solid 3px grey;
  position: relative;
  font-size: 1.4em;
  margin-bottom: 30px;
  padding-top: 30px;
  color: #000000;
}


.information_topic_k {
  border-bottom: solid 3px #dd551a;
  position: relative;
  font-size: 1.4em;
  margin-bottom: 30px;
  padding-top: 30px;
  color: #dd551a;
}


.t-camp-sec .information_topic {
  text-align: left;
}

.information_topic_adj_mini {
  font-size: 20px;
}


#top_interview .information_topic {
  padding-top: 0;
}

.information_topic_v2 {
  color: #0D0D1B;
  font-size: 2.5rem;
}

.information_topic .information_topic_mini {
  font-size: 18px !important;
  line-height: 1.1;
  display: block;
  color: gray !important;
}

.top_interview_flex_div .information_topic {
  margin-bottom: 20px;
}

.visit_step_flex {
  flex-direction: column;
}

.visit_step_flex img {
  display: block;
}

.visit_step_flex img:nth-of-type(n+1) {
  margin-top: 10px;
}

.visit_step_flex img:nth-of-type(n+1) {
  margin-top: 10px;
}

.title__box_l {
  background-color: #EF858C;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: 1em;
  padding: 3% 0;
  color: #fff;
  line-height: 1em;
}

.visit_acces_flex h3 {
  font-size: 1.2em;
}

.visit_acces_flex {
  flex-direction: column;
}

.visit_acces_left,
.visit_acces_right {
  width: 48%;
}

.visit_acces_left,
.visit_acces_right {
  width: 100%;
}

.visit_cont,
.visit_acces_bus,
#visit_target {
  margin-top: -54px;
  padding-top: 54px;
}

.visit_acces_bus h3 {
  font-size: 1.4em;
  color: #000000;
  text-align: center;
  margin: 30px 0 10px;
}

.visit_textbox {
  background-color: #fff;
  padding: 20px;
  border: 1px solid #292828;
}

.visit_textbox {
  background-color: #fff;
  padding: 20px;
}

.visit_textbox h1 {
  text-align: left;
  padding: 5px 10px;
  border: 0px;
  background: none;
  clear: both;
  margin: 5px 0 15px;
  font-size: 1em;
}

.visit_textbox h1 span {
  color: #fff;
  background-color: gray;
  padding: 10px;
}

.bus_box {
  display: flex;
  width: 80%;
  margin: 20px auto 0 auto;
}

dl.bus_box dt {
  font-weight: bold;
  width: 15em;
  text-align: center;
  background: gray;
  color: #ffffff;
  padding: 5px 0;
}

dl.bus_box dd {
  width: calc(100% - 9em);
  padding: 5px 15px;
  background: #ffffff;
  border: 1px solid gray;
}

dl.bus_box dd li {
  font-weight: bold;
  margin-bottom: 5px;
}

@media screen and (max-width: 768px) {
  .visit-way_box:nth-child(2) {
    margin-top: 30px;
  }

  .top_interview_flex {
    flex-direction: column;
  }

  .top_interview_flex_div {
    width: 100%;
  }

  .top_interview_flex .top_interview_flex_div:nth-of-type(2) {
    margin-top: 20px;
  }

  #top_grand_fair .base_flex {
    flex-direction: column;
  }

  #top_grand_fair .base_flex img {
    display: block;
    width: 100%;
  }

  #top_grand_fair .base_flex img:nth-of-type(2) {
    margin-top: 10px;
  }

  .other_exh_flex {
    flex-direction: column;
  }

  .fair_pavilion_flex {
    justify-content: center;
  }

  .fair_pavilion_flex img {
    margin-top: 10px;
  }

  #top_zone .exhibit_box_area {
    margin-bottom: 0 !important;
  }

  .fair_cocktail_items {
    width: 140px;
  }

  #top_report .forum_img img {
    margin: 20px 0 0;
  }

  .top_interview_flex {
    margin-top: 30px;
  }

  .other_exh_flex img {
    margin: 10px auto;
  }

  .visit_step_flex {
    flex-direction: column;
  }

  .visit_step_flex img {
    display: block;
  }

  .visit_step_flex img:nth-of-type(n+1) {
    margin-top: 10px;
  }

  .visit_acces_left,
  .visit_acces_right {
    width: 100%;
  }

  .visit_acces_right {
    margin-top: 10px;
  }

  .visit_acces_flex {
    flex-direction: column;
  }

  dl.bus_box {
    flex-direction: column;
    width: 100%;
  }

  dl.bus_box dd,
  dl.bus_box dt {
    width: 100%;
  }
}

.btn_style02 a {
  margin: 0px auto 10px auto;
  padding: 10px 0;
  display: block;
  background-color: #ffab35;
  box-shadow: 0px 6px 3px -3px rgb(0 0 0 / 30%);
  -webkit-box-shadow: 0px 6px 3px -3px rgb(0 0 0 / 30%);
  -moz-box-shadow: 0px 6px 3px -3px rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  border: #ffab35 1px solid;
  font-size: 1em;
}

.btn_style02 a {
  margin: 0px auto 10px auto;
  padding: 10px 0;
  display: block;
  background-color: #ffab35;
  box-shadow: 0px 6px 3px -3px rgb(0 0 0 / 30%);
  -webkit-box-shadow: 0px 6px 3px -3px rgb(0 0 0 / 30%);
  -moz-box-shadow: 0px 6px 3px -3px rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  border: #ffab35 1px solid;
  font-size: 1em;
}

.top_box_sub_bg .btn_style02 a {
  margin: 0px auto 10px auto;
  padding: 10px 0;
  display: block;
  background-color: #ffab35;
  box-shadow: 0px 6px 3px -3px rgb(0 0 0 / 30%);
  -webkit-box-shadow: 0px 6px 3px -3px rgb(0 0 0 / 30%);
  -moz-box-shadow: 0px 6px 3px -3px rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  border: #ffab35 1px solid;
  font-size: 1em;
}

.btn_style02 a {
  margin: 0px auto 10px auto;
  padding: 10px 0;
  display: block;
  background-color: #ffab35;
  box-shadow: 0px 6px 3px -3px rgb(0 0 0 / 30%);
  -webkit-box-shadow: 0px 6px 3px -3px rgb(0 0 0 / 30%);
  -moz-box-shadow: 0px 6px 3px -3px rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  border: #ffab35 1px solid;
  font-size: 1em;
  /* 特殊 */
  max-width: 330px;
}

.btn_style__320 a {
  width: 320px;
}

.btn_normal01.btn_style__320 a {
  width: 320px;
}

.visit_step_flex_2 {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.visit_step_flex_2 img {
  max-width: 300px;
  height: auto;
}

#application .visit-way_flex {
  display: flex;
  gap: 3%;
}

@media screen and (max-width: 750px) {
  #application .visit-way_flex {
    flex-direction: column;
  }
}

#application .visit-way_box {
  background: #fff;
  flex-basis: 50%;
  /* box-shadow: 5px 5px 10px rgb(0 0 0 / 25%); */
  border: 1px solid #EF858C;
  border-radius: 5px;
}

.top_application .visit-way_box {
  position: relative;
}

.top_application .visit-way_box_01::after {
  content: "";
  width: 50px;
  height: 50px;
  display: block;
  position: absolute;
  top: -20px;
  left: 10px;
  background-image: url('../../common/img/icon_exhibitors.png');
  background-position: center;
  background-size: cover;
}

.top_application .visit-way_box_02::after {
  content: "";
  width: 50px;
  height: 50px;
  display: block;
  position: absolute;
  top: -20px;
  left: 10px;
  background-image: url('../../common/img/icon_visitors.png');
  background-position: center;
  background-size: cover;
}

#application .visit-way_box_02 {
  border: 1px solid #1D7729;
}

#application .visit-way_box_02 .title__box_l {
  background-color: #1D7729;
}

#application .visit-way_inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 15px 15px 0 15px;
  max-height: 100%;
  min-height: 185px;
}


/* トップページスライダー部分ボタン */
.action-buttons {
  margin-top: -10px;
  background-color: #000;
  display: flex;
  justify-content: center;
  gap: 40px;
  padding: 35px;
}

.action-btn {
  width: 420px;
  height: 100px;
  white-space: normal;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  padding: 20px 26px;
  font-size: 24px;
  font-weight: 900;
  color: #fff;
  border: none;
  cursor: pointer;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.25),
    inset 0 -1px 0 rgba(0, 0, 0, 0.15);
}

.action-btn:hover {
  filter: brightness(1.05);
}

.action-btn:active {
  filter: brightness(0.95);
}


.btn-left {
  background-color: #ff8300;
}


.btn-center {
  background-color: #ef5c00;
}

.btn-right {
  background-color: #ff8300;
}




.action-btn-icon {
  height: 50px;
  width: auto;
}



.action-btn:hover {
  filter: brightness(1.05);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);

}

.info {
  margin: 300px auto 0;

  padding: 24px 32px;

  text-align: center;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.8;

  color: red;


  border-radius: 12px;

}

/* 2026年都市開発北海道 */
/* ヘッダー */
.big_moji_2 {
  font-size: 1.3em;
}

.big_moji_3 {
  font-size: 1.6em;
  font-weight: bold;
}

.right_shift {
  margin-left: 74px;
}

#toshiken .mini_header_sub {
  padding: 2px 10px;
  background-color: #00b0ff;
  color: #fff;
  margin-right: 5px;
  border-radius: 5px;
}

#toshiken .headInfo {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 100px;
  margin: 18px auto 50px;
  justify-content: flex-start;
  padding: 0 100px;
  margin-top: 10px;
  background-color: #e8f1fc;
}

#toshiken .headInfo-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  flex-wrap: nowrap;
  gap: 20px;
}


@media (max-width: 1300px) {
  #toshiken .headInfo-row {
    flex-direction: column;
    align-items: stretch;
  }
}

#toshiken .headInfo-buttons {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 14px 18px;
  margin-top: 10px;
  justify-items: center;
}

#toshiken .headInfo p {
  margin: 5px 0;
}

#toshiken .headInfo span {
  margin-right: 5px;
}


/* スマホ用のCTA */
.headInfo-sp {
  display: none;
}

@media (max-width: 768px) {
  #toshiken .headInfo-row {
    display: none;
  }
}


@media (max-width: 768px) {

  .headInfo {
    display: none;
  }

  .headInfo-sp {
    margin-top: 30px;
    display: block;
    padding: 16px;
    background-color: #e8f1fc;
    margin-bottom: 30px;
  }

  .headInfo-sp p {
    margin-bottom: 16px;
  }

  .sp-line {
    display: block;
    line-height: 1.6;
  }

  .headInfo-sp-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
  }

  .sp-btn {
    display: block;
    padding: 6px;
    text-align: center;
    border-radius: 15px;
    background: #fff;
    font-weight: bold;
    text-decoration: none;
    color: #333;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .12);
  }

  .sp-main {
    background: linear-gradient(135deg, #2196f3, #00b0ff);
    color: #fff;
  }

  .sp-sub {
    background: #e60012;
    color: #ffffff;
  }
}

@media (max-width: 768px) {

  #toshiken .big_moji_3 {
    font-size: 1.15em;
    line-height: 1.6;
    font-weight: 600;
  }

  #toshiken .big_moji_2 {
    font-size: 1em;
  }

  #toshiken .mini_header_sub {
    font-size: 0.9em;
    padding: 3px 8px;
  }

}

@media (max-width: 768px) {
  #toshiken .headInfo {
    display: none;
  }

}


#toshiken .mini_header_sub2 a {
  display: inline-block;
  padding: 0.6em 3em;
  max-width: 300px;
  width: 100%;
  background: linear-gradient(135deg, #00b0ff, #0091ea);
  color: #fff;
  font-weight: 600;
  font-size: 1.2rem;
  text-decoration: none;
  border-radius: 0.5em;
  text-align: center;
  box-shadow: 0 0.4em 0.8em rgba(0, 176, 255, 0.3);
  transition: all 0.25s cubic-bezier(.4, 0, .2, 1);
}

/* ホバー・フォーカス */
#toshiken .mini_header_sub2 a:hover,
#toshiken .mini_header_sub2 a:focus {
  background: linear-gradient(135deg, #ff9800, #ffb74d);
  box-shadow: 0 0.5em 1em rgba(255, 152, 0, 0.35);
  transform: translateY(-0.1em) scale(1.02);
}


/* モバイル用フル幅 */
@media (max-width: 768px) {
  #toshiken .mini_header_sub2 a {
    display: block;
    width: 100%;
    padding: 1em 0;
    font-size: 1rem;
  }
}


/* 案③ */

#toshiken .mini_header_sub3 a {
  display: inline-block;
  padding: 0.6em 2.8em;
  max-width: 500px;
  width: 100%;
  background: linear-gradient(135deg, #e60012, #b4000a);
  color: #fff;
  font-weight: 600;
  font-size: 1.5rem;
  text-decoration: none;
  border-radius: 0.5em;
  text-align: center;
  box-shadow: 0 0.4em 0.8em rgba(230, 0, 18, 0.35);
  transition: all 0.25s cubic-bezier(.4, 0, .2, 1);
}



/* ホバー・フォーカスなし */



/* ホバー・フォーカス */
#toshiken .mini_header_sub3 a:hover,
#toshiken .mini_header_sub3 a:focus {
  background: linear-gradient(135deg, #ff9800, #ffb74d);
  box-shadow: 0 0.5em 1em rgba(255, 152, 0, 0.35);
  transform: translateY(-0.1em) scale(1.02);
}


/* モバイル用フル幅 */
@media (max-width: 768px) {
  #toshiken .mini_header_sub3 a {
    display: block;
    width: 100%;
    padding: 1em 0;
    font-size: 1rem;
  }
}

/* ヘッダーメニュー */
#toshiken .head-tabs {
  display: flex;
  flex-wrap: wrap;
  border: 2px solid #a9cbff;
  background: #fff;
  z-index: 110;
}

#toshiken .head-tabs .tab {
  background: linear-gradient(145deg, #eef6ff 0%, #dbeaff 100%);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.06);
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  padding: 18px 24px;
  font-weight: 600;
  font-size: 22px;
  color: #000;
  transition: all 0.3s ease;
  cursor: pointer;
}

#toshiken .head-tabs .tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -12px;
  height: 12px;
}





#toshiken .head-tabs .tab:hover {
  background: linear-gradient(145deg, #e0f3ff 0%, #c9ecff 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

#toshiken .head-tabs .tab .main-text {
  font-size: 24px;
  margin-bottom: 4px;
}

#toshiken .head-tabs .tab .main-text-shutten {
  font-size: 24px;
  margin-bottom: 4px;
  color: #ff3400;
}

#toshiken .head-tabs .tab .chg_text {
  font-size: 18px;
  font-family: "Impact", "Anton", "Arial Black", "Roboto Condensed", "Oswald", sans-serif;
  font-weight: 200;
  color: #555;
  letter-spacing: 0.5px;
  text-align: center;
  line-height: 1.2;
}

.head-tabs .tab .chg_text-shutten {
  font-family: "Impact", "Anton", "Arial Black", "Roboto Condensed", "Oswald", sans-serif;
  font-weight: 200;
  color: #ff3400;
  letter-spacing: 0.5px;
  text-align: center;
  line-height: 1.2;
}


#toshiken .head-tabs .submenu {
  z-index: 9999;
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(145deg, #ffffff, #e9f7ff);
  border-radius: 12px;
  padding: 10px 0;
  min-width: 180px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  isolation: isolate;
}

#toshiken .head-tabs .tab:hover .submenu {
  display: block;
  transform: translateX(-50%) translateY(5px);
}

#toshiken .head-tabs .submenu::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 0 10px 10px 10px;
  border-style: solid;
  border-color: transparent transparent #e9f7ff transparent;
}

#toshiken .head-tabs .submenu-item {
  padding: 10px 20px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s;
  border-radius: 8px;
}

#toshiken .head-tabs .submenu-item:hover {
  background: #c9ecff;
  color: #000;
}

.explain-images-bottom {
  width: 100%;
  max-width: 1300px;
  margin: 20px auto 0;
  display: flex;
  justify-content: center;
  gap: 120px;
}

.explain-images-bottom img {
  width: 350px;
  height: auto;
  display: block;
  border-radius: 2px;
}

/* ヘッダー/トップスライダー部分 */
#toshiken .container {
  margin-top: 10px;
  display: flex;
  width: 100%;
  margin: 0 auto;
  gap: 20px;
  align-items: center;
  background-image: url("../../hkd/common/img/slider_h_img_2026_06.jpg");
}


#toshiken .left_side {
  margin-top: 20px;
  flex: 4;
}


#toshiken .right_side img {
  width: 100%;
  height: auto;
  border-radius: 12px;
}

#toshiken .right_side {
  flex: 6;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#toshiken .left_side img {
  display: block;
  align-items: center;
  max-width: 650px;
  height: auto;
  margin: 0 auto;
  margin-bottom: 10px;
  margin-top: 10px;

}

#toshiken .right_side img {
  max-width: 1000px;
  height: auto;
  border-radius: 12px;
  margin-bottom: 20px;
  margin-top: 20px;

}

#toshiken .right-slider {
  position: relative;
  width: 100%;
  max-width: 1000px;
  overflow: hidden;
  border-radius: 12px;
}

#toshiken .right-slider img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 1s ease;
}

#toshiken .right-slider img.active {
  opacity: 1;
  position: relative;
}

#toshiken .right-slider img {
  pointer-events: none;
}

#toshiken .right-slider img.active {
  pointer-events: auto;
}

.left-images {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-width: 500px;
  margin: 0 auto 10px;
}

.left-images img {
  width: 100%;
  height: auto;
  display: block;
}



#toshiken .left-buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

#toshiken .left-buttons button,
#toshiken .left-buttons a.button {
  display: inline-block;
  padding: 20px 100px;
  background: #ff790a;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  font-weight: 600;
  font-size: 24px;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  transition: all 0.25s ease;
}

#toshiken .left-buttons>a.button:hover,
#toshiken .left-buttons>button:hover {
  background: linear-gradient(180deg, #ffc233 0%, #ff6f00 100%);
  border-color: #ff6f00;
  color: #ffffff;
  transform: translateY(-3px);
  box-shadow:
    0 10px 20px rgba(0, 0, 0, 0.3),
    inset 0 3px 6px rgba(255, 255, 255, 0.75);
}

#toshiken .left-buttons>a.button:active,
#toshiken .left-buttons>button:active {
  background: linear-gradient(180deg, #e65c00 0%, #b34700 100%);
  border-color: #b34700;
  color: #ffffff;
  transform: translateY(0);
  box-shadow:
    0 4px 8px rgba(0, 0, 0, 0.2),
    inset 0 2px 5px rgba(0, 0, 0, 0.25);
}

/* ヘッダー/トップスライダー下/関連リンク部分 */
.related_links {
  padding: 30px 10px;
  background: #78797d;
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}

/* 額縁 */
.related_link {
  display: flex;
  align-items: center;
  justify-content: center;

  padding: 3px;
  background: linear-gradient(145deg, #ffd54f, #ffb300);
  border-radius: 6px;

  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.related_link img {
  height: 60px;
  width: auto;
  display: block;

  background: #fff;
  padding: 10px;
  border-radius: 4px;

  box-shadow:
    inset 0 0 0 1px rgba(0, 0, 0, 0.15),
    0 4px 10px rgba(0, 0, 0, 0.18);
}

.related_link:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
}


@media screen and (max-width: 768px) {
  .related_links {
    flex-wrap: wrap;
    gap: 16px;
    padding: 20px 10px;
  }

  .related_link {
    width: 100%;
    max-width: 200px;
    padding: 2px;
  }

  .related_link img {
    width: 100%;
    height: auto;
    padding: 8px;
  }
}

/* 追従タブメニュー */
#toshiken .floating-subnav_under {
  position: fixed;
  bottom: 20px;
  right: 10px;
  z-index: 9999;
  border-radius: 5px;
  background: linear-gradient(135deg,
      rgba(226, 4, 4, 0.95),
      rgba(160, 0, 0, 0.9));

  backdrop-filter: blur(12px) saturate(160%);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.25),
    inset 0 0 0 1px rgba(255, 255, 255, 0.15);
  transform: translateY(120%) scale(0.96);
  opacity: 0;

  transition:
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.4s ease;
}

#toshiken .floating-subnav_under.is-visible {
  transform: translateY(0) scale(1);
  opacity: 1;
}

#toshiken .floating-subnav_under ul {
  display: flex;
  gap: 36px;
  margin: 0;
  padding: 26px 24px;
  list-style: none;
}


#toshiken .floating-subnav_under a {
  display: block;
  text-align: center;
  text-decoration: none;

  font-weight: 600;
  font-size: 22px;
  letter-spacing: 0.04em;
  color: #ffffff;

  position: relative;

  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}

#toshiken .floating-subnav_under a:hover {
  transform: translateY(-2px);
  opacity: 0.9;
}


#toshiken .floating-subnav_under a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;

  width: 100%;
  height: 2px;

  background: linear-gradient(90deg,
      transparent,
      #ffffff,
      transparent);

  transform: translateX(-50%) scaleX(0);
  transition: transform 0.3s ease;
}

#toshiken .floating-subnav_under a:hover::after {
  transform: translateX(-50%) scaleX(1);
}


@media screen and (max-width: 768px) {

  #toshiken .floating-subnav_under {
    position: fixed;
    bottom: 12px;
    right: 12px;
    z-index: 9999;

    transform: translateY(150%) scale(0.96);
    opacity: 0;

    transition: transform 0.3s ease, opacity 0.3s ease;
    border-radius: 8px;
  }

  #toshiken .floating-subnav_under.is-visible {
    transform: translateY(0) scale(1);
    opacity: 1;
  }

  #toshiken .floating-subnav_under ul {
    padding: 16px 14px;
    gap: 10px;
  }

  #toshiken .floating-subnav_under a {
    font-size: 14px;
    line-height: 1.4;
  }

  #toshiken .floating-subnav_under a::after {
    bottom: -4px;
    height: 1.5px;
  }
}


/* フッター部分 */
#toshiken.footer-menu {
  background: #E6F7FF;
  padding: 40px 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 30px;
}

#toshiken .footer-section h3 {
  font-size: 24px;
  margin-bottom: 10px;
  font-weight: bold;
  color: #000;
}

#toshiken .footer-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#toshiken .footer-section li {
  margin-bottom: 6px;
}

#toshiken .footer-section a {
  font-weight: bold;
  color: #333333;
  text-decoration: none;
}

#toshiken .footer-section a:hover {
  text-decoration: underline;
}

@media (max-width: 768px) {
  #toshiken.footer-menu {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 30px 16px;
  }

  #toshiken .footer-section h3 {
    font-size: 20px;
    margin-bottom: 8px;
  }

  #toshiken .footer-section li {
    margin-bottom: 4px;
  }

  #toshiken .footer-section a {
    font-size: 0.95rem;
  }
}


.footer-contact-toshiken {
  width: 100%;
  background-color: #4a90e2;
  color: #fff;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 20px;
  border-radius: 0 0 8px 8px;
  box-sizing: border-box;
}

.footer-contact-toshiken .fc-left,
.footer-contact-toshiken .fc-right {
  flex: 1 1 300px;
  margin: 10px;
}

.footer-contact-toshiken .fc-left p,
.footer-contact-toshiken .fc-right p {
  margin: 5px 0;
}

.footer-contact-toshiken .fc-right {
  text-align: right;
}

.footer-contact-toshiken .fc-right .fc-logo {
  display: block;
  margin: 0 0 10px auto;
  max-width: 150px;
}


.footer-contact-toshiken .fc-logo img {
  max-width: 150px;
  height: auto;
  display: block;
  margin-bottom: 10px;
}

@media (max-width: 768px) {
  .footer-contact-toshiken {
    flex-direction: column;
    align-items: center;
    padding: 20px 16px;
    border-radius: 0 0 8px 8px;
  }

  .footer-contact-toshiken .fc-left,
  .footer-contact-toshiken .fc-right {
    flex: 1 1 100%;
    margin: 10px 0;
    text-align: center;
  }

  .footer-contact-toshiken .fc-right .fc-logo {
    margin: 0 auto 10px auto;
    max-width: 120px;
  }

  .footer-contact-toshiken .fc-logo img {
    max-width: 120px;
    margin: 0 auto 10px auto;
  }

  .footer-contact-toshiken .fc-left p,
  .footer-contact-toshiken .fc-right p {
    font-size: 0.95rem;
    line-height: 1.4;
  }
}

/* トップ・各展示会見出し */
.attention {
  margin-top: 20px;
  font-size: 35px;
  font-weight: 900;
  font-style: italic;
  text-align: center;
  padding: 30px 50px;
  color: #222;

  background: none;

  animation: pop 0.8s ease-out;
}

/* ミニブース延長文差し込み前 */
/* .attention span {
  display: inline-block;
  font-size: 90px;
  color: #e60000;

  text-shadow:
    2px 2px 6px rgba(0, 0, 0, 0.25);

  animation: glow 1.5s infinite alternate;
}

.attention-highlight {
  color: #001983;
  font-weight: 700;
  font-size: 60px;
} */

.attention span {
  display: inline-block;
  font-size: 65px;
  color: #e60000;

  text-shadow:
    2px 2px 6px rgba(0, 0, 0, 0.25);

  animation: glow 1.5s infinite alternate;
}

.attention-highlight {
  color: #001983;
  font-weight: 700;
  font-size: 50px;
}


@media (max-width: 768px) {
  .attention {
    font-size: 18px;
    padding: 20px 16px;
    margin-top: 15px;
  }

  .attention span {
    font-size: 45px;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.25);
  }
}


@keyframes pop {
  0% {
    transform: scale(0.7);
    opacity: 0;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes glow {
  0% {
    text-shadow:
      2px 2px 6px rgba(0, 0, 0, 0.25);
    transform: scale(1);
  }

  100% {
    text-shadow:
      4px 4px 16px rgba(230, 0, 0, 0.5);
    transform: scale(1.1);
  }
}

/* 各項目点線入り見出し */
.dotted {
  font-size: 52px;
  letter-spacing: 0.1em;
  font-weight: bold;
  padding-bottom: 20px;
  /* border-bottom: 2px dotted #000; */
  text-align: center;
  margin-top: 150px;
}

.dotted2 {
  font-size: 32px;
  font-weight: bold;
  padding-bottom: 20px;
  /* border-bottom: 2px dotted #000; */
  text-align: center;
  margin-top: 40px;
}

/* スマホ対応（画面幅600px以下） */
@media screen and (max-width: 600px) {
  .dotted {
    font-size: 32px;
    margin-top: 80px;
  }

  .dotted2 {
    font-size: 20px;
    margin-top: 20px;
  }
}

/* トップページ当日の様子画像スライド部分 */
.carousel-slider {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 80%;
  margin: 40px auto;
  z-index: 1;
}

.carousel {
  overflow: hidden;
  width: 100%;
  z-index: 1;
}

.carousel-track {
  display: flex;
  transition: transform 0.4s ease;
  gap: 15px;
  z-index: 2;
}

.carousel-item {
  flex: 0 0 calc(33.333% - 10px);
  height: 250px;
  border-radius: 10px;
  z-index: 2;
}

.carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

button.prev,
button.next {
  background: #333;
  color: #fff;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
}

.result-memo {
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .result-memo {
    font-size: 12px;
    line-height: 1.5;
  }
}


@media screen and (max-width: 768px) {
  .carousel-slider {
    width: 85%;
    gap: 8px;
    margin: 20px auto;
  }

  .carousel-track {
    gap: 10px;
  }

  .carousel-item {
    flex: 0 0 calc(50% - 5px);
    height: 100px;
  }

  .carousel-item img {
    border-radius: 8px;
  }

  button.prev,
  button.next {
    width: 32px;
    height: 32px;
    font-size: 16px;
  }
}

/* インフォメーション部分 */
#toshiken .news {
  border-radius: 8px;
  max-width: 800px;
  margin: 20px auto;
  padding: 30px 20px;
  background-color: #e8f1fc;
  position: relative;
  overflow: hidden;
  height: 430px;
  box-sizing: border-box;
  overflow-y: scroll;
}



#toshiken .news h2 {
  font-size: 2.6rem;
  font-weight: 900;
  letter-spacing: 1.5px;
  color: #111;
  margin-bottom: 28px;
  position: relative;
  text-transform: none;
}

#toshiken .news h2::before {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 280px;
  height: 4px;
  background: #111;
  border-radius: 2px;
}

#toshiken .news-item {
  padding: 10px 26px;
  margin: 20px 0;
  background: #ffffff;
  border-radius: 12px;
  border: 1.5px solid #111;
  box-shadow: 6px 6px 0 #111, 0 6px 12px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s, box-shadow 0.3s;
  position: relative;
}

#toshiken .news-item:hover {
  transform: translate(-4px, -4px);
  box-shadow: 10px 10px 0 #111, 0 10px 20px rgba(0, 0, 0, 0.12);
}

#toshiken .news-date {
  display: inline-block;
  font-weight: 900;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  color: #fff;
  background: #0079ff;
  padding: 4px 10px;
  border-radius: 4px;
}

#toshiken .news-text {
  display: block;
  margin-top: 8px;
  font-size: 1.15rem;
  font-weight: 700;
  color: #111;
}

@media screen and (max-width: 768px) {
  #toshiken .news {
    padding: 0.6em 0.5em;
    max-width: 95%;
    height: 18em;
    overflow-y: scroll;
    font-size: 0.9rem;
  }

  #toshiken .news h2 {
    font-size: 1.4em;
    margin-bottom: 0.6em;
  }

  #toshiken .news h2::before {
    width: 6em;
    height: 0.15em;
  }

  #toshiken .news-item {
    font-size: 1em;
    padding: 0.4em;
    margin: 0.6em 0;
  }

  #toshiken .news-date {
    font-size: 0.75em;
    padding: 0.15em 0.4em;
  }

  #toshiken .news-text {
    font-size: 0.9em;
  }
}



/* トップ展示会説明メニュー */
.tab-container {
  border: 2px solid #0c71af;
  border-radius: 10px;
  padding: 15px;
  width: 1300px;
  margin: 20px auto;
  background-color: #f0f6fc;
}

.tab-buttons {
  display: flex;
  border-bottom: 2px solid #d1c4e9;
  margin-bottom: 15px;
}

.tab-btn {
  padding: 12px 24px;
  margin: 0 5px 10px 0;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background: linear-gradient(135deg, #4a90e2, #357ab8);
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.tab-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
}

.tab-btn.active {
  background: linear-gradient(135deg, #6eb0ff, #3399ff);
  color: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
}


.tab-content {
  display: none;
}

.tab-content.active {
  display: block;
}

@media screen and (max-width: 768px) {
  .tab-container {
    width: 95%;
    padding: 10px;
  }

  .tab-buttons {
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
  }

  .tab-btn {
    width: 100%;
    padding: 8px 16px;
    font-size: 14px;
    border-radius: 6px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  }

  .tab-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
  }

  .tab-btn.active {
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.3);
  }

  .tab-content {
    font-size: 0.95rem;
  }
}

.explain_title {
  display: inline-block;
  padding: 6px 20px;
  background-color: #fff;
  color: #000;
  font-size: 20px;
  font-weight: bold;
  border-radius: 6px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
}

.explain_inner {
  display: flex;
  align-items: center;
  gap: 150px;
  flex-wrap: wrap;
}

.explain_images img {
  width: 400px;
  height: auto;
  border-radius: 6px;
}

.explain-catch {
  display: inline-block;
  padding: 12px 25px;
  background-color: #fff;
  color: #000;
  font-size: 16px;
  font-weight: bold;
  border-radius: 6px;
  margin-top: 20px;
  line-height: 1.8;

}

.explain_buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 25px;
  flex-wrap: wrap;
}

.explain_buttons .btn {
  flex: 1 1 200px;
  max-width: 400px;
  padding: 12px 25px;
  background-color: #fff3e0;
  color: #111;
  font-weight: bold;
  border-radius: 6px;
  text-align: center;
  text-decoration: none;
  border: 2px solid #fff3e0;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

.explain_buttons .a {
  color: #fff;
}

.explain_buttons .btn:hover {
  transform: translateY(-3px);
  background: linear-gradient(180deg, #f76c6c 0%, #e53935 100%);
  box-shadow:
    0 8px 14px rgba(0, 0, 0, 0.25),
    inset 0 2px 4px rgba(255, 255, 255, 0.7);
  border-color: #e53935;
}

.explain_buttons .btn:active {
  transform: translateY(0);
  background: linear-gradient(180deg, #c62828 0%, #b71c1c 100%);
  box-shadow:
    0 3px 5px rgba(0, 0, 0, 0.2),
    inset 0 2px 4px rgba(0, 0, 0, 0.15);
  border-color: #b71c1c;
}

.explain_gallary {
  display: flex;
  gap: 50px;
  margin-top: 30px;
}

.explain_gallary img {
  width: 250px;
  height: 180px;
  object-fit: cover;
}





@media screen and (max-width: 600px) {
  .explain_inner {
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
  }

  .explain_title {
    font-size: 10px;
    white-space: normal;
    flex-shrink: 0;
  }

  .explain_images {
    display: flex;
    gap: 10px;
  }

  .explain_images img {
    width: 100%;
    max-width: 250px;
    height: auto;
  }

  .explain_buttons {
    flex-direction: column;
    gap: 15px;
  }

  .explain_buttons .btn {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

.explain-images-bottom {
  width: 100%;
  max-width: 1300px;
  margin: 20px auto 0;
  display: flex;
  justify-content: center;
  gap: 120px;
}

.explain-images-bottom img {
  width: 350px;
  height: auto;
  display: block;
  border-radius: 2px;
}

@media screen and (max-width: 768px) {
  .explain-images-bottom {
    flex-direction: column;
    gap: 24px;
    padding: 0 16px;
  }

  .explain-images-bottom img {
    width: 100%;
    max-width: 220px;
    margin: 0 auto;
  }
}

.button-row {
  display: flex;
  justify-content: center;
  gap: 100px;
  margin-top: 40px;
}

.main-blue-btn {
  display: inline-block;
  padding: 10px 40px;
  background: linear-gradient(180deg, #29b6f6 0%, #21a4df 100%);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  border-radius: 12px;
  text-decoration: none;
  border: 1px solid #8bdcff;
  white-space: nowrap;
  transition: all 0.25s ease;
  cursor: pointer;

  box-shadow:
    0 4px 6px rgba(0, 0, 0, 0.15),
    inset 0 1px 2px rgba(255, 255, 255, 0.6);
}

.main-blue-btn:hover {
  background: linear-gradient(180deg, #ffc27a 0%, #ffad52 100%);
  border: 1px solid #ffad52;

  transform: translateY(-3px);

  box-shadow:
    0 8px 14px rgba(0, 0, 0, 0.25),
    inset 0 2px 4px rgba(255, 255, 255, 0.7);
}

.main-blue-btn:active {
  transform: translateY(0);
  background: linear-gradient(180deg, #e68f2b 0%, #cc7f26 100%);

  box-shadow:
    0 3px 5px rgba(0, 0, 0, 0.2),
    inset 0 2px 4px rgba(0, 0, 0, 0.15);
}


@media screen and (max-width: 768px) {
  .button-row {
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
    align-items: center;
  }

  .main-blue-btn {
    width: 100%;
    max-width: 280px;
    text-align: center;
    padding: 14px 0;
    font-size: 15px;
  }
}


/* 開催概要（トップ） */
.row {
  display: flex;
  border-bottom: 5px color #ccc;
  max-width: 900px;
  margin: 0 auto 10px auto;
  padding: 1px 0;
  background-color: #fffcfe;
  border-radius: 4px;
}

#toshiken .row {
  display: flex;
  border-bottom: 5px color #ccc;
  max-width: 900px;
  margin: 0 auto 10px auto;
  padding: 1px 0;
  background-color: #f7fdff;
  border-radius: 4px;
}

.label {
  width: 150px;
  background: #f06292;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 20px 0;
}

#toshiken .label {
  font-size: 17px;
  width: 150px;
  background: #4a90e2;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 20px 0;
}

.value {
  font-size: 18px;
  flex: 1;
  padding: 2px 20px;
  line-height: 1.6;
  display: flex;
  align-items: flex-end;
}

.value-links {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.value-links a {
  color: #005fcc;
  text-decoration: none;
  font-weight: bold;
}

.value-links a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .row {
    flex-direction: column;
    max-width: 95%;
    margin: 0 auto 8px auto;
    padding: 4px 0;
  }

  #toshiken .row {
    flex-direction: column;
    max-width: 95%;
    margin: 0 auto 8px auto;
    padding: 4px 0;
  }

  .label {
    width: 100%;
    font-size: 14px;
    padding: 12px 0;
  }

  #toshiken .label {
    width: 100%;
    font-size: 14px;
    padding: 12px 0;
  }

  .value {
    width: 100%;
    font-size: 14px;
    padding: 4px 10px;
    line-height: 1.4;
    align-items: flex-start;
  }

  .value-links {
    gap: 4px;
  }

  .value-links a {
    font-size: 13px;
  }
}

/* トップ・各展示会概要メリット部分 */
.merit__section-title {
  font-size: 28px;
  font-weight: 900;
  text-align: center;
  margin-top: 60px;
  margin-bottom: 30px;
  color: #000;
}

.merit__section-title .highlight {
  font-size: 46px;
  color: red;
}

.merit-head-list {
  display: flex;
  justify-content: center;
  gap: 5rem;
  flex-wrap: wrap;
}

@media (max-width: 768px) {

  .merit__section-title {
    font-size: 20px;
    margin-top: 40px;
    margin-bottom: 20px;
  }

  .merit__section-title .highlight {
    font-size: 30px;
  }

  .merit-head-list {
    gap: 2rem;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0 10px;
  }

  .merit-head-list>* {
    flex: 1 1 200px;
    text-align: center;
  }

}


.merit-item {
  text-align: center;
  width: 550px;
}

.merit-image {
  display: block;
  width: 300px;
  margin: 2px auto 0;
  position: relative;
  z-index: 2;
}

.merit-image2 {
  display: block;
  width: 900px;
  margin: 2px auto 0;
  position: relative;
  z-index: 2;
}

.merit-imag1 {
  display: block;
  width: 150px;
  margin: 2px auto 0;
  position: relative;
  z-index: 2;
}

.merit-head {
  text-align: center;
  display: inline-block;
  padding: 0.5rem 0.7rem;
  transform: skew(-15deg);
  color: #fff;
  font-weight: 900;
  font-size: 21px;
  position: relative;
  z-index: 1;
  background: linear-gradient(to right,
      #209cff 0%,
      #68e0cf 100%);
}

.merit-desc {
  font-weight: bold;
  position: relative;
  margin: 1.8rem auto 0;
  padding: 0.7rem 1.0rem;
  width: 90%;
  background: #fff;
  border: 2px solid #333;
  border-radius: 12px;
  font-size: 16px;
  ;
  line-height: 1.6;
  color: #333;
  text-align: left;
}

.merit-desc::before {
  content: "";
  position: absolute;
  top: -14px;
  left: 40%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 14px 10px;
  border-color: transparent transparent #333 transparent;
}

.merit-desc::after {
  content: "";
  position: absolute;
  top: -11px;
  left: 40%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 8px 11px 8px;
  border-color: transparent transparent #fff transparent;
}

.merit-catch {
  margin-bottom: 20px;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  color: #222;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {

  .merit-head {
    font-size: 18px;
    padding: 0.4rem 0.6rem;
    transform: skew(-12deg);
  }

  .merit-catch {
    font-size: 20px;
    margin-bottom: 14px;
    line-height: 1.4;
  }

  .merit-desc {
    margin: 1.2rem auto 0;
    padding: 0.6rem 0.8rem;
    font-size: 14px;
    line-height: 1.6;
    border-radius: 10px;
  }

  .merit-desc::before {
    top: -12px;
    border-width: 0 8px 12px 8px;
    left: 50%;
  }

  .merit-desc::after {
    top: -10px;
    border-width: 0 6px 10px 6px;
    left: 50%;
  }
}


.big-num {
  font-size: 52px;
  font-weight: 900;
  color: #c80000;
}

@media screen and (max-width: 768px) {

  .big-num {
    font-size: 42px;
  }
}


/* 同時開催展部分 */
.flex_logo {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  padding: 20px 0;
}

.flex_logo-item {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.flex_logo-item.start-animation {
  opacity: 1;
  transform: translateX(0);
}

.flex_logo-item img {
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.flex_logo-item img:hover {
  transform: scale(1.05);
}

/* スマホ用 */
@media screen and (max-width: 768px) {
  .flex_logo {
    gap: 12px;
    padding: 12px 0;
  }

  .flex_logo-item img {
    max-width: 280px;
    max-height: 60px;
  }
}

/* 各展示会詳細部分 */
.main-title-frame {
  width: 100%;
  background-color: #0066cc;

  margin-top: 100px;
  margin-bottom: 100px;
  padding: 20px 0;
  display: flex;
  justify-content: center;
}

.main-title {
  font-size: 45px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
}

/* スマホ用 */
@media screen and (max-width: 480px) {
  .main-title-frame {
    margin-top: 50px;
    margin-bottom: 50px;
    padding: 15px 0;
  }

  .main-title {
    font-size: 22px;
    letter-spacing: 0.05em;
  }
}

/* 展示会紹介パート */
/* 土木 */
.system-section {
  width: 1400px;
  margin: 50px auto 0;
  padding: 60px 20px;
  background-color: #f5f5f5;
  position: relative;
  margin-bottom: 20px;
}

.system-section .background-logo {
  position: absolute;
  top: -19px;
  left: -40px;
  width: 900px;
  pointer-events: none;
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.4));
}


.system-section .toshiken-content {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  position: relative;
  padding: 0 50px;
}

/* 災害 */
.disaster-section {
  width: 1400px;
  margin: 50px auto 0;
  padding: 60px 20px;
  background-color: #f5f5f5;
  position: relative;
  margin-bottom: 20px;
}

.disaster-section .background-logo {
  position: absolute;
  top: -30px;
  left: -35px;
  width: 730px;
  pointer-events: none;
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.4));
}


.disaster-section .toshiken-content {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  position: relative;
  padding: 0 50px;
}

@media screen and (max-width: 768px) {
  .disaster-section {
    width: 95%;
    margin: 30px auto 20px;
    padding: 30px 10px;
  }

  .disaster-section .background-logo {
    width: 80%;
    top: -8px;
    left: 4px;
    filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.3));
  }

  .disaster-section .toshiken-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 10px;
  }
}

/* 都市開発 */
.toshi-section {
  width: 1400px;
  margin: 50px auto 0;
  padding: 60px 20px;
  background-color: #f5f5f5;
  position: relative;
  margin-bottom: 20px;
}

.toshi-section .background-logo {
  position: absolute;
  top: -25px;
  left: -10px;
  width: 580px;
  pointer-events: none;
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.4));
}


.toshi-section .toshiken-content {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  position: relative;
  padding: 0 50px;
}

@media (max-width: 768px) {
  .toshi-section {
    width: 100%;
    margin: 30px auto 0;
    padding: 40px 16px;
  }

  .toshi-section .background-logo {
    position: absolute;
    top: -5px;
    left: 20px;
    width: 250px;
    filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.4));
  }

  .toshi-section .toshiken-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0;
  }
}

/* インフラ */
.infra-section {
  width: 1400px;
  margin: 50px auto 0;
  padding: 60px 20px;
  background-color: #f5f5f5;
  position: relative;
  margin-bottom: 20px;
}

.infra-section .background-logo {
  position: absolute;
  top: -19px;
  left: -50px;
  width: 770px;
  pointer-events: none;
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.4));
}


.infra-section .toshiken-content {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  position: relative;
  padding: 0 50px;
}

@media screen and (max-width: 768px) {

  .infra-section {
    width: 100%;
    margin: 24px auto 0;
    padding: 32px 16px;
    margin-bottom: 16px;
  }

  .infra-section .background-logo {
    top: -5px;
    left: 150px;
    transform: translateX(-50%);
    width: 280px;
  }

  .infra-section .toshiken-content {
    flex-direction: column;
    gap: 24px;
    padding: 0;
  }
}


.system-text {
  flex: 1;
}

.system-text .catch-copy {
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 15px;
  color: #000;
}

.system-text p {
  font-size: 18px;
  line-height: 1.8;
  color: #333;
}

.system-image img {
  width: 600px;
  height: auto;
  object-fit: cover;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}

@media screen and (max-width: 768px) {

  .system-image img {
    width: 90%;
    max-width: 320px;
    margin: 0 auto 16px;
    display: block;
    border-radius: 8px;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
  }

  .system-text {
    flex: none;
  }

  .system-text .catch-copy {
    font-size: 16px;
    margin-bottom: 12px;
    line-height: 1.4;
  }

  .system-text p {
    font-size: 15px;
    line-height: 1.7;
  }
}


/* 各展示会出展対象 */
.cards-section {
  margin: 30px auto !important;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
  background-color: #ffeef2;
}

#toshiken.cards-section {
  margin: 30px auto !important;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
  background-color: #e8f1fc;
}

.section-title {
  font-size: 28px;
  margin-bottom: 32px;
}

.cards {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
}

.card {
  max-width: 368px;
  flex: 0 0 368px;
  display: flex;
  padding: 0;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
}

.card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 12px 16px;
  font-size: 18px;
  background-color: #e53935;
  color: #fff;
}

#toshiken .card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 12px 16px;
  font-size: 18px;
  background-color: #00aaff;
  color: #fff;
}

.card-title-icon {
  width: 24px;
  height: 24px;
  margin-left: auto;
}


.card-text {
  margin: 0;
  padding: 16px;
  font-size: 18px;
  line-height: 1.6;
  background-color: #fafafa;
  flex: 1;
}

.cards .card:first-child {
  background-color: #fff7e6;
  animation: floatHighlight 2.5s ease-in-out infinite;
}

.cards .card:first-child .card-title {
  background-color: #00aaff !important;
}

@keyframes floatHighlight {
  0% {
    transform: translateY(0);
    box-shadow: 0 0 0 rgba(255, 152, 0, 0);
  }

  50% {
    transform: translateY(-6px);
    box-shadow: 0 12px 24px rgba(255, 152, 0, 0.35);
  }

  100% {
    transform: translateY(0);
    box-shadow: 0 0 0 rgba(255, 152, 0, 0);
  }
}

@media (max-width: 768px) {

  #toshiken.cards-section {
    padding: 24px 12px;
  }

  #toshiken .section-title {
    font-size: 22px;
    margin-bottom: 20px;
    text-align: center;
  }

  #toshiken .cards {
    gap: 16px;
  }

  #toshiken .card {
    flex: 1 1 100%;
    max-width: 80%;
    border-radius: 10px;
  }

  #toshiken .card-title {
    font-size: 16px;
    padding: 10px 14px;
  }

  #toshiken .card-title-icon {
    width: 20px;
    height: 20px;
  }

  #toshiken .card-text {
    font-size: 15px;
    padding: 14px;
    line-height: 1.6;
  }

  #toshiken .cards .card:first-child {
    animation: floatHighlight 3.5s ease-in-out infinite;
  }

}

/* 出展者一覧 */
.shutten {
  max-width: 1100px;
  margin: 40px auto;
  padding: 20px;
  border-radius: 8px;
  background-color: #4a90e2;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.shutten-inner {
  font-weight: bold;
  letter-spacing: 0.3em;
  width: calc(50% - 10px);
  margin: 0;
  padding: 10px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.2);
  text-align: center;
  font-size: 21px;
  opacity: 0;
  transform: translateY(-40px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}


.shutten-inner.is-active {
  opacity: 1;
  transform: translateY(0);
}

@media screen and (max-width: 768px) {

  .shutten {
    margin: 24px auto;
    padding: 16px 12px;
    gap: 12px;
  }

  .shutten-inner {
    width: 100%;
    font-size: 16px;
    letter-spacing: 0.15em;
    padding: 12px 8px;
    border-radius: 6px;
    transform: translateY(-20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
  }
}


/* 資料ダウンロードページ */
.download_title {
  font-size: 26px;
  font-weight: 600;
  color: #2d3436;
  padding: 18px 24px 18px 100px;
  position: relative;
  display: block;
  width: fit-content;
  margin: 0 auto;
  text-align: left;
  margin-top: 50px;

}

.download_title .icon-hex {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 70px;
  height: 76px;
  background-color: #4490e2;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  font-weight: 700;
  clip-path: polygon(50% 0%,
      100% 25%,
      100% 75%,
      50% 100%,
      0% 75%,
      0% 25%);
}

.download_links {
  position: relative;
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 100px;
  margin-top: 20px;
}

.download_link {
  display: inline-block;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.download_link img {
  height: 500px;
  width: auto;
}

.download_link:hover {
  transform: translateY(-4px);
}

.download_link:hover img {
  box-shadow:
    0 14px 32px rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 768px) {

  .download_title {
    font-size: 18px;
    padding-left: 60px;
  }

  .download_title .icon-hex {
    width: 40px;
    height: 44px;
    font-size: 20px;
  }

  .download_links {
    gap: 15px;
    flex-wrap: wrap;
  }

  .download_link {
    width: 100%;
    max-width: 250px;
    margin-bottom: 16px;
  }

  .download_link img {
    width: 100%;
    height: auto;
  }
}

/* 開催結果ページ */
.big_img-title_white {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 16px;
  padding-bottom: 10px;
  color: #000;
  position: relative;
  margin-top: 100px;
}

@media screen and (max-width: 768px) {
  .big_img-title_white {
    font-size: 22px;
    margin-top: 40px;
    margin-bottom: 12px;
  }
}

.exhibited-table {
  width: 70%;
  text-align: center;
  margin: 0 auto;
  margin-top: 20px;
}

.exhibited-table th,
.exhibited-table td {
  font-size: 20px;
  font-weight: bold;
  border: 2px solid #d2d2d2;
  padding: 15px;
  background-color: #fff;
}

.exhibited-table th {
  font-size: 30px;
  background-color: #ffab00;
  font-weight: 700;
  color: #fff;
}


@media screen and (max-width: 768px) {

  .exhibited-table th,
  .exhibited-table td {
    font-size: 10px;
    padding: 8px;
  }

  .exhibited-table th {
    font-size: 13px;
  }
}



.notice-box {
  font-weight: bold;
  border: 4px solid #ffb600;
  background-color: #fff;
  padding: 12px;
  margin: 30px auto;
  margin-top: 20px;
  border-radius: 8px;
  font-size: 16px;
  line-height: 1.6;
  max-width: 950px;
}

@media screen and (max-width: 600px) {
  .notice-box {
    font-size: 10px;
    padding: 15px;
    margin: 15px auto;
    max-width: 80%;
  }
}

.outline-title {
  margin-top: 10px;
  font-size: 85px;
  font-weight: 900;
  color: #000;
  text-align: center;
  text-shadow:
    2px 2px 0 #000;
}

/* スマホ版 */
@media screen and (max-width: 768px) {
  .outline-title {
    font-size: 36px;
    margin-top: 20px;
  }
}

.page-wrapper {
  background-color: #f6faff;
  padding: 40px 20px 60px;
  width: 100%;
  margin: 40px auto;
}

.table-note-under {
  margin-top: 20px;
  margin-left: 450px;
  font-size: 12px;
  line-height: 1.7;
  color: #000;
}

@media screen and (max-width: 768px) {
  .table-note-under {
    font-size: 5px;
    margin-top: 14px;
    margin-left: 0;
  }
}

.venue-message {
  margin: 30px 0;
  padding: 60px 20px;
  text-align: center;
}

.venue-message p {
  color: #ff6c00;
  font-size: 52px;
  font-weight: bold;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .venue-message {
    margin: 20px 0;
    padding: 40px 16px;
  }

  .venue-message p {
    font-size: 28px;
    line-height: 1.4;
  }
}


.venue-message2 {
  margin: 30px 0;
  padding: 20px 100px;
  text-align: left;
}

.venue-message2 p {
  font-size: 60px;
  font-weight: bold;
  line-height: 1;
  color: #222;

  background: linear-gradient(180deg,
      #ffc233 0%,
      #ffb000 30%,
      #ff8f00 60%,
      #e65100 100%);




  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  .venue-message2 {
    margin: 20px 0;
    padding: 20px 20px;
  }

  .venue-message2 p {
    font-size: 32px;
    line-height: 1.4;
  }
}


.highlight-percent {
  display: inline-block;
  font-size: 110px;
  font-weight: 900;

  background: linear-gradient(180deg,
      #ff8a80 0%,
      #ff5252 40%,
      #ff1744 70%,
      #d50000 100%);

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  .highlight-percent {
    font-size: 56px;
    line-height: 1.1;
  }
}


.venue_img {
  display: flex;
  gap: 150px;
  margin-top: 50px;
  justify-content: center;
  align-items: center;
}

.venue_img img {
  position: relative;
  height: 400px;
  width: auto;

  background: #fff;
  padding: 16px;
  border: 5px solid #222;
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.15),
    0 2px 6px rgba(0, 0, 0, 0.08);
}

@media screen and (max-width: 768px) {
  .venue_img {
    flex-direction: column;
    gap: 30px;
    margin-top: 30px;
  }

  .venue_img img {
    height: 260px;
    border-width: 3px;
    padding: 12px;
  }
}

/* 当日の様子（toshiken）写真 */
.venue_state_img {
  display: flex;
  gap: 60px;
  margin-top: 50px;
  justify-content: center;
}

.venue_state_img img {
  height: 300px;
  width: auto;
  box-shadow:
    0 6px 18px rgba(0, 0, 0, 0.12),
    0 1px 4px rgba(0, 0, 0, 0.08);
}

@media screen and (max-width: 768px) {
  .venue_state_img {
    flex-direction: column;
    gap: 24px;
    margin-top: 30px;
    align-items: center;
  }

  .venue_state_img img {
    height: 200px;
  }
}

/* 出展料金・申込みページ */
.exhibit-box {
  width: 700px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  font-family: sans-serif;
  margin: 30px auto;
}

.exhibit-box2 {
  width: 500px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  font-family: sans-serif;
}

.exhibit-box-header {
  background-color: #4a90e2;
  color: #ffffff;
  text-align: center;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.exhibit-box-header2 {
  background-color: #ff9800;
  color: #ffffff;
  text-align: center;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.exhibit-box-header3 {
  background-color: #4ad6ec;
  color: #ffffff;
  text-align: center;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.exhibit-box-header-icon {
  height: 40px;
  width: auto;
}

.exhibit-box-header h2 {
  margin: 0;
  font-size: 24px;
}

.exhibit-box-body {
  background-color: #ffffff;
  color: #333333;
  padding: 20px;
  text-align: left;
  font-size: 16px;
  line-height: 1.6;
}

.exhibit-box-button {
  display: inline-block;
  margin-top: 5px;
  margin-bottom: 5px;
  padding: 12px 24px;
  background-color: #4a90e2;
  color: #ffffff;
  text-decoration: none;
  border-radius: 6px;
  font-size: 16px;
  transition: background-color 0.2s ease;
  cursor: pointer;
}

.exhibit-box-button:hover {
  background-color: #f5a623;
}

.exhibit-box-body strong {
  font-weight: bold;
  color: #000000;
}

.big_img-wrap {
  max-width: 70%;
  margin: 20px auto;
}

@media (max-width: 768px) {

  /* ボックス全体 */
  .exhibit-box,
  .exhibit-box2 {
    width: 100%;
    margin: 20px auto;
    border-radius: 10px;
  }

  /* ヘッダー */
  .exhibit-box-header,
  .exhibit-box-header2,
  .exhibit-box-header3 {
    padding: 14px;
    gap: 6px;
  }

  .exhibit-box-header h2 {
    font-size: 18px;
  }

  .exhibit-box-header-icon {
    height: 28px;
  }

  .exhibit-box-body {
    padding: 16px;
    font-size: 14px;
    line-height: 1.7;
  }

  .exhibit-box-button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 14px 0;
    font-size: 15px;
    margin-top: 12px;
    border-radius: 8px;
  }

  .big_img-wrap {
    max-width: 100%;
    margin: 16px auto;
  }

}


.big_img-title {
  font-size: 55px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 16px;
  padding-bottom: 10px;
  color: #333;
  position: relative;
  margin-top: 100px;
}

@media (max-width: 768px) {

  .big_img-title {
    font-size: 32px;
    margin-top: 50px;
    margin-bottom: 12px;
    padding-bottom: 6px;
    line-height: 1.3;
  }

}


.big_img-title_white {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 16px;
  padding-bottom: 10px;
  color: #000;
  position: relative;
  margin-top: 100px;
}

@media screen and (max-width: 768px) {
  .big_img-title_white {
    font-size: 22px;
    margin-top: 40px;
    margin-bottom: 12px;
  }
}


.big_img-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 320px;
  height: 3px;
  background-color: #29b6f6;
  transform: translateX(-50%);
}

.big_img img {
  max-width: 80%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.exhibit-box-list {
  display: flex;
  gap: 100px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

/* 開催フロー */
.step-flow {
  max-width: 1400px;
  margin: 40px auto;
  font-family: sans-serif;
  margin-bottom: 100px;
}

.step-item {
  display: flex;
  align-items: center;
  padding: 24px 30px;
  color: #fff;
  opacity: 0;
  transform: translateY(-30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.step-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.step-item+.step-item {
  margin-top: 8px;
}

.step-item:nth-child(1) {
  transition-delay: 0s;
}

.step-item:nth-child(2) {
  transition-delay: 0.15s;
}

.step-item:nth-child(3) {
  transition-delay: 0.3s;
}

.step-item:nth-child(4) {
  transition-delay: 0.45s;
}

.step-item:nth-child(5) {
  transition-delay: 0.6s;
}

.step-item:nth-child(6) {
  transition-delay: 0.75s;
}


.step-num {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: #fff;
  color: #00aaff;
  font-weight: bold;
  font-size: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 24px;
  flex-shrink: 0;
}

.step-text h3 {
  margin: 0 0 6px;
  font-size: 30px;
}

.step-text p {
  font-weight: bold;
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
}

.step-1 {
  background-color: #3a82c4;
}

.step-2 {
  background-color: #4a96d0;
}

.step-3 {
  background-color: #5baadd;
}

.step-4 {
  background-color: #6fbfe8;
}

.step-5 {
  background-color: #6cc3f0;
}

.step-6 {
  background-color: #ff9800;
}

.orange {
  color: #ff9800;
  font-weight: bold;
  font-size: 18px;
}

.orange-big {
  color: #ff9800;
  font-weight: bold;
  font-size: 30px;
}

@media (max-width: 768px) {

  .step-item {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    padding: 16px;
  }

  .step-flow {
    margin: 30px auto 60px;
    padding: 0 12px;
  }

  .step-num {
    width: 48px;
    height: 48px;
    font-size: 20px;
    margin-right: 0;
    margin-bottom: 10px;
  }

  .step-text h3 {
    font-size: 20px;
    margin-bottom: 6px;
  }

  .step-text p {
    font-size: 14px;
    line-height: 1.5;
  }

  .orange {
    font-size: 15px;
  }
}





/* ブース料金表 */

.price-section {
  background-color: #4a90e2;
  padding: 20px 24px;
}

.price-section-header {
  display: flex;
  justify-content: center;
  /* 中央揃えを基準に */
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto 40px;
  position: relative;
}

.big_img-title--price {
  color: #ffffff;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  font-size: 60px;
  font-weight: bold;
  text-align: center;
  margin: 0;
  padding-bottom: 10px;
}

.price-note {
  font-size: 16px;
  color: #ffffff;
  line-height: 1.6;
  max-width: 400px;
  position: absolute;
  right: -100px;
  top: 0;
}

.price-note a {
  color: #ffffff;
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .price-section-header {
    flex-direction: column;
    align-items: center;
  }

  .price-note {
    position: static;
    max-width: 100%;
    text-align: center;
    margin-top: 16px;
  }
}



.price-table {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  border-collapse: collapse;
  background-color: #ffffff;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}

.price-table th,
.price-table td {
  border: 1px solid #4a90e2;
  padding: 24px;
  text-align: center;
  font-size: 20px;
}

.price-table th {
  background-color: #0048ea;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
}

.plan-name1 {
  font-size: 22px;
  font-weight: bold;
  color: red;
  text-align: left;
}

.price1 {
  font-size: 32px;
  font-weight: bold;
  /* 早期申込受付中時 */
  /* color: red; */
  color: #000
}

.price2 {
  font-size: 32px;
  font-weight: bold;
  /* color: #000; */
  color: red;
}


.price-table td:nth-child(2) {
  background-color: #f0f0f0;
}

/* hover（PCのみ） */
.price-table tr:not(:first-child):hover {
  background-color: #f1f6fd;
}

/* overlay（PC） */
.price-table::after {
  content: "早期申込は\A締め切りました";
  white-space: pre;
  position: absolute;
  top: 0;
  left: 33.4%;
  width: 33.5%;
  height: 100%;
  /* ←これ消す */
  transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 35px;
  font-weight: bold;
  line-height: 1.3;
  z-index: 100;
  pointer-events: none;
}


/* =========================
   SP（スマホ）
========================= */

@media (max-width: 768px) {

  .price-section {
    padding: 20px 12px;
  }

  .price-section-header {
    flex-direction: column;
    align-items: center;
  }

  .price-note {
    position: static;
    max-width: 100%;
    text-align: center;
    margin-top: 16px;
  }

  .big_img-title--price {
    font-size: 34px;
    line-height: 1.2;
    padding-bottom: 6px;
  }

  /* ★重要：tableの座標ズレ防止 */
  .price-table {
    position: relative;
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
  }

  .price-table th,
  .price-table td {
    padding: 14px 12px;
    font-size: 14px;
  }

  .price-table th {
    font-size: 15px;
  }

  .plan-name,
  .plan-name1 {
    font-size: 15px;
    text-align: left;
    white-space: normal;
  }

  .price1,
  .price2 {
    font-size: 20px;
  }

  /* ★hover完全無効化（ズレ防止） */
  .price-table tr:hover,
  .price-table td:hover,
  .price-table th:hover {
    background-color: transparent !important;
  }

  /* ★overlay（スマホ全面） */
  .price-table {
    position: relative;
  }

  .price-table::after {
    content: "早期申込は\A締め切りました";
    white-space: pre-line;
    font-size: 14px;

    position: absolute;
    top: 0;
    left: 33%;
    width: 33.5%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(0, 0, 0, 0.6);
    color: #fff;

    z-index: 999;
    pointer-events: none;
  }
}


.price-table th,
.price-table td {
  border: 1px solid #4a90e2;
  padding: 24px;
  text-align: center;
  font-size: 20px;
}

.price-table th {
  background-color: #0048ea;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
}


.booth-box-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  max-width: 1800px;
  margin: 40px auto;
}

.booth-box-left {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  border: 10px solid #4a90e2;
}


.booth-box-left .booth-title {
  font-size: 35px;
  font-weight: 700;
  color: #4a90e2;

  border-bottom: 5px solid #4a90e2;
  padding-bottom: 12px;
  margin-bottom: 24px;
}




.booth-box-right {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  border: 10px solid #ff9800;
}

.booth-box-right .booth-title {
  font-size: 30px;
  font-weight: 700;
  color: #ff9800;

  border-bottom: 5px solid #ff9800;
  padding-bottom: 12px;
  margin-bottom: 24px;
}

.booth-content {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 30px;
  align-items: center;
}

.booth-content-left {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 30px;
  align-items: start;
}

.booth-text {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
}

.booth-highlight {
  font-size: 18px;
  display: inline-block;
  background: #4a90e2;
  padding: 6px 12px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
}

.booth-highlight-right {
  font-size: 18px;
  display: inline-block;
  background: #ff9800;
  padding: 6px 12px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
}


.booth-text ul {
  padding-left: 18px;
}

.booth-text li {
  margin-bottom: 6px;
}

.booth-text .note {
  font-size: 14px;
  color: #555;
}

.booth-image img {
  width: 100%;
  border-radius: 8px;
  display: block;
}

.booth-image-left img {
  width: 100%;
  border-radius: 8px;
  display: block;
  margin-top: 70px;
}

.table-notes {
  margin-top: 24px;
  padding-left: 1.2em;
  font-size: 14px;
  color: #374151;
  line-height: 1.6;
}

.table-notes li {
  margin-bottom: 6px;
}

@media (max-width: 768px) {

  .booth-box-wrap {
    grid-template-columns: 1fr;
    gap: 24px;
    margin: 24px auto;
    padding: 0 12px;
  }

  .booth-box-left,
  .booth-box-right {
    padding: 18px;
    border-width: 6px;
  }

  .booth-box-left .booth-title,
  .booth-box-right .booth-title {
    font-size: 24px;
    border-bottom-width: 3px;
    padding-bottom: 8px;
    margin-bottom: 16px;
  }

  .booth-content,
  .booth-content-left {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .booth-text {
    font-size: 15px;
    line-height: 1.7;
  }

  .booth-highlight,
  .booth-highlight-right {
    font-size: 15px;
    padding: 6px 10px;
    margin-bottom: 10px;
  }

  .booth-image-left img {
    margin-top: 0;
  }

  .booth-image img,
  .booth-image-left img {
    border-radius: 6px;
  }

  .table-notes {
    font-size: 13px;
    margin-top: 16px;
  }

}

/* 一番下申込み青ボタン */
.booth-apply-wrap {
  text-align: center;
  margin: 80px 0;
}

.booth-apply-btn {
  display: inline-block;
  padding: 32px 80px;
  font-size: 28px;
  font-weight: bold;
  color: #fff;
  background: linear-gradient(135deg, #01b2ff, #4a90e2);
  border-radius: 60px;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
  transition: all 0.3s ease;
}

.booth-apply-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.3);
  opacity: 0.95;
}

@media (max-width: 768px) {

  .booth-apply-wrap {
    margin: 50px 0;
    padding: 0 16px;
  }

  .booth-apply-btn {
    width: 100%;
    max-width: 360px;

    padding: 20px 0;
    font-size: 18px;
    border-radius: 40px;

    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.22);
  }

  .booth-apply-btn:hover {
    transform: none;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.22);
  }
}


/* Ⅱスマートフォン */
/* ヘッダー・メニュー */
/* ===== PCでは非表示 ===== */
.sp-only {
  display: none;
}

/* ===== スマホだけ表示 ===== */
@media screen and (max-width: 768px) {
  .sp-only {
    display: block;
  }
}


.sp-only {
  display: none;
}

/* ===== スマホだけ表示 ===== */
@media screen and (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

@media screen and (max-width: 768px) {

  #toshiken .head-tabs {
    display: none !important;
  }

  /* ===== フォント改善 ===== */
  #sp-nav {
    font-family:
      "Oswald",
      "Roboto Condensed",
      "Noto Sans JP",
      system-ui,
      -apple-system,
      BlinkMacSystemFont,
      sans-serif;
    letter-spacing: 0.04em;
  }

  /* ===== ヘッダー ===== */
  .sp-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    background: linear-gradient(135deg, #007bdc, #0395f9);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  }

  /* ===== メニューボタン ===== */
  .sp-toggle {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.6);
    color: #fff;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 999px;
    letter-spacing: 0.08em;
  }

  /* ===== パネル ===== */
  .sp-panel {
    display: none;
    background: linear-gradient(180deg, #f7fbff, #e8f1fc);
    height: calc(62vh - 56px);
    overflow-y: auto;
    box-shadow: inset 0 6px 12px rgba(0, 0, 0, 0.06);
  }

  /* ===== リスト ===== */
  .sp-list {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .sp-list>li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  }

  .sp-list a,
  .sp-accordion>button {
    display: block;
    width: 100%;
    padding: 18px 18px;
    background: none;
    border: none;
    text-align: left;
    font-size: 16px;
    font-weight: 600;
    color: #003a66;
  }

  /* ===== アコーディオン ===== */
  .sp-accordion ul {
    display: none;
    background: #eef6ff;
  }

  .sp-accordion ul a {
    font-size: 14px;
    padding: 14px 18px 14px 36px;
    color: #004f8a;
    font-weight: 500;
  }

  /* ===== CTA ===== */
  .sp-cta {
    display: block;
    margin: 24px 16px;
    padding: 18px;
    background: linear-gradient(135deg, #ff4b1f, #ff3400);
    color: #fff;
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    border-radius: 12px;
    box-shadow: 0 6px 14px rgba(255, 52, 0, 0.4);
    letter-spacing: 0.06em;
  }
}

/* タブメニュー・コンテナ */
@media screen and (max-width: 768px) {

  #toshiken .container {
    flex-direction: column;
    gap: 0;
    margin-top: 0;
    padding: 0;
    background-position: center;
    background-size: cover;
  }

  #toshiken .left_side,
  #toshiken .right_side {
    flex: none;
    width: 100%;
    margin: 0;
    align-items: center;
  }

  .left-images {
    max-width: 90%;
    padding: 16px;
    gap: 12px;
  }

  .left-images img {
    max-width: 260px;
    margin: 0 auto;
  }

  #toshiken .left-buttons {
    width: 100%;
    padding: 0 16px;
  }

  #toshiken .left-buttons a.button {
    width: 100%;
    padding: 16px;
    font-size: 18px;
  }

  #toshiken .right-slider {
    max-width: 100%;
    border-radius: 0;
  }

  #toshiken .right-slider img {
    position: relative;
    opacity: 1;
  }

  #toshiken .right-slider img:not(.active) {
    display: none;
  }

  #toshiken .right_side img {
    max-width: 100%;
    margin: 0;
    border-radius: 0;
  }
}

/* トップ・各展示会概要ページ/青文字部分 */
@media screen and (max-width: 768px) {
  .attention-highlight {
    font-size: 26px;
  }
}

.announcement-container {
  text-align: center;
  padding: 20px;
}

/* 文字のデザインとアニメーション */
.grad-text-animated {
  font-size: 50px;
  font-weight: bold;
  line-height: 1.5;
  display: inline-block;
}

/* 通常部分（青グラデーション） */
.grad-text-animated {
  background: linear-gradient(90deg, #004b93, #0074d9, #00d4ff);
  background-size: 200% auto;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: shine 3s linear infinite;
}

/* 「緊急！！」だけ赤グラデーション */
.grad-red {
  font-size: 1.3em;
  font-weight: 900;
  background: linear-gradient(90deg, #b30000, #ff0000, #ff6666);
  background-size: 200% auto;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: shine 3s linear infinite;
}

@keyframes shine {
  to {
    background-position: 200% center;
  }
}

@media (max-width: 768px) {
  .grad-text-animated {
    font-size: 20px;
  }
}

/* トップページミニブースボタン */
.btn-wrapper {
  margin-top: 20px;
}

.detail-btn {
  display: inline-block;
  padding: 20px 45px;
  font-size: 22px;
  font-weight: bold;
  text-decoration: none;
  color: #ffffff;
  background: linear-gradient(90deg, #004b93, #0074d9, #00d4ff);
  background-size: 200% auto;
  border-radius: 50px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 10px rgba(0, 75, 147, 0.2);
  border: 2px solid transparent;
}

.detail-btn:hover {
  background: #fff;
  color: #004b93;
  border: 2px solid #004b93;
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0, 75, 147, 0.4);
  opacity: 1;
}

@keyframes wave-gradient {
  0% {
    background-position: 0% center;
  }

  100% {
    background-position: 200% center;
  }
}

@media (max-width: 768px) {
  .grad-text-animated {
    font-size: 22px;
  }

  .detail-btn {
    padding: 15px 30px;
    font-size: 18px;
  }
}

/* 有料オプション部分 */

/* =========================
   セクション全体
========================= */
.price-section1 {
  margin-top: 50px;
  background-color: #0c78f6;
  padding: 20px 24px;
}


/* =========================
   内側レイアウト
========================= */
.price-section-header {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 20px;
  width: 1100px;
  max-width: 100%;
  margin: 0 auto 40px;
  position: relative;
}

.price-section-header>* {
  flex: 0 0 100%;
}

/* =========================
   大タイトル
========================= */
.big_img-title--price {
  color: #ffffff;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  font-size: 46px;
  font-weight: bold;
  text-align: center;
  margin: 0;
  padding-bottom: 10px;
}

/* =========================
   ボックス
========================= */
.booth-box1 {
  background: #ffffff;
  border-radius: 12px;
  padding: 24px;
  border: 7px solid #8f979e;
}

/* =========================
   タイトル
========================= */
.booth-box1 .booth-title {
  font-size: 29px;
  font-weight: 700;
  color: #4f565c;

  border-bottom: 5px solid #8f979e;
  padding-bottom: 12px;
  margin-bottom: 24px;
}


.booth-title .red {
  color: #d45a00;
}

/* =========================
   リード文
========================= */
.booth-lead {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 700;
  color: #000;
  background: linear-gradient(135deg, #fff4ea 0%, #ffd2ad 100%);
  padding: 16px 20px;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(230, 120, 20, 0.22);
}

/* =========================
   画像
========================= */
.booth-images {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 24px;
}

.booth-image img {
  width: 90%;
  margin: 0 auto;
  object-fit: cover;
  border-radius: 3px;
  display: block;
}

/* =========================
   テーブル
========================= */
.booth-table-wrap {
  margin-top: 32px;
  overflow-x: auto;
  margin-bottom: 20px;
}

.booth-table,
.booth-table1 {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #f2c5a0;
}

.booth-table thead th,
.booth-table1 thead th {
  background: #f28c28;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 14px 16px;
  text-align: center;
  border: 1px solid #f2c5a0;
}

.booth-table tbody td {
  text-align: center;
  font-weight: bold;
  padding: 14px 16px;
  font-size: 16px;
  border: 1px solid #f2c5a0;
}

.booth-table1 tbody td {
  text-align: center;
  font-weight: bold;
  padding: 14px 16px;
  font-size: 18px;
  border: 1px solid #f2c5a0;
}

.booth-table tbody td:first-child {
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
}

/* hover */
@media (hover: hover) {
  .booth-table tbody tr:hover {
    background: #fff4ea;
  }
}

/* =========================
   補足テキスト
========================= */
.booth-text ul {
  padding-left: 18px;
}

.booth-text li {
  margin-bottom: 6px;
}

.booth-text .note {
  font-size: 14px;
  color: #555;
}

.booth-highlight {
  font-size: 18px;
  display: inline-block;
  background: #ea7a12;
  padding: 6px 12px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
}

/* =========================
   SP
========================= */
@media screen and (max-width: 768px) {

  .price-section1 {
    margin-top: 30px;
    padding: 16px;
  }

  .price-section-header {
    flex-direction: column;
    align-items: center;
  }

  .big_img-title--price {
    font-size: 32px;
  }

  .booth-box1 {
    padding: 16px;
    border-width: 6px;
  }

  .booth-box1 .booth-title {
    font-size: 22px;
    line-height: 1.4;
    padding-bottom: 10px;
    margin-bottom: 16px;
    border-bottom-width: 3px;
  }

  .booth-images {
    flex-direction: column;
    gap: 12px;
  }

  .booth-text {
    font-size: 15px;
    line-height: 1.7;
  }

  .booth-table tbody td:first-child {
    font-size: 24px;
  }
}

/* ランディングページ（団体来場登録代理登録ページ）の締め切り */
.deadline-text {
  font-size: 38px;
  font-weight: bold;
  color: #202f8c;
  text-align: center;
  margin: 40px 0;
}